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

This commit is contained in:
unknown 2020-11-27 23:34:39 -05:00
parent 963c0ad2a6
commit 9982bcab28
No known key found for this signature in database
GPG Key ID: 4312662758CE7D5A
21 changed files with 380 additions and 359 deletions

View File

@ -9771,7 +9771,7 @@ lbl_800A61F4:
/* 800A620C 000A314C A8 BF 04 E6 */ lha r5, 0x4e6(r31)
/* 800A6210 000A3150 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 800A6214 000A3154 54 06 06 BE */ clrlwi r6, r0, 0x1a
/* 800A6218 000A3158 4B F8 ED 69 */ bl dSv_restart_c_NS_setRoom
/* 800A6218 000A3158 4B F8 ED 69 */ bl setRoom__13dSv_restart_cFRC4cXyzsSc
/* 800A621C 000A315C C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 800A6220 000A3160 D0 1F 37 80 */ stfs f0, 0x3780(r31)
/* 800A6224 000A3164 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
@ -10024,7 +10024,7 @@ lbl_800A6550:
/* 800A65C4 000A3504 38 80 00 6F */ li r4, 0x6f
/* 800A65C8 000A3508 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 800A65CC 000A350C 7C 05 07 74 */ extsb r5, r0
/* 800A65D0 000A3510 4B F8 EC 31 */ bl dSv_info_c_NS_onSwitch
/* 800A65D0 000A3510 4B F8 EC 31 */ bl onSwitch__10dSv_info_cFii
/* 800A65D4 000A3514 48 00 00 1C */ b lbl_800A65F0
lbl_800A65D8:
/* 800A65D8 000A3518 3C 60 80 40 */ lis r3, lbl_804061C0@ha
@ -36844,7 +36844,7 @@ lbl_800BDDB4:
/* 800BDDCC 000BAD0C 38 63 0E D8 */ addi r3, r3, 0xed8
/* 800BDDD0 000BAD10 38 9E 04 D0 */ addi r4, r30, 0x4d0
/* 800BDDD4 000BAD14 A8 BE 04 E6 */ lha r5, 0x4e6(r30)
/* 800BDDD8 000BAD18 4B F7 71 CD */ bl dSv_turnRestart_c_NS_set
/* 800BDDD8 000BAD18 4B F7 71 CD */ bl set__17dSv_turnRestart_cFRC4cXyzsScUl
lbl_800BDDDC:
/* 800BDDDC 000BAD1C 88 7E 2F AD */ lbz r3, 0x2fad(r30)
/* 800BDDE0 000BAD20 C0 22 92 C0 */ lfs f1, lbl_80452CC0-_SDA2_BASE_(r2)
@ -78666,7 +78666,7 @@ lbl_800E29F0:
/* 800E2A28 000DF968 38 80 00 93 */ li r4, 0x93
/* 800E2A2C 000DF96C 88 1D 04 BA */ lbz r0, 0x4ba(r29)
/* 800E2A30 000DF970 7C 05 07 74 */ extsb r5, r0
/* 800E2A34 000DF974 4B F5 27 CD */ bl dSv_info_c_NS_onSwitch
/* 800E2A34 000DF974 4B F5 27 CD */ bl onSwitch__10dSv_info_cFii
lbl_800E2A38:
/* 800E2A38 000DF978 B3 9D 31 14 */ sth r28, 0x3114(r29)
/* 800E2A3C 000DF97C 38 7D 36 A8 */ addi r3, r29, 0x36a8
@ -83877,7 +83877,7 @@ lbl_800E73C0:
/* 800E7400 000E4340 80 BF 27 F4 */ lwz r5, 0x27f4(r31)
/* 800E7404 000E4344 88 05 04 BA */ lbz r0, 0x4ba(r5)
/* 800E7408 000E4348 7C 05 07 74 */ extsb r5, r0
/* 800E740C 000E434C 4B F4 DD F5 */ bl dSv_info_c_NS_onSwitch
/* 800E740C 000E434C 4B F4 DD F5 */ bl onSwitch__10dSv_info_cFii
/* 800E7410 000E4350 38 80 00 00 */ li r4, 0
/* 800E7414 000E4354 48 00 00 28 */ b lbl_800E743C
lbl_800E7418:
@ -147437,7 +147437,7 @@ daAlink_c_NS_dungeonReturnWarp:
/* 8011F838 0011C778 38 81 00 18 */ addi r4, r1, 0x18
/* 8011F83C 0011C77C 7F C5 F3 78 */ mr r5, r30
/* 8011F840 0011C780 7F A6 EB 78 */ mr r6, r29
/* 8011F844 0011C784 4B F1 57 3D */ bl dSv_restart_c_NS_setRoom
/* 8011F844 0011C784 4B F1 57 3D */ bl setRoom__13dSv_restart_cFRC4cXyzsSc
/* 8011F848 0011C788 38 00 00 01 */ li r0, 1
/* 8011F84C 0011C78C 90 01 00 08 */ stw r0, 8(r1)
/* 8011F850 0011C790 38 00 00 00 */ li r0, 0
@ -147516,7 +147516,7 @@ lbl_8011F934:
/* 8011F96C 0011C8AC 88 A5 00 50 */ lbz r5, 0x50(r5)
/* 8011F970 0011C8B0 88 1E 00 4E */ lbz r0, 0x4e(r30)
/* 8011F974 0011C8B4 7C 06 07 74 */ extsb r6, r0
/* 8011F978 0011C8B8 4B F1 56 2D */ bl dSv_turnRestart_c_NS_set
/* 8011F978 0011C8B8 4B F1 56 2D */ bl set__17dSv_turnRestart_cFRC4cXyzsScUl
/* 8011F97C 0011C8BC 38 00 00 01 */ li r0, 1
/* 8011F980 0011C8C0 90 01 00 08 */ stw r0, 8(r1)
/* 8011F984 0011C8C4 38 00 00 00 */ li r0, 0
@ -183340,7 +183340,7 @@ lbl_8013F818:
/* 8013F844 0013C784 A8 BE 04 E6 */ lha r5, 0x4e6(r30)
/* 8013F848 0013C788 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 8013F84C 0013C78C 54 06 06 BE */ clrlwi r6, r0, 0x1a
/* 8013F850 0013C790 4B EF 57 31 */ bl dSv_restart_c_NS_setRoom
/* 8013F850 0013C790 4B EF 57 31 */ bl setRoom__13dSv_restart_cFRC4cXyzsSc
lbl_8013F854:
/* 8013F854 0013C794 7F C3 F3 78 */ mr r3, r30
/* 8013F858 0013C798 4B FD 84 39 */ bl daAlink_c_NS_resetSpecialEvent
@ -183431,7 +183431,7 @@ lbl_8013F970:
/* 8013F980 0013C8C0 38 80 00 66 */ li r4, 0x66
/* 8013F984 0013C8C4 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 8013F988 0013C8C8 7C 05 07 74 */ extsb r5, r0
/* 8013F98C 0013C8CC 4B EF 58 75 */ bl dSv_info_c_NS_onSwitch
/* 8013F98C 0013C8CC 4B EF 58 75 */ bl onSwitch__10dSv_info_cFii
/* 8013F990 0013C8D0 48 00 00 64 */ b lbl_8013F9F4
lbl_8013F994:
/* 8013F994 0013C8D4 2C 00 00 B0 */ cmpwi r0, 0xb0
@ -183441,7 +183441,7 @@ lbl_8013F994:
/* 8013F9A4 0013C8E4 38 80 00 67 */ li r4, 0x67
/* 8013F9A8 0013C8E8 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 8013F9AC 0013C8EC 7C 05 07 74 */ extsb r5, r0
/* 8013F9B0 0013C8F0 4B EF 58 51 */ bl dSv_info_c_NS_onSwitch
/* 8013F9B0 0013C8F0 4B EF 58 51 */ bl onSwitch__10dSv_info_cFii
/* 8013F9B4 0013C8F4 48 00 00 40 */ b lbl_8013F9F4
lbl_8013F9B8:
/* 8013F9B8 0013C8F8 2C 00 00 B3 */ cmpwi r0, 0xb3
@ -185237,7 +185237,7 @@ fopAcM_onSwitch:
/* 80141244 0013E184 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 80141248 0013E188 88 05 04 BA */ lbz r0, 0x4ba(r5)
/* 8014124C 0013E18C 7C 05 07 74 */ extsb r5, r0
/* 80141250 0013E190 4B EF 3F B1 */ bl dSv_info_c_NS_onSwitch
/* 80141250 0013E190 4B EF 3F B1 */ bl onSwitch__10dSv_info_cFii
/* 80141254 0013E194 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80141258 0013E198 7C 08 03 A6 */ mtlr r0
/* 8014125C 0013E19C 38 21 00 10 */ addi r1, r1, 0x10

