Match + link khSceneLoader.cpp

This commit is contained in:
HeartPiece 2022-11-13 14:51:12 +11:00
parent 9666133790
commit 11954f0ba3
8 changed files with 129 additions and 1168 deletions

View File

@ -1,470 +0,0 @@
.include "macros.inc"
.section .rodata # 0x804732E0 - 0x8049E220
.balign 8
lbl_804984C0:
.asciz "result_title_new.szs"
.balign 4
lbl_804984D8:
.asciz "win_lose.szs"
.balign 4
lbl_804984E8:
.asciz "result_fuetaheta.szs"
.balign 4
lbl_80498500:
.asciz "result_item.szs"
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.balign 8
lbl_804EA668:
.4byte .L_803FBB0C
.4byte .L_803FBB34
.4byte .L_803FBB5C
.4byte .L_803FBB8C
.4byte .L_803FBBB4
.4byte .L_803FBBDC
.4byte .L_803FBBFC
.4byte .L_803FBC24
.4byte .L_803FBC4C
.4byte .L_803FBC74
.4byte .L_803FBC94
.global __vt__Q32kh6Screen21SceneDayEndResultTitl
__vt__Q32kh6Screen21SceneDayEndResultTitl:
.4byte 0
.4byte 0
.4byte getSceneType__Q32kh6Screen21SceneDayEndResultTitlFv
.4byte getOwnerID__Q32kh6Screen21SceneDayEndResultTitlFv
.4byte getMemberID__Q32kh6Screen21SceneDayEndResultTitlFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32kh6Screen21SceneDayEndResultTitlCFv
.4byte doCreateObj__Q32kh6Screen21SceneDayEndResultTitlFP10JKRArchive
.4byte doUserCallBackFunc__Q26Screen9SceneBaseFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg
.4byte doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
.4byte setDefaultDispMember__Q26Screen9SceneBaseFv
.4byte doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doGetFinishState__Q26Screen9SceneBaseFv
.global __vt__Q32kh6Screen12SceneWinLose
__vt__Q32kh6Screen12SceneWinLose:
.4byte 0
.4byte 0
.4byte getSceneType__Q32kh6Screen12SceneWinLoseFv
.4byte getOwnerID__Q32kh6Screen12SceneWinLoseFv
.4byte getMemberID__Q32kh6Screen12SceneWinLoseFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32kh6Screen12SceneWinLoseCFv
.4byte doCreateObj__Q32kh6Screen12SceneWinLoseFP10JKRArchive
.4byte doUserCallBackFunc__Q26Screen9SceneBaseFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg
.4byte doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
.4byte setDefaultDispMember__Q26Screen9SceneBaseFv
.4byte doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doGetFinishState__Q26Screen9SceneBaseFv
.global __vt__Q32kh6Screen21SceneDayEndResultIncP
__vt__Q32kh6Screen21SceneDayEndResultIncP:
.4byte 0
.4byte 0
.4byte getSceneType__Q32kh6Screen21SceneDayEndResultIncPFv
.4byte getOwnerID__Q32kh6Screen21SceneDayEndResultIncPFv
.4byte getMemberID__Q32kh6Screen21SceneDayEndResultIncPFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32kh6Screen21SceneDayEndResultIncPCFv
.4byte doCreateObj__Q32kh6Screen21SceneDayEndResultIncPFP10JKRArchive
.4byte doUserCallBackFunc__Q26Screen9SceneBaseFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg
.4byte doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
.4byte setDefaultDispMember__Q26Screen9SceneBaseFv
.4byte doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doGetFinishState__Q26Screen9SceneBaseFv
.global __vt__Q32kh6Screen21SceneDayEndResultItem
__vt__Q32kh6Screen21SceneDayEndResultItem:
.4byte 0
.4byte 0
.4byte getSceneType__Q32kh6Screen21SceneDayEndResultItemFv
.4byte getOwnerID__Q32kh6Screen21SceneDayEndResultItemFv
.4byte getMemberID__Q32kh6Screen21SceneDayEndResultItemFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32kh6Screen21SceneDayEndResultItemCFv
.4byte doCreateObj__Q32kh6Screen21SceneDayEndResultItemFP10JKRArchive
.4byte doUserCallBackFunc__Q26Screen9SceneBaseFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg
.4byte doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
.4byte setDefaultDispMember__Q26Screen9SceneBaseFv
.4byte doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doGetFinishState__Q26Screen9SceneBaseFv
.section .text, "ax" # 0x800056C0 - 0x80472F00
.global createScene_Koono__Q22kh6ScreenFl
createScene_Koono__Q22kh6ScreenFl:
/* 803FBAD4 003F8A14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803FBAD8 003F8A18 7C 08 02 A6 */ mflr r0
/* 803FBADC 003F8A1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803FBAE0 003F8A20 38 03 B1 E0 */ addi r0, r3, -20000
/* 803FBAE4 003F8A24 28 00 00 0A */ cmplwi r0, 0xa
/* 803FBAE8 003F8A28 38 60 00 00 */ li r3, 0
/* 803FBAEC 003F8A2C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803FBAF0 003F8A30 41 81 01 C8 */ bgt .L_803FBCB8
/* 803FBAF4 003F8A34 3C 80 80 4F */ lis r4, lbl_804EA668@ha
/* 803FBAF8 003F8A38 54 00 10 3A */ slwi r0, r0, 2
/* 803FBAFC 003F8A3C 38 84 A6 68 */ addi r4, r4, lbl_804EA668@l
/* 803FBB00 003F8A40 7C 04 00 2E */ lwzx r0, r4, r0
/* 803FBB04 003F8A44 7C 09 03 A6 */ mtctr r0
/* 803FBB08 003F8A48 4E 80 04 20 */ bctr
.L_803FBB0C:
/* 803FBB0C 003F8A4C 38 60 02 20 */ li r3, 0x220
/* 803FBB10 003F8A50 4B C2 83 95 */ bl __nw__FUl
/* 803FBB14 003F8A54 7C 7F 1B 79 */ or. r31, r3, r3
/* 803FBB18 003F8A58 41 82 00 14 */ beq .L_803FBB2C
/* 803FBB1C 003F8A5C 48 05 5C 75 */ bl __ct__Q26Screen9SceneBaseFv
/* 803FBB20 003F8A60 3C 60 80 4F */ lis r3, __vt__Q32kh6Screen15SceneCaveResult@ha
/* 803FBB24 003F8A64 38 03 A5 84 */ addi r0, r3, __vt__Q32kh6Screen15SceneCaveResult@l
/* 803FBB28 003F8A68 90 1F 00 00 */ stw r0, 0(r31)
.L_803FBB2C:
/* 803FBB2C 003F8A6C 7F E3 FB 78 */ mr r3, r31
/* 803FBB30 003F8A70 48 00 01 88 */ b .L_803FBCB8
.L_803FBB34:
/* 803FBB34 003F8A74 38 60 02 20 */ li r3, 0x220
/* 803FBB38 003F8A78 4B C2 83 6D */ bl __nw__FUl
/* 803FBB3C 003F8A7C 7C 7F 1B 79 */ or. r31, r3, r3
/* 803FBB40 003F8A80 41 82 00 14 */ beq .L_803FBB54
/* 803FBB44 003F8A84 48 05 5C 4D */ bl __ct__Q26Screen9SceneBaseFv
/* 803FBB48 003F8A88 3C 60 80 4F */ lis r3, __vt__Q32kh6Screen12SceneReadyGo@ha
/* 803FBB4C 003F8A8C 38 03 AB A4 */ addi r0, r3, __vt__Q32kh6Screen12SceneReadyGo@l
/* 803FBB50 003F8A90 90 1F 00 00 */ stw r0, 0(r31)
.L_803FBB54:
/* 803FBB54 003F8A94 7F E3 FB 78 */ mr r3, r31
/* 803FBB58 003F8A98 48 00 01 60 */ b .L_803FBCB8
.L_803FBB5C:
/* 803FBB5C 003F8A9C 38 60 02 24 */ li r3, 0x224
/* 803FBB60 003F8AA0 4B C2 83 45 */ bl __nw__FUl
/* 803FBB64 003F8AA4 7C 7F 1B 79 */ or. r31, r3, r3
/* 803FBB68 003F8AA8 41 82 00 1C */ beq .L_803FBB84
/* 803FBB6C 003F8AAC 48 05 5C 25 */ bl __ct__Q26Screen9SceneBaseFv
/* 803FBB70 003F8AB0 3C 60 80 4F */ lis r3, __vt__Q32kh6Screen15SceneFinalFloor@ha
/* 803FBB74 003F8AB4 38 00 00 00 */ li r0, 0
/* 803FBB78 003F8AB8 38 63 AC AC */ addi r3, r3, __vt__Q32kh6Screen15SceneFinalFloor@l
/* 803FBB7C 003F8ABC 90 7F 00 00 */ stw r3, 0(r31)
/* 803FBB80 003F8AC0 90 1F 02 20 */ stw r0, 0x220(r31)
.L_803FBB84:
/* 803FBB84 003F8AC4 7F E3 FB 78 */ mr r3, r31
/* 803FBB88 003F8AC8 48 00 01 30 */ b .L_803FBCB8
.L_803FBB8C:
/* 803FBB8C 003F8ACC 38 60 02 20 */ li r3, 0x220
/* 803FBB90 003F8AD0 4B C2 83 15 */ bl __nw__FUl
/* 803FBB94 003F8AD4 7C 7F 1B 79 */ or. r31, r3, r3
/* 803FBB98 003F8AD8 41 82 00 14 */ beq .L_803FBBAC
/* 803FBB9C 003F8ADC 48 05 5B F5 */ bl __ct__Q26Screen9SceneBaseFv
/* 803FBBA0 003F8AE0 3C 60 80 4F */ lis r3, __vt__Q32kh6Screen21SceneDayEndResultItem@ha
/* 803FBBA4 003F8AE4 38 03 A7 84 */ addi r0, r3, __vt__Q32kh6Screen21SceneDayEndResultItem@l
/* 803FBBA8 003F8AE8 90 1F 00 00 */ stw r0, 0(r31)
.L_803FBBAC:
/* 803FBBAC 003F8AEC 7F E3 FB 78 */ mr r3, r31
/* 803FBBB0 003F8AF0 48 00 01 08 */ b .L_803FBCB8
.L_803FBBB4:
/* 803FBBB4 003F8AF4 38 60 02 20 */ li r3, 0x220
/* 803FBBB8 003F8AF8 4B C2 82 ED */ bl __nw__FUl
/* 803FBBBC 003F8AFC 7C 7F 1B 79 */ or. r31, r3, r3
/* 803FBBC0 003F8B00 41 82 00 14 */ beq .L_803FBBD4
/* 803FBBC4 003F8B04 48 05 5B CD */ bl __ct__Q26Screen9SceneBaseFv
/* 803FBBC8 003F8B08 3C 60 80 4F */ lis r3, __vt__Q32kh6Screen21SceneDayEndResultIncP@ha
/* 803FBBCC 003F8B0C 38 03 A7 34 */ addi r0, r3, __vt__Q32kh6Screen21SceneDayEndResultIncP@l
/* 803FBBD0 003F8B10 90 1F 00 00 */ stw r0, 0(r31)
.L_803FBBD4:
/* 803FBBD4 003F8B14 7F E3 FB 78 */ mr r3, r31
/* 803FBBD8 003F8B18 48 00 00 E0 */ b .L_803FBCB8
.L_803FBBDC:
/* 803FBBDC 003F8B1C 38 60 02 3C */ li r3, 0x23c
/* 803FBBE0 003F8B20 4B C2 82 C5 */ bl __nw__FUl
/* 803FBBE4 003F8B24 7C 60 1B 79 */ or. r0, r3, r3
/* 803FBBE8 003F8B28 41 82 00 0C */ beq .L_803FBBF4
/* 803FBBEC 003F8B2C 48 00 EC 6D */ bl __ct__Q32kh6Screen21SceneDayEndResultMailFv
/* 803FBBF0 003F8B30 7C 60 1B 78 */ mr r0, r3
.L_803FBBF4:
/* 803FBBF4 003F8B34 7C 03 03 78 */ mr r3, r0
/* 803FBBF8 003F8B38 48 00 00 C0 */ b .L_803FBCB8
.L_803FBBFC:
/* 803FBBFC 003F8B3C 38 60 02 20 */ li r3, 0x220
/* 803FBC00 003F8B40 4B C2 82 A5 */ bl __nw__FUl
/* 803FBC04 003F8B44 7C 7F 1B 79 */ or. r31, r3, r3
/* 803FBC08 003F8B48 41 82 00 14 */ beq .L_803FBC1C
/* 803FBC0C 003F8B4C 48 05 5B 85 */ bl __ct__Q26Screen9SceneBaseFv
/* 803FBC10 003F8B50 3C 60 80 4F */ lis r3, __vt__Q32kh6Screen16SceneFinalResult@ha
/* 803FBC14 003F8B54 38 03 B2 00 */ addi r0, r3, __vt__Q32kh6Screen16SceneFinalResult@l
/* 803FBC18 003F8B58 90 1F 00 00 */ stw r0, 0(r31)
.L_803FBC1C:
/* 803FBC1C 003F8B5C 7F E3 FB 78 */ mr r3, r31
/* 803FBC20 003F8B60 48 00 00 98 */ b .L_803FBCB8
.L_803FBC24:
/* 803FBC24 003F8B64 38 60 02 20 */ li r3, 0x220
/* 803FBC28 003F8B68 4B C2 82 7D */ bl __nw__FUl
/* 803FBC2C 003F8B6C 7C 7F 1B 79 */ or. r31, r3, r3
/* 803FBC30 003F8B70 41 82 00 14 */ beq .L_803FBC44
/* 803FBC34 003F8B74 48 05 5B 5D */ bl __ct__Q26Screen9SceneBaseFv
/* 803FBC38 003F8B78 3C 60 80 4F */ lis r3, __vt__Q32kh6Screen12ScenePayDept@ha
/* 803FBC3C 003F8B7C 38 03 B3 08 */ addi r0, r3, __vt__Q32kh6Screen12ScenePayDept@l
/* 803FBC40 003F8B80 90 1F 00 00 */ stw r0, 0(r31)
.L_803FBC44:
/* 803FBC44 003F8B84 7F E3 FB 78 */ mr r3, r31
/* 803FBC48 003F8B88 48 00 00 70 */ b .L_803FBCB8
.L_803FBC4C:
/* 803FBC4C 003F8B8C 38 60 02 20 */ li r3, 0x220
/* 803FBC50 003F8B90 4B C2 82 55 */ bl __nw__FUl
/* 803FBC54 003F8B94 7C 7F 1B 79 */ or. r31, r3, r3
/* 803FBC58 003F8B98 41 82 00 14 */ beq .L_803FBC6C
/* 803FBC5C 003F8B9C 48 05 5B 35 */ bl __ct__Q26Screen9SceneBaseFv
/* 803FBC60 003F8BA0 3C 60 80 4F */ lis r3, __vt__Q32kh6Screen12SceneWinLose@ha
/* 803FBC64 003F8BA4 38 03 A6 E4 */ addi r0, r3, __vt__Q32kh6Screen12SceneWinLose@l
/* 803FBC68 003F8BA8 90 1F 00 00 */ stw r0, 0(r31)
.L_803FBC6C:
/* 803FBC6C 003F8BAC 7F E3 FB 78 */ mr r3, r31
/* 803FBC70 003F8BB0 48 00 00 48 */ b .L_803FBCB8
.L_803FBC74:
/* 803FBC74 003F8BB4 38 60 02 38 */ li r3, 0x238
/* 803FBC78 003F8BB8 4B C2 82 2D */ bl __nw__FUl
/* 803FBC7C 003F8BBC 7C 60 1B 79 */ or. r0, r3, r3
/* 803FBC80 003F8BC0 41 82 00 0C */ beq .L_803FBC8C
/* 803FBC84 003F8BC4 48 01 4B 69 */ bl __ct__Q32kh6Screen18SceneWinLoseReasonFv
/* 803FBC88 003F8BC8 7C 60 1B 78 */ mr r0, r3
.L_803FBC8C:
/* 803FBC8C 003F8BCC 7C 03 03 78 */ mr r3, r0
/* 803FBC90 003F8BD0 48 00 00 28 */ b .L_803FBCB8
.L_803FBC94:
/* 803FBC94 003F8BD4 38 60 02 20 */ li r3, 0x220
/* 803FBC98 003F8BD8 4B C2 82 0D */ bl __nw__FUl
/* 803FBC9C 003F8BDC 7C 7F 1B 79 */ or. r31, r3, r3
/* 803FBCA0 003F8BE0 41 82 00 14 */ beq .L_803FBCB4
/* 803FBCA4 003F8BE4 48 05 5A ED */ bl __ct__Q26Screen9SceneBaseFv
/* 803FBCA8 003F8BE8 3C 60 80 4F */ lis r3, __vt__Q32kh6Screen21SceneDayEndResultTitl@ha
/* 803FBCAC 003F8BEC 38 03 A6 94 */ addi r0, r3, __vt__Q32kh6Screen21SceneDayEndResultTitl@l
/* 803FBCB0 003F8BF0 90 1F 00 00 */ stw r0, 0(r31)
.L_803FBCB4:
/* 803FBCB4 003F8BF4 7F E3 FB 78 */ mr r3, r31
.L_803FBCB8:
/* 803FBCB8 003F8BF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803FBCBC 003F8BFC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803FBCC0 003F8C00 7C 08 03 A6 */ mtlr r0
/* 803FBCC4 003F8C04 38 21 00 10 */ addi r1, r1, 0x10
/* 803FBCC8 003F8C08 4E 80 00 20 */ blr
.global getResName__Q32kh6Screen21SceneDayEndResultTitlCFv
getResName__Q32kh6Screen21SceneDayEndResultTitlCFv:
/* 803FBCCC 003F8C0C 3C 60 80 4A */ lis r3, lbl_804984C0@ha
/* 803FBCD0 003F8C10 38 63 84 C0 */ addi r3, r3, lbl_804984C0@l
/* 803FBCD4 003F8C14 4E 80 00 20 */ blr
.global getSceneType__Q32kh6Screen21SceneDayEndResultTitlFv
getSceneType__Q32kh6Screen21SceneDayEndResultTitlFv:
/* 803FBCD8 003F8C18 38 60 4E 2A */ li r3, 0x4e2a
/* 803FBCDC 003F8C1C 4E 80 00 20 */ blr
.global getOwnerID__Q32kh6Screen21SceneDayEndResultTitlFv
getOwnerID__Q32kh6Screen21SceneDayEndResultTitlFv:
/* 803FBCE0 003F8C20 38 60 4B 48 */ li r3, 0x4b48
/* 803FBCE4 003F8C24 4E 80 00 20 */ blr
.global getMemberID__Q32kh6Screen21SceneDayEndResultTitlFv
getMemberID__Q32kh6Screen21SceneDayEndResultTitlFv:
/* 803FBCE8 003F8C28 3C 80 54 49 */ lis r4, 0x5449544C@ha
/* 803FBCEC 003F8C2C 3C 60 44 45 */ lis r3, 0x4445525F@ha
/* 803FBCF0 003F8C30 38 84 54 4C */ addi r4, r4, 0x5449544C@l
/* 803FBCF4 003F8C34 38 63 52 5F */ addi r3, r3, 0x4445525F@l
/* 803FBCF8 003F8C38 4E 80 00 20 */ blr
.global doCreateObj__Q32kh6Screen21SceneDayEndResultTitlFP10JKRArchive
doCreateObj__Q32kh6Screen21SceneDayEndResultTitlFP10JKRArchive:
/* 803FBCFC 003F8C3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803FBD00 003F8C40 7C 08 02 A6 */ mflr r0
/* 803FBD04 003F8C44 90 01 00 14 */ stw r0, 0x14(r1)
/* 803FBD08 003F8C48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803FBD0C 003F8C4C 7C 9F 23 78 */ mr r31, r4
/* 803FBD10 003F8C50 93 C1 00 08 */ stw r30, 8(r1)
/* 803FBD14 003F8C54 7C 7E 1B 78 */ mr r30, r3
/* 803FBD18 003F8C58 38 60 00 54 */ li r3, 0x54
/* 803FBD1C 003F8C5C 4B C2 81 89 */ bl __nw__FUl
/* 803FBD20 003F8C60 7C 64 1B 79 */ or. r4, r3, r3
/* 803FBD24 003F8C64 41 82 00 0C */ beq .L_803FBD30
/* 803FBD28 003F8C68 48 00 E4 CD */ bl __ct__Q32kh6Screen19ObjDayEndResultTitlFv
/* 803FBD2C 003F8C6C 7C 64 1B 78 */ mr r4, r3
.L_803FBD30:
/* 803FBD30 003F8C70 7F C3 F3 78 */ mr r3, r30
/* 803FBD34 003F8C74 7F E5 FB 78 */ mr r5, r31
/* 803FBD38 003F8C78 48 05 60 3D */ bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
/* 803FBD3C 003F8C7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803FBD40 003F8C80 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803FBD44 003F8C84 83 C1 00 08 */ lwz r30, 8(r1)
/* 803FBD48 003F8C88 7C 08 03 A6 */ mtlr r0
/* 803FBD4C 003F8C8C 38 21 00 10 */ addi r1, r1, 0x10
/* 803FBD50 003F8C90 4E 80 00 20 */ blr
.global getResName__Q32kh6Screen12SceneWinLoseCFv
getResName__Q32kh6Screen12SceneWinLoseCFv:
/* 803FBD54 003F8C94 3C 60 80 4A */ lis r3, lbl_804984D8@ha
/* 803FBD58 003F8C98 38 63 84 D8 */ addi r3, r3, lbl_804984D8@l
/* 803FBD5C 003F8C9C 4E 80 00 20 */ blr
.global getSceneType__Q32kh6Screen12SceneWinLoseFv
getSceneType__Q32kh6Screen12SceneWinLoseFv:
/* 803FBD60 003F8CA0 38 60 4E 28 */ li r3, 0x4e28
/* 803FBD64 003F8CA4 4E 80 00 20 */ blr
.global getOwnerID__Q32kh6Screen12SceneWinLoseFv
getOwnerID__Q32kh6Screen12SceneWinLoseFv:
/* 803FBD68 003F8CA8 38 60 4B 48 */ li r3, 0x4b48
/* 803FBD6C 003F8CAC 4E 80 00 20 */ blr
.global getMemberID__Q32kh6Screen12SceneWinLoseFv
getMemberID__Q32kh6Screen12SceneWinLoseFv:
/* 803FBD70 003F8CB0 3C 80 4C 4F */ lis r4, 0x4C4F5345@ha
/* 803FBD74 003F8CB4 3C 60 57 49 */ lis r3, 0x57494E5F@ha
/* 803FBD78 003F8CB8 38 84 53 45 */ addi r4, r4, 0x4C4F5345@l
/* 803FBD7C 003F8CBC 38 63 4E 5F */ addi r3, r3, 0x57494E5F@l
/* 803FBD80 003F8CC0 4E 80 00 20 */ blr
.global doCreateObj__Q32kh6Screen12SceneWinLoseFP10JKRArchive
doCreateObj__Q32kh6Screen12SceneWinLoseFP10JKRArchive:
/* 803FBD84 003F8CC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803FBD88 003F8CC8 7C 08 02 A6 */ mflr r0
/* 803FBD8C 003F8CCC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803FBD90 003F8CD0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803FBD94 003F8CD4 7C 9F 23 78 */ mr r31, r4
/* 803FBD98 003F8CD8 93 C1 00 08 */ stw r30, 8(r1)
/* 803FBD9C 003F8CDC 7C 7E 1B 78 */ mr r30, r3
/* 803FBDA0 003F8CE0 38 60 00 A0 */ li r3, 0xa0
/* 803FBDA4 003F8CE4 4B C2 81 01 */ bl __nw__FUl
/* 803FBDA8 003F8CE8 7C 64 1B 79 */ or. r4, r3, r3
/* 803FBDAC 003F8CEC 41 82 00 0C */ beq .L_803FBDB8
/* 803FBDB0 003F8CF0 48 01 3F 39 */ bl __ct__Q32kh6Screen10ObjWinLoseFv
/* 803FBDB4 003F8CF4 7C 64 1B 78 */ mr r4, r3
.L_803FBDB8:
/* 803FBDB8 003F8CF8 7F C3 F3 78 */ mr r3, r30
/* 803FBDBC 003F8CFC 7F E5 FB 78 */ mr r5, r31
/* 803FBDC0 003F8D00 48 05 5F B5 */ bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
/* 803FBDC4 003F8D04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803FBDC8 003F8D08 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803FBDCC 003F8D0C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803FBDD0 003F8D10 7C 08 03 A6 */ mtlr r0
/* 803FBDD4 003F8D14 38 21 00 10 */ addi r1, r1, 0x10
/* 803FBDD8 003F8D18 4E 80 00 20 */ blr
.global getResName__Q32kh6Screen21SceneDayEndResultIncPCFv
getResName__Q32kh6Screen21SceneDayEndResultIncPCFv:
/* 803FBDDC 003F8D1C 3C 60 80 4A */ lis r3, lbl_804984E8@ha
/* 803FBDE0 003F8D20 38 63 84 E8 */ addi r3, r3, lbl_804984E8@l
/* 803FBDE4 003F8D24 4E 80 00 20 */ blr
.global getSceneType__Q32kh6Screen21SceneDayEndResultIncPFv
getSceneType__Q32kh6Screen21SceneDayEndResultIncPFv:
/* 803FBDE8 003F8D28 38 60 4E 24 */ li r3, 0x4e24
/* 803FBDEC 003F8D2C 4E 80 00 20 */ blr
.global getOwnerID__Q32kh6Screen21SceneDayEndResultIncPFv
getOwnerID__Q32kh6Screen21SceneDayEndResultIncPFv:
/* 803FBDF0 003F8D30 38 60 4B 48 */ li r3, 0x4b48
/* 803FBDF4 003F8D34 4E 80 00 20 */ blr
.global getMemberID__Q32kh6Screen21SceneDayEndResultIncPFv
getMemberID__Q32kh6Screen21SceneDayEndResultIncPFv:
/* 803FBDF8 003F8D38 3C 80 49 4E */ lis r4, 0x494E4350@ha
/* 803FBDFC 003F8D3C 3C 60 44 45 */ lis r3, 0x4445525F@ha
/* 803FBE00 003F8D40 38 84 43 50 */ addi r4, r4, 0x494E4350@l
/* 803FBE04 003F8D44 38 63 52 5F */ addi r3, r3, 0x4445525F@l
/* 803FBE08 003F8D48 4E 80 00 20 */ blr
.global doCreateObj__Q32kh6Screen21SceneDayEndResultIncPFP10JKRArchive
doCreateObj__Q32kh6Screen21SceneDayEndResultIncPFP10JKRArchive:
/* 803FBE0C 003F8D4C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803FBE10 003F8D50 7C 08 02 A6 */ mflr r0
/* 803FBE14 003F8D54 90 01 00 14 */ stw r0, 0x14(r1)
/* 803FBE18 003F8D58 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803FBE1C 003F8D5C 7C 9F 23 78 */ mr r31, r4
/* 803FBE20 003F8D60 93 C1 00 08 */ stw r30, 8(r1)
/* 803FBE24 003F8D64 7C 7E 1B 78 */ mr r30, r3
/* 803FBE28 003F8D68 38 60 01 58 */ li r3, 0x158
/* 803FBE2C 003F8D6C 4B C2 80 79 */ bl __nw__FUl
/* 803FBE30 003F8D70 7C 64 1B 79 */ or. r4, r3, r3
/* 803FBE34 003F8D74 41 82 00 0C */ beq .L_803FBE40
/* 803FBE38 003F8D78 48 00 97 05 */ bl __ct__Q32kh6Screen19ObjDayEndResultIncPFv
/* 803FBE3C 003F8D7C 7C 64 1B 78 */ mr r4, r3
.L_803FBE40:
/* 803FBE40 003F8D80 7F C3 F3 78 */ mr r3, r30
/* 803FBE44 003F8D84 7F E5 FB 78 */ mr r5, r31
/* 803FBE48 003F8D88 48 05 5F 2D */ bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
/* 803FBE4C 003F8D8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803FBE50 003F8D90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803FBE54 003F8D94 83 C1 00 08 */ lwz r30, 8(r1)
/* 803FBE58 003F8D98 7C 08 03 A6 */ mtlr r0
/* 803FBE5C 003F8D9C 38 21 00 10 */ addi r1, r1, 0x10
/* 803FBE60 003F8DA0 4E 80 00 20 */ blr
.global getResName__Q32kh6Screen21SceneDayEndResultItemCFv
getResName__Q32kh6Screen21SceneDayEndResultItemCFv:
/* 803FBE64 003F8DA4 3C 60 80 4A */ lis r3, lbl_80498500@ha
/* 803FBE68 003F8DA8 38 63 85 00 */ addi r3, r3, lbl_80498500@l
/* 803FBE6C 003F8DAC 4E 80 00 20 */ blr
.global getSceneType__Q32kh6Screen21SceneDayEndResultItemFv
getSceneType__Q32kh6Screen21SceneDayEndResultItemFv:
/* 803FBE70 003F8DB0 38 60 4E 23 */ li r3, 0x4e23
/* 803FBE74 003F8DB4 4E 80 00 20 */ blr
.global getOwnerID__Q32kh6Screen21SceneDayEndResultItemFv
getOwnerID__Q32kh6Screen21SceneDayEndResultItemFv:
/* 803FBE78 003F8DB8 38 60 4B 48 */ li r3, 0x4b48
/* 803FBE7C 003F8DBC 4E 80 00 20 */ blr
.global getMemberID__Q32kh6Screen21SceneDayEndResultItemFv
getMemberID__Q32kh6Screen21SceneDayEndResultItemFv:
/* 803FBE80 003F8DC0 3C 80 49 54 */ lis r4, 0x4954454D@ha
/* 803FBE84 003F8DC4 3C 60 44 45 */ lis r3, 0x4445525F@ha
/* 803FBE88 003F8DC8 38 84 45 4D */ addi r4, r4, 0x4954454D@l
/* 803FBE8C 003F8DCC 38 63 52 5F */ addi r3, r3, 0x4445525F@l
/* 803FBE90 003F8DD0 4E 80 00 20 */ blr
.global doCreateObj__Q32kh6Screen21SceneDayEndResultItemFP10JKRArchive
doCreateObj__Q32kh6Screen21SceneDayEndResultItemFP10JKRArchive:
/* 803FBE94 003F8DD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803FBE98 003F8DD8 7C 08 02 A6 */ mflr r0
/* 803FBE9C 003F8DDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803FBEA0 003F8DE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803FBEA4 003F8DE4 7C 9F 23 78 */ mr r31, r4
/* 803FBEA8 003F8DE8 93 C1 00 08 */ stw r30, 8(r1)
/* 803FBEAC 003F8DEC 7C 7E 1B 78 */ mr r30, r3
/* 803FBEB0 003F8DF0 38 60 00 FC */ li r3, 0xfc
/* 803FBEB4 003F8DF4 4B C2 7F F1 */ bl __nw__FUl
/* 803FBEB8 003F8DF8 7C 64 1B 79 */ or. r4, r3, r3
/* 803FBEBC 003F8DFC 41 82 00 0C */ beq .L_803FBEC8
/* 803FBEC0 003F8E00 48 00 75 CD */ bl __ct__Q32kh6Screen19ObjDayEndResultItemFv
/* 803FBEC4 003F8E04 7C 64 1B 78 */ mr r4, r3
.L_803FBEC8:
/* 803FBEC8 003F8E08 7F C3 F3 78 */ mr r3, r30
/* 803FBECC 003F8E0C 7F E5 FB 78 */ mr r5, r31
/* 803FBED0 003F8E10 48 05 5E A5 */ bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
/* 803FBED4 003F8E14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803FBED8 003F8E18 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803FBEDC 003F8E1C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803FBEE0 003F8E20 7C 08 03 A6 */ mtlr r0
/* 803FBEE4 003F8E24 38 21 00 10 */ addi r1, r1, 0x10
/* 803FBEE8 003F8E28 4E 80 00 20 */ blr

