mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-09 22:11:35 -04:00
Merge branch 'main' of github.com:zeldaret/tww
This commit is contained in:
@@ -57,7 +57,7 @@ Building
|
||||
```
|
||||
git clone https://github.com/zeldaret/tww.git
|
||||
```
|
||||
- Using [Dolphin Emulator](https://dolphin-emu.org/), extract your game to `orig/GZLE01` (or `GZLJ01` for JPN, `GZLE01` for PAL).
|
||||
- Using [Dolphin Emulator](https://dolphin-emu.org/), extract your game to `orig/GZLE01` (or `GZLJ01` for JPN, `GZLP01` for PAL).
|
||||

|
||||
- To save space, the only necessary files are the following. Any others can be deleted.
|
||||
- `sys/main.dol`
|
||||
|
||||
+13
-13
@@ -489,52 +489,52 @@ d/actor/d_a_obj.cpp:
|
||||
.sbss start:0x803F6BA0 end:0x803F6BA8
|
||||
.sdata2 start:0x803F84C8 end:0x803F8530
|
||||
|
||||
d/actor/d_a_obj_tribox_static.cpp:
|
||||
d/d_a_obj_tribox_static.cpp:
|
||||
.text start:0x80067D1C end:0x80067D94
|
||||
.ctors start:0x803386C8 end:0x803386CC
|
||||
.bss start:0x803E1F30 end:0x803E1F48
|
||||
.sbss start:0x803F6BA8 end:0x803F6BC0
|
||||
|
||||
d/actor/d_a_ship_static.cpp:
|
||||
d/d_a_ship_static.cpp:
|
||||
.text start:0x80067D94 end:0x80067E78
|
||||
.sdata2 start:0x803F8530 end:0x803F8538
|
||||
|
||||
d/actor/d_a_boko_static.cpp:
|
||||
d/d_a_boko_static.cpp:
|
||||
.text start:0x80067E78 end:0x80067FA0
|
||||
.data start:0x80377018 end:0x80377168
|
||||
.sdata start:0x803F61E0 end:0x803F61E8
|
||||
|
||||
d/actor/d_a_bomb_static.cpp:
|
||||
d/d_a_bomb_static.cpp:
|
||||
.text start:0x80067FA0 end:0x800684F4
|
||||
.text start:0x800684F4 end:0x80068510
|
||||
.rodata start:0x8034FC58 end:0x8034FC90
|
||||
|
||||
d/actor/d_a_branch_static.cpp:
|
||||
d/d_a_branch_static.cpp:
|
||||
.text start:0x80068510 end:0x800685F8
|
||||
.rodata start:0x8034FC90 end:0x8034FCC0
|
||||
|
||||
d/actor/d_a_mgameboard_static.cpp:
|
||||
d/d_a_mgameboard_static.cpp:
|
||||
.text start:0x800685F8 end:0x80068650
|
||||
|
||||
d/actor/d_a_itembase_static.cpp:
|
||||
d/d_a_itembase_static.cpp:
|
||||
.text start:0x80068650 end:0x80068820
|
||||
.rodata start:0x8034FCC0 end:0x8034FD10
|
||||
|
||||
d/actor/d_a_item_static.cpp:
|
||||
d/d_a_item_static.cpp:
|
||||
.text start:0x80068820 end:0x800689F0
|
||||
.sdata2 start:0x803F8538 end:0x803F8540
|
||||
|
||||
d/actor/d_a_shop_item_static.cpp:
|
||||
d/d_a_shop_item_static.cpp:
|
||||
.text start:0x800689F0 end:0x80068A58
|
||||
.rodata start:0x8034FD10 end:0x80351DF0
|
||||
.sdata2 start:0x803F8540 end:0x803F8550
|
||||
|
||||
d/actor/d_a_race_item_static.cpp:
|
||||
d/d_a_race_item_static.cpp:
|
||||
.text start:0x80068A58 end:0x800690E4
|
||||
.data start:0x80377168 end:0x80377228
|
||||
.sdata2 start:0x803F8550 end:0x803F8558
|
||||
|
||||
d/actor/d_a_leaflift_static.cpp:
|
||||
d/d_a_leaflift_static.cpp:
|
||||
.text start:0x800690E4 end:0x800692C4
|
||||
.sdata2 start:0x803F8558 end:0x803F8580
|
||||
|
||||
@@ -952,11 +952,11 @@ d/d_2dnumber.cpp:
|
||||
.data start:0x803890C8 end:0x80389138
|
||||
.sdata2 start:0x803F9488 end:0x803F9508
|
||||
|
||||
d/actor/d_a_npc_cb1_static.cpp:
|
||||
d/d_a_npc_cb1_static.cpp:
|
||||
.text start:0x800CB5C4 end:0x800CB5CC
|
||||
.sbss start:0x803F6E60 end:0x803F6E68
|
||||
|
||||
d/actor/d_a_npc_mk_static.cpp:
|
||||
d/d_a_npc_mk_static.cpp:
|
||||
.text start:0x800CB5CC end:0x800CC734
|
||||
.sdata2 start:0x803F9508 end:0x803F9560
|
||||
|
||||
|
||||
+37
-37
@@ -489,52 +489,52 @@ d/actor/d_a_obj.cpp:
|
||||
.sbss start:0x803EA070 end:0x803EA078
|
||||
.sdata2 start:0x803EB980 end:0x803EB9E8
|
||||
|
||||
d/actor/d_a_obj_tribox_static.cpp:
|
||||
d/d_a_obj_tribox_static.cpp:
|
||||
.text start:0x80065B50 end:0x80065BC8
|
||||
.ctors start:0x803360C4 end:0x803360C8
|
||||
.bss start:0x803D5420 end:0x803D5438
|
||||
.sbss start:0x803EA078 end:0x803EA090
|
||||
|
||||
d/actor/d_a_ship_static.cpp:
|
||||
d/d_a_ship_static.cpp:
|
||||
.text start:0x80065BC8 end:0x80065CAC
|
||||
.sdata2 start:0x803EB9E8 end:0x803EB9F0
|
||||
|
||||
d/actor/d_a_boko_static.cpp:
|
||||
d/d_a_boko_static.cpp:
|
||||
.text start:0x80065CAC end:0x80065DD4
|
||||
.data start:0x8036A4B8 end:0x8036A608
|
||||
.sdata start:0x803E96C8 end:0x803E96D0
|
||||
|
||||
d/actor/d_a_bomb_static.cpp:
|
||||
d/d_a_bomb_static.cpp:
|
||||
.text start:0x80065DD4 end:0x80066328
|
||||
.text start:0x80066328 end:0x80066344
|
||||
.rodata start:0x803436B8 end:0x803436F0
|
||||
|
||||
d/actor/d_a_branch_static.cpp:
|
||||
d/d_a_branch_static.cpp:
|
||||
.text start:0x80066344 end:0x8006642C
|
||||
.rodata start:0x803436F0 end:0x80343720
|
||||
|
||||
d/actor/d_a_mgameboard_static.cpp:
|
||||
d/d_a_mgameboard_static.cpp:
|
||||
.text start:0x8006642C end:0x80066484
|
||||
|
||||
d/actor/d_a_itembase_static.cpp:
|
||||
d/d_a_itembase_static.cpp:
|
||||
.text start:0x80066484 end:0x80066654
|
||||
.rodata start:0x80343720 end:0x80343770
|
||||
|
||||
d/actor/d_a_item_static.cpp:
|
||||
d/d_a_item_static.cpp:
|
||||
.text start:0x80066654 end:0x80066824
|
||||
.sdata2 start:0x803EB9F0 end:0x803EB9F8
|
||||
|
||||
d/actor/d_a_shop_item_static.cpp:
|
||||
d/d_a_shop_item_static.cpp:
|
||||
.text start:0x80066824 end:0x8006688C
|
||||
.rodata start:0x80343770 end:0x80345850
|
||||
.sdata2 start:0x803EB9F8 end:0x803EBA08
|
||||
|
||||
d/actor/d_a_race_item_static.cpp:
|
||||
d/d_a_race_item_static.cpp:
|
||||
.text start:0x8006688C end:0x80066F18
|
||||
.data start:0x8036A608 end:0x8036A6C8
|
||||
.sdata2 start:0x803EBA08 end:0x803EBA10
|
||||
|
||||
d/actor/d_a_leaflift_static.cpp:
|
||||
d/d_a_leaflift_static.cpp:
|
||||
.text start:0x80066F18 end:0x800670F8
|
||||
.sdata2 start:0x803EBA10 end:0x803EBA38
|
||||
|
||||
@@ -952,11 +952,11 @@ d/d_2dnumber.cpp:
|
||||
.data start:0x8037C568 end:0x8037C5D8
|
||||
.sdata2 start:0x803EC950 end:0x803EC9D0
|
||||
|
||||
d/actor/d_a_npc_cb1_static.cpp:
|
||||
d/d_a_npc_cb1_static.cpp:
|
||||
.text start:0x800C855C end:0x800C8564
|
||||
.sbss start:0x803EA330 end:0x803EA338
|
||||
|
||||
d/actor/d_a_npc_mk_static.cpp:
|
||||
d/d_a_npc_mk_static.cpp:
|
||||
.text start:0x800C8564 end:0x800C96CC
|
||||
.sdata2 start:0x803EC9D0 end:0x803ECA28
|
||||
|
||||
@@ -3955,98 +3955,98 @@ MSL_C/Math/Double_precision/w_fmod.c:
|
||||
MSL_C/PPC_EABI/math_ppc.c:
|
||||
.text start:0x8032E858 end:0x8032E8E8
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mainloop.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/mainloop.c:
|
||||
.text start:0x8032E8E8 end:0x8032E9E0
|
||||
|
||||
TRK_MINNOW_DOLPHIN/nubevent.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/nubevent.c:
|
||||
.text start:0x8032E9E0 end:0x8032EC08
|
||||
.bss start:0x803E53E0 end:0x803E5408
|
||||
|
||||
TRK_MINNOW_DOLPHIN/nubinit.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/nubinit.c:
|
||||
.text start:0x8032EC08 end:0x8032ED88
|
||||
.rodata start:0x80364900 end:0x80364920
|
||||
.bss start:0x803E5408 end:0x803E5410
|
||||
|
||||
TRK_MINNOW_DOLPHIN/msg.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/msg.c:
|
||||
.text start:0x8032ED88 end:0x8032EF64
|
||||
|
||||
TRK_MINNOW_DOLPHIN/msgbuf.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/msgbuf.c:
|
||||
.text start:0x8032EF64 end:0x8032F990
|
||||
.rodata start:0x80364920 end:0x80364940
|
||||
.bss start:0x803E5410 end:0x803E6DC0
|
||||
|
||||
TRK_MINNOW_DOLPHIN/serpoll.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/serpoll.c:
|
||||
.text start:0x8032F990 end:0x8032FD5C
|
||||
.bss start:0x803E6DC0 end:0x803E6DD8
|
||||
|
||||
TRK_MINNOW_DOLPHIN/usr_put.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/usr_put.c:
|
||||
.text start:0x8032FD5C end:0x8032FDE8
|
||||
|
||||
TRK_MINNOW_DOLPHIN/dispatch.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/dispatch.c:
|
||||
.text start:0x8032FDE8 end:0x8032FE84
|
||||
.data start:0x80395D20 end:0x80395DA8
|
||||
.bss start:0x803E6DD8 end:0x803E6DE0
|
||||
|
||||
TRK_MINNOW_DOLPHIN/msghndlr.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/msghndlr.c:
|
||||
.text start:0x8032FE84 end:0x803326E4
|
||||
.data start:0x80395DA8 end:0x80395DE0
|
||||
.bss start:0x803E6DE0 end:0x803E6DE8
|
||||
|
||||
TRK_MINNOW_DOLPHIN/support.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/support.c:
|
||||
.text start:0x803326E4 end:0x80332FA4
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mutex_TRK.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/mutex_TRK.c:
|
||||
.text start:0x80332FA4 end:0x80332FBC
|
||||
|
||||
TRK_MINNOW_DOLPHIN/notify.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/notify.c:
|
||||
.text start:0x80332FBC end:0x80333094
|
||||
|
||||
TRK_MINNOW_DOLPHIN/flush_cache.c:
|
||||
TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.c:
|
||||
.text start:0x80333094 end:0x803330CC
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mem_TRK.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/mem_TRK.c:
|
||||
.init start:0x800034E0 end:0x80003534
|
||||
.text start:0x803330CC end:0x80333188
|
||||
|
||||
TRK_MINNOW_DOLPHIN/targimpl.c:
|
||||
TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c:
|
||||
.text start:0x80333188 end:0x80334A18
|
||||
.rodata start:0x80364940 end:0x803649C8
|
||||
.data start:0x80395DE0 end:0x80395E10
|
||||
.bss start:0x803E6DE8 end:0x803E7368
|
||||
|
||||
TRK_MINNOW_DOLPHIN/targsupp.s: comment:0
|
||||
TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.s: comment:0
|
||||
.text start:0x80334A20 end:0x80334A40 align:16
|
||||
|
||||
TRK_MINNOW_DOLPHIN/__exception.c: comment:0
|
||||
TRK_MINNOW_DOLPHIN/ppc/Generic/__exception.c: comment:0
|
||||
.init start:0x80003534 end:0x80005468
|
||||
|
||||
TRK_MINNOW_DOLPHIN/dolphin_trk.c:
|
||||
TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c:
|
||||
.init start:0x80005468 end:0x8000556C
|
||||
.text start:0x80334A40 end:0x80334B80
|
||||
.data start:0x80395E10 end:0x80395E50
|
||||
.bss start:0x803E7368 end:0x803E7370
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c:
|
||||
TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.c:
|
||||
.text start:0x80334B80 end:0x80334EF8
|
||||
|
||||
TRK_MINNOW_DOLPHIN/main_TRK.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/main_TRK.c:
|
||||
.text start:0x80334EF8 end:0x80334F3C
|
||||
.bss start:0x803E7370 end:0x803E7378
|
||||
|
||||
TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c:
|
||||
TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.c:
|
||||
.text start:0x80334F3C end:0x803353E8
|
||||
.rodata start:0x803649C8 end:0x80364A10
|
||||
.data start:0x80395E50 end:0x80395E6C
|
||||
.bss start:0x803E7378 end:0x803E95A0
|
||||
|
||||
TRK_MINNOW_DOLPHIN/targcont.c:
|
||||
TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c:
|
||||
.text start:0x803353E8 end:0x8033541C
|
||||
|
||||
TRK_MINNOW_DOLPHIN/target_options.c:
|
||||
TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.c:
|
||||
.text start:0x8033541C end:0x80335438
|
||||
.bss start:0x803E95A0 end:0x803E95A1
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mslsupp.c:
|
||||
TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c:
|
||||
.text start:0x80335438 end:0x803355B0
|
||||
|
||||
amcstubs/AmcExi2Stubs.c:
|
||||
|
||||
+37
-37
@@ -489,52 +489,52 @@ d/actor/d_a_obj.cpp:
|
||||
.sbss start:0x803FE3A0 end:0x803FE3A8
|
||||
.sdata2 start:0x803FFCF0 end:0x803FFD58
|
||||
|
||||
d/actor/d_a_obj_tribox_static.cpp:
|
||||
d/d_a_obj_tribox_static.cpp:
|
||||
.text start:0x8006BAFC end:0x8006BB74
|
||||
.ctors start:0x8033DC08 end:0x8033DC0C
|
||||
.bss start:0x803E9858 end:0x803E9870
|
||||
.sbss start:0x803FE3A8 end:0x803FE3C0
|
||||
|
||||
d/actor/d_a_ship_static.cpp:
|
||||
d/d_a_ship_static.cpp:
|
||||
.text start:0x8006BB74 end:0x8006BC58
|
||||
.sdata2 start:0x803FFD58 end:0x803FFD60
|
||||
|
||||
d/actor/d_a_boko_static.cpp:
|
||||
d/d_a_boko_static.cpp:
|
||||
.text start:0x8006BC58 end:0x8006BD80
|
||||
.data start:0x8037DCF8 end:0x8037DE48
|
||||
.sdata start:0x803FD9E0 end:0x803FD9E8
|
||||
|
||||
d/actor/d_a_bomb_static.cpp:
|
||||
d/d_a_bomb_static.cpp:
|
||||
.text start:0x8006BD80 end:0x8006C2D4
|
||||
.text start:0x8006C2D4 end:0x8006C2F0
|
||||
.rodata start:0x80355FA8 end:0x80355FE0
|
||||
|
||||
d/actor/d_a_branch_static.cpp:
|
||||
d/d_a_branch_static.cpp:
|
||||
.text start:0x8006C2F0 end:0x8006C3D8
|
||||
.rodata start:0x80355FE0 end:0x80356010
|
||||
|
||||
d/actor/d_a_mgameboard_static.cpp:
|
||||
d/d_a_mgameboard_static.cpp:
|
||||
.text start:0x8006C3D8 end:0x8006C430
|
||||
|
||||
d/actor/d_a_itembase_static.cpp:
|
||||
d/d_a_itembase_static.cpp:
|
||||
.text start:0x8006C430 end:0x8006C600
|
||||
.rodata start:0x80356010 end:0x80356060
|
||||
|
||||
d/actor/d_a_item_static.cpp:
|
||||
d/d_a_item_static.cpp:
|
||||
.text start:0x8006C600 end:0x8006C7D0
|
||||
.sdata2 start:0x803FFD60 end:0x803FFD68
|
||||
|
||||
d/actor/d_a_shop_item_static.cpp:
|
||||
d/d_a_shop_item_static.cpp:
|
||||
.text start:0x8006C7D0 end:0x8006C838
|
||||
.rodata start:0x80356060 end:0x80358140
|
||||
.sdata2 start:0x803FFD68 end:0x803FFD78
|
||||
|
||||
d/actor/d_a_race_item_static.cpp:
|
||||
d/d_a_race_item_static.cpp:
|
||||
.text start:0x8006C838 end:0x8006CEC4
|
||||
.data start:0x8037DE48 end:0x8037DF08
|
||||
.sdata2 start:0x803FFD78 end:0x803FFD80
|
||||
|
||||
d/actor/d_a_leaflift_static.cpp:
|
||||
d/d_a_leaflift_static.cpp:
|
||||
.text start:0x8006CEC4 end:0x8006D0A4
|
||||
.sdata2 start:0x803FFD80 end:0x803FFDA8
|
||||
|
||||
@@ -952,11 +952,11 @@ d/d_2dnumber.cpp:
|
||||
.data start:0x8038FDA8 end:0x8038FE18
|
||||
.sdata2 start:0x80400CB0 end:0x80400D30
|
||||
|
||||
d/actor/d_a_npc_cb1_static.cpp:
|
||||
d/d_a_npc_cb1_static.cpp:
|
||||
.text start:0x800CF264 end:0x800CF26C
|
||||
.sbss start:0x803FE660 end:0x803FE668
|
||||
|
||||
d/actor/d_a_npc_mk_static.cpp:
|
||||
d/d_a_npc_mk_static.cpp:
|
||||
.text start:0x800CF26C end:0x800D03D4
|
||||
.sdata2 start:0x80400D30 end:0x80400D88
|
||||
|
||||
@@ -3959,98 +3959,98 @@ MSL_C/Math/Double_precision/w_fmod.c:
|
||||
MSL_C/PPC_EABI/math_ppc.c:
|
||||
.text start:0x803363AC end:0x8033643C
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mainloop.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/mainloop.c:
|
||||
.text start:0x8033643C end:0x80336534
|
||||
|
||||
TRK_MINNOW_DOLPHIN/nubevent.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/nubevent.c:
|
||||
.text start:0x80336534 end:0x8033675C
|
||||
.bss start:0x803F9700 end:0x803F9728
|
||||
|
||||
TRK_MINNOW_DOLPHIN/nubinit.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/nubinit.c:
|
||||
.text start:0x8033675C end:0x803368DC
|
||||
.rodata start:0x80378140 end:0x80378160
|
||||
.bss start:0x803F9728 end:0x803F9730
|
||||
|
||||
TRK_MINNOW_DOLPHIN/msg.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/msg.c:
|
||||
.text start:0x803368DC end:0x80336AB8
|
||||
|
||||
TRK_MINNOW_DOLPHIN/msgbuf.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/msgbuf.c:
|
||||
.text start:0x80336AB8 end:0x803374E4
|
||||
.rodata start:0x80378160 end:0x80378180
|
||||
.bss start:0x803F9730 end:0x803FB0E0
|
||||
|
||||
TRK_MINNOW_DOLPHIN/serpoll.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/serpoll.c:
|
||||
.text start:0x803374E4 end:0x803378B0
|
||||
.bss start:0x803FB0E0 end:0x803FB0F8
|
||||
|
||||
TRK_MINNOW_DOLPHIN/usr_put.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/usr_put.c:
|
||||
.text start:0x803378B0 end:0x8033793C
|
||||
|
||||
TRK_MINNOW_DOLPHIN/dispatch.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/dispatch.c:
|
||||
.text start:0x8033793C end:0x803379D8
|
||||
.data start:0x803A9500 end:0x803A9588
|
||||
.bss start:0x803FB0F8 end:0x803FB100
|
||||
|
||||
TRK_MINNOW_DOLPHIN/msghndlr.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/msghndlr.c:
|
||||
.text start:0x803379D8 end:0x8033A238
|
||||
.data start:0x803A9588 end:0x803A95C0
|
||||
.bss start:0x803FB100 end:0x803FB108
|
||||
|
||||
TRK_MINNOW_DOLPHIN/support.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/support.c:
|
||||
.text start:0x8033A238 end:0x8033AAF8
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mutex_TRK.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/mutex_TRK.c:
|
||||
.text start:0x8033AAF8 end:0x8033AB10
|
||||
|
||||
TRK_MINNOW_DOLPHIN/notify.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/notify.c:
|
||||
.text start:0x8033AB10 end:0x8033ABE8
|
||||
|
||||
TRK_MINNOW_DOLPHIN/flush_cache.c:
|
||||
TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.c:
|
||||
.text start:0x8033ABE8 end:0x8033AC20
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mem_TRK.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/mem_TRK.c:
|
||||
.init start:0x800034E0 end:0x80003534
|
||||
.text start:0x8033AC20 end:0x8033ACDC
|
||||
|
||||
TRK_MINNOW_DOLPHIN/targimpl.c:
|
||||
TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c:
|
||||
.text start:0x8033ACDC end:0x8033C56C
|
||||
.rodata start:0x80378180 end:0x80378208
|
||||
.data start:0x803A95C0 end:0x803A95F0
|
||||
.bss start:0x803FB108 end:0x803FB688
|
||||
|
||||
TRK_MINNOW_DOLPHIN/targsupp.s: comment:0
|
||||
TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.s: comment:0
|
||||
.text start:0x8033C570 end:0x8033C590 align:16
|
||||
|
||||
TRK_MINNOW_DOLPHIN/__exception.c: comment:0
|
||||
TRK_MINNOW_DOLPHIN/ppc/Generic/__exception.c: comment:0
|
||||
.init start:0x80003534 end:0x80005468
|
||||
|
||||
TRK_MINNOW_DOLPHIN/dolphin_trk.c:
|
||||
TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c:
|
||||
.init start:0x80005468 end:0x8000556C
|
||||
.text start:0x8033C590 end:0x8033C6D0
|
||||
.data start:0x803A95F0 end:0x803A9630
|
||||
.bss start:0x803FB688 end:0x803FB690
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c:
|
||||
TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.c:
|
||||
.text start:0x8033C6D0 end:0x8033CA48
|
||||
|
||||
TRK_MINNOW_DOLPHIN/main_TRK.c:
|
||||
TRK_MINNOW_DOLPHIN/Portable/main_TRK.c:
|
||||
.text start:0x8033CA48 end:0x8033CA8C
|
||||
.bss start:0x803FB690 end:0x803FB698
|
||||
|
||||
TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c:
|
||||
TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.c:
|
||||
.text start:0x8033CA8C end:0x8033CF38
|
||||
.rodata start:0x80378208 end:0x80378250
|
||||
.data start:0x803A9630 end:0x803A964C
|
||||
.bss start:0x803FB698 end:0x803FD8C0
|
||||
|
||||
TRK_MINNOW_DOLPHIN/targcont.c:
|
||||
TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c:
|
||||
.text start:0x8033CF38 end:0x8033CF6C
|
||||
|
||||
TRK_MINNOW_DOLPHIN/target_options.c:
|
||||
TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.c:
|
||||
.text start:0x8033CF6C end:0x8033CF88
|
||||
.bss start:0x803FD8C0 end:0x803FD8C1
|
||||
|
||||
TRK_MINNOW_DOLPHIN/mslsupp.c:
|
||||
TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c:
|
||||
.text start:0x8033CF88 end:0x8033D100
|
||||
|
||||
amcstubs/AmcExi2Stubs.c:
|
||||
|
||||
+57
-57
@@ -242,12 +242,12 @@ config.libs = [
|
||||
"host": True,
|
||||
"objects": [
|
||||
# machine
|
||||
Object(NonMatching, "m_Do/m_Do_main.cpp"),
|
||||
Object(Matching, "m_Do/m_Do_main.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_printf.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_audio.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_controller_pad.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_graphic.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_machine.cpp"),
|
||||
Object(Matching, "m_Do/m_Do_machine.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_mtx.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_ext.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_lib.cpp"),
|
||||
@@ -272,7 +272,7 @@ config.libs = [
|
||||
Object(Matching, "f_op/f_op_actor_iter.cpp"),
|
||||
Object(Matching, "f_op/f_op_actor_tag.cpp"),
|
||||
Object(NonMatching, "f_op/f_op_actor_mng.cpp"),
|
||||
Object(NonMatching, "f_op/f_op_camera.cpp"),
|
||||
Object(Matching, "f_op/f_op_camera.cpp"),
|
||||
Object(Matching, "f_op/f_op_camera_mng.cpp"),
|
||||
Object(Matching, "f_op/f_op_overlap.cpp"),
|
||||
Object(Matching, "f_op/f_op_overlap_mng.cpp"),
|
||||
@@ -337,17 +337,17 @@ config.libs = [
|
||||
Object(NonMatching, "d/d_chain.cpp"),
|
||||
Object(NonMatching, "d/d_cloth_packet.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_obj.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_obj_tribox_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_ship_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_boko_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_bomb_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_branch_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_mgameboard_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_itembase_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_item_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_shop_item_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_race_item_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_leaflift_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_obj_tribox_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_ship_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_boko_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_bomb_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_branch_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_mgameboard_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_itembase_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_item_static.cpp"),
|
||||
Object(Matching, "d/d_a_shop_item_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_race_item_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_leaflift_static.cpp"),
|
||||
Object(NonMatching, "d/d_demo.cpp"),
|
||||
Object(NonMatching, "d/d_door.cpp"),
|
||||
Object(NonMatching, "d/d_resorce.cpp"),
|
||||
@@ -363,10 +363,10 @@ config.libs = [
|
||||
Object(Matching, "d/d_particle_name.cpp"),
|
||||
Object(NonMatching, "d/d_path.cpp"),
|
||||
Object(NonMatching, "d/d_drawlist.cpp"),
|
||||
Object(NonMatching, "d/d_kankyo_data.cpp"),
|
||||
Object(Matching, "d/d_kankyo_data.cpp"),
|
||||
Object(NonMatching, "d/d_kankyo_wether.cpp"),
|
||||
Object(NonMatching, "d/d_kankyo_rain.cpp"),
|
||||
Object(NonMatching, "d/d_kankyo_demo.cpp"),
|
||||
Object(Matching, "d/d_kankyo_demo.cpp"),
|
||||
Object(NonMatching, "d/d_detect.cpp"),
|
||||
Object(NonMatching, "d/d_vibration.cpp"),
|
||||
Object(NonMatching, "d/d_vib_pattern.cpp"),
|
||||
@@ -394,17 +394,17 @@ config.libs = [
|
||||
Object(NonMatching, "d/d_ev_camera.cpp"),
|
||||
Object(NonMatching, "d/d_wood.cpp"),
|
||||
Object(NonMatching, "d/d_flower.cpp"),
|
||||
Object(NonMatching, "d/d_item_data.cpp"),
|
||||
Object(Matching, "d/d_item_data.cpp"),
|
||||
Object(Matching, "d/d_seafightgame.cpp"),
|
||||
Object(NonMatching, "d/d_spline_path.cpp"),
|
||||
Object(NonMatching, "d/d_s_actor_data_mng.cpp"),
|
||||
Object(NonMatching, "d/d_item.cpp"),
|
||||
Object(NonMatching, "d/d_2dnumber.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_npc_cb1_static.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_npc_mk_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_npc_cb1_static.cpp"),
|
||||
Object(NonMatching, "d/d_a_npc_mk_static.cpp"),
|
||||
Object(NonMatching, "d/d_salvage.cpp"),
|
||||
Object(NonMatching, "d/d_snap.cpp"),
|
||||
Object(NonMatching, "d/d_point_wind.cpp"),
|
||||
Object(Matching, "d/d_point_wind.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_agb.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_arrow.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_bg.cpp"),
|
||||
@@ -413,14 +413,14 @@ config.libs = [
|
||||
Object(NonMatching, "d/actor/d_a_boomerang.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_dai_item.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_demo00.cpp"),
|
||||
Object(Matching, "d/actor/d_a_disappear.cpp"),
|
||||
Object(Matching, "d/actor/d_a_disappear.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_esa.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_grid.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_himo2.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_hookshot.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_ib.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_item.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_itembase.cpp"),
|
||||
Object(Matching, "d/actor/d_a_itembase.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_nh.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_npc_fa1.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_obj_search.cpp"),
|
||||
@@ -442,7 +442,7 @@ config.libs = [
|
||||
Object(NonMatching, "d/d_kyeff.cpp"),
|
||||
Object(NonMatching, "d/d_kyeff2.cpp"),
|
||||
Object(NonMatching, "d/d_ky_thunder.cpp"),
|
||||
Object(NonMatching, "d/d_letter.cpp"),
|
||||
Object(Matching, "d/d_letter.cpp"),
|
||||
Object(NonMatching, "d/d_level_se.cpp"),
|
||||
Object(NonMatching, "d/d_menu_cloth.cpp"),
|
||||
Object(NonMatching, "d/d_menu_collect.cpp"),
|
||||
@@ -510,12 +510,12 @@ config.libs = [
|
||||
Object(Matching, "SSystem/SComponent/c_request.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_tag.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_tag_iter.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_xyz.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_xyz.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_sxyz.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_math.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_bg_s.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_bg_s_chk.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_bg_s_gnd_chk.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_bg_s_gnd_chk.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_bg_s_lin_chk.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_bg_w.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_m2d.cpp"),
|
||||
@@ -524,10 +524,10 @@ config.libs = [
|
||||
Object(Matching, "SSystem/SComponent/c_m3d_g_aab.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_m3d_g_cyl.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_m3d_g_pla.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_m3d_g_sph.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_m3d_g_sph.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_m3d_g_tri.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_lib.cpp"),
|
||||
Object(NonMatching, "SSystem/SComponent/c_angle.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_lib.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_angle.cpp"),
|
||||
Object(Matching, "SSystem/SComponent/c_data_tbl.cpp"),
|
||||
Object(Matching, "SSystem/SStandard/s_basic.cpp"),
|
||||
],
|
||||
@@ -755,38 +755,38 @@ config.libs = [
|
||||
JSystemLib(
|
||||
"JKernel",
|
||||
[
|
||||
Object(Matching, "JSystem/JKernel/JKRHeap.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRStdHeap.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRHeap.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRStdHeap.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRExpHeap.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRSolidHeap.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRDisposer.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRThread.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRAram.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRAramHeap.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRAramBlock.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRAramPiece.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRSolidHeap.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRDisposer.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRThread.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRAram.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRAramHeap.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRAramBlock.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRAramPiece.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRAramStream.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRFileLoader.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRFileFinder.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRFileCache.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRArchivePub.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRArchivePri.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRMemArchive.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRFileLoader.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRFileFinder.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRFileCache.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRArchivePub.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRArchivePri.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRMemArchive.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRAramArchive.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRDvdArchive.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRCompArchive.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRCompArchive.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRFile.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRDvdFile.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRDvdRipper.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRDvdRipper.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRDvdAramRipper.cpp"),
|
||||
Object(NonMatching, "JSystem/JKernel/JKRDecomp.cpp"),
|
||||
Object(Matching, "JSystem/JKernel/JKRDecomp.cpp"),
|
||||
],
|
||||
),
|
||||
JSystemLib(
|
||||
"JSupport",
|
||||
[
|
||||
Object(Matching, "JSystem/JSupport/JSUList.cpp"),
|
||||
Object(NonMatching, "JSystem/JSupport/JSUInputStream.cpp"),
|
||||
Object(Matching, "JSystem/JSupport/JSUInputStream.cpp"),
|
||||
Object(Matching, "JSystem/JSupport/JSUMemoryStream.cpp"),
|
||||
Object(Matching, "JSystem/JSupport/JSUFileStream.cpp"),
|
||||
],
|
||||
@@ -810,17 +810,17 @@ config.libs = [
|
||||
Object(Matching, "JSystem/JUtility/JUTGraphFifo.cpp"),
|
||||
Object(Matching, "JSystem/JUtility/JUTFont.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTResFont.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTDbPrint.cpp"),
|
||||
Object(Matching, "JSystem/JUtility/JUTDbPrint.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTGamePad.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTException.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTDirectPrint.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTAssert.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTVideo.cpp"),
|
||||
Object(Matching, "JSystem/JUtility/JUTAssert.cpp"),
|
||||
Object(Matching, "JSystem/JUtility/JUTVideo.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTXfb.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTFader.cpp"),
|
||||
Object(Matching, "JSystem/JUtility/JUTFader.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTProcBar.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTConsole.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTDirectFile.cpp"),
|
||||
Object(Matching, "JSystem/JUtility/JUTDirectFile.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTGba.cpp"),
|
||||
Object(NonMatching, "JSystem/JUtility/JUTFontData_Ascfont_fix12.s"),
|
||||
],
|
||||
@@ -848,12 +848,12 @@ config.libs = [
|
||||
"J3DGraphBase",
|
||||
[
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DGD.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DSys.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DSys.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DVertex.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DTransform.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DPacket.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DPacket.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DShapeMtx.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DShape.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DShape.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DMaterial.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DMatBlock.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DTevs.cpp"),
|
||||
@@ -1199,7 +1199,7 @@ config.libs = [
|
||||
},
|
||||
Rel(Matching, "f_pc_profile_lst", "f_pc/f_pc_profile_lst.cpp"),
|
||||
ActorRel(NonMatching, "d_a_agbsw0"),
|
||||
ActorRel(NonMatching, "d_a_andsw0"),
|
||||
ActorRel(Matching, "d_a_andsw0"),
|
||||
ActorRel(Matching, "d_a_andsw2"),
|
||||
ActorRel(NonMatching, "d_a_att"),
|
||||
ActorRel(NonMatching, "d_a_bflower"),
|
||||
@@ -1284,7 +1284,7 @@ config.libs = [
|
||||
ActorRel(NonMatching, "d_a_pirate_flag"),
|
||||
ActorRel(NonMatching, "d_a_race_item"),
|
||||
ActorRel(NonMatching, "d_a_rd"),
|
||||
ActorRel(NonMatching, "d_a_rectangle"),
|
||||
ActorRel(Matching, "d_a_rectangle"),
|
||||
ActorRel(NonMatching, "d_a_salvage"),
|
||||
ActorRel(NonMatching, "d_a_sbox"),
|
||||
ActorRel(NonMatching, "d_a_sk"),
|
||||
|
||||
@@ -21,6 +21,9 @@ Recommended `.vscode/settings.json`:
|
||||
},
|
||||
"files.insertFinalNewline": true,
|
||||
"files.trimFinalNewlines": true,
|
||||
"files.associations": {
|
||||
"*.inc": "cpp",
|
||||
},
|
||||
"search.useIgnoreFiles": false,
|
||||
"search.exclude": {
|
||||
"build/*/config.json": true,
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#define JAZELAUDIO_JAIZELBASIC_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JAZelAudio/JAZelAudio_SE.h"
|
||||
#include "JAZelAudio/JAZelAudio_BGM.h"
|
||||
|
||||
class Vec;
|
||||
class JAISound;
|
||||
@@ -85,9 +87,6 @@ public:
|
||||
void changeSeaBgm();
|
||||
void startIsleBgm();
|
||||
void setLinkGroupInfo(u8);
|
||||
void getMapInfoFxline(u32);
|
||||
void getMapInfoFxParameter(u32);
|
||||
void getMapInfoGround(u32);
|
||||
void setScene(s32, s32, s32, s32);
|
||||
void expandSceneBgmNum(u32);
|
||||
void checkLinkOnSea();
|
||||
@@ -119,7 +118,6 @@ public:
|
||||
void processTime();
|
||||
void processMorningToNormal();
|
||||
void checkOnOuterSea(f32*);
|
||||
void makeSound(u32);
|
||||
void checkSeqIDDemoPlaying(u32);
|
||||
void checkDemoFanfarePlaying();
|
||||
void processDemoFanfareMute();
|
||||
@@ -143,11 +141,110 @@ public:
|
||||
void registWindowPos(Vec*);
|
||||
void rainPlay(s32);
|
||||
|
||||
virtual void makeSound(u32);
|
||||
virtual void getMapInfoFxline(u32);
|
||||
virtual void getMapInfoGround(u32);
|
||||
virtual void getMapInfoFxParameter(u32);
|
||||
|
||||
void setHour(s32 i_hour) { mHour = i_hour; }
|
||||
void setMinute(s32 i_minute) { mMinute = i_minute; }
|
||||
void setWeekday(s32 i_weekday) { mWeekday = i_weekday; }
|
||||
|
||||
static JAIZelBasic* getInterface() { return zel_basic; }
|
||||
|
||||
static JAIZelBasic* zel_basic;
|
||||
|
||||
/* 0x0 */ u8 field_0x0[0x20F4];
|
||||
/* 0x0004 */ u8 field_0x0004[0x0020 - 0x0004];
|
||||
/* 0x0020 */ u8 field_0x0020;
|
||||
/* 0x0021 */ u8 field_0x0021;
|
||||
/* 0x0022 */ u8 field_0x0022[0x0024 - 0x0022];
|
||||
/* 0x0024 */ int field_0x0024;
|
||||
/* 0x0028 */ u8 field_0x0028[0x002C - 0x0028];
|
||||
/* 0x002C */ u8 mHour;
|
||||
/* 0x002D */ u8 mMinute;
|
||||
/* 0x002E */ u8 mWeekday;
|
||||
/* 0x002F */ u8 field_0x002f;
|
||||
/* 0x0030 */ s16 field_0x0030;
|
||||
/* 0x0032 */ u8 field_0x0032;
|
||||
/* 0x0033 */ u8 field_0x0033[0x0034 - 0x0033];
|
||||
/* 0x0034 */ int field_0x0034;
|
||||
/* 0x0038 */ int field_0x0038;
|
||||
/* 0x003C */ f32 field_0x003c;
|
||||
/* 0x0040 */ u8 field_0x0040[0x0041 - 0x0040];
|
||||
/* 0x0041 */ u8 field_0x0041;
|
||||
/* 0x0042 */ u8 field_0x0042;
|
||||
/* 0x0043 */ u8 field_0x0043;
|
||||
/* 0x0044 */ u8 field_0x0044;
|
||||
/* 0x0045 */ u8 field_0x0045;
|
||||
/* 0x0046 */ u8 field_0x0046;
|
||||
/* 0x0047 */ u8 field_0x0047;
|
||||
/* 0x0048 */ f32 field_0x0048;
|
||||
/* 0x004C */ f32 field_0x004c;
|
||||
/* 0x0050 */ f32 field_0x0050;
|
||||
/* 0x0054 */ f32 field_0x0054;
|
||||
/* 0x0058 */ f32 field_0x0058;
|
||||
/* 0x005C */ f32 field_0x005c;
|
||||
/* 0x0060 */ u8 mbLandingDemoStarted;
|
||||
/* 0x0061 */ u8 field_0x0061[0x0063 - 0x0061];
|
||||
/* 0x0063 */ u8 field_0x0063;
|
||||
/* 0x0064 */ u8 field_0x0064[0x0066 - 0x0064];
|
||||
/* 0x0066 */ u8 field_0x0066;
|
||||
/* 0x0067 */ u8 field_0x0067[0x0070 - 0x0067];
|
||||
/* 0x0070 */ JAISound* mpSound;
|
||||
/* 0x0074 */ int field_0x0074;
|
||||
/* 0x0078 */ u32 field_0x0078;
|
||||
/* 0x007C */ u32 field_0x007c;
|
||||
/* 0x0080 */ f32 field_0x0080;
|
||||
/* 0x0084 */ f32 field_0x0084;
|
||||
/* 0x0088 */ f32 field_0x0088;
|
||||
/* 0x008C */ f32 field_0x008c;
|
||||
/* 0x0090 */ f32 field_0x0090;
|
||||
/* 0x0094 */ f32 field_0x0094;
|
||||
/* 0x0098 */ f32 field_0x0098;
|
||||
/* 0x009C */ f32 field_0x009c;
|
||||
/* 0x00A0 */ f32 field_0x00a0;
|
||||
/* 0x00A4 */ f32 field_0x00a4;
|
||||
/* 0x00A8 */ f32 field_0x00a8;
|
||||
/* 0x00AC */ f32 field_0x00ac;
|
||||
/* 0x00B0 */ int field_0x00b0;
|
||||
/* 0x00B4 */ u8 field_0x00B4[0x00B5 - 0x00B4];
|
||||
/* 0x00B5 */ u8 mSomeSpecialBGMFlag;
|
||||
/* 0x00B6 */ u8 mLastMinibossSubBGMType;
|
||||
/* 0x00B7 */ u8 field_0x00B7[0x00BC - 0x00B7];
|
||||
/* 0x00BC */ u8 field_0x00bc;
|
||||
/* 0x00BD */ u8 field_0x00BD[0x00BE - 0x00BD];
|
||||
/* 0x00BE */ u8 field_0x00be;
|
||||
/* 0x00BF */ u8 field_0x00BF[0x00CA - 0x00BF];
|
||||
/* 0x00CA */ u8 field_0x00ca;
|
||||
/* 0x00CB */ u8 field_0x00CB[0x01F9 - 0x00CB];
|
||||
/* 0x01F9 */ u8 field_0x01f9;
|
||||
/* 0x01FA */ u8 field_0x01FA[0x0201 - 0x01FA];
|
||||
/* 0x0201 */ u8 field_0x0201;
|
||||
/* 0x0202 */ u8 field_0x0202[0x021C - 0x0202];
|
||||
/* 0x021C */ u8 mCameraSeaFloorGroupInfo;
|
||||
/* 0x021D */ u8 mLinkSeaFloorGroupInfo;
|
||||
/* 0x021E */ u8 field_0x021e;
|
||||
/* 0x021F */ u8 field_0x021F[0x0224 - 0x021F];
|
||||
/* 0x0224 */ int field_0x0224;
|
||||
/* 0x0228 */ u32 mNextSceneBgmId;
|
||||
/* 0x022C */ u8 field_0x022C[0x022D - 0x022C];
|
||||
/* 0x022D */ u8 field_0x022d;
|
||||
/* 0x022E */ u8 field_0x022e;
|
||||
/* 0x022F */ u8 field_0x022f;
|
||||
/* 0x0230 */ u8 field_0x0230;
|
||||
/* 0x0231 */ u8 field_0x0231;
|
||||
/* 0x0232 */ u8 mFirstDynamicSceneWaveIndex;
|
||||
/* 0x0233 */ u8 field_0x0233;
|
||||
/* 0x0234 */ u8 mSetNum;
|
||||
/* 0x0235 */ u8 mSecondDynamicSceneWaveIndex;
|
||||
/* 0x0236 */ u8 field_0x0236;
|
||||
/* 0x0237 */ u8 field_0x0237;
|
||||
/* 0x0238 */ u8 mIslandRoomNo;
|
||||
/* 0x0239 */ u8 field_0x0239[0x1F3D - 0x0239];
|
||||
/* 0x1F3D */ u8 mIsSailing;
|
||||
/* 0x1F3E */ u8 field_0x1F3E[0x1F40 - 0x1F3E];
|
||||
/* 0x1F40 */ f32 field_0x1f40;
|
||||
/* 0x1F44 */ u8 field_0x1F44[0x20F4 - 0x1F44];
|
||||
};
|
||||
|
||||
class JAIZelAnime {
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
#ifndef JAZELAUDIO_BGM_H
|
||||
#define JAZELAUDIO_BGM_H
|
||||
|
||||
enum {
|
||||
JA_BGM_SE_SEQUENCE = 0x0800,
|
||||
JA_BGM_ISLAND_LINK = 0x0001,
|
||||
JA_BGM_ITEM_GET = 0x0002,
|
||||
JA_BGM_GOMA = 0x0003,
|
||||
JA_BGM_BATTLE_NORM = 0x0004,
|
||||
JA_BGM_KINDAN_BOSS = 0x0005,
|
||||
JA_BGM_D_RYU_MT = 0x0006,
|
||||
JA_BGM_I_MAJU = 0x0007,
|
||||
JA_BGM_HOUSE = 0x0008,
|
||||
JA_BGM_OPEN_BOX = 0x0009,
|
||||
JA_BGM_DIE_LINK = 0x000A,
|
||||
JA_BGM_SEA_GAME = 0x000B,
|
||||
JA_BGM_SEA_GOAL = 0x000C,
|
||||
JA_BGM_SEA_FAIL = 0x000D,
|
||||
JA_BGM_ISLAND_LINK_2 = 0x000E,
|
||||
JA_BGM_I_MAJU_JAIL = 0x000F,
|
||||
JA_BGM_GOMA_2 = 0x0010,
|
||||
JA_BGM_JI_TRAINING = 0x0011,
|
||||
JA_BGM_TETRA_MEET = 0x0012,
|
||||
JA_BGM_BK_FLY_DOWN = 0x0013,
|
||||
JA_BGM_DK_BATTLE = 0x0014,
|
||||
JA_BGM_MJ_TOWER_BATTLE = 0x0015,
|
||||
JA_BGM_FIND_TETRA = 0x0016,
|
||||
JA_BGM_I_LINK_FOREST = 0x0017,
|
||||
JA_BGM_HOUSE_G = 0x0018,
|
||||
JA_BGM_MBOSS = 0x0019,
|
||||
JA_BGM_MBOSS_S = 0x001A,
|
||||
JA_BGM_BOAT_SHOP = 0x001B,
|
||||
JA_BGM_SEA_ENEMY = 0x001C,
|
||||
JA_BGM_MORNING = 0x001D,
|
||||
JA_BGM_SELECT = 0x001E,
|
||||
JA_BGM_MEDRI_AWAKE = 0x001F,
|
||||
JA_BGM_MAKORE_AWAKE = 0x0020,
|
||||
JA_BGM_TAKT_MAKORE = 0x0021,
|
||||
JA_BGM_TAKT_MEDRI = 0x0022,
|
||||
JA_BGM_BST_BATTLE = 0x0023,
|
||||
JA_BGM_GET_HEART = 0x0024,
|
||||
JA_BGM_ITEM_GET_S = 0x0025,
|
||||
JA_BGM_D_FOREST = 0x0026,
|
||||
JA_BGM_GET_SONG = 0x0027,
|
||||
JA_BGM_KAMI_TOWER = 0x0028,
|
||||
JA_BGM_RANE_BATTLE = 0x0029,
|
||||
JA_BGM_PIRATE = 0x002A,
|
||||
JA_BGM_DIOCTA_BATTLE = 0x002B,
|
||||
JA_BGM_PIRATE_C = 0x002C,
|
||||
JA_BGM_D_EARTH = 0x002D,
|
||||
JA_BGM_SEA = 0x002E,
|
||||
JA_BGM_D_WIND = 0x002F,
|
||||
JA_BGM_TAKT_CHUYA = 0x0030,
|
||||
JA_BGM_TAKT_KAZE = 0x0031,
|
||||
JA_BGM_TAKT_SHIPPU = 0x0032,
|
||||
JA_BGM_TETRA_MEET_B = 0x0033,
|
||||
JA_BGM_HYRULE_OFF = 0x0034,
|
||||
JA_BGM_HYRULE_ON = 0x0035,
|
||||
JA_BGM_CB_NEXTYEAR = 0x0036,
|
||||
JA_BGM_CB_NEXTYEAR_W = 0x0037,
|
||||
JA_BGM_ISLAND_LINK_0 = 0x0038,
|
||||
JA_BGM_ISLAND_WOOD = 0x0039,
|
||||
JA_BGM_ISLAND_DRAGON = 0x003A,
|
||||
JA_BGM_ISLAND_TAURA = 0x003B,
|
||||
JA_BGM_SEA_STORM = 0x003C,
|
||||
JA_BGM_PIRATE_DEMO5 = 0x003D,
|
||||
JA_BGM_JI_TRAINING_2 = 0x003E,
|
||||
JA_BGM_I_WOOD_INNER = 0x003F,
|
||||
JA_BGM_DRUG_STORE = 0x0040,
|
||||
JA_BGM_P_GANON_1 = 0x0041,
|
||||
JA_BGM_D_GANON_1 = 0x0042,
|
||||
JA_BGM_D_GANON_2 = 0x0043,
|
||||
JA_BGM_BAACHAN = 0x0044,
|
||||
JA_BGM_DEKU_PINCH = 0x0045,
|
||||
JA_BGM_DIOCTA_2 = 0x0046,
|
||||
JA_BGM_P_GANON_2 = 0x0047,
|
||||
JA_BGM_BIG_POW = 0x0048,
|
||||
JA_BGM_PAST_BIG_POW = 0x0049,
|
||||
JA_BGM_PAST_BKM = 0x004A,
|
||||
JA_BGM_PAST_GOMA = 0x004B,
|
||||
JA_BGM_PAST_RANE = 0x004C,
|
||||
JA_BGM_GANON_BATTLE = 0x004D,
|
||||
JA_BGM_MASTER_SWORD = 0x004E,
|
||||
JA_BGM_GET_PEARL = 0x004F,
|
||||
JA_BGM_BIRDMAN = 0x0050,
|
||||
JA_BGM_BIRDMAN_GOAL = 0x0051,
|
||||
JA_BGM_BIRDMAN_FAIL = 0x0052,
|
||||
JA_BGM_ELF = 0x0053,
|
||||
JA_BGM_PAST_GOMA_2 = 0x0054,
|
||||
JA_BGM_ISLAND_LINK_3 = 0x0055,
|
||||
JA_BGM_DEATH_VALLEY = 0x0056,
|
||||
JA_BGM_JABOO_CAVE = 0x0057,
|
||||
JA_BGM_SUB_DUNGEON = 0x0058,
|
||||
JA_BGM_BGN_KUGUTSU = 0x0059,
|
||||
JA_BGM_BGN_TARABA = 0x005A,
|
||||
JA_BGM_BGN_HAYAMUSHI = 0x005B,
|
||||
JA_BGM_BGN_TARABA_IN = 0x005C,
|
||||
JA_BGM_BGN_GET_BOX = 0x005D,
|
||||
JA_BGM_I_MAJU_2ND = 0x005E,
|
||||
JA_BGM_MAKORE_TAKT_8 = 0x005F,
|
||||
JA_BGM_MEDORI_TAKT_8 = 0x0060,
|
||||
JA_BGM_TRIFORCE_DEMO = 0x0061,
|
||||
};
|
||||
|
||||
#endif /* JAZELAUDIO_BGM_H */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -63,8 +63,8 @@ public:
|
||||
/* 0x04 */ u32 mMagic;
|
||||
/* 0x08 */ int mTag;
|
||||
/* 0x0C */ JGeometry::TBox2<f32> mBounds;
|
||||
/* 0x1C */ JGeometry::TBox2<f32> mScreenPos;
|
||||
/* 0x2C */ JGeometry::TBox2<f32> mBox;
|
||||
/* 0x1C */ JGeometry::TBox2<f32> mScreenBounds;
|
||||
/* 0x2C */ JGeometry::TBox2<f32> mDrawBounds;
|
||||
/* 0x3C */ Mtx mMtx;
|
||||
/* 0x6C */ Mtx mDrawMtx;
|
||||
/* 0x9C */ cXy mBasePosition;
|
||||
@@ -75,7 +75,7 @@ public:
|
||||
/* 0xAB */ u8 mCullMode;
|
||||
/* 0xAC */ u8 mAlpha;
|
||||
/* 0xAD */ u8 mDrawAlpha;
|
||||
/* 0xAE */ u8 field_0xae;
|
||||
/* 0xAE */ u8 mInheritAlpha;
|
||||
/* 0xAF */ u8 field_0xaf;
|
||||
/* 0xB0 */ JSUTree<J2DPane> mPaneTree;
|
||||
};
|
||||
|
||||
@@ -57,7 +57,7 @@ struct J3DAnmTransformFullTable {
|
||||
struct J3DAnmTexPatternFullTable {
|
||||
/* 0x00 */ u16 mMaxFrame;
|
||||
/* 0x02 */ u16 mOffset;
|
||||
/* 0x04 */ u8 _4;
|
||||
/* 0x04 */ u8 mTexNo;
|
||||
/* 0x06 */ u16 _6;
|
||||
}; // Size = 0x8
|
||||
|
||||
@@ -66,7 +66,7 @@ struct J3DAnmCRegKeyTable {
|
||||
/* 0x06 */ J3DAnmKeyTableBase mGTable;
|
||||
/* 0x0C */ J3DAnmKeyTableBase mBTable;
|
||||
/* 0x12 */ J3DAnmKeyTableBase mATable;
|
||||
/* 0x18 */ u8 _18;
|
||||
/* 0x18 */ u8 mColorId;
|
||||
u8 padding[3];
|
||||
}; // Size = 0x1C
|
||||
|
||||
@@ -75,7 +75,7 @@ struct J3DAnmKRegKeyTable {
|
||||
/* 0x06 */ J3DAnmKeyTableBase mGTable;
|
||||
/* 0x0C */ J3DAnmKeyTableBase mBTable;
|
||||
/* 0x12 */ J3DAnmKeyTableBase mATable;
|
||||
/* 0x18 */ u8 _18;
|
||||
/* 0x18 */ u8 mColorId;
|
||||
u8 padding[3];
|
||||
}; // Size = 0x1C
|
||||
|
||||
@@ -303,10 +303,10 @@ private:
|
||||
|
||||
class J3DAnmTransform : public J3DAnmBase {
|
||||
public:
|
||||
/* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*);
|
||||
J3DAnmTransform(s16, f32*, s16*, f32*);
|
||||
|
||||
/* 8003B93C */ virtual ~J3DAnmTransform();
|
||||
/* 8003C77C */ virtual s32 getKind() const;
|
||||
virtual ~J3DAnmTransform();
|
||||
virtual s32 getKind() const;
|
||||
virtual void getTransform(u16, J3DTransformInfo*) const = 0;
|
||||
|
||||
private:
|
||||
@@ -326,11 +326,11 @@ public:
|
||||
field_0x24 = 0;
|
||||
}
|
||||
|
||||
/* 80329A34 */ void calcTransform(f32, u16, J3DTransformInfo*) const;
|
||||
void calcTransform(f32, u16, J3DTransformInfo*) const;
|
||||
|
||||
/* 8003B8D0 */ virtual ~J3DAnmTransformKey();
|
||||
/* 8003C800 */ virtual s32 getKind() const;
|
||||
/* 8003C808 */ virtual void getTransform(u16, J3DTransformInfo*) const;
|
||||
virtual ~J3DAnmTransformKey();
|
||||
virtual s32 getKind() const;
|
||||
virtual void getTransform(u16, J3DTransformInfo*) const;
|
||||
|
||||
private:
|
||||
/* 0x20 */ int field_0x20;
|
||||
@@ -339,9 +339,9 @@ private:
|
||||
|
||||
class J3DAnmTransformFull : public J3DAnmTransform {
|
||||
public:
|
||||
/* 8032C2AC */ virtual ~J3DAnmTransformFull();
|
||||
/* 8032C318 */ virtual s32 getKind() const;
|
||||
/* 80328E90 */ virtual void getTransform(u16, J3DTransformInfo*) const;
|
||||
virtual ~J3DAnmTransformFull();
|
||||
virtual s32 getKind() const;
|
||||
virtual void getTransform(u16, J3DTransformInfo*) const;
|
||||
|
||||
private:
|
||||
/* 0x20 */ int field_0x20;
|
||||
@@ -349,9 +349,9 @@ private:
|
||||
|
||||
class J3DAnmTransformFullWithLerp : public J3DAnmTransformFull {
|
||||
public:
|
||||
/* 8032C228 */ virtual ~J3DAnmTransformFullWithLerp();
|
||||
/* 8032C2A4 */ virtual s32 getKind() const;
|
||||
/* 803291F0 */ virtual void getTransform(u16, J3DTransformInfo*) const;
|
||||
virtual ~J3DAnmTransformFullWithLerp();
|
||||
virtual s32 getKind() const;
|
||||
virtual void getTransform(u16, J3DTransformInfo*) const;
|
||||
}; // Size: 0x24
|
||||
|
||||
struct J3DTextureSRTInfo;
|
||||
@@ -360,59 +360,63 @@ class J3DMaterialTable;
|
||||
|
||||
class J3DAnmTextureSRTKey : public J3DAnmBase {
|
||||
public:
|
||||
/* 80329E5C */ J3DAnmTextureSRTKey();
|
||||
/* 80329F14 */ void calcTransform(f32, u16, J3DTextureSRTInfo*) const;
|
||||
/* 8032B0C0 */ void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
/* 8032B1D4 */ void searchUpdateMaterialID(J3DModelData*);
|
||||
J3DAnmTextureSRTKey();
|
||||
void calcTransform(f32, u16, J3DTextureSRTInfo*) const;
|
||||
void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
void searchUpdateMaterialID(J3DModelData*);
|
||||
|
||||
/* 8032C198 */ virtual ~J3DAnmTextureSRTKey();
|
||||
/* 8032C220 */ virtual s32 getKind() const;
|
||||
virtual ~J3DAnmTextureSRTKey();
|
||||
virtual s32 getKind() const;
|
||||
|
||||
void getTransform(u16 param_0, J3DTextureSRTInfo* pSRTInfo) const {
|
||||
calcTransform(getFrame(), param_0, pSRTInfo);
|
||||
}
|
||||
|
||||
u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; }
|
||||
u16 getUpdateMaterialNum() const { return field_0x14 / 3; }
|
||||
u16 getUpdateMaterialNum() const { return mTrackNum / 3; }
|
||||
u16 getUpdateTexMtxID(u16 idx) const { return mUpdateTexMtxID[idx]; }
|
||||
|
||||
u32 getTexMtxCalcType() const { return mTexMtxCalcType; }
|
||||
Vec& getSRTCenter(u16 idx) const { return mSRTCenter[idx]; }
|
||||
|
||||
private:
|
||||
/* 0x0C */ int field_0xc;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u16 field_0x16;
|
||||
/* 0x18 */ u16 field_0x18;
|
||||
/* 0x1A */ u16 field_0x1a;
|
||||
/* 0x1C */ int field_0x1c;
|
||||
/* 0x20 */ int field_0x20;
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x28 */ u8 mUpdateTexMtxID[4];
|
||||
/* 0x2C */ u16* mUpdateMaterialID;
|
||||
/* 0x30 */ JUTNameTab field_0x30;
|
||||
/* 0x40 */ int field_0x40;
|
||||
/* 0x44 */ u16 field_0x44;
|
||||
/* 0x46 */ u16 field_0x46;
|
||||
/* 0x48 */ u16 field_0x48;
|
||||
/* 0x4A */ u16 field_0x4a;
|
||||
/* 0x4C */ int field_0x4c;
|
||||
/* 0x50 */ int field_0x50;
|
||||
/* 0x54 */ int field_0x54;
|
||||
/* 0x58 */ int field_0x58;
|
||||
/* 0x5C */ u8 field_0x5c[4];
|
||||
/* 0x60 */ u16* field_0x60;
|
||||
/* 0x64 */ JUTNameTab field_0x64;
|
||||
/* 0x74 */ u8 field_0x74[4];
|
||||
/* 0x78 */ u32 mTexMtxCalcType;
|
||||
}; // Size: 0x7C
|
||||
/* 0x0C */ void* field_0xc;
|
||||
/* 0x10 */ int mDecShift;
|
||||
/* 0x14 */ u16 mTrackNum;
|
||||
/* 0x18 */ void* mAnmTable;
|
||||
/* 0x1C */ u16 mScaleNum;
|
||||
/* 0x1E */ u16 mRotNum;
|
||||
/* 0x20 */ u16 mTransNum;
|
||||
/* 0x24 */ f32* mScaleData;
|
||||
/* 0x28 */ f32* mRotData;
|
||||
/* 0x2C */ f32* mTransData;
|
||||
/* 0x30 */ u8* mUpdateTexMtxID;
|
||||
/* 0x34 */ u16* mUpdateMaterialID;
|
||||
/* 0x38 */ JUTNameTab mMaterialName;
|
||||
/* 0x48 */ Vec* mSRTCenter;
|
||||
/* 0x4C */ u16 mPostTrackNum;
|
||||
/* 0x50 */ void * mPostAnmTable;
|
||||
/* 0x54 */ void * field_0x54;
|
||||
/* 0x58 */ void * field_0x58;
|
||||
/* 0x5C */ f32* mPostScaleData;
|
||||
/* 0x60 */ f32* mPostRotData;
|
||||
/* 0x64 */ f32* mPostTransData;
|
||||
/* 0x68 */ u8* mPostUpdateTexMtxID;
|
||||
/* 0x68 */ u16* mPostUpdateMaterialID;
|
||||
/* 0x70 */ JUTNameTab mDualName;
|
||||
/* 0x80 */ Vec* mPostSRTCenter;
|
||||
/* 0x80 */ u32 mTexMtxCalcType;
|
||||
}; // Size: 0x88
|
||||
|
||||
class J3DAnmTexPattern : public J3DAnmBase {
|
||||
STATIC_ASSERT(sizeof(J3DAnmTextureSRTKey) == 0x88);
|
||||
|
||||
class J3DAnmVisibilityFull : public J3DAnmBase {
|
||||
public:
|
||||
/* 8032AED8 */ J3DAnmTexPattern();
|
||||
/* 8032AF50 */ void getTexNo(u16, u16*) const;
|
||||
/* 8032B004 */ void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
/* 8032B09C */ void searchUpdateMaterialID(J3DModelData*);
|
||||
J3DAnmVisibilityFull();
|
||||
bool getVisibility(u16, u8*) const;
|
||||
|
||||
/* 8032BD20 */ virtual ~J3DAnmTexPattern();
|
||||
/* 8032BD94 */ virtual s32 getKind() const;
|
||||
virtual ~J3DAnmVisibilityFull();
|
||||
virtual s32 getKind() const;
|
||||
|
||||
private:
|
||||
/* 0x0C */ void* field_0xc;
|
||||
@@ -423,16 +427,41 @@ private:
|
||||
/* 0x1C */ JUTNameTab field_0x1c;
|
||||
}; // Size: 0x2C
|
||||
|
||||
class J3DAnmTexPattern : public J3DAnmBase {
|
||||
public:
|
||||
J3DAnmTexPattern();
|
||||
void getTexNo(u16, u16*) const;
|
||||
void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
void searchUpdateMaterialID(J3DModelData*);
|
||||
|
||||
u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; }
|
||||
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
|
||||
|
||||
J3DAnmTexPatternFullTable * getAnmTable() const { return mAnmTable; }
|
||||
|
||||
virtual ~J3DAnmTexPattern();
|
||||
virtual s32 getKind() const;
|
||||
|
||||
private:
|
||||
/* 0x0C */ void* field_0xc;
|
||||
/* 0x10 */ s16* mTextureIndex;
|
||||
/* 0x14 */ J3DAnmTexPatternFullTable* mAnmTable;
|
||||
/* 0x18 */ u16 field_0x18;
|
||||
/* 0x1A */ u16 mUpdateMaterialNum;
|
||||
/* 0x1C */ u16* mUpdateMaterialID;
|
||||
/* 0x20 */ JUTNameTab mMaterialName;
|
||||
}; // Size: 0x2C
|
||||
|
||||
class J3DAnmTevRegKey : public J3DAnmBase {
|
||||
public:
|
||||
/* 8032AE18 */ J3DAnmTevRegKey();
|
||||
/* 8032B1F8 */ void getTevColorReg(u16, _GXColorS10*) const;
|
||||
/* 8032B4BC */ void getTevKonstReg(u16, _GXColor*) const;
|
||||
/* 8032B780 */ void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
/* 8032B87C */ void searchUpdateMaterialID(J3DModelData*);
|
||||
J3DAnmTevRegKey();
|
||||
void getTevColorReg(u16, _GXColorS10*) const;
|
||||
void getTevKonstReg(u16, _GXColor*) const;
|
||||
void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
void searchUpdateMaterialID(J3DModelData*);
|
||||
|
||||
/* 8032BD9C */ virtual ~J3DAnmTevRegKey();
|
||||
/* 8032BE24 */ virtual s32 getKind() const;
|
||||
virtual ~J3DAnmTevRegKey();
|
||||
virtual s32 getKind() const;
|
||||
|
||||
u16 getCRegUpdateMaterialNum() const { return mCRegUpdateMaterialNum; }
|
||||
u16 getKRegUpdateMaterialNum() const { return mKRegUpdateMaterialNum; }
|
||||
@@ -440,41 +469,34 @@ public:
|
||||
u16 getCRegUpdateMaterialID(u16 idx) const { return mCRegUpdateMaterialID[idx]; }
|
||||
u16 getKRegUpdateMaterialID(u16 idx) const { return mKRegUpdateMaterialID[idx]; }
|
||||
|
||||
J3DAnmCRegKeyTable * getAnmCRegKeyTable() const { return mAnmCRegKeyTable; }
|
||||
J3DAnmKRegKeyTable * getAnmKRegKeyTable() const { return mAnmKRegKeyTable; }
|
||||
|
||||
private:
|
||||
/* 0x0C */ u16 mCRegUpdateMaterialNum;
|
||||
/* 0x0E */ u16 mKRegUpdateMaterialNum;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u16 field_0x16;
|
||||
/* 0x18 */ u16 field_0x18;
|
||||
/* 0x1A */ u16 field_0x1a;
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
/* 0x1E */ u16 field_0x1e;
|
||||
/* 0x20 */ u16* mCRegUpdateMaterialID;
|
||||
/* 0x24 */ JUTNameTab field_0x24;
|
||||
/* 0x34 */ u16* mKRegUpdateMaterialID;
|
||||
/* 0x38 */ JUTNameTab field_0x38;
|
||||
/* 0x48 */ void* field_0x48;
|
||||
/* 0x4C */ void* field_0x4c;
|
||||
/* 0x50 */ int field_0x50;
|
||||
/* 0x54 */ int field_0x54;
|
||||
/* 0x58 */ int field_0x58;
|
||||
/* 0x5C */ int field_0x5c;
|
||||
/* 0x60 */ int field_0x60;
|
||||
/* 0x64 */ int field_0x64;
|
||||
/* 0x68 */ int field_0x68;
|
||||
/* 0x6C */ int field_0x6c;
|
||||
}; // Size: 0x70
|
||||
/* 0x0C */ u32 field_0x0c;
|
||||
/* 0x10 */ u16 mCRegUpdateMaterialNum;
|
||||
/* 0x12 */ u16 mKRegUpdateMaterialNum;
|
||||
/* 0x14 */ u16 mCRegDataCount[4];
|
||||
/* 0x1C */ u16 mKRegDataCount[4];
|
||||
/* 0x24 */ u16* mCRegUpdateMaterialID;
|
||||
/* 0x28 */ JUTNameTab mCRegNameTab;
|
||||
/* 0x38 */ u16* mKRegUpdateMaterialID;
|
||||
/* 0x3C */ JUTNameTab mKRegNameTab;
|
||||
/* 0x4C */ J3DAnmCRegKeyTable* mAnmCRegKeyTable;
|
||||
/* 0x50 */ J3DAnmKRegKeyTable* mAnmKRegKeyTable;
|
||||
/* 0x54 */ s16 * mAnmCRegData[4];
|
||||
/* 0x64 */ s16 * mAnmKRegData[4];
|
||||
}; // Size: 0x74
|
||||
|
||||
class J3DAnmColor : public J3DAnmBase {
|
||||
public:
|
||||
/* 8032A828 */ J3DAnmColor();
|
||||
/* 8032A8A4 */ void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
J3DAnmColor();
|
||||
void searchUpdateMaterialID(J3DMaterialTable*);
|
||||
void searchUpdateMaterialID(J3DModelData*);
|
||||
|
||||
/* 8032BCAC */ virtual ~J3DAnmColor();
|
||||
/* 8032BF44 */ virtual s32 getKind() const;
|
||||
/* 8032BF4C */ virtual void getColor(u16, _GXColor*) const;
|
||||
virtual ~J3DAnmColor();
|
||||
virtual s32 getKind() const;
|
||||
virtual void getColor(u16, _GXColor*) const;
|
||||
|
||||
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
|
||||
bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
|
||||
@@ -485,18 +507,19 @@ private:
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u16 mUpdateMaterialNum;
|
||||
/* 0x18 */ u16* mUpdateMaterialID;
|
||||
/* 0x1C */ JUTNameTab field_0x1c;
|
||||
}; // Size: 0x2C
|
||||
/* 0x14 */ u32 field_0x14;
|
||||
/* 0x18 */ u16 mUpdateMaterialNum;
|
||||
/* 0x1C */ u16* mUpdateMaterialID;
|
||||
/* 0x20 */ JUTNameTab field_0x1c;
|
||||
}; // Size: 0x30
|
||||
|
||||
class J3DAnmColorKey : public J3DAnmColor {
|
||||
public:
|
||||
/* 8032AB00 */ J3DAnmColorKey();
|
||||
J3DAnmColorKey();
|
||||
|
||||
/* 8032BE2C */ virtual ~J3DAnmColorKey();
|
||||
/* 8032BEB0 */ virtual s32 getKind() const;
|
||||
/* 8032AB54 */ virtual void getColor(u16, _GXColor*) const;
|
||||
virtual ~J3DAnmColorKey();
|
||||
virtual s32 getKind() const;
|
||||
virtual void getColor(u16, _GXColor*) const;
|
||||
|
||||
private:
|
||||
/* 0x2C */ int field_0x2c;
|
||||
@@ -508,11 +531,11 @@ private:
|
||||
|
||||
class J3DAnmColorFull : public J3DAnmColor {
|
||||
public:
|
||||
/* 8032AB00 */ J3DAnmColorFull();
|
||||
J3DAnmColorFull();
|
||||
|
||||
/* 8032BE2C */ virtual ~J3DAnmColorFull();
|
||||
/* 8032BEB0 */ virtual s32 getKind() const;
|
||||
/* 8032AB54 */ virtual void getColor(u16, _GXColor*) const;
|
||||
virtual ~J3DAnmColorFull();
|
||||
virtual s32 getKind() const;
|
||||
virtual void getColor(u16, _GXColor*) const;
|
||||
|
||||
private:
|
||||
/* 0x2C */ int field_0x2c;
|
||||
@@ -537,22 +560,22 @@ private:
|
||||
|
||||
class J3DAnmVtxColorKey : public J3DAnmVtxColor {
|
||||
public:
|
||||
/* 8032A4E0 */ J3DAnmVtxColorKey();
|
||||
J3DAnmVtxColorKey();
|
||||
|
||||
/* 8032BF50 */ virtual ~J3DAnmVtxColorKey();
|
||||
/* 8032BFBC */ virtual s32 getKind() const;
|
||||
/* 8032A53C */ virtual void getColor(u8, u16, _GXColor*) const;
|
||||
virtual ~J3DAnmVtxColorKey();
|
||||
virtual s32 getKind() const;
|
||||
virtual void getColor(u8, u16, _GXColor*) const;
|
||||
|
||||
private:
|
||||
/* 0x18 */ int field_0x18[2];
|
||||
};
|
||||
|
||||
class J3DAnmVtxColorFull : public J3DAnmVtxColor {
|
||||
/* 8032A30C */ J3DAnmVtxColorFull();
|
||||
J3DAnmVtxColorFull();
|
||||
|
||||
/* 8032BFC4 */ virtual ~J3DAnmVtxColorFull();
|
||||
/* 8032C030 */ virtual s32 getKind() const;
|
||||
/* 8032A368 */ virtual void getColor(u8, u16, _GXColor*) const;
|
||||
virtual ~J3DAnmVtxColorFull();
|
||||
virtual s32 getKind() const;
|
||||
virtual void getColor(u8, u16, _GXColor*) const;
|
||||
|
||||
private:
|
||||
/* 0x18 */ int field_0x18[2];
|
||||
@@ -560,9 +583,9 @@ private:
|
||||
|
||||
class J3DAnmCluster : public J3DAnmBase {
|
||||
public:
|
||||
/* 8032BCAC */ virtual ~J3DAnmCluster();
|
||||
/* 8032BF44 */ virtual s32 getKind() const;
|
||||
/* 8032BF4C */ virtual f32 getWeight(u16) const;
|
||||
virtual ~J3DAnmCluster();
|
||||
virtual s32 getKind() const;
|
||||
virtual f32 getWeight(u16) const;
|
||||
|
||||
private:
|
||||
/* 0x0C */ f32* field_0xc;
|
||||
@@ -570,9 +593,9 @@ private:
|
||||
|
||||
class J3DAnmClusterFull : public J3DAnmCluster {
|
||||
public:
|
||||
/* 8032BCAC */ virtual ~J3DAnmClusterFull();
|
||||
/* 8032BF44 */ virtual s32 getKind() const;
|
||||
/* 8032BF4C */ virtual f32 getWeight(u16) const;
|
||||
virtual ~J3DAnmClusterFull();
|
||||
virtual s32 getKind() const;
|
||||
virtual f32 getWeight(u16) const;
|
||||
|
||||
private:
|
||||
/* 0x10 */ int field_0x10;
|
||||
@@ -580,9 +603,9 @@ private:
|
||||
|
||||
class J3DAnmClusterKey : public J3DAnmCluster {
|
||||
public:
|
||||
/* 8032C044 */ virtual ~J3DAnmClusterKey();
|
||||
/* 8032C0B0 */ virtual s32 getKind() const;
|
||||
/* 8032A218 */ virtual f32 getWeight(u16) const;
|
||||
virtual ~J3DAnmClusterKey();
|
||||
virtual s32 getKind() const;
|
||||
virtual f32 getWeight(u16) const;
|
||||
|
||||
private:
|
||||
/* 0x10 */ int field_0x10;
|
||||
|
||||
@@ -11,17 +11,13 @@ class J3DMtxBuffer;
|
||||
|
||||
class J3DMtxCalc {
|
||||
public:
|
||||
/* 80325D1C */ static void setMtxBuffer(J3DMtxBuffer*);
|
||||
static void setMtxBuffer(J3DMtxBuffer*);
|
||||
|
||||
/* 8000D948 */ virtual ~J3DMtxCalc();
|
||||
/* 80014E90 */ virtual void setAnmTransform(J3DAnmTransform*);
|
||||
/* 80014E9C */ virtual bool getAnmTransform();
|
||||
/* 80014E8C */ virtual void setAnmTransform(u8, J3DAnmTransform*);
|
||||
/* 80014E94 */ virtual bool getAnmTransform(u8);
|
||||
/* 80014EA4 */ virtual void setWeight(u8, f32);
|
||||
/* 80014EA8 */ virtual void getWeight(u8) const;
|
||||
virtual void init(Vec const& param_0, Mtx*) = 0;
|
||||
virtual ~J3DMtxCalc();
|
||||
virtual void init(Vec const& param_0, const Mtx&) = 0;
|
||||
virtual void recursiveCalc(J3DNode *);
|
||||
virtual void calc() = 0;
|
||||
virtual void calcTransform(u16, J3DTransformInfo const &) = 0;
|
||||
|
||||
static J3DMtxBuffer* getMtxBuffer() { return mMtxBuffer; }
|
||||
static J3DJoint* getJoint() { return mJoint; }
|
||||
@@ -33,7 +29,7 @@ public:
|
||||
|
||||
class J3DMtxCalcNoAnmBase : public J3DMtxCalc {
|
||||
public:
|
||||
/* 8000FA8C */ virtual ~J3DMtxCalcNoAnmBase();
|
||||
virtual ~J3DMtxCalcNoAnmBase();
|
||||
};
|
||||
|
||||
template <class A, class B>
|
||||
@@ -47,9 +43,10 @@ public:
|
||||
|
||||
class J3DJoint : public J3DNode {
|
||||
public:
|
||||
/* 8032F170 */ J3DJoint();
|
||||
/* 8032F254 */ void entryIn();
|
||||
/* 8032F3F8 */ void recursiveCalc();
|
||||
J3DJoint();
|
||||
void entryIn();
|
||||
void recursiveCalc();
|
||||
void addMesh(J3DMaterial*);
|
||||
|
||||
J3DMaterial* getMesh() { return mMesh; }
|
||||
u16 getJntNo() const { return mJntNo; }
|
||||
@@ -83,23 +80,23 @@ private:
|
||||
}; // Size: 0x54
|
||||
|
||||
struct J3DMtxCalcJ3DSysInitMaya {
|
||||
/* 8032ECAC */ static void init(Vec const&, f32 const (&)[3][4]);
|
||||
static void init(Vec const&, f32 const (&)[3][4]);
|
||||
};
|
||||
|
||||
struct J3DMtxCalcJ3DSysInitBasic {
|
||||
/* 8032EC28 */ static void init(Vec const&, f32 const (&)[3][4]);
|
||||
static void init(Vec const&, f32 const (&)[3][4]);
|
||||
};
|
||||
|
||||
struct J3DMtxCalcCalcTransformSoftimage {
|
||||
/* 8032EE50 */ static void calcTransform(J3DTransformInfo const&);
|
||||
static void calcTransform(J3DTransformInfo const&);
|
||||
};
|
||||
|
||||
struct J3DMtxCalcCalcTransformMaya {
|
||||
/* 8032EFBC */ static void calcTransform(J3DTransformInfo const&);
|
||||
static void calcTransform(J3DTransformInfo const&);
|
||||
};
|
||||
|
||||
struct J3DMtxCalcCalcTransformBasic {
|
||||
/* 8032ED30 */ static void calcTransform(J3DTransformInfo const&);
|
||||
static void calcTransform(J3DTransformInfo const&);
|
||||
};
|
||||
|
||||
#endif /* J3DJOINT_H */
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
class JUTNameTab;
|
||||
|
||||
@@ -14,8 +15,8 @@ struct J3DModelHierarchy {
|
||||
class J3DMaterialTable;
|
||||
|
||||
struct J3DDrawMtxData {
|
||||
/* 803115E0 */ J3DDrawMtxData();
|
||||
/* 803115F4 */ ~J3DDrawMtxData();
|
||||
J3DDrawMtxData();
|
||||
~J3DDrawMtxData();
|
||||
|
||||
/* 0x0 */ u16 mEntryNum;
|
||||
/* 0x2 */ u16 mDrawFullWgtMtxNum;
|
||||
@@ -24,22 +25,22 @@ struct J3DDrawMtxData {
|
||||
}; // Size: 0xC
|
||||
|
||||
class J3DShapeTable;
|
||||
class J3DShape;
|
||||
|
||||
class J3DJointTree {
|
||||
public:
|
||||
/* 80325A18 */ J3DJointTree();
|
||||
/* 80325A9C */ void makeHierarchy(J3DJoint*, J3DModelHierarchy const**, J3DMaterialTable*,
|
||||
J3DShapeTable*);
|
||||
/* 80325C00 */ void findImportantMtxIndex();
|
||||
J3DJointTree() { clear(); }
|
||||
void clear();
|
||||
void makeHierarchy(J3DNode*, const J3DModelHierarchy**, J3DMaterialTable*, J3DShape**);
|
||||
void findImportantMtxIndex();
|
||||
|
||||
/* 80325CAC */ virtual void calc(J3DMtxBuffer*, Vec const&, f32 const (&)[3][4]);
|
||||
/* 80325D24 */ virtual ~J3DJointTree();
|
||||
virtual ~J3DJointTree() {}
|
||||
|
||||
J3DDrawMtxData * getDrawMtxData() { return &mDrawMtxData; }
|
||||
u16 getWEvlpMtxNum() const { return mWEvlpMtxNum; }
|
||||
u8 getWEvlpMixMtxNum(u16 idx) const { return mWEvlpMixMtxNum[idx]; }
|
||||
u16 * getWEvlpMixIndex() const { return mWEvlpMixIndex; }
|
||||
f32 * getWEvlpMixWeight() const { return mWEvlpMixWeight; }
|
||||
u16 * getWEvlpImportantMtxIndex() const { return mWEvlpImportantMtxIdx; }
|
||||
u16 getDrawFullWgtMtxNum() const { return mDrawMtxData.mDrawFullWgtMtxNum; }
|
||||
u16 getJointNum() const { return mJointNum; }
|
||||
u16 getDrawMtxNum() const { return mDrawMtxData.mEntryNum; }
|
||||
@@ -61,15 +62,16 @@ private:
|
||||
/* 0x14 */ J3DMtxCalc* mBasicMtxCalc;
|
||||
/* 0x18 */ u16 mJointNum;
|
||||
/* 0x1C */ J3DJoint** mJointNodePointer;
|
||||
/* 0x1E */ u16 mWEvlpMtxNum;
|
||||
/* 0x20 */ u8* mWEvlpMixMtxNum;
|
||||
/* 0x24 */ u16* mWEvlpMixIndex;
|
||||
/* 0x28 */ f32* mWEvlpMixWeight;
|
||||
/* 0x2C */ Mtx* mInvJointMtx;
|
||||
/* 0x30 */ u16* mWEvlpImportantMtxIdx;
|
||||
/* 0x20 */ u16 mWEvlpMtxNum;
|
||||
/* 0x24 */ u8* mWEvlpMixMtxNum;
|
||||
/* 0x28 */ u16* mWEvlpMixIndex;
|
||||
/* 0x2C */ f32* mWEvlpMixWeight;
|
||||
/* 0x30 */ Mtx* mInvJointMtx;
|
||||
/* 0x34 */ J3DDrawMtxData mDrawMtxData;
|
||||
/* 0x40 */ u32 field_0x40;
|
||||
/* 0x44 */ JUTNameTab* mJointName;
|
||||
}; // Size: 0x48
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DJointTree) == 0x48);
|
||||
|
||||
#endif /* J3DJOINTTREE_H */
|
||||
|
||||
@@ -8,30 +8,34 @@ typedef struct _GXColorS10 GXColorS10;
|
||||
|
||||
class J3DMatColorAnm {
|
||||
public:
|
||||
/* 8003B2B8 */ ~J3DMatColorAnm() {};
|
||||
/* 8003B2F4 */ J3DMatColorAnm() {};
|
||||
~J3DMatColorAnm() {}
|
||||
J3DMatColorAnm() {}
|
||||
J3DMatColorAnm(J3DAnmColor * pAnm, u16 materialIdx) {
|
||||
mAnmColor = pAnm;
|
||||
mMaterialIdx = materialIdx;
|
||||
}
|
||||
|
||||
void operator=(J3DMatColorAnm const& other) {
|
||||
mAnmColor = other.mAnmColor;
|
||||
field_0x0 = other.field_0x0;
|
||||
mMaterialIdx = other.mMaterialIdx;
|
||||
mAnmFlag = other.mAnmFlag;
|
||||
}
|
||||
|
||||
void setAnmFlag(bool flag) { mAnmFlag = flag; }
|
||||
bool getAnmFlag() const { return mAnmFlag; }
|
||||
void calc(_GXColor* pColor) const { mAnmColor->getColor(field_0x0, pColor); }
|
||||
void calc(_GXColor* pColor) const { mAnmColor->getColor(mMaterialIdx, pColor); }
|
||||
|
||||
private:
|
||||
/* 0x0 */ u16 field_0x0;
|
||||
/* 0x0 */ u16 mMaterialIdx;
|
||||
/* 0x2 */ u16 mAnmFlag;
|
||||
/* 0x4 */ J3DAnmColor* mAnmColor;
|
||||
}; // Size: 0x8
|
||||
|
||||
class J3DTexNoAnm {
|
||||
public:
|
||||
/* 8003B1F8 */ ~J3DTexNoAnm() {};
|
||||
/* 8003B240 */ J3DTexNoAnm() {};
|
||||
/* 8003C82C */ virtual void calc(u16* param_0) const { mAnmTexPattern->getTexNo(field_0x4, param_0); }
|
||||
~J3DTexNoAnm() {};
|
||||
J3DTexNoAnm() {};
|
||||
virtual void calc(u16* param_0) const { mAnmTexPattern->getTexNo(field_0x4, param_0); }
|
||||
|
||||
void operator=(J3DTexNoAnm const& other) {
|
||||
mAnmTexPattern = other.mAnmTexPattern;
|
||||
@@ -51,65 +55,77 @@ private:
|
||||
|
||||
class J3DTexMtxAnm {
|
||||
public:
|
||||
/* 8003B264 */ ~J3DTexMtxAnm() {};
|
||||
/* 8003B2A0 */ J3DTexMtxAnm() {};
|
||||
~J3DTexMtxAnm() {}
|
||||
J3DTexMtxAnm() {}
|
||||
J3DTexMtxAnm(J3DAnmTextureSRTKey * pAnm, u16 materialIdx) {
|
||||
mAnmTransform = pAnm;
|
||||
mMaterialIdx = materialIdx;
|
||||
}
|
||||
|
||||
void operator=(J3DTexMtxAnm const& other) {
|
||||
mAnmTransform = other.mAnmTransform;
|
||||
field_0x0 = other.field_0x0;
|
||||
mMaterialIdx = other.mMaterialIdx;
|
||||
mAnmFlag = other.mAnmFlag;
|
||||
}
|
||||
|
||||
void setAnmFlag(bool flag) { mAnmFlag = flag; }
|
||||
void calc(J3DTextureSRTInfo* pSRTInfo) const {
|
||||
mAnmTransform->getTransform(field_0x0, pSRTInfo);
|
||||
mAnmTransform->getTransform(mMaterialIdx, pSRTInfo);
|
||||
}
|
||||
bool getAnmFlag() const { return mAnmFlag; }
|
||||
|
||||
private:
|
||||
/* 0x0 */ u16 field_0x0;
|
||||
/* 0x0 */ u16 mMaterialIdx;
|
||||
/* 0x2 */ u16 mAnmFlag;
|
||||
/* 0x4 */ J3DAnmTextureSRTKey* mAnmTransform;
|
||||
}; // Size: 0x8
|
||||
|
||||
class J3DTevKColorAnm {
|
||||
public:
|
||||
/* 8003B150 */ ~J3DTevKColorAnm() {};
|
||||
/* 8003B18C */ J3DTevKColorAnm() {};
|
||||
~J3DTevKColorAnm() {}
|
||||
J3DTevKColorAnm() {}
|
||||
J3DTevKColorAnm(J3DAnmTevRegKey * pAnm, u16 materialIdx) {
|
||||
mAnmTevReg = pAnm;
|
||||
mMaterialIdx = materialIdx;
|
||||
}
|
||||
|
||||
void operator=(J3DTevKColorAnm const& other) {
|
||||
mAnmTevReg = other.mAnmTevReg;
|
||||
field_0x0 = other.field_0x0;
|
||||
mMaterialIdx = other.mMaterialIdx;
|
||||
mAnmFlag = other.mAnmFlag;
|
||||
}
|
||||
|
||||
void setAnmFlag(bool flag) { mAnmFlag = flag; }
|
||||
bool getAnmFlag() const { return mAnmFlag; }
|
||||
void calc(_GXColor* pColor) const { mAnmTevReg->getTevKonstReg(field_0x0, pColor); }
|
||||
void calc(_GXColor* pColor) const { mAnmTevReg->getTevKonstReg(mMaterialIdx, pColor); }
|
||||
|
||||
private:
|
||||
/* 0x0 */ u16 field_0x0;
|
||||
/* 0x0 */ u16 mMaterialIdx;
|
||||
/* 0x2 */ u16 mAnmFlag;
|
||||
/* 0x4 */ J3DAnmTevRegKey* mAnmTevReg;
|
||||
}; // Size: 0x8
|
||||
|
||||
class J3DTevColorAnm {
|
||||
public:
|
||||
/* 8003B1A4 */ ~J3DTevColorAnm() {};
|
||||
/* 8003B1E0 */ J3DTevColorAnm() {};
|
||||
~J3DTevColorAnm() {}
|
||||
J3DTevColorAnm() {}
|
||||
J3DTevColorAnm(J3DAnmTevRegKey * pAnm, u16 materialIdx) {
|
||||
mAnmTevReg = pAnm;
|
||||
mMaterialIdx = materialIdx;
|
||||
}
|
||||
|
||||
void operator=(J3DTevColorAnm const& other) {
|
||||
mAnmTevReg = other.mAnmTevReg;
|
||||
field_0x0 = other.field_0x0;
|
||||
mMaterialIdx = other.mMaterialIdx;
|
||||
mAnmFlag = other.mAnmFlag;
|
||||
}
|
||||
|
||||
void setAnmFlag(bool flag) { mAnmFlag = flag; }
|
||||
bool getAnmFlag() const { return mAnmFlag; }
|
||||
void calc(_GXColorS10* pColor) const { mAnmTevReg->getTevColorReg(field_0x0, pColor); }
|
||||
void calc(_GXColorS10* pColor) const { mAnmTevReg->getTevColorReg(mMaterialIdx, pColor); }
|
||||
|
||||
private:
|
||||
/* 0x0 */ u16 field_0x0;
|
||||
/* 0x0 */ u16 mMaterialIdx;
|
||||
/* 0x2 */ u16 mAnmFlag;
|
||||
/* 0x4 */ J3DAnmTevRegKey* mAnmTevReg;
|
||||
}; // Size: 0x8
|
||||
@@ -118,24 +134,24 @@ class J3DMaterialAnm {
|
||||
public:
|
||||
J3DMaterialAnm() { initialize(); }
|
||||
|
||||
/* 8032C320 */ void initialize();
|
||||
/* 8032C5A4 */ void setMatColorAnm(int, J3DMatColorAnm*);
|
||||
/* 8032C5E4 */ void setTexMtxAnm(int, J3DTexMtxAnm*);
|
||||
/* 8032C624 */ void setTexNoAnm(int, J3DTexNoAnm*);
|
||||
/* 8032C664 */ void setTevColorAnm(int, J3DTevColorAnm*);
|
||||
/* 8032C6A4 */ void setTevKColorAnm(int, J3DTevKColorAnm*);
|
||||
void initialize();
|
||||
inline void setMatColorAnm(int i, J3DMatColorAnm* pAnm) { mMatColorAnm[i] = pAnm; }
|
||||
inline void setTexMtxAnm(int i, J3DTexMtxAnm* pAnm) { mTexMtxAnm[i] = pAnm; }
|
||||
inline void setTexNoAnm(int i, J3DTexNoAnm* pAnm) { mTexNoAnm[i] = pAnm; }
|
||||
inline void setTevColorAnm(int i, J3DTevColorAnm* pAnm) { mTevColorAnm[i] = pAnm; }
|
||||
inline void setTevKColorAnm(int i, J3DTevKColorAnm* pAnm) { mTevKColorAnm[i] = pAnm; }
|
||||
|
||||
/* 800A4820 */ virtual ~J3DMaterialAnm() {};
|
||||
/* 8032C3C4 */ virtual void calc(J3DMaterial*) const;
|
||||
virtual ~J3DMaterialAnm() {};
|
||||
virtual void calc(J3DMaterial*) const;
|
||||
|
||||
const J3DTexMtxAnm& getTexMtxAnm(int i) const { return mTexMtxAnm[i]; }
|
||||
const J3DTexMtxAnm& getTexMtxAnm(int i) const { return *mTexMtxAnm[i]; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ J3DMatColorAnm mMatColorAnm[2];
|
||||
/* 0x14 */ J3DTexMtxAnm mTexMtxAnm[8];
|
||||
/* 0x54 */ J3DTexNoAnm mTexNoAnm[8];
|
||||
/* 0xB4 */ J3DTevColorAnm mTevColorAnm[4];
|
||||
/* 0xD4 */ J3DTevKColorAnm mTevKColorAnm[4];
|
||||
/* 0x04 */ J3DMatColorAnm * mMatColorAnm[2];
|
||||
/* 0x14 */ J3DTexMtxAnm * mTexMtxAnm[8];
|
||||
/* 0x54 */ J3DTexNoAnm * mTexNoAnm[8];
|
||||
/* 0xB4 */ J3DTevColorAnm * mTevColorAnm[4];
|
||||
/* 0xD4 */ J3DTevKColorAnm * mTevKColorAnm[4];
|
||||
}; // Size: 0xF4
|
||||
|
||||
#endif /* J3DMATERIALANM_H */
|
||||
|
||||
@@ -9,43 +9,54 @@ class J3DAnmColor;
|
||||
class J3DAnmTexPattern;
|
||||
class J3DAnmTextureSRTKey;
|
||||
class J3DAnmTevRegKey;
|
||||
class J3DMatColorAnm;
|
||||
class J3DTexNoAnm;
|
||||
class J3DTexMtxAnm;
|
||||
class J3DTevColorAnm;
|
||||
class J3DTevKColorAnm;
|
||||
class JUTNameTab;
|
||||
|
||||
class J3DMaterialTable {
|
||||
public:
|
||||
/* 8032F5A8 */ void clear();
|
||||
/* 8032F5D0 */ J3DMaterialTable();
|
||||
/* 8032F64C */ int removeMatColorAnimator(J3DAnmColor*);
|
||||
/* 8032F6F8 */ int removeTexNoAnimator(J3DAnmTexPattern*);
|
||||
/* 8032F7B4 */ int removeTexMtxAnimator(J3DAnmTextureSRTKey*);
|
||||
/* 8032F880 */ int removeTevRegAnimator(J3DAnmTevRegKey*);
|
||||
/* 8032F9C0 */ void createTexMtxForAnimator(J3DAnmTextureSRTKey*);
|
||||
/* 8032FAF4 */ void entryMatColorAnimator(J3DAnmColor*);
|
||||
/* 8032FBC8 */ void entryTexNoAnimator(J3DAnmTexPattern*);
|
||||
/* 8032FCC4 */ void entryTexMtxAnimator(J3DAnmTextureSRTKey*);
|
||||
/* 8032FE70 */ void entryTevRegAnimator(J3DAnmTevRegKey*);
|
||||
void clear();
|
||||
J3DMaterialTable();
|
||||
s32 entryMatColorAnimator(J3DAnmColor*);
|
||||
s32 entryTexNoAnimator(J3DAnmTexPattern*);
|
||||
s32 entryTexMtxAnimator(J3DAnmTextureSRTKey*);
|
||||
s32 entryTevRegAnimator(J3DAnmTevRegKey*);
|
||||
int removeMatColorAnimator(J3DAnmColor*);
|
||||
int removeTexNoAnimator(J3DAnmTexPattern*);
|
||||
int removeTexMtxAnimator(J3DAnmTextureSRTKey*);
|
||||
int removeTevRegAnimator(J3DAnmTevRegKey*);
|
||||
s32 setMatColorAnimator(J3DAnmColor*, J3DMatColorAnm *);
|
||||
s32 setTexNoAnimator(J3DAnmTexPattern*, J3DTexNoAnm*);
|
||||
s32 setTexMtxAnimator(J3DAnmTextureSRTKey*, J3DTexMtxAnm*, J3DTexMtxAnm*);
|
||||
s32 setTevRegAnimator(J3DAnmTevRegKey*, J3DTevColorAnm*, J3DTevKColorAnm*);
|
||||
|
||||
/* 8032F604 */ virtual ~J3DMaterialTable();
|
||||
virtual ~J3DMaterialTable();
|
||||
|
||||
J3DMaterial* getMaterialNodePointer(u16 idx) const { return mMaterialNodePointer[idx]; }
|
||||
|
||||
J3DTexture* getTexture() const { return mTexture; }
|
||||
JUTNameTab* getTextureName() const { return mTextureName; }
|
||||
void setTexture(J3DTexture* pTexture) { mTexture = pTexture; }
|
||||
void setTextureName(JUTNameTab* pTextureName) { mTextureName = pTextureName; }
|
||||
|
||||
JUTNameTab* getMaterialName() const { return mMaterialName; }
|
||||
|
||||
u16 getMaterialNum() const { return mMaterialNum; }
|
||||
bool isLocked() const { return field_0x1c == 1; }
|
||||
|
||||
private:
|
||||
friend class J3DJointTree;
|
||||
|
||||
/* 0x04 */ u16 mMaterialNum;
|
||||
/* 0x06 */ u16 mUniqueMatNum;
|
||||
/* 0x08 */ J3DMaterial** mMaterialNodePointer;
|
||||
/* 0x0C */ JUTNameTab* mMaterialName;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
/* 0x14 */ J3DTexture* mTexture;
|
||||
/* 0x18 */ JUTNameTab* mTextureName;
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x14 */ u32 field_0x14;
|
||||
/* 0x18 */ J3DTexture* mTexture;
|
||||
/* 0x1C */ JUTNameTab* mTextureName;
|
||||
}; // Size: 0x20
|
||||
|
||||
#endif /* J3DMATERIALATTACH_H */
|
||||
|
||||
@@ -31,19 +31,22 @@ typedef void (*J3DCalcCallBack)(J3DModel*, u32 timing);
|
||||
|
||||
class J3DMatPacket;
|
||||
class J3DShapePacket;
|
||||
class J3DVisibilityManager;
|
||||
|
||||
class J3DVisibilityManager {
|
||||
public:
|
||||
virtual ~J3DVisibilityManager();
|
||||
virtual void setVisibility(J3DModelData*);
|
||||
};
|
||||
|
||||
class J3DUnkCallBack {
|
||||
public:
|
||||
virtual void calc(J3DModel*);
|
||||
};
|
||||
|
||||
class J3DModel {
|
||||
public:
|
||||
J3DModel() {
|
||||
initialize();
|
||||
}
|
||||
J3DModel(J3DModelData* param_0, u32 param_1, u32 param_2) {
|
||||
initialize();
|
||||
entryModelData(param_0, param_1, param_2);
|
||||
}
|
||||
J3DModel();
|
||||
|
||||
void setBaseTRMtx(f32 (*)[4]);
|
||||
void initialize();
|
||||
s32 entryModelData(J3DModelData*, u32, u32);
|
||||
s32 createShapePacket(J3DModelData*);
|
||||
@@ -58,9 +61,15 @@ public:
|
||||
void calcWeightEnvelopeMtx();
|
||||
void calcNrmMtx();
|
||||
void calcBumpMtx();
|
||||
void calcBBoardMtx();
|
||||
void calcBBoard();
|
||||
void calcDrawMtx();
|
||||
void prepareShapePackets();
|
||||
MtxP getAnmMtx(int);
|
||||
MtxP getAnmMtx(int idx) { return mpNodeMtx[idx]; }
|
||||
|
||||
s32 setNoUseDrawMtx();
|
||||
s32 createSingleDrawMtx(J3DModelData*);
|
||||
s32 createDoubleDrawMtx(J3DModelData*, u32);
|
||||
s32 createBumpMtxArray(J3DModelData*, u32);
|
||||
|
||||
virtual void update();
|
||||
virtual void entry();
|
||||
@@ -78,15 +87,31 @@ public:
|
||||
|
||||
bool isCpuSkinningOn() const { return (mFlags & J3DMdlFlag_SkinPosCpu) && (mFlags & J3DMdlFlag_SkinNrmCpu); }
|
||||
|
||||
void swapDrawMtx() {
|
||||
Mtx* tmp = mpDrawMtxBuf[0][mCurrentViewNo];
|
||||
mpDrawMtxBuf[0][mCurrentViewNo] = mpDrawMtxBuf[1][mCurrentViewNo];
|
||||
mpDrawMtxBuf[1][mCurrentViewNo] = tmp;
|
||||
}
|
||||
|
||||
void swapNrmMtx() {
|
||||
Mtx33* tmp = mpNrmMtxBuf[0][mCurrentViewNo];
|
||||
mpNrmMtxBuf[0][mCurrentViewNo] = mpNrmMtxBuf[1][mCurrentViewNo];
|
||||
mpNrmMtxBuf[1][mCurrentViewNo] = tmp;
|
||||
}
|
||||
|
||||
Mtx& getBaseTRMtx() { return mBaseTransformMtx; }
|
||||
void i_setBaseTRMtx(Mtx m) { MTXCopy(m, mBaseTransformMtx); }
|
||||
void setBaseTRMtx(Mtx m) { MTXCopy(m, mBaseTransformMtx); }
|
||||
u32 getMtxCalcMode() const { return mFlags & 0x03; }
|
||||
u32* getCurrentViewNoPtr() { return &mCurrentViewNo; }
|
||||
u8* getScaleFlagArray() const { return mpScaleFlagArr; }
|
||||
J3DVertexBuffer* getVertexBuffer() const { return (J3DVertexBuffer*)&mVertexBuffer; }
|
||||
J3DMatPacket* getMatPacket(u16 idx) const { return &mpMatPacket[idx]; }
|
||||
J3DShapePacket* getShapePacket(u16 idx) const { return &mpShapePacket[idx]; }
|
||||
// Mtx33* getBumpMtxPtr(int idx) const { return mMtxBuffer->getBumpMtxPtr(idx); }
|
||||
Mtx33* getNrmMtxPtr() const { return mpNrmMtxBuf[1][mCurrentViewNo]; }
|
||||
Mtx** getDrawMtxPtrPtr() const { return mpDrawMtxBuf[1]; }
|
||||
Mtx* getDrawMtxPtr() const { return mpDrawMtxBuf[1][mCurrentViewNo]; }
|
||||
Mtx33** getNrmMtxPtrPtr() const { return mpNrmMtxBuf[1]; }
|
||||
Mtx33* getNrmMtxPtr() const { return mpNrmMtxBuf[1][mCurrentViewNo]; }
|
||||
Mtx33*** getBumpMtxPtrPtr() const { return mpBumpMtxArr[1]; }
|
||||
void setBaseScale(const Vec& scale) { mBaseScale = scale; }
|
||||
void setUserArea(u32 area) { mUserArea = area; }
|
||||
u32 getUserArea() const { return mUserArea; }
|
||||
@@ -113,9 +138,15 @@ public:
|
||||
/* 0x0B8 */ J3DShapePacket* mpShapePacket;
|
||||
/* 0x0BC */ J3DDeformData* mpDeformData;
|
||||
/* 0x0C0 */ J3DSkinDeform* mpSkinDeform;
|
||||
/* 0x0C4 */ void * pad4[2];
|
||||
/* 0x0C4 */ J3DUnkCallBack * field_0xc4;
|
||||
/* 0x0C8 */ J3DUnkCallBack * field_0xc8;
|
||||
/* 0x0CC */ J3DVertexBuffer mVertexBuffer;
|
||||
/* 0x104 */ J3DVisibilityManager * mpVisibilityManager;
|
||||
|
||||
static Mtx sNoUseDrawMtx;
|
||||
static Mtx33 sNoUseNrmMtx;
|
||||
static Mtx* sNoUseDrawMtxPtr;
|
||||
static Mtx33* sNoUseNrmMtxPtr;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DModel) == 0x108);
|
||||
|
||||
@@ -6,26 +6,34 @@
|
||||
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
#include "JSystem/J3DGraphBase/J3DVertex.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
|
||||
typedef struct _GXColor GXColor;
|
||||
class JUTNameTab;
|
||||
|
||||
enum J3DMaterialCopyFlag {
|
||||
J3DMatCopyFlag_Material = 0x01,
|
||||
J3DMatCopyFlag_Texture = 0x02,
|
||||
};
|
||||
|
||||
class J3DModelData {
|
||||
public:
|
||||
/* 80325D88 */ void clear();
|
||||
/* 80325DA0 */ J3DModelData();
|
||||
/* 80325E14 */ s32 newSharedDisplayList(u32);
|
||||
/* 80325EC8 */ void indexToPtr();
|
||||
/* 80325F94 */ void makeSharedDL();
|
||||
/* 8032600C */ void simpleCalcMaterial(u16, f32 (*)[4]);
|
||||
/* 803260CC */ void syncJ3DSysPointers() const;
|
||||
/* 803260F8 */ void syncJ3DSysFlags() const;
|
||||
void clear();
|
||||
J3DModelData();
|
||||
s32 newSharedDisplayList(u32);
|
||||
bool isDeformablePositionFormat() const;
|
||||
void indexToPtr();
|
||||
void makeSharedDL();
|
||||
void initShapeNodes();
|
||||
void sortVcdVatCmd();
|
||||
void setMaterialTable(J3DMaterialTable*, J3DMaterialCopyFlag);
|
||||
|
||||
/* 8032617C */ virtual ~J3DModelData();
|
||||
virtual ~J3DModelData();
|
||||
|
||||
J3DMaterialTable& getMaterialTable() { return mMaterialTable; }
|
||||
JUTNameTab* getMaterialName() const { return mMaterialTable.getMaterialName(); }
|
||||
J3DVertexData& getVertexData() { return mVertexData; }
|
||||
GXVtxAttrFmtList* getVtxAttrFmtList() const { return ((J3DVertexData*)&mVertexData)->getVtxAttrFmtList(); }
|
||||
u16 getShapeNum() const { return mShapeTable.getShapeNum(); }
|
||||
u16 getMaterialNum() const { return mMaterialTable.getMaterialNum(); }
|
||||
u16 getJointNum() const { return mJointTree.getJointNum(); }
|
||||
@@ -35,6 +43,7 @@ public:
|
||||
}
|
||||
u32 getVtxNum() const { return mVertexData.getVtxNum(); }
|
||||
u32 getNrmNum() const { return mVertexData.getNrmNum(); }
|
||||
J3DDrawMtxData * getDrawMtxData() { return mJointTree.getDrawMtxData(); }
|
||||
u8 getDrawMtxFlag(u16 idx) const { return mJointTree.getDrawMtxFlag(idx); }
|
||||
u16 getDrawMtxIndex(u16 idx) const { return mJointTree.getDrawMtxIndex(idx); }
|
||||
J3DShape* getShapeNodePointer(u16 idx) const { return mShapeTable.getShapeNodePointer(idx); }
|
||||
@@ -44,6 +53,8 @@ public:
|
||||
Mtx& getInvJointMtx(s32 idx) const { return mJointTree.getInvJointMtx(idx); }
|
||||
J3DTexture* getTexture() const { return mMaterialTable.getTexture(); }
|
||||
JUTNameTab* getTextureName() const { return mMaterialTable.getTextureName(); }
|
||||
void setTexture(J3DTexture* pTexture) { mMaterialTable.setTexture(pTexture); }
|
||||
void setTextureName(JUTNameTab* pTextureName) { mMaterialTable.setTextureName(pTextureName); }
|
||||
u16 getWEvlpMtxNum() const { return mJointTree.getWEvlpMtxNum(); }
|
||||
u16* getWEvlpMixMtxIndex() const { return mJointTree.getWEvlpMixIndex(); }
|
||||
f32* getWEvlpMixWeight() const { return mJointTree.getWEvlpMixWeight(); }
|
||||
@@ -58,7 +69,6 @@ public:
|
||||
u16 checkBumpFlag() const { return mbHasBumpArray; }
|
||||
void setBumpFlag(u32 flag) { mbHasBumpArray = flag; }
|
||||
bool checkBBoardFlag() const { return mbHasBillboard == 1; }
|
||||
bool isLocked() { return mMaterialTable.isLocked(); }
|
||||
void entryTexMtxAnimator(J3DAnmTextureSRTKey* anm) { mMaterialTable.entryTexMtxAnimator(anm); }
|
||||
void entryTevRegAnimator(J3DAnmTevRegKey* anm) { mMaterialTable.entryTevRegAnimator(anm); }
|
||||
void entryTexNoAnimator(J3DAnmTexPattern* anm) { mMaterialTable.entryTexNoAnimator(anm); }
|
||||
@@ -74,10 +84,6 @@ public:
|
||||
int removeMatColorAnimator(J3DAnmColor* anm) {
|
||||
return mMaterialTable.removeMatColorAnimator(anm);
|
||||
}
|
||||
void syncJ3DSys() {
|
||||
syncJ3DSysFlags();
|
||||
syncJ3DSysPointers();
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x04 */ void* mpRawData;
|
||||
@@ -87,7 +93,10 @@ private:
|
||||
/* 0x10 */ J3DJointTree mJointTree;
|
||||
/* 0x58 */ J3DMaterialTable mMaterialTable;
|
||||
/* 0x78 */ J3DShapeTable mShapeTable;
|
||||
/* 0x88 */ J3DVertexData mVertexData;
|
||||
/* 0x84 */ J3DVertexData mVertexData;
|
||||
/* 0xE0 */ JUTNameTab * mName;
|
||||
}; // Size: 0xE4
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DModelData) == 0xE4);
|
||||
|
||||
#endif /* J3DMODELDATA_H */
|
||||
|
||||
@@ -10,17 +10,17 @@ class J3DMtxBuffer {
|
||||
public:
|
||||
J3DMtxBuffer() { initialize(); }
|
||||
|
||||
/* 80326214 */ void initialize();
|
||||
/* 80326258 */ s32 create(J3DModelData*, u32);
|
||||
/* 80326364 */ s32 createAnmMtx(J3DModelData*);
|
||||
/* 803263F0 */ s32 createWeightEnvelopeMtx(J3DModelData*);
|
||||
/* 8032648C */ s32 setNoUseDrawMtx();
|
||||
/* 803264B8 */ s32 createDoubleDrawMtx(J3DModelData*, u32);
|
||||
/* 80326664 */ s32 createBumpMtxArray(J3DModelData*, u32);
|
||||
/* 803268D4 */ void calcWeightEnvelopeMtx();
|
||||
/* 80326ACC */ void calcDrawMtx(u32, Vec const&, f32 const (&)[3][4]);
|
||||
/* 80326D3C */ void calcNrmMtx();
|
||||
/* 80326EF0 */ void calcBBoardMtx();
|
||||
void initialize();
|
||||
s32 create(J3DModelData*, u32);
|
||||
s32 createAnmMtx(J3DModelData*);
|
||||
s32 createWeightEnvelopeMtx(J3DModelData*);
|
||||
s32 setNoUseDrawMtx();
|
||||
s32 createDoubleDrawMtx(J3DModelData*, u32);
|
||||
s32 createBumpMtxArray(J3DModelData*, u32);
|
||||
void calcWeightEnvelopeMtx();
|
||||
void calcDrawMtx(u32, Vec const&, f32 const (&)[3][4]);
|
||||
void calcNrmMtx();
|
||||
void calcBBoardMtx();
|
||||
|
||||
MtxP getAnmMtx(int idx) const { return mpAnmMtx[idx]; }
|
||||
void setAnmMtx(int i, Mtx m) { MTXCopy(m, (MtxP)mpAnmMtx[i]); }
|
||||
@@ -72,7 +72,7 @@ private:
|
||||
/* 0x34 */ Mtx* mpUserAnmMtx;
|
||||
|
||||
public:
|
||||
/* 803283B4 */ virtual ~J3DMtxBuffer();
|
||||
virtual ~J3DMtxBuffer();
|
||||
};
|
||||
|
||||
void J3DCalcViewBaseMtx(f32 (*param_0)[4], Vec const& param_1, f32 const (¶m_2)[3][4],
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef J3DNODE_H
|
||||
#define J3DNODE_H
|
||||
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
|
||||
class J3DNode;
|
||||
typedef int (*J3DNodeCallBack)(J3DNode*, int);
|
||||
|
||||
@@ -9,9 +11,11 @@ public:
|
||||
virtual void init(Vec const& param_0, Mtx*);
|
||||
virtual void entryIn();
|
||||
virtual void calcIn();
|
||||
virtual u32 getType();
|
||||
virtual void calcOut();
|
||||
virtual u32 getType() const;
|
||||
virtual ~J3DNode();
|
||||
|
||||
|
||||
J3DNode();
|
||||
void appendChild(J3DNode*);
|
||||
|
||||
J3DNode* getYounger() { return mYounger; }
|
||||
@@ -20,11 +24,11 @@ public:
|
||||
J3DNodeCallBack getCallBack() { return mCallBack; }
|
||||
J3DNode* getChild() { return mChild; }
|
||||
|
||||
/* 0x00 */ void* mCallBackUserData;
|
||||
/* 0x04 */ J3DNodeCallBack mCallBack;
|
||||
/* 0x08 */ void* field_0x8;
|
||||
/* 0x0C */ J3DNode* mChild;
|
||||
/* 0x10 */ J3DNode* mYounger;
|
||||
}; // Size: 0x14
|
||||
/* 0x04 */ void* mCallBackUserData;
|
||||
/* 0x08 */ J3DNodeCallBack mCallBack;
|
||||
/* 0x0C */ void* field_0x8;
|
||||
/* 0x10 */ J3DNode* mChild;
|
||||
/* 0x14 */ J3DNode* mYounger;
|
||||
}; // Size: 0x18
|
||||
|
||||
#endif /* J3DNODE_H */
|
||||
|
||||
@@ -8,26 +8,18 @@ class JUTNameTab;
|
||||
|
||||
class J3DShapeTable {
|
||||
public:
|
||||
J3DShapeTable() {
|
||||
inline void clear() {
|
||||
mShapeNum = 0;
|
||||
mShapeNodePointer = NULL;
|
||||
mShapeName = NULL;
|
||||
}
|
||||
|
||||
/* 803258A0 */ void hide();
|
||||
/* 803258D8 */ void show();
|
||||
/* 80325910 */ void initShapeNodes(J3DDrawMtxData*, J3DVertexData*);
|
||||
/* 8032597C */ void sortVcdVatCmd();
|
||||
|
||||
virtual ~J3DShapeTable();
|
||||
|
||||
u16 getShapeNum() const { return mShapeNum; }
|
||||
J3DShape* getShapeNodePointer(u16 idx) const { return mShapeNodePointer[idx]; }
|
||||
|
||||
private:
|
||||
/* 0x0 */ void *field_0x0;
|
||||
/* 0x4 */ u16 mShapeNum;
|
||||
/* 0x8 */ J3DShape** mShapeNodePointer;
|
||||
/* 0xC */ JUTNameTab* mShapeName;
|
||||
}; // Size: 0x10
|
||||
}; // Size: 0x0C
|
||||
|
||||
#endif /* J3DSHAPETABLE_H */
|
||||
|
||||
@@ -11,11 +11,11 @@ class J3DAnmCluster;
|
||||
|
||||
class J3DDeformData {
|
||||
public:
|
||||
/* 8032E1F8 */ J3DDeformData();
|
||||
/* 8032E230 */ void offAllFlag(u32);
|
||||
/* 8032E298 */ void deform(J3DVertexBuffer*);
|
||||
/* 8032E274 */ void deform(J3DModel*);
|
||||
/* 8032E364 */ void setAnm(J3DAnmCluster*);
|
||||
J3DDeformData();
|
||||
void offAllFlag(u32);
|
||||
void deform(J3DVertexBuffer*);
|
||||
void deform(J3DModel*);
|
||||
void setAnm(J3DAnmCluster*);
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mClusterNum;
|
||||
@@ -33,9 +33,9 @@ private:
|
||||
}; // Size: 0x28
|
||||
|
||||
struct J3DSkinNList {
|
||||
/* 8032C6E4 */ J3DSkinNList();
|
||||
/* 8032C85C */ void calcSkin_VtxPosF32(f32 (*)[4], void*, void*);
|
||||
/* 8032C8E4 */ void calcSkin_VtxNrmF32(f32 (*)[4], void*, void*);
|
||||
J3DSkinNList();
|
||||
void calcSkin_VtxPosF32(f32 (*)[4], void*, void*);
|
||||
void calcSkin_VtxNrmF32(f32 (*)[4], void*, void*);
|
||||
|
||||
/* 0x00 */ u16* field_0x0;
|
||||
/* 0x04 */ u16* field_0x4;
|
||||
@@ -47,20 +47,19 @@ struct J3DSkinNList {
|
||||
|
||||
class J3DSkinDeform {
|
||||
public:
|
||||
/* 8032C96C */ J3DSkinDeform();
|
||||
/* 8032C9B0 */ void initSkinInfo(J3DModelData*);
|
||||
/* 8032CF44 */ int initMtxIndexArray(J3DModelData*);
|
||||
/* 8032D378 */ void changeFastSkinDL(J3DModelData*);
|
||||
/* 8032D5C4 */ void calcNrmMtx(J3DMtxBuffer*);
|
||||
/* 8032D738 */ void transformVtxPosNrm(J3DModelData*);
|
||||
/* 8032D87C */ void calcAnmInvJointMtx(J3DMtxBuffer*);
|
||||
/* 8032D8F4 */ void deformFastVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const;
|
||||
/* 8032DA1C */ void deformFastVtxNrm_F32(J3DVertexBuffer*, J3DMtxBuffer*) const;
|
||||
/* 8032DB50 */ void deformVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const;
|
||||
/* 8032DC74 */ void deformVtxPos_S16(J3DVertexBuffer*, J3DMtxBuffer*) const;
|
||||
/* 8032DDB8 */ void deformVtxNrm_F32(J3DVertexBuffer*) const;
|
||||
/* 8032DEBC */ void deformVtxNrm_S16(J3DVertexBuffer*) const;
|
||||
/* 8032DFDC */ void deform(J3DModel*);
|
||||
J3DSkinDeform();
|
||||
void initSkinInfo(J3DModelData*);
|
||||
int initMtxIndexArray(J3DModelData*);
|
||||
void changeFastSkinDL(J3DModelData*);
|
||||
void calcNrmMtx(J3DMtxBuffer*);
|
||||
void transformVtxPosNrm(J3DModelData*);
|
||||
void calcAnmInvJointMtx(J3DMtxBuffer*);
|
||||
void deformFastVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const;
|
||||
void deformFastVtxNrm_F32(J3DVertexBuffer*, J3DMtxBuffer*) const;
|
||||
void deformVtxPos_F32(J3DVertexBuffer*, J3DMtxBuffer*) const;
|
||||
void deformVtxPos_S16(J3DVertexBuffer*, J3DMtxBuffer*) const;
|
||||
void deformVtxNrm_F32(J3DVertexBuffer*) const;
|
||||
void deformVtxNrm_S16(J3DVertexBuffer*) const;
|
||||
void setNrmMtx(int i, MtxP mtx) {
|
||||
J3DPSMtx33CopyFrom34(mtx, (Mtx3P)mNrmMtx[i]);
|
||||
}
|
||||
@@ -69,8 +68,8 @@ public:
|
||||
void offFlag(u32 flag) { mFlags &= ~flag; }
|
||||
bool checkFlag(u32 flag) { return mFlags & flag; }
|
||||
|
||||
/* 8032E064 */ virtual void deform(J3DVertexBuffer*, J3DMtxBuffer*);
|
||||
/* 8032E1B0 */ virtual ~J3DSkinDeform();
|
||||
virtual void deform(J3DModel*);
|
||||
virtual ~J3DSkinDeform();
|
||||
|
||||
static u16* sWorkArea_WEvlpMixMtx[1024];
|
||||
static f32* sWorkArea_WEvlpMixWeight[1024];
|
||||
@@ -91,12 +90,12 @@ private:
|
||||
|
||||
class J3DDeformer {
|
||||
public:
|
||||
/* 8032E39C */ J3DDeformer(J3DDeformData*);
|
||||
/* 8032EAB4 */ void deform(J3DVertexBuffer*, u16, f32*);
|
||||
/* 8032E3BC */ void deform(J3DVertexBuffer*, u16);
|
||||
/* 8032E4A4 */ void deform_VtxPosF32(J3DVertexBuffer*, J3DCluster*, J3DClusterKey*, f32*);
|
||||
/* 8032E60C */ void deform_VtxNrmF32(J3DVertexBuffer*, J3DCluster*, J3DClusterKey*, f32*);
|
||||
/* 8032EBCC */ void normalizeWeight(int, f32*);
|
||||
J3DDeformer(J3DDeformData*);
|
||||
void deform(J3DVertexBuffer*, u16, f32*);
|
||||
void deform(J3DVertexBuffer*, u16);
|
||||
void deform_VtxPosF32(J3DVertexBuffer*, J3DCluster*, J3DClusterKey*, f32*);
|
||||
void deform_VtxNrmF32(J3DVertexBuffer*, J3DCluster*, J3DClusterKey*, f32*);
|
||||
void normalizeWeight(int, f32*);
|
||||
|
||||
private:
|
||||
/* 0x00 */ J3DDeformData* mDeformData;
|
||||
|
||||
@@ -21,10 +21,10 @@ inline void J3DGDWrite_u32(u32 param) {
|
||||
}
|
||||
|
||||
inline void J3DGDWriteXFCmd(u16 param_1, u32 param_2) {
|
||||
J3DGDWrite_u8(0x10);
|
||||
J3DGDWrite_u16(0);
|
||||
J3DGDWrite_u16(param_1);
|
||||
J3DGDWrite_u32(param_2);
|
||||
J3DGDWrite_u8(0x10);
|
||||
J3DGDWrite_u16(0);
|
||||
J3DGDWrite_u16(param_1);
|
||||
J3DGDWrite_u32(param_2);
|
||||
}
|
||||
|
||||
void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 IndTexStageNum, _GXCullMode cullMode);
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
virtual void setNBTScale(J3DNBTScale const*);
|
||||
virtual void setNBTScale(J3DNBTScale);
|
||||
virtual J3DNBTScale* getNBTScale();
|
||||
virtual bool getTexMtxOffset() const;
|
||||
virtual u32 getTexMtxOffset() const;
|
||||
virtual void setTexMtxOffset(u32);
|
||||
virtual ~J3DTexGenBlock();
|
||||
};
|
||||
@@ -77,11 +77,11 @@ public:
|
||||
virtual J3DTexCoord* getTexCoord(u32);
|
||||
virtual void setTexMtx(u32, J3DTexMtx*);
|
||||
virtual J3DTexMtx* getTexMtx(u32);
|
||||
virtual bool getTexMtxOffset() const;
|
||||
virtual u32 getTexMtxOffset() const;
|
||||
virtual void setTexMtxOffset(u32);
|
||||
virtual ~J3DTexGenBlockPatched();
|
||||
|
||||
private:
|
||||
protected:
|
||||
/* 0x04 */ u32 mTexGenNum;
|
||||
/* 0x08 */ J3DTexCoord mTexCoord[8];
|
||||
/* 0x38 */ J3DTexMtx* mTexMtx[8];
|
||||
@@ -162,31 +162,31 @@ public:
|
||||
virtual _GXColor* getTevKColor(u32);
|
||||
virtual void setTevKColorSel(u32, u8 const*);
|
||||
virtual void setTevKColorSel(u32, u8);
|
||||
virtual bool getTevKColorSel(u32);
|
||||
virtual u8 getTevKColorSel(u32);
|
||||
virtual void setTevKAlphaSel(u32, u8 const*);
|
||||
virtual void setTevKAlphaSel(u32, u8);
|
||||
virtual bool getTevKAlphaSel(u32);
|
||||
virtual u8 getTevKAlphaSel(u32);
|
||||
virtual void setTevStageNum(u8 const*);
|
||||
virtual void setTevStageNum(u8);
|
||||
virtual u8 getTevStageNum() const;
|
||||
virtual void setTevStage(u32, J3DTevStage const*);
|
||||
virtual void setTevStage(u32, J3DTevStage);
|
||||
virtual bool getTevStage(u32);
|
||||
virtual J3DTevStage * getTevStage(u32);
|
||||
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*);
|
||||
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo);
|
||||
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*);
|
||||
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable);
|
||||
virtual bool getTevSwapModeTable(u32);
|
||||
virtual J3DTevSwapModeTable * getTevSwapModeTable(u32);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage const*);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage);
|
||||
virtual bool getIndTevStage(u32);
|
||||
virtual bool getTexNoOffset() const;
|
||||
virtual bool getTevRegOffset() const;
|
||||
virtual J3DIndTevStage * getIndTevStage(u32);
|
||||
virtual u32 getTexNoOffset() const;
|
||||
virtual u32 getTevRegOffset() const;
|
||||
virtual void setTexNoOffset(u32);
|
||||
virtual void setTevRegOffset(u32);
|
||||
virtual ~J3DTevBlock();
|
||||
|
||||
private:
|
||||
protected:
|
||||
void indexToPtr_private(u32);
|
||||
|
||||
/* 0x4 */ u32 mTexNoOffset;
|
||||
@@ -228,18 +228,18 @@ public:
|
||||
virtual GXColor* getTevKColor(u32);
|
||||
virtual void setTevKColorSel(u32, u8 const*);
|
||||
virtual void setTevKColorSel(u32, u8);
|
||||
virtual bool getTevKColorSel(u32);
|
||||
virtual u8 getTevKColorSel(u32);
|
||||
virtual void setTevStageNum(u8 const*);
|
||||
virtual void setTevStageNum(u8);
|
||||
virtual u8 getTevStageNum() const;
|
||||
virtual void setTevStage(u32, J3DTevStage const*);
|
||||
virtual void setTevStage(u32, J3DTevStage);
|
||||
virtual bool getTevStage(u32);
|
||||
virtual J3DTevStage * getTevStage(u32);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage const*);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage);
|
||||
virtual bool getIndTevStage(u32);
|
||||
virtual bool getTexNoOffset() const;
|
||||
virtual bool getTevRegOffset() const;
|
||||
virtual J3DIndTevStage * getIndTevStage(u32);
|
||||
virtual u32 getTexNoOffset() const;
|
||||
virtual u32 getTevRegOffset() const;
|
||||
virtual void setTevRegOffset(u32);
|
||||
virtual ~J3DTevBlockPatched();
|
||||
|
||||
@@ -248,8 +248,8 @@ private:
|
||||
/* 0x18 */ J3DTevOrder mTevOrder[8];
|
||||
/* 0x38 */ J3DTevStage mTevStage[8];
|
||||
/* 0x78 */ J3DIndTevStage mIndTevStage[8];
|
||||
/* 0x98 */ J3DGXColorS10 mTevColor[4];
|
||||
/* 0xB8 */ J3DGXColor mTevKColor[4];
|
||||
/* 0x98 */ GXColorS10 mTevColor[4];
|
||||
/* 0xB8 */ GXColor mTevKColor[4];
|
||||
/* 0xC8 */ u8 mTevKColorSel[8];
|
||||
/* 0xD0 */ u8 mTevStageNum;
|
||||
/* 0xD4 */ u32 mTevRegOffset;
|
||||
@@ -295,26 +295,26 @@ public:
|
||||
virtual GXColor* getTevKColor(u32);
|
||||
virtual void setTevKColorSel(u32, u8 const*);
|
||||
virtual void setTevKColorSel(u32, u8);
|
||||
virtual bool getTevKColorSel(u32);
|
||||
virtual u8 getTevKColorSel(u32);
|
||||
virtual void setTevKAlphaSel(u32, u8 const*);
|
||||
virtual void setTevKAlphaSel(u32, u8);
|
||||
virtual bool getTevKAlphaSel(u32);
|
||||
virtual u8 getTevKAlphaSel(u32);
|
||||
virtual void setTevStageNum(u8 const*);
|
||||
virtual void setTevStageNum(u8);
|
||||
virtual u8 getTevStageNum() const;
|
||||
virtual void setTevStage(u32, J3DTevStage const*);
|
||||
virtual void setTevStage(u32, J3DTevStage);
|
||||
virtual bool getTevStage(u32);
|
||||
virtual J3DTevStage * getTevStage(u32);
|
||||
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*);
|
||||
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo);
|
||||
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*);
|
||||
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable);
|
||||
virtual bool getTevSwapModeTable(u32);
|
||||
virtual J3DTevSwapModeTable * getTevSwapModeTable(u32);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage const*);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage);
|
||||
virtual bool getIndTevStage(u32);
|
||||
virtual bool getTexNoOffset() const;
|
||||
virtual bool getTevRegOffset() const;
|
||||
virtual J3DIndTevStage * getIndTevStage(u32);
|
||||
virtual u32 getTexNoOffset() const;
|
||||
virtual u32 getTevRegOffset() const;
|
||||
virtual void setTevRegOffset(u32);
|
||||
virtual ~J3DTevBlock4();
|
||||
|
||||
@@ -323,8 +323,8 @@ private:
|
||||
/* 0x10 */ J3DTevOrder mTevOrder[4];
|
||||
/* 0x20 */ u8 mTevStageNum;
|
||||
/* 0x21 */ J3DTevStage mTevStage[4];
|
||||
/* 0x42 */ J3DGXColorS10 mTevColor[4];
|
||||
/* 0x62 */ J3DGXColor mTevKColor[4];
|
||||
/* 0x42 */ GXColorS10 mTevColor[4];
|
||||
/* 0x62 */ GXColor mTevKColor[4];
|
||||
/* 0x72 */ u8 mTevKColorSel[4];
|
||||
/* 0x76 */ u8 mTevKAlphaSel[4];
|
||||
/* 0x7A */ J3DTevSwapModeTable mTevSwapModeTable[4];
|
||||
@@ -368,36 +368,36 @@ public:
|
||||
virtual GXColor* getTevKColor(u32);
|
||||
virtual void setTevKColorSel(u32, u8 const*);
|
||||
virtual void setTevKColorSel(u32, u8);
|
||||
virtual bool getTevKColorSel(u32);
|
||||
virtual u8 getTevKColorSel(u32);
|
||||
virtual void setTevKAlphaSel(u32, u8 const*);
|
||||
virtual void setTevKAlphaSel(u32, u8);
|
||||
virtual bool getTevKAlphaSel(u32);
|
||||
virtual u8 getTevKAlphaSel(u32);
|
||||
virtual void setTevStageNum(u8 const*);
|
||||
virtual void setTevStageNum(u8);
|
||||
virtual u8 getTevStageNum() const;
|
||||
virtual void setTevStage(u32, J3DTevStage const*);
|
||||
virtual void setTevStage(u32, J3DTevStage);
|
||||
virtual bool getTevStage(u32);
|
||||
virtual J3DTevStage * getTevStage(u32);
|
||||
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*);
|
||||
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo);
|
||||
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*);
|
||||
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable);
|
||||
virtual bool getTevSwapModeTable(u32);
|
||||
virtual J3DTevSwapModeTable * getTevSwapModeTable(u32);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage const*);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage);
|
||||
virtual bool getIndTevStage(u32);
|
||||
virtual bool getTexNoOffset() const;
|
||||
virtual bool getTevRegOffset() const;
|
||||
virtual J3DIndTevStage * getIndTevStage(u32);
|
||||
virtual u32 getTexNoOffset() const;
|
||||
virtual u32 getTevRegOffset() const;
|
||||
virtual void setTevRegOffset(u32);
|
||||
virtual ~J3DTevBlock2();
|
||||
|
||||
private:
|
||||
/* 0x08 */ u16 mTexNo[2];
|
||||
/* 0x0C */ J3DTevOrder mTevOrder[2];
|
||||
/* 0x14 */ J3DGXColorS10 mTevColor[4];
|
||||
/* 0x14 */ GXColorS10 mTevColor[4];
|
||||
/* 0x34 */ u8 mTevStageNum;
|
||||
/* 0x35 */ J3DTevStage mTevStage[2];
|
||||
/* 0x45 */ J3DGXColor mTevKColor[4];
|
||||
/* 0x45 */ GXColor mTevKColor[4];
|
||||
/* 0x55 */ u8 mTevKColorSel[2];
|
||||
/* 0x57 */ u8 mTevKAlphaSel[2];
|
||||
/* 0x59 */ J3DTevSwapModeTable mTevSwapModeTable[4];
|
||||
@@ -441,26 +441,26 @@ public:
|
||||
virtual GXColor* getTevKColor(u32);
|
||||
virtual void setTevKColorSel(u32, u8 const*);
|
||||
virtual void setTevKColorSel(u32, u8);
|
||||
virtual bool getTevKColorSel(u32);
|
||||
virtual u8 getTevKColorSel(u32);
|
||||
virtual void setTevKAlphaSel(u32, u8 const*);
|
||||
virtual void setTevKAlphaSel(u32, u8);
|
||||
virtual bool getTevKAlphaSel(u32);
|
||||
virtual u8 getTevKAlphaSel(u32);
|
||||
virtual void setTevStageNum(u8);
|
||||
virtual void setTevStageNum(u8 const*);
|
||||
virtual u8 getTevStageNum() const;
|
||||
virtual void setTevStage(u32, J3DTevStage const*);
|
||||
virtual void setTevStage(u32, J3DTevStage);
|
||||
virtual bool getTevStage(u32);
|
||||
virtual J3DTevStage * getTevStage(u32);
|
||||
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*);
|
||||
virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo);
|
||||
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*);
|
||||
virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable);
|
||||
virtual bool getTevSwapModeTable(u32);
|
||||
virtual J3DTevSwapModeTable * getTevSwapModeTable(u32);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage const*);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage);
|
||||
virtual bool getIndTevStage(u32);
|
||||
virtual bool getTexNoOffset() const;
|
||||
virtual bool getTevRegOffset() const;
|
||||
virtual J3DIndTevStage * getIndTevStage(u32);
|
||||
virtual u32 getTexNoOffset() const;
|
||||
virtual u32 getTevRegOffset() const;
|
||||
virtual void setTevRegOffset(u32);
|
||||
virtual ~J3DTevBlock16();
|
||||
|
||||
@@ -469,8 +469,8 @@ private:
|
||||
/* 0x018 */ J3DTevOrder mTevOrder[16];
|
||||
/* 0x058 */ u8 mTevStageNum;
|
||||
/* 0x059 */ J3DTevStage mTevStage[16];
|
||||
/* 0x0DA */ J3DGXColorS10 mTevColor[4];
|
||||
/* 0x0FA */ J3DGXColor mTevKColor[4];
|
||||
/* 0x0DA */ GXColorS10 mTevColor[4];
|
||||
/* 0x0FA */ GXColor mTevKColor[4];
|
||||
/* 0x10A */ u8 mTevKColorSel[16];
|
||||
/* 0x11A */ u8 mTevKAlphaSel[16];
|
||||
/* 0x12A */ J3DTevSwapModeTable mTevSwapModeTable[4];
|
||||
@@ -511,11 +511,11 @@ public:
|
||||
virtual u8 getTevStageNum() const;
|
||||
virtual void setTevStage(u32, J3DTevStage const*);
|
||||
virtual void setTevStage(u32, J3DTevStage);
|
||||
virtual bool getTevStage(u32);
|
||||
virtual J3DTevStage * getTevStage(u32);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage const*);
|
||||
virtual void setIndTevStage(u32, J3DIndTevStage);
|
||||
virtual bool getIndTevStage(u32);
|
||||
virtual bool getTexNoOffset() const;
|
||||
virtual J3DIndTevStage * getIndTevStage(u32);
|
||||
virtual u32 getTexNoOffset() const;
|
||||
virtual ~J3DTevBlock1();
|
||||
|
||||
private:
|
||||
@@ -550,9 +550,6 @@ struct J3DZMode {
|
||||
};
|
||||
|
||||
struct J3DBlendInfo {
|
||||
void operator=(J3DBlendInfo const& other) {
|
||||
*(int*)&mType = *(int*)&other.mType;
|
||||
}
|
||||
/* 0x0 */ u8 mType;
|
||||
/* 0x1 */ u8 mSrcFactor;
|
||||
/* 0x2 */ u8 mDstFactor;
|
||||
@@ -626,25 +623,24 @@ public:
|
||||
virtual void diffBlend();
|
||||
virtual s32 countDLSize();
|
||||
virtual u32 getType() = 0;
|
||||
virtual void setFog(J3DFog);
|
||||
virtual void setFog(J3DFog*);
|
||||
virtual J3DFog* getFog();
|
||||
virtual void setAlphaComp(J3DAlphaComp const*);
|
||||
virtual void setAlphaComp(J3DAlphaComp const&);
|
||||
virtual void setAlphaComp(J3DAlphaComp);
|
||||
virtual J3DAlphaComp* getAlphaComp();
|
||||
virtual void setBlend(J3DBlend const*);
|
||||
virtual void setBlend(J3DBlend const&);
|
||||
virtual bool getBlend();
|
||||
virtual void setBlend(J3DBlend);
|
||||
virtual J3DBlend* getBlend();
|
||||
virtual void setZMode(J3DZMode const*);
|
||||
virtual void setZMode(J3DZMode);
|
||||
virtual J3DZMode* getZMode();
|
||||
virtual void setZCompLoc(u8 const*);
|
||||
virtual void setZCompLoc(u8);
|
||||
virtual bool getZCompLoc() const;
|
||||
virtual u8 getZCompLoc() const;
|
||||
virtual void setDither(u8 const*);
|
||||
virtual void setDither(u8);
|
||||
virtual bool getDither() const;
|
||||
virtual bool getFogOffset() const;
|
||||
virtual u8 getDither() const;
|
||||
virtual u32 getFogOffset() const;
|
||||
virtual void setFogOffset(u32);
|
||||
virtual ~J3DPEBlock();
|
||||
};
|
||||
@@ -688,37 +684,36 @@ public:
|
||||
virtual void diffBlend();
|
||||
virtual s32 countDLSize();
|
||||
virtual u32 getType();
|
||||
virtual void setFog(J3DFog);
|
||||
virtual void setFog(J3DFog*);
|
||||
virtual J3DFog* getFog();
|
||||
virtual void setAlphaComp(J3DAlphaComp const*);
|
||||
virtual void setAlphaComp(J3DAlphaComp const&);
|
||||
virtual void setAlphaComp(J3DAlphaComp);
|
||||
virtual J3DAlphaComp* getAlphaComp();
|
||||
virtual void setBlend(J3DBlend const*);
|
||||
virtual void setBlend(J3DBlend const&);
|
||||
virtual bool getBlend();
|
||||
virtual void setBlend(J3DBlend);
|
||||
virtual J3DBlend* getBlend();
|
||||
virtual void setZMode(J3DZMode const*);
|
||||
virtual void setZMode(J3DZMode);
|
||||
virtual J3DZMode* getZMode();
|
||||
virtual void setZCompLoc(u8 const*);
|
||||
virtual void setZCompLoc(u8);
|
||||
virtual bool getZCompLoc() const;
|
||||
virtual u8 getZCompLoc() const;
|
||||
virtual void setDither(u8 const*);
|
||||
virtual void setDither(u8);
|
||||
virtual bool getDither() const;
|
||||
virtual bool getFogOffset() const;
|
||||
virtual u8 getDither() const;
|
||||
virtual u32 getFogOffset() const;
|
||||
virtual void setFogOffset(u32);
|
||||
virtual ~J3DPEBlockFull();
|
||||
|
||||
private:
|
||||
/* 0x04 */ J3DFog mFog;
|
||||
/* 0x30 */ J3DAlphaComp mAlphaComp;
|
||||
/* 0x34 */ J3DBlend mBlend;
|
||||
/* 0x38 */ J3DZMode mZMode;
|
||||
/* 0x3A */ u8 mZCompLoc;
|
||||
/* 0x3B */ u8 mDither;
|
||||
/* 0x3C */ u32 mFogOffset;
|
||||
}; // Size: 0x40
|
||||
/* 0x04 */ J3DFog * mFog;
|
||||
/* 0x08 */ J3DAlphaComp mAlphaComp;
|
||||
/* 0x0C */ J3DBlend mBlend;
|
||||
/* 0x10 */ J3DZMode mZMode;
|
||||
/* 0x14 */ u8 mZCompLoc;
|
||||
/* 0x15 */ u8 mDither;
|
||||
/* 0x18 */ u32 mFogOffset;
|
||||
}; // Size: 0x1C
|
||||
|
||||
class J3DPEBlockFogOff : public J3DPEBlock {
|
||||
public:
|
||||
@@ -734,20 +729,20 @@ public:
|
||||
virtual s32 countDLSize();
|
||||
virtual u32 getType();
|
||||
virtual void setAlphaComp(J3DAlphaComp const*);
|
||||
virtual void setAlphaComp(J3DAlphaComp const&);
|
||||
virtual void setAlphaComp(J3DAlphaComp);
|
||||
virtual J3DAlphaComp* getAlphaComp();
|
||||
virtual void setBlend(J3DBlend const*);
|
||||
virtual void setBlend(J3DBlend const&);
|
||||
virtual bool getBlend();
|
||||
virtual void setBlend(J3DBlend);
|
||||
virtual J3DBlend* getBlend();
|
||||
virtual void setZMode(J3DZMode const*);
|
||||
virtual void setZMode(J3DZMode);
|
||||
virtual J3DZMode* getZMode();
|
||||
virtual void setZCompLoc(u8 const*);
|
||||
virtual void setZCompLoc(u8);
|
||||
virtual bool getZCompLoc() const;
|
||||
virtual u8 getZCompLoc() const;
|
||||
virtual void setDither(u8 const*);
|
||||
virtual void setDither(u8);
|
||||
virtual bool getDither() const;
|
||||
virtual u8 getDither() const;
|
||||
virtual ~J3DPEBlockFogOff();
|
||||
|
||||
private:
|
||||
@@ -762,10 +757,8 @@ struct J3DIndTexCoordScale {
|
||||
~J3DIndTexCoordScale();
|
||||
J3DIndTexCoordScale();
|
||||
|
||||
/* 0x0 */ u8 mScaleS;
|
||||
/* 0x0 */ u8 mScaleS __attribute__((aligned(4)));
|
||||
/* 0x1 */ u8 mScaleT;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
};
|
||||
|
||||
struct J3DIndTexMtx {
|
||||
@@ -796,14 +789,14 @@ public:
|
||||
virtual u8 getIndTexStageNum() const;
|
||||
virtual void setIndTexOrder(u32, J3DIndTexOrder);
|
||||
virtual void setIndTexOrder(u32, J3DIndTexOrder const*);
|
||||
virtual bool getIndTexOrder(u32);
|
||||
virtual J3DIndTexOrder * getIndTexOrder(u32);
|
||||
virtual void setIndTexMtx(u32, J3DIndTexMtx const*);
|
||||
virtual void setIndTexMtx(u32, J3DIndTexMtx);
|
||||
virtual bool getIndTexMtx(u32);
|
||||
virtual J3DIndTexMtx * getIndTexMtx(u32);
|
||||
virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale);
|
||||
virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*);
|
||||
virtual bool getIndTexCoordScale(u32);
|
||||
virtual ~J3DIndBlock();
|
||||
virtual J3DIndTexCoordScale * getIndTexCoordScale(u32);
|
||||
virtual ~J3DIndBlock() {}
|
||||
};
|
||||
|
||||
class J3DIndBlockFull : public J3DIndBlock {
|
||||
@@ -822,13 +815,13 @@ public:
|
||||
virtual u8 getIndTexStageNum() const;
|
||||
virtual void setIndTexOrder(u32, J3DIndTexOrder);
|
||||
virtual void setIndTexOrder(u32, J3DIndTexOrder const*);
|
||||
virtual bool getIndTexOrder(u32);
|
||||
virtual J3DIndTexOrder * getIndTexOrder(u32);
|
||||
virtual void setIndTexMtx(u32, J3DIndTexMtx const*);
|
||||
virtual void setIndTexMtx(u32, J3DIndTexMtx);
|
||||
virtual bool getIndTexMtx(u32);
|
||||
virtual J3DIndTexMtx * getIndTexMtx(u32);
|
||||
virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*);
|
||||
virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale);
|
||||
virtual bool getIndTexCoordScale(u32);
|
||||
virtual J3DIndTexCoordScale * getIndTexCoordScale(u32);
|
||||
virtual ~J3DIndBlockFull();
|
||||
|
||||
private:
|
||||
@@ -875,18 +868,16 @@ public:
|
||||
virtual void patchMatColor();
|
||||
virtual void patchLight();
|
||||
virtual void diff(u32);
|
||||
virtual void diffAmbColor();
|
||||
virtual void diffMatColor();
|
||||
virtual void diffColorChan();
|
||||
virtual void diffLightObj(u32);
|
||||
virtual void diffLight();
|
||||
virtual s32 countDLSize();
|
||||
virtual u32 getType() = 0;
|
||||
virtual void setMatColor(u32, J3DGXColor const*);
|
||||
virtual void setMatColor(u32, J3DGXColor);
|
||||
virtual _GXColor* getMatColor(u32);
|
||||
virtual GXColor* getMatColor(u32);
|
||||
virtual void setAmbColor(u32, J3DGXColor const*);
|
||||
virtual void setAmbColor(u32, J3DGXColor);
|
||||
virtual bool getAmbColor(u32);
|
||||
virtual GXColor* getAmbColor(u32);
|
||||
virtual void setColorChanNum(u8);
|
||||
virtual void setColorChanNum(u8 const*);
|
||||
virtual u8 getColorChanNum() const;
|
||||
@@ -894,12 +885,12 @@ public:
|
||||
virtual void setColorChan(u32, J3DColorChan const*);
|
||||
virtual J3DColorChan* getColorChan(u32);
|
||||
virtual void setLight(u32, J3DLightObj*);
|
||||
virtual bool getLight(u32);
|
||||
virtual J3DLightObj* getLight(u32);
|
||||
virtual void setCullMode(u8 const*);
|
||||
virtual void setCullMode(u8);
|
||||
virtual s32 getCullMode() const;
|
||||
virtual bool getMatColorOffset() const;
|
||||
virtual bool getColorChanOffset() const;
|
||||
virtual u8 getCullMode() const;
|
||||
virtual u32 getMatColorOffset() const;
|
||||
virtual u32 getColorChanOffset() const;
|
||||
virtual void setMatColorOffset(u32);
|
||||
virtual void setColorChanOffset(u32);
|
||||
virtual ~J3DColorBlock();
|
||||
@@ -918,10 +909,8 @@ public:
|
||||
virtual void patchMatColor();
|
||||
virtual void patchLight();
|
||||
virtual void diff(u32);
|
||||
virtual void diffAmbColor();
|
||||
virtual void diffMatColor();
|
||||
virtual void diffColorChan();
|
||||
virtual void diffLightObj(u32);
|
||||
virtual void diffLight();
|
||||
virtual s32 countDLSize();
|
||||
virtual u32 getType();
|
||||
virtual void setMatColor(u32, J3DGXColor const*);
|
||||
@@ -929,7 +918,7 @@ public:
|
||||
virtual GXColor* getMatColor(u32);
|
||||
virtual void setAmbColor(u32, J3DGXColor const*);
|
||||
virtual void setAmbColor(u32, J3DGXColor);
|
||||
virtual bool getAmbColor(u32);
|
||||
virtual GXColor* getAmbColor(u32);
|
||||
virtual void setColorChanNum(u8);
|
||||
virtual void setColorChanNum(u8 const*);
|
||||
virtual u8 getColorChanNum() const;
|
||||
@@ -937,19 +926,19 @@ public:
|
||||
virtual void setColorChan(u32, J3DColorChan const*);
|
||||
virtual J3DColorChan* getColorChan(u32);
|
||||
virtual void setLight(u32, J3DLightObj*);
|
||||
virtual bool getLight(u32);
|
||||
virtual J3DLightObj* getLight(u32);
|
||||
virtual void setCullMode(u8 const*);
|
||||
virtual void setCullMode(u8);
|
||||
virtual s32 getCullMode() const;
|
||||
virtual bool getMatColorOffset() const;
|
||||
virtual bool getColorChanOffset() const;
|
||||
virtual u8 getCullMode() const;
|
||||
virtual u32 getMatColorOffset() const;
|
||||
virtual u32 getColorChanOffset() const;
|
||||
virtual void setMatColorOffset(u32);
|
||||
virtual void setColorChanOffset(u32);
|
||||
virtual ~J3DColorBlockLightOn();
|
||||
|
||||
private:
|
||||
/* 0x04 */ J3DGXColor mMatColor[2];
|
||||
/* 0x0C */ J3DGXColor mAmbColor[2];
|
||||
/* 0x04 */ GXColor mMatColor[2];
|
||||
/* 0x0C */ GXColor mAmbColor[2];
|
||||
/* 0x14 */ u8 mColorChanNum;
|
||||
/* 0x16 */ J3DColorChan mColorChan[4];
|
||||
/* 0x20 */ J3DLightObj* mLight[8];
|
||||
@@ -972,7 +961,7 @@ public:
|
||||
virtual void patchLight();
|
||||
virtual void diff(u32);
|
||||
virtual void diffMatColor();
|
||||
virtual void diffColorChan();
|
||||
virtual void diffLight();
|
||||
virtual s32 countDLSize();
|
||||
virtual u32 getType();
|
||||
virtual void setMatColor(u32, J3DGXColor const*);
|
||||
@@ -986,15 +975,15 @@ public:
|
||||
virtual J3DColorChan* getColorChan(u32);
|
||||
virtual void setCullMode(u8 const*);
|
||||
virtual void setCullMode(u8);
|
||||
virtual s32 getCullMode() const;
|
||||
virtual bool getMatColorOffset() const;
|
||||
virtual bool getColorChanOffset() const;
|
||||
virtual u8 getCullMode() const;
|
||||
virtual u32 getMatColorOffset() const;
|
||||
virtual u32 getColorChanOffset() const;
|
||||
virtual void setMatColorOffset(u32);
|
||||
virtual void setColorChanOffset(u32);
|
||||
virtual ~J3DColorBlockLightOff();
|
||||
|
||||
private:
|
||||
/* 0x04 */ J3DGXColor mMatColor[2];
|
||||
protected:
|
||||
/* 0x04 */ GXColor mMatColor[2];
|
||||
/* 0x0C */ u8 mColorChanNum;
|
||||
/* 0x0E */ J3DColorChan mColorChan[4];
|
||||
/* 0x16 */ u8 mCullMode;
|
||||
@@ -1015,11 +1004,11 @@ public:
|
||||
virtual u32 getType();
|
||||
virtual void setAmbColor(u32, J3DGXColor const*);
|
||||
virtual void setAmbColor(u32, J3DGXColor);
|
||||
virtual bool getAmbColor(u32);
|
||||
virtual GXColor* getAmbColor(u32);
|
||||
virtual ~J3DColorBlockAmbientOn();
|
||||
|
||||
private:
|
||||
/* 0x20 */ J3DGXColor mAmbColor[2];
|
||||
protected:
|
||||
/* 0x20 */ GXColor mAmbColor[2];
|
||||
}; // Size: 0x28
|
||||
|
||||
#endif /* J3DMATBLOCK_H */
|
||||
|
||||
@@ -31,7 +31,7 @@ public:
|
||||
s32 newSharedDisplayList(u32);
|
||||
s32 newSingleSharedDisplayList(u32);
|
||||
|
||||
virtual void calc(f32 const (*)[4]);
|
||||
virtual void calc(const Mtx);
|
||||
virtual void makeDisplayList();
|
||||
virtual void makeSharedDisplayList();
|
||||
virtual void load();
|
||||
@@ -97,29 +97,30 @@ public:
|
||||
|
||||
class J3DPatchedMaterial : public J3DMaterial {
|
||||
public:
|
||||
/* 80316FB8 */ void initialize();
|
||||
void initialize();
|
||||
|
||||
/* 80316FD8 */ virtual void makeDisplayList();
|
||||
/* 80316FDC */ virtual void makeSharedDisplayList();
|
||||
/* 80316FE0 */ virtual void load();
|
||||
/* 80316FFC */ virtual void loadSharedDL();
|
||||
/* 8031703C */ virtual void reset();
|
||||
/* 80317040 */ virtual void change();
|
||||
virtual void calc(const Mtx);
|
||||
virtual void makeDisplayList();
|
||||
virtual void makeSharedDisplayList();
|
||||
virtual void load();
|
||||
virtual void loadSharedDL();
|
||||
virtual void reset();
|
||||
virtual void change();
|
||||
};
|
||||
|
||||
class J3DLockedMaterial : public J3DMaterial {
|
||||
public:
|
||||
/* 80317044 */ void initialize();
|
||||
void initialize();
|
||||
|
||||
/* 803170D0 */ virtual void calc(f32 const (*)[4]);
|
||||
/* 80317064 */ virtual void makeDisplayList();
|
||||
/* 80317068 */ virtual void makeSharedDisplayList();
|
||||
/* 8031706C */ virtual void load();
|
||||
/* 80317088 */ virtual void loadSharedDL();
|
||||
/* 803170C8 */ virtual void patch();
|
||||
/* 803170CC */ virtual void diff(u32);
|
||||
/* 803170D4 */ virtual void reset();
|
||||
/* 803170D8 */ virtual void change();
|
||||
virtual void calc(const Mtx);
|
||||
virtual void makeDisplayList();
|
||||
virtual void makeSharedDisplayList();
|
||||
virtual void load();
|
||||
virtual void loadSharedDL();
|
||||
virtual void patch();
|
||||
virtual void diff(u32);
|
||||
virtual void reset();
|
||||
virtual void change();
|
||||
};
|
||||
|
||||
#endif /* J3DMATERIAL_H */
|
||||
|
||||
@@ -154,16 +154,6 @@ public:
|
||||
/* 0x20 */ J3DDisplayListObj* mpDisplayListObj;
|
||||
}; // Size: 0x28
|
||||
|
||||
class J3DCallBackPacket : public J3DPacket {
|
||||
public:
|
||||
~J3DCallBackPacket();
|
||||
virtual void draw();
|
||||
|
||||
public:
|
||||
typedef void (*CallBack)(J3DCallBackPacket * pPacket, u32 timing);
|
||||
CallBack mpCallBack;
|
||||
};
|
||||
|
||||
class J3DShapePacket : public J3DDrawPacket {
|
||||
public:
|
||||
J3DShapePacket();
|
||||
@@ -202,11 +192,12 @@ public:
|
||||
void addShapePacket(J3DShapePacket*);
|
||||
void beginDiff();
|
||||
void endDiff();
|
||||
bool isSame(J3DMatPacket*) const;
|
||||
|
||||
J3DMaterial* getMaterial() const { return mpMaterial; }
|
||||
J3DShapePacket* getShapePacket() const { return mpShapePacket; }
|
||||
void setShapePacket(J3DShapePacket* packet) { mpShapePacket = packet; }
|
||||
void setMaterial(J3DMaterial* pMaterial) { mpMaterial = pMaterial; }
|
||||
void setTexture(J3DTexture* pTexture) { mpTexture = pTexture; }
|
||||
void setInitShapePacket(J3DShapePacket* packet) { mpInitShapePacket = packet; }
|
||||
void setMaterialAnmID(J3DMaterialAnm* materialAnm) { mpMaterialAnm = materialAnm; }
|
||||
bool isChanged() const { return mDiffFlag & 0x80000000; }
|
||||
@@ -215,6 +206,7 @@ public:
|
||||
virtual ~J3DMatPacket();
|
||||
virtual int entry(J3DDrawBuffer*);
|
||||
virtual void draw();
|
||||
virtual bool isSame(J3DMatPacket*) const;
|
||||
|
||||
public:
|
||||
/* 0x28 */ J3DShapePacket* mpInitShapePacket;
|
||||
@@ -225,4 +217,14 @@ public:
|
||||
/* 0x3C */ J3DMaterialAnm* mpMaterialAnm;
|
||||
}; // Size: 0x40
|
||||
|
||||
class J3DCallBackPacket : public J3DPacket {
|
||||
public:
|
||||
virtual ~J3DCallBackPacket() {}
|
||||
virtual void draw();
|
||||
|
||||
public:
|
||||
typedef void (*CallBack)(J3DCallBackPacket * pPacket, u32 timing);
|
||||
CallBack mpCallBack;
|
||||
};
|
||||
|
||||
#endif /* J3DPACKET_H */
|
||||
|
||||
@@ -72,22 +72,22 @@ public:
|
||||
kVcdVatDLSize = 0xC0,
|
||||
};
|
||||
|
||||
/* 80314B48 */ void initialize();
|
||||
/* 80314BB8 */ void addTexMtxIndexInDL(_GXAttr, u32);
|
||||
/* 80314CBC */ void addTexMtxIndexInVcd(_GXAttr);
|
||||
/* 80314DA8 */ void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
||||
/* 80314E28 */ u32 countBumpMtxNum() const;
|
||||
/* 80314EEC */ void loadVtxArray() const;
|
||||
/* 80314F5C */ bool isSameVcdVatCmd(J3DShape*);
|
||||
/* 80314F98 */ void makeVtxArrayCmd();
|
||||
/* 80315260 */ void makeVcdVatCmd();
|
||||
/* 80315300 */ void loadPreDrawSetting() const;
|
||||
/* 80315398 */ void setArrayAndBindPipeline() const;
|
||||
void initialize();
|
||||
void addTexMtxIndexInDL(_GXAttr, u32);
|
||||
void addTexMtxIndexInVcd(_GXAttr);
|
||||
void calcNBTScale(Vec const&, Mtx33*, Mtx33*);
|
||||
u32 countBumpMtxNum() const;
|
||||
void loadVtxArray() const;
|
||||
bool isSameVcdVatCmd(J3DShape*);
|
||||
void makeVtxArrayCmd();
|
||||
void makeVcdVatCmd();
|
||||
void loadPreDrawSetting() const;
|
||||
void setArrayAndBindPipeline() const;
|
||||
|
||||
/* 803155E0 */ virtual void draw() const;
|
||||
/* 8031544C */ virtual void drawFast() const;
|
||||
/* 80315628 */ virtual void simpleDraw() const;
|
||||
/* 803156AC */ virtual void simpleDrawCache() const;
|
||||
virtual void draw() const;
|
||||
virtual void drawFast() const;
|
||||
virtual void simpleDraw() const;
|
||||
virtual void simpleDrawCache() const;
|
||||
|
||||
void onFlag(u32 flag) { mFlags |= flag; }
|
||||
void offFlag(u32 flag) { mFlags &= ~flag; }
|
||||
|
||||
@@ -5,12 +5,10 @@
|
||||
|
||||
class J3DShapeDraw {
|
||||
public:
|
||||
/* 80314924 */ u32 countVertex(u32);
|
||||
/* 80314974 */ void addTexMtxIndexInDL(u32, u32, u32);
|
||||
/* 80314ABC */ J3DShapeDraw(u8 const*, u32);
|
||||
/* 80314AD4 */ void draw() const;
|
||||
J3DShapeDraw(u8 const*, u32);
|
||||
void draw() const;
|
||||
|
||||
/* 80314B00 */ virtual ~J3DShapeDraw();
|
||||
virtual ~J3DShapeDraw() {}
|
||||
|
||||
u8* getDisplayList() const { return (u8*)mDisplayList; }
|
||||
u32 getDisplayListSize() const { return mDisplayListSize; }
|
||||
|
||||
@@ -27,13 +27,10 @@ public:
|
||||
static J3DTexMtxObj* sTexMtxObj;
|
||||
};
|
||||
|
||||
extern u8 struct_804515B0;
|
||||
extern u8 struct_804515B1;
|
||||
extern u8 struct_804515B2;
|
||||
extern u8 struct_804515B3;
|
||||
|
||||
class J3DShapeMtx {
|
||||
public:
|
||||
typedef void (J3DShapeMtx::*MtxLoadIndx)(int mtxNo, u16 index) const;
|
||||
|
||||
J3DShapeMtx(u16 useMtxIndex) : mUseMtxIndex(useMtxIndex) {}
|
||||
|
||||
void resetMtxLoadCache();
|
||||
@@ -42,35 +39,68 @@ public:
|
||||
void loadMtxIndx_NCPU(int, u16) const;
|
||||
void loadMtxIndx_PNCPU(int, u16) const;
|
||||
|
||||
virtual ~J3DShapeMtx();
|
||||
virtual ~J3DShapeMtx() {}
|
||||
virtual u32 getType() const;
|
||||
virtual u32 getUseMtxNum() const;
|
||||
virtual u32 getUseMtxIndex(u16) const;
|
||||
virtual void load() const;
|
||||
virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
||||
|
||||
static u8 sMtxLoadPipeline[48];
|
||||
static u16 sMtxLoadCache[10 + 2 /* padding */];
|
||||
static MtxLoadIndx sMtxLoadPipeline[4];
|
||||
static u32 sCurrentPipeline;
|
||||
// static J3DScaleFlag sCurrentScaleFlag;
|
||||
static u8* sCurrentScaleFlag;
|
||||
static u8 sNBTFlag;
|
||||
static u32 sTexMtxLoadType;
|
||||
|
||||
static void setCurrentPipeline(u32 pipeline) { sCurrentPipeline = pipeline; }
|
||||
static void setLODFlag(u8 flag) { struct_804515B1 = flag; }
|
||||
static u8 getLODFlag() { return struct_804515B1; }
|
||||
static void resetMtxLoadCache();
|
||||
|
||||
private:
|
||||
protected:
|
||||
/* 0x04 */ u16 mUseMtxIndex;
|
||||
};
|
||||
|
||||
class J3DShapeMtxConcatView : public J3DShapeMtx {
|
||||
class J3DShapeMtxImm : public J3DShapeMtx {
|
||||
public:
|
||||
J3DShapeMtxConcatView(u16 useMtxIndex) : J3DShapeMtx(useMtxIndex) {}
|
||||
typedef void (J3DShapeMtxImm::*MtxLoadImm)(int mtxNo, u16 index) const;
|
||||
|
||||
virtual ~J3DShapeMtxConcatView();
|
||||
J3DShapeMtxImm(u16 useMtxIndex) : J3DShapeMtx(useMtxIndex) {}
|
||||
|
||||
virtual ~J3DShapeMtxImm() {}
|
||||
virtual u32 getType() const;
|
||||
virtual void load() const;
|
||||
virtual void loadNrmMtx(int, u16) const;
|
||||
|
||||
void loadMtxImm_PNGP(int, u16) const;
|
||||
void loadMtxImm_PCPU(int, u16) const;
|
||||
void loadMtxImm_NCPU(int, u16) const;
|
||||
void loadMtxImm_PNCPU(int, u16) const;
|
||||
void loadMtxImm_PNGP_LOD(int, u16) const;
|
||||
|
||||
static MtxLoadImm sMtxLoadPipeline[4];
|
||||
};
|
||||
|
||||
class J3DShapeMtxMultiImm : public J3DShapeMtxImm {
|
||||
public:
|
||||
J3DShapeMtxMultiImm(u16 useMtxIndex) : J3DShapeMtxImm(useMtxIndex) {}
|
||||
|
||||
virtual ~J3DShapeMtxMultiImm() {}
|
||||
virtual u32 getType() const;
|
||||
virtual u32 getUseMtxNum() const;
|
||||
virtual u32 getUseMtxIndex(u16) const;
|
||||
virtual void load() const;
|
||||
virtual void loadNrmMtx(int, u16) const;
|
||||
|
||||
private:
|
||||
/* 0x6 */ u16 mUseMtxNum;
|
||||
/* 0x8 */ u16* mUseMtxIndexTable;
|
||||
};
|
||||
|
||||
class J3DShapeMtxConcatView : public J3DShapeMtxImm {
|
||||
public:
|
||||
typedef void (J3DShapeMtxConcatView::*MtxLoadConcatView)(int mtxNo, u16 index) const;
|
||||
|
||||
J3DShapeMtxConcatView(u16 useMtxIndex) : J3DShapeMtxImm(useMtxIndex) {}
|
||||
|
||||
virtual ~J3DShapeMtxConcatView() {}
|
||||
virtual u32 getType() const;
|
||||
virtual void load() const;
|
||||
virtual void loadNrmMtx(int, u16) const;
|
||||
@@ -82,17 +112,33 @@ public:
|
||||
void loadMtxConcatView_PNCPU(int, u16) const;
|
||||
void loadMtxConcatView_PNGP_LOD(int, u16) const;
|
||||
|
||||
static u8 sMtxLoadPipeline[48];
|
||||
static u8 sMtxLoadLODPipeline[48];
|
||||
static u8 sMtxPtrTbl[8];
|
||||
static MtxLoadConcatView sMtxLoadPipeline[4];
|
||||
static Mtx * sMtxPtrTbl[2];
|
||||
};
|
||||
|
||||
class J3DShapeMtxBBoardImm : public J3DShapeMtxImm {
|
||||
public:
|
||||
J3DShapeMtxBBoardImm(u16 useMtxIndex) : J3DShapeMtxImm(useMtxIndex) {}
|
||||
|
||||
virtual ~J3DShapeMtxBBoardImm() {}
|
||||
virtual u32 getType() const;
|
||||
virtual void load() const;
|
||||
};
|
||||
|
||||
class J3DShapeMtxYBBoardImm : public J3DShapeMtxImm {
|
||||
public:
|
||||
J3DShapeMtxYBBoardImm(u16 useMtxIndex) : J3DShapeMtxImm(useMtxIndex) {}
|
||||
|
||||
virtual ~J3DShapeMtxYBBoardImm() {}
|
||||
virtual u32 getType() const;
|
||||
virtual void load() const;
|
||||
};
|
||||
|
||||
class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView {
|
||||
public:
|
||||
J3DShapeMtxYBBoardConcatView(u16 useMtxIndex) : J3DShapeMtxConcatView(useMtxIndex) {}
|
||||
|
||||
virtual ~J3DShapeMtxYBBoardConcatView();
|
||||
virtual u32 getType() const;
|
||||
virtual ~J3DShapeMtxYBBoardConcatView() {}
|
||||
virtual void load() const;
|
||||
};
|
||||
|
||||
@@ -100,8 +146,7 @@ class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView {
|
||||
public:
|
||||
J3DShapeMtxBBoardConcatView(u16 useMtxIndex) : J3DShapeMtxConcatView(useMtxIndex) {}
|
||||
|
||||
virtual ~J3DShapeMtxBBoardConcatView();
|
||||
virtual u32 getType() const;
|
||||
virtual ~J3DShapeMtxBBoardConcatView() {}
|
||||
virtual void load() const;
|
||||
};
|
||||
|
||||
@@ -110,12 +155,12 @@ public:
|
||||
J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
|
||||
: J3DShapeMtx(useMtxIndex), mUseMtxNum(useMtxNum), mUseMtxIndexTable(useMtxIndexTable) {}
|
||||
|
||||
virtual ~J3DShapeMtxMulti();
|
||||
virtual ~J3DShapeMtxMulti() {}
|
||||
virtual u32 getType() const;
|
||||
virtual u32 getUseMtxNum() const;
|
||||
virtual u32 getUseMtxIndex(u16) const;
|
||||
virtual void load() const;
|
||||
virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
||||
virtual void calcNBTScale(Vec const&, Mtx33*, Mtx33*);
|
||||
|
||||
private:
|
||||
/* 0x6 */ u16 mUseMtxNum;
|
||||
@@ -128,7 +173,7 @@ public:
|
||||
: J3DShapeMtxConcatView(useMtxIndex), mUseMtxNum(useMtxNum),
|
||||
mUseMtxIndexTable(useMtxIndexTable) {}
|
||||
|
||||
virtual ~J3DShapeMtxMultiConcatView();
|
||||
virtual ~J3DShapeMtxMultiConcatView() {}
|
||||
virtual u32 getType() const;
|
||||
virtual u32 getUseMtxNum() const;
|
||||
virtual u32 getUseMtxIndex(u16) const;
|
||||
@@ -141,4 +186,4 @@ private:
|
||||
/* 0x8 */ u16* mUseMtxIndexTable;
|
||||
};
|
||||
|
||||
#endif /* J3DSHAPEMTX_H */
|
||||
#endif /* J3DSHAPEMTX_H */
|
||||
|
||||
@@ -54,34 +54,27 @@ struct J3DTexMtxInfo {
|
||||
}; // Size: 0x64
|
||||
|
||||
struct J3DIndTexMtxInfo {
|
||||
/* 803257DC */ void operator=(J3DIndTexMtxInfo const&);
|
||||
|
||||
/* 0x00 */ Mtx23 field_0x0;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
}; // Size: 0x1C
|
||||
|
||||
struct J3DFogInfo {
|
||||
/* 80325800 */ void operator=(J3DFogInfo const&);
|
||||
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ u16 field_0x2;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ u8 field_0x14;
|
||||
/* 0x15 */ u8 field_0x15;
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
/* 0x17 */ u8 field_0x17;
|
||||
/* 0x18 */ u16 field_0x18[10];
|
||||
/* 0x00 */ u8 mType;
|
||||
/* 0x01 */ u8 mAdjEnable;
|
||||
/* 0x02 */ u16 mCenter;
|
||||
/* 0x04 */ f32 mStartZ;
|
||||
/* 0x08 */ f32 mEndZ;
|
||||
/* 0x0C */ f32 mNearZ;
|
||||
/* 0x10 */ f32 mFarZ;
|
||||
/* 0x14 */ GXColor mColor;
|
||||
/* 0x18 */ u16 mFogAdjTable[10];
|
||||
}; // Size: 0x2C
|
||||
|
||||
struct J3DNBTScaleInfo {
|
||||
/* 8032587C */ void operator=(J3DNBTScaleInfo const&);
|
||||
|
||||
/* 0x0 */ u8 mbHasScale;
|
||||
/* 0x4 */ Vec mScale;
|
||||
|
||||
inline void operator=(const J3DNBTScaleInfo & other) { mbHasScale = other.mbHasScale; mScale = other.mScale; }
|
||||
}; // Size: 0x10
|
||||
|
||||
#endif /* J3DSTRUCT_H */
|
||||
|
||||
@@ -30,42 +30,7 @@ enum J3DSysFlag {
|
||||
};
|
||||
|
||||
struct J3DSys {
|
||||
/* 0x000 */ Mtx mViewMtx;
|
||||
/* 0x030 */ J3DMtxCalc* mCurrentMtxCalc;
|
||||
/* 0x034 */ u32 mFlags;
|
||||
/* 0x038 */ J3DModel* mModel;
|
||||
/* 0x03C */ J3DMatPacket* mMatPacket;
|
||||
/* 0x040 */ J3DShapePacket* mShapePacket;
|
||||
/* 0x044 */ J3DShape* mShape;
|
||||
/* 0x048 */ J3DDrawBuffer* mDrawBuffer[2];
|
||||
/* 0x050 */ u32 mDrawMode;
|
||||
/* 0x054 */ u32 mMaterialMode;
|
||||
/* 0x058 */ J3DTexture* mTexture;
|
||||
/* 0x05C */ u8 field_0x5c[0x04];
|
||||
/* 0x060 */ u32 mTexCacheRegionNum;
|
||||
/* 0x064 */ GXTexRegion mTexCacheRegion[8];
|
||||
/* 0x0E4 */ u8 field_0xe4[0x24];
|
||||
/* 0x108 */ Mtx* mModelDrawMtx;
|
||||
/* 0x10C */ Mtx33* mModelNrmMtx;
|
||||
/* 0x110 */ void* mVtxPos;
|
||||
/* 0x114 */ void* mVtxNrm;
|
||||
/* 0x118 */ _GXColor* mVtxCol;
|
||||
/* 0x11C */ Vec* mNBTScale;
|
||||
|
||||
J3DSys();
|
||||
void loadPosMtxIndx(int, u16) const;
|
||||
void loadNrmMtxIndx(int, u16) const;
|
||||
void setTexCacheRegion(_GXTexCacheSize);
|
||||
void drawInit();
|
||||
void reinitGX();
|
||||
void reinitGenMode();
|
||||
void reinitLighting();
|
||||
void reinitTransform();
|
||||
void reinitTexture();
|
||||
void reinitTevStages();
|
||||
void reinitIndStages();
|
||||
void reinitPixelProc();
|
||||
|
||||
public:
|
||||
enum DrawMode {
|
||||
/* 0x3 */ OPA_TEX_EDGE = 3,
|
||||
/* 0x4 */ XLU,
|
||||
@@ -92,6 +57,9 @@ struct J3DSys {
|
||||
J3DMatPacket* getMatPacket() { return mMatPacket; }
|
||||
void setMaterialMode(u32 mode) { mMaterialMode = mode; }
|
||||
|
||||
void setCurrentMtxCalc(J3DMtxCalc * pCalc) { mCurrentMtxCalc = pCalc; }
|
||||
J3DMtxCalc * getCurrentMtxCalc() const { return mCurrentMtxCalc; }
|
||||
|
||||
void setTexture(J3DTexture* pTex) { mTexture = pTex; }
|
||||
J3DTexture* getTexture() { return mTexture; }
|
||||
|
||||
@@ -127,11 +95,51 @@ struct J3DSys {
|
||||
void setViewMtx(Mtx m) { MTXCopy(m, mViewMtx); }
|
||||
|
||||
J3DModel* getModel() { return mModel; }
|
||||
Vec& getNBTScale() { return *mNBTScale; }
|
||||
|
||||
static Mtx mCurrentMtx;
|
||||
static Vec mCurrentS;
|
||||
static Vec mParentS;
|
||||
static u16 sTexCoordScaleTable[32];
|
||||
|
||||
/* 0x000 */ Mtx mViewMtx;
|
||||
/* 0x030 */ J3DMtxCalc* mCurrentMtxCalc;
|
||||
/* 0x034 */ u32 mFlags;
|
||||
/* 0x038 */ J3DModel* mModel;
|
||||
/* 0x03C */ J3DMatPacket* mMatPacket;
|
||||
/* 0x040 */ J3DShapePacket* mShapePacket;
|
||||
/* 0x044 */ J3DShape* mShape;
|
||||
/* 0x048 */ J3DDrawBuffer* mDrawBuffer[2];
|
||||
/* 0x050 */ u32 mDrawMode;
|
||||
/* 0x054 */ u32 mMaterialMode;
|
||||
/* 0x058 */ J3DTexture* mTexture;
|
||||
/* 0x05C */ u8 field_0x5c[0x04];
|
||||
/* 0x060 */ u32 mTexCacheRegionNum;
|
||||
/* 0x064 */ GXTexRegion mTexCacheRegion[8];
|
||||
/* 0x0E4 */ u8 field_0xe4[0x20];
|
||||
/* 0x104 */ void* field_0x104;
|
||||
/* 0x108 */ Mtx* mModelDrawMtx;
|
||||
/* 0x10C */ Mtx33* mModelNrmMtx;
|
||||
/* 0x110 */ void* mVtxPos;
|
||||
/* 0x114 */ void* mVtxNrm;
|
||||
/* 0x118 */ _GXColor* mVtxCol;
|
||||
/* 0x11C */ void* field_0x11c;
|
||||
/* 0x120 */ void* field_0x120;
|
||||
/* 0x124 */ Vec* mNBTScale;
|
||||
|
||||
J3DSys();
|
||||
void loadPosMtxIndx(int, u16) const;
|
||||
void loadNrmMtxIndx(int, u16) const;
|
||||
void setTexCacheRegion(_GXTexCacheSize);
|
||||
void drawInit();
|
||||
void reinitGX();
|
||||
void reinitGenMode();
|
||||
void reinitLighting();
|
||||
void reinitTransform();
|
||||
void reinitTexture();
|
||||
void reinitTevStages();
|
||||
void reinitIndStages();
|
||||
void reinitPixelProc();
|
||||
};
|
||||
|
||||
extern u32 j3dDefaultViewNo;
|
||||
|
||||
@@ -5,19 +5,19 @@
|
||||
|
||||
struct J3DTevStageInfo {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x1 */ u8 mTevColorOp;
|
||||
/* 0x2 */ u8 mTevColorAB;
|
||||
/* 0x3 */ u8 mTevColorCD;
|
||||
/* 0x1 */ u8 field_0x1;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
/* 0x5 */ u8 mTevAlphaOp;
|
||||
/* 0x6 */ u8 mTevAlphaAB;
|
||||
/* 0x7 */ u8 mTevSwapModeInfo;
|
||||
/* 0x5 */ u8 field_0x5;
|
||||
/* 0x6 */ u8 field_0x6;
|
||||
/* 0x7 */ u8 field_0x7;
|
||||
};
|
||||
|
||||
struct J3DTevStage : public J3DTevStageInfo {
|
||||
/* 8000E230 */ J3DTevStage();
|
||||
/* 8000E298 */ void setTevStageInfo(J3DTevStageInfo const&);
|
||||
/* 8003AACC */ J3DTevStage(J3DTevStageInfo const&);
|
||||
J3DTevStage();
|
||||
void setTevStageInfo(J3DTevStageInfo const&);
|
||||
J3DTevStage(J3DTevStageInfo const&);
|
||||
};
|
||||
|
||||
struct J3DIndTevStageInfo {
|
||||
@@ -33,38 +33,32 @@ struct J3DIndTevStageInfo {
|
||||
};
|
||||
|
||||
struct J3DIndTevStage {
|
||||
/* 8000E14C */ J3DIndTevStage();
|
||||
J3DIndTevStage();
|
||||
|
||||
/* 0x0 */ u32 mInfo;
|
||||
};
|
||||
|
||||
struct J3DTevOrderInfo {
|
||||
void operator=(const J3DTevOrderInfo& other) {
|
||||
*(u32*) this = *(u32*)&other;
|
||||
}
|
||||
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x0 */ u8 mTexCoord __attribute__((aligned(2)));
|
||||
/* 0x1 */ u8 mTexMap;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3; // Maybe padding
|
||||
/* 0x2 */ u8 mColorChan;
|
||||
};
|
||||
|
||||
struct J3DTevOrder : public J3DTevOrderInfo {
|
||||
/* 8000E140 */ J3DTevOrder();
|
||||
J3DTevOrder(const J3DTevOrderInfo& info) {
|
||||
*(J3DTevOrderInfo*)this = info;
|
||||
}
|
||||
J3DTevOrder();
|
||||
|
||||
u8 getTexMap() { return mTexMap; }
|
||||
};
|
||||
|
||||
struct J3DTevSwapModeTable {
|
||||
/* 8000E134 */ J3DTevSwapModeTable();
|
||||
J3DTevSwapModeTable();
|
||||
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
}; // Size: 0x1
|
||||
|
||||
struct J3DTevSwapModeInfo {};
|
||||
struct J3DTevSwapModeInfo {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
};
|
||||
|
||||
struct J3DNBTScale;
|
||||
void loadNBTScale(J3DNBTScale& param_0);
|
||||
|
||||
@@ -12,10 +12,10 @@ private:
|
||||
/* 0x4 */ ResTIMG* mpRes;
|
||||
|
||||
public:
|
||||
/* 8031204C */ void loadGX(u16, _GXTexMapID) const;
|
||||
/* 803121A4 */ void entryNum(u16);
|
||||
/* 8031221C */ void addResTIMG(u16, ResTIMG const*);
|
||||
/* 803366A4 */ virtual ~J3DTexture();
|
||||
void loadGX(u16, _GXTexMapID) const;
|
||||
void entryNum(u16);
|
||||
void addResTIMG(u16, ResTIMG const*);
|
||||
virtual ~J3DTexture();
|
||||
|
||||
u16 getNum() const { return mNum; }
|
||||
ResTIMG* getResTIMG(u16 entry) const { return &mpRes[entry]; }
|
||||
@@ -31,12 +31,12 @@ public:
|
||||
J3DTexMtx(const J3DTexMtxInfo& info) {
|
||||
mTexMtxInfo = info;
|
||||
}
|
||||
/* 803238C4 */ void load(u32) const;
|
||||
/* 80323900 */ void calc(f32 const (*)[4]);
|
||||
/* 80323920 */ void calcTexMtx(f32 const (*)[4]);
|
||||
/* 80323C0C */ void calcPostTexMtx(f32 const (*)[4]);
|
||||
/* 80324358 */ void loadTexMtx(u32) const;
|
||||
/* 803243BC */ void loadPostTexMtx(u32) const;
|
||||
void load(u32) const;
|
||||
void calc(f32 const (*)[4]);
|
||||
void calcTexMtx(f32 const (*)[4]);
|
||||
void calcPostTexMtx(f32 const (*)[4]);
|
||||
void loadTexMtx(u32) const;
|
||||
void loadPostTexMtx(u32) const;
|
||||
|
||||
J3DTexMtxInfo& getTexMtxInfo() { return mTexMtxInfo; }
|
||||
Mtx& getMtx() { return mMtx; }
|
||||
@@ -51,13 +51,11 @@ struct J3DTexCoordInfo {
|
||||
/* 0x0 */ u8 mTexGenType;
|
||||
/* 0x1 */ u8 mTexGenSrc;
|
||||
/* 0x2 */ u8 mTexGenMtx;
|
||||
void operator=(J3DTexCoordInfo const& other) {
|
||||
*(u32*) this = *(u32*)&other;
|
||||
}
|
||||
};
|
||||
|
||||
struct J3DTexCoord : public J3DTexCoordInfo {
|
||||
/* 8000E464 */ J3DTexCoord();
|
||||
J3DTexCoord();
|
||||
|
||||
void setTexCoordInfo(J3DTexCoordInfo *param_1) {
|
||||
*(J3DTexCoordInfo*)this = *param_1;
|
||||
}
|
||||
@@ -65,11 +63,13 @@ struct J3DTexCoord : public J3DTexCoordInfo {
|
||||
u8 getTexGenMtx() { return mTexGenMtx & 0xff; }
|
||||
u16 getTexMtxReg() { return mTexMtxReg & 0xff; }
|
||||
|
||||
void setTexGenMtx(u8 v) { mTexGenMtx = v; }
|
||||
|
||||
void resetTexMtxReg() {
|
||||
mTexMtxReg = mTexGenMtx;
|
||||
}
|
||||
|
||||
/* 0x4 */ u16 mTexMtxReg;
|
||||
/* 0x4 */ u8 mTexMtxReg;
|
||||
}; // Size: 0x6
|
||||
|
||||
struct J3DDefaultTexCoordInfo {
|
||||
|
||||
@@ -20,28 +20,8 @@ void J3DGetTranslateRotateMtx(s16, s16, s16, f32, f32, f32, Mtx);
|
||||
void J3DPSCalcInverseTranspose(f32 (*param_0)[4], f32 (*param_1)[3]);
|
||||
void J3DGQRSetup7(u32 param_0, u32 param_1, u32 param_2, u32 param_3);
|
||||
|
||||
inline void J3DPSMtx33CopyFrom34(register MtxP src, register Mtx3P dst) {
|
||||
register f32 x_y1;
|
||||
register f32 z1;
|
||||
register f32 x_y2;
|
||||
register f32 z2;
|
||||
register f32 x_y3;
|
||||
register f32 z3;
|
||||
asm {
|
||||
psq_l x_y1, 0(src), 0, 0
|
||||
lfs z1, 8(src)
|
||||
psq_l x_y2, 16(src), 0, 0
|
||||
lfs z2, 0x18(src)
|
||||
psq_l x_y3, 32(src), 0, 0
|
||||
lfs z3, 0x28(src)
|
||||
psq_st x_y1, 0(dst), 0, 0
|
||||
stfs z1, 8(dst)
|
||||
psq_st x_y2, 12(dst), 0, 0
|
||||
stfs z2, 0x14(dst)
|
||||
psq_st x_y3, 24(dst), 0, 0
|
||||
stfs z3, 0x20(dst)
|
||||
}
|
||||
}
|
||||
void J3DPSMtx33Copy(register Mtx3P src, register Mtx3P dst);
|
||||
void J3DPSMtx33CopyFrom34(register MtxP src, register Mtx3P dst);
|
||||
|
||||
// regalloc issues
|
||||
inline void J3DPSMulMtxVec(register MtxP mtx, register Vec* vec, register Vec* dst) {
|
||||
|
||||
@@ -24,6 +24,8 @@ public:
|
||||
J3DVertexData();
|
||||
~J3DVertexData();
|
||||
|
||||
inline void clear() { mPacketNum = 0; }
|
||||
|
||||
void* getVtxPosArray() const { return mVtxPosArray; }
|
||||
void* getVtxNrmArray() const { return mVtxNrmArray; }
|
||||
GXColor* getVtxColorArray(u8 idx) const { return mVtxColorArray[idx]; }
|
||||
|
||||
@@ -8,10 +8,9 @@ enum J3DAnmLoaderDataBaseFlag { J3DLOADER_UNK_FLAG0 };
|
||||
class J3DAnmBase;
|
||||
|
||||
struct J3DAnmLoaderDataBase {
|
||||
/* 80337B40 */ static void* load(void const*, J3DAnmLoaderDataBaseFlag);
|
||||
/* 80338134 */ static void setResource(J3DAnmBase*, void const*);
|
||||
|
||||
static void* load(void const* param_0) { return load(param_0, J3DLOADER_UNK_FLAG0); }
|
||||
static void* load(void const*, J3DAnmLoaderDataBaseFlag);
|
||||
static void* load(void const*);
|
||||
static void setResource(J3DAnmBase*, void const*);
|
||||
};
|
||||
|
||||
#endif /* J3DANMLOADER_H */
|
||||
|
||||
@@ -3,9 +3,14 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class J3DModelData;
|
||||
class J3DMaterialTable;
|
||||
|
||||
class J3DModelLoaderDataBase {
|
||||
public:
|
||||
/* 803346BC */ static void* load(void const*, u32);
|
||||
static J3DModelData* load(void const*, u32);
|
||||
static J3DModelData* loadBinaryDisplayList(void const*, u32);
|
||||
static J3DMaterialTable* loadMaterialTable(void const*);
|
||||
};
|
||||
|
||||
#endif /* J3DMODELLOADER_H */
|
||||
|
||||
@@ -8,10 +8,10 @@ class J3DUClipper {
|
||||
public:
|
||||
J3DUClipper() { init(); }
|
||||
virtual ~J3DUClipper() {}
|
||||
/* 80273778 */ void init();
|
||||
/* 8027378C */ void calcViewFrustum();
|
||||
/* 802738FC */ u32 clip(f32 const (*)[4], Vec, f32) const;
|
||||
/* 80273A44 */ u32 clip(f32 const (*)[4], Vec*, Vec*) const;
|
||||
void init();
|
||||
void calcViewFrustum();
|
||||
u32 clip(const Mtx, Vec, f32);
|
||||
u32 clip(const Mtx, Vec*, Vec*);
|
||||
|
||||
void setFovy(f32 fovy) { mFovY = fovy; }
|
||||
void setAspect(f32 aspect) { mAspect = aspect; }
|
||||
|
||||
@@ -40,28 +40,28 @@ public:
|
||||
/* 0x1 */ UNK_METHOD_1 = 1
|
||||
};
|
||||
|
||||
/* 80272040 */ void ctor_subroutine(const _GXRenderModeObj*, bool enableAlpha);
|
||||
/* 802720F8 */ JFWDisplay(const _GXRenderModeObj*, JKRHeap*, JUTXfb::EXfbNumber, bool);
|
||||
/* 802721DC */ static JFWDisplay* createManager(JKRHeap*, JUTXfb::EXfbNumber, bool);
|
||||
/* 802722B8 */ void prepareCopyDisp();
|
||||
/* 802723AC */ void drawendXfb_single();
|
||||
/* 802723F4 */ void exchangeXfb_double();
|
||||
/* 802724FC */ void exchangeXfb_triple();
|
||||
/* 80272574 */ void copyXfb_triple();
|
||||
/* 802725F8 */ void preGX();
|
||||
/* 8027268C */ void endGX();
|
||||
/* 80272C60 */ void waitBlanking(int);
|
||||
/* 80272E10 */ void threadSleep(s64);
|
||||
/* 80272EB8 */ void clearEfb_init();
|
||||
/* 80272F9C */ void clearEfb(int param_0, int param_1, int param_2, int param_3, GXColor color);
|
||||
/* 80272F2C */ void clearEfb();
|
||||
/* 80272F58 */ void clearEfb(_GXColor color);
|
||||
/* 8027331C */ void calcCombinationRatio();
|
||||
void ctor_subroutine(const _GXRenderModeObj*, bool enableAlpha);
|
||||
JFWDisplay(const _GXRenderModeObj*, JKRHeap*, JUTXfb::EXfbNumber, bool);
|
||||
static JFWDisplay* createManager(JKRHeap*, JUTXfb::EXfbNumber, bool);
|
||||
void prepareCopyDisp();
|
||||
void drawendXfb_single();
|
||||
void exchangeXfb_double();
|
||||
void exchangeXfb_triple();
|
||||
void copyXfb_triple();
|
||||
void preGX();
|
||||
void endGX();
|
||||
void waitBlanking(int);
|
||||
void threadSleep(s64);
|
||||
void clearEfb_init();
|
||||
void clearEfb(int param_0, int param_1, int param_2, int param_3, GXColor color);
|
||||
void clearEfb();
|
||||
void clearEfb(_GXColor color);
|
||||
void calcCombinationRatio();
|
||||
|
||||
/* 80272798 */ virtual void beginRender();
|
||||
/* 80272A04 */ virtual void endRender();
|
||||
/* 80272AB0 */ virtual void endFrame();
|
||||
/* 80272160 */ virtual ~JFWDisplay();
|
||||
virtual void beginRender();
|
||||
virtual void endRender();
|
||||
virtual void endFrame();
|
||||
virtual ~JFWDisplay();
|
||||
|
||||
static JFWDisplay* getManager() { return sManager; }
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef JFWSYSTEM_H
|
||||
#define JFWSYSTEM_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
|
||||
typedef struct _GXRenderModeObj GXRenderModeObj;
|
||||
class JKRExpHeap;
|
||||
@@ -32,6 +32,30 @@ struct JFWSystem {
|
||||
|
||||
static JUTConsole* getSystemConsole() { return systemConsole; }
|
||||
static JKRExpHeap* getSystemHeap() { return systemHeap; }
|
||||
static void setMaxStdHeap(int max) {
|
||||
JUT_ASSERT(47, sInitCalled == 0);
|
||||
CSetUpParam::maxStdHeaps = max;
|
||||
}
|
||||
static void setSysHeapSize(u32 size) {
|
||||
JUT_ASSERT(50, sInitCalled == 0);
|
||||
CSetUpParam::sysHeapSize = size;
|
||||
}
|
||||
static void setFifoBufSize(u32 size) {
|
||||
JUT_ASSERT(53, sInitCalled == 0);
|
||||
CSetUpParam::fifoBufSize = size;
|
||||
}
|
||||
static void setAramAudioBufSize(u32 size) {
|
||||
JUT_ASSERT(58, sInitCalled == 0);
|
||||
CSetUpParam::aramAudioBufSize = size;
|
||||
}
|
||||
static void setAramGraphBufSize(u32 size) {
|
||||
JUT_ASSERT(61, sInitCalled == 0);
|
||||
CSetUpParam::aramGraphBufSize = size;
|
||||
}
|
||||
static void setRenderMode(GXRenderModeObj* p_modeObj) {
|
||||
JUT_ASSERT(80, sInitCalled == 0);
|
||||
CSetUpParam::renderMode = p_modeObj;
|
||||
}
|
||||
|
||||
static JKRExpHeap* rootHeap;
|
||||
static JKRExpHeap* systemHeap;
|
||||
|
||||
@@ -20,9 +20,8 @@ struct TNodeLinkList {
|
||||
struct iterator {
|
||||
iterator(TLinkListNode* pNode) { node = pNode; }
|
||||
iterator(const iterator& iter) { *this = iter; }
|
||||
iterator& operator++() {
|
||||
node = node->getNext();
|
||||
return *this;
|
||||
operator bool() const {
|
||||
return node != NULL;
|
||||
}
|
||||
|
||||
TLinkListNode* node;
|
||||
@@ -31,6 +30,9 @@ struct TNodeLinkList {
|
||||
struct const_iterator {
|
||||
const_iterator(TLinkListNode* pNode) { node = pNode; }
|
||||
const_iterator(const const_iterator& iter) { *this = iter; }
|
||||
operator bool() const {
|
||||
return node != NULL;
|
||||
}
|
||||
|
||||
TLinkListNode* node;
|
||||
};
|
||||
@@ -53,11 +55,17 @@ struct TNodeLinkList {
|
||||
return iter;
|
||||
}
|
||||
|
||||
const_iterator begin() const {
|
||||
const_iterator iter(ocObject_.mNext);
|
||||
return iter;
|
||||
}
|
||||
|
||||
~TNodeLinkList();
|
||||
iterator erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator);
|
||||
iterator erase(JGadget::TNodeLinkList::iterator);
|
||||
void splice(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList&,
|
||||
JGadget::TNodeLinkList::iterator);
|
||||
iterator Find(const JGadget::TLinkListNode*);
|
||||
iterator Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode*);
|
||||
iterator Erase(JGadget::TLinkListNode*);
|
||||
void Remove(JGadget::TLinkListNode*);
|
||||
@@ -74,6 +82,14 @@ struct TLinkList : public TNodeLinkList {
|
||||
iterator(TNodeLinkList::iterator iter) : TNodeLinkList::iterator(iter) {}
|
||||
};
|
||||
|
||||
struct const_iterator : TNodeLinkList::const_iterator {
|
||||
const_iterator(TNodeLinkList::const_iterator iter) : TNodeLinkList::const_iterator(iter) {}
|
||||
const_iterator& operator++() {
|
||||
node = node->getNext();
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
TLinkListNode* Element_toNode(T* element) const { return &element->ocObject_; }
|
||||
|
||||
void Insert(TLinkList::iterator iter, T* element) {
|
||||
@@ -98,6 +114,12 @@ struct TLinkList : public TNodeLinkList {
|
||||
return iter;
|
||||
}
|
||||
|
||||
TLinkList::const_iterator begin() const {
|
||||
TNodeLinkList::const_iterator node_iter = TNodeLinkList::begin();
|
||||
TLinkList::const_iterator iter(node_iter);
|
||||
return iter;
|
||||
}
|
||||
|
||||
void Push_back(T* element) {
|
||||
TLinkList::iterator iter(TLinkList::end());
|
||||
this->Insert(iter, element);
|
||||
|
||||
@@ -33,11 +33,13 @@ public:
|
||||
/* 0x84 */ u32 mStackArray[3];
|
||||
|
||||
public:
|
||||
static JKRAram* create(u32, u32, long, long, long);
|
||||
static void checkOkAddress(u8*, u32, JKRAramBlock*, u32);
|
||||
static JKRAram* create(u32, u32, s32, s32, s32);
|
||||
static bool checkOkAddress(u8*, u32, JKRAramBlock*, u32);
|
||||
static void changeGroupIdIfNeed(u8*, int);
|
||||
static JKRAramBlock* mainRamToAram(u8*, u32, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*);
|
||||
static JKRAramBlock* mainRamToAram(u8*, u32, u32, JKRExpandSwitch, u32, JKRHeap*, int);
|
||||
static JKRAramBlock* mainRamToAram(u8*, JKRAramBlock*, u32, JKRExpandSwitch, u32, JKRHeap*, int);
|
||||
static u8* aramToMainRam(u32, u8*, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*);
|
||||
static u8* aramToMainRam(JKRAramBlock*, u8*, u32, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*);
|
||||
static void dump(void);
|
||||
|
||||
static JKRAram* getManager() { return sAramObject; }
|
||||
@@ -55,14 +57,14 @@ public:
|
||||
return (u8)groupId;
|
||||
}
|
||||
|
||||
static u32 getSZSBufferSize() { return sSZSBufferSize; }
|
||||
static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; }
|
||||
static u32 getSzpBufferSize() { return sSzpBufferSize; }
|
||||
static void setSzpBufferSize(u32 size) { sSzpBufferSize = size; }
|
||||
|
||||
static OSMessageQueue sMessageQueue;
|
||||
|
||||
private:
|
||||
static JKRAram* sAramObject;
|
||||
static u32 sSZSBufferSize;
|
||||
static u32 sSzpBufferSize;
|
||||
static OSMessage sMessageBuffer[4];
|
||||
static JSUList<JKRAMCommand> sAramCommandList;
|
||||
};
|
||||
@@ -80,8 +82,8 @@ inline void JKRAramToMainRam(u32 p1, u8* p2, u32 p3, JKRExpandSwitch p4, u32 p5,
|
||||
JKRAram::aramToMainRam(p1, p2, p3, p4, p5, p6, p7, p8);
|
||||
}
|
||||
|
||||
inline JKRAramBlock *JKRMainRamToAram(u8 *buf, u32 bufSize, u32 alignedSize, JKRExpandSwitch expandSwitch, u32 fileSize, JKRHeap *heap, int id, u32 *pSize) {
|
||||
return JKRAram::mainRamToAram(buf, bufSize, alignedSize, expandSwitch, fileSize, heap, id, pSize);
|
||||
inline JKRAramBlock *JKRMainRamToAram(u8 *buf, u32 bufSize, u32 alignedSize, JKRExpandSwitch expandSwitch, u32 fileSize, JKRHeap *heap, int id) {
|
||||
return JKRAram::mainRamToAram(buf, bufSize, alignedSize, expandSwitch, fileSize, heap, id);
|
||||
}
|
||||
|
||||
// void JKRDecompressFromAramToMainRam(u32, void*, u32, u32, u32, u32*);
|
||||
|
||||
@@ -9,10 +9,10 @@ class JKRDvdFile;
|
||||
|
||||
class JKRAramArchive : public JKRArchive {
|
||||
public:
|
||||
JKRAramArchive(long, JKRArchive::EMountDirection);
|
||||
JKRAramArchive(s32, JKRArchive::EMountDirection);
|
||||
virtual ~JKRAramArchive();
|
||||
|
||||
bool open(long);
|
||||
bool open(s32);
|
||||
u32 getAramAddress_Entry(SDIFileEntry*);
|
||||
u32 getAramAddress(char const*);
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
/* 0x18 */ u32 mSize;
|
||||
/* 0x1C */ u32 mFreeSize;
|
||||
/* 0x20 */ u8 mGroupId;
|
||||
/* 0x21 */ u8 mIsTempMemory;
|
||||
/* 0x21 */ bool mIsTempMemory;
|
||||
/* 0x22 */ u8 padding[2];
|
||||
};
|
||||
|
||||
|
||||
@@ -22,32 +22,31 @@ public:
|
||||
/* 0x0C */ u32 field_0x0c;
|
||||
/* 0x10 */ JSUFileInputStream* mStream;
|
||||
/* 0x14 */ u32 mOffset;
|
||||
/* 0x18 */ u32* mReturnSize;
|
||||
/* 0x1C */ u8* mTransferBuffer;
|
||||
/* 0x20 */ u32 mTransferBufferSize;
|
||||
/* 0x24 */ JKRHeap* mHeap;
|
||||
/* 0x28 */ bool mAllocatedTransferBuffer;
|
||||
/* 0x29 */ u8 padding_0x29[3];
|
||||
/* 0x2C */ u32 field_0x2c;
|
||||
/* 0x30 */ OSMessageQueue mMessageQueue;
|
||||
/* 0x50 */ OSMessage mMessage;
|
||||
/* 0x54 */ u32 field_0x54;
|
||||
/* 0x58 */ u32 field_0x58;
|
||||
/* 0x18 */ u8* mTransferBuffer;
|
||||
/* 0x1C */ u32 mTransferBufferSize;
|
||||
/* 0x20 */ JKRHeap* mHeap;
|
||||
/* 0x24 */ bool mAllocatedTransferBuffer;
|
||||
/* 0x25 */ u8 padding_0x29[3];
|
||||
/* 0x28 */ u32 field_0x2c;
|
||||
/* 0x2C */ OSMessageQueue mMessageQueue;
|
||||
/* 0x4C */ OSMessage mMessage;
|
||||
/* 0x50 */ u32 field_0x54;
|
||||
/* 0x54 */ u32 field_0x58;
|
||||
};
|
||||
|
||||
class JKRAramStream : public JKRThread {
|
||||
private:
|
||||
JKRAramStream(long);
|
||||
JKRAramStream(s32);
|
||||
virtual ~JKRAramStream();
|
||||
|
||||
/* vt[03] */ void* run(void); /* override */
|
||||
|
||||
public:
|
||||
static JKRAramStream* create(long);
|
||||
static JKRAramStream* create(s32);
|
||||
|
||||
static s32 readFromAram(void);
|
||||
static s32 writeToAram(JKRAramStreamCommand*);
|
||||
static JKRAramStreamCommand* write_StreamToAram_Async(JSUFileInputStream*, u32, u32, u32, u32*);
|
||||
static JKRAramStreamCommand* write_StreamToAram_Async(JSUFileInputStream*, u32, u32, u32);
|
||||
static JKRAramStreamCommand* sync(JKRAramStreamCommand*, BOOL);
|
||||
static void setTransBuffer(u8*, u32, JKRHeap*);
|
||||
|
||||
@@ -61,8 +60,12 @@ private:
|
||||
static JKRHeap* transHeap;
|
||||
};
|
||||
|
||||
inline JKRAramStream* JKRCreateAramStreamManager(long priority) {
|
||||
inline JKRAramStream* JKRCreateAramStreamManager(s32 priority) {
|
||||
return JKRAramStream::create(priority);
|
||||
}
|
||||
|
||||
inline JKRAramStreamCommand* JKRStreamToAram_Async(JSUFileInputStream *stream, u32 addr, u32 size, u32 offset, void (*callback)(u32)) {
|
||||
return JKRAramStream::write_StreamToAram_Async(stream, addr, size, offset);
|
||||
}
|
||||
|
||||
#endif /* JKRARAMSTREAM_H */
|
||||
|
||||
@@ -41,12 +41,6 @@ inline u16 read_big_endian_u16(void* ptr) {
|
||||
return ((u16)uptr[0] << 8) | ((u16)uptr[1]);
|
||||
}
|
||||
|
||||
inline u32 JKRDecompExpandSize(u8* pBuf) {
|
||||
return (pBuf[4] << 0x18) | (pBuf[5] << 0x10) | (pBuf[6] << 8) | pBuf[7];
|
||||
}
|
||||
|
||||
extern u32 sCurrentDirID__10JKRArchive; // JKRArchive::sCurrentDirID
|
||||
|
||||
class JKRArchive : public JKRFileLoader {
|
||||
public:
|
||||
struct SDirEntry {
|
||||
@@ -121,8 +115,7 @@ public:
|
||||
|
||||
protected:
|
||||
JKRArchive();
|
||||
JKRArchive(long, EMountMode);
|
||||
virtual ~JKRArchive();
|
||||
JKRArchive(s32, EMountMode);
|
||||
|
||||
public:
|
||||
bool getDirEntry(SDirEntry*, u32) const;
|
||||
@@ -169,6 +162,9 @@ public:
|
||||
u8 getMountMode() const { return mMountMode; }
|
||||
bool isFileEntry(u32 param_0) { return getFileAttribute(param_0) & 1; }
|
||||
|
||||
protected:
|
||||
virtual ~JKRArchive();
|
||||
|
||||
public:
|
||||
/* 0x00 */ // vtable
|
||||
/* 0x04 */ // JKRFileLoader
|
||||
@@ -193,7 +189,7 @@ public:
|
||||
static JKRArchive* mount(void*, JKRHeap*, EMountDirection);
|
||||
static JKRArchive* mount(s32, EMountMode, JKRHeap*, EMountDirection);
|
||||
static void* getGlbResource(u32, const char*, JKRArchive*);
|
||||
static void readTypeResource(void*, u32, u32, const char*, JKRArchive*);
|
||||
static u32 readTypeResource(void*, u32, u32, const char*, JKRArchive*);
|
||||
|
||||
static JKRCompression convertAttrToCompressionType(u32 attr) {
|
||||
#define JKRARCHIVE_ATTR_COMPRESSION 0x04
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#ifndef JKRARCHIVEPRI_H
|
||||
#define JKRARCHIVEPRI_H
|
||||
|
||||
|
||||
#endif /* JKRARCHIVEPRI_H */
|
||||
@@ -1,5 +0,0 @@
|
||||
#ifndef JKRARCHIVEPUB_H
|
||||
#define JKRARCHIVEPUB_H
|
||||
|
||||
|
||||
#endif /* JKRARCHIVEPUB_H */
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
class JKRAssertHeap : public JKRHeap {
|
||||
protected:
|
||||
JKRAssertHeap(void*, unsigned long, JKRHeap*, bool);
|
||||
JKRAssertHeap(void*, u32, JKRHeap*, bool);
|
||||
virtual ~JKRAssertHeap();
|
||||
|
||||
public:
|
||||
|
||||
@@ -8,15 +8,15 @@ class JKRDvdFile;
|
||||
|
||||
class JKRCompArchive : public JKRArchive {
|
||||
public:
|
||||
JKRCompArchive(long, JKRArchive::EMountDirection);
|
||||
JKRCompArchive(s32, JKRArchive::EMountDirection);
|
||||
virtual ~JKRCompArchive();
|
||||
|
||||
bool open(long);
|
||||
bool open(s32);
|
||||
|
||||
/* vt[09] */ void removeResourceAll(void); /* override */
|
||||
/* vt[10] */ bool removeResource(void*); /* override */
|
||||
|
||||
/* vt[15] */ u32 getExpandedResSize(const void*) const; /* override */
|
||||
/* vt[15] */ u32 getExpandedResSize(const void*) const; /* override */
|
||||
/* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */
|
||||
/* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */
|
||||
|
||||
|
||||
@@ -32,13 +32,13 @@ public:
|
||||
|
||||
class JKRDecomp : public JKRThread {
|
||||
private:
|
||||
JKRDecomp(long);
|
||||
JKRDecomp(s32);
|
||||
virtual ~JKRDecomp();
|
||||
|
||||
/* vt[03] */ virtual void* run(); /* override */
|
||||
|
||||
public:
|
||||
static JKRDecomp* create(long);
|
||||
static JKRDecomp* create(s32);
|
||||
static JKRDecompCommand* prepareCommand(u8*, u8*, u32, u32, JKRDecompCommand::AsyncCallback);
|
||||
static void sendCommand(JKRDecompCommand*);
|
||||
static bool sync(JKRDecompCommand*, int);
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
static JKRCompression checkCompressed(u8*);
|
||||
|
||||
static JKRDecomp* sDecompObject;
|
||||
static OSMessage sMessageBuffer[8];
|
||||
static OSMessage sMessageBuffer[4];
|
||||
static OSMessageQueue sMessageQueue;
|
||||
};
|
||||
|
||||
@@ -58,15 +58,16 @@ inline void JKRDecompress(u8* srcBuffer, u8* dstBuffer, u32 srcLength, u32 dstLe
|
||||
JKRDecomp::orderSync(srcBuffer, dstBuffer, srcLength, dstLength);
|
||||
}
|
||||
|
||||
inline JKRDecomp* JKRCreateDecompManager(long priority) {
|
||||
inline JKRDecomp* JKRCreateDecompManager(s32 priority) {
|
||||
return JKRDecomp::create(priority);
|
||||
}
|
||||
|
||||
inline JKRCompression JKRCheckCompressed_noASR(u8 *pBuf) {
|
||||
JKRCompression compression = JKRDecomp::checkCompressed(pBuf);
|
||||
if (compression == COMPRESSION_ASR) // ternary i had before was either incorrect, or was not a ternary at all
|
||||
compression = COMPRESSION_NONE;
|
||||
return compression;
|
||||
inline JKRCompression JKRCheckCompressed(u8 *pBuf) {
|
||||
return JKRDecomp::checkCompressed(pBuf);
|
||||
}
|
||||
|
||||
inline u32 JKRDecompExpandSize(u8* pBuf) {
|
||||
return (pBuf[4] << 0x18) | (pBuf[5] << 0x10) | (pBuf[6] << 8) | pBuf[7];
|
||||
}
|
||||
|
||||
#endif /* JKRDECOMP_H */
|
||||
|
||||
@@ -13,44 +13,44 @@ public:
|
||||
~JKRADCommand();
|
||||
|
||||
/* 0x00 */ JSULink<JKRADCommand> mLink;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ int field_0x14;
|
||||
/* 0x18 */ int field_0x18;
|
||||
/* 0x1C */ int field_0x1c;
|
||||
/* 0x20 */ int field_0x20;
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x28 */ JKRDvdFile* mDvdFile;
|
||||
/* 0x2C */ u32 field_0x2c;
|
||||
/* 0x30 */ JKRAramBlock* mBlock;
|
||||
/* 0x10 */ JKRDvdFile* mDvdFile;
|
||||
/* 0x14 */ u32 mOffset;
|
||||
/* 0x18 */ u32 field_0x18;
|
||||
/* 0x1C */ u32 mAddress;
|
||||
/* 0x20 */ JKRAramBlock* mBlock;
|
||||
/* 0x24 */ JKRExpandSwitch mExpandSwitch;
|
||||
/* 0x28 */ int field_0x28;
|
||||
/* 0x2C */ int field_0x2c;
|
||||
/* 0x30 */ int field_0x30;
|
||||
/* 0x34 */ int field_0x34;
|
||||
/* 0x38 */ void (*field_0x38)(u32);
|
||||
/* 0x3C */ u32 field_0x3c;
|
||||
/* 0x40 */ u32 field_0x40;
|
||||
/* 0x44 */ u32* field_0x44;
|
||||
/* 0x48 */ int field_0x48;
|
||||
/* 0x4C */ u8 field_0x4c;
|
||||
/* 0x50 */ JKRAramStreamCommand* mStreamCommand;
|
||||
/* 0x38 */ int field_0x38;
|
||||
/* 0x3C */ int field_0x3c;
|
||||
/* 0x40 */ void (*mCallback)(u32);
|
||||
/* 0x44 */ int field_0x44;
|
||||
/* 0x48 */ bool field_0x48;
|
||||
/* 0x4C */ JKRAramStreamCommand* mStreamCommand;
|
||||
};
|
||||
|
||||
class JKRDvdFile;
|
||||
class JKRDvdAramRipper {
|
||||
public:
|
||||
static JKRAramBlock* loadToAram(long, u32, JKRExpandSwitch, u32, u32, u32*);
|
||||
static JKRAramBlock* loadToAram(JKRDvdFile*, u32, JKRExpandSwitch, u32, u32, u32*);
|
||||
static JKRAramBlock* loadToAram(s32, u32, JKRExpandSwitch, u32, u32);
|
||||
static JKRAramBlock* loadToAram(JKRDvdFile*, u32, JKRExpandSwitch, u32, u32);
|
||||
static JKRADCommand* loadToAram_Async(JKRDvdFile*, u32, JKRExpandSwitch, void (*)(u32), u32,
|
||||
u32, u32*);
|
||||
u32);
|
||||
static JKRADCommand* callCommand_Async(JKRADCommand*);
|
||||
static bool syncAram(JKRADCommand*, int);
|
||||
|
||||
static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; }
|
||||
static u32 getSzpBufferSize() { return sSzpBufferSize; }
|
||||
static void setSzpBufferSize(u32 size) { sSzpBufferSize = size; }
|
||||
|
||||
// TODO: fix type
|
||||
static u8 sDvdAramAsyncList[12];
|
||||
static u32 sSZSBufferSize;
|
||||
static JSUList<JKRADCommand> sDvdAramAsyncList;
|
||||
static u32 sSzpBufferSize;
|
||||
static bool errorRetry;
|
||||
};
|
||||
|
||||
inline JKRAramBlock *JKRDvdToAram(s32 entrynum, u32 p2, JKRExpandSwitch expSwitch, u32 p4, u32 p5, u32 *p6) {
|
||||
return JKRDvdAramRipper::loadToAram(entrynum, p2, expSwitch, p4, p5, p6);
|
||||
inline JKRAramBlock *JKRDvdToAram(s32 entrynum, u32 p2, JKRExpandSwitch expSwitch, u32 p4, u32 p5) {
|
||||
return JKRDvdAramRipper::loadToAram(entrynum, p2, expSwitch, p4, p5);
|
||||
}
|
||||
|
||||
#endif /* JKRDVDARAMRIPPER_H */
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
/* vt[04] */ virtual void close(void); /* override */
|
||||
/* vt[05] */ virtual s32 readData(void*, s32, s32); /* override */
|
||||
/* vt[06] */ virtual s32 writeData(const void*, s32, s32); /* override */
|
||||
/* vt[07] */ virtual s32 getFileSize(void) const; /* override */
|
||||
/* vt[07] */ virtual s32 getFileSize(void) const { return mFileInfo.length; } /* override */
|
||||
/* vt[08] */ virtual bool open(s32);
|
||||
|
||||
// private:
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
/* 0xF4 */ OSThread* mOSThread;
|
||||
|
||||
public:
|
||||
static void doneProcess(long, DVDFileInfo*);
|
||||
static void doneProcess(s32, DVDFileInfo*);
|
||||
|
||||
static JSUList<JKRDvdFile>& getDvdList() { return sDvdList; }
|
||||
|
||||
|
||||
@@ -25,7 +25,8 @@ class JKRDvdFile;
|
||||
class JKRDvdRipper {
|
||||
public:
|
||||
static JSUList<JKRDMCommand> sDvdAsyncList;
|
||||
static u32 sSZSBufferSize;
|
||||
static u32 sSzpBufferSize;
|
||||
static bool errorRetry;
|
||||
|
||||
enum EAllocDirection {
|
||||
UNKNOWN_EALLOC_DIRECTION = 0,
|
||||
@@ -33,17 +34,17 @@ public:
|
||||
ALLOC_DIRECTION_BACKWARD = 2,
|
||||
};
|
||||
|
||||
static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; }
|
||||
static void setSzpBufferSize(u32 size) { sSzpBufferSize = size; }
|
||||
|
||||
static void* loadToMainRAM(char const*, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection,
|
||||
u32, int*);
|
||||
static void* loadToMainRAM(long, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection, u32,
|
||||
static void* loadToMainRAM(s32, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection, u32,
|
||||
int*);
|
||||
static void* loadToMainRAM(JKRDvdFile*, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection,
|
||||
u32, int*);
|
||||
|
||||
static u8 isErrorRetry(void);
|
||||
inline static u32 getSZSBufferSize() { return sSZSBufferSize; }
|
||||
static bool isErrorRetry(void) { return errorRetry; }
|
||||
inline static u32 getSzpBufferSize() { return sSzpBufferSize; }
|
||||
};
|
||||
|
||||
// void JKRDecompressFromDVD(JKRDvdFile*, void*, u32, u32, u32, u32, u32*);
|
||||
|
||||
@@ -8,7 +8,7 @@ public:
|
||||
JKRFile() : mIsAvailable(false) {}
|
||||
virtual ~JKRFile() {}
|
||||
|
||||
s32 read(void*, long, long);
|
||||
s32 read(void*, s32, s32);
|
||||
|
||||
bool isAvailable() const { return mIsAvailable; }
|
||||
|
||||
|
||||
@@ -41,10 +41,10 @@ public:
|
||||
/* vt[12] */ virtual u32 getResSize(const void*) const; /* override */
|
||||
/* vt[13] */ virtual u32 countFile(const char*) const; /* override */
|
||||
/* vt[14] */ virtual JKRFileFinder* getFirstFile(const char*) const; /* override */
|
||||
/* vt[15] */ virtual void* getFsResource(const char*);
|
||||
/* vt[16] */ virtual void* getNameResource(u32, const char*);
|
||||
/* vt[17] */ virtual u32 readFsResource(void*, u32, const char*);
|
||||
/* vt[18] */ virtual u32 readNameResource(void*, u32, u32, const char*);
|
||||
/* vt[15] */ virtual void* getFsResource(const char* path) { return getResource(path); }
|
||||
/* vt[16] */ virtual void* getNameResource(u32 type, const char* path) { return getResource(type, path); }
|
||||
/* vt[17] */ virtual u32 readFsResource(void* dst, u32 dstLength, const char* path) { return readResource(dst, dstLength, path); }
|
||||
/* vt[18] */ virtual u32 readNameResource(void* dst, u32 dstLength, u32 type, const char* path) { return readResource(dst, dstLength, type, path); }
|
||||
|
||||
private:
|
||||
/* 0x00 */ // vtable
|
||||
|
||||
@@ -16,7 +16,7 @@ public:
|
||||
mIsAvailable = false;
|
||||
mIsFileOrDirectory = false;
|
||||
}
|
||||
inline virtual ~JKRFileFinder();
|
||||
inline virtual ~JKRFileFinder() {};
|
||||
|
||||
bool isAvailable() const { return mIsAvailable; }
|
||||
bool isFile() const { return mIsFileOrDirectory; }
|
||||
@@ -37,7 +37,7 @@ class JKRArchive;
|
||||
class JKRArcFinder : public JKRFileFinder {
|
||||
public:
|
||||
JKRArcFinder(JKRArchive*, s32, s32);
|
||||
inline virtual ~JKRArcFinder();
|
||||
inline virtual ~JKRArcFinder() {};
|
||||
|
||||
public:
|
||||
/* vt[3] */ virtual bool findNextFile(void); /* override */
|
||||
|
||||
@@ -43,7 +43,7 @@ public:
|
||||
static bool removeResource(void*, JKRFileLoader*);
|
||||
static bool detachResource(void*, JKRFileLoader*);
|
||||
static JKRFileLoader* findVolume(const char**);
|
||||
static const char* fetchVolumeName(char*, long, const char*);
|
||||
static const char* fetchVolumeName(char*, s32, const char*);
|
||||
|
||||
static JKRFileLoader* getCurrentVolume() { return sCurrentVolume; }
|
||||
static void setCurrentVolume(JKRFileLoader* fileLoader) { sCurrentVolume = fileLoader; }
|
||||
|
||||
@@ -10,11 +10,14 @@ enum JKRMemBreakFlag {
|
||||
|
||||
class JKRMemArchive : public JKRArchive {
|
||||
public:
|
||||
JKRMemArchive(long, JKRArchive::EMountDirection);
|
||||
JKRMemArchive(void*, u32, JKRMemBreakFlag);
|
||||
JKRMemArchive();
|
||||
JKRMemArchive(s32, JKRArchive::EMountDirection);
|
||||
virtual ~JKRMemArchive();
|
||||
|
||||
bool open(long, JKRArchive::EMountDirection);
|
||||
void fixedInit(s32);
|
||||
bool mountFixed(void*, JKRMemBreakFlag);
|
||||
void unmountFixed();
|
||||
bool open(s32, JKRArchive::EMountDirection);
|
||||
bool open(void*, u32, JKRMemBreakFlag);
|
||||
|
||||
/* vt[09] */ void removeResourceAll(void); /* override */
|
||||
|
||||
@@ -23,8 +23,8 @@ protected:
|
||||
static s32 getUsedSize(JKRSolidHeap* heap) { return heap->mSize - heap->getTotalFreeSize(); }
|
||||
|
||||
public:
|
||||
/* vt[04] */ virtual u32 getHeapType(void); /* override */
|
||||
/* vt[05] */ virtual bool check(void); /* override */
|
||||
/* vt[04] */ virtual u32 getHeapType(void) { return 'SLID'; } /* override */
|
||||
/* vt[05] */ virtual bool check(void); /* override */
|
||||
|
||||
/* vt[07] */ virtual bool dump(void); /* override */
|
||||
/* vt[08] */ virtual void do_destroy(void); /* override */
|
||||
@@ -35,11 +35,11 @@ public:
|
||||
/* vt[13] */ virtual void do_freeFill(void); /* override */
|
||||
/* vt[14] */ virtual s32 do_resize(void*, u32); /* override */
|
||||
/* vt[15] */ virtual s32 do_getSize(void*); /* override */
|
||||
/* vt[16] */ virtual s32 do_getFreeSize(void); /* override */
|
||||
/* vt[17] */ virtual void* do_getMaxFreeBlock(void); /* override */
|
||||
/* vt[18] */ virtual s32 do_getTotalFreeSize(void); /* override */
|
||||
/* vt[16] */ virtual s32 do_getFreeSize(void) { return mFreeSize;} /* override */
|
||||
/* vt[17] */ virtual void* do_getMaxFreeBlock(void) { return mSolidHead; } /* override */
|
||||
/* vt[18] */ virtual s32 do_getTotalFreeSize(void) { return getFreeSize(); } /* override */
|
||||
|
||||
/* vt[21] */ virtual u32 state_register(JKRHeap::TState*, u32) const; /* override */
|
||||
/* vt[21] */ virtual void state_register(JKRHeap::TState*, u32) const; /* override */
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const&,
|
||||
JKRHeap::TState const&) const; /* override */
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
#ifndef JKRSTDHEAP_H
|
||||
#define JKRSTDHEAP_H
|
||||
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "dolphin/os/OSAlloc.h"
|
||||
|
||||
class JKRStdHeap : public JKRHeap {
|
||||
static JKRStdHeap* create(u32, JKRHeap*, bool);
|
||||
void do_destroy();
|
||||
JKRStdHeap(void*, u32, JKRHeap*, bool);
|
||||
~JKRStdHeap();
|
||||
void* do_alloc(u32, int);
|
||||
void do_free(void*);
|
||||
void do_freeAll();
|
||||
void do_freeTail();
|
||||
s32 do_resize(void*, u32);
|
||||
s32 do_getFreeSize();
|
||||
void* do_getMaxFreeBlock();
|
||||
void state_register(JKRHeap::TState*, u32) const;
|
||||
bool state_compare(const JKRHeap::TState&, const JKRHeap::TState&) const;
|
||||
void do_freeFill();
|
||||
u32 getHeapType() { return 'STDH'; }
|
||||
bool check() { return OSCheckHeap(mHeapHandle) != -1; }
|
||||
bool dump() {
|
||||
OSDumpHeap(mHeapHandle);
|
||||
return OSCheckHeap(mHeapHandle) != -1;
|
||||
}
|
||||
s32 do_getSize(void* ptr) { return OSReferentSize(ptr); };
|
||||
s32 do_getTotalFreeSize() { return getFreeSize(); };
|
||||
|
||||
OSHeapHandle mHeapHandle;
|
||||
};
|
||||
|
||||
#endif /* JKRSTDHEAP_H */
|
||||
@@ -4,74 +4,15 @@
|
||||
#include "dolphin/types.h"
|
||||
#include "MSL_C/utility.h"
|
||||
|
||||
struct TSinCosTable {
|
||||
std::pair<f32, f32> table[0x2000];
|
||||
|
||||
f32 sinShort(s16 v) const { return table[static_cast<u16>(v) >> 3].first; }
|
||||
f32 cosShort(s16 v) const { return table[static_cast<u16>(v) >> 3].second; }
|
||||
|
||||
inline f32 sinLap(f32 v) {
|
||||
if (v < 0.0f) {
|
||||
return -table[(u16)(-8192.0f * v) & 0x1fff].first;
|
||||
}
|
||||
return table[(u16)(8192.0f * v) & 0x1fff].first;
|
||||
}
|
||||
|
||||
inline f32 sinDegree(f32 degree) {
|
||||
if (degree < 0.0f) {
|
||||
return -table[(u16)(-22.755556106567383f * degree) & 0x1fffU].first;
|
||||
}
|
||||
return table[(u16)(22.755556106567383f * degree) & 0x1fffU].first;
|
||||
}
|
||||
|
||||
inline f32 cosDegree(f32 degree) {
|
||||
if (degree < 0.0f) {
|
||||
degree = -degree;
|
||||
}
|
||||
return table[(u16)(22.755556106567383f * degree) & 0x1fffU].second;
|
||||
}
|
||||
};
|
||||
|
||||
struct TAtanTable {
|
||||
f32 table[1025];
|
||||
u8 pad[0x1C];
|
||||
};
|
||||
|
||||
struct TAsinAcosTable {
|
||||
f32 table[1025];
|
||||
u8 pad[0x1C];
|
||||
};
|
||||
|
||||
namespace JMath {
|
||||
extern TSinCosTable sincosTable_;
|
||||
extern TAtanTable atanTable_;
|
||||
extern TAsinAcosTable asinAcosTable_;
|
||||
}; // namespace JMath
|
||||
|
||||
inline f32 JMASCosShort(s16 v) {
|
||||
return JMath::sincosTable_.cosShort(v);
|
||||
}
|
||||
inline f32 JMASinShort(s16 v) {
|
||||
return JMath::sincosTable_.sinShort(v);
|
||||
}
|
||||
extern u32 jmaSinShift;
|
||||
extern f32 *jmaSinTable;
|
||||
extern f32 *jmaCosTable;
|
||||
|
||||
inline f32 JMASCos(s16 v) {
|
||||
return JMASCosShort(v);
|
||||
return jmaCosTable[static_cast<u16>(v) >> jmaSinShift];
|
||||
}
|
||||
inline f32 JMASSin(s16 v) {
|
||||
return JMASinShort(v);
|
||||
}
|
||||
|
||||
inline f32 JMASinLap(f32 v) {
|
||||
return JMath::sincosTable_.sinLap(v);
|
||||
}
|
||||
|
||||
inline f32 JMASinDegree(f32 degree) {
|
||||
return JMath::sincosTable_.sinDegree(degree);
|
||||
}
|
||||
|
||||
inline f32 JMACosDegree(f32 degree) {
|
||||
return JMath::sincosTable_.cosDegree(degree);
|
||||
return jmaSinTable[static_cast<u16>(v) >> jmaSinShift];
|
||||
}
|
||||
|
||||
#endif /* JMATRIGONOMETRIC_H */
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
|
||||
void JMANewSinTable(u8 param_1);
|
||||
void JMAMTXApplyScale(const Mtx, Mtx, f32, f32, f32);
|
||||
void JMAEulerToQuat(s16 param_0, s16 param_1, s16 param_2, Quaternion* param_3);
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
#ifndef JPADRAW_H
|
||||
#define JPADRAW_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/gx/GXStruct.h"
|
||||
#include "dolphin/gx/GXEnum.h"
|
||||
#include "JSystem/JParticle/JPAParticle.h"
|
||||
|
||||
class JPABaseShapeArc;
|
||||
class JPAExtraShapeArc;
|
||||
class JPASweepShapeArc;
|
||||
class JPAExTexShapeArc;
|
||||
class JPATextureResource;
|
||||
|
||||
class JPADraw;
|
||||
class JPADrawExecEmitterVisitor;
|
||||
class JPADrawExecParticleVisitor;
|
||||
|
||||
class JPADrawContext {
|
||||
/* 0x00 */ JPABaseEmitter* mpBaseEmitter;
|
||||
/* 0x04 */ JPABaseShapeArc* mpBaseArc;
|
||||
/* 0x08 */ JPAExtraShapeArc* mpExtraArc;
|
||||
/* 0x0C */ JPASweepShapeArc* mpSweepArc;
|
||||
/* 0x10 */ JPAExTexShapeArc* mpExTexShape;
|
||||
/* 0x14 */ JPADraw* mpDraw;
|
||||
/* 0x18 */ JSUPtrList* mpActiveParticles;
|
||||
/* 0x1C */ JPATextureResource* mpTextureResource;
|
||||
/* 0x20 */ s16* mpTexIdxArray;
|
||||
};
|
||||
|
||||
class JPADraw {
|
||||
public:
|
||||
enum JPADrawVisitorDefFlags {};
|
||||
|
||||
void initialize(JPABaseEmitter*, JPATextureResource*);
|
||||
void draw(float(*)[4]);
|
||||
void calc();
|
||||
void calcParticle(JPABaseParticle*);
|
||||
void calcChild(JPABaseParticle*);
|
||||
void initParticle(JPABaseParticle*);
|
||||
void initChild(JPABaseParticle*, JPABaseParticle*);
|
||||
void loadTexture(unsigned char, _GXTexMapID);
|
||||
void setDrawExecVisitorsBeforeCB(const JPADraw::JPADrawVisitorDefFlags&);
|
||||
void setDrawExecVisitorsAfterCB(const JPADraw::JPADrawVisitorDefFlags&);
|
||||
void setDrawCalcVisitors(const JPADraw::JPADrawVisitorDefFlags&);
|
||||
void setParticleClipBoard();
|
||||
void setChildClipBoard();
|
||||
void drawParticle();
|
||||
void drawChild();
|
||||
void zDraw();
|
||||
void zDrawParticle();
|
||||
void zDrawChild();
|
||||
void loadYBBMtx(float(*)[4]);
|
||||
|
||||
/* 0x00 */ JPADrawExecEmitterVisitor* mpExecEmtrVis[1];
|
||||
/* 0x04 */ JPADrawExecEmitterVisitor* mpExecEmtrPVis[5];
|
||||
/* 0x18 */ JPADrawExecEmitterVisitor* mpExecEmtrCVis[3];
|
||||
/* 0x24 */ JPADrawExecParticleVisitor* mpCalcEmtrVis[4];
|
||||
/* 0x34 */ JPADrawExecParticleVisitor* mpExecPtclVis[5];
|
||||
/* 0x48 */ JPADrawExecParticleVisitor* mpCalcPtclVis[10];
|
||||
/* 0x70 */ JPADrawExecParticleVisitor* mpExecChldVis[4];
|
||||
/* 0x80 */ JPADrawExecParticleVisitor* mpCalcChldVis[2];
|
||||
/* 0x88 */ u8 mExecEmtrVisNum;
|
||||
/* 0x89 */ u8 mExecEmtrPVisNum;
|
||||
/* 0x8A */ u8 mExecEmtrCVisNum;
|
||||
/* 0x8B */ u8 mCalcEmtrVisNum;
|
||||
/* 0x8C */ u8 mExecPtclVisNum;
|
||||
/* 0x8D */ u8 mCalcPtclVisNum;
|
||||
/* 0x8E */ u8 mExecChldVisNum;
|
||||
/* 0x8F */ u8 mCalcChldVisNum;
|
||||
/* 0x90 */ JPADrawContext mDrawContext;
|
||||
/* 0xB4 */ f32 mScaleOut;
|
||||
/* 0xB8 */ _GXColor mPrmColor;
|
||||
/* 0xBC */ _GXColor mEnvColor;
|
||||
/* 0xC0 */ s16 mTexIdx;
|
||||
/* 0xC2 */ u8 field_0xc2;
|
||||
/* 0xC3 */ u8 field_0xC3[0xC4 - 0xC3];
|
||||
};
|
||||
|
||||
#endif /* JPADRAW_H */
|
||||
@@ -0,0 +1,142 @@
|
||||
#ifndef JPAEMITTER_H
|
||||
#define JPAEMITTER_H
|
||||
|
||||
#include "JSystem/JParticle/JPADraw.h"
|
||||
#include "JSystem/JParticle/JPAField.h"
|
||||
#include "JSystem/JParticle/JPAMath.h"
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
#include "JSystem/JMath/random.h"
|
||||
#include "JSystem/JGeometry.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "dolphin/gx/GXStruct.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
|
||||
class JPADataBlockLinkInfo;
|
||||
|
||||
enum {
|
||||
JPAEmtrStts_StopEmit = 0x01,
|
||||
JPAEmtrStts_StopCalc = 0x02,
|
||||
JPAEmtrStts_StopDraw = 0x04,
|
||||
JPAEmtrStts_EnableDeleteEmitter = 0x08,
|
||||
JPAEmtrStts_FirstEmit = 0x10,
|
||||
JPAEmtrStts_RateStepEmit = 0x20,
|
||||
JPAEmtrStts_Immortal = 0x40,
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
class JPACallBackBase {
|
||||
public:
|
||||
JPACallBackBase() {}
|
||||
virtual ~JPACallBackBase();
|
||||
|
||||
virtual void init(JPABaseEmitter*);
|
||||
virtual void execute(JPABaseEmitter*);
|
||||
virtual void executeAfter(JPABaseEmitter*);
|
||||
virtual void draw(JPABaseEmitter*);
|
||||
};
|
||||
|
||||
class JPABaseEmitter {
|
||||
public:
|
||||
typedef void (JPABaseEmitter::*VolumeFunc)();
|
||||
|
||||
void calcVolumePoint();
|
||||
void calcVolumeLine();
|
||||
void calcVolumeCircle();
|
||||
void calcVolumeCube();
|
||||
void calcVolumeSphere();
|
||||
void calcVolumeCylinder();
|
||||
void calcVolumeTorus();
|
||||
void create(JPADataBlockLinkInfo*);
|
||||
void calcEmitterInfo();
|
||||
void calc();
|
||||
void calcCreatePtcls();
|
||||
void createChildren(JPABaseParticle*);
|
||||
void createParticle();
|
||||
void calcParticle();
|
||||
void calcChild();
|
||||
void calcKey();
|
||||
void deleteParticle(JPABaseParticle*, JSUList<JPABaseParticle>*);
|
||||
void deleteAllParticle();
|
||||
void getPtclFromVacList();
|
||||
void doStartFrameProcess();
|
||||
void doTerminationProcess();
|
||||
void calcEmitterGlobalPosition(JGeometry::TVec3<float>&);
|
||||
void calcgReRDirection();
|
||||
void getPivotX();
|
||||
void getPivotY();
|
||||
|
||||
void setStatus(u32 status) { mFlags |= status; }
|
||||
|
||||
u8 getGlobalAlpha() { return mGlobalPrmColor.a; }
|
||||
void setGlobalAlpha(u8 alpha) { mGlobalPrmColor.a = alpha; }
|
||||
void setGlobalRTMatrix(MtxP mtx) {
|
||||
JPASetRMtxTVecfromMtx(mtx, mGlobalRotation, mGlobalTranslation);
|
||||
}
|
||||
|
||||
void stopCreateParticle() { setStatus(JPAEmtrStts_StopEmit); }
|
||||
|
||||
void becomeInvalidEmitter() {
|
||||
mMaxFrame = -1;
|
||||
stopCreateParticle();
|
||||
}
|
||||
|
||||
/* 0x000 */ VolumeFunc mVolumeFunc;
|
||||
/* 0x00C */ cXyz mEmitterScale;
|
||||
/* 0x018 */ cXyz mEmitterTranslation;
|
||||
/* 0x024 */ csXyz mEmitterRot;
|
||||
/* 0x02A */ u8 mVolumeType;
|
||||
/* 0x02B */ u8 mRateStep;
|
||||
/* 0x02C */ cXyz mEmitterDir;
|
||||
/* 0x038 */ f32 mRate;
|
||||
/* 0x03C */ f32 mRateRndm;
|
||||
/* 0x040 */ f32 mAccel;
|
||||
/* 0x044 */ f32 mAccelRndm;
|
||||
/* 0x048 */ f32 mAirResist;
|
||||
/* 0x04C */ f32 mAirResistRndm;
|
||||
/* 0x050 */ f32 mMoment;
|
||||
/* 0x054 */ f32 mMomentRndm;
|
||||
/* 0x058 */ f32 mLifeTimeRndm;
|
||||
/* 0x05C */ f32 mSpread;
|
||||
/* 0x060 */ s32 mMaxFrame;
|
||||
/* 0x064 */ s16 mLifeTime;
|
||||
/* 0x066 */ s16 mStartFrame;
|
||||
/* 0x068 */ s16 mVolumeSize;
|
||||
/* 0x06A */ s16 mDivNumber;
|
||||
/* 0x06C */ f32 mInitialVelOmni;
|
||||
/* 0x070 */ f32 mInitialVelAxis;
|
||||
/* 0x074 */ f32 mInitialVelDir;
|
||||
/* 0x078 */ f32 mInitialVelRndm;
|
||||
/* 0x07C */ f32 mInitialVelRatio;
|
||||
/* 0x080 */ f32 mVolumeSweep;
|
||||
/* 0x084 */ f32 mVolumeMinRad;
|
||||
/* 0x088 */ s32 mDataFlag;
|
||||
/* 0x08C */ s32 mUseKeyFlag;
|
||||
/* 0x090 */ JSUPtrLink mLink;
|
||||
/* 0x0A0 */ JPADraw mDraw;
|
||||
/* 0x164 */ f32 mTick;
|
||||
/* 0x168 */ f32 mTime;
|
||||
/* 0x16C */ JPAFieldManager mFieldManager;
|
||||
/* 0x17C */ JSUPtrList mActiveParticles;
|
||||
/* 0x188 */ JSUPtrList mChildParticles;
|
||||
/* 0x194 */ JSUPtrList* mpPtclVacList;
|
||||
/* 0x198 */ JPADataBlockLinkInfo* mpDataLinkInfo;
|
||||
/* 0x19C */ JPACallBackBase<JPABaseEmitter>* mpEmitterCallBack;
|
||||
/* 0x1A0 */ JPACallBackBase2* mpParticleCallBack;
|
||||
/* 0x1A4 */ JMath::TRandom_fast_ mRandomSeed;
|
||||
/* 0x1A8 */ Mtx mGlobalRotation;
|
||||
/* 0x1D8 */ JGeometry::TVec3<f32> mGlobalScale;
|
||||
/* 0x1E4 */ JGeometry::TVec3<f32> mGlobalTranslation;
|
||||
/* 0x1F0 */ JGeometry::TVec3<f32> mGlobalScale2D;
|
||||
/* 0x1FC */ _GXColor mGlobalPrmColor;
|
||||
/* 0x200 */ _GXColor mGlobalEnvColor;
|
||||
/* 0x204 */ f32 mEmitCount;
|
||||
/* 0x208 */ f32 mRateStepTimer;
|
||||
/* 0x20C */ u32 mFlags;
|
||||
/* 0x210 */ u32 mUserData;
|
||||
/* 0x214 */ u8 mGroupID;
|
||||
/* 0x215 */ u8 mResMgrID;
|
||||
/* 0x216 */ u8 field_0x216[0x218 - 0x216];
|
||||
};
|
||||
|
||||
#endif /* JPAEMITTER_H */
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef JPAFIELD_H
|
||||
#define JPAFIELD_H
|
||||
|
||||
#include "JSystem/JParticle/JPAParticle.h"
|
||||
|
||||
class JPADataBlockLinkInfo;
|
||||
class JPAEmitterInfo;
|
||||
class JPAFieldData;
|
||||
|
||||
class JPAFieldManager {
|
||||
public:
|
||||
void initField(JPADataBlockLinkInfo*, JPAEmitterInfo*);
|
||||
void init(JPABaseParticle*);
|
||||
void preCalc();
|
||||
void calc(JPABaseParticle*);
|
||||
void deleteField(JPAFieldData*);
|
||||
void deleteAllField();
|
||||
|
||||
/* 0x00 */ JSUPtrList mList;
|
||||
/* 0x0C */ JSUPtrList* field_0x0c;
|
||||
};
|
||||
|
||||
#endif /* JPAFIELD_H */
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef JPAMATH_H
|
||||
#define JPAMATH_H
|
||||
|
||||
#include "JSystem/JGeometry.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
void JPAGetYZRotateMtx(short, short, float(*)[4]);
|
||||
void JPAGetXYZRotateMtx(short, short, short, float(*)[4]);
|
||||
void JPAGetDirMtx(const JGeometry::TVec3<float>&, float(*)[4]);
|
||||
void JPASetSVecfromMtx(float(*)[4], JGeometry::TVec3<float>&);
|
||||
void JPASetRMtxTVecfromMtx(float(*)[4], float(*)[4], JGeometry::TVec3<float>&);
|
||||
void JPASetRMtxSTVecfromMtx(float(*)[4], float(*)[4], JGeometry::TVec3<float>&, JGeometry::TVec3<float>&);
|
||||
void JPAGetKeyFrameValue(float, unsigned short, const float*);
|
||||
void JPAGetUnitVec(short, short, JGeometry::TVec3<float>&);
|
||||
|
||||
#endif /* JPAMATH_H */
|
||||
@@ -8,13 +8,16 @@ public:
|
||||
JSURandomInputStream() {}
|
||||
virtual ~JSURandomInputStream() {}
|
||||
|
||||
/* vt[3] */ virtual s32 getAvailable() const; /* override */
|
||||
/* vt[4] */ virtual s32 skip(s32); /* override */
|
||||
/* vt[5] */ virtual u32 readData(void*, s32) = 0;
|
||||
/* vt[6] */ virtual s32 getLength() const = 0;
|
||||
/* vt[7] */ virtual s32 getPosition() const = 0;
|
||||
/* vt[8] */ virtual s32 seekPos(s32, JSUStreamSeekFrom) = 0;
|
||||
|
||||
/* vt[3] */ virtual s32 getAvailable() const /* override */ {
|
||||
return getLength() - getPosition();
|
||||
}
|
||||
|
||||
// TODO: fix return types
|
||||
s32 align(s32);
|
||||
s32 peek(void*, s32);
|
||||
|
||||
@@ -33,6 +33,9 @@ namespace JUTAssertion {
|
||||
void setMessageCount(int);
|
||||
};
|
||||
|
||||
extern bool sAssertVisible;
|
||||
extern "C" {
|
||||
void setWarningMessage_f_va(u32 device, const char* file, int line, const char* msg, va_list args);
|
||||
void setLogMessage_f_va(u32 device, const char* file, int line, const char* msg, va_list args);
|
||||
}
|
||||
|
||||
#endif /* JUTASSERT_H */
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
class JUTConsole : public JKRDisposer {
|
||||
public:
|
||||
enum EConsoleType {
|
||||
CONSOLE_TYPE_0 = 0,
|
||||
CONSOLE_TYPE_1 = 1,
|
||||
ACTIVE = 0,
|
||||
INACTIVE = 1,
|
||||
CONSOLE_TYPE_2 = 2,
|
||||
};
|
||||
|
||||
@@ -22,21 +22,21 @@ public:
|
||||
/* 0x3 */ OUTPUT_OSR_AND_CONSOLE,
|
||||
};
|
||||
|
||||
/* 802E73E4 */ static JUTConsole* create(unsigned int, void*, u32);
|
||||
/* 802E7354 */ static JUTConsole* create(unsigned int, unsigned int, JKRHeap*);
|
||||
/* 802E746C */ JUTConsole(unsigned int, unsigned int, bool);
|
||||
/* 802E75CC */ static size_t getObjectSizeFromBufferSize(unsigned int, unsigned int);
|
||||
/* 802E75DC */ static size_t getLineFromObjectSize(u32, unsigned int);
|
||||
/* 802E75EC */ void clear();
|
||||
/* 802E7648 */ void doDraw(JUTConsole::EConsoleType) const;
|
||||
/* 802E7BB8 */ void print_f(char const*, ...);
|
||||
/* 802E7C38 */ void print(char const*);
|
||||
/* 802E7F7C */ void dumpToTerminal(unsigned int);
|
||||
/* 802E80A8 */ void scroll(int);
|
||||
/* 802E8184 */ int getUsedLine() const;
|
||||
/* 802E81A8 */ int getLineOffset() const;
|
||||
static JUTConsole* create(unsigned int, void*, u32);
|
||||
static JUTConsole* create(unsigned int, unsigned int, JKRHeap*);
|
||||
JUTConsole(unsigned int, unsigned int, bool);
|
||||
static size_t getObjectSizeFromBufferSize(unsigned int, unsigned int);
|
||||
static size_t getLineFromObjectSize(u32, unsigned int);
|
||||
void clear();
|
||||
void doDraw(JUTConsole::EConsoleType) const;
|
||||
void print_f(char const*, ...);
|
||||
void print(char const*);
|
||||
void dumpToTerminal(unsigned int);
|
||||
void scroll(int);
|
||||
int getUsedLine() const;
|
||||
int getLineOffset() const;
|
||||
|
||||
/* 802E755C */ virtual ~JUTConsole();
|
||||
virtual ~JUTConsole();
|
||||
|
||||
void setOutput(unsigned int output) { mOutput = output; }
|
||||
void setPosition(int x, int y) {
|
||||
@@ -67,6 +67,7 @@ public:
|
||||
bool isVisible() const { return mVisible; }
|
||||
void setVisible(bool visible) { mVisible = visible; }
|
||||
|
||||
u8 getLineAttr(int param_0) { return mBuf[(field_0x20 + 2) * param_0]; }
|
||||
void setLineAttr(int param_0, u8 param_1) { mBuf[(field_0x20 + 2) * param_0] = param_1; }
|
||||
u8* getLinePtr(int param_0) const { return &mBuf[(field_0x20 + 2) * param_0] + 1; }
|
||||
int diffIndex(int param_0, int param_1) const {
|
||||
@@ -77,28 +78,27 @@ public:
|
||||
return diff += mMaxLines;
|
||||
}
|
||||
|
||||
int nextIndex(int param_0) const {
|
||||
int index = param_0 + 1;
|
||||
if (mMaxLines <= index) {
|
||||
index = 0;
|
||||
}
|
||||
int prevIndex(int index) const {
|
||||
return --index < 0 ? index = mMaxLines - 1 : index;
|
||||
}
|
||||
|
||||
return index;
|
||||
int nextIndex(int index) const {
|
||||
return ++index >= mMaxLines ? 0 : index;
|
||||
}
|
||||
|
||||
void scrollToLastLine() { scroll(mMaxLines); }
|
||||
void scrollToFirstLine() { scroll(-mMaxLines); }
|
||||
|
||||
private:
|
||||
public:
|
||||
/* 0x18 */ JGadget::TLinkListNode mListNode;
|
||||
|
||||
private:
|
||||
/* 0x20 */ u32 field_0x20;
|
||||
/* 0x24 */ u32 mMaxLines;
|
||||
/* 0x24 */ s32 mMaxLines;
|
||||
/* 0x28 */ u8* mBuf;
|
||||
/* 0x2C */ bool field_0x2c;
|
||||
/* 0x30 */ int field_0x30;
|
||||
/* 0x34 */ int field_0x34;
|
||||
/* 0x30 */ s32 field_0x30;
|
||||
/* 0x34 */ s32 field_0x34;
|
||||
/* 0x38 */ int field_0x38;
|
||||
/* 0x3C */ int field_0x3c;
|
||||
/* 0x40 */ int mPositionX;
|
||||
@@ -118,13 +118,13 @@ private:
|
||||
|
||||
class JUTConsoleManager {
|
||||
public:
|
||||
/* 802E81CC */ JUTConsoleManager();
|
||||
/* 802E81F4 */ static JUTConsoleManager* createManager(JKRHeap*);
|
||||
/* 802E8240 */ void appendConsole(JUTConsole*);
|
||||
/* 802E82B0 */ void removeConsole(JUTConsole*);
|
||||
/* 802E8384 */ void draw() const;
|
||||
/* 802E8450 */ void drawDirect(bool) const;
|
||||
/* 802E84C4 */ void setDirectConsole(JUTConsole*);
|
||||
JUTConsoleManager();
|
||||
static JUTConsoleManager* createManager(JKRHeap*);
|
||||
void appendConsole(JUTConsole*);
|
||||
void removeConsole(JUTConsole*);
|
||||
void draw() const;
|
||||
void drawDirect(bool) const;
|
||||
void setDirectConsole(JUTConsole*);
|
||||
|
||||
JUTConsole* getDirectConsole() const { return mDirectConsole; }
|
||||
|
||||
@@ -146,6 +146,7 @@ extern "C" JUTConsole* JUTGetWarningConsole();
|
||||
extern "C" void JUTReportConsole_f_va(const char*, va_list);
|
||||
extern "C" void JUTReportConsole_f(const char*, ...);
|
||||
extern "C" void JUTWarningConsole(const char* message);
|
||||
extern "C" void JUTWarningConsole_f_va(const char*, va_list);
|
||||
extern "C" void JUTWarningConsole_f(const char* message, ...);
|
||||
extern "C" void JUTReportConsole(const char* message);
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
#define JUTDF_BUFSIZE (0x800)
|
||||
|
||||
struct JUTDirectFile {
|
||||
/* 802E8730 */ int fetch32byte();
|
||||
/* 802E87F8 */ JUTDirectFile();
|
||||
/* 802E881C */ ~JUTDirectFile();
|
||||
/* 802E8860 */ bool fopen(char const*);
|
||||
/* 802E88FC */ void fclose();
|
||||
/* 802E8958 */ int fgets(void*, int);
|
||||
int fetch32byte();
|
||||
JUTDirectFile();
|
||||
~JUTDirectFile();
|
||||
bool fopen(char const*);
|
||||
void fclose();
|
||||
int fgets(void*, int);
|
||||
|
||||
/* 0x000 */ u8 mBuffer[0x820];
|
||||
/* 0x820 */ u8* mSectorStart;
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
#include "JSystem/JUtility/TColor.h"
|
||||
#include "Runtime.PPCEABI.H/__va_arg.h"
|
||||
|
||||
|
||||
namespace std {
|
||||
// no idea what this is or why it is used instead of va_list
|
||||
struct __tag_va_List : __va_list_struct {};
|
||||
}
|
||||
|
||||
class JUTDirectPrint {
|
||||
private:
|
||||
/* 802E41E8 */ JUTDirectPrint();
|
||||
@@ -13,7 +19,7 @@ public:
|
||||
/* 802E431C */ void drawChar(int, int, int);
|
||||
/* 802E456C */ void changeFrameBuffer(void*, u16, u16);
|
||||
/* -------- */ void print(u16, u16, char const*, ...);
|
||||
/* 802E45A4 */ void printSub(u16, u16, char const*, va_list, bool);
|
||||
/* 802E45A4 */ void printSub(u16, u16, char const*, std::__tag_va_List*, bool);
|
||||
/* 802E46D8 */ void drawString(u16, u16, char*);
|
||||
/* 802E4708 */ void drawString_f(u16, u16, char const*, ...);
|
||||
/* 802E47C8 */ void setCharColor(u8, u8, u8);
|
||||
@@ -21,8 +27,9 @@ public:
|
||||
|
||||
/* 802E4240 */ static JUTDirectPrint* start();
|
||||
|
||||
void* getFrameBuffer() { return field_0x00; }
|
||||
bool isActive() const { return field_0x00 != 0; }
|
||||
JUtility::TColor getCharColor() const { return mCharColor; }
|
||||
void changeFrameBuffer(void *param_0) { changeFrameBuffer(param_0, mFrameBufferWidth, mFrameBufferHeight); }
|
||||
|
||||
static JUTDirectPrint* getManager() { return sDirectPrint; }
|
||||
|
||||
@@ -42,16 +49,7 @@ private:
|
||||
/* 0x0C */ size_t mFrameBufferSize;
|
||||
/* 0x10 */ u8 field_0x10[4];
|
||||
/* 0x14 */ u16* mFrameBuffer;
|
||||
/* 0x18 */ JUtility::TColor mCharColor;
|
||||
/* 0x1C */ u16 mCharColor_Y;
|
||||
/* 0x1E */ u16 mCharColor_Cb;
|
||||
/* 0x20 */ u16 mCharColor_Cb2;
|
||||
/* 0x22 */ u16 mCharColor_Cb4;
|
||||
/* 0x24 */ u16 mCharColor_Cr;
|
||||
/* 0x26 */ u16 mCharColor_Cr2;
|
||||
/* 0x28 */ u16 mCharColor_Cr4;
|
||||
/* 0x2A */ u16 field_0x2A;
|
||||
/* 0x2C */
|
||||
/* 0x18 */
|
||||
};
|
||||
|
||||
#endif /* JUTDIRECTPRINT_H */
|
||||
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
};
|
||||
|
||||
/* 802E1D5C */ JUTException(JUTDirectPrint*);
|
||||
/* 802E40EC */ virtual ~JUTException();
|
||||
/* 802E40EC */ virtual ~JUTException() {};
|
||||
|
||||
/* 802E22C4 */ void showFloatSub(int, f32);
|
||||
/* 802E2454 */ void showFloat(OSContext*);
|
||||
@@ -108,7 +108,7 @@ private:
|
||||
static OSMessageQueue sMessageQueue;
|
||||
static const char* sCpuExpName[17];
|
||||
static JSUList<JUTException::JUTExMapFile> sMapFileList;
|
||||
static u8 sMessageBuffer[4 + 4 /* padding */];
|
||||
static OSMessage sMessageBuffer[1];
|
||||
static JUTException* sErrorManager;
|
||||
static OSErrorHandler sPreUserCallback;
|
||||
static OSErrorHandler sPostUserCallback;
|
||||
@@ -128,10 +128,9 @@ private:
|
||||
/* 0x80 */ u32 mTraceSuppress;
|
||||
/* 0x84 */ u32 field_0x98;
|
||||
/* 0x88 */ u32 mPrintFlags;
|
||||
/* 0x8C */ u32 mStackPointer;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(JUTException) == 0x90);
|
||||
STATIC_ASSERT(sizeof(JUTException) == 0x8C);
|
||||
|
||||
struct JUTWarn {
|
||||
JUTWarn& operator<<(const char*) { return *this; }
|
||||
|
||||
@@ -15,7 +15,7 @@ public:
|
||||
/* 802E55DC */ void control();
|
||||
/* 802E57D0 */ void setStatus(JUTFader::EStatus, int);
|
||||
|
||||
/* 802E5840 */ virtual ~JUTFader();
|
||||
/* 802E5840 */ virtual ~JUTFader() {};
|
||||
/* 802E576C */ virtual bool startFadeIn(int);
|
||||
/* 802E579C */ virtual bool startFadeOut(int);
|
||||
/* 802E56DC */ virtual void draw();
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
typedef void (*callbackFn)(int, void*);
|
||||
|
||||
extern u32 channel_mask[4];
|
||||
|
||||
namespace CButton {
|
||||
enum {
|
||||
DPAD_LEFT = 0x0001,
|
||||
@@ -25,8 +27,6 @@ enum {
|
||||
};
|
||||
}
|
||||
|
||||
extern bool sResetSwitchPushing__Q210JUTGamePad13C3ButtonReset;
|
||||
|
||||
struct JUTGamePadRecordBase {
|
||||
virtual void unk0() {}
|
||||
virtual void unk1(PADStatus* pad) {}
|
||||
@@ -81,27 +81,19 @@ public:
|
||||
}
|
||||
|
||||
u32 getButton() const { return mButton.mButton; }
|
||||
|
||||
u32 getTrigger() const { return mButton.mTrigger; }
|
||||
|
||||
f32 getMainStickX() const { return mMainStick.mPosX; }
|
||||
|
||||
f32 getMainStickY() const { return mMainStick.mPosY; }
|
||||
|
||||
f32 getMainStickValue() const { return mMainStick.mValue; }
|
||||
|
||||
s16 getMainStickAngle() const { return mMainStick.mAngle; }
|
||||
|
||||
f32 getSubStickX() const { return mSubStick.mPosX; }
|
||||
|
||||
f32 getSubStickY() const { return mSubStick.mPosY; }
|
||||
|
||||
f32 getSubStickValue() const { return mSubStick.mValue; }
|
||||
|
||||
s16 getSubStickAngle() const { return mSubStick.mAngle; }
|
||||
|
||||
u8 getAnalogA() const { return mButton.mAnalogA; }
|
||||
|
||||
u8 getAnalogB() const { return mButton.mAnalogB; }
|
||||
|
||||
u8 getAnalogL() const { return mButton.mAnalogL; }
|
||||
@@ -111,14 +103,13 @@ public:
|
||||
f32 getAnalogRf() const { return mButton.mAnalogRf; }
|
||||
|
||||
s8 getErrorStatus() const { return mErrorStatus; }
|
||||
|
||||
s16 getPortNum() const { return mPortNum; }
|
||||
|
||||
JUTGamePadRecordBase* getPadReplay() const { return mPadReplay; }
|
||||
|
||||
JUTGamePadRecordBase* getPadRecord() const { return mPadRecord; }
|
||||
|
||||
u32 testTrigger(u32 button) const { return mButton.mTrigger & button; }
|
||||
u32 testButton(u32 button) const { return getButton() & button; }
|
||||
u32 testTrigger(u32 button) const { return getTrigger() & button; }
|
||||
|
||||
bool isPushing3ButtonReset() const {
|
||||
bool isPushingReset = false;
|
||||
@@ -130,7 +121,7 @@ public:
|
||||
}
|
||||
|
||||
inline void stopMotorWave() { mRumble.stopPatternedRumbleAtThePeriod(); }
|
||||
void stopMotor() { mRumble.stopMotor(mPortNum, false); }
|
||||
void stopMotor() { mRumble.stopMotor(mPortNum); }
|
||||
void stopMotorHard() { mRumble.stopMotorHard(mPortNum); }
|
||||
|
||||
static s8 getPortStatus(u32 port) { return mPadStatus[port].error; }
|
||||
@@ -180,9 +171,8 @@ public:
|
||||
CStick() { clear(); }
|
||||
void clear();
|
||||
void clear(JUTGamePad* pad);
|
||||
u32 update(s8 unk0, s8 unk1, JUTGamePad::EStickMode mode, JUTGamePad::EWhichStick stick,
|
||||
u32 unk2);
|
||||
u32 getButton(u32 unk);
|
||||
u32 update(s8 unk0, s8 unk1, JUTGamePad::EStickMode mode, JUTGamePad::EWhichStick stick);
|
||||
u32 getButton();
|
||||
|
||||
/* 0x0 */ f32 mPosX;
|
||||
/* 0x4 */ f32 mPosY;
|
||||
@@ -197,7 +187,6 @@ public:
|
||||
struct CRumble {
|
||||
CRumble(JUTGamePad* pad) { clear(pad); }
|
||||
|
||||
static PADMask sChannelMask[4];
|
||||
static bool mStatus[4];
|
||||
static PADMask mEnabled;
|
||||
|
||||
@@ -210,18 +199,17 @@ public:
|
||||
void clear();
|
||||
void clear(JUTGamePad* pad);
|
||||
static void startMotor(int channel);
|
||||
static void stopMotor(int channel, bool stop);
|
||||
static void stopMotor(int channel);
|
||||
static void stopMotorHard(int channel);
|
||||
void update(s16 unk0);
|
||||
void triggerPatternedRumble(u32 unk0);
|
||||
void startPatternedRumble(void* unk0, ERumble rumble, u32 unk1);
|
||||
void startPatternedRumble(u8* unk0, ERumble rumble, u32 unk1);
|
||||
void stopPatternedRumble(s16 pad_port);
|
||||
void stopPatternedRumbleAtThePeriod();
|
||||
static void setEnabled(u32 pad_mask);
|
||||
|
||||
void stopMotorHard(int portNo) { stopMotor(portNo, true); }
|
||||
|
||||
static bool isEnabled(u32 mask) { return mEnabled & mask; }
|
||||
static bool isEnabledPort(int port) { return isEnabled(sChannelMask[port]); }
|
||||
static bool isEnabledPort(int port) { return isEnabled(channel_mask[port]); }
|
||||
|
||||
/* 0x00 */ u32 field_0x0;
|
||||
/* 0x04 */ u32 field_0x4;
|
||||
@@ -229,7 +217,7 @@ public:
|
||||
/* 0x0C */ u32 field_0xc;
|
||||
}; // Size: 0x10
|
||||
|
||||
void startMotorWave(void* param_2, CRumble::ERumble rumble, u32 param_4) {
|
||||
void startMotorWave(u8* param_2, CRumble::ERumble rumble, u32 param_4) {
|
||||
mRumble.startPatternedRumble(param_2, rumble, param_4);
|
||||
}
|
||||
|
||||
@@ -255,7 +243,7 @@ public:
|
||||
static EStickMode sStickMode;
|
||||
static u32 sClampMode;
|
||||
static u8 mPadAssign[4];
|
||||
static u32 sSuppressPadReset;
|
||||
static u32 mSuppressPadReset;
|
||||
static s32 sAnalogMode;
|
||||
static u32 sRumbleSupported;
|
||||
};
|
||||
|
||||
@@ -16,9 +16,9 @@ public:
|
||||
void result_common(int, u32, u32*);
|
||||
void resultStatus_common(int, u32, u8*);
|
||||
void doJoyBoot(int, s32, s32, u8*, u32, JUTGba_Func, void*);
|
||||
void resultJoyBoot(int, u8*);
|
||||
int resultJoyBoot(int, u8*);
|
||||
void doInitProbe(int, JUTGba_Func, void*);
|
||||
void resultInitProbe(int, u32*);
|
||||
int resultInitProbe(int, u32*);
|
||||
void doProbe(int, JUTGba_Func, void*);
|
||||
BOOL resultProbe(int, u32*);
|
||||
void doReset(int, JUTGba_Func, void*);
|
||||
|
||||
@@ -10,7 +10,13 @@ class JUTProcBar {
|
||||
public:
|
||||
class CTime {
|
||||
public:
|
||||
/* 802E7340 */ CTime();
|
||||
/* 802E7340 */ CTime() { clear(); }
|
||||
|
||||
void clear() {
|
||||
mCost = 0;
|
||||
field_0x8 = 0;
|
||||
field_0xc = 0;
|
||||
}
|
||||
|
||||
void start(u8 param_0, u8 param_1, u8 param_2) {
|
||||
mR = param_0;
|
||||
@@ -51,6 +57,14 @@ public:
|
||||
/* 0x08 */ int mPosY;
|
||||
/* 0x0C */ int mWidth;
|
||||
/* 0x10 */ int mUserPosition;
|
||||
|
||||
void setBarWidth(int width) { mBarWidth = width; }
|
||||
void setPosition(int x, int y) {
|
||||
mPosX = x;
|
||||
mPosY = y;
|
||||
}
|
||||
void setWidth(int width) { mWidth = width; }
|
||||
void setUserPosition(int userPos) { mUserPosition = userPos; }
|
||||
};
|
||||
|
||||
/* 802E5888 */ JUTProcBar();
|
||||
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
|
||||
/* 0x1C */ int mWidth;
|
||||
/* 0x20 */ int mHeight;
|
||||
/* 0x24 */ _GXTexObj field_0x24;
|
||||
/* 0x24 */ _GXTexObj mTexObj;
|
||||
/* 0x44 */ int mTexPageIdx;
|
||||
/* 0x48 */ const ResFONT* mResFont;
|
||||
/* 0x4C */ ResFONT::INF1* mInfoBlock;
|
||||
|
||||
+21
-1
@@ -49,7 +49,6 @@ double modf(double, double*);
|
||||
double pow(double, double);
|
||||
double sin(double);
|
||||
float sinf(float);
|
||||
double sqrt(double);
|
||||
double tan(double);
|
||||
float tanf(float);
|
||||
|
||||
@@ -72,13 +71,34 @@ extern inline float sqrtf(float x) {
|
||||
return x;
|
||||
}
|
||||
|
||||
extern inline double sqrt(double x) {
|
||||
if(x > 0.0)
|
||||
{
|
||||
double guess = __frsqrte(x); /* returns an approximation to */
|
||||
guess = .5*guess*(3.0 - guess*guess*x); /* now have 8 sig bits */
|
||||
guess = .5*guess*(3.0 - guess*guess*x); /* now have 16 sig bits */
|
||||
guess = .5*guess*(3.0 - guess*guess*x); /* now have 32 sig bits */
|
||||
guess = .5*guess*(3.0 - guess*guess*x); /* now have > 53 sig bits */
|
||||
return x*guess ;
|
||||
}
|
||||
else if ( x == 0 )
|
||||
return 0;
|
||||
else if ( x )
|
||||
return NAN;
|
||||
|
||||
return HUGE_VALF;
|
||||
}
|
||||
|
||||
inline float atan2f(float y, float x) {
|
||||
return (float)atan2(y, x);
|
||||
}
|
||||
|
||||
// these are duplicated due to sinf/cosf having a symbol, but
|
||||
// still being used as inlines elsewhere
|
||||
inline float i_sinf(float x) {
|
||||
return sin(x);
|
||||
}
|
||||
|
||||
inline float i_cosf(float x) {
|
||||
return cos(x);
|
||||
}
|
||||
|
||||
@@ -23,15 +23,15 @@ public:
|
||||
void Val(const cSAngle&);
|
||||
void Val(s16);
|
||||
void Val(float);
|
||||
float Degree(void) const;
|
||||
float Radian(void) const;
|
||||
float Norm(void) const;
|
||||
s16 Abs(void) const;
|
||||
s16 Inv(void) const;
|
||||
float Sin(void) const;
|
||||
float Cos(void) const;
|
||||
float Tan(void) const;
|
||||
cSAngle operator-(void) const;
|
||||
float Degree() const;
|
||||
float Radian() const;
|
||||
float Norm() const;
|
||||
s16 Abs() const;
|
||||
s16 Inv() const;
|
||||
float Sin() const;
|
||||
float Cos() const;
|
||||
float Tan() const;
|
||||
cSAngle operator-() const;
|
||||
cSAngle operator+(const cSAngle&) const;
|
||||
cSAngle operator-(const cSAngle&) const;
|
||||
void operator+=(const cSAngle&);
|
||||
@@ -44,10 +44,10 @@ public:
|
||||
void operator*=(float);
|
||||
bool operator<(const cSAngle& other) const { return mAngle < other.mAngle; }
|
||||
bool operator>(const cSAngle& other) const { return mAngle > other.mAngle; }
|
||||
operator s16(void) const { return mAngle; }
|
||||
operator s16() const { return mAngle; }
|
||||
void operator=(const cSAngle& other) { mAngle = other.mAngle; }
|
||||
static inline cSAngle getMaxNegative(void) { return cSAngle((s16)-0x8000); }
|
||||
inline void mirrorAtMaxNeg(void) { *this = cSAngle((s16)-0x8000) - *this; }
|
||||
static inline cSAngle getMaxNegative() { return cSAngle((s16)-0x8000); }
|
||||
inline void mirrorAtMaxNeg() { *this = cSAngle((s16)-0x8000) - *this; }
|
||||
};
|
||||
|
||||
cSAngle operator+(short, const cSAngle&);
|
||||
@@ -91,11 +91,11 @@ public:
|
||||
cDegree(float);
|
||||
~cDegree() {}
|
||||
|
||||
cDegree& Formal(void);
|
||||
cDegree& Formal();
|
||||
void Val(float);
|
||||
float Radian(void) const;
|
||||
float Sin(void) const;
|
||||
float Cos(void) const;
|
||||
float Radian() const;
|
||||
float Sin() const;
|
||||
float Cos() const;
|
||||
};
|
||||
|
||||
class cSPolar {
|
||||
@@ -107,10 +107,10 @@ private:
|
||||
public:
|
||||
cSPolar() {}
|
||||
cSPolar(const cXyz&);
|
||||
cSPolar& Formal(void);
|
||||
cSPolar& Formal();
|
||||
void Val(float, short, short);
|
||||
void Val(const cXyz&);
|
||||
cXyz Xyz(void) const;
|
||||
cXyz Xyz() const;
|
||||
void Globe(class cSGlobe*) const;
|
||||
};
|
||||
|
||||
@@ -126,18 +126,18 @@ public:
|
||||
cSGlobe(float, const cSAngle&, const cSAngle&);
|
||||
cSGlobe(const cXyz&);
|
||||
~cSGlobe() {}
|
||||
cSGlobe& Formal(void);
|
||||
cSGlobe& Formal();
|
||||
void Val(const cSGlobe&);
|
||||
void Val(float, short, short);
|
||||
void Val(float, const cSAngle&, const cSAngle&);
|
||||
void Val(const cXyz&);
|
||||
float R(void) const { return mRadius; }
|
||||
const cSAngle& V(void) const { return mAzimuth; }
|
||||
const cSAngle& U(void) const { return mInclination; }
|
||||
cXyz Xyz(void) const;
|
||||
float R() const { return mRadius; }
|
||||
const cSAngle& V() const { return mAzimuth; }
|
||||
const cSAngle& U() const { return mInclination; }
|
||||
cXyz Xyz() const;
|
||||
void Polar(cSPolar*) const;
|
||||
cXyz Norm(void) const;
|
||||
cSGlobe& Invert(void);
|
||||
cXyz Norm() const;
|
||||
cSGlobe& Invert();
|
||||
};
|
||||
|
||||
#endif /* C_ANGLE_H */
|
||||
|
||||
@@ -22,11 +22,15 @@ private:
|
||||
/* 0x10 */ // __vtable__
|
||||
|
||||
public:
|
||||
cBgS_Chk();
|
||||
cBgS_Chk() {
|
||||
mPolyPassChk = NULL;
|
||||
mGrpPassChk = NULL;
|
||||
unk_0x0C = 1;
|
||||
}
|
||||
void SetExtChk(cBgS_Chk&);
|
||||
bool ChkSameActorPid(unsigned int) const;
|
||||
|
||||
void setActorPid(u32 pid) { mActorPid = pid; }
|
||||
void SetActorPid(u32 pid) { mActorPid = pid; }
|
||||
u32 GetActorPid() const { return mActorPid; }
|
||||
void SetPolyPassChk(cBgS_PolyPassChk* p_chk) { mPolyPassChk = p_chk; }
|
||||
void SetGrpPassChk(cBgS_GrpPassChk* p_chk) { mGrpPassChk = p_chk; }
|
||||
|
||||
@@ -20,6 +20,7 @@ public:
|
||||
void SetNowY(f32 y) { mNowY = y; }
|
||||
const cXyz& GetPointP() { return m_pos; }
|
||||
u32 GetWallPrecheck() const { return mWallPrecheck; }
|
||||
void OffWall() { mFlags &= ~2; }
|
||||
|
||||
private:
|
||||
/* 0x24 */ cXyz m_pos;
|
||||
|
||||
@@ -18,13 +18,13 @@ public:
|
||||
/* 0x054 */ bool mBackFlag;
|
||||
|
||||
public:
|
||||
cBgS_LinChk();
|
||||
cBgS_LinChk() { ct(); }
|
||||
void ct();
|
||||
void Set2(cXyz*, cXyz*, unsigned int);
|
||||
void PreCalc();
|
||||
void GetCross();
|
||||
|
||||
virtual ~cBgS_LinChk();
|
||||
virtual ~cBgS_LinChk() {}
|
||||
|
||||
void ClrHit() { field_0x4c &= ~16; }
|
||||
void SetHit() { field_0x4c |= 16; }
|
||||
@@ -37,6 +37,6 @@ public:
|
||||
bool GetPreWallChk() const { return mPreWallChk; }
|
||||
bool GetPreGroundChk() const { return mPreGroundChk; }
|
||||
bool GetPreRoofChk() const { return mPreRoofChk; }
|
||||
};
|
||||
}; // Size: 0x58
|
||||
|
||||
#endif /* C_BG_S_LIN_CHK_H */
|
||||
|
||||
@@ -13,7 +13,9 @@ private:
|
||||
/* 0x08 */ unsigned int mActorId;
|
||||
|
||||
public:
|
||||
cBgS_PolyInfo() {}
|
||||
cBgS_PolyInfo() {
|
||||
ClearPi();
|
||||
}
|
||||
void ClearPi() {
|
||||
mPolyIndex = -1;
|
||||
mBgIndex = 0x100;
|
||||
|
||||
@@ -87,7 +87,7 @@ public:
|
||||
virtual void ClassifyPlane();
|
||||
virtual void ChkPolyThrough(int, cBgS_PolyPassChk*);
|
||||
virtual void ChkShdwDrawThrough(int, cBgS_PolyPassChk*);
|
||||
virtual void ChkGrpThrough(int, cBgS_GrpPassChk*, int);
|
||||
virtual bool ChkGrpThrough(int, cBgS_GrpPassChk*, int);
|
||||
|
||||
/* 0x08 */ Mtx* mpModelMtx;
|
||||
/* 0x0C */ Mtx mOldMtx;
|
||||
|
||||
@@ -346,10 +346,12 @@ public:
|
||||
void setRPrm(s32 rprm) { mRPrm = rprm; }
|
||||
s32 getRPrm() const { return mRPrm; }
|
||||
cCcD_Obj* GetHitObj() { return mHitObj; }
|
||||
void ClrObj() { mHitObj = NULL; }
|
||||
u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
|
||||
u32 MskRPrm(u32 mask) { return mRPrm & mask; }
|
||||
void OnSPrmBit(u32 flag) { mSPrm |= flag; }
|
||||
void OffSPrmBit(u32 flag) { mSPrm &= ~flag; }
|
||||
void ClrRPrm(u32 flag) { mRPrm &= ~flag; }
|
||||
|
||||
void Set(cCcD_SrcObjCommonBase const& src) {
|
||||
mSPrm = src.mSPrm;
|
||||
@@ -364,7 +366,7 @@ public:
|
||||
virtual ~cCcD_ObjAt() {}
|
||||
void SetHit(cCcD_Obj*);
|
||||
void Set(cCcD_SrcObjAt const&);
|
||||
void ClrHit();
|
||||
void ClrHit() { ClrObj(); }
|
||||
int GetType() const { return mType; }
|
||||
u32 GetGrp() const { return MskSPrm(0x1E); }
|
||||
bool ChkSet() const { return MskSPrm(1); }
|
||||
@@ -373,6 +375,7 @@ public:
|
||||
void SetType(u32 type) { mType = type; }
|
||||
void SetAtp(int atp) { mAtp = atp; }
|
||||
void ClrSet() { OffSPrmBit(1); }
|
||||
void OffHitBit() { ClrRPrm(1); }
|
||||
u32 ChkHit() { return MskRPrm(1); }
|
||||
|
||||
protected:
|
||||
@@ -470,6 +473,7 @@ public:
|
||||
void SetTgType(u32 type) { mObjTg.SetType(type); }
|
||||
void OnTgSPrmBit(u32 flag) { mObjTg.OnSPrmBit(flag); }
|
||||
void OffAtSetBit() { mObjAt.ClrSet(); }
|
||||
void OffAtHitBit() { mObjAt.OffHitBit(); }
|
||||
void OnTgSetBit() { mObjTg.OnSPrmBit(1); }
|
||||
void OffTgSetBit() { mObjTg.ClrSet(); }
|
||||
void OnCoSetBit() { mObjCo.OnSPrmBit(1); }
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define C_LIB_H_
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
|
||||
inline bool cLib_IsZero(f32 value) {
|
||||
@@ -28,9 +29,8 @@ int cLib_chasePos(cXyz* o_value, cXyz const& target, f32 step);
|
||||
int cLib_chasePosXZ(cXyz* o_value, cXyz const& target, f32 step);
|
||||
int cLib_chaseAngleS(s16* o_value, s16 target, s16 step);
|
||||
|
||||
s16 cLib_targetAngleY(const Vec* lhs, const Vec* rhs);
|
||||
s16 cLib_targetAngleY(const Vec& lhs, const Vec& rhs);
|
||||
s16 cLib_targetAngleX(const cXyz*, const cXyz*);
|
||||
s16 cLib_targetAngleY(cXyz* lhs, cXyz* rhs);
|
||||
s16 cLib_targetAngleX(cXyz*, cXyz*);
|
||||
|
||||
void cLib_offsetPos(cXyz* pDest, cXyz* pSrc, s16 angle, cXyz* vec);
|
||||
s32 cLib_distanceAngleS(s16 x, s16 y);
|
||||
|
||||
@@ -58,7 +58,7 @@ int cM3d_Cross_LinSph_CrossPos(const cM3dGSph&, const cM3dGLin&, Vec*, Vec*);
|
||||
bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, f32*);
|
||||
bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, Vec*, f32*);
|
||||
bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*);
|
||||
static bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*, f32*);
|
||||
bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*, f32*);
|
||||
bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, Vec*);
|
||||
static void cM3d_CalcSphVsTriCrossPoint(const cM3dGSph*, const cM3dGTri*, Vec*);
|
||||
bool cM3d_Cross_SphTri(const cM3dGSph*, const cM3dGTri*, Vec*);
|
||||
|
||||
@@ -22,7 +22,7 @@ class cM3dGCir : public cM2dGCir {
|
||||
|
||||
public:
|
||||
cM3dGCir(void);
|
||||
virtual ~cM3dGCir(void);
|
||||
virtual ~cM3dGCir(void) {}
|
||||
void Set(f32, f32, f32, f32);
|
||||
};
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@ class cM3dGCps : public cM3dGLin {
|
||||
public:
|
||||
/* 0x1C */ f32 mRadius;
|
||||
|
||||
cM3dGCps(void);
|
||||
virtual ~cM3dGCps(void);
|
||||
cM3dGCps(void) {}
|
||||
virtual ~cM3dGCps(void) {}
|
||||
void Set(const cXyz&, const cXyz&, f32);
|
||||
void Set(const cM3dGCpsS&);
|
||||
void SetCps(const cM3dGCps&);
|
||||
|
||||
@@ -15,7 +15,10 @@ public:
|
||||
cM3dGLin() {}
|
||||
cM3dGLin(const cXyz&, const cXyz&);
|
||||
virtual ~cM3dGLin() {}
|
||||
void SetStartEnd(const cXyz&, const cXyz&);
|
||||
void SetStartEnd(const cXyz& start, const cXyz& end) {
|
||||
mStart = start;
|
||||
mEnd = end;
|
||||
}
|
||||
void SetStartEnd(const Vec&, const Vec&);
|
||||
void CalcPos(Vec*, f32) const;
|
||||
void CalcVec(Vec* pOut) const { VECSubtract(&this->mEnd, &this->mStart, pOut); }
|
||||
|
||||
@@ -4,11 +4,12 @@
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
|
||||
struct cDylPhs {
|
||||
/* 80018804 */ static int phase_01(void*);
|
||||
/* 8001880C */ static int phase_02(s16*);
|
||||
/* 80018844 */ static int phase_03(void*);
|
||||
/* 8001884C */ static int Link(request_of_phase_process_class*, s16);
|
||||
/* 80018890 */ static int Unlink(request_of_phase_process_class*, s16);
|
||||
static int phase_01(void*);
|
||||
static int phase_02(s16*);
|
||||
static int phase_03(void*);
|
||||
static int Link(request_of_phase_process_class*, s16);
|
||||
static int Unlink(request_of_phase_process_class*, s16);
|
||||
|
||||
};
|
||||
|
||||
struct DynamicNameTableEntry {
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
#ifndef D_A_AGB_H
|
||||
#define D_A_AGB_H
|
||||
|
||||
#include "d/d_bg_s.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
|
||||
class daAgb_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daAgb_HIO_c();
|
||||
virtual ~daAgb_HIO_c() {}
|
||||
|
||||
/* 0x04 */ J3DGXColorS10 field_0x04[2];
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
};
|
||||
|
||||
class msg_class;
|
||||
class dMsgCtrl_c {
|
||||
public:
|
||||
int init(u16);
|
||||
int execute();
|
||||
~dMsgCtrl_c();
|
||||
|
||||
/* 0x00 */ u16 field_0x0;
|
||||
/* 0x04 */ u32 mMsgID;
|
||||
/* 0x08 */ msg_class* mpMsg;
|
||||
};
|
||||
|
||||
class daAgb_c : public fopAc_ac_c {
|
||||
public:
|
||||
void NameConv();
|
||||
int uploadInitCheck();
|
||||
int uploadPortCheckWait();
|
||||
int uploadSelect();
|
||||
int uploadJoyboot1();
|
||||
int uploadJoyboot2();
|
||||
int uploadMessageLoad();
|
||||
int uploadMessageLoad2();
|
||||
int uploadConnect();
|
||||
int uploadMessageSend();
|
||||
int uploadRetryWait();
|
||||
int uploadMsgEndWait();
|
||||
int uploadMsgEndTimer();
|
||||
void modeLoad();
|
||||
void modeLookAttention();
|
||||
u8 DungeonNoGet();
|
||||
void MapNoSet(u8, u8, u8);
|
||||
void onFree();
|
||||
void onHold();
|
||||
void offHold();
|
||||
void resetCursor(bool);
|
||||
bool FlashCheck();
|
||||
void FlagsRecv();
|
||||
void SwitchOn();
|
||||
void GbaItemUse();
|
||||
void Shopping();
|
||||
void FlagsSend(u32);
|
||||
void CursorMove(fopAc_ac_c*, u32);
|
||||
void modeMove();
|
||||
void modeDelete();
|
||||
int createHeap();
|
||||
|
||||
daAgb_c();
|
||||
|
||||
inline void modeProcCall();
|
||||
|
||||
static int mEffect;
|
||||
|
||||
struct daAgb_GbaFlg {
|
||||
/* 0x0 */ u16 field_0x0;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
/* 0x4 */ u16 field_0x4;
|
||||
/* 0x6 */ u16 field_0x6;
|
||||
};
|
||||
static daAgb_GbaFlg mGbaFlg;
|
||||
|
||||
struct daAgb_Switch {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x1 */ u8 field_0x1;
|
||||
/* 0x1 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
u8 field_0x5[0x8 - 0x5];
|
||||
};
|
||||
static daAgb_Switch mSwitch;
|
||||
|
||||
struct daAgb_Item {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x1 */ u8 field_0x1;
|
||||
};
|
||||
static daAgb_Item mItem;
|
||||
static u8 mShop;
|
||||
static u8 mItemBuy;
|
||||
static u8 DungeonNoTable[];
|
||||
|
||||
struct daAgb_Flags {
|
||||
/* 0x0 */ u16 field_0x0;
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
/* 0x5 */ u8 field_0x5_0 : 1;
|
||||
/* 0x5 */ u8 field_0x5_1 : 1;
|
||||
/* 0x5 */ u8 field_0x5_2 : 1;
|
||||
/* 0x5 */ u8 field_0x5_3 : 3;
|
||||
/* 0x5 */ u8 field_0x5_6 : 1;
|
||||
/* 0x5 */ u8 field_0x5_7 : 1;
|
||||
/* 0x6 */ u8 field_0x6;
|
||||
/* 0x7 */ u8 field_0x7;
|
||||
/* 0x8 */ u8 field_0x8;
|
||||
/* 0x9 */ u8 field_0x9;
|
||||
/* 0xA */ u8 field_0xa;
|
||||
/* 0xB */ u8 field_0xb_0 : 1;
|
||||
/* 0xB */ u8 field_0xb_3 : 5;
|
||||
/* 0xB */ u8 field_0xb_6 : 1;
|
||||
/* 0xB */ u8 field_0xb_7 : 1;
|
||||
};
|
||||
|
||||
static daAgb_Flags mFlags;
|
||||
|
||||
typedef int (daAgb_c::*uploadFunc)();
|
||||
static uploadFunc uploadFuncTable[];
|
||||
|
||||
/* 0x290 */ request_of_phase_process_class mPhase;
|
||||
/* 0x298 */ J3DModel* mpModel;
|
||||
/* 0x29C */ mDoExt_brkAnm mBrk;
|
||||
/* 0x2B4 */ GXTexObj mTexObj;
|
||||
/* 0x2D4 */ dBgS_LinkCrrPos mCrrPos;
|
||||
/* 0x424 */ dBgS_LinkAcch mAcch;
|
||||
/* 0x5E8 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x628 */ f32 field_0x628;
|
||||
/* 0x62C */ f32 field_0x62c;
|
||||
/* 0x630 */ u16 field_0x630;
|
||||
/* 0x632 */ u16 field_0x632;
|
||||
/* 0x634 */ cXyz field_0x634;
|
||||
/* 0x640 */ int field_0x640;
|
||||
/* 0x648 */ u64 mPlayerName;
|
||||
/* 0x650 */ u32 field_0x650;
|
||||
/* 0x654 */ int field_0x654;
|
||||
/* 0x658 */ u16 field_0x658;
|
||||
/* 0x65A */ u16 field_0x65a;
|
||||
/* 0x65C */ u16 field_0x65c;
|
||||
/* 0x65E */ u16 field_0x65e;
|
||||
/* 0x660 */ u16 field_0x660;
|
||||
/* 0x662 */ u16 field_0x662;
|
||||
/* 0x664 */ u16 field_0x664;
|
||||
/* 0x666 */ u8 mPortNo;
|
||||
/* 0x667 */ u8 field_0x667[0x669 - 0x667];
|
||||
/* 0x669 */ u8 mMode;
|
||||
/* 0x66A */ u8 mUploadAction;
|
||||
/* 0x66B */ u8 field_0x66b;
|
||||
/* 0x66C */ u8 field_0x66c;
|
||||
/* 0x66D */ u8 field_0x66d;
|
||||
/* 0x66E */ u8 field_0x66e;
|
||||
/* 0x66F */ s8 field_0x66f;
|
||||
/* 0x670 */ u8 field_0x670;
|
||||
/* 0x671 */ u8 field_0x671;
|
||||
/* 0x672 */ u8 field_0x672;
|
||||
/* 0x673 */ u8 field_0x673;
|
||||
/* 0x674 */ u8 field_0x674;
|
||||
/* 0x675 */ u8 field_0x675;
|
||||
/* 0x676 */ u8 field_0x676;
|
||||
/* 0x677 */ u8 field_0x677;
|
||||
/* 0x678 */ u8 field_0x678;
|
||||
/* 0x679 */ u8 field_0x679;
|
||||
/* 0x67A */ bool field_0x67a;
|
||||
/* 0x67B */ u8 field_0x67b;
|
||||
/* 0x67C */ u8 field_0x67c;
|
||||
/* 0x67D */ u8 field_0x67d;
|
||||
/* 0x67E */ u8 field_0x67e;
|
||||
/* 0x67F */ u8 field_0x67f;
|
||||
/* 0x680 */ u8 field_0x680;
|
||||
/* 0x684 */ dPa_followEcallBack field_0x684;
|
||||
};
|
||||
|
||||
#endif /* D_A_AGB_H */
|
||||
@@ -0,0 +1,136 @@
|
||||
#ifndef D_A_ARROW_H
|
||||
#define D_A_ARROW_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_bg_s_lin_chk.h"
|
||||
#include "d/d_bg_s_gnd_chk.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class J3DAnmTextureSRTKey;
|
||||
class J3DMaterial;
|
||||
|
||||
class daArrow_c : fopAc_ac_c {
|
||||
public:
|
||||
enum ArrowType {
|
||||
TYPE_NORMAL = 0,
|
||||
TYPE_FIRE = 1,
|
||||
TYPE_ICE = 2,
|
||||
TYPE_LIGHT = 3,
|
||||
};
|
||||
|
||||
typedef BOOL (daArrow_c::*daArrow_c_ProcFunc)();
|
||||
|
||||
BOOL _createHeap();
|
||||
void _atHit(dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
void checkCreater();
|
||||
void setLightEffect();
|
||||
void setBlur();
|
||||
void createBlur();
|
||||
void setArrowShootSe();
|
||||
void setDrawShapeMaterial();
|
||||
void arrowShooting();
|
||||
void arrowUseMp();
|
||||
void ShieldReflect();
|
||||
void check_water_in();
|
||||
BOOL changeArrowMp();
|
||||
void changeArrowType();
|
||||
void changeArrowTypeNotReady();
|
||||
void setRoomInfo();
|
||||
void setKeepMatrix();
|
||||
void setStopActorMatrix();
|
||||
BOOL procWait();
|
||||
BOOL procMove();
|
||||
BOOL procReturn();
|
||||
BOOL procStop_BG();
|
||||
BOOL procStop_Actor();
|
||||
BOOL procWater();
|
||||
void checkRestMp();
|
||||
void setTypeByPlayer();
|
||||
BOOL createInit();
|
||||
BOOL _execute();
|
||||
BOOL _draw();
|
||||
s32 _create();
|
||||
daArrow_c();
|
||||
BOOL _delete();
|
||||
|
||||
// TODO inlines
|
||||
// setAtHitPosBuff__9daArrow_cFP4cXyz
|
||||
// setAtHitNormal__9daArrow_cFv
|
||||
// setAtHitNormalActor__9daArrow_cFP10fopAc_ac_c
|
||||
// clrAtHitNormal__9daArrow_cFv
|
||||
// isSetByZelda__9daArrow_cFv
|
||||
// clrAtHitPosBuff__9daArrow_cFP4cXyz
|
||||
// getAtHitPosBuffP__9daArrow_cFv
|
||||
// getAtHitNormalActor__9daArrow_cFv
|
||||
// chkAtHitNormal__9daArrow_cFv
|
||||
// isLinkReflect__9daArrow_cFv
|
||||
// ArrowAtOff__9daArrow_cFv
|
||||
|
||||
public:
|
||||
/* 0x290 */ bool mbShotByZelda;
|
||||
/* 0x291 */ u8 field_0x291[0x294 - 0x291];
|
||||
/* 0x294 */ J3DModel* mpModel;
|
||||
/* 0x298 */ J3DMaterial* mpTipMat;
|
||||
/* 0x29C */ J3DAnmTextureSRTKey* mpBtk;
|
||||
/* 0x2A0 */ dBgS_ArrowLinChk mLinChk;
|
||||
/* 0x30C */ dBgS_ObjGndChk mGndChk;
|
||||
/* 0x360 */ dCcD_Stts mStts;
|
||||
/* 0x39C */ dCcD_Cps mCps;
|
||||
/* 0x4D4 */ dCcD_Sph mSph;
|
||||
/* 0x600 */ u8 field_0x600[0x601 - 0x600];
|
||||
/* 0x601 */ u8 mArrowType;
|
||||
/* 0x602 */ s16 field_0x602;
|
||||
/* 0x604 */ s16 field_0x604;
|
||||
/* 0x606 */ u8 field_0x606[0x608 - 0x606];
|
||||
/* 0x608 */ s16 field_0x608;
|
||||
/* 0x60A */ u8 field_0x60A[0x60C - 0x60A];
|
||||
/* 0x60C */ JPABaseEmitter* mpSparkleEmitter;
|
||||
/* 0x610 */ s32 mHitActorProcID;
|
||||
/* 0x614 */ s32 mHitJointIndex;
|
||||
/* 0x618 */ cXyz field_0x618;
|
||||
/* 0x624 */ u8 field_0x624[0x660 - 0x624];
|
||||
/* 0x660 */ f32 mBtkFrame;
|
||||
/* 0x664 */ u8 field_0x664;
|
||||
/* 0x665 */ u8 field_0x665[0x668 - 0x665];
|
||||
/* 0x668 */ dPa_followEcallBack mPtclFollowCb;
|
||||
/* 0x67C */ csXyz field_0x67c;
|
||||
/* 0x682 */ u8 field_0x682;
|
||||
/* 0x683 */ u8 field_0x683[0x684 - 0x683];
|
||||
/* 0x684 */ u32 field_0x684;
|
||||
/* 0x688 */ bool field_0x688;
|
||||
/* 0x689 */ u8 field_0x689[0x68C - 0x689];
|
||||
/* 0x68C */ daArrow_c_ProcFunc mCurrProcFunc;
|
||||
/* 0x698 */ u8 field_0x698;
|
||||
/* 0x699 */ u8 field_0x699;
|
||||
/* 0x69A */ u8 field_0x69a;
|
||||
/* 0x69B */ u8 field_0x69B[0x69C - 0x69B];
|
||||
/* 0x69C */ s16 field_0x69c;
|
||||
/* 0x69E */ u8 field_0x69E[0x6A0 - 0x69E];
|
||||
/* 0x6A0 */ s32 field_0x6a0;
|
||||
/* 0x6A4 */ s32 mInWaterTimer;
|
||||
/* 0x6A8 */ cXyz field_0x6a8;
|
||||
/* 0x6B4 */ u8 field_0x6B4[0x6E4 - 0x6B4];
|
||||
/* 0x6E4 */ u8 field_0x6e4;
|
||||
/* 0x6E5 */ u8 field_0x6E5[0x6E6 - 0x6E5];
|
||||
/* 0x6E6 */ csXyz field_0x6e6;
|
||||
/* 0x6EC */ fopAc_ac_c* field_0x6ec;
|
||||
/* 0x6F0 */ cXyz mNearestHitPos;
|
||||
/* 0x6FC */ f32 mNearestHitDist;
|
||||
/* 0x700 */ bool mbHitActor;
|
||||
/* 0x701 */ u8 field_0x701[0x704 - 0x701];
|
||||
|
||||
static u8 m_keep_type;
|
||||
static s16 m_count;
|
||||
static const char m_arc_name[];
|
||||
static const dCcD_SrcCps m_at_cps_src;
|
||||
static const dCcD_SrcSph m_co_sph_src;
|
||||
};
|
||||
|
||||
// Intellisense doesn't understand PTMF sizes
|
||||
#ifndef __INTELLISENSE__
|
||||
STATIC_ASSERT(sizeof(daArrow_c) == 0x704);
|
||||
#endif
|
||||
|
||||
#endif /* D_A_ARROW_H */
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
class daItem_c : public daItemBase_c {
|
||||
public:
|
||||
daItem_c() : mPtclFollowCb(0, 0), mPtclSmokeCb(1) {}
|
||||
|
||||
float getYOffset();
|
||||
void set_mtx();
|
||||
void set_mtx_base(J3DModel*, cXyz, csXyz);
|
||||
@@ -54,6 +56,8 @@ public:
|
||||
s32 setLock();
|
||||
s32 releaseLock();
|
||||
s32 checkActionNow();
|
||||
|
||||
static dCcD_SrcCyl m_cyl_src;
|
||||
|
||||
public:
|
||||
/* 0x63C */ cXyz mScaleTarget;
|
||||
@@ -70,10 +74,10 @@ public:
|
||||
/* 0x669 */ u8 mStatusFlags;
|
||||
/* 0x66A */ u8 mMode;
|
||||
/* 0x66B */ u8 mCurState;
|
||||
/* 0x66C */ u8 field23_0x66c[0x6BC - 0x66C];
|
||||
// /* 0x674 */ dPa_rippleEcallBack mPtclRippleCb;
|
||||
// /* 0x688 */ dPa_followEcallBack mPtclFollowCb;
|
||||
// /* 0x69C */ dPa_smokeEcallBack mPtclSmokeCb;
|
||||
/* 0x66C */ u8 field23_0x66c[0x674 - 0x66C];
|
||||
/* 0x674 */ dPa_rippleEcallBack mPtclRippleCb;
|
||||
/* 0x688 */ dPa_followEcallBack mPtclFollowCb;
|
||||
/* 0x69C */ dPa_smokeEcallBack mPtclSmokeCb;
|
||||
/* 0x6BC */ JPABaseEmitter* mpParticleEmitter;
|
||||
};
|
||||
|
||||
|
||||
@@ -36,9 +36,9 @@ STATIC_ASSERT(sizeof(daItemBase_c_m_data) == 0x4C);
|
||||
|
||||
struct daItemBase_c : public fopAc_ac_c {
|
||||
public:
|
||||
s32 DeleteBase(const char*);
|
||||
s32 CreateItemHeap(const char*, short, short, short, short, short, short, short);
|
||||
virtual s32 DrawBase();
|
||||
BOOL DeleteBase(const char*);
|
||||
BOOL CreateItemHeap(const char*, short, short, short, short, short, short, short);
|
||||
virtual BOOL DrawBase();
|
||||
virtual void setListStart();
|
||||
void setListEnd();
|
||||
virtual void settingBeforeDraw();
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
virtual void setShadow();
|
||||
virtual void animEntry();
|
||||
void animPlay(float, float, float, float, float);
|
||||
virtual s32 clothCreate();
|
||||
virtual BOOL clothCreate();
|
||||
|
||||
void getItemNo();
|
||||
void getHeight();
|
||||
@@ -65,21 +65,21 @@ public:
|
||||
|
||||
public:
|
||||
/* 0x294 */ request_of_phase_process_class mPhs;
|
||||
/* 0x29C */ J3DModel* mModel;
|
||||
/* 0x2A0 */ J3DModel* mModelArrow[2]; // Extra models for arrow bundles
|
||||
/* 0x2A8 */ mDoExt_btkAnm* mBtkAnm1;
|
||||
/* 0x2AC */ mDoExt_btkAnm* mBtkAnm2;
|
||||
/* 0x2B0 */ mDoExt_brkAnm* mBrkAnm1;
|
||||
/* 0x2B4 */ mDoExt_brkAnm* mBrkAnm2;
|
||||
/* 0x2B8 */ mDoExt_bckAnm* mBckAnm;
|
||||
/* 0x29C */ J3DModel* mpModel;
|
||||
/* 0x2A0 */ J3DModel* mpModelArrow[2]; // Extra models for arrow bundles
|
||||
/* 0x2A8 */ mDoExt_btkAnm* mpBtkAnm1;
|
||||
/* 0x2AC */ mDoExt_btkAnm* mpBtkAnm2;
|
||||
/* 0x2B0 */ mDoExt_brkAnm* mpBrkAnm1;
|
||||
/* 0x2B4 */ mDoExt_brkAnm* mpBrkAnm2;
|
||||
/* 0x2B8 */ mDoExt_bckAnm* mpBckAnm;
|
||||
/* 0x2BC */ dBgS_ObjAcch mAcch;
|
||||
/* 0x480 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x4C0 */ dCcD_Stts mStts;
|
||||
/* 0x4FC */ dCcD_Cyl mCyl;
|
||||
/* 0x62C */ u8 field14_0x62c[0x630 - 0x62C];
|
||||
/* 0x630 */ int mPickupFlag;
|
||||
/* 0x634 */ int field19_0x634;
|
||||
/* 0x638 */ short field20_0x638;
|
||||
/* 0x62C */ s32 mShadowId;
|
||||
/* 0x630 */ s32 mPickupFlag;
|
||||
/* 0x634 */ s32 field_0x634;
|
||||
/* 0x638 */ s16 field_0x638;
|
||||
/* 0x63A */ u8 m_itemNo;
|
||||
/* 0x63B */ u8 mDrawFlags;
|
||||
};
|
||||
|
||||
@@ -38,6 +38,8 @@ public:
|
||||
void setDemoMode(u32 mode) { mDemoMode = mode; }
|
||||
u32 getDemoMode() const { return mDemoMode; }
|
||||
int getParam1() const { return mParam1; }
|
||||
void setTimer(s16 time) { mTimer = time; }
|
||||
void decTimer() { mTimer--; }
|
||||
void setOriginalDemoType() { setDemoType(3); }
|
||||
void setSpecialDemoType() { setDemoType(5); }
|
||||
void setSystemDemoType() { setDemoType(2); }
|
||||
@@ -77,7 +79,8 @@ public:
|
||||
/* 0x2A8 */ f32 field_0x2a8;
|
||||
/* 0x2AC */ u8 field_0x2AC[0x2B0 - 0x2AC];
|
||||
/* 0x2B0 */ f32 field_0x2b0;
|
||||
/* 0x2B4 */ u8 field_0x2B4[0x2BC - 0x2B4];
|
||||
/* 0x2B4 */ csXyz mBodyAngle;
|
||||
/* 0x2BA */ u8 field_0x2BA[0x2BC - 0x2BA];
|
||||
/* 0x2BC */ cXyz mHeadTopPos;
|
||||
/* 0x2C8 */ cXyz mSwordTopPos;
|
||||
/* 0x2D4 */ cXyz field_0x2d4;
|
||||
@@ -88,14 +91,17 @@ public:
|
||||
/* 0x300 */ f32 field_0x300;
|
||||
/* 0x304 */ daPy_demo_c mDemo;
|
||||
|
||||
virtual void getLeftHandMatrix();
|
||||
virtual void getRightHandMatrix();
|
||||
virtual void getGroundY();
|
||||
s16 getBodyAngleX() { return mBodyAngle.x; }
|
||||
s16 getBodyAngleY() { return mBodyAngle.y; }
|
||||
|
||||
virtual MtxP getLeftHandMatrix() = 0;
|
||||
virtual MtxP getRightHandMatrix() = 0;
|
||||
virtual void getGroundY() = 0;
|
||||
virtual void getTactMusic() const;
|
||||
virtual void getTactTimerCancel() const;
|
||||
virtual void checkPlayerGuard() const;
|
||||
virtual void getGrabMissActor();
|
||||
virtual void checkPlayerFly() const;
|
||||
virtual u32 checkPlayerFly() const;
|
||||
virtual void checkFrontRoll() const;
|
||||
virtual void checkBottleSwing() const;
|
||||
virtual void checkCutCharge() const;
|
||||
@@ -104,8 +110,8 @@ public:
|
||||
virtual void setTactZev(unsigned int, int, char*);
|
||||
virtual void onDekuSpReturnFlg(u8);
|
||||
virtual void checkComboCutTurn() const;
|
||||
virtual void getBaseAnimeFrameRate();
|
||||
virtual void getBaseAnimeFrame();
|
||||
virtual f32 getBaseAnimeFrameRate() = 0;
|
||||
virtual void getBaseAnimeFrame() = 0;
|
||||
virtual void getItemID() const;
|
||||
virtual void getThrowBoomerangID() const;
|
||||
virtual void getGrabActorID() const;
|
||||
@@ -130,7 +136,7 @@ public:
|
||||
void getLeftHandPos() const;
|
||||
void getRopeJumpLand() const;
|
||||
void checkRopeForceEnd() const;
|
||||
void getHeadTopPos() const;
|
||||
cXyz getHeadTopPos() const;
|
||||
void changePlayer(fopAc_ac_c*);
|
||||
void objWindHitCheck(dCcD_Cyl*);
|
||||
void setDoButtonQuake();
|
||||
|
||||
@@ -97,11 +97,6 @@ public:
|
||||
/* 0x0 */ u8 field_0x0[0x28];
|
||||
};
|
||||
|
||||
class dPa_smokeEcallBack {
|
||||
public:
|
||||
/* 0x0 */ u8 field_0x0[0x20];
|
||||
};
|
||||
|
||||
class dPa_cutTurnEcallBack_c {
|
||||
public:
|
||||
/* 0x0 */ u8 field_0x0[0x10];
|
||||
@@ -189,11 +184,9 @@ public:
|
||||
void getBoomerangCatchPos() const;
|
||||
void getLineTopPos();
|
||||
void getHookshotRootPos() const;
|
||||
void getModelJointMtx(u16);
|
||||
void seStartOnlyReverb(u32);
|
||||
void seStartMapInfo(u32);
|
||||
void seStartSwordCut(u32);
|
||||
void voiceStart(u32);
|
||||
void itemButton() const;
|
||||
void itemTrigger() const;
|
||||
void getReadyItem();
|
||||
@@ -223,8 +216,6 @@ public:
|
||||
void setTextureScrollResource(J3DAnmTextureSRTKey*, int);
|
||||
void loadTextureScrollResource(u32, int);
|
||||
void playTextureAnime();
|
||||
void checkPlayerGuard() const;
|
||||
void setOutPower(f32, s16, int);
|
||||
void checkSightLine(f32, cXyz*);
|
||||
void setBootsModel(J3DModel**);
|
||||
void setItemModel();
|
||||
@@ -482,14 +473,7 @@ public:
|
||||
void setHandModel(daPy_lk_c::daPy_ANM);
|
||||
void getAnmData(daPy_lk_c::daPy_ANM) const;
|
||||
void checkGrabWeapon(int);
|
||||
void onDekuSpReturnFlg(u8);
|
||||
void changeTextureAnime(u16, u16, int);
|
||||
void setThrowDamage(cXyz*, s16, f32, f32, int);
|
||||
void setPlayerPosAndAngle(cXyz*, s16);
|
||||
void setPlayerPosAndAngle(cXyz*, csXyz*);
|
||||
void setPlayerPosAndAngle(float(*)[4]);
|
||||
void endDemoMode();
|
||||
void getBokoFlamePos(cXyz*);
|
||||
void setAuraEffect();
|
||||
void setWaterRipple();
|
||||
void setFootEffectType(int, cXyz*, int, int);
|
||||
@@ -708,7 +692,6 @@ public:
|
||||
void procCrawlEnd_init(int, s16, s16);
|
||||
void procCrawlEnd();
|
||||
void checkGrabSpecialHeavyState();
|
||||
void getGrabMissActor();
|
||||
void setWeaponBlur();
|
||||
void checkGrabBarrelSearch(int);
|
||||
void setGrabItemPos();
|
||||
@@ -835,27 +818,6 @@ public:
|
||||
void procRopeThrowCatch();
|
||||
void procRopeUpHang_init();
|
||||
void procRopeUpHang();
|
||||
void checkRopeReadyAnime() const;
|
||||
void checkRopeTag();
|
||||
void checkPlayerNoDraw();
|
||||
void getGroundY();
|
||||
void getLeftHandMatrix();
|
||||
void getRightHandMatrix();
|
||||
void checkPlayerFly() const;
|
||||
void checkFrontRoll() const;
|
||||
void checkBottleSwing() const;
|
||||
void checkCutCharge() const;
|
||||
void checkTactWait() const;
|
||||
void getBaseAnimeFrameRate();
|
||||
void getBaseAnimeFrame();
|
||||
void getItemID() const;
|
||||
void getThrowBoomerangID() const;
|
||||
void getGrabActorID() const;
|
||||
void checkGrabBarrel();
|
||||
void onFrollCrashFlg(u32);
|
||||
void getOldSpeedY();
|
||||
void checkComboCutTurn() const;
|
||||
void cancelChangeTextureAnime();
|
||||
void checkBoomerangAnime() const;
|
||||
void throwBoomerang();
|
||||
void returnBoomerang();
|
||||
@@ -886,7 +848,6 @@ public:
|
||||
void procBowMove_init();
|
||||
void procBowMove();
|
||||
void checkHookshotReturn();
|
||||
void setHookshotCarryOffset(unsigned int, const cXyz*);
|
||||
void setHookshotModel();
|
||||
void setHookshotSight();
|
||||
void freeHookshotItem();
|
||||
@@ -911,7 +872,7 @@ public:
|
||||
void procFanSwing();
|
||||
void procFanGlide_init(int);
|
||||
void procFanGlide();
|
||||
void getDayNightParamData();
|
||||
u32 getDayNightParamData();
|
||||
void setTactModel();
|
||||
void checkNpcStatus();
|
||||
void getTactPlayRightArmAnm(s32);
|
||||
@@ -919,11 +880,8 @@ public:
|
||||
void checkEndTactMusic() const;
|
||||
void getTactMetronomeRate();
|
||||
void checkTactLastInput();
|
||||
void setTactZev(unsigned int, int, char*);
|
||||
void getTactTopPos(cXyz*);
|
||||
void getTactNormalWait() const;
|
||||
void getTactMusic() const;
|
||||
void getTactTimerCancel() const;
|
||||
void checkTactPlayMelody();
|
||||
void resetTactCount();
|
||||
void procTactWait_init(int);
|
||||
@@ -1042,6 +1000,48 @@ public:
|
||||
void procCutKesa_init();
|
||||
void procCutKesa();
|
||||
void checkNoControll() const;
|
||||
|
||||
J3DAnmTevRegKey* getBombBrk() { return mpBombBrk; }
|
||||
J3DAnmTextureSRTKey* getIceArrowBtk() { return mpIceArrowBtk; }
|
||||
J3DAnmTextureSRTKey* getLightArrowBtk() { return mpLightArrowBtk; }
|
||||
|
||||
virtual MtxP getLeftHandMatrix();
|
||||
virtual MtxP getRightHandMatrix();
|
||||
virtual void getGroundY();
|
||||
virtual void getTactMusic() const;
|
||||
virtual void getTactTimerCancel() const;
|
||||
virtual void checkPlayerGuard() const;
|
||||
virtual void getGrabMissActor();
|
||||
virtual u32 checkPlayerFly() const;
|
||||
virtual void checkFrontRoll() const;
|
||||
virtual void checkBottleSwing() const;
|
||||
virtual void checkCutCharge() const;
|
||||
virtual void getBokoFlamePos(cXyz*);
|
||||
virtual void checkTactWait() const;
|
||||
virtual void setTactZev(unsigned int, int, char*);
|
||||
virtual void onDekuSpReturnFlg(u8);
|
||||
virtual void checkComboCutTurn() const;
|
||||
virtual f32 getBaseAnimeFrameRate();
|
||||
virtual void getBaseAnimeFrame();
|
||||
virtual void getItemID() const;
|
||||
virtual void getThrowBoomerangID() const;
|
||||
virtual void getGrabActorID() const;
|
||||
virtual void checkGrabBarrel();
|
||||
virtual void checkPlayerNoDraw();
|
||||
virtual void checkRopeTag();
|
||||
virtual void checkRopeReadyAnime() const;
|
||||
virtual void voiceStart(u32);
|
||||
virtual void setOutPower(f32, s16, int);
|
||||
virtual void onFrollCrashFlg(u32);
|
||||
virtual void getModelJointMtx(u16);
|
||||
virtual void getOldSpeedY();
|
||||
virtual void setHookshotCarryOffset(unsigned int, const cXyz*);
|
||||
virtual void setPlayerPosAndAngle(cXyz*, s16);
|
||||
virtual void setPlayerPosAndAngle(cXyz*, csXyz*);
|
||||
virtual void setPlayerPosAndAngle(float (*)[4]);
|
||||
virtual void setThrowDamage(cXyz*, s16, f32, f32, int);
|
||||
virtual void changeTextureAnime(u16, u16, int);
|
||||
virtual void cancelChangeTextureAnime();
|
||||
|
||||
/* 0x0320 */ request_of_phase_process_class mPhsLoad;
|
||||
/* 0x0328 */ J3DModelData* mpModelData;
|
||||
@@ -1098,10 +1098,13 @@ public:
|
||||
/* 0x2E98 */ J3DModel* mpHeldItemModel;
|
||||
/* 0x2E9C */ mDoExt_bckAnm mSwordAnim;
|
||||
/* 0x2EAC */ u8 field_0x2EAC[0x2EB0 - 0x2EAC];
|
||||
/* 0x2EB0 */ J3DAnmTevRegKey* field_0x2eb0;
|
||||
/* 0x2EB0 */ J3DAnmTevRegKey* mpBombBrk;
|
||||
/* 0x2EB4 */ J3DAnmTevRegKey* mpGwp00BrkData;
|
||||
/* 0x2EB8 */ J3DAnmTextureSRTKey* mpGwp00BtkData;
|
||||
/* 0x2EBC */ u8 field_0x2EBC[0x2ED4 - 0x2EBC];
|
||||
/* 0x2EBC */ u8 field_0x2EBC[0x2EC0 - 0x2EBC];
|
||||
/* 0x2EC0 */ J3DAnmTextureSRTKey* mpIceArrowBtk;
|
||||
/* 0x2EC4 */ J3DAnmTextureSRTKey* mpLightArrowBtk;
|
||||
/* 0x2EC8 */ u8 field_0x2EC8[0x2ED4 - 0x2EC8];
|
||||
/* 0x2ED4 */ J3DAnmTextureSRTKey* mpHeldItemModelAnimTexEx;
|
||||
/* 0x2ED8 */ J3DAnmTextureSRTKey* mpSwordAnimBTK;
|
||||
/* 0x2EDC */ J3DAnmTevRegKey* mpHeldItemAnimBRK;
|
||||
@@ -1218,7 +1221,8 @@ public:
|
||||
/* 0x3532 */ s16 field_0x3532;
|
||||
/* 0x3534 */ u8 field_0x3534[0x3544 - 0x3534];
|
||||
/* 0x3544 */ s16 field_0x3544;
|
||||
/* 0x3546 */ u8 field_0x3546[0x354E - 0x3546];
|
||||
/* 0x3546 */ u8 field_0x3546[0x354C - 0x3546];
|
||||
/* 0x354C */ s16 field_0x354c;
|
||||
/* 0x354E */ s16 field_0x354e;
|
||||
/* 0x3550 */ u8 field_0x3550[0x3554 - 0x3550];
|
||||
/* 0x3554 */ s16 field_0x3554;
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
#ifndef D_A_SHIP_H
|
||||
#define D_A_SHIP_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_particle.h"
|
||||
|
||||
class msg_class;
|
||||
|
||||
class daShip_c : public fopAc_ac_c {
|
||||
public:
|
||||
daShip_c();
|
||||
|
||||
void initStartPos(cXyz const*, s16);
|
||||
void bodyJointCallBack(int);
|
||||
void cannonJointCallBack(int);
|
||||
void craneJointCallBack();
|
||||
void headJointCallBack0();
|
||||
void headJointCallBack1(int);
|
||||
void draw();
|
||||
void checkForceMessage();
|
||||
void setInitMessage();
|
||||
void setNextMessage(msg_class*);
|
||||
void seStart(u32, cXyz*);
|
||||
void setSailAngle();
|
||||
void setControllAngle(s16);
|
||||
void getMaxWaterY(cXyz*);
|
||||
void setWaveAngle(s16*, s16*);
|
||||
void getWaterY();
|
||||
void setYPos();
|
||||
void checkOutRange();
|
||||
void decrementShipSpeed(f32);
|
||||
void firstDecrementShipSpeed(f32);
|
||||
void getAimControllAngle(s16);
|
||||
void setMoveAngle(s16);
|
||||
void changeDemoEndProc();
|
||||
void setCrashData(s16);
|
||||
void checkNextMode(int);
|
||||
void setPartOnAnime(u8);
|
||||
void setPartOffAnime();
|
||||
void setPartAnimeInit(u8);
|
||||
void setSelfMove(int);
|
||||
void procWait_init();
|
||||
void procWait();
|
||||
void procReady_init();
|
||||
void procReady();
|
||||
void procGetOff_init();
|
||||
void procGetOff();
|
||||
void procPaddleMove_init();
|
||||
void procPaddleMove();
|
||||
void procSteerMove_init();
|
||||
void procSteerMove();
|
||||
void procCannonReady_init();
|
||||
void procCannonReady();
|
||||
void procCannon_init();
|
||||
void procCannon();
|
||||
void procCraneReady_init();
|
||||
void procCraneReady();
|
||||
void procCrane_init();
|
||||
void procCrane();
|
||||
void procCraneUp_init();
|
||||
void procCraneUp();
|
||||
void procToolDemo_init();
|
||||
void procToolDemo();
|
||||
void procZevDemo_init();
|
||||
void procZevDemo();
|
||||
void procTalkReady_init();
|
||||
void procTalkReady();
|
||||
void procTalk_init();
|
||||
void procTalk();
|
||||
void procTurn_init();
|
||||
void procTurn();
|
||||
void procTornadoUp_init();
|
||||
void procTornadoUp();
|
||||
void procStartModeWarp_init();
|
||||
void procStartModeWarp();
|
||||
void procTactWarp_init();
|
||||
void procTactWarp();
|
||||
void procWhirlDown_init();
|
||||
void procWhirlDown();
|
||||
void procStartModeThrow_init();
|
||||
void procStartModeThrow();
|
||||
void setEffectData(f32, s16);
|
||||
void setRoomInfo();
|
||||
void incRopeCnt(int, int);
|
||||
void setRopePos();
|
||||
void getAnglePartRate();
|
||||
void setTornadoActor();
|
||||
void setWhirlActor();
|
||||
void setHeadAnm();
|
||||
void execute();
|
||||
void shipDelete();
|
||||
void createHeap();
|
||||
void create();
|
||||
void getCannonAngleX() const;
|
||||
void checkForceMove() const;
|
||||
|
||||
/* 0x0290 */ u8 field_0x0290[0x0300 - 0x0290];
|
||||
/* 0x0300 */ J3DModel* mpCannonModel;
|
||||
/* 0x0304 */ J3DModel* mpSalvageArmModel;
|
||||
/* 0x0308 */ u8 field_0x0308[0x034D - 0x0308];
|
||||
/* 0x034D */ u8 field_0x034d;
|
||||
/* 0x034E */ u8 mShipMode;
|
||||
/* 0x034F */ u8 field_0x034F[0x0358 - 0x034F];
|
||||
/* 0x0358 */ u32 field_0x0358;
|
||||
/* 0x035C */ int mNextMessageID;
|
||||
/* 0x0360 */ int mShadowId;
|
||||
/* 0x0364 */ u8 field_0x0364[0x183C - 0x0364];
|
||||
/* 0x183C */ dPa_waveEcallBack field_0x183c;
|
||||
/* 0x18A0 */ dPa_waveEcallBack field_0x18a0;
|
||||
/* 0x1904 */ dPa_splashEcallBack field_0x1904;
|
||||
/* 0x1920 */ dPa_trackEcallBack field_0x1920;
|
||||
/* 0x1970 */ dPa_rippleEcallBack field_0x1970;
|
||||
/* 0x1984 */ u8 field_0x1984[0x19C0 - 0x1984];
|
||||
/* 0x19C0 */ dPa_rippleEcallBack field_0x19c0;
|
||||
};
|
||||
|
||||
#endif /* D_A_SHIP_H */
|
||||
@@ -0,0 +1,48 @@
|
||||
#ifndef D_A_SHOP_ITEM_H
|
||||
#define D_A_SHOP_ITEM_H
|
||||
|
||||
#include "d/actor/d_a_itembase.h"
|
||||
#include "d/d_cloth_packet.h"
|
||||
|
||||
struct daShopItem_c_m_data {
|
||||
/* 0x00 */ Vec mScale;
|
||||
/* 0x0C */ Vec field_0x0C;
|
||||
/* 0x18 */ SVec field_0x18;
|
||||
};
|
||||
|
||||
struct daShopItem_c : public daItemBase_c {
|
||||
char* getShopArcname();
|
||||
s16 getShopBmdIdx();
|
||||
void CreateInit();
|
||||
inline int _create();
|
||||
bool _execute();
|
||||
void set_mtx();
|
||||
bool _draw();
|
||||
|
||||
//virtual funcs
|
||||
void setListStart() {}
|
||||
void settingBeforeDraw();
|
||||
void setTevStr();
|
||||
BOOL clothCreate();
|
||||
|
||||
//funcs in d_a_shop_item_static
|
||||
cXyz* getScaleP();
|
||||
csXyz* getRotateP();
|
||||
cXyz* getPosP();
|
||||
cXyz getCenter();
|
||||
|
||||
const daShopItem_c_m_data* getData() { return mData; }
|
||||
|
||||
static const char m_cloth_arcname[];
|
||||
static const f32 m_cullfar_max;
|
||||
static const u8 mModelType[255];
|
||||
static const daShopItem_c_m_data mData[255];
|
||||
|
||||
/* 0x63C */ request_of_phase_process_class field_0x63C;
|
||||
/* 0x644 */ dCloth_packet_c* field_0x644;
|
||||
/* 0x648 */ u8 field_0x648;
|
||||
/* 0x64C */ Mtx field_0x64C;
|
||||
/* 0x67C */ TevType tevType;
|
||||
};
|
||||
|
||||
#endif /* D_A_SHOP_ITEM_H */
|
||||
+41
-22
@@ -5,6 +5,19 @@
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
class fopAc_ac_c;
|
||||
class mDoExt_McaMorf;
|
||||
class J3DAnmColor;
|
||||
class J3DMatColorAnm;
|
||||
|
||||
class dAttDraw_c {
|
||||
public:
|
||||
void setAnm(int, int, int);
|
||||
void draw(cXyz&, Mtx);
|
||||
|
||||
/* 0x0 */ mDoExt_McaMorf * mpMorf;
|
||||
/* 0x4 */ J3DAnmColor * mpAnmClr;
|
||||
/* 0x8 */ J3DMatColorAnm * mpAnmMatClr;
|
||||
};
|
||||
|
||||
class dAttHint_c {
|
||||
public:
|
||||
@@ -66,10 +79,11 @@ public:
|
||||
|
||||
class dAttLook_c {
|
||||
public:
|
||||
/* 80073CA4 */ fopAc_ac_c* convPId(unsigned int);
|
||||
/* 80073CD4 */ void init();
|
||||
/* 80073CEC */ void proc();
|
||||
/* 80073D08 */ void request(fopAc_ac_c*, f32, f32, f32, s16, int);
|
||||
fopAc_ac_c* convPId(unsigned int);
|
||||
void init();
|
||||
void proc();
|
||||
void request(fopAc_ac_c*, f32, f32, f32, s16, int);
|
||||
void requestF(fopAc_ac_c*, s16, int);
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
@@ -105,24 +119,24 @@ public:
|
||||
dAttention_c(fopAc_ac_c*, u32);
|
||||
~dAttention_c();
|
||||
|
||||
void GetActionList(s32);
|
||||
void GetLockonList(s32);
|
||||
void getActionBtnB();
|
||||
void getActionBtnXYZ_local(int);
|
||||
void getActionBtnX();
|
||||
void getActionBtnY();
|
||||
void getActionBtnZ();
|
||||
dAttList_c* GetActionList(s32);
|
||||
dAttList_c* GetLockonList(s32);
|
||||
dAttList_c* getActionBtnB();
|
||||
dAttList_c* getActionBtnXYZ_local(int);
|
||||
dAttList_c* getActionBtnX();
|
||||
dAttList_c* getActionBtnY();
|
||||
dAttList_c* getActionBtnZ();
|
||||
void chkAttMask(u32, u32);
|
||||
void calcWeight(int, fopAc_ac_c*, f32, s16, s16, u32*);
|
||||
void setLList(fopAc_ac_c*, f32, f32, u32);
|
||||
void setAList(fopAc_ac_c*, f32, f32, u32);
|
||||
void initList(u32);
|
||||
void makeList();
|
||||
s32 makeList();
|
||||
void SelectAttention(fopAc_ac_c*);
|
||||
void sortList();
|
||||
void stockAttention(u32);
|
||||
void nextAttention(u32);
|
||||
void freeAttention();
|
||||
s32 freeAttention();
|
||||
void chaseAttention();
|
||||
void EnemyDistance(fopAc_ac_c*);
|
||||
void runSoundProc();
|
||||
@@ -136,12 +150,11 @@ public:
|
||||
void judgementStatusHd(u32);
|
||||
void Run(u32);
|
||||
void Draw();
|
||||
void LockonTarget(s32);
|
||||
fopAc_ac_c* LockonTarget(s32);
|
||||
void LockonReleaseDistanse();
|
||||
void LockonTargetPId(s32);
|
||||
void ActionTarget(s32);
|
||||
void LockonTruth();
|
||||
void Lockon();
|
||||
unsigned int LockonTargetPId(s32);
|
||||
fopAc_ac_c* ActionTarget(s32);
|
||||
bool LockonTruth();
|
||||
|
||||
void Init(fopAc_ac_c* i_owner, u32 i_playerNo) {
|
||||
mpPlayer = (daPy_lk_c*)i_owner;
|
||||
@@ -149,11 +162,16 @@ public:
|
||||
}
|
||||
|
||||
fopAc_ac_c* Owner() { return (fopAc_ac_c*)mpPlayer; }
|
||||
|
||||
void CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 param_2, f32 param_3,
|
||||
f32 param_4, s16 param_5, s32 param_6) {
|
||||
mCatch.request(param_0, param_1, param_2, param_3, param_4, param_5, param_6);
|
||||
}
|
||||
|
||||
public:
|
||||
/* 0x000 */ daPy_lk_c* mpPlayer;
|
||||
/* 0x004 */ int mLockOnTargetBsPcID;
|
||||
/* 0x008 */ dAttDraw_CallBack_c field_0x8;
|
||||
/* 0x008 */ dAttDraw_CallBack_c mpCallBack;
|
||||
/* 0x00C */ int mPlayerNo;
|
||||
/* 0x010 */ u32 mFlagMask;
|
||||
/* 0x014 */ u8 field_0x014[0x018 - 0x014];
|
||||
@@ -166,7 +184,9 @@ public:
|
||||
/* 0x020 */ u32 mFlags;
|
||||
/* 0x024 */ JKRHeap* mpHeap;
|
||||
/* 0x028 */ u8 field_0x028;
|
||||
/* 0x029 */ u8 field_0x029[0x054 - 0x029];
|
||||
/* 0x02C */ cXyz field_0x02c;
|
||||
/* 0x038 */ dAttDraw_c mDraw[2];
|
||||
/* 0x050 */ u32 field_0x050;
|
||||
/* 0x054 */ dAttList_c mLockOnList[8];
|
||||
/* 0x0D4 */ int mLockOnNum;
|
||||
/* 0x0D8 */ int mLockOnOffs;
|
||||
@@ -175,8 +195,7 @@ public:
|
||||
/* 0x120 */ int mActionOffs;
|
||||
/* 0x124 */ dAttHint_c mHint;
|
||||
/* 0x130 */ dAttCatch_c mCatch;
|
||||
/* 0x148 */ dAttLook_c field_0x148;
|
||||
/* 0x158 */ dAttLook_c field_0x158;
|
||||
/* 0x148 */ dAttLook_c mLook[2];
|
||||
/* 0x168 */ int mEnemyBsPcId;
|
||||
/* 0x16C */ f32 mEnemyDistance;
|
||||
/* 0x170 */ dAttParam_c mAttParam;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user