View File

@ -2646,7 +2646,7 @@ dComIfGs_onStageSwitch:
/* 8002D670 0002A5B0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8002D674 0002A5B4 7F E4 FB 78 */ mr r4, r31
/* 8002D678 0002A5B8 38 A0 FF FF */ li r5, -1
/* 8002D67C 0002A5BC 48 00 7B 85 */ bl dSv_info_c_NS_onSwitch
/* 8002D67C 0002A5BC 48 00 7B 85 */ bl onSwitch__10dSv_info_cFii
lbl_8002D680:
/* 8002D680 0002A5C0 57 C4 28 34 */ slwi r4, r30, 5
/* 8002D684 0002A5C4 3C 60 80 40 */ lis r3, lbl_804061C0@ha
@ -5456,7 +5456,7 @@ lbl_8002FBFC:
/* 8002FC0C 0002CB4C 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8002FC10 0002CB50 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8002FC14 0002CB54 88 84 00 13 */ lbz r4, 0x13(r4)
/* 8002FC18 0002CB58 48 00 54 91 */ bl dSv_save_c_NS_getSave2
/* 8002FC18 0002CB58 48 00 54 91 */ bl getSave2__10dSv_save_cFi
/* 8002FC1C 0002CB5C 7F 84 E3 78 */ mr r4, r28
/* 8002FC20 0002CB60 48 00 4E 85 */ bl onVisitedRoom__13dSv_memory2_cFi
lbl_8002FC24:
@ -5481,7 +5481,7 @@ lbl_8002FC24:
/* 8002FC6C 0002CBAC 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8002FC70 0002CBB0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8002FC74 0002CBB4 88 84 00 13 */ lbz r4, 0x13(r4)
/* 8002FC78 0002CBB8 48 00 54 31 */ bl dSv_save_c_NS_getSave2
/* 8002FC78 0002CBB8 48 00 54 31 */ bl getSave2__10dSv_save_cFi
/* 8002FC7C 0002CBBC 7F E4 FB 78 */ mr r4, r31
/* 8002FC80 0002CBC0 48 00 4E 49 */ bl offVisitedRoom__13dSv_memory2_cFi
/* 8002FC84 0002CBC4 83 E1 00 0C */ lwz r31, 0xc(r1)
@ -5507,7 +5507,7 @@ dComIfGs_isVisitedRoom:
/* 8002FCC8 0002CC08 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8002FCCC 0002CC0C 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8002FCD0 0002CC10 88 84 00 13 */ lbz r4, 0x13(r4)
/* 8002FCD4 0002CC14 48 00 53 D5 */ bl dSv_save_c_NS_getSave2
/* 8002FCD4 0002CC14 48 00 53 D5 */ bl getSave2__10dSv_save_cFi
/* 8002FCD8 0002CC18 7F E4 FB 78 */ mr r4, r31
/* 8002FCDC 0002CC1C 48 00 4E 11 */ bl isVisitedRoom__13dSv_memory2_cFi
/* 8002FCE0 0002CC20 83 E1 00 0C */ lwz r31, 0xc(r1)

