mirror of
https://github.com/projectPiki/pikmin2.git
synced 2024-11-23 13:29:55 +00:00
JPATexture, gameIconTexture, and random progress!
This commit is contained in:
parent
d2fe52f6b3
commit
687fa2cea2
@ -1,308 +0,0 @@
|
||||
.include "macros.inc"
|
||||
.section .rodata # 0x804732E0 - 0x8049E220
|
||||
.balign 0x8
|
||||
.global lbl_804839F0
|
||||
lbl_804839F0:
|
||||
.4byte 0x67616D65
|
||||
.4byte 0x49636F6E
|
||||
.4byte 0x54657874
|
||||
.4byte 0x7572652E
|
||||
.4byte 0x63707000
|
||||
.global lbl_80483A04
|
||||
lbl_80483A04:
|
||||
.4byte 0x6661696C
|
||||
.4byte 0x65642074
|
||||
.4byte 0x6F206F70
|
||||
.4byte 0x656E205B
|
||||
.4byte 0x25735D0A
|
||||
.4byte 0x00000000
|
||||
.global lbl_80483A1C
|
||||
lbl_80483A1C:
|
||||
.asciz "P2Assert"
|
||||
.skip 3
|
||||
.global lbl_80483A28
|
||||
lbl_80483A28:
|
||||
.asciz "illegal index [%d] [0..%d)\n"
|
||||
|
||||
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
||||
.balign 0x8
|
||||
.global __vt__Q34Game11IconTexture3Mgr
|
||||
__vt__Q34Game11IconTexture3Mgr:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte __dt__Q34Game11IconTexture3MgrFv
|
||||
.global __vt__Q34Game11IconTexture6Loader
|
||||
__vt__Q34Game11IconTexture6Loader:
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte __dt__Q34Game11IconTexture6LoaderFv
|
||||
|
||||
.section .text, "ax" # 0x800056C0 - 0x80472F00
|
||||
.global __ct__Q34Game11IconTexture6LoaderFv
|
||||
__ct__Q34Game11IconTexture6LoaderFv:
|
||||
/* 80233484 002303C4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80233488 002303C8 7C 08 02 A6 */ mflr r0
|
||||
/* 8023348C 002303CC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80233490 002303D0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80233494 002303D4 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80233498 002303D8 4B DE 9B 35 */ bl __ct__11JKRDisposerFv
|
||||
/* 8023349C 002303DC 3C 60 80 4C */ lis r3, __vt__Q34Game11IconTexture6Loader@ha
|
||||
/* 802334A0 002303E0 38 00 00 00 */ li r0, 0
|
||||
/* 802334A4 002303E4 38 83 14 34 */ addi r4, r3, __vt__Q34Game11IconTexture6Loader@l
|
||||
/* 802334A8 002303E8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802334AC 002303EC 90 9F 00 00 */ stw r4, 0(r31)
|
||||
/* 802334B0 002303F0 90 1F 00 1C */ stw r0, 0x1c(r31)
|
||||
/* 802334B4 002303F4 90 1F 00 18 */ stw r0, 0x18(r31)
|
||||
/* 802334B8 002303F8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802334BC 002303FC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802334C0 00230400 7C 08 03 A6 */ mtlr r0
|
||||
/* 802334C4 00230404 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802334C8 00230408 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game11IconTexture6LoaderFv
|
||||
__dt__Q34Game11IconTexture6LoaderFv:
|
||||
/* 802334CC 0023040C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802334D0 00230410 7C 08 02 A6 */ mflr r0
|
||||
/* 802334D4 00230414 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802334D8 00230418 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802334DC 0023041C 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802334E0 00230420 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802334E4 00230424 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802334E8 00230428 41 82 00 54 */ beq lbl_8023353C
|
||||
/* 802334EC 0023042C 3C 60 80 4C */ lis r3, __vt__Q34Game11IconTexture6Loader@ha
|
||||
/* 802334F0 00230430 38 03 14 34 */ addi r0, r3, __vt__Q34Game11IconTexture6Loader@l
|
||||
/* 802334F4 00230434 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 802334F8 00230438 80 1E 00 1C */ lwz r0, 0x1c(r30)
|
||||
/* 802334FC 0023043C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80233500 00230440 41 82 00 0C */ beq lbl_8023350C
|
||||
/* 80233504 00230444 38 00 00 00 */ li r0, 0
|
||||
/* 80233508 00230448 90 1E 00 1C */ stw r0, 0x1c(r30)
|
||||
lbl_8023350C:
|
||||
/* 8023350C 0023044C 80 1E 00 18 */ lwz r0, 0x18(r30)
|
||||
/* 80233510 00230450 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80233514 00230454 41 82 00 0C */ beq lbl_80233520
|
||||
/* 80233518 00230458 38 00 00 00 */ li r0, 0
|
||||
/* 8023351C 0023045C 90 1E 00 18 */ stw r0, 0x18(r30)
|
||||
lbl_80233520:
|
||||
/* 80233520 00230460 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80233524 00230464 38 80 00 00 */ li r4, 0
|
||||
/* 80233528 00230468 4B DE 9B 0D */ bl __dt__11JKRDisposerFv
|
||||
/* 8023352C 0023046C 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 80233530 00230470 40 81 00 0C */ ble lbl_8023353C
|
||||
/* 80233534 00230474 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80233538 00230478 4B DF 0B 7D */ bl __dl__FPv
|
||||
lbl_8023353C:
|
||||
/* 8023353C 0023047C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80233540 00230480 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80233544 00230484 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80233548 00230488 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 8023354C 0023048C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80233550 00230490 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80233554 00230494 4E 80 00 20 */ blr
|
||||
|
||||
.global loadResource__Q34Game11IconTexture6LoaderFPc
|
||||
loadResource__Q34Game11IconTexture6LoaderFPc:
|
||||
/* 80233558 00230498 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 8023355C 0023049C 7C 08 02 A6 */ mflr r0
|
||||
/* 80233560 002304A0 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 80233564 002304A4 93 E1 00 3C */ stw r31, 0x3c(r1)
|
||||
/* 80233568 002304A8 7C 9F 23 78 */ mr r31, r4
|
||||
/* 8023356C 002304AC 93 C1 00 38 */ stw r30, 0x38(r1)
|
||||
/* 80233570 002304B0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80233574 002304B4 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80233578 002304B8 48 21 90 61 */ bl __ct__Q212LoadResource3ArgFPCc
|
||||
/* 8023357C 002304BC 80 6D 9C 28 */ lwz r3, gLoadResourceMgr@sda21(r13)
|
||||
/* 80233580 002304C0 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80233584 002304C4 48 21 91 91 */ bl mountArchive__Q212LoadResource3MgrFRQ212LoadResource3Arg
|
||||
/* 80233588 002304C8 90 7E 00 18 */ stw r3, 0x18(r30)
|
||||
/* 8023358C 002304CC 80 7E 00 18 */ lwz r3, 0x18(r30)
|
||||
/* 80233590 002304D0 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80233594 002304D4 41 82 00 10 */ beq lbl_802335A4
|
||||
/* 80233598 002304D8 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 8023359C 002304DC 90 1E 00 1C */ stw r0, 0x1c(r30)
|
||||
/* 802335A0 002304E0 48 00 00 24 */ b lbl_802335C4
|
||||
lbl_802335A4:
|
||||
/* 802335A4 002304E4 3C 60 80 48 */ lis r3, lbl_804839F0@ha
|
||||
/* 802335A8 002304E8 3C 80 80 48 */ lis r4, lbl_80483A04@ha
|
||||
/* 802335AC 002304EC 38 A4 3A 04 */ addi r5, r4, lbl_80483A04@l
|
||||
/* 802335B0 002304F0 7F E6 FB 78 */ mr r6, r31
|
||||
/* 802335B4 002304F4 38 63 39 F0 */ addi r3, r3, lbl_804839F0@l
|
||||
/* 802335B8 002304F8 38 80 00 2D */ li r4, 0x2d
|
||||
/* 802335BC 002304FC 4C C6 31 82 */ crclr 6
|
||||
/* 802335C0 00230500 4B DF 70 81 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_802335C4:
|
||||
/* 802335C4 00230504 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 802335C8 00230508 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
||||
/* 802335CC 0023050C 83 C1 00 38 */ lwz r30, 0x38(r1)
|
||||
/* 802335D0 00230510 7C 08 03 A6 */ mtlr r0
|
||||
/* 802335D4 00230514 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 802335D8 00230518 4E 80 00 20 */ blr
|
||||
|
||||
.global getResTIMG__Q34Game11IconTexture6LoaderFPc
|
||||
getResTIMG__Q34Game11IconTexture6LoaderFPc:
|
||||
/* 802335DC 0023051C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802335E0 00230520 7C 08 02 A6 */ mflr r0
|
||||
/* 802335E4 00230524 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802335E8 00230528 80 63 00 1C */ lwz r3, 0x1c(r3)
|
||||
/* 802335EC 0023052C 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802335F0 00230530 81 8C 00 14 */ lwz r12, 0x14(r12)
|
||||
/* 802335F4 00230534 7D 89 03 A6 */ mtctr r12
|
||||
/* 802335F8 00230538 4E 80 04 21 */ bctrl
|
||||
/* 802335FC 0023053C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80233600 00230540 7C 08 03 A6 */ mtlr r0
|
||||
/* 80233604 00230544 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80233608 00230548 4E 80 00 20 */ blr
|
||||
|
||||
.global __ct__Q34Game11IconTexture3MgrFv
|
||||
__ct__Q34Game11IconTexture3MgrFv:
|
||||
/* 8023360C 0023054C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80233610 00230550 7C 08 02 A6 */ mflr r0
|
||||
/* 80233614 00230554 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80233618 00230558 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8023361C 0023055C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80233620 00230560 4B DE 99 AD */ bl __ct__11JKRDisposerFv
|
||||
/* 80233624 00230564 3C 60 80 4C */ lis r3, __vt__Q34Game11IconTexture3Mgr@ha
|
||||
/* 80233628 00230568 38 00 00 00 */ li r0, 0
|
||||
/* 8023362C 0023056C 38 83 14 28 */ addi r4, r3, __vt__Q34Game11IconTexture3Mgr@l
|
||||
/* 80233630 00230570 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80233634 00230574 90 9F 00 00 */ stw r4, 0(r31)
|
||||
/* 80233638 00230578 90 1F 00 18 */ stw r0, 0x18(r31)
|
||||
/* 8023363C 0023057C 90 1F 00 1C */ stw r0, 0x1c(r31)
|
||||
/* 80233640 00230580 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80233644 00230584 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80233648 00230588 7C 08 03 A6 */ mtlr r0
|
||||
/* 8023364C 0023058C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80233650 00230590 4E 80 00 20 */ blr
|
||||
|
||||
.global __dt__Q34Game11IconTexture3MgrFv
|
||||
__dt__Q34Game11IconTexture3MgrFv:
|
||||
/* 80233654 00230594 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80233658 00230598 7C 08 02 A6 */ mflr r0
|
||||
/* 8023365C 0023059C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80233660 002305A0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80233664 002305A4 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80233668 002305A8 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 8023366C 002305AC 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 80233670 002305B0 41 82 00 54 */ beq lbl_802336C4
|
||||
/* 80233674 002305B4 3C 60 80 4C */ lis r3, __vt__Q34Game11IconTexture3Mgr@ha
|
||||
/* 80233678 002305B8 38 03 14 28 */ addi r0, r3, __vt__Q34Game11IconTexture3Mgr@l
|
||||
/* 8023367C 002305BC 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 80233680 002305C0 80 7E 00 18 */ lwz r3, 0x18(r30)
|
||||
/* 80233684 002305C4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80233688 002305C8 41 82 00 18 */ beq lbl_802336A0
|
||||
/* 8023368C 002305CC 3C 80 80 03 */ lis r4, __dt__10JUTTextureFv@ha
|
||||
/* 80233690 002305D0 38 84 30 10 */ addi r4, r4, __dt__10JUTTextureFv@l
|
||||
/* 80233694 002305D4 4B E8 E0 B5 */ bl __destroy_new_array
|
||||
/* 80233698 002305D8 38 00 00 00 */ li r0, 0
|
||||
/* 8023369C 002305DC 90 1E 00 18 */ stw r0, 0x18(r30)
|
||||
lbl_802336A0:
|
||||
/* 802336A0 002305E0 38 00 00 00 */ li r0, 0
|
||||
/* 802336A4 002305E4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802336A8 002305E8 90 1E 00 1C */ stw r0, 0x1c(r30)
|
||||
/* 802336AC 002305EC 38 80 00 00 */ li r4, 0
|
||||
/* 802336B0 002305F0 4B DE 99 85 */ bl __dt__11JKRDisposerFv
|
||||
/* 802336B4 002305F4 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802336B8 002305F8 40 81 00 0C */ ble lbl_802336C4
|
||||
/* 802336BC 002305FC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802336C0 00230600 4B DF 09 F5 */ bl __dl__FPv
|
||||
lbl_802336C4:
|
||||
/* 802336C4 00230604 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802336C8 00230608 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802336CC 0023060C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802336D0 00230610 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802336D4 00230614 7C 08 03 A6 */ mtlr r0
|
||||
/* 802336D8 00230618 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802336DC 0023061C 4E 80 00 20 */ blr
|
||||
|
||||
.global create__Q34Game11IconTexture3MgrFi
|
||||
create__Q34Game11IconTexture3MgrFi:
|
||||
/* 802336E0 00230620 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802336E4 00230624 7C 08 02 A6 */ mflr r0
|
||||
/* 802336E8 00230628 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802336EC 0023062C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802336F0 00230630 7C 9F 23 79 */ or. r31, r4, r4
|
||||
/* 802336F4 00230634 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802336F8 00230638 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802336FC 0023063C 41 81 00 20 */ bgt lbl_8023371C
|
||||
/* 80233700 00230640 3C 60 80 48 */ lis r3, lbl_804839F0@ha
|
||||
/* 80233704 00230644 3C A0 80 48 */ lis r5, lbl_80483A1C@ha
|
||||
/* 80233708 00230648 38 63 39 F0 */ addi r3, r3, lbl_804839F0@l
|
||||
/* 8023370C 0023064C 38 80 00 4E */ li r4, 0x4e
|
||||
/* 80233710 00230650 38 A5 3A 1C */ addi r5, r5, lbl_80483A1C@l
|
||||
/* 80233714 00230654 4C C6 31 82 */ crclr 6
|
||||
/* 80233718 00230658 4B DF 6F 29 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_8023371C:
|
||||
/* 8023371C 0023065C 57 E3 30 32 */ slwi r3, r31, 6
|
||||
/* 80233720 00230660 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 80233724 00230664 4B DF 08 89 */ bl __nwa__FUl
|
||||
/* 80233728 00230668 3C 80 80 01 */ lis r4, __ct__10JUTTextureFv@ha
|
||||
/* 8023372C 0023066C 3C A0 80 03 */ lis r5, __dt__10JUTTextureFv@ha
|
||||
/* 80233730 00230670 38 84 77 D0 */ addi r4, r4, __ct__10JUTTextureFv@l
|
||||
/* 80233734 00230674 7F E7 FB 78 */ mr r7, r31
|
||||
/* 80233738 00230678 38 A5 30 10 */ addi r5, r5, __dt__10JUTTextureFv@l
|
||||
/* 8023373C 0023067C 38 C0 00 40 */ li r6, 0x40
|
||||
/* 80233740 00230680 4B E8 E2 B1 */ bl __construct_new_array
|
||||
/* 80233744 00230684 90 7E 00 18 */ stw r3, 0x18(r30)
|
||||
/* 80233748 00230688 93 FE 00 1C */ stw r31, 0x1c(r30)
|
||||
/* 8023374C 0023068C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80233750 00230690 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80233754 00230694 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80233758 00230698 7C 08 03 A6 */ mtlr r0
|
||||
/* 8023375C 0023069C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80233760 002306A0 4E 80 00 20 */ blr
|
||||
|
||||
.global setTexture__Q34Game11IconTexture3MgrFiP7ResTIMG
|
||||
setTexture__Q34Game11IconTexture3MgrFiP7ResTIMG:
|
||||
/* 80233764 002306A4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80233768 002306A8 7C 08 02 A6 */ mflr r0
|
||||
/* 8023376C 002306AC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80233770 002306B0 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80233774 002306B4 7C BF 2B 78 */ mr r31, r5
|
||||
/* 80233778 002306B8 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 8023377C 002306BC 7C 9E 23 79 */ or. r30, r4, r4
|
||||
/* 80233780 002306C0 93 A1 00 14 */ stw r29, 0x14(r1)
|
||||
/* 80233784 002306C4 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 80233788 002306C8 41 80 00 10 */ blt lbl_80233798
|
||||
/* 8023378C 002306CC 80 1D 00 1C */ lwz r0, 0x1c(r29)
|
||||
/* 80233790 002306D0 7C 1E 00 00 */ cmpw r30, r0
|
||||
/* 80233794 002306D4 41 80 00 28 */ blt lbl_802337BC
|
||||
lbl_80233798:
|
||||
/* 80233798 002306D8 3C 60 80 48 */ lis r3, lbl_804839F0@ha
|
||||
/* 8023379C 002306DC 3C 80 80 48 */ lis r4, lbl_80483A28@ha
|
||||
/* 802337A0 002306E0 38 A4 3A 28 */ addi r5, r4, lbl_80483A28@l
|
||||
/* 802337A4 002306E4 80 FD 00 1C */ lwz r7, 0x1c(r29)
|
||||
/* 802337A8 002306E8 38 63 39 F0 */ addi r3, r3, lbl_804839F0@l
|
||||
/* 802337AC 002306EC 7F C6 F3 78 */ mr r6, r30
|
||||
/* 802337B0 002306F0 38 80 00 56 */ li r4, 0x56
|
||||
/* 802337B4 002306F4 4C C6 31 82 */ crclr 6
|
||||
/* 802337B8 002306F8 4B DF 6E 89 */ bl panic_f__12JUTExceptionFPCciPCce
|
||||
lbl_802337BC:
|
||||
/* 802337BC 002306FC 80 7D 00 18 */ lwz r3, 0x18(r29)
|
||||
/* 802337C0 00230700 57 C0 30 32 */ slwi r0, r30, 6
|
||||
/* 802337C4 00230704 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802337C8 00230708 38 A0 00 00 */ li r5, 0
|
||||
/* 802337CC 0023070C 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 802337D0 00230710 4B DF F8 B5 */ bl storeTIMG__10JUTTextureFPC7ResTIMGUc
|
||||
/* 802337D4 00230714 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802337D8 00230718 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802337DC 0023071C 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 802337E0 00230720 83 A1 00 14 */ lwz r29, 0x14(r1)
|
||||
/* 802337E4 00230724 7C 08 03 A6 */ mtlr r0
|
||||
/* 802337E8 00230728 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802337EC 0023072C 4E 80 00 20 */ blr
|
||||
|
||||
.global getTexture__Q34Game11IconTexture3MgrFi
|
||||
getTexture__Q34Game11IconTexture3MgrFi:
|
||||
/* 802337F0 00230730 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 802337F4 00230734 41 80 00 10 */ blt lbl_80233804
|
||||
/* 802337F8 00230738 80 03 00 1C */ lwz r0, 0x1c(r3)
|
||||
/* 802337FC 0023073C 7C 04 00 00 */ cmpw r4, r0
|
||||
/* 80233800 00230740 41 80 00 0C */ blt lbl_8023380C
|
||||
lbl_80233804:
|
||||
/* 80233804 00230744 38 60 00 00 */ li r3, 0
|
||||
/* 80233808 00230748 4E 80 00 20 */ blr
|
||||
lbl_8023380C:
|
||||
/* 8023380C 0023074C 80 63 00 18 */ lwz r3, 0x18(r3)
|
||||
/* 80233810 00230750 54 80 30 32 */ slwi r0, r4, 6
|
||||
/* 80233814 00230754 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 80233818 00230758 4E 80 00 20 */ blr
|
@ -51,7 +51,7 @@ CompilerVersion="2.6"
|
||||
CompilerDir="tools/mwcc_compiler/${CompilerVersion}"
|
||||
CompilerExe="mwcceppc.exe"
|
||||
# Compiler Options. Make sure to set the include folder!
|
||||
Opts="-Cpp_exceptions off -proc gekko -RTTI off -fp hard -fp_contract on -rostr -O4,p -use_lmw_stmw on -sdata 8 -sdata2 8 -nodefaults -msgstyle gcc -i ${IncludeDir}/ -c"
|
||||
Opts="-Cpp_exceptions off -inline auto -proc gekko -RTTI off -fp hard -fp_contract on -rostr -O4,p -use_lmw_stmw on -sdata 8 -sdata2 8 -nodefaults -msgstyle gcc -i ${IncludeDir}/ -c"
|
||||
|
||||
# Settings are over, now garbage shell script is my new friend!
|
||||
|
||||
@ -97,6 +97,8 @@ ${Wine}${CompilerExe} -S ${Opts} ${BuildASMDir}/${CodeUnitPath}.o -o ${Theirs}
|
||||
# sed -i 's#\s*Hunk:\s+Kind=HUNK_LOCAL_CODE\s+Name="lbl_.*##g' $Theirs
|
||||
# Purge all branch labels from the ASM disassembly.
|
||||
sed -ri '/\s*Hunk:\s+Kind=HUNK_LOCAL_CODE\s+Name="lbl_.*/d' $Theirs
|
||||
# Experimental: Actually, do the same with HUNK_GLOBAL_CODE, because of switch statements...
|
||||
sed -ri '/\s*Hunk:\s+Kind=HUNK_GLOBAL_CODE\s+Name="lbl_.*/d' $Theirs
|
||||
# sed -ri '/\n\s*Hunk:\s+Kind=HUNK_LOCAL_CODE\s+Name="lbl_.*/='
|
||||
|
||||
function stripFile () {
|
||||
@ -113,7 +115,7 @@ function stripFile () {
|
||||
# ...or start of next section if it's the last function in the file:
|
||||
sed -ri '/==>.*/,$d' ${File}
|
||||
|
||||
if (($ShouldCutAddresses > 0)); then
|
||||
if (($ShouldCutAddresses > 0)); then
|
||||
# Delete branch offsets. They're signal noise when looking for differences.
|
||||
sed -ri 's/\s+;\s*0x.*$//g' ${File}
|
||||
# cut doesn't buffer input, so just simulating an "in-place" by redirecting output to same file as input results in a blank file.
|
||||
|
96
genasmNoStrip.sh
Executable file
96
genasmNoStrip.sh
Executable file
@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# README
|
||||
# genasm.sh: Hacky utility for rapidly generating comparable codegen. (previously called compare.sh)
|
||||
# Disclaimer: I'm not good at shell scripting.
|
||||
# License: MIT? I guess? I don't really care. :shrug:
|
||||
#
|
||||
# WARNING: Make sure to edit the settings section for your own purposes!
|
||||
#
|
||||
# 1st argument is code unit relative to root of repository (e.g. src/JSystem/JSU/JSUList.cpp).
|
||||
# 2nd argument is "function name" to search for.
|
||||
# (really, it's just doing substring matches against the mangled name,
|
||||
# so overloaded names have issues without specifically writing those out...).
|
||||
# By default, the script trims the function-relative offsets in the first output column,
|
||||
# and after branch instructions (e.g. ` ; 0x00000020`).
|
||||
# Passing a 3rd argument of any sort to the script disables this feature.
|
||||
#
|
||||
#
|
||||
# Example vscode task to invoke on the current selection (when it's something that uniquely matches a mangled name):
|
||||
# {
|
||||
# "label": "genasm",
|
||||
# "command": "./genasm.sh ${relativeFile} ${selectedText}",
|
||||
# "type": "shell",
|
||||
# "args": [],
|
||||
# "options": {
|
||||
# "cwd": "${workspaceFolder}",
|
||||
# },
|
||||
# },
|
||||
# }
|
||||
#
|
||||
# The following command would open the compare view for the two files in vscode.
|
||||
# I personally have this as a separate task in that, so I can bring it up if I don't already have it up.
|
||||
# code -d ${Ours} ${Theirs}
|
||||
|
||||
# SETTINGS
|
||||
# Note: None of the paths should have terminating slashes.
|
||||
# The desired location of the output files (relative to compiler). "Ours" is the decomped one.
|
||||
Theirs="../../../temp.old.s"
|
||||
Ours="../../../temp.new.s"
|
||||
# "src" folder where "your" compiled .o files are located, relative to ${CompilerDir} (or absolute).
|
||||
BuildSrcDir="../../../build/pikmin2.usa/src"
|
||||
# "asm" folder where "their" assembled .o files are located, relative to ${CompilerDir} (or absolute).
|
||||
BuildASMDir="../../../build/pikmin2.usa/asm"
|
||||
# Source code folder. Relative to ${CompilerDir} (or absolute).
|
||||
SrcDir="../../../src"
|
||||
# Includes (headers) folder. Relative to ${CompilerDir} (or absolute).
|
||||
IncludeDir="../../../include"
|
||||
# Compiler Version
|
||||
CompilerVersion="2.6"
|
||||
# Compiler folder, relative to current working directory.
|
||||
CompilerDir="tools/mwcc_compiler/${CompilerVersion}"
|
||||
CompilerExe="mwcceppc.exe"
|
||||
# Compiler Options. Make sure to set the include folder!
|
||||
Opts="-Cpp_exceptions off -inline auto -proc gekko -RTTI off -fp hard -fp_contract on -rostr -O4,p -use_lmw_stmw on -sdata 8 -sdata2 8 -nodefaults -msgstyle gcc -i ${IncludeDir}/ -c"
|
||||
|
||||
# Settings are over, now garbage shell script is my new friend!
|
||||
|
||||
# -o build/pikmin2.usa/src/sysCommonU/sysTemplates.o src/sysCommonU/sysTemplates.cpp
|
||||
Temp=${1%.*}
|
||||
CodeUnitPath=${Temp#*/}
|
||||
Library=${CodeUnitPath%*/}
|
||||
|
||||
echo $Temp
|
||||
echo $CodeUnitPath
|
||||
echo $Library
|
||||
# TODO: this and $Library might be useful for opts
|
||||
CodeUnitExtension=${1##*.}
|
||||
|
||||
# TODO: Check for linux/windows
|
||||
# Nevermind, not needed. Wine automatically handles it so long as I have my paths right.
|
||||
# Wine="wine "
|
||||
Wine=""
|
||||
|
||||
# CompilerVersion="2.7e"
|
||||
# Setting path doesn't entirely cut it. Gotta cd instead.
|
||||
cd $CompilerDir
|
||||
PATH="$PATH:$(pwd)"
|
||||
# echo $PATH
|
||||
|
||||
# Make folders if they don't exist.
|
||||
mkdir -p ${BuildSrcDir}/${CodeUnitPath%/*}
|
||||
mkdir -p ${BuildASMDir}/${CodeUnitPath%/*}
|
||||
|
||||
# Build the src object file
|
||||
${Wine}${CompilerExe} ${Opts} -o ${BuildSrcDir}/${CodeUnitPath}.o ${SrcDir}/${CodeUnitPath}.${CodeUnitExtension}
|
||||
# ${Wine}${CompilerExe} ${Opts} -inline auto -o ${BuildSrcDir}/${CodeUnitPath}.o ${SrcDir}/${CodeUnitPath}.${CodeUnitExtension}
|
||||
# Disasm both object files.
|
||||
${Wine}${CompilerExe} -S ${Opts} ${BuildSrcDir}/${CodeUnitPath}.o -o ${Ours}
|
||||
${Wine}${CompilerExe} -S ${Opts} ${BuildASMDir}/${CodeUnitPath}.o -o ${Theirs}
|
||||
|
||||
# sed -i 's#\s*Hunk:\s+Kind=HUNK_LOCAL_CODE\s+Name="lbl_.*##g' $Theirs
|
||||
# Purge all branch labels from the ASM disassembly.
|
||||
sed -ri '/\s*Hunk:\s+Kind=HUNK_LOCAL_CODE\s+Name="lbl_.*/d' $Theirs
|
||||
# Experimental: Actually, do the same with HUNK_GLOBAL_CODE, because of switch statements...
|
||||
sed -ri '/\s*Hunk:\s+Kind=HUNK_GLOBAL_CODE\s+Name="lbl_.*/d' $Theirs
|
||||
# sed -ri '/\n\s*Hunk:\s+Kind=HUNK_LOCAL_CODE\s+Name="lbl_.*/='
|
@ -56,7 +56,7 @@ struct Camera : public CullFrustum {
|
||||
virtual void doUpdate(); // _70
|
||||
|
||||
void calcProperDistance(float, float);
|
||||
void calcScreenSize(Sys::Sphere&);
|
||||
float calcScreenSize(Sys::Sphere&);
|
||||
void copyFrom(Camera*);
|
||||
float getFar();
|
||||
Vector3f getLookAtPosition();
|
||||
@ -85,6 +85,8 @@ struct Camera : public CullFrustum {
|
||||
};
|
||||
|
||||
struct LookAtCamera : public Camera {
|
||||
LookAtCamera();
|
||||
|
||||
virtual void startVibration(int); // _74
|
||||
|
||||
Matrixf _144; // _144
|
||||
|
@ -4,7 +4,8 @@
|
||||
#include "types.h"
|
||||
|
||||
struct Color4 {
|
||||
Color4();
|
||||
// TODO: Remove inline def when linking singleGS_ZukanParms.cpp!
|
||||
inline Color4() {};
|
||||
inline Color4(u8 red, u8 green, u8 blue, u8 alpha)
|
||||
: r(red)
|
||||
, g(green)
|
||||
|
@ -23,6 +23,8 @@ typedef uint GXCullMode;
|
||||
typedef uint GXTexMapID;
|
||||
typedef uint _GXAttr;
|
||||
typedef uint _GXAttrType;
|
||||
typedef uint _GXTexFmt;
|
||||
typedef uint _GXTexMapID;
|
||||
typedef uint _GXVtxFmt;
|
||||
typedef uint _GXVtxFmt;
|
||||
typedef uint _GXCompCnt;
|
||||
@ -187,6 +189,32 @@ void GXSaveGPFifo(GXFifoObj* fifo);
|
||||
|
||||
void GXSetProjection(PSMatrix, u32);
|
||||
|
||||
|
||||
typedef u8 _GXTlut;
|
||||
typedef u8 _GXTlutFmt;
|
||||
|
||||
typedef struct GXTlutObj {
|
||||
u32 _00; // _00
|
||||
u32 _04; // _04
|
||||
u16 _08; // _08
|
||||
} GXTlutObj;
|
||||
|
||||
// TODO: Figure this out
|
||||
typedef struct GXTlutRegion {
|
||||
u32 _00; // _00
|
||||
u8 _04[0xC]; // _04
|
||||
} GXTlutRegion;
|
||||
|
||||
typedef GXTlutRegion* GXTlutRegionCallback(_GXTlut);
|
||||
|
||||
void GXInitTlutObj(GXTlutObj*, const uchar*, _GXTlutFmt, ushort);
|
||||
// TODO: Params aren't fully worked out yet.
|
||||
void GXInitTlutRegion(u32*, int, uint);
|
||||
void GXLoadTlut(GXTlutObj*, _GXTlut);
|
||||
void GXSetTlutRegionCallback(GXTlutRegionCallback*);
|
||||
|
||||
GXTlutRegion* __GXDefaultTlutRegionCallback(_GXTlut);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif // ifdef __cplusplus
|
||||
|
@ -10,9 +10,13 @@ extern "C" {
|
||||
#ifndef __MWERKS__
|
||||
// Get clangd to shut up about __fabs being undefined.
|
||||
#define __fabs(x) (x)
|
||||
#define __frsqrte(x) (x)
|
||||
#endif
|
||||
|
||||
#define FABS(x) (float)__fabs(x)
|
||||
// #define __frsqrtes opword
|
||||
|
||||
#define SQUARE(v) ((v) * (v))
|
||||
|
||||
#define TAU 6.2831855f
|
||||
#define PI 3.1415927f
|
||||
|
@ -34,6 +34,7 @@ typedef struct OSThreadQueue {
|
||||
|
||||
OSThread* OSGetCurrentThread(void);
|
||||
int OSSuspendThread(OSThread* thread);
|
||||
int OSResumeThread(OSThread* thread);
|
||||
|
||||
typedef struct OSMessageQueue {
|
||||
char filler[32];
|
||||
|
15
include/Dolphin/runtime.h
Normal file
15
include/Dolphin/runtime.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef _DOLPHIN_CTYPE_H
|
||||
#define _DOLPHIN_CTYPE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // ifdef __cplusplus
|
||||
|
||||
unsigned long __cvt_fp2unsigned(double);
|
||||
// TODO: The rest
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif // ifdef __cplusplus
|
||||
|
||||
#endif
|
@ -3,6 +3,8 @@
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct JUTFader;
|
||||
|
||||
namespace DvdError {
|
||||
extern char* gMessage_eng[];
|
||||
extern char* gMessage_fra[];
|
||||
@ -12,7 +14,17 @@ extern char* gMessage_jpn[];
|
||||
extern char* gMessage_spa[];
|
||||
}; // namespace DvdError
|
||||
|
||||
// Size: 0xC
|
||||
struct DvdStatus {
|
||||
DvdStatus();
|
||||
|
||||
void draw();
|
||||
bool isErrorOccured();
|
||||
void update();
|
||||
|
||||
int _00; // _00
|
||||
JUTFader* m_fader; // _04
|
||||
int _08; // _08
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -7,22 +7,45 @@ struct Sphere;
|
||||
} // namespace Sys
|
||||
|
||||
namespace Game {
|
||||
struct AABBWaterBox {
|
||||
void attachModel(struct J3DModelData*, Sys::MatTexAnimation*, float);
|
||||
void calcMatrix();
|
||||
void directDraw(struct Graphics&);
|
||||
void doAnimation();
|
||||
void doEntry();
|
||||
void doSetView(int);
|
||||
void doViewCalc();
|
||||
void getSeaHeightPtr();
|
||||
void getSeaLevel();
|
||||
struct WaterBox {
|
||||
virtual bool inWater(Sys::Sphere&); // _00
|
||||
virtual bool inWater2d(Sys::Sphere&); // _04
|
||||
virtual float getSeaLevel(); // _08
|
||||
virtual float* getSeaHeightPtr(); // _0C
|
||||
virtual bool update(); // _10
|
||||
virtual void startDown(float); // _14
|
||||
virtual void startUp(float); // _18
|
||||
virtual void directDraw(struct Graphics&); // _1C
|
||||
virtual void doAnimation(); // _20
|
||||
virtual void doEntry(); // _24
|
||||
virtual void doSetView(int); // _28
|
||||
virtual void doViewCalc(); // _2C
|
||||
virtual void doSimulation(float); // _30
|
||||
virtual void doDirectDraw(struct Graphics&); // _34
|
||||
virtual void attachModel(struct J3DModelData*, Sys::MatTexAnimation*,
|
||||
float); // _38
|
||||
virtual void calcMatrix(); // _3C
|
||||
};
|
||||
|
||||
struct AABBWaterBox : public WaterBox {
|
||||
|
||||
virtual bool inWater(Sys::Sphere&); // _00
|
||||
virtual bool inWater2d(Sys::Sphere&); // _04
|
||||
virtual float getSeaLevel(); // _08
|
||||
virtual float* getSeaHeightPtr(); // _0C
|
||||
virtual bool update(); // _10
|
||||
virtual void startDown(float); // _14
|
||||
virtual void startUp(float); // _18
|
||||
virtual void directDraw(struct Graphics&); // _1C
|
||||
virtual void doAnimation(); // _20
|
||||
virtual void doEntry(); // _24
|
||||
virtual void doSetView(int); // _28
|
||||
virtual void doViewCalc(); // _2C
|
||||
virtual void attachModel(struct J3DModelData*, Sys::MatTexAnimation*,
|
||||
float); // _38
|
||||
virtual void calcMatrix(); // _3C
|
||||
|
||||
void globalise(Game::AABBWaterBox*, struct Matrixf&);
|
||||
void inWater(Sys::Sphere&);
|
||||
void inWater2d(Sys::Sphere&);
|
||||
void startDown(float);
|
||||
void startUp(float);
|
||||
void update();
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
|
@ -6,10 +6,15 @@
|
||||
namespace Game {
|
||||
struct AILOD {
|
||||
enum Flags {
|
||||
FLAG_UNKNOWN1 = 0x01,
|
||||
FLAG_UNKNOWN2 = 0x02,
|
||||
FLAG_NEED_SHADOW = 0x04,
|
||||
FLAG_UNKNOWN4 = 0x08
|
||||
FLAG_NONE = 0x0,
|
||||
IsMid = 0x01,
|
||||
IsFar = 0x02,
|
||||
FLAG_NEED_SHADOW = 0x04,
|
||||
FLAG_UNKNOWN4 = 0x08,
|
||||
VisibleOnViewport0 = 0x10,
|
||||
VisibleOnViewport1 = 0x20,
|
||||
VisibleOnViewport2 = 0x40,
|
||||
VisibleOnViewport3 = 0x80,
|
||||
};
|
||||
AILOD();
|
||||
|
||||
@ -24,8 +29,10 @@ struct AILOD {
|
||||
// m_unknown2 : 1,
|
||||
// m_unknown1 : 1;
|
||||
// } m_flags; // _00
|
||||
Flags m_flags; // _00
|
||||
s8 m_sndVpId; // _01, sound viewport ID
|
||||
u8 m_flags; // _00
|
||||
s8 m_sndVpId; // _01, sound viewport ID
|
||||
|
||||
static bool drawInfo;
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
|
@ -7,8 +7,9 @@ namespace Game {
|
||||
struct AILODParm {
|
||||
AILODParm();
|
||||
|
||||
u32 _00;
|
||||
u32 _04;
|
||||
float m_far;
|
||||
float m_close;
|
||||
bool m_isCylinder;
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
|
@ -49,6 +49,7 @@ struct BaseGameSection : public BaseHIOSection {
|
||||
void changeGeneratorCursor(Vector3f&);
|
||||
void clearHeap();
|
||||
void closeContainerWindow();
|
||||
void closeZoomWindow();
|
||||
void createFallPikminSound();
|
||||
void directDraw(Graphics&, struct Viewport*);
|
||||
void directDrawPost(Graphics&, Viewport*);
|
||||
@ -97,8 +98,12 @@ struct BaseGameSection : public BaseHIOSection {
|
||||
void j3dSetView(Viewport*, bool);
|
||||
void loadSync(struct IDelegate*, bool);
|
||||
void movieDone(Game::MovieConfig*, unsigned long, unsigned long);
|
||||
void newdraw_draw3D(Graphics&);
|
||||
void newdraw_draw3D_all(Graphics&);
|
||||
void newdraw_drawAll(Viewport*);
|
||||
void newdraw_drawParticle(Graphics&);
|
||||
void newdraw_drawPostShadow(Viewport*);
|
||||
void newdraw_drawPreShadow(Viewport*);
|
||||
void on_setCamController(int);
|
||||
void onCameraBlendFinished(Game::CameraArg*);
|
||||
void onClearHeap();
|
||||
|
@ -7,10 +7,10 @@ struct CNode;
|
||||
struct Controller;
|
||||
struct JFWDisplay;
|
||||
struct JKRHeap;
|
||||
struct HIORootNode;
|
||||
|
||||
namespace Game {
|
||||
struct GameMessage;
|
||||
struct HIORootNode;
|
||||
struct BaseHIOSection : public Section {
|
||||
BaseHIOSection(JKRHeap*);
|
||||
|
||||
|
81
include/Game/Cave/RandMapUnit.h
Normal file
81
include/Game/Cave/RandMapUnit.h
Normal file
@ -0,0 +1,81 @@
|
||||
#ifndef _GAME_CAVE_RANDMAPUNIT_H
|
||||
#define _GAME_CAVE_RANDMAPUNIT_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
namespace Game {
|
||||
namespace Cave {
|
||||
struct MapNode;
|
||||
struct MapUnitGenerator;
|
||||
struct RandMapChecker;
|
||||
struct UnitInfo;
|
||||
|
||||
enum CardinalDirection {
|
||||
CD_Unknown0 = 0,
|
||||
CD_Unknown1,
|
||||
CD_Unknown2,
|
||||
CD_Unknown3
|
||||
};
|
||||
|
||||
/// @size{0x2C}
|
||||
struct RandMapUnit {
|
||||
RandMapUnit(MapUnitGenerator*);
|
||||
|
||||
void addMap(UnitInfo*, int, int, bool);
|
||||
|
||||
void closeDoorCheck();
|
||||
void changeCapToRootLoopMapUnit();
|
||||
void changeMapPriority(UnitInfo*);
|
||||
void changeTwoToOneMapUnit();
|
||||
void createLoopMapNodeCheck();
|
||||
|
||||
void deleteMapNode(MapNode*);
|
||||
|
||||
int getAliveMapIndex(MapNode*);
|
||||
MapNode* getCalcDoorIndex(int&, int&, int&, int);
|
||||
CardinalDirection getDownToLinkDoorDir(int, int, int);
|
||||
MapNode* getFirstMapUnit();
|
||||
CardinalDirection getLeftToLinkDoorDir(int, int, int);
|
||||
CardinalDirection getLinkDoorDirection(MapNode*, int, MapNode*, int);
|
||||
MapNode* getLinkDoorNodeFirst(MapNode*, int, int, int, int&);
|
||||
MapNode* getLoopEndMapUnit();
|
||||
uint getLoopMapNode(MapNode**);
|
||||
MapNode* getLoopRandMapUnit();
|
||||
MapNode* getNormalRandMapUnit();
|
||||
int getOpenDoorNum();
|
||||
int getPartsKindNum(int);
|
||||
MapNode* getRandMapUnit();
|
||||
CardinalDirection getRightToLinkDoorDir(int, int, int);
|
||||
void getTextureSize(int&, int&);
|
||||
CardinalDirection getUpToLinkDoorDir(int, int, int);
|
||||
|
||||
bool isInLinkArea(int, int, int, int, int);
|
||||
bool isLoopMapNodeCheck(MapNode*, int);
|
||||
|
||||
void moveCentre();
|
||||
|
||||
void setEditorMapUnit();
|
||||
void setFirstMapUnit();
|
||||
void setMapUnit();
|
||||
void setUnitDoorSorting(int);
|
||||
void setUnitKindOrder(MapNode*, int*);
|
||||
void setRandomDoorIndex(int*, int);
|
||||
|
||||
int m_doorCountMaybe; // _00
|
||||
int m_roomCount; // _04
|
||||
float m_routeRatio; // _08
|
||||
bool m_mapHasDiameter36; // _0C
|
||||
bool m_needsLoopMapNodeCheck; // _0D
|
||||
int m_capCandidateCount; // _10
|
||||
// Float between 0.0 and 1.0
|
||||
float m_capMax; // _14
|
||||
MapNode** m_capCandidateNodes; // _18
|
||||
int* m_capCandidateDoorIndices; // _1C
|
||||
MapUnitGenerator* m_mapUnitGenerator; // _20
|
||||
int* _24; // _24
|
||||
RandMapChecker* m_checker; // _28
|
||||
};
|
||||
} // namespace Cave
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
85
include/Game/Data.h
Normal file
85
include/Game/Data.h
Normal file
@ -0,0 +1,85 @@
|
||||
#ifndef _GAME_PLAYCOMMONDATA_H
|
||||
#define _GAME_PLAYCOMMONDATA_H
|
||||
|
||||
#include "types.h"
|
||||
#include "Game/Highscore.h"
|
||||
|
||||
namespace Game {
|
||||
struct PlayChallengeGameData {
|
||||
struct CourseState {
|
||||
u8 _00; // _00
|
||||
u8 _01; // _01
|
||||
Highscore m_highscores[2]; // _04
|
||||
};
|
||||
|
||||
void reset();
|
||||
|
||||
int m_courseCount; // _00
|
||||
CourseState* m_courses; // _04
|
||||
u8 _08; // _08
|
||||
};
|
||||
|
||||
struct PlayCommonData {
|
||||
PlayCommonData();
|
||||
void reset();
|
||||
void read(Stream&);
|
||||
void write(Stream&);
|
||||
|
||||
u8 _00; // _00
|
||||
Lowscore** _04; // _04
|
||||
Lowscore** _08; // _08
|
||||
PlayChallengeGameData m_challengeData; // _0C
|
||||
};
|
||||
|
||||
namespace CommonSaveData {
|
||||
// Size: 0x48
|
||||
struct Mgr {
|
||||
Mgr();
|
||||
|
||||
void setup();
|
||||
void setDefault();
|
||||
void setCardSerialNo(ulonglong);
|
||||
void resetCardSerialNo();
|
||||
void resetPlayer(char);
|
||||
|
||||
void read(Stream&);
|
||||
void write(Stream&);
|
||||
|
||||
void setBgmVolume(float);
|
||||
void setSeVolume(float);
|
||||
void setSoundModeMono();
|
||||
void setSoundModeStereo();
|
||||
void setSoundModeSurround();
|
||||
|
||||
void setDeflicker();
|
||||
void setDeflicker(bool);
|
||||
|
||||
u8 _00[4]; // _00
|
||||
PlayChallengeGameData* m_challengeData; // _04
|
||||
int _08; // _08
|
||||
u8 _0C[0xC]; // _0C
|
||||
int _18; // _18
|
||||
u32 _1C; // _1C
|
||||
char m_fileIndex; // _20
|
||||
short _22; // _22
|
||||
u8 _24[4]; // _24
|
||||
u32 _28; // _28
|
||||
u8 _2C[4]; // _2C
|
||||
ulonglong m_cardSerialNo; // _30
|
||||
// TODO: replace with SoundMode enum, once we create it?
|
||||
u8 m_soundMode; // _38
|
||||
u8 _39; // _39
|
||||
u8 _3A; // _3A
|
||||
u8 _3B; // _3B
|
||||
u8 _3C; // _3C
|
||||
u8 _3D; // _3D
|
||||
char _3E; // _3E
|
||||
ushort _40; // _40
|
||||
bool m_optionBlockSaveFlagMaybe; // _42
|
||||
u32 : 0; // reset alignment
|
||||
u8 _44[4]; // _44
|
||||
};
|
||||
} // namespace CommonSaveData
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include "Game/AILODParm.h"
|
||||
#include "Game/Creature.h"
|
||||
#include "Game/PelletView.h"
|
||||
#include "SysShape/Animator.h"
|
||||
#include "Vector3.h"
|
||||
#include "types.h"
|
||||
@ -16,7 +17,9 @@ struct MotionListener {
|
||||
|
||||
namespace Game {
|
||||
struct EnemyInitialParamBase;
|
||||
struct EnemyBase : public Creature, SysShape::MotionListener {
|
||||
struct EnemyBase : public Creature,
|
||||
public SysShape::MotionListener,
|
||||
virtual public PelletView {
|
||||
virtual Vector3f getPosition(); // _00
|
||||
virtual void checkCollision(CellObject*); // _04
|
||||
virtual void getBoundingSphere(Sys::Sphere&); // _08
|
||||
|
@ -18,13 +18,15 @@ enum GameSystemMode {
|
||||
GSM_VERSUS_MODE,
|
||||
GSM_ONE_PLAYER_CHALLENGE,
|
||||
GSM_TWO_PLAYER_CHALLENGE,
|
||||
GSM_PIKLOPEDIA
|
||||
GSM_PIKLOPEDIA,
|
||||
GSM_FORCE_UINT = 0xFFFFFFFF
|
||||
};
|
||||
#pragma enumalwaysint reset
|
||||
struct GameSystem : public NodeObjectMgr<GenericObjectMgr> {
|
||||
GameSystem(Game::BaseGameSection*);
|
||||
~GameSystem();
|
||||
|
||||
// vtable 1
|
||||
virtual ~GameSystem(); // _00
|
||||
// vtable 2
|
||||
virtual void doAnimation(); // _00
|
||||
virtual void doEntry(); // _04
|
||||
virtual void doSetView(int); // _08
|
||||
|
44
include/Game/IconTexture.h
Normal file
44
include/Game/IconTexture.h
Normal file
@ -0,0 +1,44 @@
|
||||
#ifndef _GAME_ICONTEXTURE_H
|
||||
#define _GAME_ICONTEXTURE_H
|
||||
|
||||
#include "JSystem/JKR/JKRDisposer.h"
|
||||
#include "types.h"
|
||||
|
||||
struct JKRMemArchive;
|
||||
struct JUTTexture;
|
||||
struct ResTIMG;
|
||||
|
||||
namespace LoadResource {
|
||||
struct Node;
|
||||
} // namespace LoadResource
|
||||
|
||||
namespace Game {
|
||||
namespace IconTexture {
|
||||
struct Loader : public JKRDisposer {
|
||||
Loader();
|
||||
|
||||
virtual ~Loader(); // _00
|
||||
|
||||
void loadResource(char*);
|
||||
ResTIMG* getResTIMG(char*);
|
||||
|
||||
LoadResource::Node* m_node; // _18
|
||||
JKRMemArchive* m_archive; // _1C
|
||||
};
|
||||
|
||||
struct Mgr : public JKRDisposer {
|
||||
Mgr();
|
||||
|
||||
virtual ~Mgr(); // _00
|
||||
|
||||
void create(int);
|
||||
void setTexture(int, ResTIMG*);
|
||||
JUTTexture* getTexture(int);
|
||||
|
||||
JUTTexture* m_textures; // _18
|
||||
int m_count; // _1C
|
||||
};
|
||||
} // namespace IconTexture
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
30
include/Game/MapMgr.h
Normal file
30
include/Game/MapMgr.h
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef _GAME_MAPMGR_H
|
||||
#define _GAME_MAPMGR_H
|
||||
|
||||
#include "types.h"
|
||||
#include "GenericObjectMgr.h"
|
||||
|
||||
namespace Game {
|
||||
struct CourseInfo;
|
||||
struct RouteMgr;
|
||||
struct SeaMgr;
|
||||
// struct GenericObjectMgrReference {
|
||||
// GenericObjectMgr* m_genericObjectMgrPtr;
|
||||
// };
|
||||
|
||||
struct MapMgr : virtual public GenericObjectMgr {
|
||||
// _00: ptr to _0x24 (GenericObjectMgr)
|
||||
// _04: vtable 1
|
||||
RouteMgr* m_routeMgr; // _08
|
||||
CourseInfo* m_courseInfo; // _0C
|
||||
SeaMgr* m_seaMgr; // _10
|
||||
u32 _14; // _14
|
||||
u32 _18; // _18
|
||||
u32 _1C; // _1C
|
||||
u32 _20; // _20
|
||||
|
||||
// _24: GenericObjectMgr
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -2,7 +2,7 @@
|
||||
#define _GAME_MEMORYCARD_PLAYERFILEINFO_H
|
||||
|
||||
#include "Game/MemoryCard/Player.h"
|
||||
#include "JSystem/JUTException.h"
|
||||
#include "JSystem/JUT/JUTException.h"
|
||||
#include "types.h"
|
||||
|
||||
extern char gStrMemoryCardMgrCpp[25];
|
||||
|
@ -1,54 +0,0 @@
|
||||
#ifndef _GAME_PARTSVIEW_H
|
||||
#define _GAME_PARTSVIEW_H
|
||||
|
||||
#include "types.h"
|
||||
#include "CNode.h"
|
||||
#include "Game/routeMgr.h"
|
||||
#include "Game/pathfinder.h"
|
||||
|
||||
struct Graphics;
|
||||
struct Stream;
|
||||
namespace Game {
|
||||
struct MapUnit;
|
||||
}
|
||||
namespace SysShape {
|
||||
struct Model;
|
||||
}
|
||||
|
||||
namespace Game {
|
||||
struct PartsView : public CNode {
|
||||
PartsView();
|
||||
PartsView(MapUnit*, uchar*);
|
||||
virtual void constructor(); // _08
|
||||
virtual void doAnimation(); // _0C
|
||||
virtual void doEntry(); // _10
|
||||
virtual void doSetView(int); // _14
|
||||
virtual void doViewCalc(); // _18
|
||||
virtual void doSimulation(float); // _1C
|
||||
virtual void doDirectDraw(Graphics&); // _20
|
||||
|
||||
void getHalfX();
|
||||
void getOffset();
|
||||
void read(Stream&);
|
||||
void write(Stream&);
|
||||
|
||||
MapUnit* m_mapUnit; // _018
|
||||
SysShape::Model* m_model; // _01C
|
||||
u8 _20[0x30]; // _020
|
||||
u32 _50; // _050
|
||||
u32 _54; // _054
|
||||
u32 _58; // _058
|
||||
u32 _5C; // _05C
|
||||
u32 _60; // _060
|
||||
u8 _64[8]; // _064
|
||||
ushort m_unitKind; // _06C
|
||||
u8 _6E[2]; // _06E
|
||||
EditorRouteMgr m_routeMgr; // _070
|
||||
AStarContext m_aStarContext; // _0AC
|
||||
AStarPathfinder m_pathFinder; // _110
|
||||
Door m_door; // _118
|
||||
BaseGen* m_baseGen; // _168
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -3,7 +3,7 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Game/GenericObjectMgr.h"
|
||||
#include "GenericObjectMgr.h"
|
||||
|
||||
namespace Game {
|
||||
|
||||
@ -13,6 +13,20 @@ struct PelletMgr : public NodeObjectMgr<GenericObjectMgr> {
|
||||
};
|
||||
void makeOtakaraItemCode(char*, OtakaraItemCode&);
|
||||
|
||||
// vtable 1
|
||||
virtual ~PelletMgr(); // _00
|
||||
// vtable 2
|
||||
virtual void doAnimation(); // _00
|
||||
virtual void doEntry(); // _04
|
||||
virtual void doSetView(int); // _08
|
||||
virtual void doViewCalc(); // _0C
|
||||
virtual void doSimulation(float); // _10
|
||||
virtual void doDirectDraw(Graphics&); // _14
|
||||
virtual char* getMgrName(); // _4C
|
||||
virtual char* getCaveName(int); // _50
|
||||
int getCaveID(char*); // _54
|
||||
virtual void doSimpleDraw(Viewport*); // _58
|
||||
|
||||
u8 _3C; // _3C
|
||||
};
|
||||
|
||||
|
33
include/Game/PelletView.h
Normal file
33
include/Game/PelletView.h
Normal file
@ -0,0 +1,33 @@
|
||||
#ifndef _GAME_PELLETVIEW_H
|
||||
#define _GAME_PELLETVIEW_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct Matrixf;
|
||||
template <typename T> struct Vector3;
|
||||
typedef Vector3<float> Vector3f;
|
||||
|
||||
namespace Game {
|
||||
struct Creature;
|
||||
struct Pellet;
|
||||
|
||||
// @trait
|
||||
struct PelletView {
|
||||
virtual float viewGetBaseScale(); // _00
|
||||
virtual u32 viewGetShape() = 0; // _04
|
||||
virtual u32 viewGetCollTreeJointIndex(); // _08
|
||||
virtual u32 viewGetCollTreeOffset(); // _0C
|
||||
virtual void view_start_carrymotion(); // _10
|
||||
virtual void view_finish_carrymotion(); // _14
|
||||
virtual void viewStartPreCarryMotion(); // _18
|
||||
virtual void viewStartCarryMotion(); // _1C
|
||||
virtual void viewOnPelletKilled(); // _20
|
||||
virtual void viewEntryShape(Matrixf&, Vector3f&); // _24
|
||||
|
||||
// vtable _00
|
||||
Pellet* m_pellet; // _04
|
||||
Creature* m_creature; // _08
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -10,12 +10,15 @@ struct StateArg {
|
||||
};
|
||||
|
||||
template <typename T> struct FSMState {
|
||||
virtual void init(T*, StateArg*) = 0; // _00
|
||||
virtual void exec(T*) = 0; // _04
|
||||
virtual void cleanup(T*) = 0; // _08
|
||||
virtual void resume(T*) = 0; // _0C
|
||||
virtual void restart(T*) = 0; // _10
|
||||
virtual void transit(T*, StateArg*) = 0; // _14
|
||||
inline FSMState(int id)
|
||||
: m_id(id)
|
||||
, m_stateMachine(nullptr) {};
|
||||
virtual void init(T*, StateArg*); // _00
|
||||
virtual void exec(T*); // _04
|
||||
virtual void cleanup(T*); // _08
|
||||
virtual void resume(T*); // _0C
|
||||
virtual void restart(T*); // _10
|
||||
virtual void transit(T*, int, StateArg*); // _14
|
||||
|
||||
// VTBL _00
|
||||
int m_id; // _04
|
||||
@ -23,10 +26,44 @@ template <typename T> struct FSMState {
|
||||
};
|
||||
|
||||
template <typename T> struct StateMachine {
|
||||
virtual void init(T*) = 0; // _00
|
||||
virtual u32 start(T*, int, StateArg*) = 0; // _04
|
||||
virtual void exec(T*) = 0; // _08
|
||||
virtual void transit(T*, int, StateArg*) = 0; // _0C
|
||||
inline StateMachine()
|
||||
: m_currentID(-1)
|
||||
{
|
||||
}
|
||||
// virtual void init(T*) = 0; // _00
|
||||
// virtual void start(T*, int, StateArg*) = 0; // _04
|
||||
// virtual void exec(T*) = 0; // _08
|
||||
// virtual void transit(T*, int, StateArg*) = 0; // _0C
|
||||
virtual void init(T*); // _00
|
||||
virtual void start(T*, int, StateArg*); // _04
|
||||
virtual void exec(T*); // _08
|
||||
virtual void transit(T*, int, StateArg*); // _0C
|
||||
|
||||
// #pragma dont_inline on
|
||||
void create(int limit);
|
||||
// {
|
||||
// m_limit = limit;
|
||||
// m_count = 0;
|
||||
// m_states = new FSMState<T>*[m_limit];
|
||||
// m_indexToIDArray = new int[m_limit];
|
||||
// m_idToIndexArray = new int[m_limit];
|
||||
// }
|
||||
|
||||
void registerState(FSMState<T>* state);
|
||||
// {
|
||||
// if (m_limit <= m_count) {
|
||||
// return;
|
||||
// }
|
||||
// m_states[m_count] = state;
|
||||
// if (!(-1 < state->m_id && state->m_id < m_limit)) {
|
||||
// return;
|
||||
// }
|
||||
// state->m_stateMachine = this;
|
||||
// m_indexToIDArray[m_count] = state->m_id;
|
||||
// m_idToIndexArray[state->m_id] = m_count;
|
||||
// m_count++;
|
||||
// }
|
||||
// #pragma dont_inline reset
|
||||
|
||||
// VTBL _00
|
||||
FSMState<T>** m_states; // _04
|
||||
@ -48,4 +85,20 @@ template <typename T> struct StateMachine {
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
#define SPECIALIZED_STATE_MACHINE_DECL(T) \
|
||||
template <> struct StateMachine<T> { \
|
||||
virtual void init(T*); \
|
||||
virtual void start(T*, int, StateArg*); \
|
||||
virtual void exec(T*); \
|
||||
virtual void transit(T*, int, StateArg*); \
|
||||
\
|
||||
void create(int); \
|
||||
void registerState(FSMState<T>*); \
|
||||
}
|
||||
|
||||
template <> void Game::FSMState<void>::transit(void* obj, int id, StateArg* arg)
|
||||
{
|
||||
m_stateMachine->transit(obj, id, arg);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
69
include/Game/TimeMgr.h
Normal file
69
include/Game/TimeMgr.h
Normal file
@ -0,0 +1,69 @@
|
||||
#ifndef _GAME_TIMEMGR_H
|
||||
#define _GAME_TIMEMGR_H
|
||||
|
||||
#include "BaseParm.h"
|
||||
#include "CNode.h"
|
||||
#include "Parameters.h"
|
||||
#include "types.h"
|
||||
|
||||
namespace Game {
|
||||
struct TimeMgrParms {
|
||||
struct Parms : public Parameters {
|
||||
Parms();
|
||||
|
||||
Parm<float> m_startTime; // _00C
|
||||
Parm<float> m_dayEndTime; // _034
|
||||
Parm<float> m_seconds; // _05C
|
||||
Parm<float> fp03; // _084
|
||||
Parm<float> fp04; // _0AC
|
||||
Parm<float> fp05; // _0D4
|
||||
Parm<float> fp06; // _0FC
|
||||
Parm<float> fp07; // _124
|
||||
Parm<float> fp11; // _14C
|
||||
Parm<float> fp08; // _174
|
||||
Parm<float> fp09; // _19C
|
||||
Parm<float> fp10; // _1C4
|
||||
};
|
||||
|
||||
TimeMgrParms();
|
||||
|
||||
Parms parms; // _00
|
||||
};
|
||||
|
||||
struct TimeMgr : public CNode {
|
||||
TimeMgr();
|
||||
|
||||
virtual ~TimeMgr();
|
||||
|
||||
float getRealDayTime();
|
||||
float getSunGaugeRatio();
|
||||
void init();
|
||||
bool isDayOver();
|
||||
bool isDayTime();
|
||||
void loadSettingFile(char*);
|
||||
void setEndTime();
|
||||
void setStartTime();
|
||||
void setTime(float);
|
||||
void updateSlot();
|
||||
void update();
|
||||
|
||||
TimeMgrParms m_parms; // _018
|
||||
float m_currentHour; // _208
|
||||
float m_currentTimeOfDay; // _20C
|
||||
u32 _210; // _210
|
||||
float _214; // _214
|
||||
uint m_dayCount; // _218
|
||||
float m_speedFactor; // _21C
|
||||
float _220; // _220
|
||||
float _224; // _224
|
||||
float _228; // _228
|
||||
float _22C; // _22C
|
||||
float _230; // _230
|
||||
float _234; // _234
|
||||
float m_dayLength; // _238
|
||||
float m_sunRatio; // _23C
|
||||
uint m_flags; // _240
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -27,7 +27,7 @@ struct VsGameSection : public BaseGameSection {
|
||||
|
||||
void addChallengeScore(int);
|
||||
void calcVsScores();
|
||||
void challengeDisablePelplant();
|
||||
bool challengeDisablePelplant();
|
||||
void clearCaveMenus();
|
||||
void clearGetCherryCount();
|
||||
void clearGetDopeCount();
|
||||
@ -38,9 +38,10 @@ struct VsGameSection : public BaseGameSection {
|
||||
void doDraw(Graphics&);
|
||||
virtual bool doUpdate();
|
||||
void dropCard(DropCardArg&);
|
||||
void getCaveFilename();
|
||||
char* getCaveFilename();
|
||||
void getCurrFloor();
|
||||
void getEditorFilename();
|
||||
u32 getGetCherryCount(int);
|
||||
void getGetDopeCount(int, int);
|
||||
void getVsEditNumber();
|
||||
void gmOrimaDown(int);
|
||||
@ -59,7 +60,7 @@ struct VsGameSection : public BaseGameSection {
|
||||
void onSetupFloatMemory();
|
||||
void openCaveMoreMenu(ItemHole::Item*, Controller*);
|
||||
void openKanketuMenu(ItemBigFountain::Item*, Controller*);
|
||||
void player2enabled();
|
||||
bool player2enabled();
|
||||
void postSetupFloatMemory();
|
||||
void pre2dDraw(Graphics&);
|
||||
void section_fadeout();
|
||||
|
@ -1,8 +1,9 @@
|
||||
#ifndef _GAME_GENITEM_H
|
||||
#define _GAME_GENITEM_H
|
||||
#ifndef _GAME_GAMEGENERATOR_H
|
||||
#define _GAME_GAMEGENERATOR_H
|
||||
|
||||
#include "Matrixf.h"
|
||||
#include "Graphics.h"
|
||||
#include "Parameters.h"
|
||||
#include "stream.h"
|
||||
#include "CNode.h"
|
||||
#include "id32.h"
|
||||
@ -10,24 +11,44 @@
|
||||
namespace Game {
|
||||
struct Creature;
|
||||
struct GeneratorMgr;
|
||||
struct GenObject;
|
||||
|
||||
struct Generator : public CNode {
|
||||
Generator();
|
||||
Generator(int);
|
||||
|
||||
virtual ~Generator();
|
||||
virtual void doAnimation(); // _08
|
||||
virtual void doEntry(); // _0C
|
||||
virtual void doSetView(int); // _10
|
||||
virtual void doViewCalc(); // _14
|
||||
|
||||
void initialiseSystem();
|
||||
void generate();
|
||||
void render(Graphics&);
|
||||
void update();
|
||||
void updateUseList();
|
||||
|
||||
bool isExpired();
|
||||
bool need_saveCreature();
|
||||
|
||||
void loadCreature(Stream&);
|
||||
void saveCreature(Stream&);
|
||||
|
||||
void read(Stream&);
|
||||
void write(Stream&);
|
||||
|
||||
void informDeath(Creature*);
|
||||
|
||||
u32* _18; // _18
|
||||
u32 _1C; // _1C /* Initialized to '____' */
|
||||
GenObject* _18; // _18
|
||||
uint _1C; // _1C /* Initialized to '____' */
|
||||
char _20[32]; // _20
|
||||
ID32 _40; // _40
|
||||
ID32 m_version; // _4C
|
||||
u8 _58[4]; // _58
|
||||
short _5C; // _5C
|
||||
u32 _60; // _60
|
||||
u32 _64; // _64
|
||||
ushort _5C; // _5C
|
||||
Generator* _60; // _60 /* m_prev */
|
||||
Generator* _64; // _64 /* m_next */
|
||||
GeneratorMgr* m_mgr; // _68
|
||||
Creature* m_creature; // _6C
|
||||
int _70; // _70
|
||||
@ -41,15 +62,48 @@ struct Generator : public CNode {
|
||||
Vector3f m_offset; // _A0
|
||||
u8 _AC; // _AC
|
||||
int m_generatorIndexMaybe; // _B0
|
||||
|
||||
static u8 ramMode;
|
||||
};
|
||||
|
||||
struct GeneratorMgr : public CNode {
|
||||
GeneratorMgr();
|
||||
|
||||
virtual ~GeneratorMgr();
|
||||
virtual void doAnimation(); // _08
|
||||
virtual void doEntry(); // _0C
|
||||
virtual void doSetView(int); // _10
|
||||
virtual void doViewCalc(); // _14
|
||||
|
||||
void addMgr(GeneratorMgr*);
|
||||
void generate();
|
||||
GeneratorMgr* getNext();
|
||||
GeneratorMgr* getChild();
|
||||
bool isRootMgr();
|
||||
void read(Stream&, bool);
|
||||
void write(Stream&);
|
||||
void render(Graphics&);
|
||||
void setDayLimit(int);
|
||||
void update();
|
||||
void updateCursorPos(Vector3f&);
|
||||
void updateUseList();
|
||||
// TODO: Data members
|
||||
|
||||
GeneratorMgr* m_nextMgr; // _18
|
||||
GeneratorMgr* m_childMgr; // _1C
|
||||
u32 _20; // _20
|
||||
Vector3f m_cursorPosition; // _24
|
||||
Generator* m_generator; // _28
|
||||
ID32 _34; // _34
|
||||
ID32 _40; // _40
|
||||
int _4C; // _4C /* generator count */
|
||||
ID32 _50; // _50
|
||||
float _5C; // _5C
|
||||
float _60; // _60
|
||||
float _64; // _64
|
||||
float _68; // _68
|
||||
u8 _6C; // _6C
|
||||
u8 _6D; // _6D
|
||||
};
|
||||
|
||||
struct GenArg {
|
||||
@ -58,7 +112,9 @@ struct GenArg {
|
||||
// _00 VTBL
|
||||
};
|
||||
|
||||
struct GenBase {
|
||||
struct GenBase : public Parameters {
|
||||
GenBase(ulong, char*, char*);
|
||||
|
||||
virtual void doWrite(Stream&); // _00
|
||||
virtual void ramSaveParameters(Stream&); // _04
|
||||
virtual void ramLoadParameters(Stream&); // _08
|
||||
@ -66,22 +122,63 @@ struct GenBase {
|
||||
virtual void doRead(Stream&); // _10
|
||||
virtual void update(Generator*); // _14
|
||||
virtual void render(Graphics&, Generator*); // _18
|
||||
virtual void getLatestVersion(); // _1C
|
||||
virtual void getShape(); // _20
|
||||
virtual uint getLatestVersion(); // _1C
|
||||
virtual u32 getShape(); // _20
|
||||
|
||||
// _00 VTBL
|
||||
// TODO: Data members
|
||||
void readVersion(Stream&);
|
||||
void read(Stream&);
|
||||
void writeVersion(Stream&);
|
||||
void write(Stream&);
|
||||
|
||||
// _00 - _0C: Parameters
|
||||
// _0C: vtable
|
||||
ulong m_typeID; // _10
|
||||
uint m_rawID; // _14
|
||||
char* _18; // _18
|
||||
char* _1C; // _1C
|
||||
u32 _20; // _20
|
||||
};
|
||||
|
||||
struct GenObject : public GenBase {
|
||||
virtual void render(Graphics&, Generator*); // _18
|
||||
virtual uint getLatestVersion(); // _1C
|
||||
virtual u32 getShape(); // _20
|
||||
virtual void updateUseList(Generator*, int); // _24
|
||||
virtual void generate(Generator*); // _28
|
||||
virtual Creature* generate(Generator*); // _28
|
||||
virtual void birth(GenArg*); // _2C
|
||||
virtual void generatorMakeMatrix(Matrixf&, Vector3<float>&); // _30
|
||||
virtual void getDebugInfo(char*); // _34
|
||||
|
||||
// TODO: Data members
|
||||
};
|
||||
|
||||
/**
|
||||
* @fabricatedName
|
||||
* @size{0x10}
|
||||
*/
|
||||
struct GenObjectFactoryFactory {
|
||||
uint m_count; // _00
|
||||
uint m_limit; // _04
|
||||
struct GenObjectFactory* m_factories; // _08
|
||||
u8 _0C[4]; // _0C
|
||||
};
|
||||
|
||||
/**
|
||||
* @size{0x10}
|
||||
*/
|
||||
struct GenObjectFactory {
|
||||
typedef GenObject* MakeFunction(void);
|
||||
void createInstance();
|
||||
|
||||
uint m_typeID; // _00
|
||||
MakeFunction* m_makeFunction; // _04
|
||||
char* m_name; // _08
|
||||
uint m_version; // _0C
|
||||
|
||||
static GenObjectFactoryFactory* factory;
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
extern uint GeneratorCurrentVersion;
|
||||
|
||||
#endif
|
||||
|
73
include/Game/gameGeneratorCache.h
Normal file
73
include/Game/gameGeneratorCache.h
Normal file
@ -0,0 +1,73 @@
|
||||
#ifndef _GAME_GENERATORCACHE_H
|
||||
#define _GAME_GENERATORCACHE_H
|
||||
|
||||
#include "types.h"
|
||||
#include "Game/gameGenerator.h"
|
||||
|
||||
namespace Game {
|
||||
/// @size{0x3C}
|
||||
struct CourseCache : public CNode {
|
||||
CourseCache(int);
|
||||
|
||||
virtual ~CourseCache(); // _00
|
||||
|
||||
void beginSave(int);
|
||||
void getColorMePikmins(uchar*, int);
|
||||
void read(Stream&);
|
||||
void write(Stream&);
|
||||
|
||||
int m_courseIndex; // _18
|
||||
u32 m_offset; // _1C
|
||||
u32 m_size; // _20
|
||||
u32 m_generatorCount; // _24
|
||||
u32 m_generatorSize; // _28
|
||||
u32 m_creatureCount; // _2C
|
||||
u32 m_creatureSize; // _30
|
||||
u32 m_pikiheadCount; // _34
|
||||
u32 m_pikiheadSize; // _38
|
||||
};
|
||||
|
||||
/// @size{0x140}
|
||||
struct GeneratorCache {
|
||||
GeneratorCache();
|
||||
~GeneratorCache();
|
||||
|
||||
void addGenerator(Generator*);
|
||||
void beginSave(int);
|
||||
void checkOverflow();
|
||||
void clearCache();
|
||||
void clearGeneratorList();
|
||||
void createHeap();
|
||||
void createNumberGenerators();
|
||||
void destroyHeap();
|
||||
void endSave();
|
||||
void findCache(CourseCache&, int);
|
||||
void findRamGenerator(int);
|
||||
void getColorMePikmins(int);
|
||||
void getFirstGenerator();
|
||||
void getTotalMePikmins();
|
||||
void loadCreatures(int);
|
||||
void loadGenerators(int);
|
||||
void loadPikiheads();
|
||||
void read(Stream&);
|
||||
void saveGenerator(Generator*);
|
||||
void saveCreature(Generator*);
|
||||
void savePikiheads();
|
||||
void slideCache();
|
||||
void updateUseList();
|
||||
void write(Stream&);
|
||||
|
||||
CourseCache _00; // _00
|
||||
CourseCache _3C; // _3C
|
||||
CourseCache* _78; // _78
|
||||
uchar* m_heapBuffer; // _7C
|
||||
int m_heapSize; // _80
|
||||
uint m_freeOffset; // _84
|
||||
int m_freeSize; // _88
|
||||
Generator m_generator; // _8C
|
||||
};
|
||||
|
||||
extern GeneratorCache* generatorCache;
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -3,18 +3,29 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "CNode.h"
|
||||
#include "Game/GenericObjectMgr.h"
|
||||
#include "GenericObjectMgr.h"
|
||||
#include "JSystem/JKR/JKRHeap.h"
|
||||
#include "Game/enemyInfo.h"
|
||||
|
||||
namespace Game {
|
||||
struct EnemyMgrNode : public CNode, GenericObjectMgr {
|
||||
virtual void killAll();
|
||||
virtual void setupSoundViewerAndBas();
|
||||
virtual void setDebugParm(ulong);
|
||||
virtual void resetDebugParm();
|
||||
virtual void startMovie();
|
||||
virtual void endMovie();
|
||||
// vtable 1
|
||||
virtual void doAnimation(); // _00
|
||||
virtual void doEntry(); // _04
|
||||
virtual void doSetView(int); // _08
|
||||
virtual void doViewCalc(); // _0C
|
||||
virtual void doSimulation(float); // _10
|
||||
virtual void doDirectDraw(Graphics&); // _14
|
||||
virtual void doSimpleDraw(Viewport*); // _18
|
||||
// vtable 2
|
||||
virtual ~EnemyMgrNode(); // _00
|
||||
virtual void killAll(); // _4C
|
||||
virtual void setupSoundViewerAndBas(); // _50
|
||||
virtual void setDebugParm(ulong); // _54
|
||||
virtual void resetDebugParm(); // _58
|
||||
virtual void startMovie(); // _5C
|
||||
virtual void endMovie(); // _60
|
||||
virtual u32 getMatrixLoadType(); // _64
|
||||
|
||||
// GenericObjectMgr+EnemyMgrNode VT = _18
|
||||
EEnemyTypeID m_enemyID; // _1C
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef _GAME_BASEITEM_H
|
||||
#define _GAME_BASEITEM_H
|
||||
|
||||
#include "Game/GenericObjectMgr.h"
|
||||
#include "GenericObjectMgr.h"
|
||||
#include "types.h"
|
||||
#include "stream.h"
|
||||
#include "Game/genItem.h"
|
||||
|
@ -5,12 +5,11 @@
|
||||
#include "types.h"
|
||||
#include "CNode.h"
|
||||
#include "cellPyramid.h"
|
||||
#include "Game/Cave/RandMapUnit.h"
|
||||
#include "Game/PartsView.h"
|
||||
#include "Game/pathfinder.h"
|
||||
#include "Game/routeMgr.h"
|
||||
#include "Game/MapMgr.h"
|
||||
#include "Game/seaMgr.h"
|
||||
#include "MapCollision.h"
|
||||
#include "MapMgr.h"
|
||||
#include "Matrixf.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Sys/Cylinder.h"
|
||||
@ -24,7 +23,9 @@ struct ResTIMG;
|
||||
namespace Game {
|
||||
struct RoomLink;
|
||||
namespace Cave {
|
||||
struct BaseGen;
|
||||
struct EditMapUnit;
|
||||
struct ObjectLayout;
|
||||
struct FloorInfo;
|
||||
} // namespace Cave
|
||||
} // namespace Game
|
||||
@ -33,6 +34,10 @@ struct MatLoopAnimator;
|
||||
struct MatTexAnimation;
|
||||
} // namespace Sys
|
||||
|
||||
namespace SysShape {
|
||||
struct Model;
|
||||
} // namespace SysShape
|
||||
|
||||
namespace Game {
|
||||
// Size: 0x24
|
||||
struct DoorLink : public CNode {
|
||||
@ -95,6 +100,40 @@ struct MapUnit {
|
||||
Sys::MatTexAnimation* m_animations; // _EC
|
||||
};
|
||||
|
||||
struct PartsView : public CNode {
|
||||
PartsView();
|
||||
PartsView(MapUnit*, uchar*);
|
||||
virtual void constructor(); // _08
|
||||
virtual void doAnimation(); // _0C
|
||||
virtual void doEntry(); // _10
|
||||
virtual void doSetView(int); // _14
|
||||
virtual void doViewCalc(); // _18
|
||||
virtual void doSimulation(float); // _1C
|
||||
virtual void doDirectDraw(Graphics&); // _20
|
||||
|
||||
void getHalfX();
|
||||
void getOffset();
|
||||
void read(Stream&);
|
||||
void write(Stream&);
|
||||
|
||||
MapUnit* m_mapUnit; // _018
|
||||
SysShape::Model* m_model; // _01C
|
||||
u8 _20[0x30]; // _020
|
||||
u32 _50; // _050
|
||||
u32 _54; // _054
|
||||
u32 _58; // _058
|
||||
u32 _5C; // _05C
|
||||
u32 _60; // _060
|
||||
u8 _64[8]; // _064
|
||||
ushort m_unitKind; // _06C
|
||||
u8 _6E[2]; // _06E
|
||||
EditorRouteMgr m_routeMgr; // _070
|
||||
AStarContext m_aStarContext; // _0AC
|
||||
AStarPathfinder m_pathFinder; // _110
|
||||
Door m_door; // _118
|
||||
Cave::BaseGen* m_baseGen; // _168
|
||||
};
|
||||
|
||||
struct MapUnitInterface : public PartsView {
|
||||
MapUnitInterface();
|
||||
Door* getDoor(int);
|
||||
@ -132,27 +171,27 @@ struct MapRoom : public CellObject {
|
||||
void getCenterPosition(Vector3f&);
|
||||
void placeObjects(Cave::FloorInfo*, bool);
|
||||
|
||||
MapCollision* m_collision; // _0B8
|
||||
u8 _0BC; // _0BC
|
||||
MapUnitInterface* m_interface; // _0C0
|
||||
ObjectLayout* m_objectLayoutInfo; // _0C4
|
||||
u8 _0C8[4]; // _0C8
|
||||
Sys::MatLoopAnimator* m_animators; // _0CC
|
||||
int m_doorNum; // _0D0
|
||||
RoomDoorInfo* m_doorInfos; // _0D4
|
||||
Matrixf _0D8; // _0D8
|
||||
Matrixf _108; // _108
|
||||
MapUnit* m_unit; // _138
|
||||
SysShape::Model* m_model; // _13C
|
||||
Sys::Sphere m_boundingSphere; // _140
|
||||
Sys::Sphere _150; // _150
|
||||
Sys::Cylinder _160; // _160
|
||||
RoomLink* m_link; // _180
|
||||
short _184; // _184
|
||||
u16 m_unitKind; // _186
|
||||
u8 _188[2]; // _188
|
||||
int* m_wpIndices; // _18C
|
||||
Sys::Sphere _190; // _190
|
||||
MapCollision* m_collision; // _0B8
|
||||
u8 _0BC; // _0BC
|
||||
MapUnitInterface* m_interface; // _0C0
|
||||
Cave::ObjectLayout* m_objectLayoutInfo; // _0C4
|
||||
u8 _0C8[4]; // _0C8
|
||||
Sys::MatLoopAnimator* m_animators; // _0CC
|
||||
int m_doorNum; // _0D0
|
||||
RoomDoorInfo* m_doorInfos; // _0D4
|
||||
Matrixf _0D8; // _0D8
|
||||
Matrixf _108; // _108
|
||||
MapUnit* m_unit; // _138
|
||||
SysShape::Model* m_model; // _13C
|
||||
Sys::Sphere m_boundingSphere; // _140
|
||||
Sys::Sphere _150; // _150
|
||||
Sys::Cylinder _160; // _160
|
||||
RoomLink* m_link; // _180
|
||||
short _184; // _184
|
||||
u16 m_unitKind; // _186
|
||||
u8 _188[2]; // _188
|
||||
int* m_wpIndices; // _18C
|
||||
Sys::Sphere _190; // _190
|
||||
};
|
||||
|
||||
struct ObjectLayoutNode : public CNode {
|
||||
|
@ -33,7 +33,7 @@ struct AStarContext {
|
||||
AStarContext();
|
||||
void init(RouteMgr*, int);
|
||||
void getNode(short);
|
||||
void makepath(PathNode*, PathNode*);
|
||||
void makepath(PathNode*, PathNode**);
|
||||
|
||||
u8 _00[0x64]; // _00
|
||||
};
|
||||
@ -60,7 +60,7 @@ struct Pathfinder {
|
||||
Pathfinder();
|
||||
void create(int, RouteMgr*);
|
||||
void update();
|
||||
int start(PathfindRequest*);
|
||||
int start(PathfindRequest&);
|
||||
int makepath(ulong, PathNode**);
|
||||
int makepath(ulong, short*, int);
|
||||
void release(ulong);
|
||||
|
26
include/Game/seaMgr.h
Normal file
26
include/Game/seaMgr.h
Normal file
@ -0,0 +1,26 @@
|
||||
#ifndef _GAME_SEAMGR_H
|
||||
#define _GAME_SEAMGR_H
|
||||
|
||||
#include "Game/AABBWaterBox.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "types.h"
|
||||
|
||||
namespace Game {
|
||||
struct SeaMgr : public NodeObjectMgr<WaterBox> {
|
||||
SeaMgr();
|
||||
|
||||
virtual ~SeaMgr(); // _00 of vtable 1
|
||||
|
||||
void addSeaMgr(SeaMgr*, Matrixf&);
|
||||
WaterBox* findWater(Sys::Sphere&);
|
||||
WaterBox* findWater2d(Sys::Sphere&);
|
||||
void read(Stream&);
|
||||
void update();
|
||||
|
||||
int _3C; // _3C
|
||||
J3DModelData** m_modelData; // _40
|
||||
Sys::MatTexAnimation* m_animations; // _44
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
#endif
|
@ -1,5 +1,5 @@
|
||||
#ifndef _GAME_GENERICOBJECTMGR_H
|
||||
#define _GAME_GENERICOBJECTMGR_H
|
||||
#ifndef _GENERICOBJECTMGR_H
|
||||
#define _GENERICOBJECTMGR_H
|
||||
|
||||
#include "types.h"
|
||||
|
@ -4,13 +4,13 @@
|
||||
#include "types.h"
|
||||
#include "Dolphin/gx.h"
|
||||
#include "Matrixf.h"
|
||||
#include "Color4.h"
|
||||
#include "JSystem/J2D/J2DGrafContext.h"
|
||||
|
||||
struct Color4;
|
||||
template <typename T> struct IDelegate1;
|
||||
template <typename A, typename B> struct IDelegate2;
|
||||
struct JUTTexture;
|
||||
struct PerspPrintfInfo;
|
||||
struct Plane;
|
||||
template <typename T> struct Rect;
|
||||
typedef Rect<float> Rectf;
|
||||
@ -20,6 +20,18 @@ namespace Sys {
|
||||
struct Sphere;
|
||||
}
|
||||
|
||||
struct PerspPrintfInfo {
|
||||
inline PerspPrintfInfo() {};
|
||||
|
||||
struct JUTFont* m_font; // _00
|
||||
uint _04; // _04
|
||||
uint _08; // _08
|
||||
int _0C; // _0C
|
||||
float _10; // _10
|
||||
Color4 _14; // _14
|
||||
Color4 _18; // _18
|
||||
};
|
||||
|
||||
struct _GraphicsParent {
|
||||
ushort m_primitiveDrawCount; // _000
|
||||
char* m_tokens[0x20]; // _004
|
||||
|
@ -200,7 +200,7 @@ struct J2DAnmVtxColorKey : public J2DAnmVtxColor {
|
||||
};
|
||||
|
||||
struct J2DAnmLoaderDataBase {
|
||||
static J2DAnmBase* load(void*);
|
||||
static J2DAnmBase* load(const void*);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
40
include/JSystem/J2D/J2DMaterial.h
Normal file
40
include/JSystem/J2D/J2DMaterial.h
Normal file
@ -0,0 +1,40 @@
|
||||
#ifndef _JSYSTEM_J2D_J2DMATERIAL_H
|
||||
#define _JSYSTEM_J2D_J2DMATERIAL_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct J2DAnmColor;
|
||||
struct J2DAnmTevRegKey;
|
||||
struct J2DAnmTextureSRTKey;
|
||||
struct J2DAnmTexPattern;
|
||||
struct J2DIndBlock;
|
||||
struct J2DTevBlock;
|
||||
|
||||
struct J2DTexCoord {
|
||||
J2DTexCoord();
|
||||
};
|
||||
|
||||
struct J2DColorChan {
|
||||
J2DColorChan();
|
||||
};
|
||||
|
||||
struct J2DMaterial {
|
||||
J2DMaterial();
|
||||
J2DMaterial(ulong);
|
||||
|
||||
void animation();
|
||||
J2DTevBlock* createTevBlock(int, bool);
|
||||
J2DIndBlock* createIndBlock(int, bool);
|
||||
void makeAnmPointer();
|
||||
void setAnimation(J2DAnmColor*);
|
||||
void setAnimation(J2DAnmTevRegKey*);
|
||||
void setAnimation(J2DAnmTextureSRTKey*);
|
||||
void setAnimation(J2DAnmTexPattern*);
|
||||
void setGX();
|
||||
|
||||
virtual ~J2DMaterial(); // _00
|
||||
|
||||
// _00 VTBL
|
||||
};
|
||||
|
||||
#endif
|
@ -105,6 +105,7 @@ struct J2DPane {
|
||||
ulonglong getTagName() const;
|
||||
float getTranslateX() const;
|
||||
float getTranslateY() const;
|
||||
ulonglong getUserInfo() const;
|
||||
|
||||
J2DPane* getFirstChildPane();
|
||||
J2DPane* getNextChildPane();
|
||||
@ -120,6 +121,8 @@ struct J2DPane {
|
||||
void rotate(float, float, J2DRotateAxis, float);
|
||||
void rotate(float);
|
||||
void updateTransform(const J2DAnmTransform*);
|
||||
void show();
|
||||
void hide();
|
||||
|
||||
void setBasePosition(J2DBasePosition);
|
||||
void setInfluencedAlpha(bool, bool);
|
||||
@ -225,6 +228,18 @@ struct J2DScreen : public J2DPane {
|
||||
|
||||
// Size: 0x168
|
||||
struct J2DPicture : public J2DPane {
|
||||
J2DPicture();
|
||||
J2DPicture(J2DPane*, JSURandomInputStream*, JKRArchive*);
|
||||
J2DPicture(J2DPane*, JSURandomInputStream*, J2DMaterial*);
|
||||
J2DPicture(const ResTIMG*);
|
||||
J2DPicture(const char*);
|
||||
J2DPicture(JUTTexture*);
|
||||
J2DPicture(ulonglong, const JGeometry::TBox2f&);
|
||||
|
||||
virtual ~J2DPicture(); // _00
|
||||
virtual uint getTypeID() const; // _04
|
||||
virtual void drawSelf(float, float); // _2C
|
||||
virtual void drawSelf(float, float, float (*)[3][4]); // _30
|
||||
virtual void initiate(const ResTIMG*, const ResTLUT*); // _8C
|
||||
virtual void prepareTexture(uchar); // _90
|
||||
virtual bool append(const ResTIMG*, float); // _94
|
||||
@ -281,6 +296,10 @@ struct J2DPicture : public J2DPane {
|
||||
virtual uchar getUsableTlut(uchar); // _140
|
||||
virtual void _144() = 0; // _144
|
||||
|
||||
void initinfo();
|
||||
void private_readStream(J2DPane*, JSURandomInputStream*, JKRArchive*);
|
||||
void private_initiate(const ResTIMG*, const ResTLUT*);
|
||||
|
||||
// J2DPane _000
|
||||
JUTTexture* m_textures[4]; // _100
|
||||
uchar m_textureCount; // _110
|
||||
@ -300,6 +319,82 @@ struct J2DPicture : public J2DPane {
|
||||
|
||||
// Size: 0x1A8
|
||||
struct J2DPictureEx : public J2DPicture {
|
||||
J2DPictureEx();
|
||||
J2DPictureEx(const ResTIMG*, ulong);
|
||||
J2DPictureEx(J2DPane*, JSURandomInputStream*, ulong, JKRArchive*);
|
||||
J2DPictureEx(ulonglong, const JGeometry::TBox2f&, const ResTIMG*, ulong);
|
||||
J2DPictureEx(ulonglong, const JGeometry::TBox2f&, const char*, ulong);
|
||||
|
||||
virtual ~J2DPictureEx(); // _00
|
||||
virtual void setCullBack(bool); // _14
|
||||
virtual void setCullBack(GXCullMode); // _18
|
||||
virtual void setAlpha(uchar); // _1C
|
||||
virtual void drawSelf(float, float, float (*)[3][4]); // _30
|
||||
virtual bool isUsed(const ResTIMG*); // _44
|
||||
virtual bool isUsed(const ResFONT*); // _48
|
||||
virtual void rewriteAlpha(); // _50
|
||||
virtual void setAnimation(J2DAnmBase*); // _54
|
||||
virtual void setAnimation(J2DAnmTransform*); // _58
|
||||
virtual void setAnimation(J2DAnmColor*); // _5C
|
||||
virtual void setAnimation(J2DAnmTexPattern*); // _60
|
||||
virtual void setAnimation(J2DAnmTextureSRTKey*); // _64
|
||||
virtual void setAnimation(J2DAnmTevRegKey*); // _68
|
||||
virtual void setAnimation(J2DAnmVisibilityFull*); // _6C
|
||||
virtual void setAnimation(J2DAnmVtxColor*); // _70
|
||||
virtual void animationPane(const J2DAnmTransform*); // _88
|
||||
virtual void initiate(const ResTIMG*, const ResTLUT*); // _8C
|
||||
virtual void prepareTexture(uchar); // _90
|
||||
virtual bool append(const ResTIMG*, float); // _94
|
||||
virtual bool append(const ResTIMG*, JUTPalette*, float); // _98
|
||||
virtual bool append(const char*, float); // _9C
|
||||
virtual bool append(const char*, JUTPalette*, float); // _A0
|
||||
virtual bool append(JUTTexture*, float); // _A4
|
||||
virtual bool prepend(const ResTIMG*, float); // _A8
|
||||
virtual bool prepend(const ResTIMG*, JUTPalette*, float); // _AC
|
||||
virtual bool prepend(const char*, float); // _B0
|
||||
virtual bool prepend(const char*, JUTPalette*, float); // _B4
|
||||
virtual bool prepend(JUTTexture*, float); // _B8
|
||||
virtual bool insert(const ResTIMG*, uchar, float); // _BC
|
||||
virtual bool insert(const ResTIMG*, JUTPalette*, uchar, float); // _C0
|
||||
virtual bool insert(const char*, uchar, float); // _C4
|
||||
virtual bool insert(const char*, JUTPalette*, uchar, float); // _C8
|
||||
virtual bool insert(JUTTexture*, uchar, float); // _CC
|
||||
virtual int remove(uchar); // _D0
|
||||
virtual int remove(); // _D4
|
||||
virtual int remove(JUTTexture*); // _D8
|
||||
virtual void draw(float, float, bool, bool, bool); // _DC
|
||||
virtual void draw(float, float, uchar, bool, bool, bool); // _E0
|
||||
virtual void draw(float, float, float, float, bool, bool, bool); // _E4
|
||||
virtual void drawOut(float, float, float, float, float, float); // _E8
|
||||
virtual void drawOut(float, float, float, float, float, float, float,
|
||||
float); // _EC
|
||||
virtual void drawOut(const JGeometry::TBox2f&,
|
||||
const JGeometry::TBox2f&); // _F0
|
||||
virtual void load(GXTexMapID, uchar); // _F4
|
||||
virtual void load(uchar); // _F8
|
||||
virtual void setBlendColorRatio(float, float, float, float, float, float,
|
||||
float, float); // _100
|
||||
virtual void setBlendAlphaRatio(float, float, float, float, float, float,
|
||||
float, float); // _104
|
||||
virtual ResTIMG* changeTexture(const ResTIMG*, uchar); // _108
|
||||
virtual ResTIMG* changeTexture(const char*, uchar); // _10C
|
||||
virtual ResTIMG* changeTexture(const ResTIMG*, uchar, JUTPalette*); // _110
|
||||
virtual ResTIMG* changeTexture(const char*, uchar, JUTPalette*); // _114
|
||||
virtual JUTTexture* getTexture(uchar) const; // _118
|
||||
virtual uchar getTextureCount() const; // _11C
|
||||
virtual bool setBlack(JUtility::TColor); // _120
|
||||
virtual bool setWhite(JUtility::TColor); // _124
|
||||
virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); // _128
|
||||
virtual JUtility::TColor getBlack() const; // _12C
|
||||
virtual JUtility::TColor getWhite() const; // _130
|
||||
virtual J2DMaterial* getMaterial() const; // _134
|
||||
virtual void drawFullSet(float, float, float, float,
|
||||
float (*)[3][4]); // _138
|
||||
virtual void drawTexCoord(float, float, float, float, short, short, short,
|
||||
short, short, short, short, short,
|
||||
float (*)[3][4]); // _13C
|
||||
virtual uchar getUsableTlut(uchar); // _140
|
||||
virtual void _144() = 0; // _144
|
||||
|
||||
// J2DPane _000
|
||||
J2DMaterial* _168; // _168
|
||||
|
31
include/JSystem/J2D/ind.h
Normal file
31
include/JSystem/J2D/ind.h
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef _JSYSTEM_J2D_IND_H
|
||||
#define _JSYSTEM_J2D_IND_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct J2DIndTexCoordScale {
|
||||
J2DIndTexCoordScale();
|
||||
~J2DIndTexCoordScale();
|
||||
|
||||
void load(uchar);
|
||||
};
|
||||
|
||||
struct J2DIndTexMtx {
|
||||
J2DIndTexMtx();
|
||||
};
|
||||
|
||||
struct J2DIndTexOrder {
|
||||
J2DIndTexOrder();
|
||||
};
|
||||
|
||||
struct J2DIndBlock {
|
||||
};
|
||||
|
||||
struct J2DIndBlockNull : public J2DIndBlock {
|
||||
virtual ~J2DIndBlockNull();
|
||||
|
||||
uint getType();
|
||||
void setGX();
|
||||
};
|
||||
|
||||
#endif
|
@ -3,7 +3,7 @@
|
||||
|
||||
#include "types.h"
|
||||
|
||||
typedef enum J3DAnmKind {
|
||||
enum J3DAnmKind {
|
||||
CLUSTER = 3,
|
||||
CLUSTER_FULL = 12,
|
||||
CLUSTER_KEY = 13,
|
||||
@ -22,6 +22,11 @@ typedef enum J3DAnmKind {
|
||||
VTX_COLOR_KEY = 15
|
||||
};
|
||||
|
||||
#pragma enumalwaysint off
|
||||
// Intended size: byte
|
||||
enum J3DAnmAttr { J3DAA_UNKNOWN_0 = 0 };
|
||||
#pragma enumalwaysint reset
|
||||
|
||||
struct J3DAnmBase {
|
||||
virtual void getKind() const = 0;
|
||||
virtual void getColour() const = 0;
|
||||
|
20
include/JSystem/J3D/J3DFrameCtrl.h
Normal file
20
include/JSystem/J3D/J3DFrameCtrl.h
Normal file
@ -0,0 +1,20 @@
|
||||
#ifndef _J3DFRAMECTRL_H
|
||||
#define _J3DFRAMECTRL_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct J3DFrameCtrl {
|
||||
virtual ~J3DFrameCtrl(); // _00
|
||||
|
||||
// _00 VTBL
|
||||
u8 m_attr; // _04
|
||||
// TODO: Rename to m_startFrame
|
||||
short _06; // _06
|
||||
// TODO: Rename to m_endFrame
|
||||
short _08; // _08
|
||||
short _0A; // _0A
|
||||
float _0C; // _0C
|
||||
float _10; // _10
|
||||
};
|
||||
|
||||
#endif
|
@ -4,9 +4,23 @@
|
||||
#include "types.h"
|
||||
|
||||
struct J3DJos32Tree;
|
||||
struct Vec;
|
||||
|
||||
struct J3DShape {
|
||||
u32 _00; // _00, VTBL!
|
||||
virtual void draw() const; // _00
|
||||
virtual void drawFast() const; // _04
|
||||
virtual void simpleDraw() const; // _08
|
||||
virtual void simpleDrawCache() const; // _0C
|
||||
|
||||
void calcNBTScale(const Vec&, float (*)[3][3], float (*)[3][3]);
|
||||
void countBumpMtxNum() const;
|
||||
void initialize();
|
||||
bool isSameVcdVatCmd(J3DShape*);
|
||||
void loadPreDrawSetting() const;
|
||||
void makeVcdVatCmd();
|
||||
void makeVtxArrayCmd();
|
||||
|
||||
// VTBL _00
|
||||
s32* _04; // _04
|
||||
s16 m_id; // _08
|
||||
u16 _0A; // _0A
|
||||
|
90
include/JSystem/J3D/J3DUShadow.h
Normal file
90
include/JSystem/J3D/J3DUShadow.h
Normal file
@ -0,0 +1,90 @@
|
||||
#ifndef _JSYSTEM_J3D_J3DUSHADOW_H
|
||||
#define _JSYSTEM_J3D_J3DUSHADOW_H
|
||||
|
||||
#include "Dolphin/gx.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef uint _GXTevAlphaArg;
|
||||
typedef uint _GXTevColorArg;
|
||||
typedef uint _GXProjectionType;
|
||||
typedef GXColor _GXColor;
|
||||
struct J3DModel;
|
||||
struct J3DUClipper;
|
||||
struct J3DUShadowInfo;
|
||||
struct JUTTexture;
|
||||
struct Vec;
|
||||
|
||||
namespace JGeometry {
|
||||
template <typename T> struct TPartition3;
|
||||
}
|
||||
|
||||
struct J3DUShadowInfo {
|
||||
void setViewportAndScissor(bool) const;
|
||||
void gxConfig(const _GXColor&, _GXTevColorArg, _GXTevAlphaArg) const;
|
||||
void renderShape() const;
|
||||
void getTexMtx(float (*)[4]) const;
|
||||
void getTexMtxForGX(float (*)[4]) const;
|
||||
};
|
||||
|
||||
struct J3DUShadowTextureSizeRatioCalcBase {
|
||||
};
|
||||
|
||||
struct J3DUShadowTextureSizeRatioCalcDefault
|
||||
: J3DUShadowTextureSizeRatioCalcBase {
|
||||
void operator()(const Vec&, J3DUShadowInfo*);
|
||||
};
|
||||
|
||||
struct J3DUShadowCameraPolicyUsingSphere {
|
||||
void operator()(J3DModel*, const Vec&, _GXProjectionType, J3DUShadowInfo*);
|
||||
};
|
||||
|
||||
struct J3DUMultiTexture {
|
||||
J3DUMultiTexture(ulong, uchar);
|
||||
~J3DUMultiTexture();
|
||||
void initResTIMG(uchar, _GXTexFmt);
|
||||
void allocateTexture(uchar, ushort, ushort, _GXTexFmt);
|
||||
void draw(uchar, ulong, ulong, _GXTevColorArg, ulong, ulong) const;
|
||||
|
||||
#ifdef MATCHING
|
||||
// The following is purely made up for the sake of matching.
|
||||
// We have no idea what the structure actually looked like.
|
||||
ulong m_count;
|
||||
JUTTexture* m_textures;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct J3DUShadowManager {
|
||||
J3DUShadowManager(ulong, _GXTexFmt, uchar, bool);
|
||||
~J3DUShadowManager();
|
||||
|
||||
void getFormatCoefficient(_GXTexFmt) const;
|
||||
void calc(const Vec&, J3DUShadowTextureSizeRatioCalcBase*);
|
||||
void capture();
|
||||
|
||||
#ifdef MATCHING
|
||||
// The following is purely made up for the sake of matching.
|
||||
// We have no idea what the structure actually looked like.
|
||||
J3DUMultiTexture m_multiTexture;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct ProjectionBackup {
|
||||
~ProjectionBackup();
|
||||
};
|
||||
|
||||
struct ScissorBackup {
|
||||
~ScissorBackup();
|
||||
};
|
||||
|
||||
struct ViewportBackup {
|
||||
~ViewportBackup();
|
||||
};
|
||||
|
||||
void calcSphereIncludingTwoSpheres(Vec*, float, Vec*, float, Vec*, float*);
|
||||
void calcSphereIncludingTwoSpheres(Vec*, float, Vec*, float*);
|
||||
void calcSphereIncludingModel(const J3DModel*, Vec*);
|
||||
void J3DUIsShadowInViewFrustum(const J3DUShadowInfo&, float (*)[4],
|
||||
const J3DUClipper&,
|
||||
const JGeometry::TPartition3<float>&);
|
||||
|
||||
#endif
|
@ -1,9 +0,0 @@
|
||||
#ifndef _JSYSTEM_JADHIONODE_H
|
||||
#define _JSYSTEM_JADHIONODE_H
|
||||
|
||||
struct JADHioNode {
|
||||
JADHioNode(const char*);
|
||||
virtual ~JADHioNode();
|
||||
};
|
||||
|
||||
#endif
|
@ -1,6 +1,8 @@
|
||||
#ifndef _JSYSTEM_JAI_JAINTER_H
|
||||
#define _JSYSTEM_JAI_JAINTER_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
namespace JAInter {
|
||||
namespace SequenceMgr {
|
||||
struct CustomHeapInfo {
|
||||
@ -38,6 +40,11 @@ struct SoundInfo {
|
||||
};
|
||||
struct SoundTable {
|
||||
};
|
||||
|
||||
void deleteTmpDVDFile(uchar**);
|
||||
void loadTmpDVDFile(char*, uchar**);
|
||||
void transInitDataFile(uchar*, ulong);
|
||||
void routeToTrack(ulong);
|
||||
} // namespace JAInter
|
||||
|
||||
#endif
|
||||
|
@ -1,8 +1,16 @@
|
||||
#ifndef _JSYSTEM_JFW_JFWSYSTEM_H
|
||||
#define _JSYSTEM_JFW_JFWSYSTEM_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct JUTFont;
|
||||
|
||||
struct JFWSystem {
|
||||
void firstInit();
|
||||
void init();
|
||||
|
||||
static u32* mainThread;
|
||||
static JUTFont* systemFont;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -1,8 +0,0 @@
|
||||
#ifndef _JSYSTEM_JFWSYSTEM_H
|
||||
#define _JSYSTEM_JFWSYSTEM_H
|
||||
|
||||
struct JFWSystem {
|
||||
static u32* mainThread;
|
||||
};
|
||||
|
||||
#endif
|
125
include/JSystem/JKR/Aram.h
Normal file
125
include/JSystem/JKR/Aram.h
Normal file
@ -0,0 +1,125 @@
|
||||
#ifndef _JSYSTEM_JKR_ARAM_H
|
||||
#define _JSYSTEM_JKR_ARAM_H
|
||||
|
||||
#include "JSystem/JKR/JKRArchive.h"
|
||||
#include "JSystem/JKR/JKRThread.h"
|
||||
#include "JSystem/JSU/JSUPtrLink.h"
|
||||
#include "types.h"
|
||||
|
||||
struct JKRDvdFile;
|
||||
struct JKRAramHeap;
|
||||
struct JKRDecompCommand;
|
||||
|
||||
typedef uint JKRExpandSwitch;
|
||||
|
||||
struct JKRAramBlock {
|
||||
JKRAramBlock(ulong, ulong, ulong, uchar, bool);
|
||||
|
||||
virtual ~JKRAramBlock(); // _00
|
||||
|
||||
JKRAramBlock* allocHead(ulong, uchar, JKRAramHeap*);
|
||||
JKRAramBlock* allocTail(ulong, uchar, JKRAramHeap*);
|
||||
|
||||
JSUPtrLink m_link; // _04
|
||||
ulong _14; // _14
|
||||
ulong _18; // _18
|
||||
ulong _1C; // _1C
|
||||
uchar _20; // _20
|
||||
bool _21; // _21
|
||||
};
|
||||
|
||||
struct JKRAramHeap : public JKRDisposer {
|
||||
enum EAllocMode { AM_Head = 0, AM_Tail };
|
||||
|
||||
JKRAramHeap(ulong, ulong);
|
||||
|
||||
virtual ~JKRAramHeap(); // _00
|
||||
|
||||
JKRAramBlock* alloc(ulong, EAllocMode);
|
||||
JKRAramBlock* allocFromHead(ulong);
|
||||
JKRAramBlock* allocFromTail(ulong);
|
||||
uint getFreeSize();
|
||||
|
||||
OSMutexObject m_mutex; // _18
|
||||
JKRHeap* _30; // _30
|
||||
ulong _34; // _34
|
||||
ulong _38; // _38
|
||||
ulong _3C; // _3C
|
||||
u8 _40; // _40
|
||||
};
|
||||
|
||||
// Size: 0xA4
|
||||
struct JKRAram : public JKRThread {
|
||||
JKRAram(ulong, ulong, long);
|
||||
|
||||
virtual ~JKRAram(); // _00
|
||||
virtual void run(); // _04
|
||||
|
||||
static JKRAram* create(ulong, ulong, long, long, long);
|
||||
static JKRAramBlock* mainRamToAram(uchar*, ulong, ulong, JKRExpandSwitch,
|
||||
ulong, JKRHeap*, int, ulong*);
|
||||
static uchar* aramToMainRam(ulong, uchar*, ulong, JKRExpandSwitch, ulong,
|
||||
JKRHeap*, int, ulong*);
|
||||
|
||||
u8 _78[8]; // _78
|
||||
ulong _80; // _80
|
||||
ulong _84; // _84
|
||||
ulong _88; // _88
|
||||
u8 _8C[4]; // _8C
|
||||
ulong _90; // _90
|
||||
JKRAramHeap* m_aramHeap; // _94
|
||||
ulong m_blockLength; // _98
|
||||
u8 _9C[4]; // _9C
|
||||
};
|
||||
|
||||
struct JKRAramArchive : public JKRArchive {
|
||||
JKRAramArchive(long, EMountDirection);
|
||||
|
||||
virtual ~JKRAramArchive(); // _00
|
||||
virtual void getExpandedResSize(const void*) const; // _34
|
||||
virtual u32 fetchResource(SDIFileEntry*, ulong*); // _38
|
||||
virtual void* fetchResource(void*, ulong, SDIFileEntry*, ulong*); // _3C
|
||||
|
||||
bool open(long);
|
||||
void fetchResource_subroutine(ulong, ulong, uchar*, ulong, int);
|
||||
void fetchResource_subroutine(ulong, ulong, JKRHeap*, int, uchar**);
|
||||
|
||||
int _5C; // _5C
|
||||
int _60; // _60
|
||||
void* _64; // _64
|
||||
JKRDvdFile* m_dvdFile; // _68
|
||||
};
|
||||
|
||||
// Size: 0x98
|
||||
struct JKRAMCommand {
|
||||
JKRAMCommand();
|
||||
~JKRAMCommand();
|
||||
|
||||
u8 _00[0x20]; // _00
|
||||
JSUPtrLink _20; // _20
|
||||
JSUPtrLink _30; // _30
|
||||
int m_direction; // _40
|
||||
ulong m_length; // _44
|
||||
ulong m_source; // _48
|
||||
ulong m_destination; // _4C
|
||||
JKRAramBlock* _50; // _50
|
||||
u8 _54[4]; // _54
|
||||
void* _58; // _58
|
||||
OSMessageQueue* _5C; // _5C
|
||||
int _60; // _60
|
||||
JKRDecompCommand* _64; // _64
|
||||
OSMessageQueue _68; // _68
|
||||
u8 _88[4]; // _88
|
||||
void* _8C; // _8C
|
||||
void* _90; // _90
|
||||
void* _94; // _94
|
||||
};
|
||||
|
||||
namespace JKRAramPiece {
|
||||
void doneDMA(ulong);
|
||||
void orderSync(int, ulong, ulong, ulong, JKRAramBlock*);
|
||||
void sendCommand(JKRAMCommand*);
|
||||
void startDMA(JKRAMCommand*);
|
||||
} // namespace JKRAramPiece
|
||||
|
||||
#endif
|
@ -9,29 +9,64 @@ struct JKRArchive : public JKRFileLoader {
|
||||
enum EMountMode { EMM_Unk0 = 0, EMM_Unk1, EMM_Unk2 };
|
||||
enum EMountDirection { EMD_Unk0 = 0, EMD_Unk1, EMD_Unk2 };
|
||||
|
||||
virtual ~JKRArchive(); // _00
|
||||
virtual void unmount(); // _04
|
||||
struct CArcName {
|
||||
CArcName(const char**, char);
|
||||
|
||||
const char* getString() const;
|
||||
ushort getHash() const;
|
||||
void store(const char*);
|
||||
char* store(const char*, char);
|
||||
|
||||
ushort m_hash; // _00
|
||||
short _02; // _02
|
||||
char m_string[256]; // _04
|
||||
};
|
||||
|
||||
struct SDIFileEntry {
|
||||
u8 _00[2]; // _00
|
||||
ushort m_hash; // _02
|
||||
uint _04; // _04
|
||||
int _08; // _08
|
||||
int m_size; // _0C
|
||||
int _10; // _10
|
||||
};
|
||||
|
||||
JKRArchive(long, EMountMode);
|
||||
|
||||
virtual ~JKRArchive(); // _00
|
||||
// virtual void unmount(); // _04
|
||||
virtual void becomeCurrent(const char*); // _08
|
||||
virtual void* getResource(const char*); // _0C
|
||||
virtual void* getResource(unsigned long, const char*); // _10
|
||||
virtual void readResource(void*, unsigned long, const char*); // _14
|
||||
virtual void readResource(void*, unsigned long, unsigned long,
|
||||
const char*); // _18
|
||||
virtual void removeResourceAll(); // _1C
|
||||
virtual void removeResource(void*); // _20
|
||||
virtual void detachResource(void*); // _24
|
||||
virtual void getResSize(const void*) const; // _28
|
||||
virtual void countFile(const char*) const; // _2C
|
||||
virtual void getFirstFile(const char*) const; // _30
|
||||
virtual void getExpandedResSize(const void*) const; // _34
|
||||
virtual void _38() = 0; // _38
|
||||
virtual void _3C() = 0; // _3C
|
||||
virtual void setExpandSize(struct SDIFileEntry*, unsigned long); // _40
|
||||
virtual void getExpandSize(struct SDIFileEntry*) const; // _44
|
||||
const char*); // _18
|
||||
virtual void removeResourceAll(); // _1C
|
||||
virtual void removeResource(void*); // _20
|
||||
virtual void detachResource(void*); // _24
|
||||
virtual void getResSize(const void*) const; // _28
|
||||
virtual void countFile(const char*) const; // _2C
|
||||
virtual void getFirstFile(const char*) const; // _30
|
||||
virtual void getExpandedResSize(const void*) const; // _34
|
||||
virtual u32 fetchResource(SDIFileEntry*, ulong*) = 0; // _38
|
||||
virtual void* fetchResource(void*, ulong, SDIFileEntry*, ulong*) = 0; // _3C
|
||||
virtual void setExpandSize(SDIFileEntry*, unsigned long); // _40
|
||||
virtual void getExpandSize(SDIFileEntry*) const; // _44
|
||||
|
||||
// TODO: determine return type
|
||||
static u32* mount(char const*, JKRArchive::EMountMode, JKRHeap*,
|
||||
JKRArchive::EMountDirection);
|
||||
u32 findDirectory(const char*, ulong) const;
|
||||
SDIFileEntry* findFsResource(const char*, ulong) const;
|
||||
SDIFileEntry* findIdResource(ushort) const;
|
||||
SDIFileEntry* findIdxResource(ulong) const;
|
||||
SDIFileEntry* findNameResource(const char*) const;
|
||||
SDIFileEntry* findPtrResource(const void*) const;
|
||||
SDIFileEntry* findTypeResource(ulong, const char*) const;
|
||||
bool isSameName(CArcName&, ulong, ushort) const;
|
||||
|
||||
static JKRArchive* mount(char const*, JKRArchive::EMountMode, JKRHeap*,
|
||||
JKRArchive::EMountDirection);
|
||||
};
|
||||
|
||||
struct JKRMemArchive : public JKRArchive {
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -1,20 +1,60 @@
|
||||
#ifndef _JSYSTEM_JKR_JKRDECOMP_H
|
||||
#define _JSYSTEM_JKR_JKRDECOMP_H
|
||||
|
||||
#include "Dolphin/os.h"
|
||||
#include "JSystem/JKR/JKRThread.h"
|
||||
#include "types.h"
|
||||
|
||||
struct JKRDecomp {
|
||||
JKRDecomp(long);
|
||||
~JKRDecomp();
|
||||
struct JKRAMCommand;
|
||||
|
||||
void checkCompressed(u8*);
|
||||
void create(long);
|
||||
void decode(u8*, u8*, ulong, ulong);
|
||||
void decodeSZP(u8*, u8*, ulong, ulong);
|
||||
void decodeSZS(u8*, u8*, ulong, ulong);
|
||||
void orderSync(u8*, u8*, ulong, ulong);
|
||||
void run();
|
||||
void sendCommand(struct JKRDecompCommand*);
|
||||
// Size: 0x4C
|
||||
struct JKRDecompCommand {
|
||||
typedef void Callback(JKRDecompCommand*);
|
||||
|
||||
JKRDecompCommand();
|
||||
~JKRDecompCommand();
|
||||
|
||||
u8 _00[4]; // _00
|
||||
uchar* _04; // _04
|
||||
uchar* _08; // _08
|
||||
ulong _0C; // _0C
|
||||
ulong _10; // _10
|
||||
Callback* m_callback; // _14
|
||||
void* _18; // _18
|
||||
OSMessageQueue* _1C; // _1C
|
||||
int _20; // _20
|
||||
JKRAMCommand* _24; // _24
|
||||
OSMessageQueue _28; // _28
|
||||
void* m_messageBuffer[1]; // _48
|
||||
};
|
||||
|
||||
// Size: 0x7C
|
||||
struct JKRDecomp : public JKRThread {
|
||||
enum CompressionMode {
|
||||
NOT_COMPRESSED = 0,
|
||||
YAY0,
|
||||
YAZ0,
|
||||
_FORCE_UINT = 0xFFFFFFFF
|
||||
};
|
||||
|
||||
JKRDecomp(long);
|
||||
|
||||
virtual ~JKRDecomp(); // _00
|
||||
virtual void run(); // _04
|
||||
|
||||
static CompressionMode checkCompressed(u8*);
|
||||
static JKRDecomp* create(long);
|
||||
static void decode(uchar*, uchar*, ulong, ulong);
|
||||
static void decodeSZP(u8*, u8*, ulong, ulong);
|
||||
static void decodeSZS(u8*, u8*, ulong, ulong);
|
||||
static bool orderSync(u8*, u8*, ulong, ulong);
|
||||
static BOOL sendCommand(JKRDecompCommand*);
|
||||
|
||||
u8 _78[4]; // _78
|
||||
|
||||
static void* sMessageBuffer[4];
|
||||
static OSMessageQueue sMessageQueue;
|
||||
static JKRDecomp* sDecompObject;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -7,9 +7,10 @@
|
||||
struct JKRArchive;
|
||||
struct JKRFileLoader : public JKRDisposer {
|
||||
JKRFileLoader();
|
||||
virtual ~JKRFileLoader();
|
||||
|
||||
void unmount();
|
||||
virtual ~JKRFileLoader();
|
||||
virtual void unmount();
|
||||
|
||||
static void* getGlbResource(char const*);
|
||||
static void* getGlbResource(char const*, JKRFileLoader*);
|
||||
static JKRArchive* findVolume(char const**);
|
||||
|
@ -1,13 +1,31 @@
|
||||
#ifndef _JSYSTEM_JKR_JKRTHREAD_H
|
||||
#define _JSYSTEM_JKR_JKRTHREAD_H
|
||||
|
||||
#include "Dolphin/os.h"
|
||||
#include "JSystem/JKR/JKRDisposer.h"
|
||||
#include "JSystem/JSU/JSUPtrLink.h"
|
||||
#include "types.h"
|
||||
|
||||
struct JKRThread {
|
||||
struct JKRThread : public JKRDisposer {
|
||||
JKRThread(unsigned long, int, int);
|
||||
|
||||
virtual ~JKRThread();
|
||||
virtual void run();
|
||||
virtual ~JKRThread(); // _00
|
||||
virtual void run(); // _04
|
||||
|
||||
JSUPtrLink _18; // _18
|
||||
JKRHeap* _28; // _28
|
||||
OSThread* m_osThread; // _2C
|
||||
OSMessageQueue m_messageQueue; // _30
|
||||
u8 _50[4]; // _50
|
||||
int _54; // _54
|
||||
int _58; // _58
|
||||
int _5C; // _5C
|
||||
u8 _60; // _60
|
||||
u32 _64; // _64
|
||||
u32 _68; // _68
|
||||
u32 _6C; // _6C
|
||||
u32 _70; // _70
|
||||
u32 _74; // _74
|
||||
};
|
||||
|
||||
#endif
|
||||
|
19
include/JSystem/JPA/JPATexture.h
Normal file
19
include/JSystem/JPA/JPATexture.h
Normal file
@ -0,0 +1,19 @@
|
||||
#ifndef _JSYSTEM_JPA_JPATEXTURE_H
|
||||
#define _JSYSTEM_JPA_JPATEXTURE_H
|
||||
|
||||
#include "JSystem/JUT/JUTTexture.h"
|
||||
#include "types.h"
|
||||
|
||||
struct JKRHeap;
|
||||
|
||||
struct JPATexture {
|
||||
JPATexture(const uchar*);
|
||||
// JPATexture(const uchar*, JKRHeap*);
|
||||
|
||||
virtual ~JPATexture(); // _00
|
||||
|
||||
JUTTexture m_texture; // _04
|
||||
const uchar* _44; // _44
|
||||
};
|
||||
|
||||
#endif
|
@ -5,10 +5,16 @@
|
||||
#include "Dolphin/gx.h"
|
||||
|
||||
struct JUTGraphFifo {
|
||||
JUTGraphFifo(ulong);
|
||||
|
||||
virtual ~JUTGraphFifo(); // _00
|
||||
|
||||
void becomeCurrent();
|
||||
void setBreakPt();
|
||||
|
||||
static JUTGraphFifo* sCurrentFifo;
|
||||
static u8 mGpStatus[5];
|
||||
|
||||
u32 _00;
|
||||
GXFifoObj* m_fifo;
|
||||
};
|
||||
|
||||
|
@ -14,15 +14,15 @@ struct JUTNameTab {
|
||||
virtual ~JUTNameTab(); // _00
|
||||
// virtual void _04() = 0; // _04
|
||||
|
||||
void calcKeyCode(const char*) const;
|
||||
void getIndex(const char*) const;
|
||||
ushort calcKeyCode(const char*) const;
|
||||
int getIndex(const char*) const;
|
||||
char* getName(ushort) const;
|
||||
void setResource(const ResNTAB*);
|
||||
|
||||
// _00 VTBL
|
||||
ResNTAB* m_resource; // _04
|
||||
u32 _08; // _08
|
||||
ushort _0C; // _0C
|
||||
const ResNTAB* m_resource; // _04
|
||||
void* _08; // _08
|
||||
ushort _0C; // _0C
|
||||
};
|
||||
|
||||
#endif
|
||||
|
29
include/JSystem/JUT/JUTPalette.h
Normal file
29
include/JSystem/JUT/JUTPalette.h
Normal file
@ -0,0 +1,29 @@
|
||||
#ifndef _JSYSTEM_JUT_JUTPALETTE_H
|
||||
#define _JSYSTEM_JUT_JUTPALETTE_H
|
||||
|
||||
#include "Dolphin/gx.h"
|
||||
#include "types.h"
|
||||
|
||||
struct ResTLUT;
|
||||
typedef u8 JUTTransparency;
|
||||
|
||||
// Size: 0x18
|
||||
struct JUTPalette {
|
||||
bool load();
|
||||
void storeTLUT(_GXTlut, _GXTlutFmt, JUTTransparency, ushort, void*);
|
||||
void storeTLUT(_GXTlut, ResTLUT*);
|
||||
// void storeTLUT(_GXTlut id, _GXTlutFmt format, JUTTransparency
|
||||
// transparency, ushort p4, void* p5) { m_tlutID = id; m_tlutFormat =
|
||||
// format; m_transparency = transparency; _14 = p4; _10 = (uchar*)p5;
|
||||
// GXInitTlutObj(&m_tlutObj, _10, m_tlutFormat, _14);
|
||||
// }
|
||||
|
||||
GXTlutObj m_tlutObj;
|
||||
_GXTlut m_tlutID; // _0C
|
||||
_GXTlutFmt m_tlutFormat; // _0D
|
||||
u8* _10; // _10
|
||||
ushort _14; // _14
|
||||
JUTTransparency m_transparency; // _16
|
||||
};
|
||||
|
||||
#endif
|
@ -1,17 +1,56 @@
|
||||
#ifndef _JSYSTEM_JUT_JUTTEXTURE_H
|
||||
#define _JSYSTEM_JUT_JUTTEXTURE_H
|
||||
|
||||
#include "Dolphin/gx.h"
|
||||
#include "types.h"
|
||||
|
||||
struct JUTTexture {
|
||||
JUTTexture();
|
||||
struct JUTPalette;
|
||||
struct ResTIMG;
|
||||
|
||||
u8 _00[32]; // _00
|
||||
u32 _20; // _20
|
||||
u32 _24; // _24
|
||||
u32 _28; // _28
|
||||
u8 _2C[15]; // _2C
|
||||
u8 _3B; // _3B
|
||||
// Size: 0x40
|
||||
struct JUTTexture {
|
||||
JUTTexture()
|
||||
{
|
||||
m_flags &= 2;
|
||||
_28 = 0;
|
||||
_20 = 0;
|
||||
}
|
||||
JUTTexture(int, int, _GXTexFmt);
|
||||
~JUTTexture();
|
||||
;
|
||||
void attachPalette(JUTPalette*);
|
||||
void capture(int, int, _GXTexFmt, bool, uchar);
|
||||
void captureTexture(int, int, int, int, bool, _GXTexFmt, _GXTexFmt);
|
||||
void captureDolTexture(void*, int, int, int, int, bool, _GXTexFmt);
|
||||
void init();
|
||||
void initTexObj();
|
||||
void initTexObj(_GXTlut);
|
||||
void load(_GXTexMapID);
|
||||
void storeTIMG(const ResTIMG*, uchar);
|
||||
void storeTIMG(const ResTIMG*, JUTPalette*);
|
||||
void storeTIMG(const ResTIMG*, JUTPalette*, _GXTlut);
|
||||
|
||||
u8 _00[20]; // _00
|
||||
u32 _14; // _14
|
||||
u8 _18[4]; // _18
|
||||
u8 _1C; // _1C
|
||||
u8 _1D; // _1D
|
||||
u8 _1E; // _1E
|
||||
u8 m_mipmap; // _1F
|
||||
ResTIMG* _20; // _20
|
||||
u32 _24; // _24 /* DCrange */
|
||||
JUTPalette* _28; // _28
|
||||
JUTPalette* _2C; // _2C
|
||||
u8 _30; // _30 /* texWrapMode */
|
||||
u8 _31; // _31 /* texWrapMode */
|
||||
u8 _32; // _32
|
||||
u8 _33; // _33
|
||||
ushort _34; // _34
|
||||
ushort _36; // _36
|
||||
short _38; // _38
|
||||
u8 m_tlut; // _3A
|
||||
u8 m_flags; // _3B
|
||||
ResTIMG* _3C; // _3C
|
||||
};
|
||||
|
||||
#endif
|
||||
|
20
include/JSystem/JUT/ResNTAB.h
Normal file
20
include/JSystem/JUT/ResNTAB.h
Normal file
@ -0,0 +1,20 @@
|
||||
#ifndef _JSYSTEM_JUT_RESNTAB_H
|
||||
#define _JSYSTEM_JUT_RESNTAB_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct _NTAB {
|
||||
ushort keyCode;
|
||||
char* str;
|
||||
};
|
||||
|
||||
// I really don't know for this one...
|
||||
struct ResNTAB {
|
||||
ushort _00; // _00
|
||||
// ushort _02; // _02
|
||||
// const u8* _04; // _04
|
||||
// const char* m_table[4];
|
||||
_NTAB** m_table; // _04
|
||||
};
|
||||
|
||||
#endif
|
@ -1,37 +0,0 @@
|
||||
#ifndef _JSYSTEM_JUTEXCEPTION_H
|
||||
#define _JSYSTEM_JUTEXCEPTION_H
|
||||
|
||||
#include "Dolphin/os.h"
|
||||
#include "types.h"
|
||||
|
||||
struct JUTException {
|
||||
static void panic_f(char const* file, int line, char const* msg, ...);
|
||||
|
||||
static u32* sConsole;
|
||||
static u32* sErrorManager;
|
||||
static OSMessageQueue sMessageQueue;
|
||||
};
|
||||
|
||||
#define JUT_PANIC(...) JUTException::panic_f(__FILE__, __LINE__, __VA_ARGS__)
|
||||
|
||||
#define JUT_ASSERT(cond, string_ref) \
|
||||
if (!(cond)) \
|
||||
JUT_PANIC(string_ref)
|
||||
|
||||
#define P2ASSERT_BROKEN(cond) JUT_ASSERT(cond, nullptr)
|
||||
#define P2ASSERT(cond) JUT_ASSERT(cond, "P2Assert")
|
||||
|
||||
#ifndef MATCHING
|
||||
#define JUT_PANICLINE(line, ...) JUT_PANIC(__VA_ARGS__)
|
||||
#else
|
||||
#define JUT_PANICLINE(line, ...) \
|
||||
JUTException::panic_f(__FILE__, line, __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#define JUT_ASSERTLINE(line, cond, string_ref) \
|
||||
if (!(cond)) \
|
||||
JUT_PANICLINE(line, string_ref)
|
||||
|
||||
#define P2ASSERTLINE(line, cond) JUT_ASSERTLINE(line, cond, "P2Assert")
|
||||
|
||||
#endif
|
@ -1,7 +0,0 @@
|
||||
#ifndef _JSYSTEM_JUTFONT_H
|
||||
#define _JSYSTEM_JUTFONT_H
|
||||
|
||||
struct JUTFont {
|
||||
};
|
||||
|
||||
#endif
|
@ -1,18 +0,0 @@
|
||||
#ifndef _JSYSTEM_JUTGAMEPAD_H
|
||||
#define _JSYSTEM_JUTGAMEPAD_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct JUTGamePad {
|
||||
enum EPadPort {
|
||||
PORT_0 = 0,
|
||||
PORT_1,
|
||||
PORT_2,
|
||||
PORT_3,
|
||||
};
|
||||
|
||||
JUTGamePad(EPadPort);
|
||||
virtual ~JUTGamePad();
|
||||
};
|
||||
|
||||
#endif
|
@ -5,7 +5,7 @@
|
||||
|
||||
namespace JUtility {
|
||||
struct TColor {
|
||||
TColor() {};
|
||||
inline TColor();
|
||||
inline TColor(u8 red, u8 green, u8 blue, u8 alpha)
|
||||
{
|
||||
channels.r = red;
|
||||
@ -14,6 +14,16 @@ struct TColor {
|
||||
channels.a = alpha;
|
||||
}
|
||||
inline TColor(u32 value) { asU32 = value; }
|
||||
inline TColor(const TColor& other) { asU32 = other.asU32; }
|
||||
inline TColor& operator=(TColor other)
|
||||
{
|
||||
channels = other.channels;
|
||||
// channels.r = other.channels.r;
|
||||
// channels.g = other.channels.g;
|
||||
// channels.b = other.channels.b;
|
||||
// channels.a = other.channels.a;
|
||||
return *this;
|
||||
}
|
||||
union {
|
||||
u32 asU32;
|
||||
struct {
|
||||
|
32
include/JSystem/ResTIMG.h
Normal file
32
include/JSystem/ResTIMG.h
Normal file
@ -0,0 +1,32 @@
|
||||
#ifndef _JSYSTEM_RESTIMG_H
|
||||
#define _JSYSTEM_RESTIMG_H
|
||||
|
||||
#include "Dolphin/gx.h"
|
||||
#include "types.h"
|
||||
|
||||
struct ResTIMG {
|
||||
u8 m_textureFormat; // _00
|
||||
u8 m_transparency; // _01
|
||||
ushort m_sizeX; // _02
|
||||
ushort m_sizeY; // _04
|
||||
u8 m_wrapS; // _06
|
||||
u8 m_wrapT; // _07
|
||||
u8 m_paletteFormat; // _08
|
||||
u8 m_lutFormat; // _09
|
||||
short m_paletteEntryCount; // _0A
|
||||
u32 m_paletteOffset; // _0C
|
||||
GXBool _10; // _10
|
||||
GXBool _11; // _11
|
||||
GXBool _12; // _12
|
||||
GXBool _13; // _13
|
||||
u8 m_magFilterType; // _14
|
||||
u8 m_minFilterType; // _15
|
||||
char _16; // _16
|
||||
char _17; // _17
|
||||
u8 m_totalImageCount; // _18
|
||||
short _1A; // _1A
|
||||
int m_imageDataOffset; // _1C
|
||||
u8 _20[4]; // _20
|
||||
};
|
||||
|
||||
#endif
|
17
include/JSystem/ResTLUT.h
Normal file
17
include/JSystem/ResTLUT.h
Normal file
@ -0,0 +1,17 @@
|
||||
#ifndef _JSYSTEM_RESTLUT_H
|
||||
#define _JSYSTEM_RESTLUT_H
|
||||
|
||||
#include "Dolphin/gx.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef u8 JUTTransparency;
|
||||
|
||||
struct ResTLUT {
|
||||
_GXTlutFmt m_format; // _00
|
||||
JUTTransparency m_transparency; // _01
|
||||
ushort _02; // _02 // maybe sizeX, given similarities to ResTIMG?
|
||||
u8 _04[0x1C]; // _04
|
||||
uchar* _20; // _20
|
||||
};
|
||||
|
||||
#endif
|
12
include/JSystem/Vec.h
Normal file
12
include/JSystem/Vec.h
Normal file
@ -0,0 +1,12 @@
|
||||
#ifndef _JSYSTEM_VEC_H
|
||||
#define _JSYSTEM_VEC_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct Vec {
|
||||
float x; // _00
|
||||
float y; // _04
|
||||
float z; // _08
|
||||
};
|
||||
|
||||
#endif
|
60
include/LoadResource.h
Normal file
60
include/LoadResource.h
Normal file
@ -0,0 +1,60 @@
|
||||
#ifndef _LOADRESOURCE_H
|
||||
#define _LOADRESOURCE_H
|
||||
|
||||
#include "CNode.h"
|
||||
#include "JSystem/JKR/JKRExpandSwitch.h"
|
||||
#include "JSystem/JKR/JKRDisposer.h"
|
||||
|
||||
struct JKRMemArchive;
|
||||
|
||||
namespace LoadResource {
|
||||
// Size: 0x38
|
||||
struct Node : public CNode, JKRDisposer {
|
||||
Node(char const*);
|
||||
|
||||
virtual ~Node(); // _00
|
||||
|
||||
void dump();
|
||||
|
||||
// _00 - _18: CNode
|
||||
// _18 - _30: JKRDisposer
|
||||
void* _30; // _30
|
||||
JKRMemArchive* m_archive; // _34
|
||||
};
|
||||
|
||||
struct Arg {
|
||||
Arg(char const*);
|
||||
|
||||
char* _00; // _00
|
||||
uchar* _04; // _04
|
||||
u32 _08; // _08
|
||||
u32 _0C; // _0C
|
||||
JKRExpandSwitch m_expandSwitch; // _10
|
||||
u32 _14; // _14
|
||||
JKRHeap* m_heap; // _18
|
||||
int _1C; // _1C
|
||||
int _20; // _20
|
||||
int* _24; // _24
|
||||
ulong* _28; // _28
|
||||
u8 _2C; // _2C
|
||||
u8 _2D; // _2D
|
||||
};
|
||||
|
||||
struct ArgAramOnly : Arg {
|
||||
ArgAramOnly(char const*);
|
||||
};
|
||||
|
||||
struct Mgr {
|
||||
Mgr();
|
||||
|
||||
void dump();
|
||||
void init();
|
||||
void load(Arg&);
|
||||
Node* mountArchive(Arg&);
|
||||
void search(char const*);
|
||||
};
|
||||
} // namespace LoadResource
|
||||
|
||||
extern LoadResource::Mgr* gLoadResourceMgr;
|
||||
|
||||
#endif
|
@ -2,7 +2,7 @@
|
||||
#define _OBJECTMGR_H
|
||||
|
||||
#include "Container.h"
|
||||
#include "Game/GenericObjectMgr.h"
|
||||
#include "GenericObjectMgr.h"
|
||||
|
||||
template <typename T> struct ObjectMgr : public Container<T>, GenericObjectMgr {
|
||||
// first VTBL:
|
||||
@ -30,9 +30,7 @@ template <typename T> struct NodeObjectMgr : public ObjectMgr<T> {
|
||||
// second VTBL:
|
||||
virtual void resetMgr(); // _20
|
||||
|
||||
// TODO: Remove this once the VTBLs work properly
|
||||
u32 _1C_REMOVE_ME_PLEASE; // _1C
|
||||
TObjectNode<T> m_node; // _20
|
||||
TObjectNode<T> m_node; // _20
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -34,7 +34,6 @@ struct Mgr : public J2DScreen {
|
||||
void addCallBackPane(J2DPane*, Node*);
|
||||
|
||||
Node _118; // _118
|
||||
u32 _130; // _130
|
||||
u8 _134[4]; // _134
|
||||
};
|
||||
|
||||
|
@ -1,15 +1,19 @@
|
||||
#ifndef _PARAMETERS_H
|
||||
#define _PARAMETERS_H
|
||||
|
||||
#include "id32.h"
|
||||
#include "stream.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef struct BaseParm BaseParm;
|
||||
struct BaseParm;
|
||||
struct Stream;
|
||||
|
||||
struct Parameters {
|
||||
inline Parameters(void* end, BaseParm* head, char* name)
|
||||
: m_endAddress(end)
|
||||
, m_parmsHead(head)
|
||||
// @fabricatedName
|
||||
struct IParameters {
|
||||
// void* m_endAddress; // _00
|
||||
};
|
||||
|
||||
struct Parameters : virtual IParameters {
|
||||
Parameters(BaseParm* head, char* name)
|
||||
: m_parmsHead(head)
|
||||
, m_name(name)
|
||||
{
|
||||
}
|
||||
@ -17,7 +21,6 @@ struct Parameters {
|
||||
void read(Stream&);
|
||||
BaseParm* findParm(ulong);
|
||||
|
||||
void* m_endAddress; // _00
|
||||
BaseParm* m_parmsHead; // _04
|
||||
char* m_name; // _08
|
||||
};
|
||||
|
@ -28,10 +28,16 @@ struct SceneArg {
|
||||
};
|
||||
|
||||
struct StartSceneArg : public SceneArg {
|
||||
virtual SceneType getSceneType(); // _00
|
||||
virtual int getClassSize(); // _04
|
||||
|
||||
float _04; // _04
|
||||
};
|
||||
|
||||
struct SetSceneArg : public SceneArg {
|
||||
virtual SceneType getSceneType(); // _00
|
||||
virtual int getClassSize(); // _04
|
||||
|
||||
SceneType m_sceneType; // _04
|
||||
u8 _08; // _08
|
||||
u8 _09; // _09
|
||||
@ -39,6 +45,9 @@ struct SetSceneArg : public SceneArg {
|
||||
};
|
||||
|
||||
struct EndSceneArg : public SceneArg {
|
||||
virtual SceneType getSceneType(); // _00
|
||||
virtual int getClassSize(); // _04
|
||||
|
||||
u8 _04; // _04
|
||||
};
|
||||
|
||||
|
230
include/Screen/Game2DMgr.h
Normal file
230
include/Screen/Game2DMgr.h
Normal file
@ -0,0 +1,230 @@
|
||||
#ifndef _SCREEN_GAME2DMGR_H
|
||||
#define _SCREEN_GAME2DMGR_H
|
||||
|
||||
#include "CNode.h"
|
||||
#include "JSystem/JKR/JKRDisposer.h"
|
||||
#include "JSystem/JUtility.h"
|
||||
#include "Screen/Bases.h"
|
||||
#include "types.h"
|
||||
|
||||
struct Controller;
|
||||
struct JKRSolidHeap;
|
||||
|
||||
namespace kh {
|
||||
namespace Screen {
|
||||
struct DispCaveResult;
|
||||
struct DispDayEndResult;
|
||||
struct DispFinalResult;
|
||||
struct DispPayDept;
|
||||
struct DispWinLose;
|
||||
struct DispWinLoseReason;
|
||||
} // namespace Screen
|
||||
} // namespace kh
|
||||
|
||||
namespace og {
|
||||
namespace Screen {
|
||||
struct DispMemberAnaDemo;
|
||||
struct DispMemberBase;
|
||||
struct DispMemberCave;
|
||||
struct DispMemberCaveMore;
|
||||
struct DispMemberChallenge1P;
|
||||
struct DispMemberChallenge2P;
|
||||
struct DispMemberContena;
|
||||
struct DispMemberCourseName;
|
||||
struct DispMemberFinalMessage;
|
||||
struct DispMemberFloor;
|
||||
struct DispMemberGround;
|
||||
struct DispMemberKanketuMenu;
|
||||
struct DispMemberKantei;
|
||||
struct DispMemberSave;
|
||||
struct DispMemberSMenuAll;
|
||||
struct DispMemberSpecialItem;
|
||||
struct DispMemberUfoGroup;
|
||||
struct DispMemberVs;
|
||||
struct DispMemberWorldMapInfoWin0;
|
||||
struct DispMemberWorldMapInfoWin1;
|
||||
} // namespace Screen
|
||||
} // namespace og
|
||||
|
||||
namespace Morimura {
|
||||
struct DispMemberChallengeResult;
|
||||
struct DispMemberChallengeSelect;
|
||||
struct DispMemberHighScore;
|
||||
struct DispMemberVsSelect;
|
||||
struct DispMemberZukanEnemy;
|
||||
struct DispMemberZukanItem;
|
||||
} // namespace Morimura
|
||||
|
||||
namespace Screen {
|
||||
struct SceneBase;
|
||||
struct MgrBase : public JKRDisposer {
|
||||
virtual ~MgrBase(); // _00
|
||||
virtual void setScene(SetSceneArg&) = 0; // _04
|
||||
virtual bool startScene(StartSceneArg*) = 0; // _08
|
||||
virtual void endScene(EndSceneArg*) = 0; // _0C
|
||||
};
|
||||
|
||||
struct Mgr : public MgrBase {
|
||||
Mgr();
|
||||
|
||||
virtual ~Mgr(); // _00
|
||||
virtual void setScene(SetSceneArg&); // _04
|
||||
virtual bool startScene(StartSceneArg*); // _08
|
||||
virtual void endScene(EndSceneArg*); // _0C
|
||||
virtual void reset(); // _10
|
||||
virtual void setColorBG(JUtility::TColor&); // _14
|
||||
virtual void setBGMode(int); // _18
|
||||
virtual void doGetSceneBase(long); // _1C
|
||||
virtual void drawBG(Graphics&); // _20
|
||||
virtual void drawWipe(Graphics&); // _24
|
||||
|
||||
u8 _18; // _18
|
||||
u8 _19; // _19
|
||||
u8 _1A; // _1A
|
||||
u8 _1B; // _1B
|
||||
SceneBase* m_backupScene; // _1C
|
||||
Controller* controller; // _20
|
||||
u8 _24[8]; // _24
|
||||
CNode _2C; // _2C
|
||||
CNode _44; // _44
|
||||
JKRSolidHeap* _5C; // _5C
|
||||
CNode _60; // _60
|
||||
CNode m_sceneInfoListNode; // _78
|
||||
u8 _90; // _90
|
||||
u8 _91; // _91
|
||||
u8 _92; // _92
|
||||
u32 _94; // _94
|
||||
u32 _98; // _98
|
||||
JUtility::TColor m_bgColor; // _9C
|
||||
JUtility::TColor _A0; // _A0
|
||||
int m_bgMode; // _A4
|
||||
};
|
||||
|
||||
struct Game2DMgr : public JKRDisposer {
|
||||
enum GameOverTitle {};
|
||||
|
||||
Game2DMgr();
|
||||
|
||||
virtual ~Game2DMgr(); // _00
|
||||
// virtual void _04() = 0; // _04
|
||||
|
||||
void checkDayEnd(float) const;
|
||||
void check_CaveInMenu();
|
||||
void check_CaveMoreMenu();
|
||||
void check_CaveResult() const;
|
||||
void check_ChallengeSelect(int&, int&);
|
||||
void check_Contena();
|
||||
void check_DayEndResult() const;
|
||||
void check_FinalMessage() const;
|
||||
void check_FinalResult() const;
|
||||
void check_KanketuMenu();
|
||||
void check_PayDept() const;
|
||||
void check_ReadyGo() const;
|
||||
void check_Save() const;
|
||||
void check_SMenu();
|
||||
void check_UfoMenu();
|
||||
void check_VsSelect(int&, int&, int&);
|
||||
void check_VsStatus();
|
||||
void check_WinLose() const;
|
||||
void check_WinLoseReason() const;
|
||||
void check_WorldMapInfoWin0() const;
|
||||
void check_WorldMapInfoWin1() const;
|
||||
void check_ZukanItemRequest(int&);
|
||||
void check_ZukanEnemyRequest(int&);
|
||||
|
||||
void close_CourseName();
|
||||
void close_Floor();
|
||||
void close_GameOver();
|
||||
void close_Kantei();
|
||||
void close_SpecialItem();
|
||||
|
||||
void create();
|
||||
|
||||
void draw(Graphics&);
|
||||
void drawIndirect(Graphics&);
|
||||
void drawKanteiMsg(Graphics&);
|
||||
|
||||
void getZukanEnemyCurrSelectId();
|
||||
void getZukanItemCurrSelectId();
|
||||
|
||||
void initInCourse();
|
||||
|
||||
bool isAppearConfirmWindow();
|
||||
bool isEndChallengeResult();
|
||||
bool isEndHighScore();
|
||||
bool isZukanEnemy();
|
||||
bool isZukanEnlargedWindow();
|
||||
bool isZukanItem();
|
||||
bool isZukanMemoWindow();
|
||||
bool is_GameCave();
|
||||
bool is_GameGround();
|
||||
|
||||
void open_CaveInMenu(og::Screen::DispMemberAnaDemo&);
|
||||
void open_CaveMoreMenu(og::Screen::DispMemberCaveMore&);
|
||||
void open_CaveResult(kh::Screen::DispCaveResult&);
|
||||
void open_ChallengeKanketuMenu(og::Screen::DispMemberKanketuMenu&);
|
||||
void open_ChallengeSelect(Morimura::DispMemberChallengeSelect&);
|
||||
void open_ChallengeResult(Morimura::DispMemberChallengeResult&);
|
||||
void open_Contena(og::Screen::DispMemberContena&);
|
||||
bool open_CourseName(og::Screen::DispMemberCourseName&);
|
||||
void open_DayEndResult(kh::Screen::DispDayEndResult&);
|
||||
bool open_FinalMessage(og::Screen::DispMemberFinalMessage&);
|
||||
void open_FinalResult(kh::Screen::DispFinalResult&);
|
||||
void open_Floor(og::Screen::DispMemberFloor&);
|
||||
void open_GameCave(og::Screen::DispMemberCave&, int);
|
||||
void open_GameChallenge1P(og::Screen::DispMemberChallenge1P&, int);
|
||||
void open_GameChallenge2P(og::Screen::DispMemberChallenge2P&, int);
|
||||
void open_GameGround(og::Screen::DispMemberGround&);
|
||||
void open_GameOver(Screen::Game2DMgr::GameOverTitle);
|
||||
void open_GameVs(og::Screen::DispMemberVs&, int);
|
||||
void open_HighScore(Morimura::DispMemberHighScore&);
|
||||
void open_KanketuMenu(og::Screen::DispMemberKanketuMenu&);
|
||||
void open_Kantei(og::Screen::DispMemberKantei&);
|
||||
void open_PayDept(kh::Screen::DispPayDept&);
|
||||
void open_Save(og::Screen::DispMemberSave&);
|
||||
void open_SMenu(og::Screen::DispMemberSMenuAll&);
|
||||
void open_SMenu_Sub(og::Screen::DispMemberSMenuAll&);
|
||||
void open_SpecialItem(og::Screen::DispMemberSpecialItem&);
|
||||
void open_TimeUp1P();
|
||||
void open_TimeUp2P();
|
||||
void open_UfoMenu(og::Screen::DispMemberUfoGroup&);
|
||||
void open_VsSelect(Morimura::DispMemberVsSelect&);
|
||||
void open_WinLose(kh::Screen::DispWinLose&);
|
||||
void open_WinLoseReason(kh::Screen::DispWinLoseReason&);
|
||||
void open_WorldMapInfoWin0(og::Screen::DispMemberWorldMapInfoWin0&);
|
||||
void open_WorldMapInfoWin1(og::Screen::DispMemberWorldMapInfoWin1&);
|
||||
void open_ZukanEnemy(Morimura::DispMemberZukanEnemy&);
|
||||
void open_ZukanItem(Morimura::DispMemberZukanItem&);
|
||||
|
||||
void restartFinalFloorSound();
|
||||
|
||||
void result_Contena();
|
||||
void result_UfoMenu(int*, int*);
|
||||
|
||||
void requireZukanRequest();
|
||||
void requireZukanEffectOff();
|
||||
|
||||
void setDispMember(og::Screen::DispMemberBase*);
|
||||
void setGamePad(Controller*);
|
||||
void setToumeiBG();
|
||||
|
||||
void set_FloorVS_LoadEnd();
|
||||
|
||||
void startCount_CourseName();
|
||||
void startCount_Floor();
|
||||
|
||||
void startFadeBG_Floor();
|
||||
void startFadeBG_CourseName();
|
||||
|
||||
void stopFinalFloorSound();
|
||||
|
||||
void update();
|
||||
bool update_Kantei();
|
||||
|
||||
Mgr* m_screenMgr; // _18
|
||||
};
|
||||
|
||||
extern Game2DMgr* gGame2DMgr;
|
||||
} // namespace Screen
|
||||
|
||||
#endif
|
@ -9,6 +9,7 @@ struct Triangle;
|
||||
struct Plane;
|
||||
|
||||
struct Cylinder {
|
||||
inline Cylinder() { }
|
||||
Cylinder(const Vector3f&, const Vector3f&, float);
|
||||
Cylinder(const Vector3f&, const Vector3f&, float, float);
|
||||
|
||||
|
@ -17,6 +17,7 @@ struct Sphere;
|
||||
struct CurrTriInfo;
|
||||
|
||||
struct OBB {
|
||||
OBB();
|
||||
~OBB();
|
||||
|
||||
void autoDivide(Sys::VertexTable&, Sys::TriangleTable&, int, int);
|
||||
|
@ -4,15 +4,18 @@
|
||||
#include "types.h"
|
||||
#include "DvdThreadCommand.h"
|
||||
|
||||
struct Graphics;
|
||||
struct OSContext;
|
||||
|
||||
void Pikmin2DefaultMemoryErrorRoutine(void*, u32, s32);
|
||||
void kando_panic_f(bool, const char*, s32, const char*, ...);
|
||||
extern void preUserCallback(unsigned short, struct OSContext*, unsigned long,
|
||||
extern void preUserCallback(unsigned short, OSContext*, unsigned long,
|
||||
unsigned long);
|
||||
|
||||
typedef s32 ERenderMode;
|
||||
|
||||
namespace Game {
|
||||
struct CommonSaveData {
|
||||
namespace CommonSaveData {
|
||||
struct Mgr;
|
||||
};
|
||||
} // namespace Game
|
||||
@ -65,6 +68,7 @@ struct System {
|
||||
void endRender();
|
||||
ERenderMode setRenderMode(ERenderMode);
|
||||
void changeRenderMode(ERenderMode);
|
||||
// Possibilities: HeapStatus*, bool, ???
|
||||
u32 heapStatusStart(char*, JKRHeap*);
|
||||
void heapStatusEnd(char*);
|
||||
void heapStatusDump(bool);
|
||||
@ -86,34 +90,34 @@ struct System {
|
||||
bool dvdLoadSyncNoBlock(struct DvdThreadCommand*);
|
||||
int dvdLoadSyncAllNoBlock();
|
||||
|
||||
f32 _00; // _00
|
||||
f32 _04; // _04
|
||||
f32 _08; // _08
|
||||
u8 _0C[0xC]; // _0C
|
||||
struct JKRHeap* _18; // _18
|
||||
u32 m_cpuRetraceCount; // _1C
|
||||
u32 m_cpuLockCount; // _20
|
||||
struct Graphics* m_gfx; // _24
|
||||
struct SysTimers* m_timers; // _28
|
||||
u32 _2C; // _2C
|
||||
u32 _30; // _30
|
||||
u32 _34; // _34
|
||||
struct JKRHeap* m_sysHeap; // _38
|
||||
struct GameFlow* m_gameFlow; // _3C
|
||||
struct DvdThread* m_dvdThread; // _40
|
||||
struct ResetManager* m_resetMgr; // _44
|
||||
struct DvdStatus* m_dvdStatus; // _48
|
||||
struct JFWDisplay* m_display; // _4C
|
||||
struct HeapStatus* m_heapStatus; // _50
|
||||
float m_secondsPerFrame; // _54
|
||||
struct JKRTask* m_task; // _58
|
||||
struct MemoryCardMgr* m_cardMgr; // _5C
|
||||
struct PlayCommonData* m_playData; // _60
|
||||
float m_fpsFactor; // _64
|
||||
DvdThreadCommand m_threadCommand; // _68
|
||||
int m_region; // _D4
|
||||
u32 m_flags; // _D8
|
||||
struct JUTRomFont* m_romFont; // _DC
|
||||
f32 _00; // _00
|
||||
f32 _04; // _04
|
||||
f32 _08; // _08
|
||||
u8 _0C[0xC]; // _0C
|
||||
struct JKRHeap* _18; // _18
|
||||
u32 m_cpuRetraceCount; // _1C
|
||||
u32 m_cpuLockCount; // _20
|
||||
Graphics* m_gfx; // _24
|
||||
struct SysTimers* m_timers; // _28
|
||||
u32 _2C; // _2C
|
||||
u32 _30; // _30
|
||||
u32 _34; // _34
|
||||
struct JKRHeap* m_sysHeap; // _38
|
||||
struct GameFlow* m_gameFlow; // _3C
|
||||
struct DvdThread* m_dvdThread; // _40
|
||||
struct ResetManager* m_resetMgr; // _44
|
||||
struct DvdStatus* m_dvdStatus; // _48
|
||||
struct JFWDisplay* m_display; // _4C
|
||||
struct HeapStatus* m_heapStatus; // _50
|
||||
float m_secondsPerFrame; // _54
|
||||
struct JKRTask* m_task; // _58
|
||||
struct MemoryCardMgr* m_cardMgr; // _5C
|
||||
struct Game::CommonSaveData::Mgr* m_playData; // _60
|
||||
float m_fpsFactor; // _64
|
||||
DvdThreadCommand m_threadCommand; // _68
|
||||
int m_region; // _D4
|
||||
u32 m_flags; // _D8
|
||||
struct JUTRomFont* m_romFont; // _DC
|
||||
};
|
||||
|
||||
extern System* const sys;
|
||||
|
@ -8,6 +8,12 @@
|
||||
template <typename T> struct Vector3 {
|
||||
T x, y, z;
|
||||
inline Vector3() {};
|
||||
inline Vector3(T x, T y, T z)
|
||||
{
|
||||
this->x = x;
|
||||
this->y = y;
|
||||
this->z = z;
|
||||
}
|
||||
inline Vector3(const Vector3<T>& other)
|
||||
{
|
||||
x = other.x;
|
||||
@ -15,7 +21,7 @@ template <typename T> struct Vector3 {
|
||||
z = other.z;
|
||||
}
|
||||
|
||||
inline Vector3& operator=(Vector3& other)
|
||||
inline Vector3& operator=(const Vector3& other)
|
||||
{
|
||||
x = other.x;
|
||||
y = other.y;
|
||||
|
116
include/ebi/E2DCallBack.h
Normal file
116
include/ebi/E2DCallBack.h
Normal file
@ -0,0 +1,116 @@
|
||||
#ifndef _EBI_E2DCALLBACK_H
|
||||
#define _EBI_E2DCALLBACK_H
|
||||
|
||||
#include "ebi/E2DFullFontColor.h"
|
||||
#include "JSystem/J2D/J2DGrafContext.h"
|
||||
#include "JSystem/J3D/J3DAnmBase.h"
|
||||
#include "JSystem/J3D/J3DFrameCtrl.h"
|
||||
#include "JSystem/JGeometry.h"
|
||||
#include "og/Screen/ScaleMgr.h"
|
||||
#include "P2DScreen.h"
|
||||
#include "types.h"
|
||||
|
||||
namespace ebi {
|
||||
struct E2DCallBack_Base : public P2DScreen::CallBackNode {
|
||||
inline E2DCallBack_Base()
|
||||
: _1C(1)
|
||||
{
|
||||
}
|
||||
virtual ~E2DCallBack_Base(); // _00
|
||||
virtual void update(); // _08
|
||||
virtual void draw(Graphics&, J2DGrafContext&); // _0C
|
||||
virtual void do_update(); // _14
|
||||
virtual void do_draw(Graphics&, J2DGrafContext&); // _18
|
||||
|
||||
u8 _1C; // _1C
|
||||
};
|
||||
|
||||
// Size: 0x3C
|
||||
struct E2DCallBack_AnmBase : public E2DCallBack_Base {
|
||||
E2DCallBack_AnmBase();
|
||||
|
||||
virtual ~E2DCallBack_AnmBase(); // _00
|
||||
virtual void do_update(); // _14
|
||||
|
||||
void disconnect();
|
||||
float getPlayFinRate();
|
||||
bool isFinish();
|
||||
void loadAnm(char*, JKRArchive*, long, long);
|
||||
void play(float, J3DAnmAttr, bool);
|
||||
void playBack(float, bool);
|
||||
void setEndFrame();
|
||||
void setRandFrame();
|
||||
void setStartFrame();
|
||||
void stop();
|
||||
|
||||
J3DFrameCtrl m_frameCtrl; // _20
|
||||
J2DAnmBase* m_anm; // _34
|
||||
bool m_isFinish; // _38
|
||||
};
|
||||
|
||||
struct E2DCallBack_BlinkAlpha : public E2DCallBack_Base {
|
||||
virtual ~E2DCallBack_BlinkAlpha(); // _00
|
||||
virtual void do_update(); // _14
|
||||
|
||||
// TODO: _20 through _29 and BlinkFontColor's _40 through _49 are
|
||||
// suspiciously similar in usage....
|
||||
float _20; // _20
|
||||
float _24; // _24
|
||||
u8 _28; // _28
|
||||
u8 _29; // _29
|
||||
u32 : 0; // set alignment to next 4-byte boundary
|
||||
u8 _2C; // _2C
|
||||
u8 _2D; // _2D
|
||||
};
|
||||
|
||||
// Size: 0x4C
|
||||
struct E2DCallBack_BlinkFontColor : public E2DCallBack_Base {
|
||||
E2DCallBack_BlinkFontColor();
|
||||
|
||||
virtual ~E2DCallBack_BlinkFontColor(); // _00
|
||||
virtual void do_update(); // _14
|
||||
|
||||
void set(J2DTextBox*, J2DTextBox*);
|
||||
void set(E2DFullFontColor&, E2DFullFontColor&);
|
||||
|
||||
E2DFullFontColor _20[2]; // _20
|
||||
float _40; // _40
|
||||
float _44; // _44
|
||||
u8 _48; // _48
|
||||
u8 _49; // _49
|
||||
};
|
||||
|
||||
struct E2DCallBack_CalcAnimation : public E2DCallBack_Base {
|
||||
E2DCallBack_CalcAnimation();
|
||||
|
||||
virtual ~E2DCallBack_CalcAnimation(); // _00
|
||||
virtual void do_update(); // _14
|
||||
};
|
||||
|
||||
// Size: 0x40
|
||||
struct E2DCallBack_Purupuru : public E2DCallBack_Base {
|
||||
E2DCallBack_Purupuru();
|
||||
|
||||
virtual ~E2DCallBack_Purupuru(); // _00
|
||||
virtual void do_update(); // _14
|
||||
|
||||
og::Screen::ScaleMgr m_scaleMgr; // _20
|
||||
// TODO: Rename to `m_scale`
|
||||
float _3C; // _3C
|
||||
};
|
||||
|
||||
struct E2DCallBack_WindowCursor : public E2DCallBack_Base {
|
||||
virtual ~E2DCallBack_WindowCursor(); // _00
|
||||
virtual void do_update(); // _14
|
||||
|
||||
JGeometry::TBox2f _20; // _20
|
||||
JGeometry::TBox2f _30; // _30
|
||||
uint _40; // _40
|
||||
u32 _44; // _44
|
||||
og::Screen::ScaleMgr _48; // _48
|
||||
float _64; // _64
|
||||
J2DPane* _68; // _68
|
||||
};
|
||||
} // namespace ebi
|
||||
|
||||
#endif
|
18
include/ebi/E2DFullFontColor.h
Normal file
18
include/ebi/E2DFullFontColor.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef _EBI_E2DFULLFONTCOLOR_H
|
||||
#define _EBI_E2DFULLFONTCOLOR_H
|
||||
|
||||
#include "JSystem/JUtility.h"
|
||||
|
||||
namespace ebi {
|
||||
// @size{0x10}
|
||||
struct E2DFullFontColor {
|
||||
E2DFullFontColor();
|
||||
|
||||
JUtility::TColor _00; // _00
|
||||
JUtility::TColor _04; // _04
|
||||
JUtility::TColor m_white; // _08
|
||||
JUtility::TColor m_black; // _0C
|
||||
};
|
||||
} // namespace ebi
|
||||
|
||||
#endif
|
31
include/ebi/E2DGraph.h
Normal file
31
include/ebi/E2DGraph.h
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef _EBI_E2DGRAPH_H
|
||||
#define _EBI_E2DGRAPH_H
|
||||
|
||||
struct J2DGrafContext;
|
||||
struct J2DPane;
|
||||
struct J2DScreen;
|
||||
|
||||
namespace P2DScreen {
|
||||
struct Mgr;
|
||||
}
|
||||
|
||||
namespace ebi {
|
||||
struct E2DDebugWindow {
|
||||
void draw(void);
|
||||
};
|
||||
|
||||
struct E2DFader {
|
||||
static const float kFadeTime;
|
||||
};
|
||||
|
||||
void E2DPane_getCalcGlbVisible(J2DPane*);
|
||||
void E2DPane_getGlbCenter(J2DPane*);
|
||||
void E2DPane_setTreeCallBackMessage(P2DScreen::Mgr*, J2DPane*);
|
||||
void E2DPane_setTreeInfluencedAlpha(J2DPane*, bool);
|
||||
void E2DPane_setTreeShow(J2DPane*);
|
||||
void E2DPane_setTreeHide(J2DPane*);
|
||||
J2DPane* E2DScreen_searchAssert(J2DScreen*, unsigned long long);
|
||||
void EUTDrawWindow(J2DGrafContext&, long, long, long, long);
|
||||
} // namespace ebi
|
||||
|
||||
#endif
|
@ -57,11 +57,11 @@ namespace Screen {
|
||||
virtual void doDraw(); // _3C
|
||||
virtual char* getName(); // _40
|
||||
|
||||
void hidePanes() const;
|
||||
void openFromCardE() const;
|
||||
void openFromMovie() const;
|
||||
void hidePanes_() const;
|
||||
void openFromCardE_() const;
|
||||
void openFromMovie_() const;
|
||||
void setController(Controller*);
|
||||
void showPanes() const;
|
||||
void showPanes_() const;
|
||||
|
||||
// TODO: Data members.
|
||||
u8 _0C[0x454];
|
||||
@ -142,12 +142,16 @@ namespace Omake {
|
||||
};
|
||||
|
||||
struct TMgr {
|
||||
TMgr();
|
||||
|
||||
void draw();
|
||||
void forceQuit();
|
||||
int getMovieID();
|
||||
int getStateID();
|
||||
void goEnd() const;
|
||||
void goEnd_();
|
||||
bool isFinish();
|
||||
bool isMovieState();
|
||||
bool isTouchAnyKey_();
|
||||
void loadResource();
|
||||
void newCardEMgrAndTask();
|
||||
void restartFromMovieState();
|
||||
|
@ -1,9 +1,12 @@
|
||||
#ifndef _EBI_OPTION_H
|
||||
#define _EBI_OPTION_H
|
||||
|
||||
#include "types.h"
|
||||
#include "ebi/E2DCallBack.h"
|
||||
#include "ebi/Screen/TScreenBase.h"
|
||||
#include "ebi/Utility.h"
|
||||
#include "Game/StateMachine.h"
|
||||
#include "P2DScreen.h"
|
||||
#include "types.h"
|
||||
|
||||
struct Controller;
|
||||
|
||||
@ -20,21 +23,26 @@ namespace Save {
|
||||
* FSM template specializations
|
||||
*/
|
||||
namespace Game {
|
||||
template <> struct FSMState<ebi::Option::TMgr> {
|
||||
virtual void init(ebi::Option::TMgr*, StateArg*); // _00
|
||||
virtual void exec(ebi::Option::TMgr*); // _04
|
||||
virtual void cleanup(ebi::Option::TMgr*); // _08
|
||||
virtual void resume(ebi::Option::TMgr*); // _0C
|
||||
virtual void restart(ebi::Option::TMgr*); // _10
|
||||
virtual void transit(ebi::Option::TMgr*, StateArg*); // _14
|
||||
};
|
||||
// template <> struct FSMState<ebi::Option::TMgr> {
|
||||
// inline FSMState(int id)
|
||||
// : m_id(id) {};
|
||||
// virtual void init(ebi::Option::TMgr*, StateArg*); // _00
|
||||
// virtual void exec(ebi::Option::TMgr*); // _04
|
||||
// virtual void cleanup(ebi::Option::TMgr*); // _08
|
||||
// virtual void resume(ebi::Option::TMgr*); // _0C
|
||||
// virtual void restart(ebi::Option::TMgr*); // _10
|
||||
// virtual void transit(ebi::Option::TMgr*, StateArg*); // _14
|
||||
// };
|
||||
|
||||
template <> struct StateMachine<ebi::Option::TMgr> {
|
||||
virtual void init(ebi::Option::TMgr*); // _00
|
||||
virtual u32 start(ebi::Option::TMgr*, int, StateArg*); // _04
|
||||
virtual void exec(ebi::Option::TMgr*); // _08
|
||||
virtual void transit(ebi::Option::TMgr*, int, StateArg*); // _0C
|
||||
};
|
||||
// SPECIALIZED_STATE_MACHINE_DECL(ebi::Option::TMgr);
|
||||
// // template <> struct StateMachine<ebi::Option::TMgr> {
|
||||
// // virtual void init(ebi::Option::TMgr*); // _00
|
||||
// // virtual u32 start(ebi::Option::TMgr*, int, StateArg*); // _04
|
||||
// // virtual void exec(ebi::Option::TMgr*); // _08
|
||||
// // virtual void transit(ebi::Option::TMgr*, int, StateArg*); // _0C
|
||||
|
||||
// // // void create(int);
|
||||
// // };
|
||||
} // namespace Game
|
||||
|
||||
namespace ebi {
|
||||
@ -47,12 +55,12 @@ namespace Screen {
|
||||
void loadRam();
|
||||
void saveRam();
|
||||
|
||||
u8 _00; // _00
|
||||
u8 _01; // _01
|
||||
long _04; // _04
|
||||
long _08; // _08
|
||||
long _0C; // _0C
|
||||
u8 _10; // _10
|
||||
bool _00; // _00
|
||||
bool _01; // _01
|
||||
long m_soundMode; // _04
|
||||
long m_bgmVolume; // _08
|
||||
long m_seVolume; // _0C
|
||||
bool m_isDeflicker; // _10
|
||||
};
|
||||
|
||||
struct TOption : public TScreenBase {
|
||||
@ -69,13 +77,67 @@ namespace Screen {
|
||||
virtual void doDraw(); // _3C
|
||||
virtual char* getName(); // _40
|
||||
|
||||
void initScreen() const;
|
||||
void setOptionParamToScreen() const;
|
||||
void initScreen_() const;
|
||||
void setOptionParamToScreen_();
|
||||
void loadResource();
|
||||
void setController(Controller*);
|
||||
|
||||
// TODO: Data members.
|
||||
u8 _0C[0xF0C];
|
||||
Controller* m_controller; // _00C
|
||||
u8 _010; // _010
|
||||
EUTPadInterface_countNum m_padInterfaces[4]; // _014
|
||||
int _0C4; // _0C4
|
||||
TOptionParameter _0C8; // _0C8
|
||||
TOptionParameter _0DC; // _0DC
|
||||
u8 _0F0; // _0F0
|
||||
u8 _0F1; // _0F1
|
||||
u8 _0F2; // _0F2
|
||||
u8 _0F3; // _0F3
|
||||
u8 _0F4; // _0F4
|
||||
int _0F8; // _0F8
|
||||
ulong _0FC; // _0FC
|
||||
ulong _100; // _100
|
||||
long _104; // _104
|
||||
int _108; // _108
|
||||
P2DScreen::Mgr_tuning* _10C; // _10C
|
||||
J2DTextBox* _110; // _110
|
||||
J2DTextBox* _114; // _114
|
||||
J2DTextBox* _118; // _118
|
||||
J2DTextBox* _11C; // _11C
|
||||
J2DTextBox* _120; // _120
|
||||
J2DTextBox* _124; // _124
|
||||
J2DTextBox* _128; // _128
|
||||
J2DPane* _12C[10]; // _12C
|
||||
J2DPane* _154[10]; // _154
|
||||
J2DPane* _17C; // _17C
|
||||
J2DPane* _180[10]; // _180
|
||||
J2DPane* _1A8; // _1A8
|
||||
J2DPane* _1AC; // _1AC
|
||||
J2DPane* _1B0; // _1B0
|
||||
J2DPane* _1B4; // _1B4
|
||||
J2DPane* _1B8; // _1B8
|
||||
J2DPane* _1BC; // _1BC
|
||||
J2DPane* _1C0; // _1C0
|
||||
E2DFullFontColor _1C4; // _1C4
|
||||
E2DFullFontColor _1D4; // _1D4
|
||||
// JUtility::TColor _1C4; // _1C4
|
||||
// JUtility::TColor _1C8; // _1C8
|
||||
// JUtility::TColor m_white1; // _1CC
|
||||
// JUtility::TColor m_black1; // _1D0
|
||||
// JUtility::TColor _1D4; // _1D4
|
||||
// JUtility::TColor _1D8; // _1D8
|
||||
// JUtility::TColor m_white2; // _1DC
|
||||
// JUtility::TColor m_black2; // _1E0
|
||||
E2DCallBack_AnmBase _1E4; // _1E4
|
||||
E2DCallBack_CalcAnimation _220; // _220
|
||||
E2DCallBack_BlinkFontColor _240; // _240
|
||||
E2DCallBack_BlinkAlpha _28C; // _28C
|
||||
E2DCallBack_BlinkAlpha _2BC; // _2BC
|
||||
E2DCallBack_Purupuru _2EC[7]; // _2EC
|
||||
E2DCallBack_Purupuru _4AC[10]; // _4AC
|
||||
E2DCallBack_Purupuru _72C[10]; // _72C
|
||||
E2DCallBack_Purupuru _9AC[10]; // _9AC
|
||||
E2DCallBack_Purupuru _C2C[10]; // _C2C
|
||||
E2DCallBack_WindowCursor _EAC[10]; // __EAC
|
||||
};
|
||||
} // namespace Screen
|
||||
|
||||
@ -83,47 +145,85 @@ namespace Screen {
|
||||
* ebi::Option::*
|
||||
*/
|
||||
namespace Option {
|
||||
enum StateID {
|
||||
Standby = 0,
|
||||
LoadOption,
|
||||
ScreenOpen,
|
||||
ScreenWait,
|
||||
ScreenClose,
|
||||
SaveMgr,
|
||||
WaitCloseForNoCard,
|
||||
WorldMapInfoWindow,
|
||||
_FORCE_UINT = 0xFFFFFFFF
|
||||
};
|
||||
// TODO: Additional state data members, if any.
|
||||
struct FSMState : public Game::FSMState<TMgr> {
|
||||
inline FSMState(int id, const char* name)
|
||||
: Game::FSMState<TMgr>(id)
|
||||
, m_name(name) {};
|
||||
|
||||
virtual void init(TMgr*, Game::StateArg*); // _00
|
||||
virtual void exec(TMgr*); // _04
|
||||
virtual void do_exec(TMgr*); // _18
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _1C
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _18
|
||||
virtual void do_exec(TMgr*); // _1C
|
||||
|
||||
const char* m_name; // _0C
|
||||
};
|
||||
|
||||
struct FSMState_LoadOption : public FSMState {
|
||||
virtual void do_exec(TMgr*); // _18
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _1C
|
||||
struct FSMState_LoadOption : public ebi::Option::FSMState {
|
||||
inline FSMState_LoadOption(int id, const char* name)
|
||||
: FSMState(id, name) {};
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _18
|
||||
virtual void do_exec(TMgr*); // _1C
|
||||
|
||||
u32 _10;
|
||||
};
|
||||
|
||||
struct FSMState_SaveMgr : public FSMState {
|
||||
virtual void do_exec(TMgr*); // _18
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _1C
|
||||
inline FSMState_SaveMgr(int id, const char* name)
|
||||
: FSMState(id, name) {};
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _18
|
||||
virtual void do_exec(TMgr*); // _1C
|
||||
};
|
||||
|
||||
struct FSMState_ScreenClose : public FSMState {
|
||||
virtual void do_exec(TMgr*); // _18
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _1C
|
||||
inline FSMState_ScreenClose(int id, const char* name)
|
||||
: FSMState(id, name) {};
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _18
|
||||
virtual void do_exec(TMgr*); // _1C
|
||||
};
|
||||
|
||||
struct FSMState_ScreenOpen : public FSMState {
|
||||
virtual void do_exec(TMgr*); // _18
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _1C
|
||||
inline FSMState_ScreenOpen(int id, const char* name)
|
||||
: FSMState(id, name) {};
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _18
|
||||
virtual void do_exec(TMgr*); // _1C
|
||||
};
|
||||
|
||||
struct FSMState_ScreenWait : public FSMState {
|
||||
virtual void do_exec(TMgr*); // _18
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _1C
|
||||
inline FSMState_ScreenWait(int id, const char* name)
|
||||
: FSMState(id, name) {};
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _18
|
||||
virtual void do_exec(TMgr*); // _1C
|
||||
};
|
||||
|
||||
struct FSMState_WaitCloseForNoCard : public FSMState {
|
||||
virtual void do_exec(TMgr*); // _18
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _1C
|
||||
inline FSMState_WaitCloseForNoCard(int id, const char* name)
|
||||
: FSMState(id, name)
|
||||
, _10(0)
|
||||
, _14(0) {};
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _18
|
||||
virtual void do_exec(TMgr*); // _1C
|
||||
|
||||
u32 _10; // _10
|
||||
u32 _14; // _14
|
||||
};
|
||||
|
||||
struct FSMState_WorldMapInfoWindow : public FSMState {
|
||||
virtual void do_exec(TMgr*); // _18
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _1C
|
||||
inline FSMState_WorldMapInfoWindow(int id, const char* name)
|
||||
: FSMState(id, name) {};
|
||||
virtual void do_init(TMgr*, Game::StateArg*); // _18
|
||||
virtual void do_exec(TMgr*); // _1C
|
||||
};
|
||||
|
||||
struct FSMStateMachine : public Game::StateMachine<TMgr> {
|
||||
@ -137,18 +237,22 @@ namespace Option {
|
||||
|
||||
void draw();
|
||||
int getStateID();
|
||||
void goEnd() const;
|
||||
void goEnd_();
|
||||
bool isFinish();
|
||||
void loadResource();
|
||||
void setController(Controller*);
|
||||
void start();
|
||||
void update();
|
||||
|
||||
void forceQuit();
|
||||
void showInfo();
|
||||
|
||||
Screen::TOption m_optionScreen; // _000
|
||||
ebi::Save::TMgr* m_saveTMgr; // _F18
|
||||
ebi::Save::TMgr* m_saveMgr; // _F18
|
||||
Controller* m_controller; // _F1C
|
||||
u8 _F20; // _F20
|
||||
FSMStateMachine m_stateMachine; // _F24
|
||||
u8 _F28; // _F28
|
||||
};
|
||||
} // namespace Option
|
||||
} // namespace ebi
|
||||
|
@ -21,7 +21,22 @@ namespace Screen {
|
||||
virtual char* getName(void) { return "ArgClose"; }
|
||||
};
|
||||
|
||||
struct TScreenBase {
|
||||
struct TScreenBaseInterface {
|
||||
virtual void setArchive(JKRArchive*) = 0; // _00
|
||||
virtual bool openScreen(ArgOpen*) = 0; // _04
|
||||
virtual bool closeScreen(ArgClose*) = 0; // _08
|
||||
virtual void killScreen() = 0; // _0C
|
||||
virtual void update() = 0; // _10
|
||||
virtual void draw() = 0; // _14
|
||||
virtual u8 isFinishScreen() = 0; // _18
|
||||
};
|
||||
|
||||
struct TScreenBase : public TScreenBaseInterface {
|
||||
inline TScreenBase()
|
||||
: m_archive(nullptr)
|
||||
, m_state(0)
|
||||
{
|
||||
}
|
||||
virtual void setArchive(JKRArchive*); // _00
|
||||
virtual bool openScreen(ArgOpen*); // _04
|
||||
virtual bool closeScreen(ArgClose*); // _08
|
||||
|
46
include/ebi/Utility.h
Normal file
46
include/ebi/Utility.h
Normal file
@ -0,0 +1,46 @@
|
||||
#ifndef _EBI_UTILITY_H
|
||||
#define _EBI_UTILITY_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct Controller;
|
||||
|
||||
namespace JUtility {
|
||||
struct TColor;
|
||||
}
|
||||
|
||||
namespace ebi {
|
||||
struct EUTPadInterface_countNum {
|
||||
enum enumMode {
|
||||
MODE_UNKNOWN_0 = 0,
|
||||
MODE_UNKNOWN_1,
|
||||
MODE_UNKNOWN_2,
|
||||
MODE_UNKNOWN_3,
|
||||
};
|
||||
|
||||
void init(Controller*, long, long, long*, enumMode, float, float);
|
||||
void update();
|
||||
|
||||
Controller* m_controller; // _00
|
||||
u32 _04; // _04
|
||||
u32 _08; // _08
|
||||
u8 _0C; // _0C
|
||||
u8 _0D; // _0D
|
||||
long _10; // _10
|
||||
long _14; // _14
|
||||
long* _18; // _18
|
||||
long _1C; // _1C
|
||||
float _20; // _20
|
||||
float _24; // _24
|
||||
enumMode m_mode; // _28
|
||||
};
|
||||
|
||||
void EUTColor_complement(JUtility::TColor&, JUtility::TColor&, float, float,
|
||||
JUtility::TColor*);
|
||||
void EUTDebug_Wait();
|
||||
void EUTDebug_Tag32ToName(ulong, char*);
|
||||
void EUTDebug_Tag64ToName(ulonglong, char*);
|
||||
|
||||
} // namespace ebi
|
||||
|
||||
#endif
|
@ -15,7 +15,7 @@ namespace Screen {
|
||||
DONT_USE_2 = 0xFFFFFFFF
|
||||
};
|
||||
|
||||
~ScaleMgr() { }
|
||||
~ScaleMgr(); // { }
|
||||
ScaleMgr();
|
||||
void up();
|
||||
void down();
|
||||
|
@ -22,10 +22,16 @@ namespace Screen {
|
||||
|
||||
// Size: 0x44
|
||||
struct CallBack_CatchPiki : public P2DScreen::CallBackNode {
|
||||
CallBack_CatchPiki();
|
||||
|
||||
virtual ~CallBack_CatchPiki(); // _00
|
||||
virtual void update(); // _08
|
||||
virtual void _14(); // _14
|
||||
|
||||
// TODO: Could init have been virtual, but not inserted into vtable?
|
||||
void init(J2DScreen*, ulonglong, ulong*, JKRArchive*);
|
||||
void setPikiIcon(int);
|
||||
|
||||
ulong* _1C; // _1C
|
||||
J2DPicture* _20; // _20
|
||||
ulong _24; // _24
|
||||
@ -38,6 +44,8 @@ namespace Screen {
|
||||
_ECM_FORCE_UINT = 0xFFFFFFFF
|
||||
};
|
||||
|
||||
CallBack_CounterRV(char**, ushort, ushort, JKRArchive*);
|
||||
|
||||
virtual ~CallBack_CounterRV(); // _00
|
||||
virtual void update(); // _08
|
||||
virtual void draw(Graphics&, J2DGrafContext&); // _0C
|
||||
@ -55,7 +63,9 @@ namespace Screen {
|
||||
void setKetaSub(int, bool, bool);
|
||||
void setPuyoAnim(bool);
|
||||
void setPuyoAnimZero(bool);
|
||||
void setZeroAlpha(bool);
|
||||
void setRandMode(bool);
|
||||
void setValPtr(ulong*);
|
||||
void setZeroAlpha(uchar);
|
||||
void startPuyoUp(float);
|
||||
|
||||
char** m_characterTexturePaths; // _1C
|
||||
@ -107,6 +117,8 @@ namespace Screen {
|
||||
};
|
||||
|
||||
struct CallBack_CounterDay : public CallBack_CounterRV {
|
||||
CallBack_CounterDay(char**, ushort, JKRArchive*);
|
||||
|
||||
virtual ~CallBack_CounterDay(); // _00
|
||||
virtual void update(); // _08
|
||||
virtual void init(J2DScreen*, ulonglong, ulonglong, ulonglong, ulong*,
|
||||
@ -120,6 +132,8 @@ namespace Screen {
|
||||
|
||||
// Size: 0xCC
|
||||
struct CallBack_CounterSlot : public CallBack_CounterRV {
|
||||
CallBack_CounterSlot(char**, ushort, ushort, JKRArchive*);
|
||||
|
||||
virtual ~CallBack_CounterSlot(); // _00
|
||||
virtual void update(); // _08
|
||||
virtual void init(J2DScreen*, ulonglong, ulonglong, ulonglong, ulong*,
|
||||
@ -147,6 +161,8 @@ namespace Screen {
|
||||
|
||||
// Size: 0x28
|
||||
struct CallBack_DrawAfter : public P2DScreen::CallBackNode {
|
||||
CallBack_DrawAfter(P2DScreen::Mgr*, ulonglong);
|
||||
|
||||
virtual ~CallBack_DrawAfter(); // _00
|
||||
virtual void update(); // _08
|
||||
virtual void draw(Graphics&, J2DGrafContext&); // _0C
|
||||
@ -159,11 +175,18 @@ namespace Screen {
|
||||
|
||||
// Size: 0x4C
|
||||
struct CallBack_Furiko : public P2DScreen::CallBackNode {
|
||||
CallBack_Furiko();
|
||||
|
||||
virtual ~CallBack_Furiko(); // _00
|
||||
virtual void update(); // _08
|
||||
virtual void draw(Graphics&, J2DGrafContext&); // _0C
|
||||
virtual void _14(); // _14
|
||||
|
||||
// TODO: Could init have been virtual, but not inserted into vtable?
|
||||
void init(J2DPane*, float, float, float);
|
||||
void setParam(float, float, float);
|
||||
void stop();
|
||||
|
||||
J2DPane* _1C; // _1C
|
||||
u8 _20; // _20
|
||||
u8 _21; // _21
|
||||
@ -182,10 +205,17 @@ namespace Screen {
|
||||
struct CallBack_LifeGauge : public P2DScreen::CallBackNode {
|
||||
enum LifeGaugeType { _LGT_FORCE_UINT = 0xFFFFFFFF };
|
||||
|
||||
CallBack_LifeGauge();
|
||||
|
||||
virtual ~CallBack_LifeGauge(); // _00
|
||||
virtual void update(); // _08
|
||||
virtual void draw(Graphics&, J2DGrafContext&); // _0C
|
||||
|
||||
void init(P2DScreen::Mgr*, DataNavi*, LifeGaugeType);
|
||||
void moveIcon();
|
||||
void setType(LifeGaugeType);
|
||||
void setOffset(float, float);
|
||||
|
||||
DataNavi* m_data; // _1C
|
||||
float m_naviLifeRatioMaybe; // _20
|
||||
float m_widthOrRadiusMaybe; // _24
|
||||
@ -243,6 +273,9 @@ namespace Screen {
|
||||
virtual void draw(Graphics&, J2DGrafContext&); // _0C
|
||||
virtual void _14(); // _14
|
||||
|
||||
void changeScreen(P2DScreen::Mgr*, ulonglong);
|
||||
J2DScreen* getPartsScreen();
|
||||
|
||||
J2DScreen* m_partsScreen; // _1C
|
||||
J2DPane* _20; // _20
|
||||
J2DTextBox* _24; // _24
|
||||
@ -262,10 +295,16 @@ namespace Screen {
|
||||
};
|
||||
|
||||
struct CallBack_SunMeter : public P2DScreen::CallBackNode {
|
||||
CallBack_SunMeter();
|
||||
|
||||
virtual ~CallBack_SunMeter(); // _00
|
||||
virtual void update(); // _08
|
||||
virtual void _14(); // _14
|
||||
|
||||
// TODO: Could init have been virtual, but not inserted into vtable?
|
||||
void init(J2DScreen*, float*);
|
||||
void startEffectChime();
|
||||
|
||||
float _1C; // _1C
|
||||
u8 _20[4]; // _20
|
||||
J2DPane* _24; // _24
|
||||
|
15
include/og/newScreen/ogUtil.h
Normal file
15
include/og/newScreen/ogUtil.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef _OG_NEWSCREEN_OGUTIL_H
|
||||
#define _OG_NEWSCREEN_OGUTIL_H
|
||||
|
||||
struct Graphics;
|
||||
|
||||
namespace og {
|
||||
namespace newScreen {
|
||||
bool checkMovieActive();
|
||||
void drawObjName(Graphics&, char*);
|
||||
void getLanguageDir(char*&);
|
||||
void makeLanguageResName(char*, char const*);
|
||||
} // namespace newScreen
|
||||
} // namespace og
|
||||
|
||||
#endif
|
@ -165,7 +165,7 @@ JSYSTEM:=\
|
||||
$(BUILD_DIR)/asm/JSystem/JPA/JPAResource.o\
|
||||
$(BUILD_DIR)/asm/JSystem/JPA/JPAResourceLoader.o\
|
||||
$(BUILD_DIR)/asm/JSystem/JPA/JPAResourceManager.o\
|
||||
$(BUILD_DIR)/asm/JSystem/JPA/JPATexture.o\
|
||||
$(BUILD_DIR)/src/JSystem/JPA/JPATexture.o\
|
||||
$(BUILD_DIR)/asm/JSystem/JSG/JSGSystem.o\
|
||||
$(BUILD_DIR)/asm/JSystem/JSG/JSGCamera.o\
|
||||
$(BUILD_DIR)/asm/JSystem/JSG/JSGObject.o\
|
||||
@ -605,7 +605,7 @@ KANDO:=\
|
||||
$(BUILD_DIR)/asm/plugProjectKandoU/aiBore.o\
|
||||
$(BUILD_DIR)/asm/plugProjectKandoU/mapPartsView.o\
|
||||
$(BUILD_DIR)/asm/plugProjectKandoU/singleGS_Ending.o\
|
||||
$(BUILD_DIR)/asm/plugProjectKandoU/gameIconTexture.o\
|
||||
$(BUILD_DIR)/src/plugProjectKandoU/gameIconTexture.o\
|
||||
$(BUILD_DIR)/asm/plugProjectKandoU/gameTekiStat.o\
|
||||
$(BUILD_DIR)/src/plugProjectKandoU/gameHighscore.o\
|
||||
$(BUILD_DIR)/asm/plugProjectKandoU/gamePlayCommonData.o\
|
||||
|
@ -1,11 +1,11 @@
|
||||
|
||||
#include "Dolphin/runtime.h"
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
* Address: 800C1B4C
|
||||
* Size: 00005C
|
||||
*/
|
||||
void __cvt_fp2unsigned(void)
|
||||
unsigned long __cvt_fp2unsigned(double)
|
||||
{
|
||||
/*
|
||||
.loc_0x0:
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "JSystem/J2D/J2DAnm.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
@ -930,7 +931,7 @@ lbl_8005B928:
|
||||
* Address: 8005B944
|
||||
* Size: 000238
|
||||
*/
|
||||
void J2DAnmColorFull::getColor(unsigned short, _GXColor*) const
|
||||
void J2DAnmColorFull::getColor(unsigned short, GXColor*) const
|
||||
{
|
||||
/*
|
||||
lwz r6, 0x40(r3)
|
||||
@ -1107,7 +1108,7 @@ lbl_8005BB74:
|
||||
* Address: 8005BB7C
|
||||
* Size: 0002CC
|
||||
*/
|
||||
void J2DAnmColorKey::getColor(unsigned short, _GXColor*) const
|
||||
void J2DAnmColorKey::getColor(unsigned short, GXColor*) const
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x40(r1)
|
||||
@ -1345,8 +1346,8 @@ lbl_8005BE24:
|
||||
* Address: 8005BE48
|
||||
* Size: 000240
|
||||
*/
|
||||
void J2DAnmVtxColorFull::getColor(unsigned char, unsigned short,
|
||||
_GXColor*) const
|
||||
void J2DAnmVtxColorFull::getColor(uchar, ushort,
|
||||
GXColor*) const
|
||||
{
|
||||
/*
|
||||
.loc_0x0:
|
||||
@ -1526,7 +1527,7 @@ void J2DAnmVtxColorFull::getColor(unsigned char, unsigned short,
|
||||
* Address: 8005C088
|
||||
* Size: 0002F4
|
||||
*/
|
||||
void J2DAnmVtxColorKey::getColor(unsigned char, unsigned short, _GXColor*) const
|
||||
void J2DAnmVtxColorKey::getColor(uchar, ushort, GXColor*) const
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x40(r1)
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "JSystem/J2D/J2DAnm.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
@ -65,7 +66,7 @@
|
||||
* Address: 8004791C
|
||||
* Size: 00079C
|
||||
*/
|
||||
void J2DAnmLoaderDataBase::load(const void*)
|
||||
J2DAnmBase* J2DAnmLoaderDataBase::load(const void*)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x60(r1)
|
||||
|
@ -1,3 +1,7 @@
|
||||
#include "Dolphin/gx.h"
|
||||
#include "JSystem/J2D/ind.h"
|
||||
#include "JSystem/J2D/J2DAnm.h"
|
||||
#include "JSystem/J2D/J2DMaterial.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
@ -408,7 +412,7 @@ lbl_800522B8:
|
||||
* Address: 800522CC
|
||||
* Size: 0001B4
|
||||
*/
|
||||
void J2DMaterial::createTevBlock(int, bool)
|
||||
J2DTevBlock* J2DMaterial::createTevBlock(int, bool)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -568,7 +572,7 @@ lbl_80052470:
|
||||
* Address: 80052480
|
||||
* Size: 0001D8
|
||||
*/
|
||||
void J2DMaterial::createIndBlock(int, bool)
|
||||
J2DIndBlock* J2DMaterial::createIndBlock(int, bool)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -1688,7 +1692,7 @@ lbl_8005323C:
|
||||
* Address: 80053278
|
||||
* Size: 000004
|
||||
*/
|
||||
void J2DAnmColor::getColor(unsigned short, _GXColor*) const { }
|
||||
void J2DAnmColor::getColor(unsigned short, GXColor*) const { }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
@ -1702,7 +1706,7 @@ void J2DIndBlockNull::setGX() { }
|
||||
* Address: 80053280
|
||||
* Size: 00000C
|
||||
*/
|
||||
void J2DIndBlockNull::getType()
|
||||
uint J2DIndBlockNull::getType()
|
||||
{
|
||||
/*
|
||||
lis r3, 0x49424C4E@ha
|
||||
|
@ -597,14 +597,14 @@ J2DPane::J2DPane(J2DPane* parent, JSURandomInputStream* input, uchar version)
|
||||
input->read(&header, sizeof(J2DScrnBlockHeader));
|
||||
m_bloBlockType = header.m_bloBlockType;
|
||||
makePaneStream(parent, input);
|
||||
input->seek(position + header.m_blockLength, 0);
|
||||
input->seek(position + header.m_blockLength, SEEK_SET);
|
||||
} else {
|
||||
J2DScrnBlockHeader header;
|
||||
int position = input->getPosition();
|
||||
input->read(&header, sizeof(J2DScrnBlockHeader));
|
||||
m_bloBlockType = header.m_bloBlockType;
|
||||
makePaneExStream(parent, input);
|
||||
input->seek(position + header.m_blockLength, 0);
|
||||
input->seek(position + header.m_blockLength, SEEK_SET);
|
||||
}
|
||||
/*
|
||||
stwu r1, -0x30(r1)
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "JSystem/J2D/J2DPane.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
@ -178,7 +179,7 @@ J2DPicture::J2DPicture()
|
||||
JUtility::TColor::TColor()
|
||||
{
|
||||
// Generated from stw r0, 0x0(r3)
|
||||
_00 = -1;
|
||||
asU32 = -1;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -186,7 +187,7 @@ JUtility::TColor::TColor()
|
||||
* Address: 80039BA0
|
||||
* Size: 000004
|
||||
*/
|
||||
void JGeometry::TVec2<short>::TVec2() { }
|
||||
JGeometry::TVec2<short>::TVec2() { }
|
||||
|
||||
/*
|
||||
* --INFO--
|
||||
@ -769,7 +770,7 @@ lbl_8003A334:
|
||||
* Address: 8003A360
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::append(const ResTIMG*, float)
|
||||
bool J2DPicture::append(const ResTIMG*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -792,7 +793,7 @@ void J2DPicture::append(const ResTIMG*, float)
|
||||
* Address: 8003A390
|
||||
* Size: 000034
|
||||
*/
|
||||
void J2DPicture::insert(const ResTIMG*, unsigned char, float)
|
||||
bool J2DPicture::insert(const ResTIMG*, uchar, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -887,7 +888,7 @@ lbl_8003A480:
|
||||
* Address: 8003A4AC
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::append(const char*, float)
|
||||
bool J2DPicture::append(const char*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -910,7 +911,7 @@ void J2DPicture::append(const char*, float)
|
||||
* Address: 8003A4DC
|
||||
* Size: 000034
|
||||
*/
|
||||
void J2DPicture::insert(const char*, unsigned char, float)
|
||||
bool J2DPicture::insert(const char*, uchar, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -1005,7 +1006,7 @@ lbl_8003A5CC:
|
||||
* Address: 8003A5F8
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::append(JUTTexture*, float)
|
||||
bool J2DPicture::append(JUTTexture*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -1028,7 +1029,7 @@ void J2DPicture::append(JUTTexture*, float)
|
||||
* Address: 8003A628
|
||||
* Size: 0000EC
|
||||
*/
|
||||
J2DPicture::J2DPicture(unsigned long long, const JGeometry::TBox2<float>&)
|
||||
J2DPicture::J2DPicture(ulonglong, const JGeometry::TBox2f&)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -1746,7 +1747,7 @@ lbl_8003AF64:
|
||||
* Address: 8003AF7C
|
||||
* Size: 0000E0
|
||||
*/
|
||||
void J2DPicture::prepareTexture(unsigned char)
|
||||
void J2DPicture::prepareTexture(uchar)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -1827,7 +1828,7 @@ lbl_8003B03C:
|
||||
* Address: 8003B05C
|
||||
* Size: 00032C
|
||||
*/
|
||||
void J2DPicture::insert(const ResTIMG*, JUTPalette*, unsigned char, float)
|
||||
bool J2DPicture::insert(const ResTIMG*, JUTPalette*, uchar, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x60(r1)
|
||||
@ -2077,7 +2078,7 @@ lbl_8003B36C:
|
||||
* Address: 8003B388
|
||||
* Size: 000078
|
||||
*/
|
||||
void J2DPicture::insert(const char*, JUTPalette*, unsigned char, float)
|
||||
bool J2DPicture::insert(const char*, JUTPalette*, uchar, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -2118,7 +2119,7 @@ void J2DPicture::insert(const char*, JUTPalette*, unsigned char, float)
|
||||
* Address: 8003B400
|
||||
* Size: 0001D8
|
||||
*/
|
||||
void J2DPicture::insert(JUTTexture*, unsigned char, float)
|
||||
bool J2DPicture::insert(JUTTexture*, uchar, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x50(r1)
|
||||
@ -2261,7 +2262,7 @@ lbl_8003B5B4:
|
||||
* Address: 8003B5D8
|
||||
* Size: 000130
|
||||
*/
|
||||
void J2DPicture::remove(unsigned char)
|
||||
int J2DPicture::remove(uchar)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -2360,7 +2361,7 @@ lbl_8003B6E8:
|
||||
* Address: 8003B708
|
||||
* Size: 000060
|
||||
*/
|
||||
void J2DPicture::remove(JUTTexture*)
|
||||
int J2DPicture::remove(JUTTexture*)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -2401,7 +2402,7 @@ lbl_8003B744:
|
||||
* Address: 8003B768
|
||||
* Size: 0000E8
|
||||
*/
|
||||
void J2DPicture::changeTexture(const ResTIMG*, unsigned char)
|
||||
ResTIMG* J2DPicture::changeTexture(const ResTIMG*, uchar)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -2480,7 +2481,7 @@ lbl_8003B83C:
|
||||
* Address: 8003B850
|
||||
* Size: 000024
|
||||
*/
|
||||
void J2DPicture::getTexture(unsigned char) const
|
||||
JUTTexture* J2DPicture::getTexture(uchar) const
|
||||
{
|
||||
/*
|
||||
clrlwi r0, r4, 0x18
|
||||
@ -2502,7 +2503,7 @@ lbl_8003B86C:
|
||||
* Address: 8003B874
|
||||
* Size: 000058
|
||||
*/
|
||||
void J2DPicture::changeTexture(const char*, unsigned char)
|
||||
ResTIMG* J2DPicture::changeTexture(const char*, unsigned char)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -2535,7 +2536,7 @@ void J2DPicture::changeTexture(const char*, unsigned char)
|
||||
* Address: 8003B8CC
|
||||
* Size: 000108
|
||||
*/
|
||||
void J2DPicture::changeTexture(const ResTIMG*, unsigned char, JUTPalette*)
|
||||
ResTIMG* J2DPicture::changeTexture(const ResTIMG*, unsigned char, JUTPalette*)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -2622,7 +2623,7 @@ lbl_8003B9C0:
|
||||
* Address: 8003B9D4
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::append(const ResTIMG*, JUTPalette*, float)
|
||||
bool J2DPicture::append(const ResTIMG*, JUTPalette*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -2645,7 +2646,7 @@ void J2DPicture::append(const ResTIMG*, JUTPalette*, float)
|
||||
* Address: 8003BA04
|
||||
* Size: 000068
|
||||
*/
|
||||
void J2DPicture::changeTexture(const char*, unsigned char, JUTPalette*)
|
||||
ResTIMG* J2DPicture::changeTexture(const char*, unsigned char, JUTPalette*)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -3032,7 +3033,7 @@ void J2DPicture::load(unsigned char)
|
||||
* Address: 8003BEDC
|
||||
* Size: 00004C
|
||||
*/
|
||||
void J2DPicture::load(_GXTexMapID, unsigned char)
|
||||
void J2DPicture::load(GXTexMapID, uchar)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4538,7 +4539,7 @@ void J2DPicture::setTexCoord(JGeometry::TVec2<short>*, const JUTTexture*,
|
||||
* Address: 8003D1BC
|
||||
* Size: 000064
|
||||
*/
|
||||
void J2DPicture::isUsed(const ResTIMG*)
|
||||
bool J2DPicture::isUsed(const ResTIMG*)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4582,7 +4583,7 @@ lbl_8003D210:
|
||||
* Address: 8003D220
|
||||
* Size: 0000D0
|
||||
*/
|
||||
void J2DPicture::getUsableTlut(unsigned char)
|
||||
uchar J2DPicture::getUsableTlut(uchar)
|
||||
{
|
||||
/*
|
||||
lbz r6, 0x110(r3)
|
||||
@ -4692,7 +4693,7 @@ u32 J2DPicture::getTypeID() const { return 0x12; }
|
||||
* Address: 8003D32C
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::append(const char*, JUTPalette*, float)
|
||||
bool J2DPicture::append(const char*, JUTPalette*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4715,7 +4716,7 @@ void J2DPicture::append(const char*, JUTPalette*, float)
|
||||
* Address: 8003D35C
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::prepend(JUTTexture*, float)
|
||||
bool J2DPicture::prepend(JUTTexture*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4738,7 +4739,7 @@ void J2DPicture::prepend(JUTTexture*, float)
|
||||
* Address: 8003D38C
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::prepend(const char*, JUTPalette*, float)
|
||||
bool J2DPicture::prepend(const char*, JUTPalette*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4761,7 +4762,7 @@ void J2DPicture::prepend(const char*, JUTPalette*, float)
|
||||
* Address: 8003D3BC
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::prepend(const char*, float)
|
||||
bool J2DPicture::prepend(const char*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4784,7 +4785,7 @@ void J2DPicture::prepend(const char*, float)
|
||||
* Address: 8003D3EC
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::prepend(const ResTIMG*, JUTPalette*, float)
|
||||
bool J2DPicture::prepend(const ResTIMG*, JUTPalette*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4807,7 +4808,7 @@ void J2DPicture::prepend(const ResTIMG*, JUTPalette*, float)
|
||||
* Address: 8003D41C
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPicture::prepend(const ResTIMG*, float)
|
||||
bool J2DPicture::prepend(const ResTIMG*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4830,7 +4831,7 @@ void J2DPicture::prepend(const ResTIMG*, float)
|
||||
* Address: 8003D44C
|
||||
* Size: 000038
|
||||
*/
|
||||
void J2DPicture::remove()
|
||||
int J2DPicture::remove()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "JSystem/J2D/J2DPane.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
@ -172,7 +173,7 @@ J2DPictureEx::J2DPictureEx()
|
||||
* Address: 80054B38
|
||||
* Size: 00007C
|
||||
*/
|
||||
J2DPictureEx::J2DPictureEx(const ResTIMG*, unsigned long)
|
||||
J2DPictureEx::J2DPictureEx(const ResTIMG*, ulong)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -214,7 +215,7 @@ J2DPictureEx::J2DPictureEx(const ResTIMG*, unsigned long)
|
||||
* Address: 80054BB4
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPictureEx::append(const ResTIMG*, float)
|
||||
bool J2DPictureEx::append(const ResTIMG*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -237,7 +238,7 @@ void J2DPictureEx::append(const ResTIMG*, float)
|
||||
* Address: 80054BE4
|
||||
* Size: 000030
|
||||
*/
|
||||
void J2DPictureEx::append(const char*, float)
|
||||
bool J2DPictureEx::append(const char*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -565,8 +566,8 @@ J2DPictureEx::J2DPictureEx(J2DPane*, JSURandomInputStream*, unsigned long,
|
||||
* Address: 8005502C
|
||||
* Size: 000110
|
||||
*/
|
||||
J2DPictureEx::J2DPictureEx(unsigned long long, const JGeometry::TBox2<float>&,
|
||||
const ResTIMG*, unsigned long)
|
||||
J2DPictureEx::J2DPictureEx(ulonglong, const JGeometry::TBox2f&, const ResTIMG*,
|
||||
ulong)
|
||||
{
|
||||
/*
|
||||
.loc_0x0:
|
||||
@ -648,8 +649,8 @@ J2DPictureEx::J2DPictureEx(unsigned long long, const JGeometry::TBox2<float>&,
|
||||
* Address: 8005513C
|
||||
* Size: 000110
|
||||
*/
|
||||
J2DPictureEx::J2DPictureEx(unsigned long long, const JGeometry::TBox2<float>&,
|
||||
const char*, unsigned long)
|
||||
J2DPictureEx::J2DPictureEx(ulonglong, const JGeometry::TBox2f&, const char*,
|
||||
ulong)
|
||||
{
|
||||
/*
|
||||
.loc_0x0:
|
||||
@ -1156,7 +1157,7 @@ void J2DPictureEx::drawTexCoord(float, float, float, float, short, short, short,
|
||||
* Address: 800557B0
|
||||
* Size: 000048
|
||||
*/
|
||||
void J2DPictureEx::append(const ResTIMG*, JUTPalette*, float)
|
||||
bool J2DPictureEx::append(const ResTIMG*, JUTPalette*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -1189,7 +1190,7 @@ lbl_800557E8:
|
||||
* Address: 800557F8
|
||||
* Size: 000048
|
||||
*/
|
||||
void J2DPictureEx::append(const char*, JUTPalette*, float)
|
||||
bool J2DPictureEx::append(const char*, JUTPalette*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -1222,7 +1223,7 @@ lbl_80055830:
|
||||
* Address: 80055840
|
||||
* Size: 000048
|
||||
*/
|
||||
void J2DPictureEx::append(JUTTexture*, float)
|
||||
bool J2DPictureEx::append(JUTTexture*, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -1255,7 +1256,7 @@ lbl_80055878:
|
||||
* Address: 80055888
|
||||
* Size: 0000B4
|
||||
*/
|
||||
void J2DPictureEx::insert(const ResTIMG*, JUTPalette*, unsigned char, float)
|
||||
bool J2DPictureEx::insert(const ResTIMG*, JUTPalette*, unsigned char, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -1317,7 +1318,7 @@ lbl_80055918:
|
||||
* Address: 8005593C
|
||||
* Size: 000078
|
||||
*/
|
||||
void J2DPictureEx::insert(const char*, JUTPalette*, unsigned char, float)
|
||||
bool J2DPictureEx::insert(const char*, JUTPalette*, unsigned char, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -1358,7 +1359,7 @@ void J2DPictureEx::insert(const char*, JUTPalette*, unsigned char, float)
|
||||
* Address: 800559B4
|
||||
* Size: 0000A4
|
||||
*/
|
||||
void J2DPictureEx::insert(JUTTexture*, unsigned char, float)
|
||||
bool J2DPictureEx::insert(JUTTexture*, unsigned char, float)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -1652,7 +1653,7 @@ lbl_80055D08:
|
||||
* Address: 80055D8C
|
||||
* Size: 0000F8
|
||||
*/
|
||||
void J2DPictureEx::isInsert(unsigned char) const
|
||||
bool J2DPictureEx::isInsert(unsigned char) const
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -1739,7 +1740,7 @@ lbl_80055E68:
|
||||
* Address: 80055E84
|
||||
* Size: 0001AC
|
||||
*/
|
||||
void J2DPictureEx::remove(unsigned char)
|
||||
int J2DPictureEx::remove(unsigned char)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -1865,7 +1866,7 @@ lbl_80056010:
|
||||
* Address: 80056030
|
||||
* Size: 000064
|
||||
*/
|
||||
void J2DPictureEx::remove()
|
||||
int J2DPictureEx::remove()
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -1907,7 +1908,7 @@ lbl_80056084:
|
||||
* Address: 80056094
|
||||
* Size: 0000C8
|
||||
*/
|
||||
void J2DPictureEx::remove(JUTTexture*)
|
||||
int J2DPictureEx::remove(JUTTexture*)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -1980,7 +1981,7 @@ lbl_8005613C:
|
||||
* Address: 8005615C
|
||||
* Size: 000054
|
||||
*/
|
||||
void J2DPictureEx::isRemove(unsigned char) const
|
||||
bool J2DPictureEx::isRemove(uchar) const
|
||||
{
|
||||
/*
|
||||
lwz r3, 0x168(r3)
|
||||
@ -2877,7 +2878,7 @@ void J2DPictureEx::drawOut(const JGeometry::TBox2<float>&,
|
||||
* Address: 80056DCC
|
||||
* Size: 000048
|
||||
*/
|
||||
void J2DPictureEx::load(_GXTexMapID, unsigned char)
|
||||
void J2DPictureEx::load(GXTexMapID, unsigned char)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4144,7 +4145,7 @@ void J2DPictureEx::setBlendAlphaRatio(float, float, float, float, float, float,
|
||||
* Address: 80057D98
|
||||
* Size: 000140
|
||||
*/
|
||||
void J2DPictureEx::changeTexture(const ResTIMG*, unsigned char)
|
||||
ResTIMG* J2DPictureEx::changeTexture(const ResTIMG*, unsigned char)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -4251,7 +4252,7 @@ lbl_80057EC4:
|
||||
* Address: 80057ED8
|
||||
* Size: 000058
|
||||
*/
|
||||
void J2DPictureEx::changeTexture(const char*, unsigned char)
|
||||
ResTIMG* J2DPictureEx::changeTexture(const char*, uchar)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4284,7 +4285,7 @@ void J2DPictureEx::changeTexture(const char*, unsigned char)
|
||||
* Address: 80057F30
|
||||
* Size: 000160
|
||||
*/
|
||||
void J2DPictureEx::changeTexture(const ResTIMG*, unsigned char, JUTPalette*)
|
||||
ResTIMG* J2DPictureEx::changeTexture(const ResTIMG*, unsigned char, JUTPalette*)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -4399,7 +4400,7 @@ lbl_8005807C:
|
||||
* Address: 80058090
|
||||
* Size: 000068
|
||||
*/
|
||||
void J2DPictureEx::changeTexture(const char*, unsigned char, JUTPalette*)
|
||||
ResTIMG* J2DPictureEx::changeTexture(const char*, unsigned char, JUTPalette*)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -4436,7 +4437,7 @@ void J2DPictureEx::changeTexture(const char*, unsigned char, JUTPalette*)
|
||||
* Address: 800580F8
|
||||
* Size: 000058
|
||||
*/
|
||||
void J2DPictureEx::getTexture(unsigned char) const
|
||||
JUTTexture* J2DPictureEx::getTexture(unsigned char) const
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -4475,7 +4476,7 @@ lbl_80058140:
|
||||
* Address: 80058150
|
||||
* Size: 000020
|
||||
*/
|
||||
void J2DPictureEx::getTextureCount() const
|
||||
uchar J2DPictureEx::getTextureCount() const
|
||||
{
|
||||
/*
|
||||
lwz r3, 0x168(r3)
|
||||
@ -4496,7 +4497,7 @@ lbl_80058164:
|
||||
* Address: 80058170
|
||||
* Size: 000088
|
||||
*/
|
||||
void J2DPictureEx::setBlack(JUtility::TColor)
|
||||
bool J2DPictureEx::setBlack(JUtility::TColor)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -4545,7 +4546,7 @@ lbl_800581E0:
|
||||
* Address: 800581F8
|
||||
* Size: 000088
|
||||
*/
|
||||
void J2DPictureEx::setWhite(JUtility::TColor)
|
||||
bool J2DPictureEx::setWhite(JUtility::TColor)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -4594,7 +4595,7 @@ lbl_80058268:
|
||||
* Address: 80058280
|
||||
* Size: 000454
|
||||
*/
|
||||
void J2DPictureEx::setBlackWhite(JUtility::TColor, JUtility::TColor)
|
||||
bool J2DPictureEx::setBlackWhite(JUtility::TColor, JUtility::TColor)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x70(r1)
|
||||
@ -5074,7 +5075,7 @@ lbl_80058884:
|
||||
* Address: 80058898
|
||||
* Size: 0000DC
|
||||
*/
|
||||
void J2DPictureEx::isSetBlackWhite(JUtility::TColor, JUtility::TColor) const
|
||||
bool J2DPictureEx::isSetBlackWhite(JUtility::TColor, JUtility::TColor) const
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
@ -5150,7 +5151,7 @@ lbl_8005895C:
|
||||
* Address: 80058974
|
||||
* Size: 000060
|
||||
*/
|
||||
void J2DPictureEx::getBlack() const
|
||||
JUtility::TColor J2DPictureEx::getBlack() const
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -5189,7 +5190,7 @@ lbl_800589C0:
|
||||
* Address: 800589D4
|
||||
* Size: 000060
|
||||
*/
|
||||
void J2DPictureEx::getWhite() const
|
||||
JUtility::TColor J2DPictureEx::getWhite() const
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
@ -5290,7 +5291,7 @@ void J2DPictureEx::rewriteAlpha()
|
||||
* Address: 80058AA0
|
||||
* Size: 0000A8
|
||||
*/
|
||||
void J2DPictureEx::isUsed(const ResTIMG*)
|
||||
bool J2DPictureEx::isUsed(const ResTIMG*)
|
||||
{
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "types.h"
|
||||
#include "JSystem/J2D/J2DPane.h"
|
||||
|
||||
/*
|
||||
Generated from dpostproc
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "JSystem/J2D/J2DPane.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "JSystem/J2D/J2DPane.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "JSystem/J2D/J2DPane.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "JSystem/J2D/J2DPane.h"
|
||||
#include "types.h"
|
||||
|
||||
/*
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user