diff --git a/asm/sysGCU/screenMgr.s b/asm/sysGCU/screenMgr.s
deleted file mode 100644
index 988b31a5b..000000000
--- a/asm/sysGCU/screenMgr.s
+++ /dev/null
@@ -1,1866 +0,0 @@
-.include "macros.inc"
-.section .ctors, "wa" # 0x80472F00 - 0x804732C0
-lbl_constructor:
- .4byte __sinit_screenMgr_cpp
-
-.section .rodata # 0x804732E0 - 0x8049E220
-.balign 8
-.obj lbl_8049B8C8, local
- .4byte 0x00000000
- .4byte 0x00000000
- .4byte 0x00000000
-.endobj lbl_8049B8C8
-.balign 4
-.obj lbl_8049B8D4, local
- .asciz "screenMgr.cpp"
-.endobj lbl_8049B8D4
-.balign 4
-.obj lbl_8049B8E4, local
- .asciz "P2Assert"
-.endobj lbl_8049B8E4
-.balign 4
-.obj lbl_8049B8F0, local
- .asciz "dispMember[%s] Size over. \n %d max:%d"
-.endobj lbl_8049B8F0
-.balign 4
-.obj lbl_8049B918, local
- .asciz "SetScene"
-.endobj lbl_8049B918
-.balign 4
-.obj lbl_8049B924, local
- .asciz "StartScene"
-.endobj lbl_8049B924
-.balign 4
-.obj lbl_8049B930, local
- .asciz "EndScene"
-.endobj lbl_8049B930
-.balign 4
-.obj lbl_8049B93C, local
- .asciz "can't reset. owner[%s] member[%s]\n"
-.endobj lbl_8049B93C
-.balign 4
-.obj lbl_8049B960, local
- .asciz "can't startScene.\n owner[%s] member[%s]\n"
-.endobj lbl_8049B960
-.balign 4
-.obj lbl_8049B98C, local
- .asciz "screen command buffer is empty.\n"
-.endobj lbl_8049B98C
-.balign 4
-.obj lbl_8049B9B0, local # Shift-JIS
- .4byte 0x81798347
- .4byte 0x8389815B
- .4byte 0x817A8352
- .4byte 0x837D8393
- .4byte 0x8368836F
- .4byte 0x83628374
- .4byte 0x834082AA
- .4byte 0x91AB82E8
- .4byte 0x82DC82B9
- .4byte 0x82F10A00
-.endobj lbl_8049B9B0
-.balign 4
-.obj lbl_8049B9D8, local
- .asciz "Mismatch arg. current scene:%d arg:%d\n"
-.endobj lbl_8049B9D8
-.balign 4
-.obj lbl_8049BA00, local # Shift-JIS
- .4byte 0x8356815B
- .4byte 0x839382CC
- .4byte 0x90B690AC
- .4byte 0x82C98EB8
- .4byte 0x94730000
-.endobj lbl_8049BA00
-.balign 4
-.obj lbl_8049BA14, local
- .asciz "can't create New SceneInfoList.\n"
-.endobj lbl_8049BA14
-.balign 4
-.obj lbl_8049BA38, local
- .asciz "to [%s] [%s]\nfrom [%s] [%s]\n"
-.endobj lbl_8049BA38
-
-.section .data, "wa" # 0x8049E220 - 0x804EFC20
-.balign 8
-.obj govNAN___Q24Game5P2JST, local
- .float 0.0
- .float 0.0
- .float 0.0
-.endobj govNAN___Q24Game5P2JST
-.obj __vt__Q26Screen3Mgr, global
- .4byte 0
- .4byte 0
- .4byte __dt__Q26Screen3MgrFv
- .4byte setScene__Q26Screen3MgrFRQ26Screen11SetSceneArg
- .4byte startScene__Q26Screen3MgrFPQ26Screen13StartSceneArg
- .4byte endScene__Q26Screen3MgrFPQ26Screen11EndSceneArg
- .4byte reset__Q26Screen3MgrFv
- .4byte setColorBG__Q26Screen3MgrFRQ28JUtility6TColor
- .4byte setBGMode__Q26Screen3MgrFi
- .4byte doGetSceneBase__Q26Screen3MgrFl
- .4byte drawBG__Q26Screen3MgrFR8Graphics
- .4byte drawWipe__Q26Screen3MgrFR8Graphics
-.endobj __vt__Q26Screen3Mgr
-.obj __vt__Q26Screen10MgrCommand, weak
- .4byte 0
- .4byte 0
- .4byte __dt__Q26Screen10MgrCommandFv
- .4byte getChildCount__5CNodeFv
-.endobj __vt__Q26Screen10MgrCommand
-.obj __vt__Q26Screen13SceneInfoList, weak
- .4byte 0
- .4byte 0
- .4byte __dt__Q26Screen13SceneInfoListFv
- .4byte getChildCount__5CNodeFv
-.endobj __vt__Q26Screen13SceneInfoList
-
-.section .sbss # 0x80514D80 - 0x80516360
-.balign 8
-.obj gu32NAN___Q24Game5P2JST, local
- .skip 0x4
-.endobj gu32NAN___Q24Game5P2JST
-.obj gfNAN___Q24Game5P2JST, local
- .skip 0x4
-.endobj gfNAN___Q24Game5P2JST
-.obj sScreenMgr__Q26Screen3Mgr, global
- .skip 0x4
-.endobj sScreenMgr__Q26Screen3Mgr
-
-.section .sdata2, "a" # 0x80516360 - 0x80520E40
-.balign 8
-.obj lbl_80520B80, local
- .asciz ""
-.endobj lbl_80520B80
-
-.section .text, "ax" # 0x800056C0 - 0x80472F00
-.fn __ct__Q26Screen13SceneInfoListFv, global
-/* 80452300 0044F240 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80452304 0044F244 7C 08 02 A6 */ mflr r0
-/* 80452308 0044F248 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8045230C 0044F24C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80452310 0044F250 7C 7F 1B 78 */ mr r31, r3
-/* 80452314 0044F254 4B FB F0 7D */ bl __ct__5CNodeFv
-/* 80452318 0044F258 3C 60 80 4F */ lis r3, __vt__Q26Screen13SceneInfoList@ha
-/* 8045231C 0044F25C 38 00 00 00 */ li r0, 0
-/* 80452320 0044F260 38 83 D7 44 */ addi r4, r3, __vt__Q26Screen13SceneInfoList@l
-/* 80452324 0044F264 38 7F 00 1C */ addi r3, r31, 0x1c
-/* 80452328 0044F268 90 9F 00 00 */ stw r4, 0(r31)
-/* 8045232C 0044F26C 38 80 00 CD */ li r4, 0xcd
-/* 80452330 0044F270 38 A0 04 00 */ li r5, 0x400
-/* 80452334 0044F274 90 1F 00 18 */ stw r0, 0x18(r31)
-/* 80452338 0044F278 4B BB 2D 7D */ bl memset
-/* 8045233C 0044F27C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80452340 0044F280 7F E3 FB 78 */ mr r3, r31
-/* 80452344 0044F284 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80452348 0044F288 7C 08 03 A6 */ mtlr r0
-/* 8045234C 0044F28C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80452350 0044F290 4E 80 00 20 */ blr
-.endfn __ct__Q26Screen13SceneInfoListFv
-
-.fn __ct__Q26Screen3MgrFv, global
-/* 80452354 0044F294 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80452358 0044F298 7C 08 02 A6 */ mflr r0
-/* 8045235C 0044F29C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80452360 0044F2A0 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80452364 0044F2A4 7C 7F 1B 78 */ mr r31, r3
-/* 80452368 0044F2A8 7F E0 FB 78 */ mr r0, r31
-/* 8045236C 0044F2AC 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80452370 0044F2B0 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80452374 0044F2B4 7C 1D 03 78 */ mr r29, r0
-/* 80452378 0044F2B8 4B BC AC 55 */ bl __ct__11JKRDisposerFv
-/* 8045237C 0044F2BC 3C 80 80 4F */ lis r4, __vt__Q26Screen7MgrBase@ha
-/* 80452380 0044F2C0 3C 60 80 4F */ lis r3, __vt__Q26Screen3Mgr@ha
-/* 80452384 0044F2C4 38 84 A9 4C */ addi r4, r4, __vt__Q26Screen7MgrBase@l
-/* 80452388 0044F2C8 38 00 00 00 */ li r0, 0
-/* 8045238C 0044F2CC 90 9D 00 00 */ stw r4, 0(r29)
-/* 80452390 0044F2D0 38 83 D7 04 */ addi r4, r3, __vt__Q26Screen3Mgr@l
-/* 80452394 0044F2D4 38 7F 00 2C */ addi r3, r31, 0x2c
-/* 80452398 0044F2D8 90 9F 00 00 */ stw r4, 0(r31)
-/* 8045239C 0044F2DC 98 1F 00 18 */ stb r0, 0x18(r31)
-/* 804523A0 0044F2E0 98 1F 00 19 */ stb r0, 0x19(r31)
-/* 804523A4 0044F2E4 98 1F 00 1A */ stb r0, 0x1a(r31)
-/* 804523A8 0044F2E8 98 1F 00 1B */ stb r0, 0x1b(r31)
-/* 804523AC 0044F2EC 90 1F 00 1C */ stw r0, 0x1c(r31)
-/* 804523B0 0044F2F0 90 1F 00 20 */ stw r0, 0x20(r31)
-/* 804523B4 0044F2F4 4B FB EF DD */ bl __ct__5CNodeFv
-/* 804523B8 0044F2F8 38 7F 00 44 */ addi r3, r31, 0x44
-/* 804523BC 0044F2FC 4B FB EF D5 */ bl __ct__5CNodeFv
-/* 804523C0 0044F300 38 00 00 00 */ li r0, 0
-/* 804523C4 0044F304 38 7F 00 60 */ addi r3, r31, 0x60
-/* 804523C8 0044F308 90 1F 00 5C */ stw r0, 0x5c(r31)
-/* 804523CC 0044F30C 4B FB EF C5 */ bl __ct__5CNodeFv
-/* 804523D0 0044F310 38 7F 00 78 */ addi r3, r31, 0x78
-/* 804523D4 0044F314 4B FB EF BD */ bl __ct__5CNodeFv
-/* 804523D8 0044F318 38 00 00 00 */ li r0, 0
-/* 804523DC 0044F31C 3B A0 00 00 */ li r29, 0
-/* 804523E0 0044F320 98 1F 00 18 */ stb r0, 0x18(r31)
-/* 804523E4 0044F324 98 1F 00 19 */ stb r0, 0x19(r31)
-/* 804523E8 0044F328 98 1F 00 1A */ stb r0, 0x1a(r31)
-/* 804523EC 0044F32C 98 1F 00 1B */ stb r0, 0x1b(r31)
-/* 804523F0 0044F330 90 1F 00 3C */ stw r0, 0x3c(r31)
-/* 804523F4 0044F334 90 1F 00 38 */ stw r0, 0x38(r31)
-/* 804523F8 0044F338 90 1F 00 34 */ stw r0, 0x34(r31)
-/* 804523FC 0044F33C 90 1F 00 30 */ stw r0, 0x30(r31)
-/* 80452400 0044F340 90 1F 00 54 */ stw r0, 0x54(r31)
-/* 80452404 0044F344 90 1F 00 50 */ stw r0, 0x50(r31)
-/* 80452408 0044F348 90 1F 00 4C */ stw r0, 0x4c(r31)
-/* 8045240C 0044F34C 90 1F 00 48 */ stw r0, 0x48(r31)
-.L_80452410:
-/* 80452410 0044F350 38 60 04 7C */ li r3, 0x47c
-/* 80452414 0044F354 4B BD 1A 91 */ bl __nw__FUl
-/* 80452418 0044F358 7C 7E 1B 79 */ or. r30, r3, r3
-/* 8045241C 0044F35C 41 82 00 60 */ beq .L_8045247C
-/* 80452420 0044F360 3C 60 80 4F */ lis r3, __vt__5CNode@ha
-/* 80452424 0044F364 38 C0 00 00 */ li r6, 0
-/* 80452428 0044F368 38 03 B5 28 */ addi r0, r3, __vt__5CNode@l
-/* 8045242C 0044F36C 38 A2 28 20 */ addi r5, r2, lbl_80520B80@sda21
-/* 80452430 0044F370 90 1E 00 00 */ stw r0, 0(r30)
-/* 80452434 0044F374 3C 60 80 4F */ lis r3, __vt__Q26Screen10MgrCommand@ha
-/* 80452438 0044F378 38 83 D7 34 */ addi r4, r3, __vt__Q26Screen10MgrCommand@l
-/* 8045243C 0044F37C 38 00 FF FF */ li r0, -1
-/* 80452440 0044F380 90 DE 00 10 */ stw r6, 0x10(r30)
-/* 80452444 0044F384 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80452448 0044F388 90 DE 00 0C */ stw r6, 0xc(r30)
-/* 8045244C 0044F38C 90 DE 00 08 */ stw r6, 8(r30)
-/* 80452450 0044F390 90 DE 00 04 */ stw r6, 4(r30)
-/* 80452454 0044F394 90 BE 00 14 */ stw r5, 0x14(r30)
-/* 80452458 0044F398 90 9E 00 00 */ stw r4, 0(r30)
-/* 8045245C 0044F39C 90 1E 00 18 */ stw r0, 0x18(r30)
-/* 80452460 0044F3A0 90 DE 00 1C */ stw r6, 0x1c(r30)
-/* 80452464 0044F3A4 90 DE 00 60 */ stw r6, 0x60(r30)
-/* 80452468 0044F3A8 4B C9 D6 C9 */ bl OSInitMutex
-/* 8045246C 0044F3AC 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80452470 0044F3B0 4B C9 D6 F9 */ bl OSLockMutex
-/* 80452474 0044F3B4 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80452478 0044F3B8 4B C9 D7 CD */ bl OSUnlockMutex
-.L_8045247C:
-/* 8045247C 0044F3BC 7F C4 F3 78 */ mr r4, r30
-/* 80452480 0044F3C0 38 7F 00 44 */ addi r3, r31, 0x44
-/* 80452484 0044F3C4 4B FB EF 85 */ bl add__5CNodeFP5CNode
-/* 80452488 0044F3C8 3B BD 00 01 */ addi r29, r29, 1
-/* 8045248C 0044F3CC 28 1D 00 0A */ cmplwi r29, 0xa
-/* 80452490 0044F3D0 41 80 FF 80 */ blt .L_80452410
-/* 80452494 0044F3D4 38 00 00 00 */ li r0, 0
-/* 80452498 0044F3D8 38 60 0C 64 */ li r3, 0xc64
-/* 8045249C 0044F3DC 90 1F 00 70 */ stw r0, 0x70(r31)
-/* 804524A0 0044F3E0 90 1F 00 6C */ stw r0, 0x6c(r31)
-/* 804524A4 0044F3E4 90 1F 00 68 */ stw r0, 0x68(r31)
-/* 804524A8 0044F3E8 90 1F 00 64 */ stw r0, 0x64(r31)
-/* 804524AC 0044F3EC 90 1F 00 88 */ stw r0, 0x88(r31)
-/* 804524B0 0044F3F0 90 1F 00 84 */ stw r0, 0x84(r31)
-/* 804524B4 0044F3F4 90 1F 00 80 */ stw r0, 0x80(r31)
-/* 804524B8 0044F3F8 90 1F 00 7C */ stw r0, 0x7c(r31)
-/* 804524BC 0044F3FC 4B BD 1A F1 */ bl __nwa__FUl
-/* 804524C0 0044F400 3C 80 80 45 */ lis r4, __ct__Q26Screen13SceneInfoListFv@ha
-/* 804524C4 0044F404 3C A0 80 45 */ lis r5, __dt__Q26Screen13SceneInfoListFv@ha
-/* 804524C8 0044F408 38 84 23 00 */ addi r4, r4, __ct__Q26Screen13SceneInfoListFv@l
-/* 804524CC 0044F40C 38 C0 04 1C */ li r6, 0x41c
-/* 804524D0 0044F410 38 A5 25 20 */ addi r5, r5, __dt__Q26Screen13SceneInfoListFv@l
-/* 804524D4 0044F414 38 E0 00 03 */ li r7, 3
-/* 804524D8 0044F418 4B C6 F5 19 */ bl __construct_new_array
-/* 804524DC 0044F41C 3B A0 00 00 */ li r29, 0
-/* 804524E0 0044F420 7C 7E 1B 78 */ mr r30, r3
-.L_804524E4:
-/* 804524E4 0044F424 7F C4 F3 78 */ mr r4, r30
-/* 804524E8 0044F428 38 7F 00 78 */ addi r3, r31, 0x78
-/* 804524EC 0044F42C 4B FB EF 1D */ bl add__5CNodeFP5CNode
-/* 804524F0 0044F430 3B BD 00 01 */ addi r29, r29, 1
-/* 804524F4 0044F434 3B DE 04 1C */ addi r30, r30, 0x41c
-/* 804524F8 0044F438 28 1D 00 03 */ cmplwi r29, 3
-/* 804524FC 0044F43C 41 80 FF E8 */ blt .L_804524E4
-/* 80452500 0044F440 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80452504 0044F444 7F E3 FB 78 */ mr r3, r31
-/* 80452508 0044F448 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8045250C 0044F44C 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80452510 0044F450 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80452514 0044F454 7C 08 03 A6 */ mtlr r0
-/* 80452518 0044F458 38 21 00 20 */ addi r1, r1, 0x20
-/* 8045251C 0044F45C 4E 80 00 20 */ blr
-.endfn __ct__Q26Screen3MgrFv
-
-.fn __dt__Q26Screen13SceneInfoListFv, weak
-/* 80452520 0044F460 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80452524 0044F464 7C 08 02 A6 */ mflr r0
-/* 80452528 0044F468 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8045252C 0044F46C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80452530 0044F470 7C 9F 23 78 */ mr r31, r4
-/* 80452534 0044F474 93 C1 00 08 */ stw r30, 8(r1)
-/* 80452538 0044F478 7C 7E 1B 79 */ or. r30, r3, r3
-/* 8045253C 0044F47C 41 82 00 28 */ beq .L_80452564
-/* 80452540 0044F480 3C A0 80 4F */ lis r5, __vt__Q26Screen13SceneInfoList@ha
-/* 80452544 0044F484 38 80 00 00 */ li r4, 0
-/* 80452548 0044F488 38 05 D7 44 */ addi r0, r5, __vt__Q26Screen13SceneInfoList@l
-/* 8045254C 0044F48C 90 1E 00 00 */ stw r0, 0(r30)
-/* 80452550 0044F490 4B FB F0 39 */ bl __dt__5CNodeFv
-/* 80452554 0044F494 7F E0 07 35 */ extsh. r0, r31
-/* 80452558 0044F498 40 81 00 0C */ ble .L_80452564
-/* 8045255C 0044F49C 7F C3 F3 78 */ mr r3, r30
-/* 80452560 0044F4A0 4B BD 1B 55 */ bl __dl__FPv
-.L_80452564:
-/* 80452564 0044F4A4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80452568 0044F4A8 7F C3 F3 78 */ mr r3, r30
-/* 8045256C 0044F4AC 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80452570 0044F4B0 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80452574 0044F4B4 7C 08 03 A6 */ mtlr r0
-/* 80452578 0044F4B8 38 21 00 10 */ addi r1, r1, 0x10
-/* 8045257C 0044F4BC 4E 80 00 20 */ blr
-.endfn __dt__Q26Screen13SceneInfoListFv
-
-.fn init__Q26Screen3MgrFv, global
-/* 80452580 0044F4C0 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80452584 0044F4C4 7C 08 02 A6 */ mflr r0
-/* 80452588 0044F4C8 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8045258C 0044F4CC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80452590 0044F4D0 7C 7F 1B 78 */ mr r31, r3
-/* 80452594 0044F4D4 80 03 00 5C */ lwz r0, 0x5c(r3)
-/* 80452598 0044F4D8 28 00 00 00 */ cmplwi r0, 0
-/* 8045259C 0044F4DC 40 82 00 40 */ bne .L_804525DC
-/* 804525A0 0044F4E0 80 8D 88 2C */ lwz r4, sCurrentHeap__7JKRHeap@sda21(r13)
-/* 804525A4 0044F4E4 38 60 08 80 */ li r3, 0x880
-/* 804525A8 0044F4E8 38 A0 00 01 */ li r5, 1
-/* 804525AC 0044F4EC 4B BD 27 C5 */ bl create__12JKRSolidHeapFUlP7JKRHeapb
-/* 804525B0 0044F4F0 90 7F 00 5C */ stw r3, 0x5c(r31)
-/* 804525B4 0044F4F4 80 1F 00 5C */ lwz r0, 0x5c(r31)
-/* 804525B8 0044F4F8 28 00 00 00 */ cmplwi r0, 0
-/* 804525BC 0044F4FC 40 82 00 20 */ bne .L_804525DC
-/* 804525C0 0044F500 3C 60 80 4A */ lis r3, lbl_8049B8D4@ha
-/* 804525C4 0044F504 3C A0 80 4A */ lis r5, lbl_8049B8E4@ha
-/* 804525C8 0044F508 38 63 B8 D4 */ addi r3, r3, lbl_8049B8D4@l
-/* 804525CC 0044F50C 38 80 01 95 */ li r4, 0x195
-/* 804525D0 0044F510 38 A5 B8 E4 */ addi r5, r5, lbl_8049B8E4@l
-/* 804525D4 0044F514 4C C6 31 82 */ crclr 6
-/* 804525D8 0044F518 4B BD 80 69 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_804525DC:
-/* 804525DC 0044F51C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 804525E0 0044F520 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 804525E4 0044F524 7C 08 03 A6 */ mtlr r0
-/* 804525E8 0044F528 38 21 00 10 */ addi r1, r1, 0x10
-/* 804525EC 0044F52C 4E 80 00 20 */ blr
-.endfn init__Q26Screen3MgrFv
-
-.fn reset__Q26Screen3MgrFv, global
-/* 804525F0 0044F530 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 804525F4 0044F534 7C 08 02 A6 */ mflr r0
-/* 804525F8 0044F538 90 01 00 34 */ stw r0, 0x34(r1)
-/* 804525FC 0044F53C 93 E1 00 2C */ stw r31, 0x2c(r1)
-/* 80452600 0044F540 3B E0 00 00 */ li r31, 0
-/* 80452604 0044F544 93 C1 00 28 */ stw r30, 0x28(r1)
-/* 80452608 0044F548 7C 7E 1B 78 */ mr r30, r3
-/* 8045260C 0044F54C 48 00 11 51 */ bl isCurrentSceneLoading__Q26Screen3MgrFv
-/* 80452610 0044F550 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80452614 0044F554 41 82 00 6C */ beq .L_80452680
-/* 80452618 0044F558 80 7E 00 1C */ lwz r3, 0x1c(r30)
-/* 8045261C 0044F55C 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452620 0044F560 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 80452624 0044F564 7D 89 03 A6 */ mtctr r12
-/* 80452628 0044F568 4E 80 04 21 */ bctrl
-/* 8045262C 0044F56C 7C 64 1B 78 */ mr r4, r3
-/* 80452630 0044F570 38 A1 00 14 */ addi r5, r1, 0x14
-/* 80452634 0044F574 38 60 00 00 */ li r3, 0
-/* 80452638 0044F578 4B EB 05 95 */ bl TagToName__Q22og6ScreenFUxPc
-/* 8045263C 0044F57C 80 7E 00 1C */ lwz r3, 0x1c(r30)
-/* 80452640 0044F580 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452644 0044F584 81 8C 00 10 */ lwz r12, 0x10(r12)
-/* 80452648 0044F588 7D 89 03 A6 */ mtctr r12
-/* 8045264C 0044F58C 4E 80 04 21 */ bctrl
-/* 80452650 0044F590 38 A1 00 08 */ addi r5, r1, 8
-/* 80452654 0044F594 4B EB 05 79 */ bl TagToName__Q22og6ScreenFUxPc
-/* 80452658 0044F598 3C 60 80 4A */ lis r3, lbl_8049B8D4@ha
-/* 8045265C 0044F59C 3C 80 80 4A */ lis r4, lbl_8049B93C@ha
-/* 80452660 0044F5A0 38 A4 B9 3C */ addi r5, r4, lbl_8049B93C@l
-/* 80452664 0044F5A4 38 C1 00 14 */ addi r6, r1, 0x14
-/* 80452668 0044F5A8 38 63 B8 D4 */ addi r3, r3, lbl_8049B8D4@l
-/* 8045266C 0044F5AC 38 E1 00 08 */ addi r7, r1, 8
-/* 80452670 0044F5B0 38 80 01 AB */ li r4, 0x1ab
-/* 80452674 0044F5B4 4C C6 31 82 */ crclr 6
-/* 80452678 0044F5B8 4B BD 7F C9 */ bl panic_f__12JUTExceptionFPCciPCce
-/* 8045267C 0044F5BC 48 00 00 54 */ b .L_804526D0
-.L_80452680:
-/* 80452680 0044F5C0 80 6D 9B B0 */ lwz r3, gResMgr2D@sda21(r13)
-/* 80452684 0044F5C4 4B FE 15 09 */ bl destroyAll__Q28Resource3MgrFv
-/* 80452688 0044F5C8 38 00 00 00 */ li r0, 0
-/* 8045268C 0044F5CC 98 1E 00 18 */ stb r0, 0x18(r30)
-/* 80452690 0044F5D0 98 1E 00 19 */ stb r0, 0x19(r30)
-/* 80452694 0044F5D4 98 1E 00 1A */ stb r0, 0x1a(r30)
-/* 80452698 0044F5D8 98 1E 00 1B */ stb r0, 0x1b(r30)
-/* 8045269C 0044F5DC 90 1E 00 1C */ stw r0, 0x1c(r30)
-/* 804526A0 0044F5E0 48 00 00 0C */ b .L_804526AC
-.L_804526A4:
-/* 804526A4 0044F5E4 7F C3 F3 78 */ mr r3, r30
-/* 804526A8 0044F5E8 48 00 04 69 */ bl releaseCommand__Q26Screen3MgrFPQ26Screen10MgrCommand
-.L_804526AC:
-/* 804526AC 0044F5EC 7F C3 F3 78 */ mr r3, r30
-/* 804526B0 0044F5F0 48 00 03 B1 */ bl getCurrentCommand__Q26Screen3MgrFv
-/* 804526B4 0044F5F4 7C 64 1B 79 */ or. r4, r3, r3
-/* 804526B8 0044F5F8 40 82 FF EC */ bne .L_804526A4
-/* 804526BC 0044F5FC 7F C3 F3 78 */ mr r3, r30
-/* 804526C0 0044F600 48 00 08 41 */ bl clearBackupSceneInfo__Q26Screen3MgrFv
-/* 804526C4 0044F604 80 7E 00 5C */ lwz r3, 0x5c(r30)
-/* 804526C8 0044F608 4B BD 10 69 */ bl freeAll__7JKRHeapFv
-/* 804526CC 0044F60C 3B E0 00 01 */ li r31, 1
-.L_804526D0:
-/* 804526D0 0044F610 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 804526D4 0044F614 7F E3 FB 78 */ mr r3, r31
-/* 804526D8 0044F618 83 E1 00 2C */ lwz r31, 0x2c(r1)
-/* 804526DC 0044F61C 83 C1 00 28 */ lwz r30, 0x28(r1)
-/* 804526E0 0044F620 7C 08 03 A6 */ mtlr r0
-/* 804526E4 0044F624 38 21 00 30 */ addi r1, r1, 0x30
-/* 804526E8 0044F628 4E 80 00 20 */ blr
-.endfn reset__Q26Screen3MgrFv
-
-.fn startScene__Q26Screen3MgrFPQ26Screen13StartSceneArg, global
-/* 804526EC 0044F62C 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 804526F0 0044F630 7C 08 02 A6 */ mflr r0
-/* 804526F4 0044F634 3C A0 80 4A */ lis r5, lbl_8049B8C8@ha
-/* 804526F8 0044F638 90 01 00 44 */ stw r0, 0x44(r1)
-/* 804526FC 0044F63C BF 61 00 2C */ stmw r27, 0x2c(r1)
-/* 80452700 0044F640 7C 7B 1B 78 */ mr r27, r3
-/* 80452704 0044F644 7C 9C 23 78 */ mr r28, r4
-/* 80452708 0044F648 3B C5 B8 C8 */ addi r30, r5, lbl_8049B8C8@l
-/* 8045270C 0044F64C 3B A0 00 01 */ li r29, 1
-/* 80452710 0044F650 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 80452714 0044F654 28 03 00 00 */ cmplwi r3, 0
-/* 80452718 0044F658 41 82 00 14 */ beq .L_8045272C
-/* 8045271C 0044F65C 41 82 01 40 */ beq .L_8045285C
-/* 80452720 0044F660 4B FF F7 29 */ bl confirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
-/* 80452724 0044F664 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80452728 0044F668 41 82 01 34 */ beq .L_8045285C
-.L_8045272C:
-/* 8045272C 0044F66C 80 1B 00 3C */ lwz r0, 0x3c(r27)
-/* 80452730 0044F670 3B E0 00 00 */ li r31, 0
-/* 80452734 0044F674 28 00 00 00 */ cmplwi r0, 0
-/* 80452738 0044F678 41 82 00 0C */ beq .L_80452744
-/* 8045273C 0044F67C 3B E0 00 01 */ li r31, 1
-/* 80452740 0044F680 48 00 00 2C */ b .L_8045276C
-.L_80452744:
-/* 80452744 0044F684 80 7B 00 1C */ lwz r3, 0x1c(r27)
-/* 80452748 0044F688 28 03 00 00 */ cmplwi r3, 0
-/* 8045274C 0044F68C 41 82 00 1C */ beq .L_80452768
-/* 80452750 0044F690 7F 84 E3 78 */ mr r4, r28
-/* 80452754 0044F694 4B FF F4 C5 */ bl start__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
-/* 80452758 0044F698 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 8045275C 0044F69C 40 82 00 10 */ bne .L_8045276C
-/* 80452760 0044F6A0 3B E0 00 01 */ li r31, 1
-/* 80452764 0044F6A4 48 00 00 08 */ b .L_8045276C
-.L_80452768:
-/* 80452768 0044F6A8 3B A0 00 00 */ li r29, 0
-.L_8045276C:
-/* 8045276C 0044F6AC 57 E0 06 3F */ clrlwi. r0, r31, 0x18
-/* 80452770 0044F6B0 41 82 01 4C */ beq .L_804528BC
-/* 80452774 0044F6B4 7F 63 DB 78 */ mr r3, r27
-/* 80452778 0044F6B8 48 00 02 F1 */ bl getNewCommand__Q26Screen3MgrFv
-/* 8045277C 0044F6BC 7C 7F 1B 79 */ or. r31, r3, r3
-/* 80452780 0044F6C0 40 82 00 0C */ bne .L_8045278C
-/* 80452784 0044F6C4 3B A0 00 00 */ li r29, 0
-/* 80452788 0044F6C8 48 00 01 34 */ b .L_804528BC
-.L_8045278C:
-/* 8045278C 0044F6CC 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452790 0044F6D0 4B C9 D3 D9 */ bl OSLockMutex
-/* 80452794 0044F6D4 38 7E 00 5C */ addi r3, r30, 0x5c
-/* 80452798 0044F6D8 38 00 00 01 */ li r0, 1
-/* 8045279C 0044F6DC 90 7F 00 14 */ stw r3, 0x14(r31)
-/* 804527A0 0044F6E0 38 7F 04 64 */ addi r3, r31, 0x464
-/* 804527A4 0044F6E4 90 1F 00 18 */ stw r0, 0x18(r31)
-/* 804527A8 0044F6E8 4B C9 D3 C1 */ bl OSLockMutex
-/* 804527AC 0044F6EC 28 1C 00 00 */ cmplwi r28, 0
-/* 804527B0 0044F6F0 41 82 00 64 */ beq .L_80452814
-/* 804527B4 0044F6F4 7F 83 E3 78 */ mr r3, r28
-/* 804527B8 0044F6F8 81 9C 00 00 */ lwz r12, 0(r28)
-/* 804527BC 0044F6FC 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 804527C0 0044F700 7D 89 03 A6 */ mtctr r12
-/* 804527C4 0044F704 4E 80 04 21 */ bctrl
-/* 804527C8 0044F708 28 03 00 40 */ cmplwi r3, 0x40
-/* 804527CC 0044F70C 40 81 00 18 */ ble .L_804527E4
-/* 804527D0 0044F710 38 7E 00 0C */ addi r3, r30, 0xc
-/* 804527D4 0044F714 38 BE 00 1C */ addi r5, r30, 0x1c
-/* 804527D8 0044F718 38 80 01 02 */ li r4, 0x102
-/* 804527DC 0044F71C 4C C6 31 82 */ crclr 6
-/* 804527E0 0044F720 4B BD 7E 61 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_804527E4:
-/* 804527E4 0044F724 38 1F 00 20 */ addi r0, r31, 0x20
-/* 804527E8 0044F728 7F 83 E3 78 */ mr r3, r28
-/* 804527EC 0044F72C 90 1F 00 1C */ stw r0, 0x1c(r31)
-/* 804527F0 0044F730 81 9C 00 00 */ lwz r12, 0(r28)
-/* 804527F4 0044F734 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 804527F8 0044F738 7D 89 03 A6 */ mtctr r12
-/* 804527FC 0044F73C 4E 80 04 21 */ bctrl
-/* 80452800 0044F740 7C 65 1B 78 */ mr r5, r3
-/* 80452804 0044F744 7F 84 E3 78 */ mr r4, r28
-/* 80452808 0044F748 38 7F 00 20 */ addi r3, r31, 0x20
-/* 8045280C 0044F74C 4B BB 29 91 */ bl memcpy
-/* 80452810 0044F750 48 00 00 38 */ b .L_80452848
-.L_80452814:
-/* 80452814 0044F754 80 1F 00 1C */ lwz r0, 0x1c(r31)
-/* 80452818 0044F758 28 00 00 00 */ cmplwi r0, 0
-/* 8045281C 0044F75C 41 82 00 24 */ beq .L_80452840
-/* 80452820 0044F760 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452824 0044F764 4B C9 D3 45 */ bl OSLockMutex
-/* 80452828 0044F768 38 7F 00 20 */ addi r3, r31, 0x20
-/* 8045282C 0044F76C 38 80 00 CD */ li r4, 0xcd
-/* 80452830 0044F770 38 A0 00 40 */ li r5, 0x40
-/* 80452834 0044F774 4B BB 28 81 */ bl memset
-/* 80452838 0044F778 38 7F 04 64 */ addi r3, r31, 0x464
-/* 8045283C 0044F77C 4B C9 D4 09 */ bl OSUnlockMutex
-.L_80452840:
-/* 80452840 0044F780 38 00 00 00 */ li r0, 0
-/* 80452844 0044F784 90 1F 00 1C */ stw r0, 0x1c(r31)
-.L_80452848:
-/* 80452848 0044F788 38 7F 04 64 */ addi r3, r31, 0x464
-/* 8045284C 0044F78C 4B C9 D3 F9 */ bl OSUnlockMutex
-/* 80452850 0044F790 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452854 0044F794 4B C9 D3 F1 */ bl OSUnlockMutex
-/* 80452858 0044F798 48 00 00 64 */ b .L_804528BC
-.L_8045285C:
-/* 8045285C 0044F79C 80 7B 00 1C */ lwz r3, 0x1c(r27)
-/* 80452860 0044F7A0 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452864 0044F7A4 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 80452868 0044F7A8 7D 89 03 A6 */ mtctr r12
-/* 8045286C 0044F7AC 4E 80 04 21 */ bctrl
-/* 80452870 0044F7B0 7C 64 1B 78 */ mr r4, r3
-/* 80452874 0044F7B4 38 A1 00 14 */ addi r5, r1, 0x14
-/* 80452878 0044F7B8 38 60 00 00 */ li r3, 0
-/* 8045287C 0044F7BC 4B EB 03 51 */ bl TagToName__Q22og6ScreenFUxPc
-/* 80452880 0044F7C0 80 7B 00 1C */ lwz r3, 0x1c(r27)
-/* 80452884 0044F7C4 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452888 0044F7C8 81 8C 00 10 */ lwz r12, 0x10(r12)
-/* 8045288C 0044F7CC 7D 89 03 A6 */ mtctr r12
-/* 80452890 0044F7D0 4E 80 04 21 */ bctrl
-/* 80452894 0044F7D4 38 A1 00 08 */ addi r5, r1, 8
-/* 80452898 0044F7D8 4B EB 03 35 */ bl TagToName__Q22og6ScreenFUxPc
-/* 8045289C 0044F7DC 38 7E 00 0C */ addi r3, r30, 0xc
-/* 804528A0 0044F7E0 38 BE 00 98 */ addi r5, r30, 0x98
-/* 804528A4 0044F7E4 38 C1 00 14 */ addi r6, r1, 0x14
-/* 804528A8 0044F7E8 38 E1 00 08 */ addi r7, r1, 8
-/* 804528AC 0044F7EC 38 80 02 12 */ li r4, 0x212
-/* 804528B0 0044F7F0 4C C6 31 82 */ crclr 6
-/* 804528B4 0044F7F4 4B BD 7D 8D */ bl panic_f__12JUTExceptionFPCciPCce
-/* 804528B8 0044F7F8 3B A0 00 00 */ li r29, 0
-.L_804528BC:
-/* 804528BC 0044F7FC 7F A3 EB 78 */ mr r3, r29
-/* 804528C0 0044F800 BB 61 00 2C */ lmw r27, 0x2c(r1)
-/* 804528C4 0044F804 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 804528C8 0044F808 7C 08 03 A6 */ mtlr r0
-/* 804528CC 0044F80C 38 21 00 40 */ addi r1, r1, 0x40
-/* 804528D0 0044F810 4E 80 00 20 */ blr
-.endfn startScene__Q26Screen3MgrFPQ26Screen13StartSceneArg
-
-.fn endScene__Q26Screen3MgrFPQ26Screen11EndSceneArg, global
-/* 804528D4 0044F814 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 804528D8 0044F818 7C 08 02 A6 */ mflr r0
-/* 804528DC 0044F81C 3C A0 80 4A */ lis r5, lbl_8049B8C8@ha
-/* 804528E0 0044F820 90 01 00 24 */ stw r0, 0x24(r1)
-/* 804528E4 0044F824 BF 61 00 0C */ stmw r27, 0xc(r1)
-/* 804528E8 0044F828 7C 7B 1B 78 */ mr r27, r3
-/* 804528EC 0044F82C 7C 9C 23 78 */ mr r28, r4
-/* 804528F0 0044F830 3B C5 B8 C8 */ addi r30, r5, lbl_8049B8C8@l
-/* 804528F4 0044F834 3B A0 00 01 */ li r29, 1
-/* 804528F8 0044F838 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 804528FC 0044F83C 28 03 00 00 */ cmplwi r3, 0
-/* 80452900 0044F840 41 82 00 14 */ beq .L_80452914
-/* 80452904 0044F844 41 82 01 40 */ beq .L_80452A44
-/* 80452908 0044F848 4B FF F5 B9 */ bl confirmEndScene__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
-/* 8045290C 0044F84C 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80452910 0044F850 41 82 01 34 */ beq .L_80452A44
-.L_80452914:
-/* 80452914 0044F854 80 1B 00 3C */ lwz r0, 0x3c(r27)
-/* 80452918 0044F858 3B E0 00 00 */ li r31, 0
-/* 8045291C 0044F85C 28 00 00 00 */ cmplwi r0, 0
-/* 80452920 0044F860 41 82 00 0C */ beq .L_8045292C
-/* 80452924 0044F864 3B E0 00 01 */ li r31, 1
-/* 80452928 0044F868 48 00 00 2C */ b .L_80452954
-.L_8045292C:
-/* 8045292C 0044F86C 80 7B 00 1C */ lwz r3, 0x1c(r27)
-/* 80452930 0044F870 28 03 00 00 */ cmplwi r3, 0
-/* 80452934 0044F874 41 82 00 1C */ beq .L_80452950
-/* 80452938 0044F878 7F 84 E3 78 */ mr r4, r28
-/* 8045293C 0044F87C 4B FF F3 55 */ bl end__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
-/* 80452940 0044F880 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80452944 0044F884 40 82 00 10 */ bne .L_80452954
-/* 80452948 0044F888 3B E0 00 01 */ li r31, 1
-/* 8045294C 0044F88C 48 00 00 08 */ b .L_80452954
-.L_80452950:
-/* 80452950 0044F890 3B A0 00 00 */ li r29, 0
-.L_80452954:
-/* 80452954 0044F894 57 E0 06 3F */ clrlwi. r0, r31, 0x18
-/* 80452958 0044F898 41 82 00 F0 */ beq .L_80452A48
-/* 8045295C 0044F89C 7F 63 DB 78 */ mr r3, r27
-/* 80452960 0044F8A0 48 00 01 09 */ bl getNewCommand__Q26Screen3MgrFv
-/* 80452964 0044F8A4 7C 7F 1B 79 */ or. r31, r3, r3
-/* 80452968 0044F8A8 40 82 00 0C */ bne .L_80452974
-/* 8045296C 0044F8AC 3B A0 00 00 */ li r29, 0
-/* 80452970 0044F8B0 48 00 00 D8 */ b .L_80452A48
-.L_80452974:
-/* 80452974 0044F8B4 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452978 0044F8B8 4B C9 D1 F1 */ bl OSLockMutex
-/* 8045297C 0044F8BC 38 7E 00 68 */ addi r3, r30, 0x68
-/* 80452980 0044F8C0 38 00 00 02 */ li r0, 2
-/* 80452984 0044F8C4 90 7F 00 14 */ stw r3, 0x14(r31)
-/* 80452988 0044F8C8 38 7F 04 64 */ addi r3, r31, 0x464
-/* 8045298C 0044F8CC 90 1F 00 18 */ stw r0, 0x18(r31)
-/* 80452990 0044F8D0 4B C9 D1 D9 */ bl OSLockMutex
-/* 80452994 0044F8D4 28 1C 00 00 */ cmplwi r28, 0
-/* 80452998 0044F8D8 41 82 00 64 */ beq .L_804529FC
-/* 8045299C 0044F8DC 7F 83 E3 78 */ mr r3, r28
-/* 804529A0 0044F8E0 81 9C 00 00 */ lwz r12, 0(r28)
-/* 804529A4 0044F8E4 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 804529A8 0044F8E8 7D 89 03 A6 */ mtctr r12
-/* 804529AC 0044F8EC 4E 80 04 21 */ bctrl
-/* 804529B0 0044F8F0 28 03 00 40 */ cmplwi r3, 0x40
-/* 804529B4 0044F8F4 40 81 00 18 */ ble .L_804529CC
-/* 804529B8 0044F8F8 38 7E 00 0C */ addi r3, r30, 0xc
-/* 804529BC 0044F8FC 38 BE 00 1C */ addi r5, r30, 0x1c
-/* 804529C0 0044F900 38 80 01 02 */ li r4, 0x102
-/* 804529C4 0044F904 4C C6 31 82 */ crclr 6
-/* 804529C8 0044F908 4B BD 7C 79 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_804529CC:
-/* 804529CC 0044F90C 38 1F 00 20 */ addi r0, r31, 0x20
-/* 804529D0 0044F910 7F 83 E3 78 */ mr r3, r28
-/* 804529D4 0044F914 90 1F 00 1C */ stw r0, 0x1c(r31)
-/* 804529D8 0044F918 81 9C 00 00 */ lwz r12, 0(r28)
-/* 804529DC 0044F91C 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 804529E0 0044F920 7D 89 03 A6 */ mtctr r12
-/* 804529E4 0044F924 4E 80 04 21 */ bctrl
-/* 804529E8 0044F928 7C 65 1B 78 */ mr r5, r3
-/* 804529EC 0044F92C 7F 84 E3 78 */ mr r4, r28
-/* 804529F0 0044F930 38 7F 00 20 */ addi r3, r31, 0x20
-/* 804529F4 0044F934 4B BB 27 A9 */ bl memcpy
-/* 804529F8 0044F938 48 00 00 38 */ b .L_80452A30
-.L_804529FC:
-/* 804529FC 0044F93C 80 1F 00 1C */ lwz r0, 0x1c(r31)
-/* 80452A00 0044F940 28 00 00 00 */ cmplwi r0, 0
-/* 80452A04 0044F944 41 82 00 24 */ beq .L_80452A28
-/* 80452A08 0044F948 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452A0C 0044F94C 4B C9 D1 5D */ bl OSLockMutex
-/* 80452A10 0044F950 38 7F 00 20 */ addi r3, r31, 0x20
-/* 80452A14 0044F954 38 80 00 CD */ li r4, 0xcd
-/* 80452A18 0044F958 38 A0 00 40 */ li r5, 0x40
-/* 80452A1C 0044F95C 4B BB 26 99 */ bl memset
-/* 80452A20 0044F960 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452A24 0044F964 4B C9 D2 21 */ bl OSUnlockMutex
-.L_80452A28:
-/* 80452A28 0044F968 38 00 00 00 */ li r0, 0
-/* 80452A2C 0044F96C 90 1F 00 1C */ stw r0, 0x1c(r31)
-.L_80452A30:
-/* 80452A30 0044F970 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452A34 0044F974 4B C9 D2 11 */ bl OSUnlockMutex
-/* 80452A38 0044F978 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452A3C 0044F97C 4B C9 D2 09 */ bl OSUnlockMutex
-/* 80452A40 0044F980 48 00 00 08 */ b .L_80452A48
-.L_80452A44:
-/* 80452A44 0044F984 3B A0 00 00 */ li r29, 0
-.L_80452A48:
-/* 80452A48 0044F988 7F A3 EB 78 */ mr r3, r29
-/* 80452A4C 0044F98C BB 61 00 0C */ lmw r27, 0xc(r1)
-/* 80452A50 0044F990 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80452A54 0044F994 7C 08 03 A6 */ mtlr r0
-/* 80452A58 0044F998 38 21 00 20 */ addi r1, r1, 0x20
-/* 80452A5C 0044F99C 4E 80 00 20 */ blr
-.endfn endScene__Q26Screen3MgrFPQ26Screen11EndSceneArg
-
-.fn getCurrentCommand__Q26Screen3MgrFv, global
-/* 80452A60 0044F9A0 80 63 00 3C */ lwz r3, 0x3c(r3)
-/* 80452A64 0044F9A4 4E 80 00 20 */ blr
-.endfn getCurrentCommand__Q26Screen3MgrFv
-
-.fn getNewCommand__Q26Screen3MgrFv, global
-/* 80452A68 0044F9A8 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80452A6C 0044F9AC 7C 08 02 A6 */ mflr r0
-/* 80452A70 0044F9B0 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80452A74 0044F9B4 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80452A78 0044F9B8 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80452A7C 0044F9BC 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80452A80 0044F9C0 7C 7D 1B 78 */ mr r29, r3
-/* 80452A84 0044F9C4 3C 60 80 4A */ lis r3, lbl_8049B8C8@ha
-/* 80452A88 0044F9C8 83 DD 00 54 */ lwz r30, 0x54(r29)
-/* 80452A8C 0044F9CC 3B E3 B8 C8 */ addi r31, r3, lbl_8049B8C8@l
-/* 80452A90 0044F9D0 28 1E 00 00 */ cmplwi r30, 0
-/* 80452A94 0044F9D4 40 82 00 18 */ bne .L_80452AAC
-/* 80452A98 0044F9D8 38 7F 00 0C */ addi r3, r31, 0xc
-/* 80452A9C 0044F9DC 38 BF 00 C4 */ addi r5, r31, 0xc4
-/* 80452AA0 0044F9E0 38 80 02 67 */ li r4, 0x267
-/* 80452AA4 0044F9E4 4C C6 31 82 */ crclr 6
-/* 80452AA8 0044F9E8 4B BD 7B 99 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80452AAC:
-/* 80452AAC 0044F9EC 28 1E 00 00 */ cmplwi r30, 0
-/* 80452AB0 0044F9F0 41 82 00 2C */ beq .L_80452ADC
-/* 80452AB4 0044F9F4 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80452AB8 0044F9F8 4B C9 D0 B1 */ bl OSLockMutex
-/* 80452ABC 0044F9FC 7F C3 F3 78 */ mr r3, r30
-/* 80452AC0 0044FA00 4B FB EB 11 */ bl del__5CNodeFv
-/* 80452AC4 0044FA04 7F C4 F3 78 */ mr r4, r30
-/* 80452AC8 0044FA08 38 7D 00 2C */ addi r3, r29, 0x2c
-/* 80452ACC 0044FA0C 4B FB E9 3D */ bl add__5CNodeFP5CNode
-/* 80452AD0 0044FA10 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80452AD4 0044FA14 4B C9 D1 71 */ bl OSUnlockMutex
-/* 80452AD8 0044FA18 48 00 00 18 */ b .L_80452AF0
-.L_80452ADC:
-/* 80452ADC 0044FA1C 38 7F 00 0C */ addi r3, r31, 0xc
-/* 80452AE0 0044FA20 38 BF 00 E8 */ addi r5, r31, 0xe8
-/* 80452AE4 0044FA24 38 80 02 72 */ li r4, 0x272
-/* 80452AE8 0044FA28 4C C6 31 82 */ crclr 6
-/* 80452AEC 0044FA2C 4B BD 7B 55 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80452AF0:
-/* 80452AF0 0044FA30 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80452AF4 0044FA34 7F C3 F3 78 */ mr r3, r30
-/* 80452AF8 0044FA38 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80452AFC 0044FA3C 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80452B00 0044FA40 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80452B04 0044FA44 7C 08 03 A6 */ mtlr r0
-/* 80452B08 0044FA48 38 21 00 20 */ addi r1, r1, 0x20
-/* 80452B0C 0044FA4C 4E 80 00 20 */ blr
-.endfn getNewCommand__Q26Screen3MgrFv
-
-.fn releaseCommand__Q26Screen3MgrFPQ26Screen10MgrCommand, global
-/* 80452B10 0044FA50 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80452B14 0044FA54 7C 08 02 A6 */ mflr r0
-/* 80452B18 0044FA58 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80452B1C 0044FA5C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80452B20 0044FA60 7C 9F 23 78 */ mr r31, r4
-/* 80452B24 0044FA64 93 C1 00 08 */ stw r30, 8(r1)
-/* 80452B28 0044FA68 7C 7E 1B 78 */ mr r30, r3
-/* 80452B2C 0044FA6C 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452B30 0044FA70 4B C9 D0 39 */ bl OSLockMutex
-/* 80452B34 0044FA74 7F E3 FB 78 */ mr r3, r31
-/* 80452B38 0044FA78 4B FB EA 99 */ bl del__5CNodeFv
-/* 80452B3C 0044FA7C 7F E4 FB 78 */ mr r4, r31
-/* 80452B40 0044FA80 38 7E 00 44 */ addi r3, r30, 0x44
-/* 80452B44 0044FA84 4B FB E8 C5 */ bl add__5CNodeFP5CNode
-/* 80452B48 0044FA88 38 7F 04 64 */ addi r3, r31, 0x464
-/* 80452B4C 0044FA8C 4B C9 D0 F9 */ bl OSUnlockMutex
-/* 80452B50 0044FA90 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80452B54 0044FA94 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80452B58 0044FA98 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80452B5C 0044FA9C 7C 08 03 A6 */ mtlr r0
-/* 80452B60 0044FAA0 38 21 00 10 */ addi r1, r1, 0x10
-/* 80452B64 0044FAA4 4E 80 00 20 */ blr
-.endfn releaseCommand__Q26Screen3MgrFPQ26Screen10MgrCommand
-
-.fn update__Q26Screen3MgrFv, global
-/* 80452B68 0044FAA8 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80452B6C 0044FAAC 7C 08 02 A6 */ mflr r0
-/* 80452B70 0044FAB0 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80452B74 0044FAB4 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80452B78 0044FAB8 7C 7F 1B 78 */ mr r31, r3
-/* 80452B7C 0044FABC 3C 60 80 4A */ lis r3, lbl_8049B8C8@ha
-/* 80452B80 0044FAC0 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80452B84 0044FAC4 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80452B88 0044FAC8 3B A3 B8 C8 */ addi r29, r3, lbl_8049B8C8@l
-/* 80452B8C 0044FACC 93 81 00 10 */ stw r28, 0x10(r1)
-/* 80452B90 0044FAD0 80 9F 00 20 */ lwz r4, 0x20(r31)
-/* 80452B94 0044FAD4 83 9F 00 3C */ lwz r28, 0x3c(r31)
-/* 80452B98 0044FAD8 28 04 00 00 */ cmplwi r4, 0
-/* 80452B9C 0044FADC 41 82 00 24 */ beq .L_80452BC0
-/* 80452BA0 0044FAE0 80 04 00 1C */ lwz r0, 0x1c(r4)
-/* 80452BA4 0044FAE4 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
-/* 80452BA8 0044FAE8 41 82 00 18 */ beq .L_80452BC0
-/* 80452BAC 0044FAEC 7F 83 E3 78 */ mr r3, r28
-/* 80452BB0 0044FAF0 48 00 00 08 */ b .L_80452BB8
-.L_80452BB4:
-/* 80452BB4 0044FAF4 80 63 00 04 */ lwz r3, 4(r3)
-.L_80452BB8:
-/* 80452BB8 0044FAF8 28 03 00 00 */ cmplwi r3, 0
-/* 80452BBC 0044FAFC 40 82 FF F8 */ bne .L_80452BB4
-.L_80452BC0:
-/* 80452BC0 0044FB00 28 1C 00 00 */ cmplwi r28, 0
-/* 80452BC4 0044FB04 41 82 02 4C */ beq .L_80452E10
-/* 80452BC8 0044FB08 38 7C 04 64 */ addi r3, r28, 0x464
-/* 80452BCC 0044FB0C 4B C9 CF 9D */ bl OSLockMutex
-/* 80452BD0 0044FB10 80 1C 00 18 */ lwz r0, 0x18(r28)
-/* 80452BD4 0044FB14 80 7F 00 1C */ lwz r3, 0x1c(r31)
-/* 80452BD8 0044FB18 2C 00 00 01 */ cmpwi r0, 1
-/* 80452BDC 0044FB1C 41 82 00 8C */ beq .L_80452C68
-/* 80452BE0 0044FB20 40 80 00 14 */ bge .L_80452BF4
-/* 80452BE4 0044FB24 2C 00 FF FF */ cmpwi r0, -1
-/* 80452BE8 0044FB28 41 82 02 20 */ beq .L_80452E08
-/* 80452BEC 0044FB2C 40 80 00 14 */ bge .L_80452C00
-/* 80452BF0 0044FB30 48 00 02 04 */ b .L_80452DF4
-.L_80452BF4:
-/* 80452BF4 0044FB34 2C 00 00 03 */ cmpwi r0, 3
-/* 80452BF8 0044FB38 40 80 01 FC */ bge .L_80452DF4
-/* 80452BFC 0044FB3C 48 00 01 50 */ b .L_80452D4C
-.L_80452C00:
-/* 80452C00 0044FB40 83 BC 00 1C */ lwz r29, 0x1c(r28)
-/* 80452C04 0044FB44 7F E3 FB 78 */ mr r3, r31
-/* 80452C08 0044FB48 48 00 0B 55 */ bl isCurrentSceneLoading__Q26Screen3MgrFv
-/* 80452C0C 0044FB4C 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80452C10 0044FB50 40 82 01 F8 */ bne .L_80452E08
-/* 80452C14 0044FB54 88 1D 00 08 */ lbz r0, 8(r29)
-/* 80452C18 0044FB58 28 00 00 00 */ cmplwi r0, 0
-/* 80452C1C 0044FB5C 40 82 00 14 */ bne .L_80452C30
-/* 80452C20 0044FB60 7F E3 FB 78 */ mr r3, r31
-/* 80452C24 0044FB64 48 00 0D 4D */ bl isSceneFinish__Q26Screen3MgrFv
-/* 80452C28 0044FB68 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80452C2C 0044FB6C 41 82 01 DC */ beq .L_80452E08
-.L_80452C30:
-/* 80452C30 0044FB70 80 BC 00 60 */ lwz r5, 0x60(r28)
-/* 80452C34 0044FB74 7F E3 FB 78 */ mr r3, r31
-/* 80452C38 0044FB78 7F A4 EB 78 */ mr r4, r29
-/* 80452C3C 0044FB7C 48 00 03 3D */ bl changeScene__Q26Screen3MgrFRQ26Screen11SetSceneArgPUc
-/* 80452C40 0044FB80 38 7C 04 64 */ addi r3, r28, 0x464
-/* 80452C44 0044FB84 4B C9 CF 25 */ bl OSLockMutex
-/* 80452C48 0044FB88 7F 83 E3 78 */ mr r3, r28
-/* 80452C4C 0044FB8C 4B FB E9 85 */ bl del__5CNodeFv
-/* 80452C50 0044FB90 7F 84 E3 78 */ mr r4, r28
-/* 80452C54 0044FB94 38 7F 00 44 */ addi r3, r31, 0x44
-/* 80452C58 0044FB98 4B FB E7 B1 */ bl add__5CNodeFP5CNode
-/* 80452C5C 0044FB9C 38 7C 04 64 */ addi r3, r28, 0x464
-/* 80452C60 0044FBA0 4B C9 CF E5 */ bl OSUnlockMutex
-/* 80452C64 0044FBA4 48 00 01 A4 */ b .L_80452E08
-.L_80452C68:
-/* 80452C68 0044FBA8 28 03 00 00 */ cmplwi r3, 0
-/* 80452C6C 0044FBAC 40 82 00 18 */ bne .L_80452C84
-/* 80452C70 0044FBB0 38 7D 00 0C */ addi r3, r29, 0xc
-/* 80452C74 0044FBB4 38 BD 00 1C */ addi r5, r29, 0x1c
-/* 80452C78 0044FBB8 38 80 02 D6 */ li r4, 0x2d6
-/* 80452C7C 0044FBBC 4C C6 31 82 */ crclr 6
-/* 80452C80 0044FBC0 4B BD 79 C1 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80452C84:
-/* 80452C84 0044FBC4 80 7C 00 1C */ lwz r3, 0x1c(r28)
-/* 80452C88 0044FBC8 28 03 00 00 */ cmplwi r3, 0
-/* 80452C8C 0044FBCC 41 82 00 7C */ beq .L_80452D08
-/* 80452C90 0044FBD0 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452C94 0044FBD4 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80452C98 0044FBD8 7D 89 03 A6 */ mtctr r12
-/* 80452C9C 0044FBDC 4E 80 04 21 */ bctrl
-/* 80452CA0 0044FBE0 7C 7E 1B 78 */ mr r30, r3
-/* 80452CA4 0044FBE4 80 7F 00 1C */ lwz r3, 0x1c(r31)
-/* 80452CA8 0044FBE8 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452CAC 0044FBEC 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80452CB0 0044FBF0 7D 89 03 A6 */ mtctr r12
-/* 80452CB4 0044FBF4 4E 80 04 21 */ bctrl
-/* 80452CB8 0044FBF8 7C 03 F0 00 */ cmpw r3, r30
-/* 80452CBC 0044FBFC 41 82 00 4C */ beq .L_80452D08
-/* 80452CC0 0044FC00 80 7C 00 1C */ lwz r3, 0x1c(r28)
-/* 80452CC4 0044FC04 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452CC8 0044FC08 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80452CCC 0044FC0C 7D 89 03 A6 */ mtctr r12
-/* 80452CD0 0044FC10 4E 80 04 21 */ bctrl
-/* 80452CD4 0044FC14 7C 7E 1B 78 */ mr r30, r3
-/* 80452CD8 0044FC18 80 7F 00 1C */ lwz r3, 0x1c(r31)
-/* 80452CDC 0044FC1C 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452CE0 0044FC20 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80452CE4 0044FC24 7D 89 03 A6 */ mtctr r12
-/* 80452CE8 0044FC28 4E 80 04 21 */ bctrl
-/* 80452CEC 0044FC2C 7C 66 1B 78 */ mr r6, r3
-/* 80452CF0 0044FC30 7F C7 F3 78 */ mr r7, r30
-/* 80452CF4 0044FC34 38 7D 00 0C */ addi r3, r29, 0xc
-/* 80452CF8 0044FC38 38 BD 01 10 */ addi r5, r29, 0x110
-/* 80452CFC 0044FC3C 38 80 02 DE */ li r4, 0x2de
-/* 80452D00 0044FC40 4C C6 31 82 */ crclr 6
-/* 80452D04 0044FC44 4B BD 79 3D */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80452D08:
-/* 80452D08 0044FC48 80 7F 00 1C */ lwz r3, 0x1c(r31)
-/* 80452D0C 0044FC4C 80 9C 00 1C */ lwz r4, 0x1c(r28)
-/* 80452D10 0044FC50 4B FF EF 09 */ bl start__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
-/* 80452D14 0044FC54 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80452D18 0044FC58 41 82 00 F0 */ beq .L_80452E08
-/* 80452D1C 0044FC5C 38 7C 04 64 */ addi r3, r28, 0x464
-/* 80452D20 0044FC60 4B C9 CE 49 */ bl OSLockMutex
-/* 80452D24 0044FC64 7F 83 E3 78 */ mr r3, r28
-/* 80452D28 0044FC68 4B FB E8 A9 */ bl del__5CNodeFv
-/* 80452D2C 0044FC6C 7F 84 E3 78 */ mr r4, r28
-/* 80452D30 0044FC70 38 7F 00 44 */ addi r3, r31, 0x44
-/* 80452D34 0044FC74 4B FB E6 D5 */ bl add__5CNodeFP5CNode
-/* 80452D38 0044FC78 38 7C 04 64 */ addi r3, r28, 0x464
-/* 80452D3C 0044FC7C 4B C9 CF 09 */ bl OSUnlockMutex
-/* 80452D40 0044FC80 80 7F 00 1C */ lwz r3, 0x1c(r31)
-/* 80452D44 0044FC84 4B FF EC A5 */ bl update__Q26Screen9SceneBaseFv
-/* 80452D48 0044FC88 48 00 00 C0 */ b .L_80452E08
-.L_80452D4C:
-/* 80452D4C 0044FC8C 28 03 00 00 */ cmplwi r3, 0
-/* 80452D50 0044FC90 40 82 00 18 */ bne .L_80452D68
-/* 80452D54 0044FC94 38 7D 00 0C */ addi r3, r29, 0xc
-/* 80452D58 0044FC98 38 BD 00 1C */ addi r5, r29, 0x1c
-/* 80452D5C 0044FC9C 38 80 02 F3 */ li r4, 0x2f3
-/* 80452D60 0044FCA0 4C C6 31 82 */ crclr 6
-/* 80452D64 0044FCA4 4B BD 78 DD */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80452D68:
-/* 80452D68 0044FCA8 80 7C 00 1C */ lwz r3, 0x1c(r28)
-/* 80452D6C 0044FCAC 28 03 00 00 */ cmplwi r3, 0
-/* 80452D70 0044FCB0 41 82 00 48 */ beq .L_80452DB8
-/* 80452D74 0044FCB4 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452D78 0044FCB8 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80452D7C 0044FCBC 7D 89 03 A6 */ mtctr r12
-/* 80452D80 0044FCC0 4E 80 04 21 */ bctrl
-/* 80452D84 0044FCC4 7C 7E 1B 78 */ mr r30, r3
-/* 80452D88 0044FCC8 80 7F 00 1C */ lwz r3, 0x1c(r31)
-/* 80452D8C 0044FCCC 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452D90 0044FCD0 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80452D94 0044FCD4 7D 89 03 A6 */ mtctr r12
-/* 80452D98 0044FCD8 4E 80 04 21 */ bctrl
-/* 80452D9C 0044FCDC 7C 03 F0 00 */ cmpw r3, r30
-/* 80452DA0 0044FCE0 41 82 00 18 */ beq .L_80452DB8
-/* 80452DA4 0044FCE4 38 7D 00 0C */ addi r3, r29, 0xc
-/* 80452DA8 0044FCE8 38 BD 00 1C */ addi r5, r29, 0x1c
-/* 80452DAC 0044FCEC 38 80 02 F7 */ li r4, 0x2f7
-/* 80452DB0 0044FCF0 4C C6 31 82 */ crclr 6
-/* 80452DB4 0044FCF4 4B BD 78 8D */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80452DB8:
-/* 80452DB8 0044FCF8 80 7F 00 1C */ lwz r3, 0x1c(r31)
-/* 80452DBC 0044FCFC 80 9C 00 1C */ lwz r4, 0x1c(r28)
-/* 80452DC0 0044FD00 4B FF EE D1 */ bl end__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
-/* 80452DC4 0044FD04 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80452DC8 0044FD08 41 82 00 40 */ beq .L_80452E08
-/* 80452DCC 0044FD0C 38 7C 04 64 */ addi r3, r28, 0x464
-/* 80452DD0 0044FD10 4B C9 CD 99 */ bl OSLockMutex
-/* 80452DD4 0044FD14 7F 83 E3 78 */ mr r3, r28
-/* 80452DD8 0044FD18 4B FB E7 F9 */ bl del__5CNodeFv
-/* 80452DDC 0044FD1C 7F 84 E3 78 */ mr r4, r28
-/* 80452DE0 0044FD20 38 7F 00 44 */ addi r3, r31, 0x44
-/* 80452DE4 0044FD24 4B FB E6 25 */ bl add__5CNodeFP5CNode
-/* 80452DE8 0044FD28 38 7C 04 64 */ addi r3, r28, 0x464
-/* 80452DEC 0044FD2C 4B C9 CE 59 */ bl OSUnlockMutex
-/* 80452DF0 0044FD30 48 00 00 18 */ b .L_80452E08
-.L_80452DF4:
-/* 80452DF4 0044FD34 38 7D 00 0C */ addi r3, r29, 0xc
-/* 80452DF8 0044FD38 38 BD 00 1C */ addi r5, r29, 0x1c
-/* 80452DFC 0044FD3C 38 80 03 0D */ li r4, 0x30d
-/* 80452E00 0044FD40 4C C6 31 82 */ crclr 6
-/* 80452E04 0044FD44 4B BD 78 3D */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80452E08:
-/* 80452E08 0044FD48 38 7C 04 64 */ addi r3, r28, 0x464
-/* 80452E0C 0044FD4C 4B C9 CE 39 */ bl OSUnlockMutex
-.L_80452E10:
-/* 80452E10 0044FD50 80 7F 00 1C */ lwz r3, 0x1c(r31)
-/* 80452E14 0044FD54 28 03 00 00 */ cmplwi r3, 0
-/* 80452E18 0044FD58 41 82 00 08 */ beq .L_80452E20
-/* 80452E1C 0044FD5C 4B FF EB CD */ bl update__Q26Screen9SceneBaseFv
-.L_80452E20:
-/* 80452E20 0044FD60 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80452E24 0044FD64 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80452E28 0044FD68 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80452E2C 0044FD6C 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80452E30 0044FD70 83 81 00 10 */ lwz r28, 0x10(r1)
-/* 80452E34 0044FD74 7C 08 03 A6 */ mtlr r0
-/* 80452E38 0044FD78 38 21 00 20 */ addi r1, r1, 0x20
-/* 80452E3C 0044FD7C 4E 80 00 20 */ blr
-.endfn update__Q26Screen3MgrFv
-
-.fn draw__Q26Screen3MgrFR8Graphics, global
-/* 80452E40 0044FD80 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80452E44 0044FD84 7C 08 02 A6 */ mflr r0
-/* 80452E48 0044FD88 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80452E4C 0044FD8C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80452E50 0044FD90 7C 9F 23 78 */ mr r31, r4
-/* 80452E54 0044FD94 93 C1 00 08 */ stw r30, 8(r1)
-/* 80452E58 0044FD98 7C 7E 1B 78 */ mr r30, r3
-/* 80452E5C 0044FD9C 80 AD 9B 54 */ lwz r5, moviePlayer__4Game@sda21(r13)
-/* 80452E60 0044FDA0 28 05 00 00 */ cmplwi r5, 0
-/* 80452E64 0044FDA4 41 82 00 34 */ beq .L_80452E98
-/* 80452E68 0044FDA8 80 05 01 F0 */ lwz r0, 0x1f0(r5)
-/* 80452E6C 0044FDAC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
-/* 80452E70 0044FDB0 41 82 00 28 */ beq .L_80452E98
-/* 80452E74 0044FDB4 80 7E 00 1C */ lwz r3, 0x1c(r30)
-/* 80452E78 0044FDB8 28 03 00 00 */ cmplwi r3, 0
-/* 80452E7C 0044FDBC 41 82 00 60 */ beq .L_80452EDC
-/* 80452E80 0044FDC0 81 83 00 00 */ lwz r12, 0(r3)
-/* 80452E84 0044FDC4 81 8C 00 18 */ lwz r12, 0x18(r12)
-/* 80452E88 0044FDC8 7D 89 03 A6 */ mtctr r12
-/* 80452E8C 0044FDCC 4E 80 04 21 */ bctrl
-/* 80452E90 0044FDD0 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 80452E94 0044FDD4 41 82 00 48 */ beq .L_80452EDC
-.L_80452E98:
-/* 80452E98 0044FDD8 7F C3 F3 78 */ mr r3, r30
-/* 80452E9C 0044FDDC 7F E4 FB 78 */ mr r4, r31
-/* 80452EA0 0044FDE0 81 9E 00 00 */ lwz r12, 0(r30)
-/* 80452EA4 0044FDE4 81 8C 00 28 */ lwz r12, 0x28(r12)
-/* 80452EA8 0044FDE8 7D 89 03 A6 */ mtctr r12
-/* 80452EAC 0044FDEC 4E 80 04 21 */ bctrl
-/* 80452EB0 0044FDF0 80 7E 00 1C */ lwz r3, 0x1c(r30)
-/* 80452EB4 0044FDF4 28 03 00 00 */ cmplwi r3, 0
-/* 80452EB8 0044FDF8 41 82 00 0C */ beq .L_80452EC4
-/* 80452EBC 0044FDFC 7F E4 FB 78 */ mr r4, r31
-/* 80452EC0 0044FE00 4B FF EC C9 */ bl draw__Q26Screen9SceneBaseFR8Graphics
-.L_80452EC4:
-/* 80452EC4 0044FE04 7F C3 F3 78 */ mr r3, r30
-/* 80452EC8 0044FE08 7F E4 FB 78 */ mr r4, r31
-/* 80452ECC 0044FE0C 81 9E 00 00 */ lwz r12, 0(r30)
-/* 80452ED0 0044FE10 81 8C 00 2C */ lwz r12, 0x2c(r12)
-/* 80452ED4 0044FE14 7D 89 03 A6 */ mtctr r12
-/* 80452ED8 0044FE18 4E 80 04 21 */ bctrl
-.L_80452EDC:
-/* 80452EDC 0044FE1C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80452EE0 0044FE20 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80452EE4 0044FE24 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80452EE8 0044FE28 7C 08 03 A6 */ mtlr r0
-/* 80452EEC 0044FE2C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80452EF0 0044FE30 4E 80 00 20 */ blr
-.endfn draw__Q26Screen3MgrFR8Graphics
-
-.fn drawBG__Q26Screen3MgrFR8Graphics, weak
-/* 80452EF4 0044FE34 4E 80 00 20 */ blr
-.endfn drawBG__Q26Screen3MgrFR8Graphics
-
-.fn doGetSceneBase__Q26Screen3MgrFl, global
-/* 80452EF8 0044FE38 38 60 00 00 */ li r3, 0
-/* 80452EFC 0044FE3C 4E 80 00 20 */ blr
-.endfn doGetSceneBase__Q26Screen3MgrFl
-
-.fn clearBackupSceneInfo__Q26Screen3MgrFv, global
-/* 80452F00 0044FE40 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80452F04 0044FE44 7C 08 02 A6 */ mflr r0
-/* 80452F08 0044FE48 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80452F0C 0044FE4C 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80452F10 0044FE50 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80452F14 0044FE54 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80452F18 0044FE58 7C 7D 1B 78 */ mr r29, r3
-/* 80452F1C 0044FE5C 83 E3 00 70 */ lwz r31, 0x70(r3)
-/* 80452F20 0044FE60 48 00 00 20 */ b .L_80452F40
-.L_80452F24:
-/* 80452F24 0044FE64 83 DF 00 04 */ lwz r30, 4(r31)
-/* 80452F28 0044FE68 7F E3 FB 78 */ mr r3, r31
-/* 80452F2C 0044FE6C 4B FB E6 A5 */ bl del__5CNodeFv
-/* 80452F30 0044FE70 7F E4 FB 78 */ mr r4, r31
-/* 80452F34 0044FE74 38 7D 00 78 */ addi r3, r29, 0x78
-/* 80452F38 0044FE78 4B FB E4 D1 */ bl add__5CNodeFP5CNode
-/* 80452F3C 0044FE7C 7F DF F3 78 */ mr r31, r30
-.L_80452F40:
-/* 80452F40 0044FE80 28 1F 00 00 */ cmplwi r31, 0
-/* 80452F44 0044FE84 40 82 FF E0 */ bne .L_80452F24
-/* 80452F48 0044FE88 38 00 00 00 */ li r0, 0
-/* 80452F4C 0044FE8C 90 1D 00 70 */ stw r0, 0x70(r29)
-/* 80452F50 0044FE90 90 1D 00 6C */ stw r0, 0x6c(r29)
-/* 80452F54 0044FE94 90 1D 00 68 */ stw r0, 0x68(r29)
-/* 80452F58 0044FE98 90 1D 00 64 */ stw r0, 0x64(r29)
-/* 80452F5C 0044FE9C 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80452F60 0044FEA0 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80452F64 0044FEA4 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80452F68 0044FEA8 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80452F6C 0044FEAC 7C 08 03 A6 */ mtlr r0
-/* 80452F70 0044FEB0 38 21 00 20 */ addi r1, r1, 0x20
-/* 80452F74 0044FEB4 4E 80 00 20 */ blr
-.endfn clearBackupSceneInfo__Q26Screen3MgrFv
-
-.fn changeScene__Q26Screen3MgrFRQ26Screen11SetSceneArgPUc, global
-/* 80452F78 0044FEB8 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 80452F7C 0044FEBC 7C 08 02 A6 */ mflr r0
-/* 80452F80 0044FEC0 90 01 00 34 */ stw r0, 0x34(r1)
-/* 80452F84 0044FEC4 BF 21 00 14 */ stmw r25, 0x14(r1)
-/* 80452F88 0044FEC8 7C 9E 23 78 */ mr r30, r4
-/* 80452F8C 0044FECC 3C 80 80 4A */ lis r4, lbl_8049B8C8@ha
-/* 80452F90 0044FED0 7C 7D 1B 78 */ mr r29, r3
-/* 80452F94 0044FED4 7F C3 F3 78 */ mr r3, r30
-/* 80452F98 0044FED8 7C BF 2B 78 */ mr r31, r5
-/* 80452F9C 0044FEDC 3B 64 B8 C8 */ addi r27, r4, lbl_8049B8C8@l
-/* 80452FA0 0044FEE0 81 9E 00 00 */ lwz r12, 0(r30)
-/* 80452FA4 0044FEE4 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80452FA8 0044FEE8 7D 89 03 A6 */ mtctr r12
-/* 80452FAC 0044FEEC 4E 80 04 21 */ bctrl
-/* 80452FB0 0044FEF0 80 0D 9A 08 */ lwz r0, particle2dMgr@sda21(r13)
-/* 80452FB4 0044FEF4 7C 79 1B 78 */ mr r25, r3
-/* 80452FB8 0044FEF8 28 00 00 00 */ cmplwi r0, 0
-/* 80452FBC 0044FEFC 41 82 00 1C */ beq .L_80452FD8
-/* 80452FC0 0044FF00 7C 03 03 78 */ mr r3, r0
-/* 80452FC4 0044FF04 38 80 00 00 */ li r4, 0
-/* 80452FC8 0044FF08 4B F6 68 11 */ bl killGroup__14TParticle2dMgrFUc
-/* 80452FCC 0044FF0C 80 6D 9A 08 */ lwz r3, particle2dMgr@sda21(r13)
-/* 80452FD0 0044FF10 38 80 00 01 */ li r4, 1
-/* 80452FD4 0044FF14 4B F6 68 05 */ bl killGroup__14TParticle2dMgrFUc
-.L_80452FD8:
-/* 80452FD8 0044FF18 83 5D 00 1C */ lwz r26, 0x1c(r29)
-/* 80452FDC 0044FF1C 28 1A 00 00 */ cmplwi r26, 0
-/* 80452FE0 0044FF20 41 82 00 BC */ beq .L_8045309C
-/* 80452FE4 0044FF24 88 1E 00 09 */ lbz r0, 9(r30)
-/* 80452FE8 0044FF28 28 00 00 00 */ cmplwi r0, 0
-/* 80452FEC 0044FF2C 41 82 00 A0 */ beq .L_8045308C
-/* 80452FF0 0044FF30 28 1A 00 00 */ cmplwi r26, 0
-/* 80452FF4 0044FF34 40 82 00 18 */ bne .L_8045300C
-/* 80452FF8 0044FF38 38 7B 00 0C */ addi r3, r27, 0xc
-/* 80452FFC 0044FF3C 38 BB 00 1C */ addi r5, r27, 0x1c
-/* 80453000 0044FF40 38 80 03 57 */ li r4, 0x357
-/* 80453004 0044FF44 4C C6 31 82 */ crclr 6
-/* 80453008 0044FF48 4B BD 76 39 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_8045300C:
-/* 8045300C 0044FF4C 83 9D 00 88 */ lwz r28, 0x88(r29)
-/* 80453010 0044FF50 28 1C 00 00 */ cmplwi r28, 0
-/* 80453014 0044FF54 40 82 00 1C */ bne .L_80453030
-/* 80453018 0044FF58 38 7B 00 0C */ addi r3, r27, 0xc
-/* 8045301C 0044FF5C 38 BB 01 4C */ addi r5, r27, 0x14c
-/* 80453020 0044FF60 38 80 03 68 */ li r4, 0x368
-/* 80453024 0044FF64 4C C6 31 82 */ crclr 6
-/* 80453028 0044FF68 4B BD 76 19 */ bl panic_f__12JUTExceptionFPCciPCce
-/* 8045302C 0044FF6C 48 00 00 54 */ b .L_80453080
-.L_80453030:
-/* 80453030 0044FF70 7F 83 E3 78 */ mr r3, r28
-/* 80453034 0044FF74 4B FB E5 9D */ bl del__5CNodeFv
-/* 80453038 0044FF78 7F 43 D3 78 */ mr r3, r26
-/* 8045303C 0044FF7C 83 5A 02 1C */ lwz r26, 0x21c(r26)
-/* 80453040 0044FF80 81 83 00 00 */ lwz r12, 0(r3)
-/* 80453044 0044FF84 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80453048 0044FF88 7D 89 03 A6 */ mtctr r12
-/* 8045304C 0044FF8C 4E 80 04 21 */ bctrl
-/* 80453050 0044FF90 90 7C 00 18 */ stw r3, 0x18(r28)
-/* 80453054 0044FF94 7F 43 D3 78 */ mr r3, r26
-/* 80453058 0044FF98 81 9A 00 00 */ lwz r12, 0(r26)
-/* 8045305C 0044FF9C 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80453060 0044FFA0 7D 89 03 A6 */ mtctr r12
-/* 80453064 0044FFA4 4E 80 04 21 */ bctrl
-/* 80453068 0044FFA8 7C 65 1B 78 */ mr r5, r3
-/* 8045306C 0044FFAC 7F 44 D3 78 */ mr r4, r26
-/* 80453070 0044FFB0 38 7C 00 1C */ addi r3, r28, 0x1c
-/* 80453074 0044FFB4 4B BB 21 29 */ bl memcpy
-/* 80453078 0044FFB8 38 7C 00 1C */ addi r3, r28, 0x1c
-/* 8045307C 0044FFBC 4B EB C5 51 */ bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
-.L_80453080:
-/* 80453080 0044FFC0 7F 84 E3 78 */ mr r4, r28
-/* 80453084 0044FFC4 38 7D 00 60 */ addi r3, r29, 0x60
-/* 80453088 0044FFC8 4B FB E3 39 */ bl addHead__5CNodeFP5CNode
-.L_8045308C:
-/* 8045308C 0044FFCC 80 7D 00 1C */ lwz r3, 0x1c(r29)
-/* 80453090 0044FFD0 4B FF E8 65 */ bl destroy__Q26Screen9SceneBaseFv
-/* 80453094 0044FFD4 80 7D 00 5C */ lwz r3, 0x5c(r29)
-/* 80453098 0044FFD8 4B BD 06 99 */ bl freeAll__7JKRHeapFv
-.L_8045309C:
-/* 8045309C 0044FFDC 80 6D 88 2C */ lwz r3, sCurrentHeap__7JKRHeap@sda21(r13)
-/* 804530A0 0044FFE0 4B BD 07 41 */ bl getTotalFreeSize__7JKRHeapFv
-/* 804530A4 0044FFE4 90 7D 00 24 */ stw r3, 0x24(r29)
-/* 804530A8 0044FFE8 80 6D 9B B0 */ lwz r3, gResMgr2D@sda21(r13)
-/* 804530AC 0044FFEC 80 63 00 04 */ lwz r3, 4(r3)
-/* 804530B0 0044FFF0 80 03 00 38 */ lwz r0, 0x38(r3)
-/* 804530B4 0044FFF4 90 1D 00 28 */ stw r0, 0x28(r29)
-/* 804530B8 0044FFF8 83 4D 88 2C */ lwz r26, sCurrentHeap__7JKRHeap@sda21(r13)
-/* 804530BC 0044FFFC 80 7D 00 5C */ lwz r3, 0x5c(r29)
-/* 804530C0 00450000 4B BD 04 E5 */ bl becomeCurrentHeap__7JKRHeapFv
-/* 804530C4 00450004 7F A3 EB 78 */ mr r3, r29
-/* 804530C8 00450008 7F 24 CB 78 */ mr r4, r25
-/* 804530CC 0045000C 81 9D 00 00 */ lwz r12, 0(r29)
-/* 804530D0 00450010 81 8C 00 24 */ lwz r12, 0x24(r12)
-/* 804530D4 00450014 7D 89 03 A6 */ mtctr r12
-/* 804530D8 00450018 4E 80 04 21 */ bctrl
-/* 804530DC 0045001C 7C 7C 1B 78 */ mr r28, r3
-/* 804530E0 00450020 7F 43 D3 78 */ mr r3, r26
-/* 804530E4 00450024 4B BD 04 C1 */ bl becomeCurrentHeap__7JKRHeapFv
-/* 804530E8 00450028 28 1C 00 00 */ cmplwi r28, 0
-/* 804530EC 0045002C 40 82 00 18 */ bne .L_80453104
-/* 804530F0 00450030 38 7B 00 0C */ addi r3, r27, 0xc
-/* 804530F4 00450034 38 BB 01 38 */ addi r5, r27, 0x138
-/* 804530F8 00450038 38 80 03 4B */ li r4, 0x34b
-/* 804530FC 0045003C 4C C6 31 82 */ crclr 6
-/* 80453100 00450040 4B BD 75 41 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80453104:
-/* 80453104 00450044 80 1D 00 20 */ lwz r0, 0x20(r29)
-/* 80453108 00450048 90 1C 01 04 */ stw r0, 0x104(r28)
-/* 8045310C 0045004C 93 9D 00 1C */ stw r28, 0x1c(r29)
-/* 80453110 00450050 80 7D 00 1C */ lwz r3, 0x1c(r29)
-/* 80453114 00450054 28 03 00 00 */ cmplwi r3, 0
-/* 80453118 00450058 41 82 00 98 */ beq .L_804531B0
-/* 8045311C 0045005C 80 1E 00 0C */ lwz r0, 0xc(r30)
-/* 80453120 00450060 28 00 00 00 */ cmplwi r0, 0
-/* 80453124 00450064 41 82 00 14 */ beq .L_80453138
-/* 80453128 00450068 80 83 02 1C */ lwz r4, 0x21c(r3)
-/* 8045312C 0045006C 7F A3 EB 78 */ mr r3, r29
-/* 80453130 00450070 7F E5 FB 78 */ mr r5, r31
-/* 80453134 00450074 48 00 06 4D */ bl copyDispMember__Q26Screen3MgrFPUcPUc
-.L_80453138:
-/* 80453138 00450078 80 7D 00 1C */ lwz r3, 0x1c(r29)
-/* 8045313C 0045007C 93 A3 01 08 */ stw r29, 0x108(r3)
-/* 80453140 00450080 80 1D 00 20 */ lwz r0, 0x20(r29)
-/* 80453144 00450084 80 7D 00 1C */ lwz r3, 0x1c(r29)
-/* 80453148 00450088 90 03 01 04 */ stw r0, 0x104(r3)
-/* 8045314C 0045008C 80 7D 00 1C */ lwz r3, 0x1c(r29)
-/* 80453150 00450090 4B FF E7 DD */ bl create__Q26Screen9SceneBaseFv
-/* 80453154 00450094 80 7D 00 1C */ lwz r3, 0x1c(r29)
-/* 80453158 00450098 81 83 00 00 */ lwz r12, 0(r3)
-/* 8045315C 0045009C 81 8C 00 14 */ lwz r12, 0x14(r12)
-/* 80453160 004500A0 7D 89 03 A6 */ mtctr r12
-/* 80453164 004500A4 4E 80 04 21 */ bctrl
-/* 80453168 004500A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 8045316C 004500AC 40 82 00 44 */ bne .L_804531B0
-/* 80453170 004500B0 83 9D 00 70 */ lwz r28, 0x70(r29)
-/* 80453174 004500B4 48 00 00 20 */ b .L_80453194
-.L_80453178:
-/* 80453178 004500B8 83 7C 00 04 */ lwz r27, 4(r28)
-/* 8045317C 004500BC 7F 83 E3 78 */ mr r3, r28
-/* 80453180 004500C0 4B FB E4 51 */ bl del__5CNodeFv
-/* 80453184 004500C4 7F 84 E3 78 */ mr r4, r28
-/* 80453188 004500C8 38 7D 00 78 */ addi r3, r29, 0x78
-/* 8045318C 004500CC 4B FB E2 7D */ bl add__5CNodeFP5CNode
-/* 80453190 004500D0 7F 7C DB 78 */ mr r28, r27
-.L_80453194:
-/* 80453194 004500D4 28 1C 00 00 */ cmplwi r28, 0
-/* 80453198 004500D8 40 82 FF E0 */ bne .L_80453178
-/* 8045319C 004500DC 38 00 00 00 */ li r0, 0
-/* 804531A0 004500E0 90 1D 00 70 */ stw r0, 0x70(r29)
-/* 804531A4 004500E4 90 1D 00 6C */ stw r0, 0x6c(r29)
-/* 804531A8 004500E8 90 1D 00 68 */ stw r0, 0x68(r29)
-/* 804531AC 004500EC 90 1D 00 64 */ stw r0, 0x64(r29)
-.L_804531B0:
-/* 804531B0 004500F0 BB 21 00 14 */ lmw r25, 0x14(r1)
-/* 804531B4 004500F4 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 804531B8 004500F8 7C 08 03 A6 */ mtlr r0
-/* 804531BC 004500FC 38 21 00 30 */ addi r1, r1, 0x30
-/* 804531C0 00450100 4E 80 00 20 */ blr
-.endfn changeScene__Q26Screen3MgrFRQ26Screen11SetSceneArgPUc
-
-.fn setScene__Q26Screen3MgrFRQ26Screen11SetSceneArg, global
-/* 804531C4 00450104 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 804531C8 00450108 7C 08 02 A6 */ mflr r0
-/* 804531CC 0045010C 3C A0 80 4A */ lis r5, lbl_8049B8C8@ha
-/* 804531D0 00450110 90 01 00 44 */ stw r0, 0x44(r1)
-/* 804531D4 00450114 BF 41 00 28 */ stmw r26, 0x28(r1)
-/* 804531D8 00450118 7C 9B 23 78 */ mr r27, r4
-/* 804531DC 0045011C 7C 7A 1B 78 */ mr r26, r3
-/* 804531E0 00450120 3B E5 B8 C8 */ addi r31, r5, lbl_8049B8C8@l
-/* 804531E4 00450124 3B 80 00 01 */ li r28, 1
-/* 804531E8 00450128 88 04 00 08 */ lbz r0, 8(r4)
-/* 804531EC 0045012C 28 00 00 00 */ cmplwi r0, 0
-/* 804531F0 00450130 40 82 00 20 */ bne .L_80453210
-/* 804531F4 00450134 80 7A 00 1C */ lwz r3, 0x1c(r26)
-/* 804531F8 00450138 28 03 00 00 */ cmplwi r3, 0
-/* 804531FC 0045013C 41 82 00 14 */ beq .L_80453210
-/* 80453200 00450140 41 82 05 40 */ beq .L_80453740
-/* 80453204 00450144 4B FF EB CD */ bl confirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
-/* 80453208 00450148 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 8045320C 0045014C 41 82 05 34 */ beq .L_80453740
-.L_80453210:
-/* 80453210 00450150 83 DA 00 54 */ lwz r30, 0x54(r26)
-/* 80453214 00450154 28 1E 00 00 */ cmplwi r30, 0
-/* 80453218 00450158 40 82 00 18 */ bne .L_80453230
-/* 8045321C 0045015C 38 7F 00 0C */ addi r3, r31, 0xc
-/* 80453220 00450160 38 BF 00 C4 */ addi r5, r31, 0xc4
-/* 80453224 00450164 38 80 02 67 */ li r4, 0x267
-/* 80453228 00450168 4C C6 31 82 */ crclr 6
-/* 8045322C 0045016C 4B BD 74 15 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80453230:
-/* 80453230 00450170 28 1E 00 00 */ cmplwi r30, 0
-/* 80453234 00450174 41 82 00 2C */ beq .L_80453260
-/* 80453238 00450178 38 7E 04 64 */ addi r3, r30, 0x464
-/* 8045323C 0045017C 4B C9 C9 2D */ bl OSLockMutex
-/* 80453240 00450180 7F C3 F3 78 */ mr r3, r30
-/* 80453244 00450184 4B FB E3 8D */ bl del__5CNodeFv
-/* 80453248 00450188 7F C4 F3 78 */ mr r4, r30
-/* 8045324C 0045018C 38 7A 00 2C */ addi r3, r26, 0x2c
-/* 80453250 00450190 4B FB E1 B9 */ bl add__5CNodeFP5CNode
-/* 80453254 00450194 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453258 00450198 4B C9 C9 ED */ bl OSUnlockMutex
-/* 8045325C 0045019C 48 00 00 18 */ b .L_80453274
-.L_80453260:
-/* 80453260 004501A0 38 7F 00 0C */ addi r3, r31, 0xc
-/* 80453264 004501A4 38 BF 00 E8 */ addi r5, r31, 0xe8
-/* 80453268 004501A8 38 80 02 72 */ li r4, 0x272
-/* 8045326C 004501AC 4C C6 31 82 */ crclr 6
-/* 80453270 004501B0 4B BD 73 D1 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80453274:
-/* 80453274 004501B4 28 1E 00 00 */ cmplwi r30, 0
-/* 80453278 004501B8 40 82 00 0C */ bne .L_80453284
-/* 8045327C 004501BC 3B 80 00 00 */ li r28, 0
-/* 80453280 004501C0 48 00 04 B4 */ b .L_80453734
-.L_80453284:
-/* 80453284 004501C4 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453288 004501C8 4B C9 C8 E1 */ bl OSLockMutex
-/* 8045328C 004501CC 88 1B 00 08 */ lbz r0, 8(r27)
-/* 80453290 004501D0 28 00 00 00 */ cmplwi r0, 0
-/* 80453294 004501D4 41 82 01 D8 */ beq .L_8045346C
-/* 80453298 004501D8 7F 43 D3 78 */ mr r3, r26
-/* 8045329C 004501DC 48 00 04 C1 */ bl isCurrentSceneLoading__Q26Screen3MgrFv
-/* 804532A0 004501E0 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 804532A4 004501E4 41 82 01 80 */ beq .L_80453424
-/* 804532A8 004501E8 38 7F 00 50 */ addi r3, r31, 0x50
-/* 804532AC 004501EC 38 00 00 00 */ li r0, 0
-/* 804532B0 004501F0 90 7E 00 14 */ stw r3, 0x14(r30)
-/* 804532B4 004501F4 38 7E 04 64 */ addi r3, r30, 0x464
-/* 804532B8 004501F8 90 1E 00 18 */ stw r0, 0x18(r30)
-/* 804532BC 004501FC 4B C9 C8 AD */ bl OSLockMutex
-/* 804532C0 00450200 28 1B 00 00 */ cmplwi r27, 0
-/* 804532C4 00450204 41 82 00 64 */ beq .L_80453328
-/* 804532C8 00450208 7F 63 DB 78 */ mr r3, r27
-/* 804532CC 0045020C 81 9B 00 00 */ lwz r12, 0(r27)
-/* 804532D0 00450210 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 804532D4 00450214 7D 89 03 A6 */ mtctr r12
-/* 804532D8 00450218 4E 80 04 21 */ bctrl
-/* 804532DC 0045021C 28 03 00 40 */ cmplwi r3, 0x40
-/* 804532E0 00450220 40 81 00 18 */ ble .L_804532F8
-/* 804532E4 00450224 38 7F 00 0C */ addi r3, r31, 0xc
-/* 804532E8 00450228 38 BF 00 1C */ addi r5, r31, 0x1c
-/* 804532EC 0045022C 38 80 01 02 */ li r4, 0x102
-/* 804532F0 00450230 4C C6 31 82 */ crclr 6
-/* 804532F4 00450234 4B BD 73 4D */ bl panic_f__12JUTExceptionFPCciPCce
-.L_804532F8:
-/* 804532F8 00450238 38 1E 00 20 */ addi r0, r30, 0x20
-/* 804532FC 0045023C 7F 63 DB 78 */ mr r3, r27
-/* 80453300 00450240 90 1E 00 1C */ stw r0, 0x1c(r30)
-/* 80453304 00450244 81 9B 00 00 */ lwz r12, 0(r27)
-/* 80453308 00450248 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 8045330C 0045024C 7D 89 03 A6 */ mtctr r12
-/* 80453310 00450250 4E 80 04 21 */ bctrl
-/* 80453314 00450254 7C 65 1B 78 */ mr r5, r3
-/* 80453318 00450258 7F 64 DB 78 */ mr r4, r27
-/* 8045331C 0045025C 38 7E 00 20 */ addi r3, r30, 0x20
-/* 80453320 00450260 4B BB 1E 7D */ bl memcpy
-/* 80453324 00450264 48 00 00 38 */ b .L_8045335C
-.L_80453328:
-/* 80453328 00450268 80 1E 00 1C */ lwz r0, 0x1c(r30)
-/* 8045332C 0045026C 28 00 00 00 */ cmplwi r0, 0
-/* 80453330 00450270 41 82 00 24 */ beq .L_80453354
-/* 80453334 00450274 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453338 00450278 4B C9 C8 31 */ bl OSLockMutex
-/* 8045333C 0045027C 38 7E 00 20 */ addi r3, r30, 0x20
-/* 80453340 00450280 38 80 00 CD */ li r4, 0xcd
-/* 80453344 00450284 38 A0 00 40 */ li r5, 0x40
-/* 80453348 00450288 4B BB 1D 6D */ bl memset
-/* 8045334C 0045028C 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453350 00450290 4B C9 C8 F5 */ bl OSUnlockMutex
-.L_80453354:
-/* 80453354 00450294 38 00 00 00 */ li r0, 0
-/* 80453358 00450298 90 1E 00 1C */ stw r0, 0x1c(r30)
-.L_8045335C:
-/* 8045335C 0045029C 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453360 004502A0 4B C9 C8 E5 */ bl OSUnlockMutex
-/* 80453364 004502A4 83 7B 00 0C */ lwz r27, 0xc(r27)
-/* 80453368 004502A8 38 7E 04 64 */ addi r3, r30, 0x464
-/* 8045336C 004502AC 4B C9 C7 FD */ bl OSLockMutex
-/* 80453370 004502B0 28 1B 00 00 */ cmplwi r27, 0
-/* 80453374 004502B4 41 82 00 9C */ beq .L_80453410
-/* 80453378 004502B8 7F 63 DB 78 */ mr r3, r27
-/* 8045337C 004502BC 81 9B 00 00 */ lwz r12, 0(r27)
-/* 80453380 004502C0 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80453384 004502C4 7D 89 03 A6 */ mtctr r12
-/* 80453388 004502C8 4E 80 04 21 */ bctrl
-/* 8045338C 004502CC 28 03 04 00 */ cmplwi r3, 0x400
-/* 80453390 004502D0 41 81 00 3C */ bgt .L_804533CC
-/* 80453394 004502D4 38 1E 00 64 */ addi r0, r30, 0x64
-/* 80453398 004502D8 7F 63 DB 78 */ mr r3, r27
-/* 8045339C 004502DC 90 1E 00 60 */ stw r0, 0x60(r30)
-/* 804533A0 004502E0 81 9B 00 00 */ lwz r12, 0(r27)
-/* 804533A4 004502E4 81 8C 00 08 */ lwz r12, 8(r12)
-/* 804533A8 004502E8 7D 89 03 A6 */ mtctr r12
-/* 804533AC 004502EC 4E 80 04 21 */ bctrl
-/* 804533B0 004502F0 7C 65 1B 78 */ mr r5, r3
-/* 804533B4 004502F4 7F 64 DB 78 */ mr r4, r27
-/* 804533B8 004502F8 38 7E 00 64 */ addi r3, r30, 0x64
-/* 804533BC 004502FC 4B BB 1D E1 */ bl memcpy
-/* 804533C0 00450300 80 7E 00 60 */ lwz r3, 0x60(r30)
-/* 804533C4 00450304 4B EB C2 09 */ bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
-/* 804533C8 00450308 48 00 00 50 */ b .L_80453418
-.L_804533CC:
-/* 804533CC 0045030C 7F 63 DB 78 */ mr r3, r27
-/* 804533D0 00450310 38 81 00 14 */ addi r4, r1, 0x14
-/* 804533D4 00450314 4B EB BF C9 */ bl getMemberName__Q32og6Screen14DispMemberBaseFPc
-/* 804533D8 00450318 7F 63 DB 78 */ mr r3, r27
-/* 804533DC 0045031C 81 9B 00 00 */ lwz r12, 0(r27)
-/* 804533E0 00450320 81 8C 00 08 */ lwz r12, 8(r12)
-/* 804533E4 00450324 7D 89 03 A6 */ mtctr r12
-/* 804533E8 00450328 4E 80 04 21 */ bctrl
-/* 804533EC 0045032C 7C 67 1B 78 */ mr r7, r3
-/* 804533F0 00450330 38 7F 00 0C */ addi r3, r31, 0xc
-/* 804533F4 00450334 38 BF 00 28 */ addi r5, r31, 0x28
-/* 804533F8 00450338 38 C1 00 14 */ addi r6, r1, 0x14
-/* 804533FC 0045033C 38 80 01 25 */ li r4, 0x125
-/* 80453400 00450340 39 00 04 00 */ li r8, 0x400
-/* 80453404 00450344 4C C6 31 82 */ crclr 6
-/* 80453408 00450348 4B BD 72 39 */ bl panic_f__12JUTExceptionFPCciPCce
-/* 8045340C 0045034C 48 00 00 0C */ b .L_80453418
-.L_80453410:
-/* 80453410 00450350 38 00 00 00 */ li r0, 0
-/* 80453414 00450354 90 1E 00 60 */ stw r0, 0x60(r30)
-.L_80453418:
-/* 80453418 00450358 38 7E 04 64 */ addi r3, r30, 0x464
-/* 8045341C 0045035C 4B C9 C8 29 */ bl OSUnlockMutex
-/* 80453420 00450360 48 00 03 14 */ b .L_80453734
-.L_80453424:
-/* 80453424 00450364 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453428 00450368 4B C9 C7 41 */ bl OSLockMutex
-/* 8045342C 0045036C 7F C3 F3 78 */ mr r3, r30
-/* 80453430 00450370 4B FB E1 A1 */ bl del__5CNodeFv
-/* 80453434 00450374 7F C4 F3 78 */ mr r4, r30
-/* 80453438 00450378 38 7A 00 44 */ addi r3, r26, 0x44
-/* 8045343C 0045037C 4B FB DF CD */ bl add__5CNodeFP5CNode
-/* 80453440 00450380 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453444 00450384 4B C9 C8 01 */ bl OSUnlockMutex
-/* 80453448 00450388 80 7B 00 0C */ lwz r3, 0xc(r27)
-/* 8045344C 0045038C 28 03 00 00 */ cmplwi r3, 0
-/* 80453450 00450390 41 82 00 08 */ beq .L_80453458
-/* 80453454 00450394 4B EB C1 79 */ bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
-.L_80453458:
-/* 80453458 00450398 80 BB 00 0C */ lwz r5, 0xc(r27)
-/* 8045345C 0045039C 7F 43 D3 78 */ mr r3, r26
-/* 80453460 004503A0 7F 64 DB 78 */ mr r4, r27
-/* 80453464 004503A4 4B FF FB 15 */ bl changeScene__Q26Screen3MgrFRQ26Screen11SetSceneArgPUc
-/* 80453468 004503A8 48 00 02 CC */ b .L_80453734
-.L_8045346C:
-/* 8045346C 004503AC 80 1A 00 1C */ lwz r0, 0x1c(r26)
-/* 80453470 004503B0 28 00 00 00 */ cmplwi r0, 0
-/* 80453474 004503B4 41 82 02 7C */ beq .L_804536F0
-/* 80453478 004503B8 83 BA 00 54 */ lwz r29, 0x54(r26)
-/* 8045347C 004503BC 28 1D 00 00 */ cmplwi r29, 0
-/* 80453480 004503C0 40 82 00 18 */ bne .L_80453498
-/* 80453484 004503C4 38 7F 00 0C */ addi r3, r31, 0xc
-/* 80453488 004503C8 38 BF 00 C4 */ addi r5, r31, 0xc4
-/* 8045348C 004503CC 38 80 02 67 */ li r4, 0x267
-/* 80453490 004503D0 4C C6 31 82 */ crclr 6
-/* 80453494 004503D4 4B BD 71 AD */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80453498:
-/* 80453498 004503D8 28 1D 00 00 */ cmplwi r29, 0
-/* 8045349C 004503DC 41 82 00 2C */ beq .L_804534C8
-/* 804534A0 004503E0 38 7D 04 64 */ addi r3, r29, 0x464
-/* 804534A4 004503E4 4B C9 C6 C5 */ bl OSLockMutex
-/* 804534A8 004503E8 7F A3 EB 78 */ mr r3, r29
-/* 804534AC 004503EC 4B FB E1 25 */ bl del__5CNodeFv
-/* 804534B0 004503F0 7F A4 EB 78 */ mr r4, r29
-/* 804534B4 004503F4 38 7A 00 2C */ addi r3, r26, 0x2c
-/* 804534B8 004503F8 4B FB DF 51 */ bl add__5CNodeFP5CNode
-/* 804534BC 004503FC 38 7D 04 64 */ addi r3, r29, 0x464
-/* 804534C0 00450400 4B C9 C7 85 */ bl OSUnlockMutex
-/* 804534C4 00450404 48 00 00 18 */ b .L_804534DC
-.L_804534C8:
-/* 804534C8 00450408 38 7F 00 0C */ addi r3, r31, 0xc
-/* 804534CC 0045040C 38 BF 00 E8 */ addi r5, r31, 0xe8
-/* 804534D0 00450410 38 80 02 72 */ li r4, 0x272
-/* 804534D4 00450414 4C C6 31 82 */ crclr 6
-/* 804534D8 00450418 4B BD 71 69 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_804534DC:
-/* 804534DC 0045041C 28 1D 00 00 */ cmplwi r29, 0
-/* 804534E0 00450420 41 82 01 E4 */ beq .L_804536C4
-/* 804534E4 00450424 38 7E 04 64 */ addi r3, r30, 0x464
-/* 804534E8 00450428 4B C9 C6 81 */ bl OSLockMutex
-/* 804534EC 0045042C 38 7F 00 68 */ addi r3, r31, 0x68
-/* 804534F0 00450430 38 00 00 02 */ li r0, 2
-/* 804534F4 00450434 90 7E 00 14 */ stw r3, 0x14(r30)
-/* 804534F8 00450438 38 7E 04 64 */ addi r3, r30, 0x464
-/* 804534FC 0045043C 90 1E 00 18 */ stw r0, 0x18(r30)
-/* 80453500 00450440 4B C9 C6 69 */ bl OSLockMutex
-/* 80453504 00450444 80 1E 00 1C */ lwz r0, 0x1c(r30)
-/* 80453508 00450448 28 00 00 00 */ cmplwi r0, 0
-/* 8045350C 0045044C 41 82 00 24 */ beq .L_80453530
-/* 80453510 00450450 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453514 00450454 4B C9 C6 55 */ bl OSLockMutex
-/* 80453518 00450458 38 7E 00 20 */ addi r3, r30, 0x20
-/* 8045351C 0045045C 38 80 00 CD */ li r4, 0xcd
-/* 80453520 00450460 38 A0 00 40 */ li r5, 0x40
-/* 80453524 00450464 4B BB 1B 91 */ bl memset
-/* 80453528 00450468 38 7E 04 64 */ addi r3, r30, 0x464
-/* 8045352C 0045046C 4B C9 C7 19 */ bl OSUnlockMutex
-.L_80453530:
-/* 80453530 00450470 38 00 00 00 */ li r0, 0
-/* 80453534 00450474 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453538 00450478 90 1E 00 1C */ stw r0, 0x1c(r30)
-/* 8045353C 0045047C 4B C9 C7 09 */ bl OSUnlockMutex
-/* 80453540 00450480 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453544 00450484 4B C9 C7 01 */ bl OSUnlockMutex
-/* 80453548 00450488 38 7F 00 50 */ addi r3, r31, 0x50
-/* 8045354C 0045048C 38 00 00 00 */ li r0, 0
-/* 80453550 00450490 90 7D 00 14 */ stw r3, 0x14(r29)
-/* 80453554 00450494 38 7D 04 64 */ addi r3, r29, 0x464
-/* 80453558 00450498 90 1D 00 18 */ stw r0, 0x18(r29)
-/* 8045355C 0045049C 4B C9 C6 0D */ bl OSLockMutex
-/* 80453560 004504A0 28 1B 00 00 */ cmplwi r27, 0
-/* 80453564 004504A4 41 82 00 64 */ beq .L_804535C8
-/* 80453568 004504A8 7F 63 DB 78 */ mr r3, r27
-/* 8045356C 004504AC 81 9B 00 00 */ lwz r12, 0(r27)
-/* 80453570 004504B0 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 80453574 004504B4 7D 89 03 A6 */ mtctr r12
-/* 80453578 004504B8 4E 80 04 21 */ bctrl
-/* 8045357C 004504BC 28 03 00 40 */ cmplwi r3, 0x40
-/* 80453580 004504C0 40 81 00 18 */ ble .L_80453598
-/* 80453584 004504C4 38 7F 00 0C */ addi r3, r31, 0xc
-/* 80453588 004504C8 38 BF 00 1C */ addi r5, r31, 0x1c
-/* 8045358C 004504CC 38 80 01 02 */ li r4, 0x102
-/* 80453590 004504D0 4C C6 31 82 */ crclr 6
-/* 80453594 004504D4 4B BD 70 AD */ bl panic_f__12JUTExceptionFPCciPCce
-.L_80453598:
-/* 80453598 004504D8 38 1D 00 20 */ addi r0, r29, 0x20
-/* 8045359C 004504DC 7F 63 DB 78 */ mr r3, r27
-/* 804535A0 004504E0 90 1D 00 1C */ stw r0, 0x1c(r29)
-/* 804535A4 004504E4 81 9B 00 00 */ lwz r12, 0(r27)
-/* 804535A8 004504E8 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 804535AC 004504EC 7D 89 03 A6 */ mtctr r12
-/* 804535B0 004504F0 4E 80 04 21 */ bctrl
-/* 804535B4 004504F4 7C 65 1B 78 */ mr r5, r3
-/* 804535B8 004504F8 7F 64 DB 78 */ mr r4, r27
-/* 804535BC 004504FC 38 7D 00 20 */ addi r3, r29, 0x20
-/* 804535C0 00450500 4B BB 1B DD */ bl memcpy
-/* 804535C4 00450504 48 00 00 38 */ b .L_804535FC
-.L_804535C8:
-/* 804535C8 00450508 80 1D 00 1C */ lwz r0, 0x1c(r29)
-/* 804535CC 0045050C 28 00 00 00 */ cmplwi r0, 0
-/* 804535D0 00450510 41 82 00 24 */ beq .L_804535F4
-/* 804535D4 00450514 38 7D 04 64 */ addi r3, r29, 0x464
-/* 804535D8 00450518 4B C9 C5 91 */ bl OSLockMutex
-/* 804535DC 0045051C 38 7D 00 20 */ addi r3, r29, 0x20
-/* 804535E0 00450520 38 80 00 CD */ li r4, 0xcd
-/* 804535E4 00450524 38 A0 00 40 */ li r5, 0x40
-/* 804535E8 00450528 4B BB 1A CD */ bl memset
-/* 804535EC 0045052C 38 7D 04 64 */ addi r3, r29, 0x464
-/* 804535F0 00450530 4B C9 C6 55 */ bl OSUnlockMutex
-.L_804535F4:
-/* 804535F4 00450534 38 00 00 00 */ li r0, 0
-/* 804535F8 00450538 90 1D 00 1C */ stw r0, 0x1c(r29)
-.L_804535FC:
-/* 804535FC 0045053C 38 7D 04 64 */ addi r3, r29, 0x464
-/* 80453600 00450540 4B C9 C6 45 */ bl OSUnlockMutex
-/* 80453604 00450544 83 7B 00 0C */ lwz r27, 0xc(r27)
-/* 80453608 00450548 38 7D 04 64 */ addi r3, r29, 0x464
-/* 8045360C 0045054C 4B C9 C5 5D */ bl OSLockMutex
-/* 80453610 00450550 28 1B 00 00 */ cmplwi r27, 0
-/* 80453614 00450554 41 82 00 9C */ beq .L_804536B0
-/* 80453618 00450558 7F 63 DB 78 */ mr r3, r27
-/* 8045361C 0045055C 81 9B 00 00 */ lwz r12, 0(r27)
-/* 80453620 00450560 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80453624 00450564 7D 89 03 A6 */ mtctr r12
-/* 80453628 00450568 4E 80 04 21 */ bctrl
-/* 8045362C 0045056C 28 03 04 00 */ cmplwi r3, 0x400
-/* 80453630 00450570 41 81 00 3C */ bgt .L_8045366C
-/* 80453634 00450574 38 1D 00 64 */ addi r0, r29, 0x64
-/* 80453638 00450578 7F 63 DB 78 */ mr r3, r27
-/* 8045363C 0045057C 90 1D 00 60 */ stw r0, 0x60(r29)
-/* 80453640 00450580 81 9B 00 00 */ lwz r12, 0(r27)
-/* 80453644 00450584 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80453648 00450588 7D 89 03 A6 */ mtctr r12
-/* 8045364C 0045058C 4E 80 04 21 */ bctrl
-/* 80453650 00450590 7C 65 1B 78 */ mr r5, r3
-/* 80453654 00450594 7F 64 DB 78 */ mr r4, r27
-/* 80453658 00450598 38 7D 00 64 */ addi r3, r29, 0x64
-/* 8045365C 0045059C 4B BB 1B 41 */ bl memcpy
-/* 80453660 004505A0 80 7D 00 60 */ lwz r3, 0x60(r29)
-/* 80453664 004505A4 4B EB BF 69 */ bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
-/* 80453668 004505A8 48 00 00 50 */ b .L_804536B8
-.L_8045366C:
-/* 8045366C 004505AC 7F 63 DB 78 */ mr r3, r27
-/* 80453670 004505B0 38 81 00 08 */ addi r4, r1, 8
-/* 80453674 004505B4 4B EB BD 29 */ bl getMemberName__Q32og6Screen14DispMemberBaseFPc
-/* 80453678 004505B8 7F 63 DB 78 */ mr r3, r27
-/* 8045367C 004505BC 81 9B 00 00 */ lwz r12, 0(r27)
-/* 80453680 004505C0 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80453684 004505C4 7D 89 03 A6 */ mtctr r12
-/* 80453688 004505C8 4E 80 04 21 */ bctrl
-/* 8045368C 004505CC 7C 67 1B 78 */ mr r7, r3
-/* 80453690 004505D0 38 7F 00 0C */ addi r3, r31, 0xc
-/* 80453694 004505D4 38 BF 00 28 */ addi r5, r31, 0x28
-/* 80453698 004505D8 38 C1 00 08 */ addi r6, r1, 8
-/* 8045369C 004505DC 38 80 01 25 */ li r4, 0x125
-/* 804536A0 004505E0 39 00 04 00 */ li r8, 0x400
-/* 804536A4 004505E4 4C C6 31 82 */ crclr 6
-/* 804536A8 004505E8 4B BD 6F 99 */ bl panic_f__12JUTExceptionFPCciPCce
-/* 804536AC 004505EC 48 00 00 0C */ b .L_804536B8
-.L_804536B0:
-/* 804536B0 004505F0 38 00 00 00 */ li r0, 0
-/* 804536B4 004505F4 90 1D 00 60 */ stw r0, 0x60(r29)
-.L_804536B8:
-/* 804536B8 004505F8 38 7D 04 64 */ addi r3, r29, 0x464
-/* 804536BC 004505FC 4B C9 C5 89 */ bl OSUnlockMutex
-/* 804536C0 00450600 48 00 00 74 */ b .L_80453734
-.L_804536C4:
-/* 804536C4 00450604 38 7E 04 64 */ addi r3, r30, 0x464
-/* 804536C8 00450608 4B C9 C4 A1 */ bl OSLockMutex
-/* 804536CC 0045060C 7F C3 F3 78 */ mr r3, r30
-/* 804536D0 00450610 4B FB DF 01 */ bl del__5CNodeFv
-/* 804536D4 00450614 7F C4 F3 78 */ mr r4, r30
-/* 804536D8 00450618 38 7A 00 44 */ addi r3, r26, 0x44
-/* 804536DC 0045061C 4B FB DD 2D */ bl add__5CNodeFP5CNode
-/* 804536E0 00450620 38 7E 04 64 */ addi r3, r30, 0x464
-/* 804536E4 00450624 4B C9 C5 61 */ bl OSUnlockMutex
-/* 804536E8 00450628 3B 80 00 00 */ li r28, 0
-/* 804536EC 0045062C 48 00 00 48 */ b .L_80453734
-.L_804536F0:
-/* 804536F0 00450630 38 7E 04 64 */ addi r3, r30, 0x464
-/* 804536F4 00450634 4B C9 C4 75 */ bl OSLockMutex
-/* 804536F8 00450638 7F C3 F3 78 */ mr r3, r30
-/* 804536FC 0045063C 4B FB DE D5 */ bl del__5CNodeFv
-/* 80453700 00450640 7F C4 F3 78 */ mr r4, r30
-/* 80453704 00450644 38 7A 00 44 */ addi r3, r26, 0x44
-/* 80453708 00450648 4B FB DD 01 */ bl add__5CNodeFP5CNode
-/* 8045370C 0045064C 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453710 00450650 4B C9 C5 35 */ bl OSUnlockMutex
-/* 80453714 00450654 80 7B 00 0C */ lwz r3, 0xc(r27)
-/* 80453718 00450658 28 03 00 00 */ cmplwi r3, 0
-/* 8045371C 0045065C 41 82 00 08 */ beq .L_80453724
-/* 80453720 00450660 4B EB BE AD */ bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
-.L_80453724:
-/* 80453724 00450664 80 BB 00 0C */ lwz r5, 0xc(r27)
-/* 80453728 00450668 7F 43 D3 78 */ mr r3, r26
-/* 8045372C 0045066C 7F 64 DB 78 */ mr r4, r27
-/* 80453730 00450670 4B FF F8 49 */ bl changeScene__Q26Screen3MgrFRQ26Screen11SetSceneArgPUc
-.L_80453734:
-/* 80453734 00450674 38 7E 04 64 */ addi r3, r30, 0x464
-/* 80453738 00450678 4B C9 C5 0D */ bl OSUnlockMutex
-/* 8045373C 0045067C 48 00 00 08 */ b .L_80453744
-.L_80453740:
-/* 80453740 00450680 3B 80 00 00 */ li r28, 0
-.L_80453744:
-/* 80453744 00450684 7F 83 E3 78 */ mr r3, r28
-/* 80453748 00450688 BB 41 00 28 */ lmw r26, 0x28(r1)
-/* 8045374C 0045068C 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 80453750 00450690 7C 08 03 A6 */ mtlr r0
-/* 80453754 00450694 38 21 00 40 */ addi r1, r1, 0x40
-/* 80453758 00450698 4E 80 00 20 */ blr
-.endfn setScene__Q26Screen3MgrFRQ26Screen11SetSceneArg
-
-.fn isCurrentSceneLoading__Q26Screen3MgrFv, global
-/* 8045375C 0045069C 80 83 00 1C */ lwz r4, 0x1c(r3)
-/* 80453760 004506A0 38 60 00 00 */ li r3, 0
-/* 80453764 004506A4 28 04 00 00 */ cmplwi r4, 0
-/* 80453768 004506A8 4D 82 00 20 */ beqlr
-/* 8045376C 004506AC 80 04 01 20 */ lwz r0, 0x120(r4)
-/* 80453770 004506B0 2C 00 00 01 */ cmpwi r0, 1
-/* 80453774 004506B4 4C 82 00 20 */ bnelr
-/* 80453778 004506B8 38 60 00 01 */ li r3, 1
-/* 8045377C 004506BC 4E 80 00 20 */ blr
-.endfn isCurrentSceneLoading__Q26Screen3MgrFv
-
-.fn copyDispMember__Q26Screen3MgrFPUcPUc, global
-/* 80453780 004506C0 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 80453784 004506C4 7C 08 02 A6 */ mflr r0
-/* 80453788 004506C8 90 01 00 54 */ stw r0, 0x54(r1)
-/* 8045378C 004506CC BF 61 00 3C */ stmw r27, 0x3c(r1)
-/* 80453790 004506D0 7C 7B 1B 78 */ mr r27, r3
-/* 80453794 004506D4 7C 9F 23 78 */ mr r31, r4
-/* 80453798 004506D8 7C BE 2B 78 */ mr r30, r5
-/* 8045379C 004506DC 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 804537A0 004506E0 81 83 00 00 */ lwz r12, 0(r3)
-/* 804537A4 004506E4 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 804537A8 004506E8 7D 89 03 A6 */ mtctr r12
-/* 804537AC 004506EC 4E 80 04 21 */ bctrl
-/* 804537B0 004506F0 7C 60 1B 78 */ mr r0, r3
-/* 804537B4 004506F4 80 7B 00 1C */ lwz r3, 0x1c(r27)
-/* 804537B8 004506F8 7C 1D 03 78 */ mr r29, r0
-/* 804537BC 004506FC 81 83 00 00 */ lwz r12, 0(r3)
-/* 804537C0 00450700 81 8C 00 10 */ lwz r12, 0x10(r12)
-/* 804537C4 00450704 7D 89 03 A6 */ mtctr r12
-/* 804537C8 00450708 4E 80 04 21 */ bctrl
-/* 804537CC 0045070C 7C 60 1B 78 */ mr r0, r3
-/* 804537D0 00450710 7C 9B 23 78 */ mr r27, r4
-/* 804537D4 00450714 7C 1C 03 78 */ mr r28, r0
-/* 804537D8 00450718 7F C3 F3 78 */ mr r3, r30
-/* 804537DC 0045071C 7F A4 EB 78 */ mr r4, r29
-/* 804537E0 00450720 7F 66 DB 78 */ mr r6, r27
-/* 804537E4 00450724 7F 85 E3 78 */ mr r5, r28
-/* 804537E8 00450728 4B EB BB 35 */ bl isID__Q32og6Screen14DispMemberBaseFUlUx
-/* 804537EC 0045072C 54 60 06 3F */ clrlwi. r0, r3, 0x18
-/* 804537F0 00450730 40 82 00 20 */ bne .L_80453810
-/* 804537F4 00450734 7F C3 F3 78 */ mr r3, r30
-/* 804537F8 00450738 7F A4 EB 78 */ mr r4, r29
-/* 804537FC 0045073C 7F 66 DB 78 */ mr r6, r27
-/* 80453800 00450740 7F 85 E3 78 */ mr r5, r28
-/* 80453804 00450744 4B EB BC BD */ bl getSubMember__Q32og6Screen14DispMemberBaseFUlUx
-/* 80453808 00450748 28 03 00 00 */ cmplwi r3, 0
-/* 8045380C 0045074C 41 82 00 34 */ beq .L_80453840
-.L_80453810:
-/* 80453810 00450750 7F C3 F3 78 */ mr r3, r30
-/* 80453814 00450754 81 9E 00 00 */ lwz r12, 0(r30)
-/* 80453818 00450758 81 8C 00 08 */ lwz r12, 8(r12)
-/* 8045381C 0045075C 7D 89 03 A6 */ mtctr r12
-/* 80453820 00450760 4E 80 04 21 */ bctrl
-/* 80453824 00450764 7C 65 1B 78 */ mr r5, r3
-/* 80453828 00450768 7F E3 FB 78 */ mr r3, r31
-/* 8045382C 0045076C 7F C4 F3 78 */ mr r4, r30
-/* 80453830 00450770 4B BB 19 6D */ bl memcpy
-/* 80453834 00450774 7F E3 FB 78 */ mr r3, r31
-/* 80453838 00450778 4B EB BD 95 */ bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
-/* 8045383C 0045077C 48 00 00 90 */ b .L_804538CC
-.L_80453840:
-/* 80453840 00450780 7F C3 F3 78 */ mr r3, r30
-/* 80453844 00450784 81 9E 00 00 */ lwz r12, 0(r30)
-/* 80453848 00450788 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 8045384C 0045078C 7D 89 03 A6 */ mtctr r12
-/* 80453850 00450790 4E 80 04 21 */ bctrl
-/* 80453854 00450794 7C 64 1B 78 */ mr r4, r3
-/* 80453858 00450798 38 A1 00 14 */ addi r5, r1, 0x14
-/* 8045385C 0045079C 38 60 00 00 */ li r3, 0
-/* 80453860 004507A0 4B EA F3 6D */ bl TagToName__Q22og6ScreenFUxPc
-/* 80453864 004507A4 7F C3 F3 78 */ mr r3, r30
-/* 80453868 004507A8 81 9E 00 00 */ lwz r12, 0(r30)
-/* 8045386C 004507AC 81 8C 00 10 */ lwz r12, 0x10(r12)
-/* 80453870 004507B0 7D 89 03 A6 */ mtctr r12
-/* 80453874 004507B4 4E 80 04 21 */ bctrl
-/* 80453878 004507B8 38 A1 00 08 */ addi r5, r1, 8
-/* 8045387C 004507BC 4B EA F3 51 */ bl TagToName__Q22og6ScreenFUxPc
-/* 80453880 004507C0 7F A4 EB 78 */ mr r4, r29
-/* 80453884 004507C4 38 A1 00 2C */ addi r5, r1, 0x2c
-/* 80453888 004507C8 38 60 00 00 */ li r3, 0
-/* 8045388C 004507CC 4B EA F3 41 */ bl TagToName__Q22og6ScreenFUxPc
-/* 80453890 004507D0 7F 64 DB 78 */ mr r4, r27
-/* 80453894 004507D4 7F 83 E3 78 */ mr r3, r28
-/* 80453898 004507D8 38 A1 00 20 */ addi r5, r1, 0x20
-/* 8045389C 004507DC 4B EA F3 31 */ bl TagToName__Q22og6ScreenFUxPc
-/* 804538A0 004507E0 3C 60 80 4A */ lis r3, lbl_8049B8D4@ha
-/* 804538A4 004507E4 3C 80 80 4A */ lis r4, lbl_8049BA38@ha
-/* 804538A8 004507E8 38 A4 BA 38 */ addi r5, r4, lbl_8049BA38@l
-/* 804538AC 004507EC 38 C1 00 2C */ addi r6, r1, 0x2c
-/* 804538B0 004507F0 38 63 B8 D4 */ addi r3, r3, lbl_8049B8D4@l
-/* 804538B4 004507F4 38 E1 00 20 */ addi r7, r1, 0x20
-/* 804538B8 004507F8 39 01 00 14 */ addi r8, r1, 0x14
-/* 804538BC 004507FC 39 21 00 08 */ addi r9, r1, 8
-/* 804538C0 00450800 38 80 04 4A */ li r4, 0x44a
-/* 804538C4 00450804 4C C6 31 82 */ crclr 6
-/* 804538C8 00450808 4B BD 6D 79 */ bl panic_f__12JUTExceptionFPCciPCce
-.L_804538CC:
-/* 804538CC 0045080C BB 61 00 3C */ lmw r27, 0x3c(r1)
-/* 804538D0 00450810 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 804538D4 00450814 7C 08 03 A6 */ mtlr r0
-/* 804538D8 00450818 38 21 00 50 */ addi r1, r1, 0x50
-/* 804538DC 0045081C 4E 80 00 20 */ blr
-.endfn copyDispMember__Q26Screen3MgrFPUcPUc
-
-.fn setDispMember__Q26Screen3MgrFPQ32og6Screen14DispMemberBase, global
-/* 804538E0 00450820 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 804538E4 00450824 7C 08 02 A6 */ mflr r0
-/* 804538E8 00450828 90 01 00 14 */ stw r0, 0x14(r1)
-/* 804538EC 0045082C 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 804538F0 00450830 28 03 00 00 */ cmplwi r3, 0
-/* 804538F4 00450834 41 82 00 0C */ beq .L_80453900
-/* 804538F8 00450838 4B FF E7 C9 */ bl setDispMember__Q26Screen9SceneBaseFPQ32og6Screen14DispMemberBase
-/* 804538FC 0045083C 48 00 00 08 */ b .L_80453904
-.L_80453900:
-/* 80453900 00450840 38 60 00 00 */ li r3, 0
-.L_80453904:
-/* 80453904 00450844 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80453908 00450848 7C 08 03 A6 */ mtlr r0
-/* 8045390C 0045084C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80453910 00450850 4E 80 00 20 */ blr
-.endfn setDispMember__Q26Screen3MgrFPQ32og6Screen14DispMemberBase
-
-.fn getDispMember__Q26Screen3MgrFv, global
-/* 80453914 00450854 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 80453918 00450858 28 03 00 00 */ cmplwi r3, 0
-/* 8045391C 0045085C 41 82 00 0C */ beq .L_80453928
-/* 80453920 00450860 80 63 02 1C */ lwz r3, 0x21c(r3)
-/* 80453924 00450864 4E 80 00 20 */ blr
-.L_80453928:
-/* 80453928 00450868 38 60 00 00 */ li r3, 0
-/* 8045392C 0045086C 4E 80 00 20 */ blr
-.endfn getDispMember__Q26Screen3MgrFv
-
-.fn getSceneType__Q26Screen3MgrFv, global
-/* 80453930 00450870 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80453934 00450874 7C 08 02 A6 */ mflr r0
-/* 80453938 00450878 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8045393C 0045087C 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 80453940 00450880 28 03 00 00 */ cmplwi r3, 0
-/* 80453944 00450884 41 82 00 18 */ beq .L_8045395C
-/* 80453948 00450888 81 83 00 00 */ lwz r12, 0(r3)
-/* 8045394C 0045088C 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80453950 00450890 7D 89 03 A6 */ mtctr r12
-/* 80453954 00450894 4E 80 04 21 */ bctrl
-/* 80453958 00450898 48 00 00 08 */ b .L_80453960
-.L_8045395C:
-/* 8045395C 0045089C 38 60 00 00 */ li r3, 0
-.L_80453960:
-/* 80453960 004508A0 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80453964 004508A4 7C 08 03 A6 */ mtlr r0
-/* 80453968 004508A8 38 21 00 10 */ addi r1, r1, 0x10
-/* 8045396C 004508AC 4E 80 00 20 */ blr
-.endfn getSceneType__Q26Screen3MgrFv
-
-.fn isSceneFinish__Q26Screen3MgrFv, global
-/* 80453970 004508B0 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 80453974 004508B4 28 03 00 00 */ cmplwi r3, 0
-/* 80453978 004508B8 41 82 00 18 */ beq .L_80453990
-/* 8045397C 004508BC 80 03 01 20 */ lwz r0, 0x120(r3)
-/* 80453980 004508C0 20 00 00 04 */ subfic r0, r0, 4
-/* 80453984 004508C4 7C 00 00 34 */ cntlzw r0, r0
-/* 80453988 004508C8 54 03 D9 7E */ srwi r3, r0, 5
-/* 8045398C 004508CC 4E 80 00 20 */ blr
-.L_80453990:
-/* 80453990 004508D0 38 60 00 01 */ li r3, 1
-/* 80453994 004508D4 4E 80 00 20 */ blr
-.endfn isSceneFinish__Q26Screen3MgrFv
-
-.fn getSceneFinishState__Q26Screen3MgrFv, global
-/* 80453998 004508D8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8045399C 004508DC 7C 08 02 A6 */ mflr r0
-/* 804539A0 004508E0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 804539A4 004508E4 38 00 FF FF */ li r0, -1
-/* 804539A8 004508E8 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 804539AC 004508EC 28 03 00 00 */ cmplwi r3, 0
-/* 804539B0 004508F0 41 82 00 0C */ beq .L_804539BC
-/* 804539B4 004508F4 4B FF E8 3D */ bl getFinishState__Q26Screen9SceneBaseFv
-/* 804539B8 004508F8 7C 60 1B 78 */ mr r0, r3
-.L_804539BC:
-/* 804539BC 004508FC 7C 03 03 78 */ mr r3, r0
-/* 804539C0 00450900 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 804539C4 00450904 7C 08 03 A6 */ mtlr r0
-/* 804539C8 00450908 38 21 00 10 */ addi r1, r1, 0x10
-/* 804539CC 0045090C 4E 80 00 20 */ blr
-.endfn getSceneFinishState__Q26Screen3MgrFv
-
-.fn setGamePad__Q26Screen3MgrFP10Controller, global
-/* 804539D0 00450910 90 83 00 20 */ stw r4, 0x20(r3)
-/* 804539D4 00450914 80 83 00 1C */ lwz r4, 0x1c(r3)
-/* 804539D8 00450918 28 04 00 00 */ cmplwi r4, 0
-/* 804539DC 0045091C 4D 82 00 20 */ beqlr
-/* 804539E0 00450920 80 03 00 20 */ lwz r0, 0x20(r3)
-/* 804539E4 00450924 90 04 01 04 */ stw r0, 0x104(r4)
-/* 804539E8 00450928 4E 80 00 20 */ blr
-.endfn setGamePad__Q26Screen3MgrFP10Controller
-
-.fn setBackupScene__Q26Screen3MgrFv, global
-/* 804539EC 0045092C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 804539F0 00450930 7C 08 02 A6 */ mflr r0
-/* 804539F4 00450934 90 01 00 14 */ stw r0, 0x14(r1)
-/* 804539F8 00450938 80 63 00 1C */ lwz r3, 0x1c(r3)
-/* 804539FC 0045093C 28 03 00 00 */ cmplwi r3, 0
-/* 80453A00 00450940 41 82 00 0C */ beq .L_80453A0C
-/* 80453A04 00450944 4B FF E5 BD */ bl setBackupScene__Q26Screen9SceneBaseFv
-/* 80453A08 00450948 48 00 00 08 */ b .L_80453A10
-.L_80453A0C:
-/* 80453A0C 0045094C 38 60 00 00 */ li r3, 0
-.L_80453A10:
-/* 80453A10 00450950 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80453A14 00450954 7C 08 03 A6 */ mtlr r0
-/* 80453A18 00450958 38 21 00 10 */ addi r1, r1, 0x10
-/* 80453A1C 0045095C 4E 80 00 20 */ blr
-.endfn setBackupScene__Q26Screen3MgrFv
-
-.fn isAnyReservation__Q26Screen3MgrCFv, global
-/* 80453A20 00450960 80 63 00 3C */ lwz r3, 0x3c(r3)
-/* 80453A24 00450964 48 00 00 24 */ b .L_80453A48
-.L_80453A28:
-/* 80453A28 00450968 80 03 00 18 */ lwz r0, 0x18(r3)
-/* 80453A2C 0045096C 2C 00 00 00 */ cmpwi r0, 0
-/* 80453A30 00450970 41 82 00 0C */ beq .L_80453A3C
-/* 80453A34 00450974 2C 00 00 01 */ cmpwi r0, 1
-/* 80453A38 00450978 40 82 00 0C */ bne .L_80453A44
-.L_80453A3C:
-/* 80453A3C 0045097C 38 60 00 01 */ li r3, 1
-/* 80453A40 00450980 4E 80 00 20 */ blr
-.L_80453A44:
-/* 80453A44 00450984 80 63 00 04 */ lwz r3, 4(r3)
-.L_80453A48:
-/* 80453A48 00450988 28 03 00 00 */ cmplwi r3, 0
-/* 80453A4C 0045098C 40 82 FF DC */ bne .L_80453A28
-/* 80453A50 00450990 38 60 00 00 */ li r3, 0
-/* 80453A54 00450994 4E 80 00 20 */ blr
-.endfn isAnyReservation__Q26Screen3MgrCFv
-
-.fn __dt__Q26Screen10MgrCommandFv, weak
-/* 80453A58 00450998 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80453A5C 0045099C 7C 08 02 A6 */ mflr r0
-/* 80453A60 004509A0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80453A64 004509A4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80453A68 004509A8 7C 9F 23 78 */ mr r31, r4
-/* 80453A6C 004509AC 93 C1 00 08 */ stw r30, 8(r1)
-/* 80453A70 004509B0 7C 7E 1B 79 */ or. r30, r3, r3
-/* 80453A74 004509B4 41 82 00 30 */ beq .L_80453AA4
-/* 80453A78 004509B8 3C 80 80 4F */ lis r4, __vt__Q26Screen10MgrCommand@ha
-/* 80453A7C 004509BC 38 04 D7 34 */ addi r0, r4, __vt__Q26Screen10MgrCommand@l
-/* 80453A80 004509C0 90 1E 00 00 */ stw r0, 0(r30)
-/* 80453A84 004509C4 4B FB DB 4D */ bl del__5CNodeFv
-/* 80453A88 004509C8 7F C3 F3 78 */ mr r3, r30
-/* 80453A8C 004509CC 38 80 00 00 */ li r4, 0
-/* 80453A90 004509D0 4B FB DA F9 */ bl __dt__5CNodeFv
-/* 80453A94 004509D4 7F E0 07 35 */ extsh. r0, r31
-/* 80453A98 004509D8 40 81 00 0C */ ble .L_80453AA4
-/* 80453A9C 004509DC 7F C3 F3 78 */ mr r3, r30
-/* 80453AA0 004509E0 4B BD 06 15 */ bl __dl__FPv
-.L_80453AA4:
-/* 80453AA4 004509E4 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80453AA8 004509E8 7F C3 F3 78 */ mr r3, r30
-/* 80453AAC 004509EC 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80453AB0 004509F0 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80453AB4 004509F4 7C 08 03 A6 */ mtlr r0
-/* 80453AB8 004509F8 38 21 00 10 */ addi r1, r1, 0x10
-/* 80453ABC 004509FC 4E 80 00 20 */ blr
-.endfn __dt__Q26Screen10MgrCommandFv
-
-.fn __sinit_screenMgr_cpp, local
-/* 80453AC0 00450A00 3C 80 80 51 */ lis r4, __float_nan@ha
-/* 80453AC4 00450A04 38 00 FF FF */ li r0, -1
-/* 80453AC8 00450A08 C0 04 48 B0 */ lfs f0, __float_nan@l(r4)
-/* 80453ACC 00450A0C 3C 60 80 4F */ lis r3, govNAN___Q24Game5P2JST@ha
-/* 80453AD0 00450A10 90 0D 9C 60 */ stw r0, gu32NAN___Q24Game5P2JST@sda21(r13)
-/* 80453AD4 00450A14 D4 03 D6 F8 */ stfsu f0, govNAN___Q24Game5P2JST@l(r3)
-/* 80453AD8 00450A18 D0 0D 9C 64 */ stfs f0, gfNAN___Q24Game5P2JST@sda21(r13)
-/* 80453ADC 00450A1C D0 03 00 04 */ stfs f0, 4(r3)
-/* 80453AE0 00450A20 D0 03 00 08 */ stfs f0, 8(r3)
-/* 80453AE4 00450A24 4E 80 00 20 */ blr
-.endfn __sinit_screenMgr_cpp
diff --git a/configure.py b/configure.py
index 46d621af7..533ad28e6 100755
--- a/configure.py
+++ b/configure.py
@@ -1624,7 +1624,7 @@ LIBS = [
["sysGCU/captionMgr", True],
["sysGCU/captionMessage", True],
["sysGCU/screenScene", True],
- ["sysGCU/screenMgr", False],
+ ["sysGCU/screenMgr", True],
["sysGCU/screenObj", True],
["sysGCU/JSTObjectParticleActor", False],
["sysGCU/moviePlayerAudio", True],
diff --git a/docs/recommended_todo.md b/docs/recommended_todo.md
index dcea69919..465cc1803 100644
--- a/docs/recommended_todo.md
+++ b/docs/recommended_todo.md
@@ -47,7 +47,7 @@
| JAudio//JAI/JAIBasic.cpp | 31011 | JStudio_JStage/object-actor.cpp | 35187 |
| J3D/J3DMaterialFactory_v21.cpp | 35247 | JMessage/processor.cpp | 35637 |
| JParticle/JPAParticle.cpp | 36971 | J2D/J2DMaterialFactory.cpp | 39462 |
-| JAudio//JAS/JASAramStream.cpp | 40290 | J2D/J2DPicture.cpp | 46511 |
+| JAudio//JAS/JASAramStream.cpp | 41169 | J2D/J2DPicture.cpp | 46511 |
| J2D/J2DWindowEx.cpp | 47225 | JAudio//JAS/JASSeqParser.cpp | 48617 |
| JStudio/functionvalue.cpp | 50054 | JAudio//JAI/JAIStreamMgr.cpp | 52981 |
| JAudio//JAI/JAISound.cpp | 56856 | JParticle/JPAFieldBlock.cpp | 58986 |
@@ -188,8 +188,8 @@
| moviePlayer.cpp | 26325 | memoryCard.cpp | 32750 |
| system.cpp | 32972 | windowMessage.cpp | 37900 |
| bootSection.cpp | 38565 | movieMessage.cpp | 44324 |
-| screenMgr.cpp | 50710 | pikmin2MemoryCardMgr.cpp | 50877 |
-| graphics.cpp | 76185 | messageRendering.cpp | 102011 |
+| pikmin2MemoryCardMgr.cpp | 50877 | graphics.cpp | 76185 |
+| messageRendering.cpp | 102011 | | |
###
| File | Size (bytes) | File | Size (bytes) |
diff --git a/include/Screen/SceneInfoList.h b/include/Screen/SceneInfoList.h
index 1c762babd..cff0ffdd8 100644
--- a/include/Screen/SceneInfoList.h
+++ b/include/Screen/SceneInfoList.h
@@ -17,9 +17,7 @@ namespace Screen {
struct SceneInfoList : public CNode {
SceneInfoList();
- virtual ~SceneInfoList(); // _00
-
- // virtual void _08() = 0; // _08
+ virtual ~SceneInfoList() { } // _00
void set(s32, og::Screen::DispMemberBase*);
diff --git a/include/Screen/screenMgr.h b/include/Screen/screenMgr.h
index 55b255fc9..be7b75de8 100644
--- a/include/Screen/screenMgr.h
+++ b/include/Screen/screenMgr.h
@@ -77,6 +77,10 @@ struct Mgr : public MgrBase {
P2ASSERTLINE(280, controller);
}
+ static Mgr* sScreenMgr;
+
+ inline SceneInfoList* getFirstList() { return static_cast(mSceneInfoList.mChild); }
+
// _00 = VTBL
// _00-_18 = MgrBase
BitFlag mFlags; // _18
@@ -88,9 +92,7 @@ struct Mgr : public MgrBase {
CNode mCommandList; // _44
JKRSolidHeap* mCurrHeap; // _5C
CNode mBackupInfoList; // _60
- CNode mSceneInfoList; // _78, treat as SceneInfoList // NOTE: Why can't this just be SceneInfoList?
-
- static Mgr* sScreenMgr;
+ CNode mSceneInfoList; // _78, treat as SceneInfoList
};
inline void checkSceneList(SceneInfoList* list) { P2ASSERTLINE(329, list); }
diff --git a/include/Screen/screenObj.h b/include/Screen/screenObj.h
index 2b28dcbd2..e77491dca 100644
--- a/include/Screen/screenObj.h
+++ b/include/Screen/screenObj.h
@@ -58,7 +58,7 @@ struct MgrCommand : public CNode {
// _00 = VTBL
// _00-_18 = CNode
int mArgType; // _18
- char* mScreenArgBufferPtr; // _1C
+ void* mScreenArgBufferPtr; // _1C
char mScreenArgBuffer[0x40]; // _20
og::Screen::DispMemberBase* mDispBufferPtr; // _60
char mDispBuffer[0x400]; // _64
diff --git a/src/JSystem/JAudio/JAS/JASAramStream.cpp b/src/JSystem/JAudio/JAS/JASAramStream.cpp
index 0df8c1be9..ed93daafb 100644
--- a/src/JSystem/JAudio/JAS/JASAramStream.cpp
+++ b/src/JSystem/JAudio/JAS/JASAramStream.cpp
@@ -541,10 +541,45 @@ bool JASAramStream::load()
return false;
}
- // u32
- // for (int i = 0; i < _24A; i++) {
- // if (JKRAram::mainRamToAram(sReadBuffer, ))
- // }
+ u32* preBuffer = (u32*)sReadBuffer;
+ u32 size = _238 + (_1FC * sBlockSize);
+ for (int i = 0; i < _24A; i++) {
+ if (JKRMainRamToAram((u8*)(sReadBuffer + (preBuffer[1] + 0x20)), size + (i * sBlockSize * _250), ((u32*)sReadBuffer)[1], Switch_0,
+ 0, nullptr, -1, nullptr)
+ == 0) {
+ sFatalErrorFlag = true;
+ return false;
+ }
+ }
+
+ _1FC++;
+
+ if (_1FC >= _1F8) {
+ int val200 = _200 + (_1F8 - 1);
+ if (_258) {
+ while (val200 > val2) {
+ val200 = (val2 - val200) + val4;
+ }
+ }
+ if (val200 == val2 || val200 + 2 == val2) {
+ _1F8 = _250;
+ OSSendMessage(&mMsgQueueB, (void*)5, OS_MESSAGE_BLOCK);
+ } else {
+ _1F8 = _250 - 1;
+ }
+
+ for (int i = 0; i < _24A; i++) {
+ _220[0][i] = ((s16*)preBuffer)[2 * i + 4];
+ _220[1][i] = ((s16*)preBuffer)[2 * i + 5];
+ }
+ _1FC = 0;
+ }
+
+ _200++;
+ if (_200 > val2 && _258) {
+ _200 = val4;
+ }
+ return true;
/*
stwu r1, -0x30(r1)
mflr r0
@@ -781,11 +816,12 @@ s32 JASAramStream::channelProcCallback(void* stream) { return static_castgetClassSize() <= 0x40);
+
+ mScreenArgBufferPtr = mScreenArgBuffer;
+ memcpy(&mScreenArgBuffer, arg, arg->getClassSize());
+ } else {
+ if (mScreenArgBufferPtr) {
+ clearArgBuf();
+ }
+
+ mScreenArgBufferPtr = nullptr;
+ }
+
+ OSUnlockMutex(&mMutex);
}
/**
@@ -103,18 +118,18 @@ void MgrCommand::setDispMember(og::Screen::DispMemberBase* disp)
{
OSLockMutex(&mMutex);
- if (!disp) {
- mDispBufferPtr = nullptr;
- }
-
- if (disp->getSize() <= 0x400) {
- mDispBufferPtr = (og::Screen::DispMemberBase*)mDispBuffer;
- memcpy(mDispBuffer, disp, disp->getSize());
- mDispBufferPtr->setSubMemberAll();
+ if (disp) {
+ if (disp->getSize() <= 0x400) {
+ mDispBufferPtr = (og::Screen::DispMemberBase*)mDispBuffer;
+ memcpy(mDispBuffer, disp, disp->getSize());
+ mDispBufferPtr->setSubMemberAll();
+ } else {
+ char temp[12];
+ disp->getMemberName(temp);
+ JUT_PANICLINE(293, "dispMember[%s] Size over. \n %d max:%d", temp, disp->getSize(), 0x400);
+ }
} else {
- char temp[64];
- disp->getMemberName(temp);
- JUT_PANICLINE(293, "dispMember[%s] Size over. \n %d max:%d", temp, disp->getSize(), 0x400);
+ mDispBufferPtr = nullptr;
}
OSUnlockMutex(&mMutex);
@@ -129,16 +144,9 @@ void MgrCommand::setTypeSetScene(SetSceneArg& arg)
mName = "SetScene";
mArgType = CommandType_Set;
- OSLockMutex(&mMutex);
+ setArg(&arg);
- // should be arg != nullptr?
- if (arg._08) {
- P2ASSERTLINE(258, arg.getClassSize() < 0x40);
- mScreenArgBufferPtr = mScreenArgBuffer;
- memcpy(mScreenArgBufferPtr, &arg, arg.getClassSize());
- }
-
- OSUnlockMutex(&mMutex);
+ setDispMember(arg.mDispMember);
}
/**
@@ -150,20 +158,7 @@ void MgrCommand::setTypeStartScene(SceneArgBase* arg)
OSLockMutex(&mMutex);
mName = "StartScene";
mArgType = CommandType_Start;
- OSLockMutex(&mMutex);
- if (arg) {
- P2ASSERTLINE(258, arg->getClassSize() <= 0x40);
-
- mScreenArgBufferPtr = mScreenArgBuffer;
- memcpy(&mScreenArgBuffer, arg, arg->getClassSize());
- } else {
- if (mScreenArgBufferPtr) {
- clearArgBuf();
- }
-
- mScreenArgBufferPtr = nullptr;
- }
-
+ setArg(arg);
OSUnlockMutex(&mMutex);
}
@@ -176,21 +171,7 @@ void MgrCommand::setTypeEndScene(SceneArgBase* arg)
OSLockMutex(&mMutex);
mName = "EndScene";
mArgType = CommandType_End;
- OSLockMutex(&mMutex);
- if (arg) {
- P2ASSERTLINE(258, arg->getClassSize() <= 0x40);
-
- mScreenArgBufferPtr = mScreenArgBuffer;
- memcpy(&mScreenArgBuffer, arg, arg->getClassSize());
- } else {
- if (mScreenArgBufferPtr) {
- clearArgBuf();
- }
-
- mScreenArgBufferPtr = nullptr;
- }
-
- OSUnlockMutex(&mMutex);
+ setArg(arg);
OSUnlockMutex(&mMutex);
}
@@ -198,10 +179,7 @@ void MgrCommand::setTypeEndScene(SceneArgBase* arg)
* @note Address: N/A
* @note Size: 0x8C
*/
-void MgrCommand::setTypeInvalid()
-{
- // UNUSED FUNCTION
-}
+void MgrCommand::setTypeInvalid() { setTypeEndScene(nullptr); }
/**
* @note Address: 0x80452354
@@ -226,12 +204,6 @@ Mgr::Mgr()
}
}
-/**
- * @note Address: 0x80452520
- * @note Size: 0x60
- */
-SceneInfoList::~SceneInfoList() { }
-
/**
* @note Address: 0x80452580
* @note Size: 0x70
@@ -289,23 +261,27 @@ void Mgr::create()
*/
bool Mgr::startScene(StartSceneArg* arg)
{
- if (mBackupScene && mBackupScene->confirmStartScene(arg)) {
+ bool result = true;
+ if (!mBackupScene || (mBackupScene && mBackupScene->confirmStartScene(arg))) {
+ bool isReady = false;
if (mAvailableCommands.mChild) {
- return true;
+ isReady = true;
+ } else if (mBackupScene) {
+ if (!mBackupScene->start(arg)) {
+ isReady = true;
+ }
+ } else {
+ result = false;
}
- // WTF going on?
- if (mBackupScene && !mBackupScene->start(arg)) {
- return true;
+ if (isReady) {
+ Screen::MgrCommand* cmd = getNewCommand();
+ if (!cmd) {
+ result = false;
+ } else {
+ cmd->setTypeStartScene(arg);
+ }
}
-
- Screen::MgrCommand* cmd = getNewCommand();
- if (!cmd) {
- return false;
- }
-
- cmd->setTypeStartScene(arg);
- OSUnlockMutex(&cmd->mMutex);
} else {
char ownerStr[12];
og::Screen::TagToName((u32)mBackupScene->getOwnerID(), ownerStr);
@@ -313,156 +289,11 @@ bool Mgr::startScene(StartSceneArg* arg)
char memberIdStr[12];
og::Screen::TagToName(mBackupScene->getMemberID(), memberIdStr);
- JUT_PANICLINE(427, "can\'t startScene.\n owner[%s] member[%s]\n", ownerStr, memberIdStr);
+ JUT_PANICLINE(530, "can\'t startScene.\n owner[%s] member[%s]\n", ownerStr, memberIdStr);
+ result = false;
}
- return false;
- /*
- stwu r1, -0x40(r1)
- mflr r0
- lis r5, lbl_8049B8C8@ha
- stw r0, 0x44(r1)
- stmw r27, 0x2c(r1)
- mr r27, r3
- mr r28, r4
- addi r30, r5, lbl_8049B8C8@l
- li r29, 1
- lwz r3, 0x1c(r3)
- cmplwi r3, 0
- beq lbl_8045272C
- beq lbl_8045285C
- bl confirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
- clrlwi. r0, r3, 0x18
- beq lbl_8045285C
-
- lbl_8045272C:
- lwz r0, 0x3c(r27)
- li r31, 0
- cmplwi r0, 0
- beq lbl_80452744
- li r31, 1
- b lbl_8045276C
-
- lbl_80452744:
- lwz r3, 0x1c(r27)
- cmplwi r3, 0
- beq lbl_80452768
- mr r4, r28
- bl start__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
- clrlwi. r0, r3, 0x18
- bne lbl_8045276C
- li r31, 1
- b lbl_8045276C
-
- lbl_80452768:
- li r29, 0
-
- lbl_8045276C:
- clrlwi. r0, r31, 0x18
- beq lbl_804528BC
- mr r3, r27
- bl getNewCommand__Q26Screen3MgrFv
- or. r31, r3, r3
- bne lbl_8045278C
- li r29, 0
- b lbl_804528BC
-
- lbl_8045278C:
- addi r3, r31, 0x464
- bl OSLockMutex
- addi r3, r30, 0x5c
- li r0, 1
- stw r3, 0x14(r31)
- addi r3, r31, 0x464
- stw r0, 0x18(r31)
- bl OSLockMutex
- cmplwi r28, 0
- beq lbl_80452814
- mr r3, r28
- lwz r12, 0(r28)
- lwz r12, 0xc(r12)
- mtctr r12
- bctrl
- cmplwi r3, 0x40
- ble lbl_804527E4
- addi r3, r30, 0xc
- addi r5, r30, 0x1c
- li r4, 0x102
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
- lbl_804527E4:
- addi r0, r31, 0x20
- mr r3, r28
- stw r0, 0x1c(r31)
- lwz r12, 0(r28)
- lwz r12, 0xc(r12)
- mtctr r12
- bctrl
- mr r5, r3
- mr r4, r28
- addi r3, r31, 0x20
- bl memcpy
- b lbl_80452848
-
- lbl_80452814:
- lwz r0, 0x1c(r31)
- cmplwi r0, 0
- beq lbl_80452840
- addi r3, r31, 0x464
- bl OSLockMutex
- addi r3, r31, 0x20
- li r4, 0xcd
- li r5, 0x40
- bl memset
- addi r3, r31, 0x464
- bl OSUnlockMutex
-
- lbl_80452840:
- li r0, 0
- stw r0, 0x1c(r31)
-
- lbl_80452848:
- addi r3, r31, 0x464
- bl OSUnlockMutex
- addi r3, r31, 0x464
- bl OSUnlockMutex
- b lbl_804528BC
-
- lbl_8045285C:
- lwz r3, 0x1c(r27)
- lwz r12, 0(r3)
- lwz r12, 0xc(r12)
- mtctr r12
- bctrl
- mr r4, r3
- addi r5, r1, 0x14
- li r3, 0
- bl TagToName__Q22og6ScreenFUxPc
- lwz r3, 0x1c(r27)
- lwz r12, 0(r3)
- lwz r12, 0x10(r12)
- mtctr r12
- bctrl
- addi r5, r1, 8
- bl TagToName__Q22og6ScreenFUxPc
- addi r3, r30, 0xc
- addi r5, r30, 0x98
- addi r6, r1, 0x14
- addi r7, r1, 8
- li r4, 0x212
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
- li r29, 0
-
- lbl_804528BC:
- mr r3, r29
- lmw r27, 0x2c(r1)
- lwz r0, 0x44(r1)
- mtlr r0
- addi r1, r1, 0x40
- blr
- */
+ return result;
}
/**
@@ -472,136 +303,32 @@ bool Mgr::startScene(StartSceneArg* arg)
bool Mgr::endScene(Screen::EndSceneArg* arg)
{
bool ret = true;
- if (mBackupScene && mBackupScene->confirmEndScene(arg)) {
+ if (!mBackupScene || (mBackupScene && mBackupScene->confirmEndScene(arg))) {
+
+ bool isReady = false;
+ if (mAvailableCommands.mChild) {
+ isReady = true;
+ } else if (mBackupScene) {
+ if (!mBackupScene->end(arg)) {
+ isReady = true;
+ }
+ } else {
+ ret = false;
+ }
+
+ if (isReady) {
+ Screen::MgrCommand* cmd = getNewCommand();
+ if (!cmd) {
+ ret = false;
+ } else {
+ cmd->setTypeEndScene(arg);
+ }
+ }
- getNewCommand()->setTypeEndScene(arg);
} else {
ret = false;
}
return ret;
- /*
- stwu r1, -0x20(r1)
- mflr r0
- lis r5, lbl_8049B8C8@ha
- stw r0, 0x24(r1)
- stmw r27, 0xc(r1)
- mr r27, r3
- mr r28, r4
- addi r30, r5, lbl_8049B8C8@l
- li r29, 1
- lwz r3, 0x1c(r3)
- cmplwi r3, 0
- beq lbl_80452914
- beq lbl_80452A44
- bl confirmEndScene__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
- clrlwi. r0, r3, 0x18
- beq lbl_80452A44
-
-lbl_80452914:
- lwz r0, 0x3c(r27)
- li r31, 0
- cmplwi r0, 0
- beq lbl_8045292C
- li r31, 1
- b lbl_80452954
-
-lbl_8045292C:
- lwz r3, 0x1c(r27)
- cmplwi r3, 0
- beq lbl_80452950
- mr r4, r28
- bl end__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
- clrlwi. r0, r3, 0x18
- bne lbl_80452954
- li r31, 1
- b lbl_80452954
-
-lbl_80452950:
- li r29, 0
-
-lbl_80452954:
- clrlwi. r0, r31, 0x18
- beq lbl_80452A48
- mr r3, r27
- bl getNewCommand__Q26Screen3MgrFv
- or. r31, r3, r3
- bne lbl_80452974
- li r29, 0
- b lbl_80452A48
-
-lbl_80452974:
- addi r3, r31, 0x464
- bl OSLockMutex
- addi r3, r30, 0x68
- li r0, 2
- stw r3, 0x14(r31)
- addi r3, r31, 0x464
- stw r0, 0x18(r31)
- bl OSLockMutex
- cmplwi r28, 0
- beq lbl_804529FC
- mr r3, r28
- lwz r12, 0(r28)
- lwz r12, 0xc(r12)
- mtctr r12
- bctrl
- cmplwi r3, 0x40
- ble lbl_804529CC
- addi r3, r30, 0xc
- addi r5, r30, 0x1c
- li r4, 0x102
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_804529CC:
- addi r0, r31, 0x20
- mr r3, r28
- stw r0, 0x1c(r31)
- lwz r12, 0(r28)
- lwz r12, 0xc(r12)
- mtctr r12
- bctrl
- mr r5, r3
- mr r4, r28
- addi r3, r31, 0x20
- bl memcpy
- b lbl_80452A30
-
-lbl_804529FC:
- lwz r0, 0x1c(r31)
- cmplwi r0, 0
- beq lbl_80452A28
- addi r3, r31, 0x464
- bl OSLockMutex
- addi r3, r31, 0x20
- li r4, 0xcd
- li r5, 0x40
- bl memset
- addi r3, r31, 0x464
- bl OSUnlockMutex
-
-lbl_80452A28:
- li r0, 0
- stw r0, 0x1c(r31)
-
-lbl_80452A30:
- addi r3, r31, 0x464
- bl OSUnlockMutex
- addi r3, r31, 0x464
- bl OSUnlockMutex
- b lbl_80452A48
-
-lbl_80452A44:
- li r29, 0
-
-lbl_80452A48:
- mr r3, r29
- lmw r27, 0xc(r1)
- lwz r0, 0x24(r1)
- mtlr r0
- addi r1, r1, 0x20
- blr
- */
}
/**
@@ -659,223 +386,69 @@ void Mgr::updateCurrentScene()
*/
void Mgr::update()
{
- JUT_PANICLINE(999, "Mismatch arg. current scene:%d arg:%d\n"); // temp for rodata
- /*
- stwu r1, -0x20(r1)
- mflr r0
- stw r0, 0x24(r1)
- stw r31, 0x1c(r1)
- mr r31, r3
- lis r3, lbl_8049B8C8@ha
- stw r30, 0x18(r1)
- stw r29, 0x14(r1)
- addi r29, r3, lbl_8049B8C8@l
- stw r28, 0x10(r1)
- lwz r4, 0x20(r31)
- lwz r28, 0x3c(r31)
- cmplwi r4, 0
- beq lbl_80452BC0
- lwz r0, 0x1c(r4)
- rlwinm. r0, r0, 0, 0x13, 0x13
- beq lbl_80452BC0
- mr r3, r28
- b lbl_80452BB8
-
- lbl_80452BB4:
- lwz r3, 4(r3)
-
- lbl_80452BB8:
- cmplwi r3, 0
- bne lbl_80452BB4
-
- lbl_80452BC0:
- cmplwi r28, 0
- beq lbl_80452E10
- addi r3, r28, 0x464
- bl OSLockMutex
- lwz r0, 0x18(r28)
- lwz r3, 0x1c(r31)
- cmpwi r0, 1
- beq lbl_80452C68
- bge lbl_80452BF4
- cmpwi r0, -1
- beq lbl_80452E08
- bge lbl_80452C00
- b lbl_80452DF4
-
- lbl_80452BF4:
- cmpwi r0, 3
- bge lbl_80452DF4
- b lbl_80452D4C
-
- lbl_80452C00:
- lwz r29, 0x1c(r28)
- mr r3, r31
- bl isCurrentSceneLoading__Q26Screen3MgrFv
- clrlwi. r0, r3, 0x18
- bne lbl_80452E08
- lbz r0, 8(r29)
- cmplwi r0, 0
- bne lbl_80452C30
- mr r3, r31
- bl isSceneFinish__Q26Screen3MgrFv
- clrlwi. r0, r3, 0x18
- beq lbl_80452E08
-
- lbl_80452C30:
- lwz r5, 0x60(r28)
- mr r3, r31
- mr r4, r29
- bl changeScene__Q26Screen3MgrFRQ26Screen11SetSceneArgPUc
- addi r3, r28, 0x464
- bl OSLockMutex
- mr r3, r28
- bl del__5CNodeFv
- mr r4, r28
- addi r3, r31, 0x44
- bl add__5CNodeFP5CNode
- addi r3, r28, 0x464
- bl OSUnlockMutex
- b lbl_80452E08
-
- lbl_80452C68:
- cmplwi r3, 0
- bne lbl_80452C84
- addi r3, r29, 0xc
- addi r5, r29, 0x1c
- li r4, 0x2d6
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
- lbl_80452C84:
- lwz r3, 0x1c(r28)
- cmplwi r3, 0
- beq lbl_80452D08
- lwz r12, 0(r3)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- mr r30, r3
- lwz r3, 0x1c(r31)
- lwz r12, 0(r3)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- cmpw r3, r30
- beq lbl_80452D08
- lwz r3, 0x1c(r28)
- lwz r12, 0(r3)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- mr r30, r3
- lwz r3, 0x1c(r31)
- lwz r12, 0(r3)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- mr r6, r3
- mr r7, r30
- addi r3, r29, 0xc
- addi r5, r29, 0x110
- li r4, 0x2de
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
- lbl_80452D08:
- lwz r3, 0x1c(r31)
- lwz r4, 0x1c(r28)
- bl start__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
- clrlwi. r0, r3, 0x18
- beq lbl_80452E08
- addi r3, r28, 0x464
- bl OSLockMutex
- mr r3, r28
- bl del__5CNodeFv
- mr r4, r28
- addi r3, r31, 0x44
- bl add__5CNodeFP5CNode
- addi r3, r28, 0x464
- bl OSUnlockMutex
- lwz r3, 0x1c(r31)
- bl update__Q26Screen9SceneBaseFv
- b lbl_80452E08
-
- lbl_80452D4C:
- cmplwi r3, 0
- bne lbl_80452D68
- addi r3, r29, 0xc
- addi r5, r29, 0x1c
- li r4, 0x2f3
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
- lbl_80452D68:
- lwz r3, 0x1c(r28)
- cmplwi r3, 0
- beq lbl_80452DB8
- lwz r12, 0(r3)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- mr r30, r3
- lwz r3, 0x1c(r31)
- lwz r12, 0(r3)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- cmpw r3, r30
- beq lbl_80452DB8
- addi r3, r29, 0xc
- addi r5, r29, 0x1c
- li r4, 0x2f7
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
- lbl_80452DB8:
- lwz r3, 0x1c(r31)
- lwz r4, 0x1c(r28)
- bl end__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
- clrlwi. r0, r3, 0x18
- beq lbl_80452E08
- addi r3, r28, 0x464
- bl OSLockMutex
- mr r3, r28
- bl del__5CNodeFv
- mr r4, r28
- addi r3, r31, 0x44
- bl add__5CNodeFP5CNode
- addi r3, r28, 0x464
- bl OSUnlockMutex
- b lbl_80452E08
-
- lbl_80452DF4:
- addi r3, r29, 0xc
- addi r5, r29, 0x1c
- li r4, 0x30d
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
- lbl_80452E08:
- addi r3, r28, 0x464
- bl OSUnlockMutex
-
- lbl_80452E10:
- lwz r3, 0x1c(r31)
- cmplwi r3, 0
- beq lbl_80452E20
- bl update__Q26Screen9SceneBaseFv
-
- lbl_80452E20:
- lwz r0, 0x24(r1)
- lwz r31, 0x1c(r1)
- lwz r30, 0x18(r1)
- lwz r29, 0x14(r1)
- lwz r28, 0x10(r1)
- mtlr r0
- addi r1, r1, 0x20
- blr
- */
+ MgrCommand* cmd = static_cast(mAvailableCommands.mChild);
+ if (mController && mController->isButtonDown(Controller::PRESS_START)) {
+ MgrCommand* tmp = cmd;
+ while (tmp) {
+ tmp = static_cast(tmp->mNext);
+ }
+ }
+ if (cmd) {
+ OSLockMutex(&cmd->mMutex);
+ SceneBase* scene = mBackupScene;
+ switch (cmd->mArgType) {
+ case MgrCommand::CommandType_Set: {
+ SetSceneArg* arg = static_cast(cmd->mScreenArgBufferPtr);
+
+ if (!isCurrentSceneLoading() && (arg->_08 || isSceneFinish())) {
+ changeScene(*arg, (u8*)cmd->mDispBufferPtr);
+ releaseCommand(cmd);
+ }
+ } break;
+
+ case MgrCommand::CommandType_Start: {
+ P2ASSERTLINE(726, scene);
+ SetSceneArg* arg = static_cast(cmd->mScreenArgBufferPtr);
+ if (arg) {
+ if (mBackupScene->getSceneType() != arg->getSceneType()) {
+ JUT_PANICLINE(734, "Mismatch arg. current scene:%d arg:%d\n", mBackupScene->getSceneType(),
+ static_cast(cmd->mScreenArgBufferPtr)->getSceneType());
+ }
+ }
+
+ if (mBackupScene->start(static_cast(cmd->mScreenArgBufferPtr))) {
+ releaseCommand(cmd);
+ mBackupScene->update();
+ }
+ } break;
+
+ case MgrCommand::CommandType_End: {
+ P2ASSERTLINE(755, scene);
+ SetSceneArg* arg = static_cast(cmd->mScreenArgBufferPtr);
+ if (arg) {
+ if (mBackupScene->getSceneType() != arg->getSceneType()) {
+ P2ASSERTLINE(759, false);
+ }
+ }
+ if (mBackupScene->end(static_cast(cmd->mScreenArgBufferPtr))) {
+ releaseCommand(cmd);
+ }
+ } break;
+
+ default:
+ P2ASSERTLINE(781, false);
+ break;
+
+ case MgrCommand::CommandType_NULL:
+ break;
+ }
+
+ OSUnlockMutex(&cmd->mMutex);
+ }
+
+ if (mBackupScene) {
+ mBackupScene->update();
+ }
}
/**
@@ -927,18 +500,7 @@ SceneBase* Mgr::getSceneBase(s32 type)
*/
void Mgr::createNewBackupSceneInfo(SceneBase* scene)
{
- P2ASSERTLINE(855, scene);
- SceneInfoList* info = (SceneInfoList*)mSceneInfoList.mChild;
- if (!info) {
- JUT_PANICLINE(872, "can\'t create New SceneInfoList.\n");
- } else {
- info->del();
- og::Screen::DispMemberBase* disp = scene->mDispMember;
- info->mSceneType = scene->getSceneType();
- memcpy(info->mDispMemberBuffer, disp, disp->getSize());
- ((og::Screen::DispMemberBase*)&info->mDispMemberBuffer)->setSubMemberAll();
- }
- mBackupInfoList.add(info);
+ // UNUSED/INLINED
}
/**
@@ -972,7 +534,18 @@ void Mgr::changeScene(SetSceneArg& arg, u8* dispBuf)
SceneBase* scene = mBackupScene;
if (scene) {
if (arg.mDoCreateBackup) {
- createNewBackupSceneInfo(scene);
+ P2ASSERTLINE(855, scene);
+ SceneInfoList* info = getFirstList();
+ if (!info) {
+ JUT_PANICLINE(872, "can\'t create New SceneInfoList.\n");
+ } else {
+ info->del();
+ og::Screen::DispMemberBase* disp = scene->mDispMember;
+ info->mSceneType = scene->getSceneType();
+ memcpy(info->mDispMemberBuffer, disp, disp->getSize());
+ ((og::Screen::DispMemberBase*)&info->mDispMemberBuffer)->setSubMemberAll();
+ }
+ mBackupInfoList.addHead(info);
}
mBackupScene->destroy();
mCurrHeap->freeAll();
@@ -993,177 +566,6 @@ void Mgr::changeScene(SetSceneArg& arg, u8* dispBuf)
clearBackupSceneInfo();
}
}
- /*
- stwu r1, -0x30(r1)
- mflr r0
- stw r0, 0x34(r1)
- stmw r25, 0x14(r1)
- mr r30, r4
- lis r4, lbl_8049B8C8@ha
- mr r29, r3
- mr r3, r30
- mr r31, r5
- addi r27, r4, lbl_8049B8C8@l
- lwz r12, 0(r30)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- lwz r0, particle2dMgr@sda21(r13)
- mr r25, r3
- cmplwi r0, 0
- beq lbl_80452FD8
- mr r3, r0
- li r4, 0
- bl killGroup__14TParticle2dMgrFUc
- lwz r3, particle2dMgr@sda21(r13)
- li r4, 1
- bl killGroup__14TParticle2dMgrFUc
-
-lbl_80452FD8:
- lwz r26, 0x1c(r29)
- cmplwi r26, 0
- beq lbl_8045309C
- lbz r0, 9(r30)
- cmplwi r0, 0
- beq lbl_8045308C
- cmplwi r26, 0
- bne lbl_8045300C
- addi r3, r27, 0xc
- addi r5, r27, 0x1c
- li r4, 0x357
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_8045300C:
- lwz r28, 0x88(r29)
- cmplwi r28, 0
- bne lbl_80453030
- addi r3, r27, 0xc
- addi r5, r27, 0x14c
- li r4, 0x368
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
- b lbl_80453080
-
-lbl_80453030:
- mr r3, r28
- bl del__5CNodeFv
- mr r3, r26
- lwz r26, 0x21c(r26)
- lwz r12, 0(r3)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- stw r3, 0x18(r28)
- mr r3, r26
- lwz r12, 0(r26)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- mr r5, r3
- mr r4, r26
- addi r3, r28, 0x1c
- bl memcpy
- addi r3, r28, 0x1c
- bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
-
-lbl_80453080:
- mr r4, r28
- addi r3, r29, 0x60
- bl addHead__5CNodeFP5CNode
-
-lbl_8045308C:
- lwz r3, 0x1c(r29)
- bl destroy__Q26Screen9SceneBaseFv
- lwz r3, 0x5c(r29)
- bl freeAll__7JKRHeapFv
-
-lbl_8045309C:
- lwz r3, sCurrentHeap__7JKRHeap@sda21(r13)
- bl getTotalFreeSize__7JKRHeapFv
- stw r3, 0x24(r29)
- lwz r3, gResMgr2D@sda21(r13)
- lwz r3, 4(r3)
- lwz r0, 0x38(r3)
- stw r0, 0x28(r29)
- lwz r26, sCurrentHeap__7JKRHeap@sda21(r13)
- lwz r3, 0x5c(r29)
- bl becomeCurrentHeap__7JKRHeapFv
- mr r3, r29
- mr r4, r25
- lwz r12, 0(r29)
- lwz r12, 0x24(r12)
- mtctr r12
- bctrl
- mr r28, r3
- mr r3, r26
- bl becomeCurrentHeap__7JKRHeapFv
- cmplwi r28, 0
- bne lbl_80453104
- addi r3, r27, 0xc
- addi r5, r27, 0x138
- li r4, 0x34b
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_80453104:
- lwz r0, 0x20(r29)
- stw r0, 0x104(r28)
- stw r28, 0x1c(r29)
- lwz r3, 0x1c(r29)
- cmplwi r3, 0
- beq lbl_804531B0
- lwz r0, 0xc(r30)
- cmplwi r0, 0
- beq lbl_80453138
- lwz r4, 0x21c(r3)
- mr r3, r29
- mr r5, r31
- bl copyDispMember__Q26Screen3MgrFPUcPUc
-
-lbl_80453138:
- lwz r3, 0x1c(r29)
- stw r29, 0x108(r3)
- lwz r0, 0x20(r29)
- lwz r3, 0x1c(r29)
- stw r0, 0x104(r3)
- lwz r3, 0x1c(r29)
- bl create__Q26Screen9SceneBaseFv
- lwz r3, 0x1c(r29)
- lwz r12, 0(r3)
- lwz r12, 0x14(r12)
- mtctr r12
- bctrl
- clrlwi. r0, r3, 0x18
- bne lbl_804531B0
- lwz r28, 0x70(r29)
- b lbl_80453194
-
-lbl_80453178:
- lwz r27, 4(r28)
- mr r3, r28
- bl del__5CNodeFv
- mr r4, r28
- addi r3, r29, 0x78
- bl add__5CNodeFP5CNode
- mr r28, r27
-
-lbl_80453194:
- cmplwi r28, 0
- bne lbl_80453178
- li r0, 0
- stw r0, 0x70(r29)
- stw r0, 0x6c(r29)
- stw r0, 0x68(r29)
- stw r0, 0x64(r29)
-
-lbl_804531B0:
- lmw r25, 0x14(r1)
- lwz r0, 0x34(r1)
- mtlr r0
- addi r1, r1, 0x30
- blr
- */
}
/**
@@ -1172,462 +574,48 @@ lbl_804531B0:
*/
bool Mgr::setScene(SetSceneArg& arg)
{
- if (arg._08 == 0) {
- if (mBackupScene && !mBackupScene->confirmSetScene(arg)) {
- return false;
+ bool result = true;
+ if (arg._08 || !mBackupScene || (mBackupScene && mBackupScene->confirmSetScene(arg))) {
+ MgrCommand* command = getNewCommand();
+ if (!command) {
+ result = false;
+ } else {
+ OSLockMutex(&command->mMutex);
+ if (arg._08) {
+ if (isCurrentSceneLoading()) {
+ command->setTypeSetScene(arg);
+ } else {
+ releaseCommand(command);
+ if (arg.mDispMember) {
+ arg.mDispMember->setSubMemberAll();
+ }
+ changeScene(arg, (u8*)arg.mDispMember);
+ }
+ } else if (mBackupScene) {
+ MgrCommand* newCommand = getNewCommand();
+ if (newCommand) {
+
+ command->setTypeInvalid();
+ newCommand->setTypeSetScene(arg);
+ } else {
+ releaseCommand(command);
+ result = false;
+ }
+ } else {
+ releaseCommand(command);
+ if (arg.mDispMember) {
+ arg.mDispMember->setSubMemberAll();
+ }
+ changeScene(arg, (u8*)arg.mDispMember);
+ }
}
+
+ OSUnlockMutex(&command->mMutex);
+ } else {
+ result = false;
}
- Screen::MgrCommand* command = (Screen::MgrCommand*)mCommandList.mChild;
- JUT_ASSERTLINE(615, command != nullptr, "screen command buffer is empty.\n");
-
- if (!command) {
- JUT_PANICLINE(626, "【エラー】コマンドバッファが足りません\n");
- return false;
- }
-
- OSLockMutex(&command->mMutex);
- command->del();
- mCommandList.add(command);
- OSUnlockMutex(&command->mMutex);
-
- if (!command) {
- return false;
- }
-
- OSLockMutex(&command->mMutex);
- if (arg._08) {
- if (isCurrentSceneLoading()) {
- command->setTypeSetScene(arg);
- }
- }
-
- OSUnlockMutex(&command->mMutex);
- return true;
- /*
- stwu r1, -0x40(r1)
- mflr r0
- lis r5, lbl_8049B8C8@ha
- stw r0, 0x44(r1)
- stmw r26, 0x28(r1)
- mr r27, r4
- mr r26, r3
- addi r31, r5, lbl_8049B8C8@l
- li r28, 1
- lbz r0, 8(r4)
- cmplwi r0, 0
- bne lbl_80453210
- lwz r3, 0x1c(r26)
- cmplwi r3, 0
- beq lbl_80453210
- beq lbl_80453740
- bl confirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
- clrlwi. r0, r3, 0x18
- beq lbl_80453740
-
-lbl_80453210:
- lwz r30, 0x54(r26)
- cmplwi r30, 0
- bne lbl_80453230
- addi r3, r31, 0xc
- addi r5, r31, 0xc4
- li r4, 0x267
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_80453230:
- cmplwi r30, 0
- beq lbl_80453260
- addi r3, r30, 0x464
- bl OSLockMutex
- mr r3, r30
- bl del__5CNodeFv
- mr r4, r30
- addi r3, r26, 0x2c
- bl add__5CNodeFP5CNode
- addi r3, r30, 0x464
- bl OSUnlockMutex
- b lbl_80453274
-
-lbl_80453260:
- addi r3, r31, 0xc
- addi r5, r31, 0xe8
- li r4, 0x272
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_80453274:
- cmplwi r30, 0
- bne lbl_80453284
- li r28, 0
- b lbl_80453734
-
-lbl_80453284:
- addi r3, r30, 0x464
- bl OSLockMutex
- lbz r0, 8(r27)
- cmplwi r0, 0
- beq lbl_8045346C
- mr r3, r26
- bl isCurrentSceneLoading__Q26Screen3MgrFv
- clrlwi. r0, r3, 0x18
- beq lbl_80453424
- addi r3, r31, 0x50
- li r0, 0
- stw r3, 0x14(r30)
- addi r3, r30, 0x464
- stw r0, 0x18(r30)
- bl OSLockMutex
- cmplwi r27, 0
- beq lbl_80453328
- mr r3, r27
- lwz r12, 0(r27)
- lwz r12, 0xc(r12)
- mtctr r12
- bctrl
- cmplwi r3, 0x40
- ble lbl_804532F8
- addi r3, r31, 0xc
- addi r5, r31, 0x1c
- li r4, 0x102
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_804532F8:
- addi r0, r30, 0x20
- mr r3, r27
- stw r0, 0x1c(r30)
- lwz r12, 0(r27)
- lwz r12, 0xc(r12)
- mtctr r12
- bctrl
- mr r5, r3
- mr r4, r27
- addi r3, r30, 0x20
- bl memcpy
- b lbl_8045335C
-
-lbl_80453328:
- lwz r0, 0x1c(r30)
- cmplwi r0, 0
- beq lbl_80453354
- addi r3, r30, 0x464
- bl OSLockMutex
- addi r3, r30, 0x20
- li r4, 0xcd
- li r5, 0x40
- bl memset
- addi r3, r30, 0x464
- bl OSUnlockMutex
-
-lbl_80453354:
- li r0, 0
- stw r0, 0x1c(r30)
-
-lbl_8045335C:
- addi r3, r30, 0x464
- bl OSUnlockMutex
- lwz r27, 0xc(r27)
- addi r3, r30, 0x464
- bl OSLockMutex
- cmplwi r27, 0
- beq lbl_80453410
- mr r3, r27
- lwz r12, 0(r27)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- cmplwi r3, 0x400
- bgt lbl_804533CC
- addi r0, r30, 0x64
- mr r3, r27
- stw r0, 0x60(r30)
- lwz r12, 0(r27)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- mr r5, r3
- mr r4, r27
- addi r3, r30, 0x64
- bl memcpy
- lwz r3, 0x60(r30)
- bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
- b lbl_80453418
-
-lbl_804533CC:
- mr r3, r27
- addi r4, r1, 0x14
- bl getMemberName__Q32og6Screen14DispMemberBaseFPc
- mr r3, r27
- lwz r12, 0(r27)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- mr r7, r3
- addi r3, r31, 0xc
- addi r5, r31, 0x28
- addi r6, r1, 0x14
- li r4, 0x125
- li r8, 0x400
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
- b lbl_80453418
-
-lbl_80453410:
- li r0, 0
- stw r0, 0x60(r30)
-
-lbl_80453418:
- addi r3, r30, 0x464
- bl OSUnlockMutex
- b lbl_80453734
-
-lbl_80453424:
- addi r3, r30, 0x464
- bl OSLockMutex
- mr r3, r30
- bl del__5CNodeFv
- mr r4, r30
- addi r3, r26, 0x44
- bl add__5CNodeFP5CNode
- addi r3, r30, 0x464
- bl OSUnlockMutex
- lwz r3, 0xc(r27)
- cmplwi r3, 0
- beq lbl_80453458
- bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
-
-lbl_80453458:
- lwz r5, 0xc(r27)
- mr r3, r26
- mr r4, r27
- bl changeScene__Q26Screen3MgrFRQ26Screen11SetSceneArgPUc
- b lbl_80453734
-
-lbl_8045346C:
- lwz r0, 0x1c(r26)
- cmplwi r0, 0
- beq lbl_804536F0
- lwz r29, 0x54(r26)
- cmplwi r29, 0
- bne lbl_80453498
- addi r3, r31, 0xc
- addi r5, r31, 0xc4
- li r4, 0x267
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_80453498:
- cmplwi r29, 0
- beq lbl_804534C8
- addi r3, r29, 0x464
- bl OSLockMutex
- mr r3, r29
- bl del__5CNodeFv
- mr r4, r29
- addi r3, r26, 0x2c
- bl add__5CNodeFP5CNode
- addi r3, r29, 0x464
- bl OSUnlockMutex
- b lbl_804534DC
-
-lbl_804534C8:
- addi r3, r31, 0xc
- addi r5, r31, 0xe8
- li r4, 0x272
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_804534DC:
- cmplwi r29, 0
- beq lbl_804536C4
- addi r3, r30, 0x464
- bl OSLockMutex
- addi r3, r31, 0x68
- li r0, 2
- stw r3, 0x14(r30)
- addi r3, r30, 0x464
- stw r0, 0x18(r30)
- bl OSLockMutex
- lwz r0, 0x1c(r30)
- cmplwi r0, 0
- beq lbl_80453530
- addi r3, r30, 0x464
- bl OSLockMutex
- addi r3, r30, 0x20
- li r4, 0xcd
- li r5, 0x40
- bl memset
- addi r3, r30, 0x464
- bl OSUnlockMutex
-
-lbl_80453530:
- li r0, 0
- addi r3, r30, 0x464
- stw r0, 0x1c(r30)
- bl OSUnlockMutex
- addi r3, r30, 0x464
- bl OSUnlockMutex
- addi r3, r31, 0x50
- li r0, 0
- stw r3, 0x14(r29)
- addi r3, r29, 0x464
- stw r0, 0x18(r29)
- bl OSLockMutex
- cmplwi r27, 0
- beq lbl_804535C8
- mr r3, r27
- lwz r12, 0(r27)
- lwz r12, 0xc(r12)
- mtctr r12
- bctrl
- cmplwi r3, 0x40
- ble lbl_80453598
- addi r3, r31, 0xc
- addi r5, r31, 0x1c
- li r4, 0x102
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
-
-lbl_80453598:
- addi r0, r29, 0x20
- mr r3, r27
- stw r0, 0x1c(r29)
- lwz r12, 0(r27)
- lwz r12, 0xc(r12)
- mtctr r12
- bctrl
- mr r5, r3
- mr r4, r27
- addi r3, r29, 0x20
- bl memcpy
- b lbl_804535FC
-
-lbl_804535C8:
- lwz r0, 0x1c(r29)
- cmplwi r0, 0
- beq lbl_804535F4
- addi r3, r29, 0x464
- bl OSLockMutex
- addi r3, r29, 0x20
- li r4, 0xcd
- li r5, 0x40
- bl memset
- addi r3, r29, 0x464
- bl OSUnlockMutex
-
-lbl_804535F4:
- li r0, 0
- stw r0, 0x1c(r29)
-
-lbl_804535FC:
- addi r3, r29, 0x464
- bl OSUnlockMutex
- lwz r27, 0xc(r27)
- addi r3, r29, 0x464
- bl OSLockMutex
- cmplwi r27, 0
- beq lbl_804536B0
- mr r3, r27
- lwz r12, 0(r27)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- cmplwi r3, 0x400
- bgt lbl_8045366C
- addi r0, r29, 0x64
- mr r3, r27
- stw r0, 0x60(r29)
- lwz r12, 0(r27)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- mr r5, r3
- mr r4, r27
- addi r3, r29, 0x64
- bl memcpy
- lwz r3, 0x60(r29)
- bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
- b lbl_804536B8
-
-lbl_8045366C:
- mr r3, r27
- addi r4, r1, 8
- bl getMemberName__Q32og6Screen14DispMemberBaseFPc
- mr r3, r27
- lwz r12, 0(r27)
- lwz r12, 8(r12)
- mtctr r12
- bctrl
- mr r7, r3
- addi r3, r31, 0xc
- addi r5, r31, 0x28
- addi r6, r1, 8
- li r4, 0x125
- li r8, 0x400
- crclr 6
- bl panic_f__12JUTExceptionFPCciPCce
- b lbl_804536B8
-
-lbl_804536B0:
- li r0, 0
- stw r0, 0x60(r29)
-
-lbl_804536B8:
- addi r3, r29, 0x464
- bl OSUnlockMutex
- b lbl_80453734
-
-lbl_804536C4:
- addi r3, r30, 0x464
- bl OSLockMutex
- mr r3, r30
- bl del__5CNodeFv
- mr r4, r30
- addi r3, r26, 0x44
- bl add__5CNodeFP5CNode
- addi r3, r30, 0x464
- bl OSUnlockMutex
- li r28, 0
- b lbl_80453734
-
-lbl_804536F0:
- addi r3, r30, 0x464
- bl OSLockMutex
- mr r3, r30
- bl del__5CNodeFv
- mr r4, r30
- addi r3, r26, 0x44
- bl add__5CNodeFP5CNode
- addi r3, r30, 0x464
- bl OSUnlockMutex
- lwz r3, 0xc(r27)
- cmplwi r3, 0
- beq lbl_80453724
- bl setSubMemberAll__Q32og6Screen14DispMemberBaseFv
-
-lbl_80453724:
- lwz r5, 0xc(r27)
- mr r3, r26
- mr r4, r27
- bl changeScene__Q26Screen3MgrFRQ26Screen11SetSceneArgPUc
-
-lbl_80453734:
- addi r3, r30, 0x464
- bl OSUnlockMutex
- b lbl_80453744
-
-lbl_80453740:
- li r28, 0
-
-lbl_80453744:
- mr r3, r28
- lmw r26, 0x28(r1)
- lwz r0, 0x44(r1)
- mtlr r0
- addi r1, r1, 0x40
- blr
- */
+ return result;
}
/**
diff --git a/tools/progress.csv b/tools/progress.csv
index 2715b1aaa..a508a178b 100644
--- a/tools/progress.csv
+++ b/tools/progress.csv
@@ -981,3 +981,5 @@ You have 4490 out of 10000 Pokos and 112 out of 201 treasures.",2024-05-08 16:06
You have 4507 out of 10000 Pokos and 112 out of 201 treasures.",2024-05-08 16:32:30.591874
4528,2106872,0.452861692322507,112,400248,0.5614710404345338,"
You have 4528 out of 10000 Pokos and 112 out of 201 treasures.",2024-05-08 18:40:42.806286
+4541,2112992,0.45417715598475783,112,400727,0.5621429853995757,"
+You have 4541 out of 10000 Pokos and 112 out of 201 treasures.",2024-05-14 22:14:35.311817