View File

@ -317,7 +317,7 @@ lbl_8004188C:
/* 800418D4 0003E814 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 800418D8 0003E818 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 800418DC 0003E81C 7F 85 E3 78 */ mr r5, r28
/* 800418E0 0003E820 4B FF 39 21 */ bl dSv_info_c_NS_onSwitch
/* 800418E0 0003E820 4B FF 39 21 */ bl onSwitch__10dSv_info_cFii
lbl_800418E4:
/* 800418E4 0003E824 A0 1F 00 02 */ lhz r0, 2(r31)
/* 800418E8 0003E828 54 00 05 AF */ rlwinm. r0, r0, 0, 0x16, 0x17

View File

@ -553,7 +553,7 @@ lbl_80098680:
/* 800986F8 00095638 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 800986FC 0009563C 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 80098700 00095640 38 80 00 1C */ li r4, 0x1c
/* 80098704 00095644 4B F9 CA FD */ bl dSv_info_c_NS_onSwitch
/* 80098704 00095644 4B F9 CA FD */ bl onSwitch__10dSv_info_cFii
/* 80098708 00095648 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8009870C 0009564C 7C 08 03 A6 */ mtlr r0
/* 80098710 00095650 38 21 00 10 */ addi r1, r1, 0x10

View File

@ -2,321 +2,6 @@
.section .text, "ax" # 80032918
.global dSv_zoneActor_c_NS_init
dSv_zoneActor_c_NS_init:
/* 80034EB4 00031DF4 38 80 00 00 */ li r4, 0
/* 80034EB8 00031DF8 7C 85 23 78 */ mr r5, r4
/* 80034EBC 00031DFC 38 00 00 04 */ li r0, 4
/* 80034EC0 00031E00 7C 09 03 A6 */ mtctr r0
lbl_80034EC4:
/* 80034EC4 00031E04 7C A3 21 2E */ stwx r5, r3, r4
/* 80034EC8 00031E08 38 84 00 04 */ addi r4, r4, 4
/* 80034ECC 00031E0C 42 00 FF F8 */ bdnz lbl_80034EC4
/* 80034ED0 00031E10 4E 80 00 20 */ blr
.global dSv_zoneActor_c_NS_on
dSv_zoneActor_c_NS_on:
/* 80034ED4 00031E14 7C 80 2E 70 */ srawi r0, r4, 5
/* 80034ED8 00031E18 54 07 10 3A */ slwi r7, r0, 2
/* 80034EDC 00031E1C 7C C3 38 2E */ lwzx r6, r3, r7
/* 80034EE0 00031E20 38 A0 00 01 */ li r5, 1
/* 80034EE4 00031E24 54 80 06 FE */ clrlwi r0, r4, 0x1b
/* 80034EE8 00031E28 7C A0 00 30 */ slw r0, r5, r0
/* 80034EEC 00031E2C 7C C0 03 78 */ or r0, r6, r0
/* 80034EF0 00031E30 7C 03 39 2E */ stwx r0, r3, r7
/* 80034EF4 00031E34 4E 80 00 20 */ blr
.global dSv_zoneActor_c_NS_off
dSv_zoneActor_c_NS_off:
/* 80034EF8 00031E38 7C 80 2E 70 */ srawi r0, r4, 5
/* 80034EFC 00031E3C 54 07 10 3A */ slwi r7, r0, 2
/* 80034F00 00031E40 7C C3 38 2E */ lwzx r6, r3, r7
/* 80034F04 00031E44 38 A0 00 01 */ li r5, 1
/* 80034F08 00031E48 54 80 06 FE */ clrlwi r0, r4, 0x1b
/* 80034F0C 00031E4C 7C A0 00 30 */ slw r0, r5, r0
/* 80034F10 00031E50 7C C0 00 78 */ andc r0, r6, r0
/* 80034F14 00031E54 7C 03 39 2E */ stwx r0, r3, r7
/* 80034F18 00031E58 4E 80 00 20 */ blr
.global dSv_zoneActor_c_NS_is
dSv_zoneActor_c_NS_is:
/* 80034F1C 00031E5C 38 A0 00 01 */ li r5, 1
/* 80034F20 00031E60 54 80 06 FE */ clrlwi r0, r4, 0x1b
/* 80034F24 00031E64 7C A5 00 30 */ slw r5, r5, r0
/* 80034F28 00031E68 7C 80 2E 70 */ srawi r0, r4, 5
/* 80034F2C 00031E6C 54 00 10 3A */ slwi r0, r0, 2
/* 80034F30 00031E70 7C 03 00 2E */ lwzx r0, r3, r0
/* 80034F34 00031E74 7C A3 00 38 */ and r3, r5, r0
/* 80034F38 00031E78 30 03 FF FF */ addic r0, r3, -1
/* 80034F3C 00031E7C 7C 60 19 10 */ subfe r3, r0, r3
/* 80034F40 00031E80 4E 80 00 20 */ blr
.global dSv_zone_c_NS_init
dSv_zone_c_NS_init:
/* 80034F44 00031E84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80034F48 00031E88 7C 08 02 A6 */ mflr r0
/* 80034F4C 00031E8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80034F50 00031E90 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80034F54 00031E94 7C 7F 1B 78 */ mr r31, r3
/* 80034F58 00031E98 98 83 00 00 */ stb r4, 0(r3)
/* 80034F5C 00031E9C 38 7F 00 02 */ addi r3, r31, 2
/* 80034F60 00031EA0 4B FF FD 41 */ bl init__13dSv_zoneBit_cFv
/* 80034F64 00031EA4 38 7F 00 10 */ addi r3, r31, 0x10
/* 80034F68 00031EA8 4B FF FF 4D */ bl dSv_zoneActor_c_NS_init
/* 80034F6C 00031EAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80034F70 00031EB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80034F74 00031EB4 7C 08 03 A6 */ mtlr r0
/* 80034F78 00031EB8 38 21 00 10 */ addi r1, r1, 0x10
/* 80034F7C 00031EBC 4E 80 00 20 */ blr
.global dSv_restart_c_NS_setRoom
dSv_restart_c_NS_setRoom:
/* 80034F80 00031EC0 98 C3 00 00 */ stb r6, 0(r3)
/* 80034F84 00031EC4 C0 04 00 00 */ lfs f0, 0(r4)
/* 80034F88 00031EC8 D0 03 00 08 */ stfs f0, 8(r3)
/* 80034F8C 00031ECC C0 04 00 04 */ lfs f0, 4(r4)
/* 80034F90 00031ED0 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80034F94 00031ED4 C0 04 00 08 */ lfs f0, 8(r4)
/* 80034F98 00031ED8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80034F9C 00031EDC B0 A3 00 06 */ sth r5, 6(r3)
/* 80034FA0 00031EE0 4E 80 00 20 */ blr
.global dSv_turnRestart_c_NS_set
dSv_turnRestart_c_NS_set:
/* 80034FA4 00031EE4 C0 04 00 00 */ lfs f0, 0(r4)
/* 80034FA8 00031EE8 D0 03 00 00 */ stfs f0, 0(r3)
/* 80034FAC 00031EEC C0 04 00 04 */ lfs f0, 4(r4)
/* 80034FB0 00031EF0 D0 03 00 04 */ stfs f0, 4(r3)
/* 80034FB4 00031EF4 C0 04 00 08 */ lfs f0, 8(r4)
/* 80034FB8 00031EF8 D0 03 00 08 */ stfs f0, 8(r3)
/* 80034FBC 00031EFC B0 A3 00 10 */ sth r5, 0x10(r3)
/* 80034FC0 00031F00 98 C3 00 12 */ stb r6, 0x12(r3)
/* 80034FC4 00031F04 90 E3 00 0C */ stw r7, 0xc(r3)
/* 80034FC8 00031F08 4E 80 00 20 */ blr
.global dSv_info_c_NS_init
dSv_info_c_NS_init:
/* 80034FCC 00031F0C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80034FD0 00031F10 7C 08 02 A6 */ mflr r0
/* 80034FD4 00031F14 90 01 00 14 */ stw r0, 0x14(r1)
/* 80034FD8 00031F18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80034FDC 00031F1C 7C 7F 1B 78 */ mr r31, r3
/* 80034FE0 00031F20 48 00 00 3D */ bl dSv_save_c_NS_init
/* 80034FE4 00031F24 38 7F 09 58 */ addi r3, r31, 0x958
/* 80034FE8 00031F28 4B FF FA 7D */ bl init__12dSv_memory_cFv
/* 80034FEC 00031F2C 38 7F 09 78 */ addi r3, r31, 0x978
/* 80034FF0 00031F30 38 80 FF FF */ li r4, -1
/* 80034FF4 00031F34 4B FF FB 21 */ bl init__12dSv_danBit_cFSc
/* 80034FF8 00031F38 7F E3 FB 78 */ mr r3, r31
/* 80034FFC 00031F3C 48 00 01 51 */ bl dSv_info_c_NS_initZone
/* 80035000 00031F40 38 7F 0D D8 */ addi r3, r31, 0xdd8
/* 80035004 00031F44 4B FF F9 51 */ bl init__11dSv_event_cFv
/* 80035008 00031F48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003500C 00031F4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80035010 00031F50 7C 08 03 A6 */ mtlr r0
/* 80035014 00031F54 38 21 00 10 */ addi r1, r1, 0x10
/* 80035018 00031F58 4E 80 00 20 */ blr
.global dSv_save_c_NS_init
dSv_save_c_NS_init:
/* 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
.global dSv_save_c_NS_getSave2
dSv_save_c_NS_getSave2:
/* 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
.global dSv_info_c_NS_getSave
dSv_info_c_NS_getSave:
/* 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
.global dSv_info_c_NS_putSave
dSv_info_c_NS_putSave:
/* 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
.global dSv_info_c_NS_initZone
dSv_info_c_NS_initZone:
/* 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 dSv_zone_c_NS_init
/* 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
.global dSv_info_c_NS_createZone
dSv_info_c_NS_createZone:
/* 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 dSv_zone_c_NS_init
/* 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
.global dSv_info_c_NS_onSwitch
dSv_info_c_NS_onSwitch:
/* 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
.global dSv_info_c_NS_offSwitch
dSv_info_c_NS_offSwitch:
/* 800352B0 000321F0 94 21 FF F0 */ stwu r1, -0x10(r1)
@ -612,7 +297,7 @@ lbl_80035680:
/* 8003568C 000325CC 38 63 09 C4 */ addi r3, r3, 0x9c4
/* 80035690 000325D0 7C 7E 1A 14 */ add r3, r30, r3
/* 80035694 000325D4 7F E4 FB 78 */ mr r4, r31
/* 80035698 000325D8 4B FF F8 3D */ bl dSv_zoneActor_c_NS_on
/* 80035698 000325D8 4B FF F8 3D */ bl on__15dSv_zoneActor_cFi
lbl_8003569C:
/* 8003569C 000325DC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800356A0 000325E0 83 C1 00 08 */ lwz r30, 8(r1)
@ -642,7 +327,7 @@ lbl_800356F0:
/* 800356FC 0003263C 38 63 09 C4 */ addi r3, r3, 0x9c4
/* 80035700 00032640 7C 7E 1A 14 */ add r3, r30, r3
/* 80035704 00032644 7F E4 FB 78 */ mr r4, r31
/* 80035708 00032648 4B FF F7 F1 */ bl dSv_zoneActor_c_NS_off
/* 80035708 00032648 4B FF F7 F1 */ bl off__15dSv_zoneActor_cFi
lbl_8003570C:
/* 8003570C 0003264C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80035710 00032650 83 C1 00 08 */ lwz r30, 8(r1)
@ -677,7 +362,7 @@ lbl_80035764:
/* 80035770 000326B0 38 63 09 C4 */ addi r3, r3, 0x9c4
/* 80035774 000326B4 7C 7E 1A 14 */ add r3, r30, r3
/* 80035778 000326B8 7F E4 FB 78 */ mr r4, r31
/* 8003577C 000326BC 4B FF F7 A1 */ bl dSv_zoneActor_c_NS_is
/* 8003577C 000326BC 4B FF F7 A1 */ bl is__15dSv_zoneActor_cCFi
lbl_80035780:
/* 80035780 000326C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80035784 000326C4 83 C1 00 08 */ lwz r30, 8(r1)
@ -974,8 +659,8 @@ lbl_80035B60:
/* 80035BC8 00032B08 38 21 00 10 */ addi r1, r1, 0x10
/* 80035BCC 00032B0C 4E 80 00 20 */ blr
.global dSv_info_c_NS_initdata_to_card
dSv_info_c_NS_initdata_to_card:
.global init__10dSv_info_cFvdata_to_card
init__10dSv_info_cFvdata_to_card:
/* 80035BD0 00032B10 94 21 F6 90 */ stwu r1, -0x970(r1)
/* 80035BD4 00032B14 7C 08 02 A6 */ mflr r0
/* 80035BD8 00032B18 90 01 09 74 */ stw r0, 0x974(r1)
@ -1001,7 +686,7 @@ dSv_info_c_NS_initdata_to_card:
/* 80035C18 00032B58 38 E0 00 40 */ li r7, 0x40
/* 80035C1C 00032B5C 48 32 C1 45 */ bl func_80361D60
/* 80035C20 00032B60 38 61 00 08 */ addi r3, r1, 8
/* 80035C24 00032B64 4B FF F3 F9 */ bl dSv_save_c_NS_init
/* 80035C24 00032B64 4B FF F3 F9 */ bl init__10dSv_save_cFv
/* 80035C28 00032B68 38 61 01 BC */ addi r3, r1, 0x1bc
/* 80035C2C 00032B6C 3C 80 80 38 */ lis r4, lbl_80379234@ha
/* 80035C30 00032B70 38 84 92 34 */ addi r4, r4, lbl_80379234@l