View File

@ -144,9 +144,9 @@
### <section id="plugProjectKonoU">plugProjectKonoU</section>
| File | Size (bytes) | File | Size (bytes) |
| ---- | ---- | ---- | ---- |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khSceneLoader.cpp">khSceneLoader.cpp</a> | 16159 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khWinLoseReason.cpp">khWinLoseReason.cpp</a> | 21748 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khWinLose.cpp">khWinLose.cpp</a> | 22511 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khReadyGo.cpp">khReadyGo.cpp</a> | 25829 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khFinalFloor.cpp">khFinalFloor.cpp</a> | 26045 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khUtil.cpp">khUtil.cpp</a> | 26990 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khWinLoseReason.cpp">khWinLoseReason.cpp</a> | 21748 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khWinLose.cpp">khWinLose.cpp</a> | 22511 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khReadyGo.cpp">khReadyGo.cpp</a> | 25829 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khFinalFloor.cpp">khFinalFloor.cpp</a> | 26045 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khUtil.cpp">khUtil.cpp</a> | 26990 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKonoU/khPayDept.cpp">khPayDept.cpp</a> | 27875 |
### <section id="plugProjectMorimuraU">plugProjectMorimuraU</section>
| File | Size (bytes) | File | Size (bytes) |

View File

@ -187,62 +187,6 @@ struct SArgDayEndResultMail : public SArgDayEndResultBase {
// _00-_04 = SArgDayEndResultBase
};
////////////////////////////////////////////
// SCENES
struct SceneDayEndResultIncP : public ::Screen::SceneBase {
virtual SceneType getSceneType(); // _08 (weak)
virtual ScreenOwnerID getOwnerID(); // _0C (weak)
virtual ScreenMemberID getMemberID(); // _10 (weak)
virtual const char* getResName() const; // _1C (weak)
virtual void doCreateObj(JKRArchive*); // _20 (weak)
// _00 = VTBL
// _00-_220 = Screen::SceneBase
// TODO: work out if this has extra members
};
struct SceneDayEndResultItem : public ::Screen::SceneBase {
virtual SceneType getSceneType(); // _08 (weak)
virtual ScreenOwnerID getOwnerID(); // _0C (weak)
virtual ScreenMemberID getMemberID(); // _10 (weak)
virtual const char* getResName() const; // _1C (weak)
virtual void doCreateObj(JKRArchive*); // _20 (weak)
// _00 = VTBL
// _00-_220 = Screen::SceneBase
// TODO: work out if this has extra members
};
struct SceneDayEndResultMail : public ::Screen::SceneBase {
SceneDayEndResultMail();
virtual const char* getResName() const { return ""; } // _1C (weak)
virtual SceneType getSceneType() { return SCENE_DAY_END_RESULT_MAIL; } // _08 (weak)
virtual ScreenOwnerID getOwnerID() { return OWNER_KH; } // _0C (weak)
virtual ScreenMemberID getMemberID() { return MEMBER_DAY_END_RESULT_MAIL; } // _10 (weak)
virtual void doCreateObj(JKRArchive*) { } // _20 (weak)
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _24
// _00 = VTBL
// _00-_220 = Screen::SceneBase
u32 _220; // _220, unknown
JKRMemArchive* m_memArchive; // _224
u8 _228[0x14]; // _228, unknown
};
struct SceneDayEndResultTitl : public ::Screen::SceneBase {
virtual SceneType getSceneType(); // _08 (weak)
virtual ScreenOwnerID getOwnerID(); // _0C (weak)
virtual ScreenMemberID getMemberID(); // _10 (weak)
virtual const char* getResName() const; // _1C (weak)
virtual void doCreateObj(JKRArchive*); // _20 (weak)
// _00 = VTBL
// _00-_220 = Screen::SceneBase
// TODO: work out if this has extra members
};
////////////////////////////////////////////
// OBJECTS
@ -640,6 +584,71 @@ struct ObjDayEndResultTitl : public ::Screen::ObjBase {
} msVal;
};
////////////////////////////////////////////
// SCENES
struct SceneDayEndResultIncP : public ::Screen::SceneBase {
virtual const char* getResName() const { return "result_fuetaheta.szs"; } // _1C (weak)
virtual SceneType getSceneType() { return SCENE_DAY_END_RESULT_INC_P; } // _08 (weak)
virtual ScreenOwnerID getOwnerID() { return OWNER_KH; } // _0C (weak)
virtual ScreenMemberID getMemberID() { return MEMBER_DAY_END_RESULT_INC_P; } // _10 (weak)
virtual void doCreateObj(JKRArchive* archive) // _20 (weak)
{
registObj(new ObjDayEndResultIncP, archive);
}
// _00 = VTBL
// _00-_220 = Screen::SceneBase
// TODO: work out if this has extra members
};
struct SceneDayEndResultItem : public ::Screen::SceneBase {
virtual const char* getResName() const { return "result_item.szs"; } // _1C (weak)
virtual SceneType getSceneType() { return SCENE_DAY_END_RESULT_ITEM; } // _08 (weak)
virtual ScreenOwnerID getOwnerID() { return OWNER_KH; } // _0C (weak)
virtual ScreenMemberID getMemberID() { return MEMBER_DAY_END_RESULT_ITEM; } // _10 (weak)
virtual void doCreateObj(JKRArchive* archive) // _20 (weak)
{
registObj(new ObjDayEndResultItem, archive);
}
// _00 = VTBL
// _00-_220 = Screen::SceneBase
// TODO: work out if this has extra members
};
struct SceneDayEndResultMail : public ::Screen::SceneBase {
SceneDayEndResultMail();
virtual const char* getResName() const { return ""; } // _1C (weak)
virtual SceneType getSceneType() { return SCENE_DAY_END_RESULT_MAIL; } // _08 (weak)
virtual ScreenOwnerID getOwnerID() { return OWNER_KH; } // _0C (weak)
virtual ScreenMemberID getMemberID() { return MEMBER_DAY_END_RESULT_MAIL; } // _10 (weak)
virtual void doCreateObj(JKRArchive*) { } // _20 (weak)
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _24
// _00 = VTBL
// _00-_220 = Screen::SceneBase
u32 _220; // _220, unknown
JKRMemArchive* m_memArchive; // _224
u8 _228[0x14]; // _228, unknown
};
struct SceneDayEndResultTitl : public ::Screen::SceneBase {
virtual const char* getResName() const { return "result_title_new.szs"; } // _1C (weak)
virtual SceneType getSceneType() { return SCENE_DAY_END_RESULT_TITL; } // _08 (weak)
virtual ScreenOwnerID getOwnerID() { return OWNER_KH; } // _0C (weak)
virtual ScreenMemberID getMemberID() { return MEMBER_DAY_END_RESULT_TITLE; } // _10 (weak)
virtual void doCreateObj(JKRArchive* archive) // _20 (weak)
{
registObj(new ObjDayEndResultTitl, archive);
}
// _00 = VTBL
// _00-_220 = Screen::SceneBase
// TODO: work out if this has extra members
};
} // namespace Screen
} // namespace kh

