diff --git a/README.MD b/README.MD
index c88a8667b..eb3bae0bf 100644
--- a/README.MD
+++ b/README.MD
@@ -78,6 +78,7 @@ pikmin2.usa.dol: `sha1: 90d328bf8f190c90472e8c19e7e53c6ad0fe0d1a`
- plugProjectOgawaU/ogSceneWorldMapInfoWindow0.cpp
- plugProjectKandoU
- plugProjectKandoU/baseHIOparms.cpp
+ - plugProjectKandoU/gameChallenge2D.cpp
- plugProjectKandoU/gameHighscore.cpp
- plugProjectKandoU/gameIconTexture.cpp
- plugProjectKandoU/gameSoundEvent.cpp
diff --git a/asm/plugProjectKandoU/gameChallenge2D.s b/asm/plugProjectKandoU/gameChallenge2D.s
deleted file mode 100644
index 3f58e29be..000000000
--- a/asm/plugProjectKandoU/gameChallenge2D.s
+++ /dev/null
@@ -1,193 +0,0 @@
-.include "macros.inc"
-.section .rodata # 0x804732E0 - 0x8049E220
-.balign 8
-.global lbl_80483AB0
-lbl_80483AB0:
- .asciz "gameChallenge2D.cpp"
-.global lbl_80483AC4
-lbl_80483AC4:
- .asciz "P2Assert"
- .skip 3
-
-.section .sdata2, "a" # 0x80516360 - 0x80520E40
-.balign 8
-.global lbl_8051A3B8
-lbl_8051A3B8:
- .4byte 0x5A414E4E
- .4byte 0x454E0A00
-
-.section .text, "ax" # 0x800056C0 - 0x80472F00
-.global __ct__Q24Game21Challenge2D_TitleInfoFi
-__ct__Q24Game21Challenge2D_TitleInfoFi:
-/* 802350A0 00231FE0 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802350A4 00231FE4 7C 08 02 A6 */ mflr r0
-/* 802350A8 00231FE8 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802350AC 00231FEC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 802350B0 00231FF0 7C 9F 23 78 */ mr r31, r4
-/* 802350B4 00231FF4 93 C1 00 08 */ stw r30, 8(r1)
-/* 802350B8 00231FF8 7C 7E 1B 78 */ mr r30, r3
-/* 802350BC 00231FFC 1C 7F 00 24 */ mulli r3, r31, 0x24
-/* 802350C0 00232000 38 63 00 10 */ addi r3, r3, 0x10
-/* 802350C4 00232004 4B DE EE E9 */ bl __nwa__FUl
-/* 802350C8 00232008 3C 80 80 23 */ lis r4, __ct__Q34Game21Challenge2D_TitleInfo4InfoFv@ha
-/* 802350CC 0023200C 7F E7 FB 78 */ mr r7, r31
-/* 802350D0 00232010 38 84 51 04 */ addi r4, r4, __ct__Q34Game21Challenge2D_TitleInfo4InfoFv@l
-/* 802350D4 00232014 38 A0 00 00 */ li r5, 0
-/* 802350D8 00232018 38 C0 00 24 */ li r6, 0x24
-/* 802350DC 0023201C 4B E8 C9 15 */ bl __construct_new_array
-/* 802350E0 00232020 90 7E 00 00 */ stw r3, 0(r30)
-/* 802350E4 00232024 7F C3 F3 78 */ mr r3, r30
-/* 802350E8 00232028 93 FE 00 04 */ stw r31, 4(r30)
-/* 802350EC 0023202C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 802350F0 00232030 83 C1 00 08 */ lwz r30, 8(r1)
-/* 802350F4 00232034 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802350F8 00232038 7C 08 03 A6 */ mtlr r0
-/* 802350FC 0023203C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80235100 00232040 4E 80 00 20 */ blr
-
-.global __ct__Q34Game21Challenge2D_TitleInfo4InfoFv
-__ct__Q34Game21Challenge2D_TitleInfo4InfoFv:
-/* 80235104 00232044 38 00 00 00 */ li r0, 0
-/* 80235108 00232048 98 03 00 20 */ stb r0, 0x20(r3)
-/* 8023510C 0023204C 90 03 00 00 */ stw r0, 0(r3)
-/* 80235110 00232050 90 03 00 08 */ stw r0, 8(r3)
-/* 80235114 00232054 90 03 00 04 */ stw r0, 4(r3)
-/* 80235118 00232058 90 03 00 0C */ stw r0, 0xc(r3)
-/* 8023511C 0023205C 90 03 00 10 */ stw r0, 0x10(r3)
-/* 80235120 00232060 90 03 00 18 */ stw r0, 0x18(r3)
-/* 80235124 00232064 90 03 00 14 */ stw r0, 0x14(r3)
-/* 80235128 00232068 90 03 00 1C */ stw r0, 0x1c(r3)
-/* 8023512C 0023206C 98 03 00 20 */ stb r0, 0x20(r3)
-/* 80235130 00232070 4E 80 00 20 */ blr
-
-.global __cl__Q24Game21Challenge2D_TitleInfoFi
-__cl__Q24Game21Challenge2D_TitleInfoFi:
-/* 80235134 00232074 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80235138 00232078 7C 08 02 A6 */ mflr r0
-/* 8023513C 0023207C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80235140 00232080 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80235144 00232084 7C 9F 23 79 */ or. r31, r4, r4
-/* 80235148 00232088 93 C1 00 08 */ stw r30, 8(r1)
-/* 8023514C 0023208C 7C 7E 1B 78 */ mr r30, r3
-/* 80235150 00232090 38 60 00 00 */ li r3, 0
-/* 80235154 00232094 41 80 00 14 */ blt lbl_80235168
-/* 80235158 00232098 80 1E 00 04 */ lwz r0, 4(r30)
-/* 8023515C 0023209C 7C 1F 00 00 */ cmpw r31, r0
-/* 80235160 002320A0 40 80 00 08 */ bge lbl_80235168
-/* 80235164 002320A4 38 60 00 01 */ li r3, 1
-lbl_80235168:
-/* 80235168 002320A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 8023516C 002320AC 40 82 00 20 */ bne lbl_8023518C
-/* 80235170 002320B0 3C 60 80 48 */ lis r3, lbl_80483AB0@ha
-/* 80235174 002320B4 3C A0 80 48 */ lis r5, lbl_80483AC4@ha
-/* 80235178 002320B8 38 63 3A B0 */ addi r3, r3, lbl_80483AB0@l
-/* 8023517C 002320BC 38 80 00 1F */ li r4, 0x1f
-/* 80235180 002320C0 38 A5 3A C4 */ addi r5, r5, lbl_80483AC4@l
-/* 80235184 002320C4 4C C6 31 82 */ crclr 6
-/* 80235188 002320C8 4B DF 54 B9 */ bl panic_f__12JUTExceptionFPCciPCce
-lbl_8023518C:
-/* 8023518C 002320CC 1C 1F 00 24 */ mulli r0, r31, 0x24
-/* 80235190 002320D0 80 7E 00 00 */ lwz r3, 0(r30)
-/* 80235194 002320D4 7C 63 02 14 */ add r3, r3, r0
-/* 80235198 002320D8 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8023519C 002320DC 83 C1 00 08 */ lwz r30, 8(r1)
-/* 802351A0 002320E0 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802351A4 002320E4 7C 08 03 A6 */ mtlr r0
-/* 802351A8 002320E8 38 21 00 10 */ addi r1, r1, 0x10
-/* 802351AC 002320EC 4E 80 00 20 */ blr
-
-.global __ct__Q24Game14Vs2D_TitleInfoFi
-__ct__Q24Game14Vs2D_TitleInfoFi:
-/* 802351B0 002320F0 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 802351B4 002320F4 7C 08 02 A6 */ mflr r0
-/* 802351B8 002320F8 90 01 00 14 */ stw r0, 0x14(r1)
-/* 802351BC 002320FC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 802351C0 00232100 7C 9F 23 78 */ mr r31, r4
-/* 802351C4 00232104 93 C1 00 08 */ stw r30, 8(r1)
-/* 802351C8 00232108 7C 7E 1B 78 */ mr r30, r3
-/* 802351CC 0023210C 54 83 10 3A */ slwi r3, r4, 2
-/* 802351D0 00232110 38 63 00 10 */ addi r3, r3, 0x10
-/* 802351D4 00232114 4B DE ED D9 */ bl __nwa__FUl
-/* 802351D8 00232118 3C 80 80 23 */ lis r4, __ct__Q34Game14Vs2D_TitleInfo4InfoFv@ha
-/* 802351DC 0023211C 7F E7 FB 78 */ mr r7, r31
-/* 802351E0 00232120 38 84 52 14 */ addi r4, r4, __ct__Q34Game14Vs2D_TitleInfo4InfoFv@l
-/* 802351E4 00232124 38 A0 00 00 */ li r5, 0
-/* 802351E8 00232128 38 C0 00 04 */ li r6, 4
-/* 802351EC 0023212C 4B E8 C8 05 */ bl __construct_new_array
-/* 802351F0 00232130 90 7E 00 00 */ stw r3, 0(r30)
-/* 802351F4 00232134 7F C3 F3 78 */ mr r3, r30
-/* 802351F8 00232138 93 FE 00 04 */ stw r31, 4(r30)
-/* 802351FC 0023213C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80235200 00232140 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80235204 00232144 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80235208 00232148 7C 08 03 A6 */ mtlr r0
-/* 8023520C 0023214C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80235210 00232150 4E 80 00 20 */ blr
-
-.global __ct__Q34Game14Vs2D_TitleInfo4InfoFv
-__ct__Q34Game14Vs2D_TitleInfo4InfoFv:
-/* 80235214 00232154 38 00 00 00 */ li r0, 0
-/* 80235218 00232158 90 03 00 00 */ stw r0, 0(r3)
-/* 8023521C 0023215C 4E 80 00 20 */ blr
-
-.global __cl__Q24Game14Vs2D_TitleInfoFi
-__cl__Q24Game14Vs2D_TitleInfoFi:
-/* 80235220 00232160 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80235224 00232164 7C 08 02 A6 */ mflr r0
-/* 80235228 00232168 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8023522C 0023216C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80235230 00232170 7C 9F 23 79 */ or. r31, r4, r4
-/* 80235234 00232174 93 C1 00 08 */ stw r30, 8(r1)
-/* 80235238 00232178 7C 7E 1B 78 */ mr r30, r3
-/* 8023523C 0023217C 41 80 00 10 */ blt lbl_8023524C
-/* 80235240 00232180 80 1E 00 04 */ lwz r0, 4(r30)
-/* 80235244 00232184 7C 1F 00 00 */ cmpw r31, r0
-/* 80235248 00232188 41 80 00 1C */ blt lbl_80235264
-lbl_8023524C:
-/* 8023524C 0023218C 3C 60 80 48 */ lis r3, lbl_80483AB0@ha
-/* 80235250 00232190 38 80 00 34 */ li r4, 0x34
-/* 80235254 00232194 38 63 3A B0 */ addi r3, r3, lbl_80483AB0@l
-/* 80235258 00232198 38 A2 C0 58 */ addi r5, r2, lbl_8051A3B8@sda21
-/* 8023525C 0023219C 4C C6 31 82 */ crclr 6
-/* 80235260 002321A0 4B DF 53 E1 */ bl panic_f__12JUTExceptionFPCciPCce
-lbl_80235264:
-/* 80235264 002321A4 2C 1F 00 00 */ cmpwi r31, 0
-/* 80235268 002321A8 38 60 00 00 */ li r3, 0
-/* 8023526C 002321AC 41 80 00 14 */ blt lbl_80235280
-/* 80235270 002321B0 80 1E 00 04 */ lwz r0, 4(r30)
-/* 80235274 002321B4 7C 1F 00 00 */ cmpw r31, r0
-/* 80235278 002321B8 40 80 00 08 */ bge lbl_80235280
-/* 8023527C 002321BC 38 60 00 01 */ li r3, 1
-lbl_80235280:
-/* 80235280 002321C0 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80235284 002321C4 40 82 00 20 */ bne lbl_802352A4
-/* 80235288 002321C8 3C 60 80 48 */ lis r3, lbl_80483AB0@ha
-/* 8023528C 002321CC 3C A0 80 48 */ lis r5, lbl_80483AC4@ha
-/* 80235290 002321D0 38 63 3A B0 */ addi r3, r3, lbl_80483AB0@l
-/* 80235294 002321D4 38 80 00 36 */ li r4, 0x36
-/* 80235298 002321D8 38 A5 3A C4 */ addi r5, r5, lbl_80483AC4@l
-/* 8023529C 002321DC 4C C6 31 82 */ crclr 6
-/* 802352A0 002321E0 4B DF 53 A1 */ bl panic_f__12JUTExceptionFPCciPCce
-lbl_802352A4:
-/* 802352A4 002321E4 80 7E 00 00 */ lwz r3, 0(r30)
-/* 802352A8 002321E8 57 E0 10 3A */ slwi r0, r31, 2
-/* 802352AC 002321EC 7C 63 02 14 */ add r3, r3, r0
-/* 802352B0 002321F0 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 802352B4 002321F4 83 C1 00 08 */ lwz r30, 8(r1)
-/* 802352B8 002321F8 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 802352BC 002321FC 7C 08 03 A6 */ mtlr r0
-/* 802352C0 00232200 38 21 00 10 */ addi r1, r1, 0x10
-/* 802352C4 00232204 4E 80 00 20 */ blr
-
-.global __ct__Q24Game22Challenge2D_ResultInfoFv
-__ct__Q24Game22Challenge2D_ResultInfoFv:
-/* 802352C8 00232208 38 00 00 00 */ li r0, 0
-/* 802352CC 0023220C 98 03 00 00 */ stb r0, 0(r3)
-/* 802352D0 00232210 98 03 00 00 */ stb r0, 0(r3)
-/* 802352D4 00232214 90 03 00 08 */ stw r0, 8(r3)
-/* 802352D8 00232218 90 03 00 0C */ stw r0, 0xc(r3)
-/* 802352DC 0023221C 90 03 00 10 */ stw r0, 0x10(r3)
-/* 802352E0 00232220 90 03 00 14 */ stw r0, 0x14(r3)
-/* 802352E4 00232224 90 03 00 1C */ stw r0, 0x1c(r3)
-/* 802352E8 00232228 90 03 00 18 */ stw r0, 0x18(r3)
-/* 802352EC 0023222C 4E 80 00 20 */ blr
diff --git a/include/Game/gameChallenge2D.h b/include/Game/gameChallenge2D.h
new file mode 100644
index 000000000..ac615452d
--- /dev/null
+++ b/include/Game/gameChallenge2D.h
@@ -0,0 +1,55 @@
+#ifndef _GAME_CHALLENGE2D_H
+#define _GAME_CHALLENGE2D_H
+
+#include "types.h"
+#include "Game/PikiContainer.h"
+#include "Game/Highscore.h"
+#include "JSystem/JUT/JUTException.h"
+
+namespace Game {
+class Challenge2D_TitleInfo {
+ struct Info {
+ Info();
+ u32 m_floorCount; // _00
+ u32 m_sprayCounts[2]; // _04
+ u32 m_0C; // _0C
+ PikiContainer* m_pPikiContainer; // _10
+ Highscore* m_pHighscore1; // _14
+ Highscore* m_pHighscore2; // _18
+ u32 m_1C; // _1C
+ bool m_bool; // _20
+ };
+ Info* pInfoArray; // _00
+ int m_count; // _04
+
+ Challenge2D_TitleInfo(int);
+ Challenge2D_TitleInfo::Info* operator()(int);
+};
+
+class Challenge2D_ResultInfo {
+ bool m_bool; // _00
+ u32 m_04; // _04
+ u32 m_08; // _08
+ u32 m_0C; // _0C
+ u32 m_10; // _10
+ u32 m_14; // _14
+ u32 m_18; // _18
+ u32 m_1C; // _1C
+
+ Challenge2D_ResultInfo();
+};
+
+class Vs2D_TitleInfo {
+ struct Info {
+ Info();
+ u32 m_info; // _00
+ };
+ Info* pInfoArray; // _00
+ int m_infoCount; // _04
+
+ Vs2D_TitleInfo(int);
+ Vs2D_TitleInfo::Info* operator()(int);
+};
+} // namespace Game
+
+#endif
diff --git a/obj_files.mk b/obj_files.mk
index 2fe9a6266..da418d6f7 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -612,7 +612,7 @@ KANDO:=\
$(BUILD_DIR)/src/plugProjectKandoU/gameHighscore.o\
$(BUILD_DIR)/asm/plugProjectKandoU/gamePlayCommonData.o\
$(BUILD_DIR)/src/plugProjectKandoU/pelletCarry.o\
- $(BUILD_DIR)/asm/plugProjectKandoU/gameChallenge2D.o\
+ $(BUILD_DIR)/src/plugProjectKandoU/gameChallenge2D.o\
$(BUILD_DIR)/asm/plugProjectKandoU/vsTekiMgr.o\
$(BUILD_DIR)/asm/plugProjectKandoU/vsCardMgr.o\
$(BUILD_DIR)/asm/plugProjectKandoU/aiRescue.o\
diff --git a/src/plugProjectKandoU/gameChallenge2D.cpp b/src/plugProjectKandoU/gameChallenge2D.cpp
index 67a227f8f..60160f851 100644
--- a/src/plugProjectKandoU/gameChallenge2D.cpp
+++ b/src/plugProjectKandoU/gameChallenge2D.cpp
@@ -1,23 +1,5 @@
#include "types.h"
-
-/*
- Generated from dpostproc
-
- .section .rodata # 0x804732E0 - 0x8049E220
- .global lbl_80483AB0
- lbl_80483AB0:
- .asciz "gameChallenge2D.cpp"
- .global lbl_80483AC4
- lbl_80483AC4:
- .asciz "P2Assert"
- .skip 3
-
- .section .sdata2, "a" # 0x80516360 - 0x80520E40
- .global lbl_8051A3B8
- lbl_8051A3B8:
- .4byte 0x5A414E4E
- .4byte 0x454E0A00
-*/
+#include "Game/gameChallenge2D.h"
namespace Game {
@@ -26,35 +8,10 @@ namespace Game {
* Address: 802350A0
* Size: 000064
*/
-Challenge2D_TitleInfo::Challenge2D_TitleInfo(int)
+Challenge2D_TitleInfo::Challenge2D_TitleInfo(int count)
{
- /*
- stwu r1, -0x10(r1)
- mflr r0
- stw r0, 0x14(r1)
- stw r31, 0xc(r1)
- mr r31, r4
- stw r30, 8(r1)
- mr r30, r3
- mulli r3, r31, 0x24
- addi r3, r3, 0x10
- bl __nwa__FUl
- lis r4, __ct__Q34Game21Challenge2D_TitleInfo4InfoFv@ha
- mr r7, r31
- addi r4, r4, __ct__Q34Game21Challenge2D_TitleInfo4InfoFv@l
- li r5, 0
- li r6, 0x24
- bl __construct_new_array
- stw r3, 0(r30)
- mr r3, r30
- stw r31, 4(r30)
- lwz r31, 0xc(r1)
- lwz r30, 8(r1)
- lwz r0, 0x14(r1)
- mtlr r0
- addi r1, r1, 0x10
- blr
- */
+ pInfoArray = new Info[count];
+ m_count = count;
}
/*
@@ -64,20 +21,16 @@ Challenge2D_TitleInfo::Challenge2D_TitleInfo(int)
*/
Challenge2D_TitleInfo::Info::Info(void)
{
- /*
- li r0, 0
- stb r0, 0x20(r3)
- stw r0, 0(r3)
- stw r0, 8(r3)
- stw r0, 4(r3)
- stw r0, 0xc(r3)
- stw r0, 0x10(r3)
- stw r0, 0x18(r3)
- stw r0, 0x14(r3)
- stw r0, 0x1c(r3)
- stb r0, 0x20(r3)
- blr
- */
+ m_bool = false;
+ m_floorCount = 0;
+ m_sprayCounts[1] = 0;
+ m_sprayCounts[0] = 0;
+ m_0C = 0;
+ m_pPikiContainer = nullptr;
+ m_pHighscore2 = nullptr;
+ m_pHighscore1 = nullptr;
+ m_1C = 0;
+ m_bool = false;
}
/*
@@ -85,45 +38,11 @@ Challenge2D_TitleInfo::Info::Info(void)
* Address: 80235134
* Size: 00007C
*/
-void Challenge2D_TitleInfo::operator()(int)
+Challenge2D_TitleInfo::Info* Challenge2D_TitleInfo::operator()(int count)
{
- /*
- stwu r1, -0x10(r1)
- mflr r0
- stw r0, 0x14(r1)
- stw r31, 0xc(r1)
- or. r31, r4, r4
- stw r30, 8(r1)
- mr r30, r3
- li r3, 0
- blt lbl_80235168
- lwz r0, 4(r30)
- cmpw r31, r0
- bge lbl_80235168
- li r3, 1
-
-lbl_80235168:
- clrlwi. r0, r3, 0x18
- bne lbl_8023518C
- lis r3, lbl_80483AB0@ha
- lis r5, lbl_80483AC4@ha
- addi r3, r3, lbl_80483AB0@l
- li r4, 0x1f
- addi r5, r5, lbl_80483AC4@l
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_8023518C:
- mulli r0, r31, 0x24
- lwz r3, 0(r30)
- add r3, r3, r0
- lwz r31, 0xc(r1)
- lwz r30, 8(r1)
- lwz r0, 0x14(r1)
- mtlr r0
- addi r1, r1, 0x10
- blr
- */
+ bool isLegal = count >= 0 && count < m_count;
+ P2ASSERTLINE(31, (isLegal));
+ return &pInfoArray[count];
}
/*
@@ -131,35 +50,10 @@ lbl_8023518C:
* Address: 802351B0
* Size: 000064
*/
-Vs2D_TitleInfo::Vs2D_TitleInfo(int)
+Vs2D_TitleInfo::Vs2D_TitleInfo(int count)
{
- /*
- stwu r1, -0x10(r1)
- mflr r0
- stw r0, 0x14(r1)
- stw r31, 0xc(r1)
- mr r31, r4
- stw r30, 8(r1)
- mr r30, r3
- slwi r3, r4, 2
- addi r3, r3, 0x10
- bl __nwa__FUl
- lis r4, __ct__Q34Game14Vs2D_TitleInfo4InfoFv@ha
- mr r7, r31
- addi r4, r4, __ct__Q34Game14Vs2D_TitleInfo4InfoFv@l
- li r5, 0
- li r6, 4
- bl __construct_new_array
- stw r3, 0(r30)
- mr r3, r30
- stw r31, 4(r30)
- lwz r31, 0xc(r1)
- lwz r30, 8(r1)
- lwz r0, 0x14(r1)
- mtlr r0
- addi r1, r1, 0x10
- blr
- */
+ pInfoArray = new Info[count];
+ m_infoCount = count;
}
/*
@@ -167,74 +61,20 @@ Vs2D_TitleInfo::Vs2D_TitleInfo(int)
* Address: 80235214
* Size: 00000C
*/
-Vs2D_TitleInfo::Info::Info(void)
-{
- /*
- li r0, 0
- stw r0, 0(r3)
- blr
- */
-}
+Vs2D_TitleInfo::Info::Info(void) { m_info = 0; }
/*
* --INFO--
* Address: 80235220
* Size: 0000A8
*/
-void Vs2D_TitleInfo::operator()(int)
+Vs2D_TitleInfo::Info* Vs2D_TitleInfo::operator()(int infoIndex)
{
- /*
- stwu r1, -0x10(r1)
- mflr r0
- stw r0, 0x14(r1)
- stw r31, 0xc(r1)
- or. r31, r4, r4
- stw r30, 8(r1)
- mr r30, r3
- blt lbl_8023524C
- lwz r0, 4(r30)
- cmpw r31, r0
- blt lbl_80235264
-
-lbl_8023524C:
- lis r3, lbl_80483AB0@ha
- li r4, 0x34
- addi r3, r3, lbl_80483AB0@l
- addi r5, r2, lbl_8051A3B8@sda21
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_80235264:
- cmpwi r31, 0
- li r3, 0
- blt lbl_80235280
- lwz r0, 4(r30)
- cmpw r31, r0
- bge lbl_80235280
- li r3, 1
-
-lbl_80235280:
- clrlwi. r0, r3, 0x18
- bne lbl_802352A4
- lis r3, lbl_80483AB0@ha
- lis r5, lbl_80483AC4@ha
- addi r3, r3, lbl_80483AB0@l
- li r4, 0x36
- addi r5, r5, lbl_80483AC4@l
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_802352A4:
- lwz r3, 0(r30)
- slwi r0, r31, 2
- add r3, r3, r0
- lwz r31, 0xc(r1)
- lwz r30, 8(r1)
- lwz r0, 0x14(r1)
- mtlr r0
- addi r1, r1, 0x10
- blr
- */
+ bool amLegal = ((infoIndex >= 0));
+ JUT_ASSERTLINE(52, (amLegal && (infoIndex < m_infoCount)), "ZANNEN\n");
+ bool isLegal = infoIndex >= 0 && infoIndex < m_infoCount;
+ P2ASSERTLINE(54, (isLegal));
+ return &pInfoArray[infoIndex];
}
/*
@@ -244,17 +84,13 @@ lbl_802352A4:
*/
Challenge2D_ResultInfo::Challenge2D_ResultInfo(void)
{
- /*
- li r0, 0
- stb r0, 0(r3)
- stb r0, 0(r3)
- stw r0, 8(r3)
- stw r0, 0xc(r3)
- stw r0, 0x10(r3)
- stw r0, 0x14(r3)
- stw r0, 0x1c(r3)
- stw r0, 0x18(r3)
- blr
- */
+ m_bool = false;
+ m_bool = false;
+ m_08 = 0;
+ m_0C = 0;
+ m_10 = 0;
+ m_14 = 0;
+ m_1C = 0;
+ m_18 = 0;
}
} // namespace Game
diff --git a/src/plugProjectKandoU/gameHighscore.cpp b/src/plugProjectKandoU/gameHighscore.cpp
index 232d658d5..d0e7623e4 100644
--- a/src/plugProjectKandoU/gameHighscore.cpp
+++ b/src/plugProjectKandoU/gameHighscore.cpp
@@ -3,28 +3,6 @@
#include "Game/Highscore.h"
#include "JSystem/JUT/JUTException.h"
-/*
- Generated from dpostproc
-
- .section .rodata # 0x804732E0 - 0x8049E220
- .global lbl_80483A68
- lbl_80483A68:
- .asciz "gameHighscore.cpp"
- .skip 2
- .global lbl_80483A7C
- lbl_80483A7C:
- .asciz "P2Assert"
- .skip 3
-
- .section .data, "wa" # 0x8049E220 - 0x804EFC20
- .global __vt__Q24Game9Highscore
- __vt__Q24Game9Highscore:
- .4byte 0
- .4byte 0
- .4byte do_higher__Q24Game9HighscoreFii
- .4byte 0
-*/
-
namespace Game {
/*