View File

@ -387,7 +387,7 @@ dStage_roomControl_c_NS_initZone:
/* 80024340 00021280 90 01 00 14 */ stw r0, 0x14(r1)
/* 80024344 00021284 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 80024348 00021288 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8002434C 0002128C 48 01 0E 01 */ bl dSv_info_c_NS_initZone
/* 8002434C 0002128C 48 01 0E 01 */ bl initZone__10dSv_info_cFv
/* 80024350 00021290 3C 60 80 3F */ lis r3, lbl_803F6094@ha
/* 80024354 00021294 38 03 60 94 */ addi r0, r3, lbl_803F6094@l
/* 80024358 00021298 7C 04 03 78 */ mr r4, r0
@ -1872,7 +1872,7 @@ lbl_800257BC:
/* 800257D8 00022718 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 800257DC 0002271C 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 800257E0 00022720 7F E4 FB 78 */ mr r4, r31
/* 800257E4 00022724 48 00 F8 D9 */ bl dSv_info_c_NS_getSave
/* 800257E4 00022724 48 00 F8 D9 */ bl getSave__10dSv_info_cFi
/* 800257E8 00022728 3C 60 80 43 */ lis r3, lbl_804307EC@ha
/* 800257EC 0002272C 38 63 07 EC */ addi r3, r3, lbl_804307EC@l
/* 800257F0 00022730 48 23 6A 09 */ bl dSvBit_HIO_c_NS_init
@ -3438,7 +3438,7 @@ lbl_80026E34:
/* 80026E58 00023D98 54 04 FE FE */ rlwinm r4, r0, 0x1f, 0x1b, 0x1f
/* 80026E5C 00023D9C 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 80026E60 00023DA0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 80026E64 00023DA4 48 00 E2 8D */ bl dSv_info_c_NS_putSave
/* 80026E64 00023DA4 48 00 E2 8D */ bl putSave__10dSv_info_cFi
/* 80026E68 00023DA8 38 6D 87 F4 */ addi r3, r13, lbl_80450D74-_SDA_BASE_
/* 80026E6C 00023DAC 4B FF DC 51 */ bl dStage_roomControl_c_NS_roomDzs_c_NS_remove
/* 80026E70 00023DB0 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)

View File

@ -1040,7 +1040,7 @@ lbl_8018446C:
/* 80184484 001813C4 98 1F 02 65 */ stb r0, 0x265(r31)
/* 80184488 001813C8 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8018448C 001813CC 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 80184490 001813D0 4B EB 0B 3D */ bl dSv_info_c_NS_init
/* 80184490 001813D0 4B EB 0B 3D */ bl init__10dSv_info_cFv
/* 80184494 001813D4 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 80184498 001813D8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8018449C 001813DC 38 63 0F 38 */ addi r3, r3, 0xf38
@ -7150,7 +7150,7 @@ lbl_80189E10:
/* 80189E8C 00186DCC 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 80189E90 00186DD0 38 9F 03 B8 */ addi r4, r31, 0x3b8
/* 80189E94 00186DD4 88 BF 02 65 */ lbz r5, 0x265(r31)
/* 80189E98 00186DD8 4B EA BD 39 */ bl dSv_info_c_NS_initdata_to_card
/* 80189E98 00186DD8 4B EA BD 39 */ bl init__10dSv_info_cFvdata_to_card
/* 80189E9C 00186DDC 38 7F 03 B8 */ addi r3, r31, 0x3b8
/* 80189EA0 00186DE0 88 9F 02 65 */ lbz r4, 0x265(r31)
/* 80189EA4 00186DE4 4B E8 DE 95 */ bl mDoMemCdRWm_SetCheckSumGameData
@ -13932,7 +13932,7 @@ lbl_80190278:
/* 80190278 0018D1B8 7F E3 FB 78 */ mr r3, r31
/* 8019027C 0018D1BC 38 9D 03 B8 */ addi r4, r29, 0x3b8
/* 80190280 0018D1C0 7F C5 F3 78 */ mr r5, r30
/* 80190284 0018D1C4 4B EA 59 4D */ bl dSv_info_c_NS_initdata_to_card
/* 80190284 0018D1C4 4B EA 59 4D */ bl init__10dSv_info_cFvdata_to_card
/* 80190288 0018D1C8 38 7D 03 B8 */ addi r3, r29, 0x3b8
/* 8019028C 0018D1CC 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 80190290 0018D1D0 4B E8 7A A9 */ bl mDoMemCdRWm_SetCheckSumGameData