View File

@ -51,6 +51,11 @@ struct ObjFinalFloor : public ::Screen::ObjBase {
};
struct SceneFinalFloor : public ::Screen::SceneBase {
inline SceneFinalFloor()
: m_objFinalFloor(nullptr)
{
}
virtual SceneType getSceneType(); // _08 (weak)
virtual ScreenOwnerID getOwnerID(); // _0C (weak)
virtual ScreenMemberID getMemberID(); // _10 (weak)

View File

@ -83,11 +83,14 @@ struct ObjWinLoseReason : public ::Screen::ObjBase {
};
struct SceneWinLose : public ::Screen::SceneBase {
virtual SceneType getSceneType(); // _08 (weak)
virtual ScreenOwnerID getOwnerID(); // _0C (weak)
virtual ScreenMemberID getMemberID(); // _10 (weak)
virtual const char* getResName() const; // _1C (weak)
virtual void doCreateObj(JKRArchive*); // _20 (weak)
virtual const char* getResName() const { return "win_lose.szs"; } // _1C (weak)
virtual SceneType getSceneType() { return SCENE_WIN_LOSE; } // _08 (weak)
virtual ScreenOwnerID getOwnerID() { return OWNER_KH; } // _0C (weak)
virtual ScreenMemberID getMemberID() { return MEMBER_WIN_LOSE; } // _10 (weak)
virtual void doCreateObj(JKRArchive* archive) // _20 (weak)
{
registObj(new ObjWinLose, archive);
}
// _00 = VTBL
// _00-_220 = Screen::SceneBase

View File

@ -1069,7 +1069,7 @@ EBISAWA:=\
KONO:=\
$(BUILD_DIR)/asm/plugProjectKonoU/khWorldMap.o\
$(BUILD_DIR)/asm/plugProjectKonoU/khCaveResult.o\
$(BUILD_DIR)/asm/plugProjectKonoU/khSceneLoader.o\
$(BUILD_DIR)/src/plugProjectKonoU/khSceneLoader.o\
$(BUILD_DIR)/asm/plugProjectKonoU/newGame2DMgr.o\
$(BUILD_DIR)/asm/plugProjectKonoU/newScreenMgr.o\
$(BUILD_DIR)/asm/plugProjectKonoU/khReadyGo.o\

View File

@ -1,145 +1,10 @@
#include "types.h"
/*
Generated from dpostproc
.section .rodata # 0x804732E0 - 0x8049E220
.global lbl_804984C0
lbl_804984C0:
.4byte 0x72657375
.4byte 0x6C745F74
.4byte 0x69746C65
.4byte 0x5F6E6577
.4byte 0x2E737A73
.4byte 0x00000000
.global lbl_804984D8
lbl_804984D8:
.4byte 0x77696E5F
.4byte 0x6C6F7365
.4byte 0x2E737A73
.4byte 0x00000000
.global lbl_804984E8
lbl_804984E8:
.4byte 0x72657375
.4byte 0x6C745F66
.4byte 0x75657461
.4byte 0x68657461
.4byte 0x2E737A73
.4byte 0x00000000
.global lbl_80498500
lbl_80498500:
.4byte 0x72657375
.4byte 0x6C745F69
.4byte 0x74656D2E
.4byte 0x737A7300
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.global lbl_804EA668
lbl_804EA668:
.4byte lbl_803FBB0C
.4byte lbl_803FBB34
.4byte lbl_803FBB5C
.4byte lbl_803FBB8C
.4byte lbl_803FBBB4
.4byte lbl_803FBBDC
.4byte lbl_803FBBFC
.4byte lbl_803FBC24
.4byte lbl_803FBC4C
.4byte lbl_803FBC74
.4byte lbl_803FBC94
.global __vt__Q32kh6Screen21SceneDayEndResultTitl
__vt__Q32kh6Screen21SceneDayEndResultTitl:
.4byte 0
.4byte 0
.4byte getSceneType__Q32kh6Screen21SceneDayEndResultTitlFv
.4byte getOwnerID__Q32kh6Screen21SceneDayEndResultTitlFv
.4byte getMemberID__Q32kh6Screen21SceneDayEndResultTitlFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32kh6Screen21SceneDayEndResultTitlCFv
.4byte doCreateObj__Q32kh6Screen21SceneDayEndResultTitlFP10JKRArchive
.4byte doUserCallBackFunc__Q26Screen9SceneBaseFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte
doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg .4byte
doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg .4byte
setDefaultDispMember__Q26Screen9SceneBaseFv .4byte
doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg .4byte
doGetFinishState__Q26Screen9SceneBaseFv .global
__vt__Q32kh6Screen12SceneWinLose
__vt__Q32kh6Screen12SceneWinLose:
.4byte 0
.4byte 0
.4byte getSceneType__Q32kh6Screen12SceneWinLoseFv
.4byte getOwnerID__Q32kh6Screen12SceneWinLoseFv
.4byte getMemberID__Q32kh6Screen12SceneWinLoseFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32kh6Screen12SceneWinLoseCFv
.4byte doCreateObj__Q32kh6Screen12SceneWinLoseFP10JKRArchive
.4byte doUserCallBackFunc__Q26Screen9SceneBaseFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte
doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg .4byte
doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg .4byte
setDefaultDispMember__Q26Screen9SceneBaseFv .4byte
doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg .4byte
doGetFinishState__Q26Screen9SceneBaseFv .global
__vt__Q32kh6Screen21SceneDayEndResultIncP
__vt__Q32kh6Screen21SceneDayEndResultIncP:
.4byte 0
.4byte 0
.4byte getSceneType__Q32kh6Screen21SceneDayEndResultIncPFv
.4byte getOwnerID__Q32kh6Screen21SceneDayEndResultIncPFv
.4byte getMemberID__Q32kh6Screen21SceneDayEndResultIncPFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32kh6Screen21SceneDayEndResultIncPCFv
.4byte doCreateObj__Q32kh6Screen21SceneDayEndResultIncPFP10JKRArchive
.4byte doUserCallBackFunc__Q26Screen9SceneBaseFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte
doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg .4byte
doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg .4byte
setDefaultDispMember__Q26Screen9SceneBaseFv .4byte
doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg .4byte
doGetFinishState__Q26Screen9SceneBaseFv .global
__vt__Q32kh6Screen21SceneDayEndResultItem
__vt__Q32kh6Screen21SceneDayEndResultItem:
.4byte 0
.4byte 0
.4byte getSceneType__Q32kh6Screen21SceneDayEndResultItemFv
.4byte getOwnerID__Q32kh6Screen21SceneDayEndResultItemFv
.4byte getMemberID__Q32kh6Screen21SceneDayEndResultItemFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32kh6Screen21SceneDayEndResultItemCFv
.4byte doCreateObj__Q32kh6Screen21SceneDayEndResultItemFP10JKRArchive
.4byte doUserCallBackFunc__Q26Screen9SceneBaseFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte
doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg .4byte
doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg .4byte
setDefaultDispMember__Q26Screen9SceneBaseFv .4byte
doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg .4byte
doGetFinishState__Q26Screen9SceneBaseFv .4byte 0
*/
#include "kh/DayEndResult.h"
#include "kh/WinLose.h"
#include "kh/CaveResult.h"
#include "kh/ReadyGo.h"
#include "kh/FinalFloor.h"
#include "kh/FinalResult.h"
#include "kh/PayDept.h"
namespace kh {
namespace Screen {
@ -149,509 +14,56 @@ namespace Screen {
* Address: 803FBAD4
* Size: 0001F8
*/
void createScene_Koono(long)
::Screen::SceneBase* createScene_Koono(long sceneType)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
addi r0, r3, -20000
cmplwi r0, 0xa
li r3, 0
stw r31, 0xc(r1)
bgt lbl_803FBCB8
lis r4, lbl_804EA668@ha
slwi r0, r0, 2
addi r4, r4, lbl_804EA668@l
lwzx r0, r4, r0
mtctr r0
bctr
.global lbl_803FBB0C
::Screen::SceneBase* base = nullptr;
switch (sceneType) {
case SCENE_CAVE_RESULT:
base = new SceneCaveResult;
break;
lbl_803FBB0C:
li r3, 0x220
bl __nw__FUl
or. r31, r3, r3
beq lbl_803FBB2C
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32kh6Screen15SceneCaveResult@ha
addi r0, r3, __vt__Q32kh6Screen15SceneCaveResult@l
stw r0, 0(r31)
case SCENE_READY_GO:
base = new SceneReadyGo;
break;
lbl_803FBB2C:
mr r3, r31
b lbl_803FBCB8
.global lbl_803FBB34
case SCENE_FINAL_FLOOR:
base = new SceneFinalFloor;
break;
lbl_803FBB34:
li r3, 0x220
bl __nw__FUl
or. r31, r3, r3
beq lbl_803FBB54
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32kh6Screen12SceneReadyGo@ha
addi r0, r3, __vt__Q32kh6Screen12SceneReadyGo@l
stw r0, 0(r31)
case SCENE_DAY_END_RESULT_ITEM:
base = new SceneDayEndResultItem;
break;
lbl_803FBB54:
mr r3, r31
b lbl_803FBCB8
.global lbl_803FBB5C
case SCENE_DAY_END_RESULT_INC_P:
base = new SceneDayEndResultIncP;
break;
lbl_803FBB5C:
li r3, 0x224
bl __nw__FUl
or. r31, r3, r3
beq lbl_803FBB84
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32kh6Screen15SceneFinalFloor@ha
li r0, 0
addi r3, r3, __vt__Q32kh6Screen15SceneFinalFloor@l
stw r3, 0(r31)
stw r0, 0x220(r31)
case SCENE_DAY_END_RESULT_MAIL:
base = new SceneDayEndResultMail;
break;
lbl_803FBB84:
mr r3, r31
b lbl_803FBCB8
.global lbl_803FBB8C
case SCENE_FINAL_RESULT:
base = new SceneFinalResult;
break;
lbl_803FBB8C:
li r3, 0x220
bl __nw__FUl
or. r31, r3, r3
beq lbl_803FBBAC
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32kh6Screen21SceneDayEndResultItem@ha
addi r0, r3, __vt__Q32kh6Screen21SceneDayEndResultItem@l
stw r0, 0(r31)
case SCENE_PAY_DEPT:
base = new ScenePayDept;
break;
lbl_803FBBAC:
mr r3, r31
b lbl_803FBCB8
.global lbl_803FBBB4
case SCENE_WIN_LOSE:
base = new SceneWinLose;
break;
lbl_803FBBB4:
li r3, 0x220
bl __nw__FUl
or. r31, r3, r3
beq lbl_803FBBD4
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32kh6Screen21SceneDayEndResultIncP@ha
addi r0, r3, __vt__Q32kh6Screen21SceneDayEndResultIncP@l
stw r0, 0(r31)
case SCENE_WIN_LOSE_REASON:
base = new SceneWinLoseReason;
break;
lbl_803FBBD4:
mr r3, r31
b lbl_803FBCB8
.global lbl_803FBBDC
case SCENE_DAY_END_RESULT_TITL:
base = new SceneDayEndResultTitl;
break;
}
lbl_803FBBDC:
li r3, 0x23c
bl __nw__FUl
or. r0, r3, r3
beq lbl_803FBBF4
bl __ct__Q32kh6Screen21SceneDayEndResultMailFv
mr r0, r3
lbl_803FBBF4:
mr r3, r0
b lbl_803FBCB8
.global lbl_803FBBFC
lbl_803FBBFC:
li r3, 0x220
bl __nw__FUl
or. r31, r3, r3
beq lbl_803FBC1C
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32kh6Screen16SceneFinalResult@ha
addi r0, r3, __vt__Q32kh6Screen16SceneFinalResult@l
stw r0, 0(r31)
lbl_803FBC1C:
mr r3, r31
b lbl_803FBCB8
.global lbl_803FBC24
lbl_803FBC24:
li r3, 0x220
bl __nw__FUl
or. r31, r3, r3
beq lbl_803FBC44
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32kh6Screen12ScenePayDept@ha
addi r0, r3, __vt__Q32kh6Screen12ScenePayDept@l
stw r0, 0(r31)
lbl_803FBC44:
mr r3, r31
b lbl_803FBCB8
.global lbl_803FBC4C
lbl_803FBC4C:
li r3, 0x220
bl __nw__FUl
or. r31, r3, r3
beq lbl_803FBC6C
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32kh6Screen12SceneWinLose@ha
addi r0, r3, __vt__Q32kh6Screen12SceneWinLose@l
stw r0, 0(r31)
lbl_803FBC6C:
mr r3, r31
b lbl_803FBCB8
.global lbl_803FBC74
lbl_803FBC74:
li r3, 0x238
bl __nw__FUl
or. r0, r3, r3
beq lbl_803FBC8C
bl __ct__Q32kh6Screen18SceneWinLoseReasonFv
mr r0, r3
lbl_803FBC8C:
mr r3, r0
b lbl_803FBCB8
.global lbl_803FBC94
lbl_803FBC94:
li r3, 0x220
bl __nw__FUl
or. r31, r3, r3
beq lbl_803FBCB4
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32kh6Screen21SceneDayEndResultTitl@ha
addi r0, r3, __vt__Q32kh6Screen21SceneDayEndResultTitl@l
stw r0, 0(r31)
lbl_803FBCB4:
mr r3, r31
lbl_803FBCB8:
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
* --INFO--
* Address: 803FBCCC
* Size: 00000C
*/
void SceneDayEndResultTitl::getResName() const
{
/*
lis r3, lbl_804984C0@ha
addi r3, r3, lbl_804984C0@l
blr
*/
}
/*
* --INFO--
* Address: 803FBCD8
* Size: 000008
*/
u32 SceneDayEndResultTitl::getSceneType() { return 0x4E2A; }
/*
* --INFO--
* Address: 803FBCE0
* Size: 000008
*/
u32 SceneDayEndResultTitl::getOwnerID() { return 0x4B48; }
/*
* --INFO--
* Address: 803FBCE8
* Size: 000014
*/
void SceneDayEndResultTitl::getMemberID()
{
/*
lis r4, 0x5449544C@ha
lis r3, 0x4445525F@ha
addi r4, r4, 0x5449544C@l
addi r3, r3, 0x4445525F@l
blr
*/
}
/*
* --INFO--
* Address: 803FBCFC
* Size: 000058
*/
void SceneDayEndResultTitl::doCreateObj(JKRArchive*)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
mr r30, r3
li r3, 0x54
bl __nw__FUl
or. r4, r3, r3
beq lbl_803FBD30
bl __ct__Q32kh6Screen19ObjDayEndResultTitlFv
mr r4, r3
lbl_803FBD30:
mr r3, r30
mr r5, r31
bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
* --INFO--
* Address: 803FBD54
* Size: 00000C
*/
void SceneWinLose::getResName() const
{
/*
lis r3, lbl_804984D8@ha
addi r3, r3, lbl_804984D8@l
blr
*/
}
/*
* --INFO--
* Address: 803FBD60
* Size: 000008
*/
u32 SceneWinLose::getSceneType() { return 0x4E28; }
/*
* --INFO--
* Address: 803FBD68
* Size: 000008
*/
u32 SceneWinLose::getOwnerID() { return 0x4B48; }
/*
* --INFO--
* Address: 803FBD70
* Size: 000014
*/
void SceneWinLose::getMemberID()
{
/*
lis r4, 0x4C4F5345@ha
lis r3, 0x57494E5F@ha
addi r4, r4, 0x4C4F5345@l
addi r3, r3, 0x57494E5F@l
blr
*/
}
/*
* --INFO--
* Address: 803FBD84
* Size: 000058
*/
void SceneWinLose::doCreateObj(JKRArchive*)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
mr r30, r3
li r3, 0xa0
bl __nw__FUl
or. r4, r3, r3
beq lbl_803FBDB8
bl __ct__Q32kh6Screen10ObjWinLoseFv
mr r4, r3
lbl_803FBDB8:
mr r3, r30
mr r5, r31
bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
* --INFO--
* Address: 803FBDDC
* Size: 00000C
*/
void SceneDayEndResultIncP::getResName() const
{
/*
lis r3, lbl_804984E8@ha
addi r3, r3, lbl_804984E8@l
blr
*/
}
/*
* --INFO--
* Address: 803FBDE8
* Size: 000008
*/
u32 SceneDayEndResultIncP::getSceneType() { return 0x4E24; }
/*
* --INFO--
* Address: 803FBDF0
* Size: 000008
*/
u32 SceneDayEndResultIncP::getOwnerID() { return 0x4B48; }
/*
* --INFO--
* Address: 803FBDF8
* Size: 000014
*/
void SceneDayEndResultIncP::getMemberID()
{
/*
lis r4, 0x494E4350@ha
lis r3, 0x4445525F@ha
addi r4, r4, 0x494E4350@l
addi r3, r3, 0x4445525F@l
blr
*/
}
/*
* --INFO--
* Address: 803FBE0C
* Size: 000058
*/
void SceneDayEndResultIncP::doCreateObj(JKRArchive*)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
mr r30, r3
li r3, 0x158
bl __nw__FUl
or. r4, r3, r3
beq lbl_803FBE40
bl __ct__Q32kh6Screen19ObjDayEndResultIncPFv
mr r4, r3
lbl_803FBE40:
mr r3, r30
mr r5, r31
bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
* --INFO--
* Address: 803FBE64
* Size: 00000C
*/
void SceneDayEndResultItem::getResName() const
{
/*
lis r3, lbl_80498500@ha
addi r3, r3, lbl_80498500@l
blr
*/
}
/*
* --INFO--
* Address: 803FBE70
* Size: 000008
*/
u32 SceneDayEndResultItem::getSceneType() { return 0x4E23; }
/*
* --INFO--
* Address: 803FBE78
* Size: 000008
*/
u32 SceneDayEndResultItem::getOwnerID() { return 0x4B48; }
/*
* --INFO--
* Address: 803FBE80
* Size: 000014
*/
void SceneDayEndResultItem::getMemberID()
{
/*
lis r4, 0x4954454D@ha
lis r3, 0x4445525F@ha
addi r4, r4, 0x4954454D@l
addi r3, r3, 0x4445525F@l
blr
*/
}
/*
* --INFO--
* Address: 803FBE94
* Size: 000058
*/
void SceneDayEndResultItem::doCreateObj(JKRArchive*)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
mr r30, r3
li r3, 0xfc
bl __nw__FUl
or. r4, r3, r3
beq lbl_803FBEC8
bl __ct__Q32kh6Screen19ObjDayEndResultItemFv
mr r4, r3
lbl_803FBEC8:
mr r3, r30
mr r5, r31
bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
return base;
}
} // namespace Screen
} // namespace kh

View File

@ -245,3 +245,5 @@ You have 1004 out of 10000 Pokos and 47 out of 201 treasures.",2022-11-10 13:10:
You have 1011 out of 10000 Pokos and 47 out of 201 treasures.",2022-11-11 09:54:00.515215
1014,471756,0.1014016136354257,47,168226,0.23598875509219253,"
You have 1014 out of 10000 Pokos and 47 out of 201 treasures.",2022-11-13 13:48:21.098372
1016,472804,0.101626876040334,47,168661,0.2365989765113852,"
You have 1016 out of 10000 Pokos and 47 out of 201 treasures.",2022-11-13 14:49:50.171177

1 code_count_in_pokos code_completion_in_bytes code_completion_in_percentage data_count_in_treasures data_completion_in_bytes data_completion_in_percentage sentence created_at
245
246
247
248
249