diff options
| author | unknown <pheenoh@gmail.com> | 2020-11-27 23:34:39 -0500 |
|---|---|---|
| committer | unknown <pheenoh@gmail.com> | 2020-11-27 23:34:39 -0500 |
| commit | 9982bcab28773731fc9d4d2aa2f9c0dc6ba92a88 (patch) | |
| tree | ce8d89da6d8e49efd410eeb982298a699773eee4 /include | |
| parent | 963c0ad2a66ce2f6c6c3ed03a023b6ddc9261ce5 (diff) | |
dSv_zoneActor_c ok dSv_zone_c ok dSv_restart_c ok dSv_turnRestart_c ok dSv_info_c::init ok some dSv_save_c ok
Diffstat (limited to 'include')
| -rw-r--r-- | include/d_save.h | 14 | ||||
| -rw-r--r-- | include/func_8003501C.s | 37 | ||||
| -rw-r--r-- | include/func_800350A8.s | 5 | ||||
| -rw-r--r-- | include/func_800350BC.s | 14 | ||||
| -rw-r--r-- | include/func_800350F0.s | 25 | ||||
| -rw-r--r-- | include/func_8003514C.s | 23 | ||||
| -rw-r--r-- | include/func_800351A4.s | 26 | ||||
| -rw-r--r-- | include/func_80035200.s | 49 | ||||
| -rw-r--r-- | include/functions.h | 12 |
9 files changed, 198 insertions, 7 deletions
diff --git a/include/d_save.h b/include/d_save.h index 2287dbf75a..95e8941982 100644 --- a/include/d_save.h +++ b/include/d_save.h @@ -547,16 +547,16 @@ class dSv_zoneActor_c { void init(void); void on(int); void off(int); - u8 is(int) const; + bool is(int) const; private: - u32 unk0[4]; + u32 actor_bitfield[4]; }; class dSv_zone_c { public: dSv_zone_c(void); // the assembly for this is in d_com_inf_game.s - void init(void); + void init(int); private: u8 unk0; @@ -591,11 +591,11 @@ class dSv_turnRestart_c { class dSv_save_c { public: void init(void); - dSv_memory2_c getSave2(int); + dSv_memory2_c* getSave2(int); private: dSv_player_c player; - u8 unk476[20]; + u8 unk476[4]; dSv_memory_c area_flags[32]; dSv_memory2_c unk_flags[64]; dSv_event_c event_flags; @@ -609,7 +609,7 @@ class dSv_info_c { void getSave(int); void putSave(int); void initZone(void); - int createZone(int); + u32 createZone(int); void onSwitch(int, int); void offSwitch(int, int); bool isSwitch(int, int) const; @@ -631,4 +631,4 @@ class dSv_info_c { dSv_restart_c restart; dSv_event_c events; dSv_turnRestart_c turn_restart; -}; +};
\ No newline at end of file diff --git a/include/func_8003501C.s b/include/func_8003501C.s new file mode 100644 index 0000000000..2c5934a10e --- /dev/null +++ b/include/func_8003501C.s @@ -0,0 +1,37 @@ +/* 8003501C 00031F5C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80035020 00031F60 7C 08 02 A6 */ mflr r0 +/* 80035024 00031F64 90 01 00 24 */ stw r0, 0x24(r1) +/* 80035028 00031F68 39 61 00 20 */ addi r11, r1, 0x20 +/* 8003502C 00031F6C 48 32 D1 B1 */ bl _savegpr_29 +/* 80035030 00031F70 7C 7D 1B 78 */ mr r29, r3 +/* 80035034 00031F74 4B FF F6 71 */ bl init__12dSv_player_cFv +/* 80035038 00031F78 3B C0 00 00 */ li r30, 0 +/* 8003503C 00031F7C 3B E0 00 00 */ li r31, 0 +lbl_80035040: +/* 80035040 00031F80 38 7F 01 F0 */ addi r3, r31, 0x1f0 +/* 80035044 00031F84 7C 7D 1A 14 */ add r3, r29, r3 +/* 80035048 00031F88 4B FF FA 1D */ bl init__12dSv_memory_cFv +/* 8003504C 00031F8C 3B DE 00 01 */ addi r30, r30, 1 +/* 80035050 00031F90 2C 1E 00 20 */ cmpwi r30, 0x20 +/* 80035054 00031F94 3B FF 00 20 */ addi r31, r31, 0x20 +/* 80035058 00031F98 41 80 FF E8 */ blt lbl_80035040 +/* 8003505C 00031F9C 3B C0 00 00 */ li r30, 0 +/* 80035060 00031FA0 3B E0 00 00 */ li r31, 0 +lbl_80035064: +/* 80035064 00031FA4 38 7F 05 F0 */ addi r3, r31, 0x5f0 +/* 80035068 00031FA8 7C 7D 1A 14 */ add r3, r29, r3 +/* 8003506C 00031FAC 4B FF FA 19 */ bl init__13dSv_memory2_cFv +/* 80035070 00031FB0 3B DE 00 01 */ addi r30, r30, 1 +/* 80035074 00031FB4 2C 1E 00 40 */ cmpwi r30, 0x40 +/* 80035078 00031FB8 3B FF 00 08 */ addi r31, r31, 8 +/* 8003507C 00031FBC 41 80 FF E8 */ blt lbl_80035064 +/* 80035080 00031FC0 38 7D 07 F0 */ addi r3, r29, 0x7f0 +/* 80035084 00031FC4 4B FF F8 D1 */ bl init__11dSv_event_cFv +/* 80035088 00031FC8 38 7D 09 40 */ addi r3, r29, 0x940 +/* 8003508C 00031FCC 4B FF F9 91 */ bl init__14dSv_MiniGame_cFv +/* 80035090 00031FD0 39 61 00 20 */ addi r11, r1, 0x20 +/* 80035094 00031FD4 48 32 D1 95 */ bl _restgpr_29 +/* 80035098 00031FD8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8003509C 00031FDC 7C 08 03 A6 */ mtlr r0 +/* 800350A0 00031FE0 38 21 00 20 */ addi r1, r1, 0x20 +/* 800350A4 00031FE4 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/func_800350A8.s b/include/func_800350A8.s new file mode 100644 index 0000000000..df9b53d4b6 --- /dev/null +++ b/include/func_800350A8.s @@ -0,0 +1,5 @@ +/* 800350A8 00031FE8 7C 60 1B 78 */ mr r0, r3 +/* 800350AC 00031FEC 54 83 18 38 */ slwi r3, r4, 3 +/* 800350B0 00031FF0 38 63 05 F0 */ addi r3, r3, 0x5f0 +/* 800350B4 00031FF4 7C 60 1A 14 */ add r3, r0, r3 +/* 800350B8 00031FF8 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/func_800350BC.s b/include/func_800350BC.s new file mode 100644 index 0000000000..e37496a9d1 --- /dev/null +++ b/include/func_800350BC.s @@ -0,0 +1,14 @@ +/* 800350BC 00031FFC 54 84 28 34 */ slwi r4, r4, 5 +/* 800350C0 00032000 38 84 01 F0 */ addi r4, r4, 0x1f0 +/* 800350C4 00032004 7C 83 22 14 */ add r4, r3, r4 +/* 800350C8 00032008 38 A3 09 54 */ addi r5, r3, 0x954 +/* 800350CC 0003200C 38 84 FF FC */ addi r4, r4, -4 +/* 800350D0 00032010 38 00 00 04 */ li r0, 4 +/* 800350D4 00032014 7C 09 03 A6 */ mtctr r0 +lbl_800350D8: +/* 800350D8 00032018 80 64 00 04 */ lwz r3, 4(r4) +/* 800350DC 0003201C 84 04 00 08 */ lwzu r0, 8(r4) +/* 800350E0 00032020 90 65 00 04 */ stw r3, 4(r5) +/* 800350E4 00032024 94 05 00 08 */ stwu r0, 8(r5) +/* 800350E8 00032028 42 00 FF F0 */ bdnz lbl_800350D8 +/* 800350EC 0003202C 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/func_800350F0.s b/include/func_800350F0.s new file mode 100644 index 0000000000..6cbf8f4446 --- /dev/null +++ b/include/func_800350F0.s @@ -0,0 +1,25 @@ +/* 800350F0 00032030 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 800350F4 00032034 38 E1 00 04 */ addi r7, r1, 4 +/* 800350F8 00032038 38 C3 09 54 */ addi r6, r3, 0x954 +/* 800350FC 0003203C 38 00 00 04 */ li r0, 4 +/* 80035100 00032040 7C 09 03 A6 */ mtctr r0 +lbl_80035104: +/* 80035104 00032044 80 A6 00 04 */ lwz r5, 4(r6) +/* 80035108 00032048 84 06 00 08 */ lwzu r0, 8(r6) +/* 8003510C 0003204C 90 A7 00 04 */ stw r5, 4(r7) +/* 80035110 00032050 94 07 00 08 */ stwu r0, 8(r7) +/* 80035114 00032054 42 00 FF F0 */ bdnz lbl_80035104 +/* 80035118 00032058 54 80 28 34 */ slwi r0, r4, 5 +/* 8003511C 0003205C 7C 63 02 14 */ add r3, r3, r0 +/* 80035120 00032060 38 A3 01 EC */ addi r5, r3, 0x1ec +/* 80035124 00032064 38 81 00 04 */ addi r4, r1, 4 +/* 80035128 00032068 38 00 00 04 */ li r0, 4 +/* 8003512C 0003206C 7C 09 03 A6 */ mtctr r0 +lbl_80035130: +/* 80035130 00032070 80 64 00 04 */ lwz r3, 4(r4) +/* 80035134 00032074 84 04 00 08 */ lwzu r0, 8(r4) +/* 80035138 00032078 90 65 00 04 */ stw r3, 4(r5) +/* 8003513C 0003207C 94 05 00 08 */ stwu r0, 8(r5) +/* 80035140 00032080 42 00 FF F0 */ bdnz lbl_80035130 +/* 80035144 00032084 38 21 00 30 */ addi r1, r1, 0x30 +/* 80035148 00032088 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/func_8003514C.s b/include/func_8003514C.s new file mode 100644 index 0000000000..9f99a1386a --- /dev/null +++ b/include/func_8003514C.s @@ -0,0 +1,23 @@ +/* 8003514C 0003208C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80035150 00032090 7C 08 02 A6 */ mflr r0 +/* 80035154 00032094 90 01 00 24 */ stw r0, 0x24(r1) +/* 80035158 00032098 39 61 00 20 */ addi r11, r1, 0x20 +/* 8003515C 0003209C 48 32 D0 81 */ bl _savegpr_29 +/* 80035160 000320A0 7C 7D 1B 78 */ mr r29, r3 +/* 80035164 000320A4 3B C0 00 00 */ li r30, 0 +/* 80035168 000320A8 3B E0 00 00 */ li r31, 0 +lbl_8003516C: +/* 8003516C 000320AC 38 7F 09 B4 */ addi r3, r31, 0x9b4 +/* 80035170 000320B0 7C 7D 1A 14 */ add r3, r29, r3 +/* 80035174 000320B4 38 80 FF FF */ li r4, -1 +/* 80035178 000320B8 4B FF FD CD */ bl init__10dSv_zone_cFi +/* 8003517C 000320BC 3B DE 00 01 */ addi r30, r30, 1 +/* 80035180 000320C0 2C 1E 00 20 */ cmpwi r30, 0x20 +/* 80035184 000320C4 3B FF 00 20 */ addi r31, r31, 0x20 +/* 80035188 000320C8 41 80 FF E4 */ blt lbl_8003516C +/* 8003518C 000320CC 39 61 00 20 */ addi r11, r1, 0x20 +/* 80035190 000320D0 48 32 D0 99 */ bl _restgpr_29 +/* 80035194 000320D4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80035198 000320D8 7C 08 03 A6 */ mtlr r0 +/* 8003519C 000320DC 38 21 00 20 */ addi r1, r1, 0x20 +/* 800351A0 000320E0 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/func_800351A4.s b/include/func_800351A4.s new file mode 100644 index 0000000000..9579ee90d6 --- /dev/null +++ b/include/func_800351A4.s @@ -0,0 +1,26 @@ +/* 800351A4 000320E4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800351A8 000320E8 7C 08 02 A6 */ mflr r0 +/* 800351AC 000320EC 90 01 00 14 */ stw r0, 0x14(r1) +/* 800351B0 000320F0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800351B4 000320F4 38 63 09 B4 */ addi r3, r3, 0x9b4 +/* 800351B8 000320F8 3B E0 00 00 */ li r31, 0 +/* 800351BC 000320FC 38 00 00 20 */ li r0, 0x20 +/* 800351C0 00032100 7C 09 03 A6 */ mtctr r0 +lbl_800351C4: +/* 800351C4 00032104 88 03 00 00 */ lbz r0, 0(r3) +/* 800351C8 00032108 7C 00 07 75 */ extsb. r0, r0 +/* 800351CC 0003210C 40 80 00 10 */ bge lbl_800351DC +/* 800351D0 00032110 4B FF FD 75 */ bl init__10dSv_zone_cFi +/* 800351D4 00032114 7F E3 FB 78 */ mr r3, r31 +/* 800351D8 00032118 48 00 00 14 */ b lbl_800351EC +lbl_800351DC: +/* 800351DC 0003211C 38 63 00 20 */ addi r3, r3, 0x20 +/* 800351E0 00032120 3B FF 00 01 */ addi r31, r31, 1 +/* 800351E4 00032124 42 00 FF E0 */ bdnz lbl_800351C4 +/* 800351E8 00032128 38 60 FF FF */ li r3, -1 +lbl_800351EC: +/* 800351EC 0003212C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800351F0 00032130 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800351F4 00032134 7C 08 03 A6 */ mtlr r0 +/* 800351F8 00032138 38 21 00 10 */ addi r1, r1, 0x10 +/* 800351FC 0003213C 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/func_80035200.s b/include/func_80035200.s new file mode 100644 index 0000000000..d178bfa50c --- /dev/null +++ b/include/func_80035200.s @@ -0,0 +1,49 @@ +/* 80035200 00032140 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80035204 00032144 7C 08 02 A6 */ mflr r0 +/* 80035208 00032148 90 01 00 14 */ stw r0, 0x14(r1) +/* 8003520C 0003214C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80035210 00032150 93 C1 00 08 */ stw r30, 8(r1) +/* 80035214 00032154 7C 7E 1B 78 */ mr r30, r3 +/* 80035218 00032158 7C 9F 23 78 */ mr r31, r4 +/* 8003521C 0003215C 2C 1F FF FF */ cmpwi r31, -1 +/* 80035220 00032160 41 82 00 78 */ beq lbl_80035298 +/* 80035224 00032164 2C 1F 00 FF */ cmpwi r31, 0xff +/* 80035228 00032168 40 82 00 08 */ bne lbl_80035230 +/* 8003522C 0003216C 48 00 00 6C */ b lbl_80035298 +lbl_80035230: +/* 80035230 00032170 2C 1F 00 80 */ cmpwi r31, 0x80 +/* 80035234 00032174 40 80 00 10 */ bge lbl_80035244 +/* 80035238 00032178 38 7E 09 58 */ addi r3, r30, 0x958 +/* 8003523C 0003217C 4B FF F5 D5 */ bl onSwitch__12dSv_memBit_cFi +/* 80035240 00032180 48 00 00 58 */ b lbl_80035298 +lbl_80035244: +/* 80035244 00032184 2C 1F 00 C0 */ cmpwi r31, 0xc0 +/* 80035248 00032188 40 80 00 14 */ bge lbl_8003525C +/* 8003524C 0003218C 38 7E 09 78 */ addi r3, r30, 0x978 +/* 80035250 00032190 38 9F FF 80 */ addi r4, r31, -128 +/* 80035254 00032194 4B FF F9 45 */ bl onSwitch__12dSv_danBit_cFi +/* 80035258 00032198 48 00 00 40 */ b lbl_80035298 +lbl_8003525C: +/* 8003525C 0003219C 7C A3 2B 78 */ mr r3, r5 +/* 80035260 000321A0 4B FF 87 51 */ bl dStage_roomControl_c_NS_getZoneNo +/* 80035264 000321A4 2C 1F 00 E0 */ cmpwi r31, 0xe0 +/* 80035268 000321A8 40 80 00 1C */ bge lbl_80035284 +/* 8003526C 000321AC 54 63 28 34 */ slwi r3, r3, 5 +/* 80035270 000321B0 38 63 09 B6 */ addi r3, r3, 0x9b6 +/* 80035274 000321B4 7C 7E 1A 14 */ add r3, r30, r3 +/* 80035278 000321B8 38 9F FF 40 */ addi r4, r31, -192 +/* 8003527C 000321BC 4B FF FA 89 */ bl onSwitch__13dSv_zoneBit_cFi +/* 80035280 000321C0 48 00 00 18 */ b lbl_80035298 +lbl_80035284: +/* 80035284 000321C4 54 63 28 34 */ slwi r3, r3, 5 +/* 80035288 000321C8 38 63 09 B6 */ addi r3, r3, 0x9b6 +/* 8003528C 000321CC 7C 7E 1A 14 */ add r3, r30, r3 +/* 80035290 000321D0 38 9F FF 20 */ addi r4, r31, -224 +/* 80035294 000321D4 4B FF FB 19 */ bl onOneSwitch__13dSv_zoneBit_cFi +lbl_80035298: +/* 80035298 000321D8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8003529C 000321DC 83 C1 00 08 */ lwz r30, 8(r1) +/* 800352A0 000321E0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800352A4 000321E4 7C 08 03 A6 */ mtlr r0 +/* 800352A8 000321E8 38 21 00 10 */ addi r1, r1, 0x10 +/* 800352AC 000321EC 4E 80 00 20 */ blr
\ No newline at end of file diff --git a/include/functions.h b/include/functions.h index d3182a8c22..f72d106e71 100644 --- a/include/functions.h +++ b/include/functions.h @@ -42,4 +42,16 @@ extern "C" { void setInitEventBit(void); void daObjCarry_c_NS_clrSaveFlag(void); void daObjCarry_c_NS_setSaveFlag(void); + void init__14dSv_MiniGame_cFv(void); + void init__11dSv_event_cFv(void); + void init__13dSv_memory2_cFv(void); + void init__12dSv_memory_cFv(void); + void init__12dSv_player_cFv(void); + void init__10dSv_info_cFvZone(void); + void init__10dSv_zone_cFi(void); + void onOneSwitch__13dSv_zoneBit_cFi(void); + void onSwitch__13dSv_zoneBit_cFi(void); + void dStage_roomControl_c_NS_getZoneNo(void); + void onSwitch__12dSv_danBit_cFi(void); + void onSwitch__12dSv_memBit_cFi(void); }
\ No newline at end of file |