View File

@ -55,7 +55,7 @@ dMenu_Fmap_room_data_c_NS_isArrival:
/* 8003D834 0003A774 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8003D838 0003A778 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8003D83C 0003A77C 88 84 00 02 */ lbz r4, 2(r4)
/* 8003D840 0003A780 4B FF 78 69 */ bl dSv_save_c_NS_getSave2
/* 8003D840 0003A780 4B FF 78 69 */ bl getSave2__10dSv_save_cFi
/* 8003D844 0003A784 88 9F 00 10 */ lbz r4, 0x10(r31)
/* 8003D848 0003A788 4B FF 72 A5 */ bl isVisitedRoom__13dSv_memory2_cFi
/* 8003D84C 0003A78C 30 03 FF FF */ addic r0, r3, -1
@ -160,7 +160,7 @@ dMenu_Fmap_stage_data_c_NS_isArrival:
lbl_8003D98C:
/* 8003D98C 0003A8CC 7F E3 FB 78 */ mr r3, r31
/* 8003D990 0003A8D0 7F A4 EB 78 */ mr r4, r29
/* 8003D994 0003A8D4 4B FF 77 15 */ bl dSv_save_c_NS_getSave2
/* 8003D994 0003A8D4 4B FF 77 15 */ bl getSave2__10dSv_save_cFi
/* 8003D998 0003A8D8 88 9E 00 10 */ lbz r4, 0x10(r30)
/* 8003D99C 0003A8DC 4B FF 71 51 */ bl isVisitedRoom__13dSv_memory2_cFi
/* 8003D9A0 0003A8E0 30 03 FF FF */ addic r0, r3, -1
@ -351,7 +351,7 @@ lbl_8003DC24:
/* 8003DC24 0003AB64 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8003DC28 0003AB68 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8003DC2C 0003AB6C 80 81 00 38 */ lwz r4, 0x38(r1)
/* 8003DC30 0003AB70 4B FF 74 79 */ bl dSv_save_c_NS_getSave2
/* 8003DC30 0003AB70 4B FF 74 79 */ bl getSave2__10dSv_save_cFi
/* 8003DC34 0003AB74 88 99 00 10 */ lbz r4, 0x10(r25)
/* 8003DC38 0003AB78 4B FF 6E B5 */ bl isVisitedRoom__13dSv_memory2_cFi
/* 8003DC3C 0003AB7C 2C 03 00 00 */ cmpwi r3, 0

View File

@ -3437,7 +3437,7 @@ dMenu_save_c_NS_dataWrite:
/* 801F2874 001EF7B4 54 04 FE FE */ rlwinm r4, r0, 0x1f, 0x1b, 0x1f
/* 801F2878 001EF7B8 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 801F287C 001EF7BC 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 801F2880 001EF7C0 4B E4 28 71 */ bl dSv_info_c_NS_putSave
/* 801F2880 001EF7C0 4B E4 28 71 */ bl putSave__10dSv_info_cFi
/* 801F2884 001EF7C4 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 801F2888 001EF7C8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 801F288C 001EF7CC 38 9D 01 D0 */ addi r4, r29, 0x1d0
@ -7927,7 +7927,7 @@ lbl_801F6978:
/* 801F6978 001F38B8 7F E3 FB 78 */ mr r3, r31
/* 801F697C 001F38BC 38 9D 01 D0 */ addi r4, r29, 0x1d0
/* 801F6980 001F38C0 7F C5 F3 78 */ mr r5, r30
/* 801F6984 001F38C4 4B E3 F2 4D */ bl dSv_info_c_NS_initdata_to_card
/* 801F6984 001F38C4 4B E3 F2 4D */ bl init__10dSv_info_cFvdata_to_card
/* 801F6988 001F38C8 38 7D 01 D0 */ addi r3, r29, 0x1d0
/* 801F698C 001F38CC 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 801F6990 001F38D0 4B E2 13 A9 */ bl mDoMemCdRWm_SetCheckSumGameData

View File

@ -1413,7 +1413,7 @@ lbl_8025A788:
/* 8025A870 002577B0 4B DB F5 29 */ bl fopAcM_create_X1_
/* 8025A874 002577B4 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8025A878 002577B8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8025A87C 002577BC 4B DD A7 51 */ bl dSv_info_c_NS_init
/* 8025A87C 002577BC 4B DD A7 51 */ bl init__10dSv_info_cFv
/* 8025A880 002577C0 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8025A884 002577C4 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8025A888 002577C8 38 00 00 00 */ li r0, 0

View File

@ -856,7 +856,7 @@ lbl_8025B9DC:
/* 8025B9F0 00258930 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8025B9F4 00258934 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8025B9F8 00258938 7F A4 EB 78 */ mr r4, r29
/* 8025B9FC 0025893C 4B DD 97 A9 */ bl dSv_info_c_NS_createZone
/* 8025B9FC 0025893C 4B DD 97 A9 */ bl createZone__10dSv_info_cFi
/* 8025BA00 00258940 7C 64 1B 78 */ mr r4, r3
/* 8025BA04 00258944 7F A3 EB 78 */ mr r3, r29
/* 8025BA08 00258948 48 00 00 A5 */ bl dStage_roomControl_c_NS_setZoneNo

View File

@ -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;
};
};

37
include/func_8003501C.s Normal file
View File

@ -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

5
include/func_800350A8.s Normal file
View File

@ -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

14
include/func_800350BC.s Normal file
View File

@ -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

25
include/func_800350F0.s Normal file
View File

@ -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

23
include/func_8003514C.s Normal file
View File

@ -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

26
include/func_800351A4.s Normal file
View File

@ -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

49
include/func_80035200.s Normal file
View File

@ -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

View File

@ -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);
}

View File

@ -1193,4 +1193,149 @@ void dSv_zoneBit_c::onOneItem(int param_1) {
bool dSv_zoneBit_c::isOneItem(int param_1) const {
return this->room_item & 1 << param_1 ? true : false;
}
}
void dSv_zoneActor_c::init(void) {
for (int i = 0; i < 4; i++) {
this->actor_bitfield[i] = 0;
}
}
void dSv_zoneActor_c::on(int param_1) {
this->actor_bitfield[param_1 >> 5] |= 1 << (param_1 & 0x1F);
}
void dSv_zoneActor_c::off(int param_1) {
this->actor_bitfield[param_1 >> 5] &= ~(1 << (param_1 & 0x1F));
}
bool dSv_zoneActor_c::is(int param_1) const {
return this->actor_bitfield[param_1 >> 5] & 1 << (param_1 & 0x1F) ? true : false;
}
void dSv_zone_c::init(int param_1) {
this->unk0 = param_1;
zone_bit.init();
zone_actor.init();
}
void dSv_restart_c::setRoom(const cXyz& i_position, short i_angle, s8 param_3) {
this->unk0 = param_3;
this->position = i_position;
this->angle = i_angle;
}
void dSv_turnRestart_c::set(const cXyz& i_position, short i_angle, s8 param_3, u32 param_4) {
this->position = i_position;
this->angle = i_angle;
this->unk18 = param_3;
this->unk12 = param_4;
}
void dSv_info_c::init(void) {
this->save_file.init();
this->memory.init();
this->dungeon_bit.init(-1);
initZone();
this->events.init();
}
void dSv_save_c::init(void) {
this->player.init();
for (int i = 0; i < 0x20; i++) {
this->area_flags[i].init();
}
for (int i = 0; i < 0x40; i++) {
this->unk_flags[i].init();
}
this->event_flags.init();
this->minigame_flags.init();
}
dSv_memory2_c* dSv_save_c::getSave2(int param_1) {
return this->unk_flags + param_1;
}
#ifdef NONMATCHING
void dSv_info_c::getSave(int) {
for (int i = 0; i < 4; i++) {
}
}
#else
asm void dSv_info_c::getSave(int) {
nofralloc
#include "func_800350BC.s"
}
#endif
#ifdef NONMATCHING
void dSv_info_c::getSave(int) {
for (int i = 0; i < 4; i++) {
}
for (int i = 0; i < 4; i++) {
}
}
#else
asm void dSv_info_c::putSave(int) {
nofralloc
#include "func_800350F0.s"
}
#endif
void dSv_info_c::initZone(void) {
for (int i = 0; i < 0x20; i++) {
this->zones[i].init(-1);
}
}
#ifdef NONMATCHING
u32 dSv_info_c::createZone(int param_1) {
for (int i = 0; i < 0x20; i++) {
if (this->zones[i].test() < 0) {
this->zones[i].init(param_1);
return i;
}
}
return -1;
}
#else
asm u32 dSv_info_c::createZone(int param_1) {
nofralloc
#include "func_800351A4.s"
}
#endif
#ifdef NONMATCHING
void dSv_info_c::onSwitch(int param_1, int param_2) {
if ((param_1 != -0x1) && (param_1 != 0xff)) {
if (param_1 < 0x80) {
this->memory.getTempFlags().onSwitch(param_1);
}
else {
if (param_1 < 0xc0) {
this->dungeon_bit.onSwitch(param_1 - 0x80);
}
else {
if (param_1 < 0xe0) {
this->zones[getZoneNo(param_2,param_1)].getZoneBit().onSwitch(param_1 - 0xC0);
}
else {
this->zones[getZoneNo(param_2,param_1)].getZoneBit().onOneSwitch(param_1 - 0xE0);
}
}
}
}
}
#else
asm void dSv_info_c::onSwitch(int param_1, int param_2) {
nofralloc
#include "func_80035200.s"
}
#endif