mirror of https://github.com/zeldaret/tp
d_a_e_fz work, doxygen revamp (#2127)
* initial freezard actor struct + setActionMode OK * daE_FZ_Draw * setReflectAngle * mBoundSoundset * daE_FZ_Execute & execute * demoDelete * daE_FZ_Delete & _delete * CreateHeap * useHeapInit * cc_set * mtx_set * action WIP * way_gake_check * executeRollMove * executeMove * draw WIP * executeDamage * checkpoint * create * checkpoint * daE_FZ_c::executeWait * checkpoint * daE_FZ_c::damage_check almost done * rm asm * rm headers * setup_profile WIP + doxygen update * fix merge issues * docs fix? * fix2 * doxygen updates * setup g_profile_E_FZ, profile setup script WIP * update github actions * update progress.md
This commit is contained in:
parent
b36f0f9366
commit
a61e3491f7
|
|
@ -1,22 +1,19 @@
|
||||||
name: run Doxygen to generate docs
|
name: Generate Doxygen Static Site
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- name: generate docs
|
- name: generate docs
|
||||||
uses: mattnotmitt/doxygen-action@v1
|
uses: mattnotmitt/doxygen-action@v1
|
||||||
with:
|
with:
|
||||||
doxyfile-path: 'Doxyfile'
|
doxyfile-path: 'Doxyfile'
|
||||||
- name: deploy docs to github pages
|
- name: deploy docs to github pages
|
||||||
uses: peaceiris/actions-gh-pages@v3
|
uses: peaceiris/actions-gh-pages@v4
|
||||||
with:
|
with:
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
publish_dir: ./docs/doxygen
|
publish_dir: ./docs/doxygen/html
|
||||||
|
|
|
||||||
20
Progress.md
20
Progress.md
|
|
@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
|
||||||
.init | 97.972973% | 9280 | 9472
|
.init | 97.972973% | 9280 | 9472
|
||||||
.extab | 100.000000% | 96 | 96
|
.extab | 100.000000% | 96 | 96
|
||||||
.extabindex | 100.000000% | 96 | 96
|
.extabindex | 100.000000% | 96 | 96
|
||||||
.text | 48.455851% | 1742736 | 3596544
|
.text | 48.756584% | 1753552 | 3596544
|
||||||
.ctors | 100.000000% | 448 | 448
|
.ctors | 100.000000% | 448 | 448
|
||||||
.dtors | 100.000000% | 32 | 32
|
.dtors | 100.000000% | 32 | 32
|
||||||
.rodata | 100.000000% | 193856 | 193856
|
.rodata | 100.000000% | 193856 | 193856
|
||||||
.data | 100.000000% | 197632 | 197632
|
.data | 100.000000% | 197632 | 197632
|
||||||
.sdata | 100.000000% | 1408 | 1408
|
.sdata | 100.000000% | 1408 | 1408
|
||||||
.sdata2 | 100.000000% | 20832 | 20832
|
.sdata2 | 100.000000% | 20832 | 20832
|
||||||
Total | 53.888305% | 2166672 | 4020672
|
Total | 54.157315% | 2177488 | 4020672
|
||||||
|
|
||||||
## Total
|
## Total
|
||||||
|
|
||||||
Section | Percentage | Decompiled (bytes) | Total (bytes)
|
Section | Percentage | Decompiled (bytes) | Total (bytes)
|
||||||
---|---|---|---
|
---|---|---|---
|
||||||
main.dol | 53.888305% | 2166672 | 4020672
|
main.dol | 54.157315% | 2177488 | 4020672
|
||||||
RELs | 37.290880% | 4288572 | 11500324
|
RELs | 37.556090% | 4319072 | 11500324
|
||||||
Total | 41.590398% | 6455244 | 15520996
|
Total | 41.856592% | 6496560 | 15520996
|
||||||
|
|
||||||
## RELs
|
## RELs
|
||||||
|
|
||||||
|
|
@ -74,8 +74,8 @@ d_a_demo_item | 33.863165% | 3920 | 11576
|
||||||
d_a_disappear | 100.000000% | 2404 | 2404
|
d_a_disappear | 100.000000% | 2404 | 2404
|
||||||
d_a_dmidna | 100.000000% | 1888 | 1888
|
d_a_dmidna | 100.000000% | 1888 | 1888
|
||||||
d_a_do | 37.666220% | 14616 | 38804
|
d_a_do | 37.666220% | 14616 | 38804
|
||||||
d_a_door_boss | 66.342756% | 6008 | 9056
|
d_a_door_boss | 100.000000% | 9056 | 9056
|
||||||
d_a_door_bossL1 | 39.355114% | 7372 | 18732
|
d_a_door_bossL1 | 100.000000% | 18732 | 18732
|
||||||
d_a_door_bossL5 | 39.221790% | 4032 | 10280
|
d_a_door_bossL5 | 39.221790% | 4032 | 10280
|
||||||
d_a_door_dbdoor00 | 100.000000% | 7620 | 7620
|
d_a_door_dbdoor00 | 100.000000% | 7620 | 7620
|
||||||
d_a_door_knob00 | 37.500000% | 4608 | 12288
|
d_a_door_knob00 | 37.500000% | 4608 | 12288
|
||||||
|
|
@ -107,7 +107,7 @@ d_a_e_fb | 31.127328% | 4948 | 15896
|
||||||
d_a_e_fk | 32.965394% | 4420 | 13408
|
d_a_e_fk | 32.965394% | 4420 | 13408
|
||||||
d_a_e_fm | 24.588144% | 15164 | 61672
|
d_a_e_fm | 24.588144% | 15164 | 61672
|
||||||
d_a_e_fs | 31.823996% | 4976 | 15636
|
d_a_e_fs | 31.823996% | 4976 | 15636
|
||||||
d_a_e_fz | 30.508860% | 5372 | 17608
|
d_a_e_fz | 35.756474% | 6296 | 17608
|
||||||
d_a_e_ga | 43.014395% | 2032 | 4724
|
d_a_e_ga | 43.014395% | 2032 | 4724
|
||||||
d_a_e_gb | 26.939571% | 8292 | 30780
|
d_a_e_gb | 26.939571% | 8292 | 30780
|
||||||
d_a_e_ge | 24.669967% | 7176 | 29088
|
d_a_e_ge | 24.669967% | 7176 | 29088
|
||||||
|
|
@ -136,7 +136,7 @@ d_a_e_ms | 28.208138% | 5768 | 20448
|
||||||
d_a_e_nest | 100.000000% | 19932 | 19932
|
d_a_e_nest | 100.000000% | 19932 | 19932
|
||||||
d_a_e_nz | 32.041969% | 4764 | 14868
|
d_a_e_nz | 32.041969% | 4764 | 14868
|
||||||
d_a_e_oc | 22.586920% | 11148 | 49356
|
d_a_e_oc | 22.586920% | 11148 | 49356
|
||||||
d_a_e_oct_bg | 30.217151% | 6568 | 21736
|
d_a_e_oct_bg | 100.000000% | 21736 | 21736
|
||||||
d_a_e_ot | 32.497589% | 5392 | 16592
|
d_a_e_ot | 32.497589% | 5392 | 16592
|
||||||
d_a_e_ph | 100.000000% | 23872 | 23872
|
d_a_e_ph | 100.000000% | 23872 | 23872
|
||||||
d_a_e_pm | 21.505129% | 11236 | 52248
|
d_a_e_pm | 21.505129% | 11236 | 52248
|
||||||
|
|
@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244
|
||||||
d_a_warp_bug | 100.000000% | 2024 | 2024
|
d_a_warp_bug | 100.000000% | 2024 | 2024
|
||||||
d_a_ykgr | 44.400631% | 2252 | 5072
|
d_a_ykgr | 44.400631% | 2252 | 5072
|
||||||
f_pc_profile_lst | 100.000000% | 28156 | 28156
|
f_pc_profile_lst | 100.000000% | 28156 | 28156
|
||||||
Total | 37.290880% | 4288572 | 11500324
|
Total | 37.556090% | 4319072 | 11500324
|
||||||
|
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
lbl_806C0C28:
|
|
||||||
/* 806C0C28 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 806C0C2C 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806C0C30 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 806C0C34 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
||||||
/* 806C0C38 7C 7F 1B 78 */ mr r31, r3
|
|
||||||
/* 806C0C3C 3C 60 80 6C */ lis r3, d_a_e_fz__stringBase0@ha /* 0x806C19F4@ha */
|
|
||||||
/* 806C0C40 38 63 19 F4 */ addi r3, r3, d_a_e_fz__stringBase0@l /* 0x806C19F4@l */
|
|
||||||
/* 806C0C44 38 80 00 03 */ li r4, 3
|
|
||||||
/* 806C0C48 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
|
||||||
/* 806C0C4C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
|
||||||
/* 806C0C50 3C A5 00 02 */ addis r5, r5, 2
|
|
||||||
/* 806C0C54 38 C0 00 80 */ li r6, 0x80
|
|
||||||
/* 806C0C58 38 A5 C2 F8 */ addi r5, r5, -15624
|
|
||||||
/* 806C0C5C 4B 97 B6 91 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
|
||||||
/* 806C0C60 38 80 00 00 */ li r4, 0
|
|
||||||
/* 806C0C64 3C A0 11 02 */ lis r5, 0x1102 /* 0x11020203@ha */
|
|
||||||
/* 806C0C68 38 A5 02 03 */ addi r5, r5, 0x0203 /* 0x11020203@l */
|
|
||||||
/* 806C0C6C 4B 95 3F E9 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
|
|
||||||
/* 806C0C70 90 7F 05 B4 */ stw r3, 0x5b4(r31)
|
|
||||||
/* 806C0C74 80 9F 05 B4 */ lwz r4, 0x5b4(r31)
|
|
||||||
/* 806C0C78 28 04 00 00 */ cmplwi r4, 0
|
|
||||||
/* 806C0C7C 40 82 00 0C */ bne lbl_806C0C88
|
|
||||||
/* 806C0C80 38 60 00 00 */ li r3, 0
|
|
||||||
/* 806C0C84 48 00 00 18 */ b lbl_806C0C9C
|
|
||||||
lbl_806C0C88:
|
|
||||||
/* 806C0C88 38 7F 05 B8 */ addi r3, r31, 0x5b8
|
|
||||||
/* 806C0C8C 38 A0 00 01 */ li r5, 1
|
|
||||||
/* 806C0C90 4B 94 D8 AD */ bl create__21mDoExt_invisibleModelFP8J3DModelUc
|
|
||||||
/* 806C0C94 30 03 FF FF */ addic r0, r3, -1
|
|
||||||
/* 806C0C98 7C 60 19 10 */ subfe r3, r0, r3
|
|
||||||
lbl_806C0C9C:
|
|
||||||
/* 806C0C9C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
||||||
/* 806C0CA0 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 806C0CA4 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806C0CA8 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 806C0CAC 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
lbl_806C0B94:
|
|
||||||
/* 806C0B94 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 806C0B98 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806C0B9C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 806C0BA0 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
||||||
/* 806C0BA4 7C 7F 1B 78 */ mr r31, r3
|
|
||||||
/* 806C0BA8 38 7F 05 AC */ addi r3, r31, 0x5ac
|
|
||||||
/* 806C0BAC 3C 80 80 6C */ lis r4, d_a_e_fz__stringBase0@ha /* 0x806C19F4@ha */
|
|
||||||
/* 806C0BB0 38 84 19 F4 */ addi r4, r4, d_a_e_fz__stringBase0@l /* 0x806C19F4@l */
|
|
||||||
/* 806C0BB4 4B 96 C4 55 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
|
|
||||||
/* 806C0BB8 88 1F 0C 21 */ lbz r0, 0xc21(r31)
|
|
||||||
/* 806C0BBC 28 00 00 00 */ cmplwi r0, 0
|
|
||||||
/* 806C0BC0 41 82 00 10 */ beq lbl_806C0BD0
|
|
||||||
/* 806C0BC4 38 00 00 00 */ li r0, 0
|
|
||||||
/* 806C0BC8 3C 60 80 6C */ lis r3, data_806C1BA0@ha /* 0x806C1BA0@ha */
|
|
||||||
/* 806C0BCC 98 03 1B A0 */ stb r0, data_806C1BA0@l(r3) /* 0x806C1BA0@l */
|
|
||||||
lbl_806C0BD0:
|
|
||||||
/* 806C0BD0 80 1F 00 F0 */ lwz r0, 0xf0(r31)
|
|
||||||
/* 806C0BD4 28 00 00 00 */ cmplwi r0, 0
|
|
||||||
/* 806C0BD8 41 82 00 18 */ beq lbl_806C0BF0
|
|
||||||
/* 806C0BDC 38 7F 05 C0 */ addi r3, r31, 0x5c0
|
|
||||||
/* 806C0BE0 81 9F 05 C0 */ lwz r12, 0x5c0(r31)
|
|
||||||
/* 806C0BE4 81 8C 00 08 */ lwz r12, 8(r12)
|
|
||||||
/* 806C0BE8 7D 89 03 A6 */ mtctr r12
|
|
||||||
/* 806C0BEC 4E 80 04 21 */ bctrl
|
|
||||||
lbl_806C0BF0:
|
|
||||||
/* 806C0BF0 38 60 00 01 */ li r3, 1
|
|
||||||
/* 806C0BF4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
||||||
/* 806C0BF8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 806C0BFC 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806C0C00 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 806C0C04 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -226,14 +226,14 @@ lbl_806C1020:
|
||||||
/* 806C102C 38 84 0F 38 */ addi r4, r4, 0xf38
|
/* 806C102C 38 84 0F 38 */ addi r4, r4, 0xf38
|
||||||
/* 806C1030 4B 9B 5A 7D */ bl CrrPos__9dBgS_AcchFR4dBgS
|
/* 806C1030 4B 9B 5A 7D */ bl CrrPos__9dBgS_AcchFR4dBgS
|
||||||
/* 806C1034 38 7D 09 80 */ addi r3, r29, 0x980
|
/* 806C1034 38 7D 09 80 */ addi r3, r29, 0x980
|
||||||
/* 806C1038 3C 80 80 6C */ lis r4, data_806C1A38@ha /* 0x806C1A38@ha */
|
/* 806C1038 3C 80 80 6C */ lis r4, cc_fz_src@ha /* 0x806C1A38@ha */
|
||||||
/* 806C103C 38 84 1A 38 */ addi r4, r4, data_806C1A38@l /* 0x806C1A38@l */
|
/* 806C103C 38 84 1A 38 */ addi r4, r4, cc_fz_src@l /* 0x806C1A38@l */
|
||||||
/* 806C1040 4B 9C 39 F5 */ bl Set__8dCcD_SphFRC11dCcD_SrcSph
|
/* 806C1040 4B 9C 39 F5 */ bl Set__8dCcD_SphFRC11dCcD_SrcSph
|
||||||
/* 806C1044 38 1D 09 44 */ addi r0, r29, 0x944
|
/* 806C1044 38 1D 09 44 */ addi r0, r29, 0x944
|
||||||
/* 806C1048 90 1D 09 C4 */ stw r0, 0x9c4(r29)
|
/* 806C1048 90 1D 09 C4 */ stw r0, 0x9c4(r29)
|
||||||
/* 806C104C 38 7D 0A B8 */ addi r3, r29, 0xab8
|
/* 806C104C 38 7D 0A B8 */ addi r3, r29, 0xab8
|
||||||
/* 806C1050 3C 80 80 6C */ lis r4, data_806C1A78@ha /* 0x806C1A78@ha */
|
/* 806C1050 3C 80 80 6C */ lis r4, cc_fz_at_src@ha /* 0x806C1A78@ha */
|
||||||
/* 806C1054 38 84 1A 78 */ addi r4, r4, data_806C1A78@l /* 0x806C1A78@l */
|
/* 806C1054 38 84 1A 78 */ addi r4, r4, cc_fz_at_src@l /* 0x806C1A78@l */
|
||||||
/* 806C1058 4B 9C 39 DD */ bl Set__8dCcD_SphFRC11dCcD_SrcSph
|
/* 806C1058 4B 9C 39 DD */ bl Set__8dCcD_SphFRC11dCcD_SrcSph
|
||||||
/* 806C105C 38 1D 09 44 */ addi r0, r29, 0x944
|
/* 806C105C 38 1D 09 44 */ addi r0, r29, 0x944
|
||||||
/* 806C1060 90 1D 0A FC */ stw r0, 0xafc(r29)
|
/* 806C1060 90 1D 0A FC */ stw r0, 0xafc(r29)
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
lbl_806C13D8:
|
|
||||||
/* 806C13D8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 806C13DC 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806C13E0 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 806C13E4 4B FF F8 ED */ bl create__8daE_FZ_cFv
|
|
||||||
/* 806C13E8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 806C13EC 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806C13F0 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 806C13F4 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
lbl_806C0C08:
|
|
||||||
/* 806C0C08 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 806C0C0C 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806C0C10 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 806C0C14 4B FF FF 81 */ bl _delete__8daE_FZ_cFv
|
|
||||||
/* 806C0C18 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 806C0C1C 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806C0C20 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 806C0C24 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
lbl_806BEAD8:
|
|
||||||
/* 806BEAD8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 806BEADC 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806BEAE0 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 806BEAE4 4B FF FE F1 */ bl draw__8daE_FZ_cFv
|
|
||||||
/* 806BEAE8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 806BEAEC 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806BEAF0 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 806BEAF4 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
lbl_806C0B00:
|
|
||||||
/* 806C0B00 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 806C0B04 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806C0B08 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 806C0B0C 4B FF FD B9 */ bl execute__8daE_FZ_cFv
|
|
||||||
/* 806C0B10 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 806C0B14 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806C0B18 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 806C0B1C 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
lbl_806C0B20:
|
|
||||||
/* 806C0B20 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
||||||
/* 806C0B24 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806C0B28 90 01 00 24 */ stw r0, 0x24(r1)
|
|
||||||
/* 806C0B2C 39 61 00 20 */ addi r11, r1, 0x20
|
|
||||||
/* 806C0B30 4B CA 16 A9 */ bl _savegpr_28
|
|
||||||
/* 806C0B34 7C 7C 1B 78 */ mr r28, r3
|
|
||||||
/* 806C0B38 3B A0 00 00 */ li r29, 0
|
|
||||||
/* 806C0B3C 3B E0 00 00 */ li r31, 0
|
|
||||||
/* 806C0B40 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
|
||||||
/* 806C0B44 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
|
||||||
lbl_806C0B48:
|
|
||||||
/* 806C0B48 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
|
|
||||||
/* 806C0B4C 38 63 02 10 */ addi r3, r3, 0x210
|
|
||||||
/* 806C0B50 38 1F 07 1C */ addi r0, r31, 0x71c
|
|
||||||
/* 806C0B54 7C 9C 00 2E */ lwzx r4, r28, r0
|
|
||||||
/* 806C0B58 4B 98 AD 5D */ bl forceOnEventMove__Q213dPa_control_c7level_cFUl
|
|
||||||
/* 806C0B5C 3B BD 00 01 */ addi r29, r29, 1
|
|
||||||
/* 806C0B60 2C 1D 00 03 */ cmpwi r29, 3
|
|
||||||
/* 806C0B64 3B FF 00 04 */ addi r31, r31, 4
|
|
||||||
/* 806C0B68 41 80 FF E0 */ blt lbl_806C0B48
|
|
||||||
/* 806C0B6C 7F 83 E3 78 */ mr r3, r28
|
|
||||||
/* 806C0B70 4B 95 91 0D */ bl fopAcM_delete__FP10fopAc_ac_c
|
|
||||||
/* 806C0B74 39 61 00 20 */ addi r11, r1, 0x20
|
|
||||||
/* 806C0B78 4B CA 16 AD */ bl _restgpr_28
|
|
||||||
/* 806C0B7C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
||||||
/* 806C0B80 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806C0B84 38 21 00 20 */ addi r1, r1, 0x20
|
|
||||||
/* 806C0B88 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
lbl_806BEBA0:
|
|
||||||
/* 806BEBA0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
||||||
/* 806BEBA4 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806BEBA8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
||||||
/* 806BEBAC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
||||||
/* 806BEBB0 7C 7F 1B 78 */ mr r31, r3
|
|
||||||
/* 806BEBB4 C0 23 05 2C */ lfs f1, 0x52c(r3)
|
|
||||||
/* 806BEBB8 4B CA 34 F5 */ bl __cvt_fp2unsigned
|
|
||||||
/* 806BEBBC 7C 65 1B 78 */ mr r5, r3
|
|
||||||
/* 806BEBC0 28 05 00 01 */ cmplwi r5, 1
|
|
||||||
/* 806BEBC4 40 80 00 08 */ bge lbl_806BEBCC
|
|
||||||
/* 806BEBC8 38 A0 00 01 */ li r5, 1
|
|
||||||
lbl_806BEBCC:
|
|
||||||
/* 806BEBCC 3C 60 00 07 */ lis r3, 0x0007 /* 0x00070320@ha */
|
|
||||||
/* 806BEBD0 38 03 03 20 */ addi r0, r3, 0x0320 /* 0x00070320@l */
|
|
||||||
/* 806BEBD4 90 01 00 08 */ stw r0, 8(r1)
|
|
||||||
/* 806BEBD8 38 7F 05 C0 */ addi r3, r31, 0x5c0
|
|
||||||
/* 806BEBDC 38 81 00 08 */ addi r4, r1, 8
|
|
||||||
/* 806BEBE0 38 C0 FF FF */ li r6, -1
|
|
||||||
/* 806BEBE4 81 9F 05 C0 */ lwz r12, 0x5c0(r31)
|
|
||||||
/* 806BEBE8 81 8C 00 14 */ lwz r12, 0x14(r12)
|
|
||||||
/* 806BEBEC 7D 89 03 A6 */ mtctr r12
|
|
||||||
/* 806BEBF0 4E 80 04 21 */ bctrl
|
|
||||||
/* 806BEBF4 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
||||||
/* 806BEBF8 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
||||||
/* 806BEBFC 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806BEC00 38 21 00 20 */ addi r1, r1, 0x20
|
|
||||||
/* 806BEC04 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
lbl_806C06DC:
|
|
||||||
/* 806C06DC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 806C06E0 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806C06E4 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 806C06E8 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
||||||
/* 806C06EC 7C 7F 1B 78 */ mr r31, r3
|
|
||||||
/* 806C06F0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
|
||||||
/* 806C06F4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
|
||||||
/* 806C06F8 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
|
|
||||||
/* 806C06FC C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
|
|
||||||
/* 806C0700 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
|
|
||||||
/* 806C0704 4B C8 61 E5 */ bl PSMTXTrans
|
|
||||||
/* 806C0708 38 7F 04 E4 */ addi r3, r31, 0x4e4
|
|
||||||
/* 806C070C 4B 94 C8 39 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
|
|
||||||
/* 806C0710 3C 60 80 6C */ lis r3, l_HIO@ha /* 0x806C1BB0@ha */
|
|
||||||
/* 806C0714 38 63 1B B0 */ addi r3, r3, l_HIO@l /* 0x806C1BB0@l */
|
|
||||||
/* 806C0718 C0 23 00 0C */ lfs f1, 0xc(r3)
|
|
||||||
/* 806C071C FC 40 08 90 */ fmr f2, f1
|
|
||||||
/* 806C0720 FC 60 08 90 */ fmr f3, f1
|
|
||||||
/* 806C0724 4B 94 C7 15 */ bl scaleM__14mDoMtx_stack_cFfff
|
|
||||||
/* 806C0728 C0 3F 07 00 */ lfs f1, 0x700(r31)
|
|
||||||
/* 806C072C FC 40 08 90 */ fmr f2, f1
|
|
||||||
/* 806C0730 FC 60 08 90 */ fmr f3, f1
|
|
||||||
/* 806C0734 4B 94 C7 05 */ bl scaleM__14mDoMtx_stack_cFfff
|
|
||||||
/* 806C0738 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
|
||||||
/* 806C073C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
|
||||||
/* 806C0740 80 9F 05 B4 */ lwz r4, 0x5b4(r31)
|
|
||||||
/* 806C0744 38 84 00 24 */ addi r4, r4, 0x24
|
|
||||||
/* 806C0748 4B C8 5D 69 */ bl PSMTXCopy
|
|
||||||
/* 806C074C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
||||||
/* 806C0750 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 806C0754 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806C0758 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 806C075C 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
lbl_806BEAF8:
|
|
||||||
/* 806BEAF8 90 83 06 F4 */ stw r4, 0x6f4(r3)
|
|
||||||
/* 806BEAFC 90 A3 06 F8 */ stw r5, 0x6f8(r3)
|
|
||||||
/* 806BEB00 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
lbl_806BEB04:
|
|
||||||
/* 806BEB04 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 806BEB08 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806BEB0C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 806BEB10 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
||||||
/* 806BEB14 93 C1 00 08 */ stw r30, 8(r1)
|
|
||||||
/* 806BEB18 7C 7E 1B 78 */ mr r30, r3
|
|
||||||
/* 806BEB1C A8 63 07 08 */ lha r3, 0x708(r3)
|
|
||||||
/* 806BEB20 A8 1E 04 DE */ lha r0, 0x4de(r30)
|
|
||||||
/* 806BEB24 7C 03 00 50 */ subf r0, r3, r0
|
|
||||||
/* 806BEB28 7C 1F 07 34 */ extsh r31, r0
|
|
||||||
/* 806BEB2C 7F E3 FB 78 */ mr r3, r31
|
|
||||||
/* 806BEB30 4B CA 65 A1 */ bl abs
|
|
||||||
/* 806BEB34 2C 03 48 00 */ cmpwi r3, 0x4800
|
|
||||||
/* 806BEB38 40 81 00 24 */ ble lbl_806BEB5C
|
|
||||||
/* 806BEB3C A8 7E 04 DE */ lha r3, 0x4de(r30)
|
|
||||||
/* 806BEB40 3C 63 00 01 */ addis r3, r3, 1
|
|
||||||
/* 806BEB44 38 63 80 00 */ addi r3, r3, -32768
|
|
||||||
/* 806BEB48 A8 1E 07 08 */ lha r0, 0x708(r30)
|
|
||||||
/* 806BEB4C 54 00 08 3C */ slwi r0, r0, 1
|
|
||||||
/* 806BEB50 7C 03 00 50 */ subf r0, r3, r0
|
|
||||||
/* 806BEB54 B0 1E 04 DE */ sth r0, 0x4de(r30)
|
|
||||||
/* 806BEB58 48 00 00 30 */ b lbl_806BEB88
|
|
||||||
lbl_806BEB5C:
|
|
||||||
/* 806BEB5C 2C 1F 38 00 */ cmpwi r31, 0x3800
|
|
||||||
/* 806BEB60 40 81 00 14 */ ble lbl_806BEB74
|
|
||||||
/* 806BEB64 A8 7E 07 08 */ lha r3, 0x708(r30)
|
|
||||||
/* 806BEB68 38 03 38 00 */ addi r0, r3, 0x3800
|
|
||||||
/* 806BEB6C B0 1E 04 DE */ sth r0, 0x4de(r30)
|
|
||||||
/* 806BEB70 48 00 00 18 */ b lbl_806BEB88
|
|
||||||
lbl_806BEB74:
|
|
||||||
/* 806BEB74 2C 1F C8 00 */ cmpwi r31, -14336
|
|
||||||
/* 806BEB78 40 80 00 10 */ bge lbl_806BEB88
|
|
||||||
/* 806BEB7C A8 7E 07 08 */ lha r3, 0x708(r30)
|
|
||||||
/* 806BEB80 38 03 C8 00 */ addi r0, r3, -14336
|
|
||||||
/* 806BEB84 B0 1E 04 DE */ sth r0, 0x4de(r30)
|
|
||||||
lbl_806BEB88:
|
|
||||||
/* 806BEB88 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
||||||
/* 806BEB8C 83 C1 00 08 */ lwz r30, 8(r1)
|
|
||||||
/* 806BEB90 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 806BEB94 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806BEB98 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 806BEB9C 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
lbl_806C0CB0:
|
|
||||||
/* 806C0CB0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 806C0CB4 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 806C0CB8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 806C0CBC 4B FF FF 6D */ bl CreateHeap__8daE_FZ_cFv
|
|
||||||
/* 806C0CC0 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 806C0CC4 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 806C0CC8 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 806C0CCC 4E 80 00 20 */ blr
|
|
||||||
|
|
@ -0,0 +1,157 @@
|
||||||
|
/**
|
||||||
|
|
||||||
|
Doxygen Awesome
|
||||||
|
https://github.com/jothepro/doxygen-awesome-css
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 - 2023 jothepro
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
class DoxygenAwesomeDarkModeToggle extends HTMLElement {
|
||||||
|
// SVG icons from https://fonts.google.com/icons
|
||||||
|
// Licensed under the Apache 2.0 license:
|
||||||
|
// https://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
static lightModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FCBF00"><rect fill="none" height="24" width="24"/><circle cx="12" cy="12" opacity=".3" r="3"/><path d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg>`
|
||||||
|
static darkModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FE9700"><rect fill="none" height="24" width="24"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27 C17.45,17.19,14.93,19,12,19c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z" opacity=".3"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg>`
|
||||||
|
static title = "Toggle Light/Dark Mode"
|
||||||
|
|
||||||
|
static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode"
|
||||||
|
static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode"
|
||||||
|
|
||||||
|
static _staticConstructor = function() {
|
||||||
|
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.userPreference)
|
||||||
|
// Update the color scheme when the browsers preference changes
|
||||||
|
// without user interaction on the website.
|
||||||
|
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
|
||||||
|
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged()
|
||||||
|
})
|
||||||
|
// Update the color scheme when the tab is made visible again.
|
||||||
|
// It is possible that the appearance was changed in another tab
|
||||||
|
// while this tab was in the background.
|
||||||
|
document.addEventListener("visibilitychange", visibilityState => {
|
||||||
|
if (document.visibilityState === 'visible') {
|
||||||
|
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}()
|
||||||
|
|
||||||
|
static init() {
|
||||||
|
$(function() {
|
||||||
|
$(document).ready(function() {
|
||||||
|
const toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle')
|
||||||
|
toggleButton.title = DoxygenAwesomeDarkModeToggle.title
|
||||||
|
toggleButton.updateIcon()
|
||||||
|
|
||||||
|
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
|
||||||
|
toggleButton.updateIcon()
|
||||||
|
})
|
||||||
|
document.addEventListener("visibilitychange", visibilityState => {
|
||||||
|
if (document.visibilityState === 'visible') {
|
||||||
|
toggleButton.updateIcon()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
|
||||||
|
})
|
||||||
|
$(window).resize(function(){
|
||||||
|
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.onclick=this.toggleDarkMode
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns `true` for dark-mode, `false` for light-mode system preference
|
||||||
|
*/
|
||||||
|
static get systemPreference() {
|
||||||
|
return window.matchMedia('(prefers-color-scheme: dark)').matches
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns `true` for dark-mode, `false` for light-mode user preference
|
||||||
|
*/
|
||||||
|
static get userPreference() {
|
||||||
|
return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) ||
|
||||||
|
(DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey))
|
||||||
|
}
|
||||||
|
|
||||||
|
static set userPreference(userPreference) {
|
||||||
|
DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference
|
||||||
|
if(!userPreference) {
|
||||||
|
if(DoxygenAwesomeDarkModeToggle.systemPreference) {
|
||||||
|
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true)
|
||||||
|
} else {
|
||||||
|
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(!DoxygenAwesomeDarkModeToggle.systemPreference) {
|
||||||
|
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true)
|
||||||
|
} else {
|
||||||
|
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged()
|
||||||
|
}
|
||||||
|
|
||||||
|
static enableDarkMode(enable) {
|
||||||
|
if(enable) {
|
||||||
|
DoxygenAwesomeDarkModeToggle.darkModeEnabled = true
|
||||||
|
document.documentElement.classList.add("dark-mode")
|
||||||
|
document.documentElement.classList.remove("light-mode")
|
||||||
|
} else {
|
||||||
|
DoxygenAwesomeDarkModeToggle.darkModeEnabled = false
|
||||||
|
document.documentElement.classList.remove("dark-mode")
|
||||||
|
document.documentElement.classList.add("light-mode")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static onSystemPreferenceChanged() {
|
||||||
|
DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference
|
||||||
|
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled)
|
||||||
|
}
|
||||||
|
|
||||||
|
static onUserPreferenceChanged() {
|
||||||
|
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled)
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleDarkMode() {
|
||||||
|
DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference
|
||||||
|
this.updateIcon()
|
||||||
|
}
|
||||||
|
|
||||||
|
updateIcon() {
|
||||||
|
if(DoxygenAwesomeDarkModeToggle.darkModeEnabled) {
|
||||||
|
this.innerHTML = DoxygenAwesomeDarkModeToggle.darkModeIcon
|
||||||
|
} else {
|
||||||
|
this.innerHTML = DoxygenAwesomeDarkModeToggle.lightModeIcon
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle);
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
/**
|
||||||
|
|
||||||
|
Doxygen Awesome
|
||||||
|
https://github.com/jothepro/doxygen-awesome-css
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2022 - 2023 jothepro
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
class DoxygenAwesomeFragmentCopyButton extends HTMLElement {
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.onclick=this.copyContent
|
||||||
|
}
|
||||||
|
static title = "Copy to clipboard"
|
||||||
|
static copyIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>`
|
||||||
|
static successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>`
|
||||||
|
static successDuration = 980
|
||||||
|
static init() {
|
||||||
|
$(function() {
|
||||||
|
$(document).ready(function() {
|
||||||
|
if(navigator.clipboard) {
|
||||||
|
const fragments = document.getElementsByClassName("fragment")
|
||||||
|
for(const fragment of fragments) {
|
||||||
|
const fragmentWrapper = document.createElement("div")
|
||||||
|
fragmentWrapper.className = "doxygen-awesome-fragment-wrapper"
|
||||||
|
const fragmentCopyButton = document.createElement("doxygen-awesome-fragment-copy-button")
|
||||||
|
fragmentCopyButton.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
|
||||||
|
fragmentCopyButton.title = DoxygenAwesomeFragmentCopyButton.title
|
||||||
|
|
||||||
|
fragment.parentNode.replaceChild(fragmentWrapper, fragment)
|
||||||
|
fragmentWrapper.appendChild(fragment)
|
||||||
|
fragmentWrapper.appendChild(fragmentCopyButton)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
copyContent() {
|
||||||
|
const content = this.previousSibling.cloneNode(true)
|
||||||
|
// filter out line number from file listings
|
||||||
|
content.querySelectorAll(".lineno, .ttc").forEach((node) => {
|
||||||
|
node.remove()
|
||||||
|
})
|
||||||
|
let textContent = content.textContent
|
||||||
|
// remove trailing newlines that appear in file listings
|
||||||
|
let numberOfTrailingNewlines = 0
|
||||||
|
while(textContent.charAt(textContent.length - (numberOfTrailingNewlines + 1)) == '\n') {
|
||||||
|
numberOfTrailingNewlines++;
|
||||||
|
}
|
||||||
|
textContent = textContent.substring(0, textContent.length - numberOfTrailingNewlines)
|
||||||
|
navigator.clipboard.writeText(textContent);
|
||||||
|
this.classList.add("success")
|
||||||
|
this.innerHTML = DoxygenAwesomeFragmentCopyButton.successIcon
|
||||||
|
window.setTimeout(() => {
|
||||||
|
this.classList.remove("success")
|
||||||
|
this.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
|
||||||
|
}, DoxygenAwesomeFragmentCopyButton.successDuration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton)
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
/**
|
||||||
|
|
||||||
|
Doxygen Awesome
|
||||||
|
https://github.com/jothepro/doxygen-awesome-css
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2022 - 2023 jothepro
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
class DoxygenAwesomeInteractiveToc {
|
||||||
|
static topOffset = 38
|
||||||
|
static hideMobileMenu = true
|
||||||
|
static headers = []
|
||||||
|
|
||||||
|
static init() {
|
||||||
|
window.addEventListener("load", () => {
|
||||||
|
let toc = document.querySelector(".contents > .toc")
|
||||||
|
if(toc) {
|
||||||
|
toc.classList.add("interactive")
|
||||||
|
if(!DoxygenAwesomeInteractiveToc.hideMobileMenu) {
|
||||||
|
toc.classList.add("open")
|
||||||
|
}
|
||||||
|
document.querySelector(".contents > .toc > h3")?.addEventListener("click", () => {
|
||||||
|
if(toc.classList.contains("open")) {
|
||||||
|
toc.classList.remove("open")
|
||||||
|
} else {
|
||||||
|
toc.classList.add("open")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
document.querySelectorAll(".contents > .toc > ul a").forEach((node) => {
|
||||||
|
let id = node.getAttribute("href").substring(1)
|
||||||
|
DoxygenAwesomeInteractiveToc.headers.push({
|
||||||
|
node: node,
|
||||||
|
headerNode: document.getElementById(id)
|
||||||
|
})
|
||||||
|
|
||||||
|
document.getElementById("doc-content")?.addEventListener("scroll", () => {
|
||||||
|
DoxygenAwesomeInteractiveToc.update()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
DoxygenAwesomeInteractiveToc.update()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
static update() {
|
||||||
|
let active = DoxygenAwesomeInteractiveToc.headers[0]?.node
|
||||||
|
DoxygenAwesomeInteractiveToc.headers.forEach((header) => {
|
||||||
|
let position = header.headerNode.getBoundingClientRect().top
|
||||||
|
header.node.classList.remove("active")
|
||||||
|
header.node.classList.remove("aboveActive")
|
||||||
|
if(position < DoxygenAwesomeInteractiveToc.topOffset) {
|
||||||
|
active = header.node
|
||||||
|
active?.classList.add("aboveActive")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
active?.classList.add("active")
|
||||||
|
active?.classList.remove("aboveActive")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
/**
|
||||||
|
|
||||||
|
Doxygen Awesome
|
||||||
|
https://github.com/jothepro/doxygen-awesome-css
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2022 - 2023 jothepro
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
class DoxygenAwesomeParagraphLink {
|
||||||
|
// Icon from https://fonts.google.com/icons
|
||||||
|
// Licensed under the Apache 2.0 license:
|
||||||
|
// https://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
static icon = `<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z"/></svg>`
|
||||||
|
static title = "Permanent Link"
|
||||||
|
static init() {
|
||||||
|
$(function() {
|
||||||
|
$(document).ready(function() {
|
||||||
|
document.querySelectorAll(".contents a.anchor[id], .contents .groupheader > a[id]").forEach((node) => {
|
||||||
|
let anchorlink = document.createElement("a")
|
||||||
|
anchorlink.setAttribute("href", `#${node.getAttribute("id")}`)
|
||||||
|
anchorlink.setAttribute("title", DoxygenAwesomeParagraphLink.title)
|
||||||
|
anchorlink.classList.add("anchorlink")
|
||||||
|
node.classList.add("anchor")
|
||||||
|
anchorlink.innerHTML = DoxygenAwesomeParagraphLink.icon
|
||||||
|
node.parentElement.appendChild(anchorlink)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
|
||||||
|
/**
|
||||||
|
|
||||||
|
Doxygen Awesome
|
||||||
|
https://github.com/jothepro/doxygen-awesome-css
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 - 2023 jothepro
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
|
||||||
|
#MSearchBox {
|
||||||
|
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - var(--searchbar-height) - 1px);
|
||||||
|
}
|
||||||
|
|
||||||
|
#MSearchField {
|
||||||
|
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 66px - var(--searchbar-height));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,116 @@
|
||||||
|
/**
|
||||||
|
|
||||||
|
Doxygen Awesome
|
||||||
|
https://github.com/jothepro/doxygen-awesome-css
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 - 2023 jothepro
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
html {
|
||||||
|
/* side nav width. MUST be = `TREEVIEW_WIDTH`.
|
||||||
|
* Make sure it is wide enough to contain the page title (logo + title + version)
|
||||||
|
*/
|
||||||
|
--side-nav-fixed-width: 335px;
|
||||||
|
--menu-display: none;
|
||||||
|
|
||||||
|
--top-height: 120px;
|
||||||
|
--toc-sticky-top: -25px;
|
||||||
|
--toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 25px);
|
||||||
|
}
|
||||||
|
|
||||||
|
#projectname {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
html {
|
||||||
|
--searchbar-background: var(--page-background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
#side-nav {
|
||||||
|
min-width: var(--side-nav-fixed-width);
|
||||||
|
max-width: var(--side-nav-fixed-width);
|
||||||
|
top: var(--top-height);
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-tree, #side-nav {
|
||||||
|
height: calc(100vh - var(--top-height)) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-tree {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#top {
|
||||||
|
display: block;
|
||||||
|
border-bottom: none;
|
||||||
|
height: var(--top-height);
|
||||||
|
margin-bottom: calc(0px - var(--top-height));
|
||||||
|
max-width: var(--side-nav-fixed-width);
|
||||||
|
overflow: hidden;
|
||||||
|
background: var(--side-nav-background);
|
||||||
|
}
|
||||||
|
#main-nav {
|
||||||
|
float: left;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-resizable-handle {
|
||||||
|
cursor: default;
|
||||||
|
width: 1px !important;
|
||||||
|
background: var(--separator-color);
|
||||||
|
box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-path {
|
||||||
|
position: fixed;
|
||||||
|
right: 0;
|
||||||
|
left: var(--side-nav-fixed-width);
|
||||||
|
bottom: 0;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#doc-content {
|
||||||
|
height: calc(100vh - 31px) !important;
|
||||||
|
padding-bottom: calc(3 * var(--spacing-large));
|
||||||
|
padding-top: calc(var(--top-height) - 80px);
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-left: var(--side-nav-fixed-width) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#MSearchBox {
|
||||||
|
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)));
|
||||||
|
}
|
||||||
|
|
||||||
|
#MSearchField {
|
||||||
|
width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px);
|
||||||
|
}
|
||||||
|
|
||||||
|
#MSearchResultsWindow {
|
||||||
|
left: var(--spacing-medium) !important;
|
||||||
|
right: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,90 @@
|
||||||
|
/**
|
||||||
|
|
||||||
|
Doxygen Awesome
|
||||||
|
https://github.com/jothepro/doxygen-awesome-css
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 jothepro
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
class DoxygenAwesomeTabs {
|
||||||
|
|
||||||
|
static init() {
|
||||||
|
window.addEventListener("load", () => {
|
||||||
|
document.querySelectorAll(".tabbed:not(:empty)").forEach((tabbed, tabbedIndex) => {
|
||||||
|
let tabLinkList = []
|
||||||
|
tabbed.querySelectorAll(":scope > ul > li").forEach((tab, tabIndex) => {
|
||||||
|
tab.id = "tab_" + tabbedIndex + "_" + tabIndex
|
||||||
|
let header = tab.querySelector(".tab-title")
|
||||||
|
let tabLink = document.createElement("button")
|
||||||
|
tabLink.classList.add("tab-button")
|
||||||
|
tabLink.appendChild(header)
|
||||||
|
header.title = header.textContent
|
||||||
|
tabLink.addEventListener("click", () => {
|
||||||
|
tabbed.querySelectorAll(":scope > ul > li").forEach((tab) => {
|
||||||
|
tab.classList.remove("selected")
|
||||||
|
})
|
||||||
|
tabLinkList.forEach((tabLink) => {
|
||||||
|
tabLink.classList.remove("active")
|
||||||
|
})
|
||||||
|
tab.classList.add("selected")
|
||||||
|
tabLink.classList.add("active")
|
||||||
|
})
|
||||||
|
tabLinkList.push(tabLink)
|
||||||
|
if(tabIndex == 0) {
|
||||||
|
tab.classList.add("selected")
|
||||||
|
tabLink.classList.add("active")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
let tabsOverview = document.createElement("div")
|
||||||
|
tabsOverview.classList.add("tabs-overview")
|
||||||
|
let tabsOverviewContainer = document.createElement("div")
|
||||||
|
tabsOverviewContainer.classList.add("tabs-overview-container")
|
||||||
|
tabLinkList.forEach((tabLink) => {
|
||||||
|
tabsOverview.appendChild(tabLink)
|
||||||
|
})
|
||||||
|
tabsOverviewContainer.appendChild(tabsOverview)
|
||||||
|
tabbed.before(tabsOverviewContainer)
|
||||||
|
|
||||||
|
function resize() {
|
||||||
|
let maxTabHeight = 0
|
||||||
|
tabbed.querySelectorAll(":scope > ul > li").forEach((tab, tabIndex) => {
|
||||||
|
let visibility = tab.style.display
|
||||||
|
tab.style.display = "block"
|
||||||
|
maxTabHeight = Math.max(tab.offsetHeight, maxTabHeight)
|
||||||
|
tab.style.display = visibility
|
||||||
|
})
|
||||||
|
tabbed.style.height = `${maxTabHeight + 10}px`
|
||||||
|
}
|
||||||
|
|
||||||
|
resize()
|
||||||
|
new ResizeObserver(resize).observe(tabbed)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static resize(tabbed) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,54 @@
|
||||||
|
html.alternative {
|
||||||
|
/* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */
|
||||||
|
--primary-color: #AF7FE4;
|
||||||
|
--primary-dark-color: #9270E4;
|
||||||
|
--primary-light-color: #7aabd6;
|
||||||
|
--primary-lighter-color: #cae1f1;
|
||||||
|
--primary-lightest-color: #e9f1f8;
|
||||||
|
|
||||||
|
/* page base colors */
|
||||||
|
--page-background-color: white;
|
||||||
|
--page-foreground-color: #2c3e50;
|
||||||
|
--page-secondary-foreground-color: #67727e;
|
||||||
|
|
||||||
|
|
||||||
|
--border-radius-large: 22px;
|
||||||
|
--border-radius-small: 9px;
|
||||||
|
--border-radius-medium: 14px;
|
||||||
|
--spacing-small: 8px;
|
||||||
|
--spacing-medium: 14px;
|
||||||
|
--spacing-large: 19px;
|
||||||
|
|
||||||
|
--top-height: 125px;
|
||||||
|
|
||||||
|
--side-nav-background: #324067;
|
||||||
|
--side-nav-foreground: #F1FDFF;
|
||||||
|
--header-foreground: var(--side-nav-foreground);
|
||||||
|
--searchbar-background: var(--side-nav-foreground);
|
||||||
|
--searchbar-border-radius: var(--border-radius-medium);
|
||||||
|
--header-background: var(--side-nav-background);
|
||||||
|
--header-foreground: var(--side-nav-foreground);
|
||||||
|
|
||||||
|
--toc-background: rgb(243, 240, 252);
|
||||||
|
--toc-foreground: var(--page-foreground-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
html.alternative.dark-mode {
|
||||||
|
color-scheme: dark;
|
||||||
|
|
||||||
|
--primary-color: #AF7FE4;
|
||||||
|
--primary-dark-color: #9270E4;
|
||||||
|
--primary-light-color: #4779ac;
|
||||||
|
--primary-lighter-color: #191e21;
|
||||||
|
--primary-lightest-color: #191a1c;
|
||||||
|
|
||||||
|
--page-background-color: #1C1D1F;
|
||||||
|
--page-foreground-color: #d2dbde;
|
||||||
|
--page-secondary-foreground-color: #859399;
|
||||||
|
--separator-color: #3a3246;
|
||||||
|
--side-nav-background: #171D32;
|
||||||
|
--side-nav-foreground: #F1FDFF;
|
||||||
|
--toc-background: #20142C;
|
||||||
|
--searchbar-background: var(--page-background-color);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
.github-corner svg {
|
||||||
|
fill: var(--primary-light-color);
|
||||||
|
color: var(--page-background-color);
|
||||||
|
width: 72px;
|
||||||
|
height: 72px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 767px) {
|
||||||
|
.github-corner svg {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
#projectnumber {
|
||||||
|
margin-right: 22px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.alter-theme-button {
|
||||||
|
display: inline-block;
|
||||||
|
cursor: pointer;
|
||||||
|
background: var(--primary-color);
|
||||||
|
color: var(--page-background-color) !important;
|
||||||
|
border-radius: var(--border-radius-medium);
|
||||||
|
padding: var(--spacing-small) var(--spacing-medium);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alter-theme-button:hover {
|
||||||
|
background: var(--primary-dark-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
html.dark-mode .darkmode_inverted_image img, /* < doxygen 1.9.3 */
|
||||||
|
html.dark-mode .darkmode_inverted_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
|
||||||
|
filter: brightness(89%) hue-rotate(180deg) invert();
|
||||||
|
}
|
||||||
|
|
||||||
|
.bordered_image {
|
||||||
|
border-radius: var(--border-radius-small);
|
||||||
|
border: 1px solid var(--separator-color);
|
||||||
|
display: inline-block;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
html.dark-mode .bordered_image img, /* < doxygen 1.9.3 */
|
||||||
|
html.dark-mode .bordered_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
|
||||||
|
border-radius: var(--border-radius-small);
|
||||||
|
}
|
||||||
|
|
||||||
|
.title_screenshot {
|
||||||
|
filter: drop-shadow(0px 3px 10px rgba(0,0,0,0.22));
|
||||||
|
max-width: 500px;
|
||||||
|
margin: var(--spacing-large) 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title_screenshot .caption {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,99 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
|
||||||
|
<!-- BEGIN opengraph metadata -->
|
||||||
|
<meta property="og:title" content="Doxygen Awesome" />
|
||||||
|
<meta property="og:image" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" />
|
||||||
|
<meta property="og:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." />
|
||||||
|
<meta property="og:url" content="https://jothepro.github.io/doxygen-awesome-css/" />
|
||||||
|
<!-- END opengraph metadata -->
|
||||||
|
|
||||||
|
<!-- BEGIN twitter metadata -->
|
||||||
|
<meta name="twitter:image:src" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" />
|
||||||
|
<meta name="twitter:title" content="Doxygen Awesome" />
|
||||||
|
<meta name="twitter:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." />
|
||||||
|
<!-- END twitter metadata -->
|
||||||
|
|
||||||
|
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||||
|
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||||
|
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<link rel="icon" type="image/svg+xml" href="logo.drawio.svg"/>
|
||||||
|
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||||
|
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
|
||||||
|
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script>
|
||||||
|
<script type="text/javascript" src="$relpath^doxygen-awesome-paragraph-link.js"></script>
|
||||||
|
<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>
|
||||||
|
<script type="text/javascript" src="$relpath^doxygen-awesome-tabs.js"></script>
|
||||||
|
<script type="text/javascript" src="$relpath^toggle-alternative-theme.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
DoxygenAwesomeFragmentCopyButton.init()
|
||||||
|
DoxygenAwesomeDarkModeToggle.init()
|
||||||
|
DoxygenAwesomeParagraphLink.init()
|
||||||
|
DoxygenAwesomeInteractiveToc.init()
|
||||||
|
DoxygenAwesomeTabs.init()
|
||||||
|
</script>
|
||||||
|
$treeview
|
||||||
|
$search
|
||||||
|
$mathjax
|
||||||
|
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||||
|
$extrastylesheet
|
||||||
|
<!-- ... other metadata & script includes ... -->
|
||||||
|
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
DoxygenAwesomeDarkModeToggle.init()
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
DoxygenAwesomeInteractiveToc.init()
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- https://tholman.com/github-corners/ -->
|
||||||
|
<a href="https://github.com/jothepro/doxygen-awesome-css" class="github-corner" title="View source on GitHub" target="_blank" rel="noopener noreferrer">
|
||||||
|
<svg viewBox="0 0 250 250" width="40" height="40" style="position: absolute; top: 0; border: 0; right: 0; z-index: 99;" aria-hidden="true">
|
||||||
|
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
|
||||||
|
<!--BEGIN TITLEAREA-->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<!--BEGIN PROJECT_LOGO-->
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
|
||||||
|
<!--END PROJECT_LOGO-->
|
||||||
|
<!--BEGIN PROJECT_NAME-->
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">$projectname
|
||||||
|
<!--BEGIN PROJECT_NUMBER--> <span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
|
||||||
|
</div>
|
||||||
|
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
|
||||||
|
</td>
|
||||||
|
<!--END PROJECT_NAME-->
|
||||||
|
<!--BEGIN !PROJECT_NAME-->
|
||||||
|
<!--BEGIN PROJECT_BRIEF-->
|
||||||
|
<td style="padding-left: 0.5em;">
|
||||||
|
<div id="projectbrief">$projectbrief</div>
|
||||||
|
</td>
|
||||||
|
<!--END PROJECT_BRIEF-->
|
||||||
|
<!--END !PROJECT_NAME-->
|
||||||
|
<!--BEGIN DISABLE_INDEX-->
|
||||||
|
<!--BEGIN SEARCHENGINE-->
|
||||||
|
<td>$searchbox</td>
|
||||||
|
<!--END SEARCHENGINE-->
|
||||||
|
<!--END DISABLE_INDEX-->
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!--END TITLEAREA-->
|
||||||
|
<!-- end header part -->
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
|
||||||
|
let original_theme_active = true;
|
||||||
|
|
||||||
|
function toggle_alternative_theme() {
|
||||||
|
if(original_theme_active) {
|
||||||
|
document.documentElement.classList.add("alternative")
|
||||||
|
original_theme_active = false;
|
||||||
|
} else {
|
||||||
|
document.documentElement.classList.remove("alternative")
|
||||||
|
original_theme_active = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="491px" height="261px" viewBox="-0.5 -0.5 491 261" content="<mxfile><diagram id="6E4AiNPWWr3a8GvC3Ypl" name="Page-1">xZfLrpswEIafBqndIIzBwLK5tZt2k0pd+wQHrBqcOs6tT98xmABxmrYiUUEK+Pd1vhkPjofn1fmjorvys8yZ8MIgP3t44YVhihL4NcKlFZIkbYVC8byVUC+s+U9mxcCqB56z/aihllJovhuLG1nXbKNHGlVKnsbNtlKMZ93RgjnCekOFq37juS6tWXHQ658YL8puZhTYmop2ja2wL2kuTwMJLz08V1Lq9q06z5kw7Doubb/Vb2qvC1Os1n/ToVvHkYqDNc4uTF86awslDzsPz+BR58x0DKBE1cY6JoWSO69dypEpzc73vELfugl6wyFgmKyYVhdod+rRRpldZznAGhIrUuvO4tq3txherNH3AZA/2z+2+1RyzdY7ujG1Jwhv0EpdwfgLBK97reR3NpdCqqY3JktzQ00h6H5vBwEEmvKaKVt28V0dc8vvP3GKHE5zsMEs97m4ls09FUlXm6V+jNteNtVEkZ/a7DPgBi19Qlx0KI19hKfTCx16X7kW7I0qUN99oUdeUM1l7RkbwfRgzWB/le+nwd1yIQZoF8vlYrV6GKMvjcMGPUqyqPudzhU7XNfwZXCwPpfjKjH36zg+jFQUEj/Br4vU2CG6go8Ra4DOFKP5Rh2q3X4i0deSg4wHu3lwZQ7GuwGKsY9HF5nOM3EjtNnaD/ihKfy2kJUHekjM/aR0ihPkJ2GEcJJhFOAoHmVWdLu9Qzd4A+R3naM0TOLsTiDf+I6k052Q3vnIE6EtruZI0hEjPw7m7DXr2Q0kUphnk7q7AWDqdoy2znEroNWPfFfLmt2kGCtRwYsaioJtzQjGTRyOoB+sXPE8N5PcDZXxZjQLtGe1cPJp43x1U5qROEZdQIT/Ggyw24ahkJL4JcEAxf443dQN/pPg5S8=</diagram></mxfile>">
|
||||||
|
<defs/>
|
||||||
|
<g>
|
||||||
|
<rect x="0" y="0" width="490" height="260" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
|
||||||
|
<rect x="198.53" y="44.87" width="219.66" height="185.13" fill="rgb(255, 255, 255)" stroke="#e3e3e3" pointer-events="none"/>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 137px; margin-left: 200px;">
|
||||||
|
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||||
|
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
Content
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="308" y="141" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
|
||||||
|
Content
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
<rect x="0" y="0" width="490" height="44.87" fill="#deedff" stroke="#6e6e6e" pointer-events="none"/>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 488px; height: 1px; padding-top: 22px; margin-left: 1px;">
|
||||||
|
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||||
|
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
Titlebar (Navigation + Search)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="245" y="26" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
|
||||||
|
Titlebar (Navigation + Search)
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
<rect x="0" y="44.87" width="126.73" height="185.13" fill="#f7f7f7" stroke="#6e6e6e" pointer-events="none"/>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 125px; height: 1px; padding-top: 137px; margin-left: 1px;">
|
||||||
|
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||||
|
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
Sidebar (Navigation)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="63" y="141" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
|
||||||
|
Sidebar (Navigation)
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
<rect x="0" y="226.67" width="490" height="33.33" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 488px; height: 1px; padding-top: 243px; margin-left: 1px;">
|
||||||
|
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||||
|
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
Footer (Breadcrumps)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="245" y="247" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
|
||||||
|
Footer (Breadcrumps)
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
<rect x="371.72" y="14.87" width="101.38" height="16.67" rx="2.5" ry="2.5" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 99px; height: 1px; padding-top: 23px; margin-left: 373px;">
|
||||||
|
<div data-drawio-colors="color: #262626; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||||
|
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(38, 38, 38); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
Search
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="422" y="27" fill="#262626" font-family="Helvetica" font-size="12px" text-anchor="middle">
|
||||||
|
Search
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 32px; height: 1px; padding-top: 23px; margin-left: 19px;">
|
||||||
|
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
|
||||||
|
<div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
<font color="#262626">
|
||||||
|
Title
|
||||||
|
</font>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="19" y="29" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="20px">
|
||||||
|
Tit...
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<switch>
|
||||||
|
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
|
||||||
|
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
|
||||||
|
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
|
||||||
|
Text is not SVG - cannot display
|
||||||
|
</text>
|
||||||
|
</a>
|
||||||
|
</switch>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 9.5 KiB |
|
|
@ -0,0 +1,102 @@
|
||||||
|
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="491px" height="261px" viewBox="-0.5 -0.5 491 261" content="<mxfile><diagram id="6E4AiNPWWr3a8GvC3Ypl" name="Page-1">xZZNj5swEIZ/DdL2gjAGA8cmm7SX9pJKPTvBAasGU8f56q/vOJjFLOxqpbC7WIrMO/5gnhlP7OFldfmmaFP+kDkTXhjkFw8/emGYogR+jXBthSRJW6FQPG8l1Asb/o9ZMbDqkefsMBiopRSaN0NxJ+ua7fRAo0rJ83DYXorhrg0t2EjY7KgYq795rkvrVhz0+nfGi7LbGQXWUtFusBUOJc3l2ZHwysNLJaVue9VlyYRh13Fp561fsD59mGK1ftOErJ1xouJonbMfpq+dt4WSx2a8sN3rxJRmlynsdNut0HsGGcFkxbS6wrhzzy7KLJDS4RYSK1Ibr+Jpbu8SdKxX0x6+wUHwr86ZGR94eHEuuWabhu6M9Qz5C1qpK1j/EUH3oJX8w5ZSSHWbjcnKNLBMIMpeYPRJLLrz48BYylqb752XyerW7mXSWbPUj8Osf2z1sMUDEZ9YxYEIs3xCJjhi7GM8A0o0QrmBorSlyjPpTgTst9jCCylM7+EX14DWmIBJ8JOeeEE1l/WX+8jvuRAO93Vi2odkKQqJn4TvlajhiO4aaiIzcB8WitF8p45Vc7iT3jtRuriEIoSTDKMARzEe5C2Qggx1n1ESY4L9MIlTEgYkzUgcj3Hf0tl9yAz08Ti3GVW78hXa6B7aeyhCjh4S02aLApQHJwrpsHpEaBiEcSVBAfK7yVEK4cjGUUDPQ5nOEIVo4p+rrSuG1+1/tkNG/h7NjWHRw3OktgLZAtQuAHu3a7S2UVyBrX4teLWs2bPqYyUqeFHDq2B7s4KJE4eL01crVzzPzSaTuTI8u+YD7dUvDD4mGRCaDqN7JLHv5kJKJs7kDNkAr/0l8GZzbtJ49R8=</diagram></mxfile>">
|
||||||
|
<defs/>
|
||||||
|
<g>
|
||||||
|
<rect x="0" y="0" width="490" height="260" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
|
||||||
|
<rect x="198.53" y="16.67" width="219.66" height="233.33" fill="rgb(255, 255, 255)" stroke="#e3e3e3" pointer-events="none"/>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 133px; margin-left: 200px;">
|
||||||
|
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||||
|
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
Content
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="308" y="137" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
|
||||||
|
Content
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
<rect x="0" y="0" width="126.72" height="260" fill="#f7f7f7" stroke="#6e6e6e" pointer-events="none"/>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 125px; height: 1px; padding-top: 130px; margin-left: 1px;">
|
||||||
|
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||||
|
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
Sidebar
|
||||||
|
<br/>
|
||||||
|
(Title + Navigation)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="63" y="134" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
|
||||||
|
Sidebar...
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
<rect x="126.72" y="226.67" width="363.28" height="33.33" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 361px; height: 1px; padding-top: 243px; margin-left: 128px;">
|
||||||
|
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||||
|
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
Footer (Breadcrumps)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="308" y="247" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">
|
||||||
|
Footer (Breadcrumps)
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
<rect x="12.67" y="41.67" width="101.38" height="16.67" rx="2.5" ry="2.5" fill="rgb(255, 255, 255)" stroke="#6e6e6e" pointer-events="none"/>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 99px; height: 1px; padding-top: 50px; margin-left: 14px;">
|
||||||
|
<div data-drawio-colors="color: #262626; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
|
||||||
|
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(38, 38, 38); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
Search
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="63" y="54" fill="#262626" font-family="Helvetica" font-size="12px" text-anchor="middle">
|
||||||
|
Search
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(-0.5 -0.5)">
|
||||||
|
<switch>
|
||||||
|
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 32px; height: 1px; padding-top: 20px; margin-left: 15px;">
|
||||||
|
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
|
||||||
|
<div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">
|
||||||
|
<font color="#262626">
|
||||||
|
Title
|
||||||
|
</font>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
<text x="15" y="26" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="20px">
|
||||||
|
Tit...
|
||||||
|
</text>
|
||||||
|
</switch>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<switch>
|
||||||
|
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
|
||||||
|
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
|
||||||
|
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
|
||||||
|
Text is not SVG - cannot display
|
||||||
|
</text>
|
||||||
|
</a>
|
||||||
|
</switch>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 8.2 KiB |
|
|
@ -0,0 +1,17 @@
|
||||||
|
html {
|
||||||
|
--top-nav-height: 140px
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
#top {
|
||||||
|
height: var(--top-nav-height);
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-tree, #side-nav {
|
||||||
|
height: calc(100vh - var(--top-nav-height)) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#side-nav {
|
||||||
|
top: var(--top-nav-height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,193 @@
|
||||||
|
/*!
|
||||||
|
@mainpage About
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
|
@section intro Introduction
|
||||||
|
This site contains documentation for the Twilight Princess code base. It is a work in progress and will be updated as more code is decompiled and documented.
|
||||||
|
|
||||||
|
@section code Code
|
||||||
|
@subsection actors Actors
|
||||||
|
- @ref actors-doors "Doors"
|
||||||
|
- @ref actors-enemies "Enemies"
|
||||||
|
- @ref actors-items "Items"
|
||||||
|
- @ref actors-objects "Objects"
|
||||||
|
- @ref actors-npcs "NPCs"
|
||||||
|
- @ref actors-tags "Tags"
|
||||||
|
|
||||||
|
@subsection dolphin Dolphin
|
||||||
|
|
||||||
|
@subsection dolzel Dolzel
|
||||||
|
|
||||||
|
@subsection framework Framework
|
||||||
|
|
||||||
|
@subsection jsystem JSystem
|
||||||
|
- @ref jsystem-j2d "J2D"
|
||||||
|
- @ref jsystem-j3d "J3D"
|
||||||
|
- @ref jsystem-jaudio "JAudio"
|
||||||
|
- @ref jsystem-jframework "JFramework"
|
||||||
|
- @ref jsystem-jgadget "JGadget"
|
||||||
|
- @ref jsystem-jkernel "JKernel"
|
||||||
|
- @ref jsystem-jmath "JMath"
|
||||||
|
- @ref jsystem-jmessage "JMessage"
|
||||||
|
- @ref jsystem-jparticle "JParticle"
|
||||||
|
- @ref jsystem-jstage "JStage"
|
||||||
|
- @ref jsystem-jstudio "JStudio"
|
||||||
|
- @ref jsystem-jsupport "JSupport"
|
||||||
|
- @ref jsystem-jutility "JUtility"
|
||||||
|
|
||||||
|
@subsection m_do m_Do
|
||||||
|
|
||||||
|
@subsection misc Misc
|
||||||
|
|
||||||
|
@subsection msl_c MSL_C
|
||||||
|
|
||||||
|
@subsection runtime Runtime.PPCEABI.H
|
||||||
|
|
||||||
|
@subsection ssystem SSystem
|
||||||
|
|
||||||
|
@subsection trk TRK_MINNOW_DOLPHIN
|
||||||
|
|
||||||
|
@subsection z2audiolib Z2AudioLib
|
||||||
|
|
||||||
|
@section more-info More Information
|
||||||
|
For more information, visit [the decomp website](https://zsrtp.link).
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Group Definitions - Add new groups here for now
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Actors
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @defgroup actors Actors
|
||||||
|
* @brief All actor classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup actors
|
||||||
|
* @defgroup actors-doors Doors
|
||||||
|
* @brief Doors are entities that block the player's path until certain conditions are met.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup actors
|
||||||
|
* @defgroup actors-enemies Enemies
|
||||||
|
* @brief Enemies are hostile entities that attack the player.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup actors
|
||||||
|
* @defgroup actors-items Items
|
||||||
|
* @brief Items are collectable objects that appear in the item wheel or pause menu.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup actors
|
||||||
|
* @defgroup actors-objects Objects
|
||||||
|
* @brief Objects are interactable entities the player can interact with.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup actors
|
||||||
|
* @defgroup actors-npcs NPCs
|
||||||
|
* @brief NPCs are non-playable characters that interact with the player.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup actors
|
||||||
|
* @defgroup actors-tags Tags
|
||||||
|
* @brief Tags are various different types of triggers (NPC prompts, loading zones, Midna pop ups, environment changes, etc.).
|
||||||
|
*/
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// JSystem
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @defgroup jsystem JSystem
|
||||||
|
* @brief All JSystem classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-j2d J2D
|
||||||
|
* @brief All J2D classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-j3d J3D
|
||||||
|
* @brief All J3D classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jaudio JAudio
|
||||||
|
* @brief All JAudio classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jframework JFramework
|
||||||
|
* @brief All JFramework classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jgadget JGadget
|
||||||
|
* @brief All JGadget classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jkernel JKernel
|
||||||
|
* @brief All JKernel classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jmath JMath
|
||||||
|
* @brief All JMath classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jmessage JMessage
|
||||||
|
* @brief All JMessage classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jparticle JParticle
|
||||||
|
* @brief All JParticle classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jstage JStage
|
||||||
|
* @brief All JStage classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jstudio JStudio
|
||||||
|
* @brief All JStudio classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jsupport JSupport
|
||||||
|
* @brief All JSupport classes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem
|
||||||
|
* @defgroup jsystem-jutility JUtility
|
||||||
|
* @brief All JUtility classes.
|
||||||
|
*/
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 129 KiB |
|
|
@ -2,7 +2,6 @@
|
||||||
#define J2DANIMATION_H
|
#define J2DANIMATION_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
||||||
#include "global.h"
|
|
||||||
|
|
||||||
typedef struct _GXColor GXColor;
|
typedef struct _GXColor GXColor;
|
||||||
typedef struct _GXColorS10 GXColorS10;
|
typedef struct _GXColorS10 GXColorS10;
|
||||||
|
|
@ -20,6 +19,10 @@ enum J2DAnmKind {
|
||||||
KIND_VTX_COLOR = 7
|
KIND_VTX_COLOR = 7
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmBase {
|
class J2DAnmBase {
|
||||||
public:
|
public:
|
||||||
J2DAnmBase() {
|
J2DAnmBase() {
|
||||||
|
|
@ -42,6 +45,10 @@ public:
|
||||||
/* 0xC */ J2DAnmKind mKind;
|
/* 0xC */ J2DAnmKind mKind;
|
||||||
}; // Size: 0x10
|
}; // Size: 0x10
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmVtxColor : public J2DAnmBase {
|
class J2DAnmVtxColor : public J2DAnmBase {
|
||||||
public:
|
public:
|
||||||
J2DAnmVtxColor() {
|
J2DAnmVtxColor() {
|
||||||
|
|
@ -67,6 +74,10 @@ public:
|
||||||
struct J3DTransformInfo;
|
struct J3DTransformInfo;
|
||||||
struct J3DTextureSRTInfo;
|
struct J3DTextureSRTInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmVtxColorKey : public J2DAnmVtxColor {
|
class J2DAnmVtxColorKey : public J2DAnmVtxColor {
|
||||||
public:
|
public:
|
||||||
J2DAnmVtxColorKey() {
|
J2DAnmVtxColorKey() {
|
||||||
|
|
@ -84,6 +95,10 @@ public:
|
||||||
/* 0x38 */ s16* mAValues;
|
/* 0x38 */ s16* mAValues;
|
||||||
}; // Size: 0x3C
|
}; // Size: 0x3C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmVtxColorFull : public J2DAnmVtxColor {
|
class J2DAnmVtxColorFull : public J2DAnmVtxColor {
|
||||||
public:
|
public:
|
||||||
J2DAnmVtxColorFull() {
|
J2DAnmVtxColorFull() {
|
||||||
|
|
@ -101,6 +116,10 @@ public:
|
||||||
/* 0x38 */ u8* mAValues;
|
/* 0x38 */ u8* mAValues;
|
||||||
}; // Size: 0x3C
|
}; // Size: 0x3C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmVisibilityFull : public J2DAnmBase {
|
class J2DAnmVisibilityFull : public J2DAnmBase {
|
||||||
public:
|
public:
|
||||||
J2DAnmVisibilityFull() {
|
J2DAnmVisibilityFull() {
|
||||||
|
|
@ -119,6 +138,10 @@ public:
|
||||||
/* 0x18 */ u8* mValues;
|
/* 0x18 */ u8* mValues;
|
||||||
}; // Size: 0x1C
|
}; // Size: 0x1C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmTransform : public J2DAnmBase {
|
class J2DAnmTransform : public J2DAnmBase {
|
||||||
public:
|
public:
|
||||||
J2DAnmTransform(f32* pScaleValues, s16* pRotationValues, f32* pTranslateValues) {
|
J2DAnmTransform(f32* pScaleValues, s16* pRotationValues, f32* pTranslateValues) {
|
||||||
|
|
@ -139,6 +162,10 @@ public:
|
||||||
/* 0x18 */ f32* mTranslateValues;
|
/* 0x18 */ f32* mTranslateValues;
|
||||||
}; // Size: 0x1C
|
}; // Size: 0x1C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmTransformKey : public J2DAnmTransform {
|
class J2DAnmTransformKey : public J2DAnmTransform {
|
||||||
public:
|
public:
|
||||||
J2DAnmTransformKey() : J2DAnmTransform(NULL, NULL, NULL) {
|
J2DAnmTransformKey() : J2DAnmTransform(NULL, NULL, NULL) {
|
||||||
|
|
@ -157,6 +184,10 @@ public:
|
||||||
/* 0x28 */ J3DAnmTransformKeyTable* mInfoTable;
|
/* 0x28 */ J3DAnmTransformKeyTable* mInfoTable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmTransformFull : public J2DAnmTransform {
|
class J2DAnmTransformFull : public J2DAnmTransform {
|
||||||
public:
|
public:
|
||||||
J2DAnmTransformFull() : J2DAnmTransform(NULL, NULL, NULL) { mTableInfo = NULL; }
|
J2DAnmTransformFull() : J2DAnmTransform(NULL, NULL, NULL) { mTableInfo = NULL; }
|
||||||
|
|
@ -168,6 +199,10 @@ public:
|
||||||
/* 0x24 */ J3DAnmTransformFullTable* mTableInfo;
|
/* 0x24 */ J3DAnmTransformFullTable* mTableInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmTextureSRTKey : public J2DAnmBase {
|
class J2DAnmTextureSRTKey : public J2DAnmBase {
|
||||||
public:
|
public:
|
||||||
J2DAnmTextureSRTKey() {
|
J2DAnmTextureSRTKey() {
|
||||||
|
|
@ -227,6 +262,10 @@ public:
|
||||||
/* 0x7C */ int field_0x7c;
|
/* 0x7C */ int field_0x7c;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmTexPattern : public J2DAnmBase {
|
class J2DAnmTexPattern : public J2DAnmBase {
|
||||||
public:
|
public:
|
||||||
struct J2DAnmTexPatternTIMGPointer {
|
struct J2DAnmTexPatternTIMGPointer {
|
||||||
|
|
@ -265,6 +304,10 @@ public:
|
||||||
/* 0x30 */ J2DAnmTexPatternTIMGPointer* mTIMGPtrArray;
|
/* 0x30 */ J2DAnmTexPatternTIMGPointer* mTIMGPtrArray;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmTevRegKey : public J2DAnmBase {
|
class J2DAnmTevRegKey : public J2DAnmBase {
|
||||||
public:
|
public:
|
||||||
J2DAnmTevRegKey() {
|
J2DAnmTevRegKey() {
|
||||||
|
|
@ -331,6 +374,10 @@ public:
|
||||||
/* 0x70 */ s16* mKAValues;
|
/* 0x70 */ s16* mKAValues;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmColor : public J2DAnmBase {
|
class J2DAnmColor : public J2DAnmBase {
|
||||||
public:
|
public:
|
||||||
J2DAnmColor() {
|
J2DAnmColor() {
|
||||||
|
|
@ -357,6 +404,10 @@ public:
|
||||||
/* 0x20 */ JUTNameTab field_0x20;
|
/* 0x20 */ JUTNameTab field_0x20;
|
||||||
}; // Size: 0x30
|
}; // Size: 0x30
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmColorKey : public J2DAnmColor {
|
class J2DAnmColorKey : public J2DAnmColor {
|
||||||
public:
|
public:
|
||||||
J2DAnmColorKey() {
|
J2DAnmColorKey() {
|
||||||
|
|
@ -376,6 +427,10 @@ public:
|
||||||
/* 0x40 */ J3DAnmColorKeyTable* mInfoTable;
|
/* 0x40 */ J3DAnmColorKeyTable* mInfoTable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DAnmColorFullInfo {
|
struct J2DAnmColorFullInfo {
|
||||||
/* 0x00 */ u16 mRMaxFrame;
|
/* 0x00 */ u16 mRMaxFrame;
|
||||||
/* 0x02 */ u16 mROffset;
|
/* 0x02 */ u16 mROffset;
|
||||||
|
|
@ -387,6 +442,10 @@ struct J2DAnmColorFullInfo {
|
||||||
/* 0x0E */ u16 mAOffset;
|
/* 0x0E */ u16 mAOffset;
|
||||||
}; // Size = 0x10
|
}; // Size = 0x10
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmColorFull : public J2DAnmColor {
|
class J2DAnmColorFull : public J2DAnmColor {
|
||||||
public:
|
public:
|
||||||
J2DAnmColorFull() {
|
J2DAnmColorFull() {
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,18 @@
|
||||||
|
|
||||||
#include "JSystem/J2DGraph/J2DAnimation.h"
|
#include "JSystem/J2DGraph/J2DAnimation.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DAnmLoaderDataBase {
|
struct J2DAnmLoaderDataBase {
|
||||||
/* 80308A6C */ static J2DAnmBase* load(void const*);
|
/* 80308A6C */ static J2DAnmBase* load(void const*);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmLoader {
|
class J2DAnmLoader {
|
||||||
public:
|
public:
|
||||||
virtual void* load(void const*) = 0;
|
virtual void* load(void const*) = 0;
|
||||||
|
|
@ -27,6 +35,10 @@ struct J3DAnmVisibilityFullData;
|
||||||
struct J3DAnmVtxColorFullData;
|
struct J3DAnmVtxColorFullData;
|
||||||
struct J3DAnmTransformKeyData;
|
struct J3DAnmTransformKeyData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmKeyLoader_v15 : public J2DAnmLoader {
|
class J2DAnmKeyLoader_v15 : public J2DAnmLoader {
|
||||||
public:
|
public:
|
||||||
/* 80309290 */ J2DAnmKeyLoader_v15();
|
/* 80309290 */ J2DAnmKeyLoader_v15();
|
||||||
|
|
@ -48,6 +60,10 @@ public:
|
||||||
// /* 0x04 */ void* _4;
|
// /* 0x04 */ void* _4;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DAnmFullLoader_v15 : public J2DAnmLoader {
|
class J2DAnmFullLoader_v15 : public J2DAnmLoader {
|
||||||
public:
|
public:
|
||||||
/* 80309CE8 */ J2DAnmFullLoader_v15();
|
/* 80309CE8 */ J2DAnmFullLoader_v15();
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,11 @@
|
||||||
#include "JSystem/JGeometry.h"
|
#include "JSystem/JGeometry.h"
|
||||||
#include "JSystem/JUtility/TColor.h"
|
#include "JSystem/JUtility/TColor.h"
|
||||||
#include "dolphin/mtx.h"
|
#include "dolphin/mtx.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DGrafContext {
|
class J2DGrafContext {
|
||||||
public:
|
public:
|
||||||
struct Blend {
|
struct Blend {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
|
|
||||||
class JSUInputStream;
|
class JSUInputStream;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DResReference {
|
struct J2DResReference {
|
||||||
/* 0x00 */ u16 mCount;
|
/* 0x00 */ u16 mCount;
|
||||||
/* 0x02 */ u16 mOffsets[1];
|
/* 0x02 */ u16 mOffsets[1];
|
||||||
|
|
@ -13,12 +17,20 @@ struct J2DResReference {
|
||||||
/* 8030CF44 */ char* getName(u16) const;
|
/* 8030CF44 */ char* getName(u16) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DataManageLink {
|
struct J2DataManageLink {
|
||||||
/* 0x00 */ void* mData;
|
/* 0x00 */ void* mData;
|
||||||
/* 0x04 */ char* mName;
|
/* 0x04 */ char* mName;
|
||||||
/* 0x08 */ J2DataManageLink* mNext;
|
/* 0x08 */ J2DataManageLink* mNext;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DDataManage {
|
class J2DDataManage {
|
||||||
private:
|
private:
|
||||||
/* 0x00 */ J2DataManageLink* mList;
|
/* 0x00 */ J2DataManageLink* mList;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#include "JSystem/J2DGraph/J2DTevs.h"
|
#include "JSystem/J2DGraph/J2DTevs.h"
|
||||||
#include "JSystem/JUtility/TColor.h"
|
#include "JSystem/JUtility/TColor.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class JUTFont;
|
class JUTFont;
|
||||||
class JUTPalette;
|
class JUTPalette;
|
||||||
|
|
@ -13,6 +12,10 @@ struct ResFONT;
|
||||||
struct ResTIMG;
|
struct ResTIMG;
|
||||||
struct ResTLUT;
|
struct ResTLUT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DGXColorS10 : public GXColorS10 {
|
struct J2DGXColorS10 : public GXColorS10 {
|
||||||
/* 802F1B90 */ J2DGXColorS10() {}
|
/* 802F1B90 */ J2DGXColorS10() {}
|
||||||
J2DGXColorS10(const J2DGXColorS10& other) {
|
J2DGXColorS10(const J2DGXColorS10& other) {
|
||||||
|
|
@ -39,6 +42,10 @@ struct J2DGXColorS10 : public GXColorS10 {
|
||||||
|
|
||||||
struct J2DTevSwapModeInfo;
|
struct J2DTevSwapModeInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTevBlock {
|
class J2DTevBlock {
|
||||||
public:
|
public:
|
||||||
/* 802F2A40 */ virtual void initialize();
|
/* 802F2A40 */ virtual void initialize();
|
||||||
|
|
@ -88,6 +95,10 @@ public:
|
||||||
/* 802EB184 */ virtual ~J2DTevBlock() {}
|
/* 802EB184 */ virtual ~J2DTevBlock() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTevBlock1 : public J2DTevBlock {
|
class J2DTevBlock1 : public J2DTevBlock {
|
||||||
public:
|
public:
|
||||||
/* 802EB88C */ J2DTevBlock1();
|
/* 802EB88C */ J2DTevBlock1();
|
||||||
|
|
@ -155,6 +166,10 @@ private:
|
||||||
/* 0x05C */ u8 mUndeleteFlag;
|
/* 0x05C */ u8 mUndeleteFlag;
|
||||||
}; // Size: 0x60
|
}; // Size: 0x60
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTevBlock2 : public J2DTevBlock {
|
class J2DTevBlock2 : public J2DTevBlock {
|
||||||
public:
|
public:
|
||||||
/* 802EC5B8 */ J2DTevBlock2();
|
/* 802EC5B8 */ J2DTevBlock2();
|
||||||
|
|
@ -224,6 +239,10 @@ private:
|
||||||
/* 0x078 */ u8 mUndeleteFlag;
|
/* 0x078 */ u8 mUndeleteFlag;
|
||||||
}; // Size: 0x7C
|
}; // Size: 0x7C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTevBlock4 : public J2DTevBlock {
|
class J2DTevBlock4 : public J2DTevBlock {
|
||||||
public:
|
public:
|
||||||
/* 802ED8BC */ J2DTevBlock4();
|
/* 802ED8BC */ J2DTevBlock4();
|
||||||
|
|
@ -293,6 +312,10 @@ private:
|
||||||
/* 0x0B0 */ u8 mUndeleteFlag;
|
/* 0x0B0 */ u8 mUndeleteFlag;
|
||||||
}; // Size: 0xB4
|
}; // Size: 0xB4
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTevBlock8 : public J2DTevBlock {
|
class J2DTevBlock8 : public J2DTevBlock {
|
||||||
public:
|
public:
|
||||||
/* 802EED64 */ J2DTevBlock8();
|
/* 802EED64 */ J2DTevBlock8();
|
||||||
|
|
@ -363,6 +386,10 @@ private:
|
||||||
/* 0x121 */ bool mFontUndeleteFlag;
|
/* 0x121 */ bool mFontUndeleteFlag;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTevBlock16 : public J2DTevBlock {
|
class J2DTevBlock16 : public J2DTevBlock {
|
||||||
public:
|
public:
|
||||||
/* 802F01E4 */ J2DTevBlock16();
|
/* 802F01E4 */ J2DTevBlock16();
|
||||||
|
|
@ -433,6 +460,10 @@ public:
|
||||||
/* 0x1B1 */ bool mFontUndeleteFlag;
|
/* 0x1B1 */ bool mFontUndeleteFlag;
|
||||||
}; // Size: 0x1B4
|
}; // Size: 0x1B4
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DAlphaCompInfo {
|
struct J2DAlphaCompInfo {
|
||||||
/* 0x0 */ u8 field_0x0;
|
/* 0x0 */ u8 field_0x0;
|
||||||
/* 0x1 */ u8 field_0x1;
|
/* 0x1 */ u8 field_0x1;
|
||||||
|
|
@ -448,6 +479,10 @@ inline u16 J2DCalcAlphaCmp(s32 param_1, u32 param_2, u32 param_3) {
|
||||||
return ((param_1) << 5) | ((param_2 & 0xff) << 3) | (param_3 & 0xff);
|
return ((param_1) << 5) | ((param_2 & 0xff) << 3) | (param_3 & 0xff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DAlphaComp {
|
struct J2DAlphaComp {
|
||||||
J2DAlphaComp() {
|
J2DAlphaComp() {
|
||||||
mAlphaCmp = j2dDefaultAlphaCmp;
|
mAlphaCmp = j2dDefaultAlphaCmp;
|
||||||
|
|
@ -470,6 +505,10 @@ struct J2DAlphaComp {
|
||||||
/* 0x3 */ u8 mRef1;
|
/* 0x3 */ u8 mRef1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DBlendInfo {
|
struct J2DBlendInfo {
|
||||||
void operator=(J2DBlendInfo const& other) {
|
void operator=(J2DBlendInfo const& other) {
|
||||||
mType = other.mType;
|
mType = other.mType;
|
||||||
|
|
@ -486,6 +525,10 @@ struct J2DBlendInfo {
|
||||||
|
|
||||||
extern const J2DBlendInfo j2dDefaultBlendInfo;
|
extern const J2DBlendInfo j2dDefaultBlendInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DBlend {
|
struct J2DBlend {
|
||||||
J2DBlend() { mBlendInfo = j2dDefaultBlendInfo; }
|
J2DBlend() { mBlendInfo = j2dDefaultBlendInfo; }
|
||||||
J2DBlend(const J2DBlendInfo& info) { mBlendInfo = info; }
|
J2DBlend(const J2DBlendInfo& info) { mBlendInfo = info; }
|
||||||
|
|
@ -498,6 +541,10 @@ struct J2DBlend {
|
||||||
/* 0x0 */ J2DBlendInfo mBlendInfo;
|
/* 0x0 */ J2DBlendInfo mBlendInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DPEBlock {
|
class J2DPEBlock {
|
||||||
public:
|
public:
|
||||||
J2DPEBlock() { initialize(); }
|
J2DPEBlock() { initialize(); }
|
||||||
|
|
@ -514,6 +561,10 @@ private:
|
||||||
/* 0x8 */ u8 mDither;
|
/* 0x8 */ u8 mDither;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DIndBlock {
|
class J2DIndBlock {
|
||||||
public:
|
public:
|
||||||
/* 802EB24C */ virtual void initialize();
|
/* 802EB24C */ virtual void initialize();
|
||||||
|
|
@ -530,6 +581,10 @@ public:
|
||||||
/* 802EB13C */ virtual ~J2DIndBlock() {}
|
/* 802EB13C */ virtual ~J2DIndBlock() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DIndBlockFull : public J2DIndBlock {
|
class J2DIndBlockFull : public J2DIndBlock {
|
||||||
public:
|
public:
|
||||||
J2DIndBlockFull() { initialize(); }
|
J2DIndBlockFull() { initialize(); }
|
||||||
|
|
@ -554,6 +609,10 @@ private:
|
||||||
/* 0x64 */ J2DIndTexCoordScale mTexCoordScale[4];
|
/* 0x64 */ J2DIndTexCoordScale mTexCoordScale[4];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DIndBlockNull : public J2DIndBlock {
|
class J2DIndBlockNull : public J2DIndBlock {
|
||||||
public:
|
public:
|
||||||
J2DIndBlockNull() {}
|
J2DIndBlockNull() {}
|
||||||
|
|
@ -563,6 +622,10 @@ public:
|
||||||
/* 802EB1F0 */ virtual ~J2DIndBlockNull();
|
/* 802EB1F0 */ virtual ~J2DIndBlockNull();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTexGenBlock {
|
class J2DTexGenBlock {
|
||||||
private:
|
private:
|
||||||
/* 0x00 */ u32 mTexGenNum;
|
/* 0x00 */ u32 mTexGenNum;
|
||||||
|
|
@ -585,6 +648,10 @@ public:
|
||||||
/* 802EB620 */ virtual ~J2DTexGenBlock();
|
/* 802EB620 */ virtual ~J2DTexGenBlock();
|
||||||
}; // Size: 0x48
|
}; // Size: 0x48
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DColorChanInfo {
|
struct J2DColorChanInfo {
|
||||||
/* 0x0 */ u8 field_0x0;
|
/* 0x0 */ u8 field_0x0;
|
||||||
/* 0x0 */ u8 field_0x1;
|
/* 0x0 */ u8 field_0x1;
|
||||||
|
|
@ -595,6 +662,10 @@ struct J2DColorChanInfo {
|
||||||
inline u8 J2DCalcColorChanID(u8 param_1) { return param_1; }
|
inline u8 J2DCalcColorChanID(u8 param_1) { return param_1; }
|
||||||
extern const J2DColorChanInfo j2dDefaultColorChanInfo;
|
extern const J2DColorChanInfo j2dDefaultColorChanInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DColorChan {
|
class J2DColorChan {
|
||||||
public:
|
public:
|
||||||
/* 802EB280 */ J2DColorChan() {
|
/* 802EB280 */ J2DColorChan() {
|
||||||
|
|
@ -613,6 +684,10 @@ private:
|
||||||
/* 0x0 */ u16 mColorChan;
|
/* 0x0 */ u16 mColorChan;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DColorBlock {
|
class J2DColorBlock {
|
||||||
private:
|
private:
|
||||||
/* 0x00 */ JUtility::TColor mMatColor[2];
|
/* 0x00 */ JUtility::TColor mMatColor[2];
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,10 @@
|
||||||
#include "JSystem/J2DGraph/J2DAnimation.h"
|
#include "JSystem/J2DGraph/J2DAnimation.h"
|
||||||
#include "JSystem/J2DGraph/J2DMatBlock.h"
|
#include "JSystem/J2DGraph/J2DMatBlock.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DMaterial {
|
class J2DMaterial {
|
||||||
public:
|
public:
|
||||||
struct J2DMaterialAnmPointer {
|
struct J2DMaterialAnmPointer {
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,11 @@
|
||||||
|
|
||||||
#include "JSystem/J2DGraph/J2DManage.h"
|
#include "JSystem/J2DGraph/J2DManage.h"
|
||||||
#include "JSystem/J2DGraph/J2DMatBlock.h"
|
#include "JSystem/J2DGraph/J2DMatBlock.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DMaterialBlock {
|
struct J2DMaterialBlock {
|
||||||
u32 field_0x0;
|
u32 field_0x0;
|
||||||
u32 field_0x4;
|
u32 field_0x4;
|
||||||
|
|
@ -42,6 +45,10 @@ struct J2DBlendInfo;
|
||||||
struct J2DColorChanInfo;
|
struct J2DColorChanInfo;
|
||||||
class J2DMaterial;
|
class J2DMaterial;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DIndInitData {
|
struct J2DIndInitData {
|
||||||
u8 field_0x0;
|
u8 field_0x0;
|
||||||
u8 field_0x1;
|
u8 field_0x1;
|
||||||
|
|
@ -53,6 +60,10 @@ struct J2DIndInitData {
|
||||||
u8 field_0xac[0x90];
|
u8 field_0xac[0x90];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DMaterialInitData {
|
struct J2DMaterialInitData {
|
||||||
u8 field_0x0;
|
u8 field_0x0;
|
||||||
u8 field_0x1;
|
u8 field_0x1;
|
||||||
|
|
@ -88,6 +99,10 @@ struct J2DTexCoordInfo;
|
||||||
struct J2DTexMtxInfo;
|
struct J2DTexMtxInfo;
|
||||||
class JKRArchive;
|
class JKRArchive;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DMaterialFactory {
|
class J2DMaterialFactory {
|
||||||
public:
|
public:
|
||||||
/* 802F2AD0 */ J2DMaterialFactory(J2DMaterialBlock const&);
|
/* 802F2AD0 */ J2DMaterialFactory(J2DMaterialBlock const&);
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,10 @@
|
||||||
|
|
||||||
#include "JSystem/J2DGraph/J2DGrafContext.h"
|
#include "JSystem/J2DGraph/J2DGrafContext.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DOrthoGraph : public J2DGrafContext {
|
class J2DOrthoGraph : public J2DGrafContext {
|
||||||
public:
|
public:
|
||||||
/* 802E9670 */ J2DOrthoGraph();
|
/* 802E9670 */ J2DOrthoGraph();
|
||||||
|
|
|
||||||
|
|
@ -35,11 +35,19 @@ enum J2DBasePosition {
|
||||||
J2DBasePosition_4,
|
J2DBasePosition_4,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DPaneHeader {
|
struct J2DPaneHeader {
|
||||||
/* 0x0 */ u32 mKind;
|
/* 0x0 */ u32 mKind;
|
||||||
/* 0x4 */ u32 mSize;
|
/* 0x4 */ u32 mSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DPane {
|
class J2DPane {
|
||||||
public:
|
public:
|
||||||
J2DPane();
|
J2DPane();
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#include "JSystem/J2DGraph/J2DPane.h"
|
#include "JSystem/J2DGraph/J2DPane.h"
|
||||||
#include "JSystem/JUtility/TColor.h"
|
#include "JSystem/JUtility/TColor.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class J2DMaterial;
|
class J2DMaterial;
|
||||||
class JUTPalette;
|
class JUTPalette;
|
||||||
|
|
@ -26,11 +25,19 @@ enum J2DBinding {
|
||||||
/* 0xF */ BIND15 = 15, // temp, figure out later
|
/* 0xF */ BIND15 = 15, // temp, figure out later
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DPicHeader {
|
struct J2DPicHeader {
|
||||||
/* 0x0 */ u32 mTag;
|
/* 0x0 */ u32 mTag;
|
||||||
/* 0x4 */ u32 mSize;
|
/* 0x4 */ u32 mSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DScrnBlockPictureParameter {
|
struct J2DScrnBlockPictureParameter {
|
||||||
/* 0x00 */ u16 field_0x0;
|
/* 0x00 */ u16 field_0x0;
|
||||||
/* 0x02 */ u16 mMaterialNum;
|
/* 0x02 */ u16 mMaterialNum;
|
||||||
|
|
@ -41,6 +48,10 @@ struct J2DScrnBlockPictureParameter {
|
||||||
/* 0x20 */ u32 mCornerColor[4];
|
/* 0x20 */ u32 mCornerColor[4];
|
||||||
}; // Size: 0x30
|
}; // Size: 0x30
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DPicture : public J2DPane {
|
class J2DPicture : public J2DPane {
|
||||||
public:
|
public:
|
||||||
/* 802FCFF0 */ virtual ~J2DPicture();
|
/* 802FCFF0 */ virtual ~J2DPicture();
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,13 @@
|
||||||
|
|
||||||
#include "JSystem/J2DGraph/J2DPicture.h"
|
#include "JSystem/J2DGraph/J2DPicture.h"
|
||||||
#include "JSystem/J2DGraph/J2DTevs.h"
|
#include "JSystem/J2DGraph/J2DTevs.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class J2DMaterial;
|
class J2DMaterial;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DPictureEx : public J2DPicture {
|
class J2DPictureEx : public J2DPicture {
|
||||||
public:
|
public:
|
||||||
enum stage_enum {};
|
enum stage_enum {};
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,13 @@
|
||||||
|
|
||||||
#include "JSystem/J2DGraph/J2DTextBox.h"
|
#include "JSystem/J2DGraph/J2DTextBox.h"
|
||||||
#include "__va_arg.h"
|
#include "__va_arg.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class JUTFont;
|
class JUTFont;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DPrint {
|
class J2DPrint {
|
||||||
public:
|
public:
|
||||||
struct TSize {
|
struct TSize {
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,10 @@
|
||||||
class J2DMaterial;
|
class J2DMaterial;
|
||||||
class JUTNameTab;
|
class JUTNameTab;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DScrnHeader {
|
struct J2DScrnHeader {
|
||||||
/* 0x00 */ u32 mTag;
|
/* 0x00 */ u32 mTag;
|
||||||
/* 0x04 */ u32 mType;
|
/* 0x04 */ u32 mType;
|
||||||
|
|
@ -16,6 +20,10 @@ struct J2DScrnHeader {
|
||||||
/* 0x10 */ u8 padding[0x10];
|
/* 0x10 */ u8 padding[0x10];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DScrnInfoHeader {
|
struct J2DScrnInfoHeader {
|
||||||
/* 0x0 */ u32 mTag;
|
/* 0x0 */ u32 mTag;
|
||||||
/* 0x4 */ u32 mSize;
|
/* 0x4 */ u32 mSize;
|
||||||
|
|
@ -24,11 +32,19 @@ struct J2DScrnInfoHeader {
|
||||||
/* 0xC */ u32 mColor;
|
/* 0xC */ u32 mColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DScrnBlockHeader {
|
struct J2DScrnBlockHeader {
|
||||||
/* 0x00 */ u32 mTag;
|
/* 0x00 */ u32 mTag;
|
||||||
/* 0x04 */ s32 mSize;
|
/* 0x04 */ s32 mSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DScreen : public J2DPane {
|
class J2DScreen : public J2DPane {
|
||||||
public:
|
public:
|
||||||
/* 802F8540 */ virtual ~J2DScreen();
|
/* 802F8540 */ virtual ~J2DScreen();
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
#ifndef J2DTEVS_H
|
#ifndef J2DTEVS_H
|
||||||
#define J2DTEVS_H
|
#define J2DTEVS_H
|
||||||
|
|
||||||
#include "dolphin/gx/GXEnum.h"
|
|
||||||
#include "dolphin/gx/GXStruct.h"
|
#include "dolphin/gx/GXStruct.h"
|
||||||
#include "dolphin/mtx.h"
|
#include "dolphin/mtx.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DTextureSRTInfo {
|
struct J2DTextureSRTInfo {
|
||||||
/* 0x00 */ f32 field_0x0;
|
/* 0x00 */ f32 field_0x0;
|
||||||
/* 0x04 */ f32 field_0x4;
|
/* 0x04 */ f32 field_0x4;
|
||||||
|
|
@ -13,6 +16,10 @@ struct J2DTextureSRTInfo {
|
||||||
/* 0x10 */ f32 field_0x10;
|
/* 0x10 */ f32 field_0x10;
|
||||||
}; // Size: 0x14
|
}; // Size: 0x14
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DTexMtxInfo {
|
struct J2DTexMtxInfo {
|
||||||
enum {
|
enum {
|
||||||
/* 0x0 */ DCC_NONE,
|
/* 0x0 */ DCC_NONE,
|
||||||
|
|
@ -39,6 +46,10 @@ struct J2DTexMtxInfo {
|
||||||
|
|
||||||
extern J2DTexMtxInfo const j2dDefaultTexMtxInfo;
|
extern J2DTexMtxInfo const j2dDefaultTexMtxInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTexMtx {
|
class J2DTexMtx {
|
||||||
public:
|
public:
|
||||||
J2DTexMtx() { mInfo = j2dDefaultTexMtxInfo; }
|
J2DTexMtx() { mInfo = j2dDefaultTexMtxInfo; }
|
||||||
|
|
@ -55,6 +66,10 @@ private:
|
||||||
/* 0x24 */ Mtx mTexMtx;
|
/* 0x24 */ Mtx mTexMtx;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DIndTexOrderInfo {
|
struct J2DIndTexOrderInfo {
|
||||||
/* 0x0 */ u8 mTexCoordID;
|
/* 0x0 */ u8 mTexCoordID;
|
||||||
/* 0x1 */ u8 mTexMapID;
|
/* 0x1 */ u8 mTexMapID;
|
||||||
|
|
@ -70,6 +85,10 @@ struct J2DIndTexOrderInfo {
|
||||||
|
|
||||||
extern const J2DIndTexOrderInfo j2dDefaultIndTexOrderNull;
|
extern const J2DIndTexOrderInfo j2dDefaultIndTexOrderNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DIndTexOrder {
|
class J2DIndTexOrder {
|
||||||
public:
|
public:
|
||||||
/* 802EB378 */ J2DIndTexOrder() {
|
/* 802EB378 */ J2DIndTexOrder() {
|
||||||
|
|
@ -84,6 +103,10 @@ private:
|
||||||
/* 0x0 */ J2DIndTexOrderInfo mInfo;
|
/* 0x0 */ J2DIndTexOrderInfo mInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DIndTexMtxInfo {
|
struct J2DIndTexMtxInfo {
|
||||||
/* 0x00 */ Mtx23 mMtx;
|
/* 0x00 */ Mtx23 mMtx;
|
||||||
/* 0x18 */ s8 mScaleExp;
|
/* 0x18 */ s8 mScaleExp;
|
||||||
|
|
@ -101,6 +124,10 @@ struct J2DIndTexMtxInfo {
|
||||||
|
|
||||||
extern J2DIndTexMtxInfo const j2dDefaultIndTexMtxInfo;
|
extern J2DIndTexMtxInfo const j2dDefaultIndTexMtxInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DIndTexMtx {
|
class J2DIndTexMtx {
|
||||||
public:
|
public:
|
||||||
/* 802EB2E4 */ ~J2DIndTexMtx() {}
|
/* 802EB2E4 */ ~J2DIndTexMtx() {}
|
||||||
|
|
@ -118,6 +145,10 @@ private:
|
||||||
/* 0x0 */ J2DIndTexMtxInfo mIndTexMtxInfo;
|
/* 0x0 */ J2DIndTexMtxInfo mIndTexMtxInfo;
|
||||||
}; // Size: 0x1C
|
}; // Size: 0x1C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DIndTexCoordScaleInfo {
|
struct J2DIndTexCoordScaleInfo {
|
||||||
/* 0x0 */ u8 mScaleS;
|
/* 0x0 */ u8 mScaleS;
|
||||||
/* 0x1 */ u8 mScaleT;
|
/* 0x1 */ u8 mScaleT;
|
||||||
|
|
@ -133,6 +164,10 @@ struct J2DIndTexCoordScaleInfo {
|
||||||
|
|
||||||
extern const J2DIndTexCoordScaleInfo j2dDefaultIndTexCoordScaleInfo;
|
extern const J2DIndTexCoordScaleInfo j2dDefaultIndTexCoordScaleInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DIndTexCoordScale {
|
class J2DIndTexCoordScale {
|
||||||
public:
|
public:
|
||||||
/* 802EB290 */ ~J2DIndTexCoordScale() {}
|
/* 802EB290 */ ~J2DIndTexCoordScale() {}
|
||||||
|
|
@ -148,6 +183,10 @@ private:
|
||||||
/* 0x0 */ J2DIndTexCoordScaleInfo mInfo;
|
/* 0x0 */ J2DIndTexCoordScaleInfo mInfo;
|
||||||
}; // Size: 0x2
|
}; // Size: 0x2
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DIndTevStageInfo {
|
struct J2DIndTevStageInfo {
|
||||||
/* 0x0 */ u8 mIndStage;
|
/* 0x0 */ u8 mIndStage;
|
||||||
/* 0x1 */ u8 mIndFormat;
|
/* 0x1 */ u8 mIndFormat;
|
||||||
|
|
@ -171,6 +210,10 @@ inline u32 J2DCalcIndTevStage(J2DIndTevStageInfo info) {
|
||||||
|
|
||||||
extern const J2DIndTevStageInfo j2dDefaultIndTevStageInfo;
|
extern const J2DIndTevStageInfo j2dDefaultIndTevStageInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DIndTevStage {
|
class J2DIndTevStage {
|
||||||
public:
|
public:
|
||||||
/* 802EA044 */ void load(u8);
|
/* 802EA044 */ void load(u8);
|
||||||
|
|
@ -197,6 +240,10 @@ private:
|
||||||
GXIndTexAlphaSel getAlphaSel() const { return (GXIndTexAlphaSel)((mFlags >> 22) & 0x03); }
|
GXIndTexAlphaSel getAlphaSel() const { return (GXIndTexAlphaSel)((mFlags >> 22) & 0x03); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DTexCoordInfo {
|
struct J2DTexCoordInfo {
|
||||||
/* 0x0 */ u8 mTexGenType;
|
/* 0x0 */ u8 mTexGenType;
|
||||||
/* 0x1 */ u8 mTexGenSrc;
|
/* 0x1 */ u8 mTexGenSrc;
|
||||||
|
|
@ -213,6 +260,10 @@ struct J2DTexCoordInfo {
|
||||||
|
|
||||||
extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8];
|
extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTexCoord {
|
class J2DTexCoord {
|
||||||
public:
|
public:
|
||||||
/* 802EB260 */ inline J2DTexCoord() {
|
/* 802EB260 */ inline J2DTexCoord() {
|
||||||
|
|
@ -231,6 +282,10 @@ private:
|
||||||
/* 0x0 */ J2DTexCoordInfo mTexCoordInfo;
|
/* 0x0 */ J2DTexCoordInfo mTexCoordInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DTevOrderInfo {
|
struct J2DTevOrderInfo {
|
||||||
/* 0x0 */ u8 mTexCoord;
|
/* 0x0 */ u8 mTexCoord;
|
||||||
/* 0x1 */ u8 mTexMap;
|
/* 0x1 */ u8 mTexMap;
|
||||||
|
|
@ -247,6 +302,10 @@ struct J2DTevOrderInfo {
|
||||||
|
|
||||||
extern const J2DTevOrderInfo j2dDefaultTevOrderInfoNull;
|
extern const J2DTevOrderInfo j2dDefaultTevOrderInfoNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTevOrder {
|
class J2DTevOrder {
|
||||||
public:
|
public:
|
||||||
/* 802F1B70 */ J2DTevOrder() {
|
/* 802F1B70 */ J2DTevOrder() {
|
||||||
|
|
@ -265,6 +324,10 @@ public:
|
||||||
/* 0x0 */ J2DTevOrderInfo mTevOrderInfo;
|
/* 0x0 */ J2DTevOrderInfo mTevOrderInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DTevStageInfo {
|
struct J2DTevStageInfo {
|
||||||
/* 0x00 */ u8 field_0x0;
|
/* 0x00 */ u8 field_0x0;
|
||||||
/* 0x01 */ u8 mColorA;
|
/* 0x01 */ u8 mColorA;
|
||||||
|
|
@ -288,6 +351,10 @@ struct J2DTevStageInfo {
|
||||||
/* 0x13 */ u8 field_0x13;
|
/* 0x13 */ u8 field_0x13;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DTevSwapModeInfo {
|
struct J2DTevSwapModeInfo {
|
||||||
/* 0x0 */ u8 mRasSel;
|
/* 0x0 */ u8 mRasSel;
|
||||||
/* 0x1 */ u8 mTexSel;
|
/* 0x1 */ u8 mTexSel;
|
||||||
|
|
@ -297,6 +364,10 @@ struct J2DTevSwapModeInfo {
|
||||||
|
|
||||||
extern const J2DTevSwapModeInfo j2dDefaultTevSwapMode;
|
extern const J2DTevSwapModeInfo j2dDefaultTevSwapMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTevStage {
|
class J2DTevStage {
|
||||||
public:
|
public:
|
||||||
/* 802F4110 */ J2DTevStage(J2DTevStageInfo const&);
|
/* 802F4110 */ J2DTevStage(J2DTevStageInfo const&);
|
||||||
|
|
@ -426,6 +497,10 @@ private:
|
||||||
/* 0x7 */ u8 field_0x7;
|
/* 0x7 */ u8 field_0x7;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DTevSwapModeTableInfo {
|
struct J2DTevSwapModeTableInfo {
|
||||||
/* 0x0 */ u8 field_0x0;
|
/* 0x0 */ u8 field_0x0;
|
||||||
/* 0x1 */ u8 field_0x1;
|
/* 0x1 */ u8 field_0x1;
|
||||||
|
|
@ -439,6 +514,10 @@ inline u8 J2DCalcTevSwapTable(u8 param_0, u8 param_1, u8 param_2, u8 param_3) {
|
||||||
|
|
||||||
extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable;
|
extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTevSwapModeTable {
|
class J2DTevSwapModeTable {
|
||||||
public:
|
public:
|
||||||
/* 802F1934 */ J2DTevSwapModeTable();
|
/* 802F1934 */ J2DTevSwapModeTable();
|
||||||
|
|
|
||||||
|
|
@ -19,11 +19,19 @@ enum J2DTextBoxHBinding {
|
||||||
/* 0x2 */ HBIND_LEFT
|
/* 0x2 */ HBIND_LEFT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DTbxBlockHeader {
|
struct J2DTbxBlockHeader {
|
||||||
/* 0x00 */ u32 mTag;
|
/* 0x00 */ u32 mTag;
|
||||||
/* 0x04 */ s32 mSize;
|
/* 0x04 */ s32 mSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J2DTextBoxInfo {
|
struct J2DTextBoxInfo {
|
||||||
/* 0x00 */ u16 field_0x0;
|
/* 0x00 */ u16 field_0x0;
|
||||||
/* 0x02 */ u16 field_0x2;
|
/* 0x02 */ u16 field_0x2;
|
||||||
|
|
@ -42,6 +50,10 @@ struct J2DTextBoxInfo {
|
||||||
/* 0x1E */ u16 field_0x1e;
|
/* 0x1E */ u16 field_0x1e;
|
||||||
}; // Size: 0x20
|
}; // Size: 0x20
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTextBox : public J2DPane {
|
class J2DTextBox : public J2DPane {
|
||||||
public:
|
public:
|
||||||
struct TFontSize {
|
struct TFontSize {
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,13 @@
|
||||||
#define J2DTEXTBOXEX_H
|
#define J2DTEXTBOXEX_H
|
||||||
|
|
||||||
#include "JSystem/J2DGraph/J2DTextBox.h"
|
#include "JSystem/J2DGraph/J2DTextBox.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class J2DMaterial;
|
class J2DMaterial;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DTextBoxEx : public J2DTextBox {
|
class J2DTextBoxEx : public J2DTextBox {
|
||||||
public:
|
public:
|
||||||
enum stage_enum {
|
enum stage_enum {
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,10 @@
|
||||||
class JSURandomInputStream;
|
class JSURandomInputStream;
|
||||||
class JUTTexture;
|
class JUTTexture;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DWindow : public J2DPane {
|
class J2DWindow : public J2DPane {
|
||||||
public:
|
public:
|
||||||
struct TMaterial {
|
struct TMaterial {
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,11 @@
|
||||||
#define J2DWINDOWEX_H
|
#define J2DWINDOWEX_H
|
||||||
|
|
||||||
#include "JSystem/J2DGraph/J2DWindow.h"
|
#include "JSystem/J2DGraph/J2DWindow.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j2d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J2DWindowEx : public J2DWindow {
|
class J2DWindowEx : public J2DWindow {
|
||||||
public:
|
public:
|
||||||
enum stage_enum {
|
enum stage_enum {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
||||||
#include "JSystem/JUtility/JUTNameTab.h"
|
#include "JSystem/JUtility/JUTNameTab.h"
|
||||||
#include "global.h"
|
|
||||||
|
|
||||||
struct JUTDataBlockHeader {
|
struct JUTDataBlockHeader {
|
||||||
/* 0x0 */ u32 mType;
|
/* 0x0 */ u32 mType;
|
||||||
|
|
@ -28,12 +27,20 @@ struct JUTDataFileHeader { // actual struct name unknown
|
||||||
typedef struct _GXColor GXColor;
|
typedef struct _GXColor GXColor;
|
||||||
typedef struct _GXColorS10 GXColorS10;
|
typedef struct _GXColorS10 GXColorS10;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmKeyTableBase {
|
struct J3DAnmKeyTableBase {
|
||||||
/* 0x00 */ u16 mMaxFrame;
|
/* 0x00 */ u16 mMaxFrame;
|
||||||
/* 0x02 */ u16 mOffset;
|
/* 0x02 */ u16 mOffset;
|
||||||
/* 0x04 */ u16 mType;
|
/* 0x04 */ u16 mType;
|
||||||
}; // Size = 0x6
|
}; // Size = 0x6
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmColorKeyTable {
|
struct J3DAnmColorKeyTable {
|
||||||
J3DAnmKeyTableBase mRInfo;
|
J3DAnmKeyTableBase mRInfo;
|
||||||
J3DAnmKeyTableBase mGInfo;
|
J3DAnmKeyTableBase mGInfo;
|
||||||
|
|
@ -41,11 +48,19 @@ struct J3DAnmColorKeyTable {
|
||||||
J3DAnmKeyTableBase mAInfo;
|
J3DAnmKeyTableBase mAInfo;
|
||||||
}; // Size = 0x18
|
}; // Size = 0x18
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmVtxColorIndexData {
|
struct J3DAnmVtxColorIndexData {
|
||||||
/* 0x00 */ u16 mNum;
|
/* 0x00 */ u16 mNum;
|
||||||
/* 0x04 */ void* mpData;
|
/* 0x04 */ void* mpData;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmColorFullTable {
|
struct J3DAnmColorFullTable {
|
||||||
/* 0x00 */ u16 mRMaxFrame;
|
/* 0x00 */ u16 mRMaxFrame;
|
||||||
/* 0x02 */ u16 mROffset;
|
/* 0x02 */ u16 mROffset;
|
||||||
|
|
@ -57,17 +72,29 @@ struct J3DAnmColorFullTable {
|
||||||
/* 0x0E */ u16 mAOffset;
|
/* 0x0E */ u16 mAOffset;
|
||||||
}; // Size = 0x10
|
}; // Size = 0x10
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmVisibilityFullTable {
|
struct J3DAnmVisibilityFullTable {
|
||||||
u16 _0;
|
u16 _0;
|
||||||
u16 _2;
|
u16 _2;
|
||||||
}; // Size = 0x4
|
}; // Size = 0x4
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmTransformKeyTable {
|
struct J3DAnmTransformKeyTable {
|
||||||
J3DAnmKeyTableBase mScaleInfo;
|
J3DAnmKeyTableBase mScaleInfo;
|
||||||
J3DAnmKeyTableBase mRotationInfo;
|
J3DAnmKeyTableBase mRotationInfo;
|
||||||
J3DAnmKeyTableBase mTranslateInfo;
|
J3DAnmKeyTableBase mTranslateInfo;
|
||||||
}; // Size = 0x12
|
}; // Size = 0x12
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmTransformFullTable {
|
struct J3DAnmTransformFullTable {
|
||||||
/* 0x00 */ u16 mScaleMaxFrame;
|
/* 0x00 */ u16 mScaleMaxFrame;
|
||||||
/* 0x02 */ u16 mScaleOffset;
|
/* 0x02 */ u16 mScaleOffset;
|
||||||
|
|
@ -77,6 +104,10 @@ struct J3DAnmTransformFullTable {
|
||||||
/* 0x0A */ u16 mTranslateOffset;
|
/* 0x0A */ u16 mTranslateOffset;
|
||||||
}; // Size = 0xC
|
}; // Size = 0xC
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmTexPatternFullTable {
|
struct J3DAnmTexPatternFullTable {
|
||||||
/* 0x00 */ u16 mMaxFrame;
|
/* 0x00 */ u16 mMaxFrame;
|
||||||
/* 0x02 */ u16 mOffset;
|
/* 0x02 */ u16 mOffset;
|
||||||
|
|
@ -84,6 +115,10 @@ struct J3DAnmTexPatternFullTable {
|
||||||
/* 0x06 */ u16 _6;
|
/* 0x06 */ u16 _6;
|
||||||
}; // Size = 0x8
|
}; // Size = 0x8
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmCRegKeyTable {
|
struct J3DAnmCRegKeyTable {
|
||||||
/* 0x00 */ J3DAnmKeyTableBase mRTable;
|
/* 0x00 */ J3DAnmKeyTableBase mRTable;
|
||||||
/* 0x06 */ J3DAnmKeyTableBase mGTable;
|
/* 0x06 */ J3DAnmKeyTableBase mGTable;
|
||||||
|
|
@ -93,6 +128,10 @@ struct J3DAnmCRegKeyTable {
|
||||||
u8 padding[3];
|
u8 padding[3];
|
||||||
}; // Size = 0x1C
|
}; // Size = 0x1C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmKRegKeyTable {
|
struct J3DAnmKRegKeyTable {
|
||||||
/* 0x00 */ J3DAnmKeyTableBase mRTable;
|
/* 0x00 */ J3DAnmKeyTableBase mRTable;
|
||||||
/* 0x06 */ J3DAnmKeyTableBase mGTable;
|
/* 0x06 */ J3DAnmKeyTableBase mGTable;
|
||||||
|
|
@ -102,11 +141,19 @@ struct J3DAnmKRegKeyTable {
|
||||||
u8 padding[3];
|
u8 padding[3];
|
||||||
}; // Size = 0x1C
|
}; // Size = 0x1C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmDataBlockHeader { // actual name unknown
|
struct J3DAnmDataBlockHeader { // actual name unknown
|
||||||
/* 0x0 */ u32 mType;
|
/* 0x0 */ u32 mType;
|
||||||
/* 0x4 */ u32 mNextOffset;
|
/* 0x4 */ u32 mNextOffset;
|
||||||
}; // Size = 0x8
|
}; // Size = 0x8
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmDataHeader { // actual name unknown
|
struct J3DAnmDataHeader { // actual name unknown
|
||||||
/* 0x00 */ u32 mMagic;
|
/* 0x00 */ u32 mMagic;
|
||||||
/* 0x04 */ u32 mType;
|
/* 0x04 */ u32 mType;
|
||||||
|
|
@ -116,6 +163,10 @@ struct J3DAnmDataHeader { // actual name unknown
|
||||||
/* 0x20 */ J3DAnmDataBlockHeader mFirst;
|
/* 0x20 */ J3DAnmDataBlockHeader mFirst;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmVtxColorFullData {
|
struct J3DAnmVtxColorFullData {
|
||||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -134,6 +185,10 @@ struct J3DAnmVtxColorFullData {
|
||||||
|
|
||||||
STATIC_ASSERT(sizeof(J3DAnmVtxColorFullData) == 0x40);
|
STATIC_ASSERT(sizeof(J3DAnmVtxColorFullData) == 0x40);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmVisibilityFullData {
|
struct J3DAnmVisibilityFullData {
|
||||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -147,6 +202,10 @@ struct J3DAnmVisibilityFullData {
|
||||||
|
|
||||||
STATIC_ASSERT(sizeof(J3DAnmVisibilityFullData) == 0x18);
|
STATIC_ASSERT(sizeof(J3DAnmVisibilityFullData) == 0x18);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmTransformFullData {
|
struct J3DAnmTransformFullData {
|
||||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -162,6 +221,10 @@ struct J3DAnmTransformFullData {
|
||||||
|
|
||||||
STATIC_ASSERT(sizeof(J3DAnmTransformFullData) == 0x24);
|
STATIC_ASSERT(sizeof(J3DAnmTransformFullData) == 0x24);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmColorKeyData {
|
struct J3DAnmColorKeyData {
|
||||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -183,6 +246,10 @@ struct J3DAnmColorKeyData {
|
||||||
|
|
||||||
STATIC_ASSERT(sizeof(J3DAnmColorKeyData) == 0x34);
|
STATIC_ASSERT(sizeof(J3DAnmColorKeyData) == 0x34);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmTextureSRTKeyData {
|
struct J3DAnmTextureSRTKeyData {
|
||||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -217,6 +284,10 @@ struct J3DAnmTextureSRTKeyData {
|
||||||
|
|
||||||
STATIC_ASSERT(sizeof(J3DAnmTextureSRTKeyData) == 0x60);
|
STATIC_ASSERT(sizeof(J3DAnmTextureSRTKeyData) == 0x60);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmVtxColorKeyData {
|
struct J3DAnmVtxColorKeyData {
|
||||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -235,6 +306,10 @@ struct J3DAnmVtxColorKeyData {
|
||||||
|
|
||||||
STATIC_ASSERT(sizeof(J3DAnmVtxColorKeyData) == 0x40);
|
STATIC_ASSERT(sizeof(J3DAnmVtxColorKeyData) == 0x40);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmTexPatternFullData {
|
struct J3DAnmTexPatternFullData {
|
||||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -250,6 +325,10 @@ struct J3DAnmTexPatternFullData {
|
||||||
|
|
||||||
STATIC_ASSERT(sizeof(J3DAnmTexPatternFullData) == 0x20);
|
STATIC_ASSERT(sizeof(J3DAnmTexPatternFullData) == 0x20);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmTevRegKeyData {
|
struct J3DAnmTevRegKeyData {
|
||||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -283,6 +362,10 @@ struct J3DAnmTevRegKeyData {
|
||||||
|
|
||||||
STATIC_ASSERT(sizeof(J3DAnmTevRegKeyData) == 0x58);
|
STATIC_ASSERT(sizeof(J3DAnmTevRegKeyData) == 0x58);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmColorFullData { /* PlaceHolder Structure */
|
struct J3DAnmColorFullData { /* PlaceHolder Structure */
|
||||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -301,10 +384,18 @@ struct J3DAnmColorFullData { /* PlaceHolder Structure */
|
||||||
|
|
||||||
STATIC_ASSERT(sizeof(J3DAnmColorFullData) == 0x34);
|
STATIC_ASSERT(sizeof(J3DAnmColorFullData) == 0x34);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmClusterKeyTable {
|
struct J3DAnmClusterKeyTable {
|
||||||
/* 0x00 */ J3DAnmKeyTableBase mWeightTable;
|
/* 0x00 */ J3DAnmKeyTableBase mWeightTable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmTransformKeyData {
|
struct J3DAnmTransformKeyData {
|
||||||
/* 0x00 */ JUTDataBlockHeader mHeader;
|
/* 0x00 */ JUTDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -318,6 +409,10 @@ struct J3DAnmTransformKeyData {
|
||||||
/* 0x20 */ s32 field_0x20;
|
/* 0x20 */ s32 field_0x20;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmClusterKeyData {
|
struct J3DAnmClusterKeyData {
|
||||||
/* 0x00 */ JUTDataBlockHeader mHeader;
|
/* 0x00 */ JUTDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -327,6 +422,10 @@ struct J3DAnmClusterKeyData {
|
||||||
/* 0x14 */ s32 mWeightOffset;
|
/* 0x14 */ s32 mWeightOffset;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmClusterFullData {
|
struct J3DAnmClusterFullData {
|
||||||
/* 0x00 */ JUTDataBlockHeader mHeader;
|
/* 0x00 */ JUTDataBlockHeader mHeader;
|
||||||
/* 0x08 */ u8 field_0x8;
|
/* 0x08 */ u8 field_0x8;
|
||||||
|
|
@ -336,11 +435,19 @@ struct J3DAnmClusterFullData {
|
||||||
/* 0x14 */ s32 mWeightOffset;
|
/* 0x14 */ s32 mWeightOffset;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmClusterFullTable {
|
struct J3DAnmClusterFullTable {
|
||||||
u16 mMaxFrame;
|
u16 mMaxFrame;
|
||||||
u16 mOffset;
|
u16 mOffset;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmBase {
|
class J3DAnmBase {
|
||||||
public:
|
public:
|
||||||
J3DAnmBase() {
|
J3DAnmBase() {
|
||||||
|
|
@ -371,6 +478,10 @@ public:
|
||||||
/* 0x8 */ f32 mFrame;
|
/* 0x8 */ f32 mFrame;
|
||||||
}; // Size: 0xC
|
}; // Size: 0xC
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmTransform : public J3DAnmBase {
|
class J3DAnmTransform : public J3DAnmBase {
|
||||||
public:
|
public:
|
||||||
/* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*);
|
/* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*);
|
||||||
|
|
@ -388,6 +499,10 @@ public:
|
||||||
/* 0x1E */ s16 field_0x1e;
|
/* 0x1E */ s16 field_0x1e;
|
||||||
}; // Size: 0x20
|
}; // Size: 0x20
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmTransformKey : public J3DAnmTransform {
|
class J3DAnmTransformKey : public J3DAnmTransform {
|
||||||
public:
|
public:
|
||||||
J3DAnmTransformKey() : J3DAnmTransform(0, NULL, NULL, NULL) {
|
J3DAnmTransformKey() : J3DAnmTransform(0, NULL, NULL, NULL) {
|
||||||
|
|
@ -405,6 +520,10 @@ public:
|
||||||
/* 0x24 */ J3DAnmTransformKeyTable* mAnmTable;
|
/* 0x24 */ J3DAnmTransformKeyTable* mAnmTable;
|
||||||
}; // Size: 0x28
|
}; // Size: 0x28
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmTransformFull : public J3DAnmTransform {
|
class J3DAnmTransformFull : public J3DAnmTransform {
|
||||||
public:
|
public:
|
||||||
J3DAnmTransformFull() : J3DAnmTransform(0, NULL, NULL, NULL) { mAnmTable = NULL; }
|
J3DAnmTransformFull() : J3DAnmTransform(0, NULL, NULL, NULL) { mAnmTable = NULL; }
|
||||||
|
|
@ -416,6 +535,10 @@ public:
|
||||||
/* 0x20 */ J3DAnmTransformFullTable* mAnmTable;
|
/* 0x20 */ J3DAnmTransformFullTable* mAnmTable;
|
||||||
}; // Size: 0x24
|
}; // Size: 0x24
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmTransformFullWithLerp : public J3DAnmTransformFull {
|
class J3DAnmTransformFullWithLerp : public J3DAnmTransformFull {
|
||||||
public:
|
public:
|
||||||
/* 8032C228 */ virtual ~J3DAnmTransformFullWithLerp();
|
/* 8032C228 */ virtual ~J3DAnmTransformFullWithLerp();
|
||||||
|
|
@ -427,6 +550,10 @@ struct J3DTextureSRTInfo;
|
||||||
class J3DModelData;
|
class J3DModelData;
|
||||||
class J3DMaterialTable;
|
class J3DMaterialTable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmTextureSRTKey : public J3DAnmBase {
|
class J3DAnmTextureSRTKey : public J3DAnmBase {
|
||||||
public:
|
public:
|
||||||
/* 80329E5C */ J3DAnmTextureSRTKey();
|
/* 80329E5C */ J3DAnmTextureSRTKey();
|
||||||
|
|
@ -477,6 +604,10 @@ public:
|
||||||
/* 0x78 */ u32 mTexMtxCalcType;
|
/* 0x78 */ u32 mTexMtxCalcType;
|
||||||
}; // Size: 0x7C
|
}; // Size: 0x7C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmTexPattern : public J3DAnmBase {
|
class J3DAnmTexPattern : public J3DAnmBase {
|
||||||
public:
|
public:
|
||||||
/* 8032AED8 */ J3DAnmTexPattern();
|
/* 8032AED8 */ J3DAnmTexPattern();
|
||||||
|
|
@ -500,6 +631,10 @@ public:
|
||||||
/* 0x1C */ JUTNameTab mUpdateMaterialName;
|
/* 0x1C */ JUTNameTab mUpdateMaterialName;
|
||||||
}; // Size: 0x2C
|
}; // Size: 0x2C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmTevRegKey : public J3DAnmBase {
|
class J3DAnmTevRegKey : public J3DAnmBase {
|
||||||
public:
|
public:
|
||||||
/* 8032AE18 */ J3DAnmTevRegKey();
|
/* 8032AE18 */ J3DAnmTevRegKey();
|
||||||
|
|
@ -549,6 +684,10 @@ public:
|
||||||
/* 0x6C */ s16* mAnmKRegDataA;
|
/* 0x6C */ s16* mAnmKRegDataA;
|
||||||
}; // Size: 0x70
|
}; // Size: 0x70
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmColor : public J3DAnmBase {
|
class J3DAnmColor : public J3DAnmBase {
|
||||||
public:
|
public:
|
||||||
/* 8032A828 */ J3DAnmColor();
|
/* 8032A828 */ J3DAnmColor();
|
||||||
|
|
@ -571,6 +710,10 @@ public:
|
||||||
/* 0x1C */ JUTNameTab mUpdateMaterialName;
|
/* 0x1C */ JUTNameTab mUpdateMaterialName;
|
||||||
}; // Size: 0x2C
|
}; // Size: 0x2C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmColorKey : public J3DAnmColor {
|
class J3DAnmColorKey : public J3DAnmColor {
|
||||||
public:
|
public:
|
||||||
/* 8032AB00 */ J3DAnmColorKey();
|
/* 8032AB00 */ J3DAnmColorKey();
|
||||||
|
|
@ -586,6 +729,10 @@ public:
|
||||||
/* 0x3C */ J3DAnmColorKeyTable* field_0x3c;
|
/* 0x3C */ J3DAnmColorKeyTable* field_0x3c;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmColorFull : public J3DAnmColor {
|
class J3DAnmColorFull : public J3DAnmColor {
|
||||||
public:
|
public:
|
||||||
/* 8032AB00 */ J3DAnmColorFull();
|
/* 8032AB00 */ J3DAnmColorFull();
|
||||||
|
|
@ -601,6 +748,10 @@ public:
|
||||||
/* 0x3C */ J3DAnmColorFullTable* mAnmTable;
|
/* 0x3C */ J3DAnmColorFullTable* mAnmTable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmVtxColor : public J3DAnmBase {
|
class J3DAnmVtxColor : public J3DAnmBase {
|
||||||
public:
|
public:
|
||||||
J3DAnmVtxColor();
|
J3DAnmVtxColor();
|
||||||
|
|
@ -613,6 +764,10 @@ public:
|
||||||
/* 0x10 */ J3DAnmVtxColorIndexData* mAnmVtxColorIndexData[2];
|
/* 0x10 */ J3DAnmVtxColorIndexData* mAnmVtxColorIndexData[2];
|
||||||
}; // Size: 0x18
|
}; // Size: 0x18
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmVtxColorKey : public J3DAnmVtxColor {
|
class J3DAnmVtxColorKey : public J3DAnmVtxColor {
|
||||||
public:
|
public:
|
||||||
/* 8032A4E0 */ J3DAnmVtxColorKey();
|
/* 8032A4E0 */ J3DAnmVtxColorKey();
|
||||||
|
|
@ -628,6 +783,10 @@ public:
|
||||||
/* 0x30 */ s16* mColorA;
|
/* 0x30 */ s16* mColorA;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmVtxColorFull : public J3DAnmVtxColor {
|
class J3DAnmVtxColorFull : public J3DAnmVtxColor {
|
||||||
public:
|
public:
|
||||||
/* 8032A30C */ J3DAnmVtxColorFull();
|
/* 8032A30C */ J3DAnmVtxColorFull();
|
||||||
|
|
@ -643,6 +802,10 @@ public:
|
||||||
/* 0x30 */ u8* mColorA;
|
/* 0x30 */ u8* mColorA;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmCluster : public J3DAnmBase {
|
class J3DAnmCluster : public J3DAnmBase {
|
||||||
public:
|
public:
|
||||||
J3DAnmCluster(s16 param_1, f32* param_2) : J3DAnmBase(param_1) { mWeight = param_2; }
|
J3DAnmCluster(s16 param_1, f32* param_2) : J3DAnmBase(param_1) { mWeight = param_2; }
|
||||||
|
|
@ -654,6 +817,10 @@ public:
|
||||||
/* 0x0C */ f32* mWeight;
|
/* 0x0C */ f32* mWeight;
|
||||||
}; // Size: 0x10
|
}; // Size: 0x10
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmClusterFull : public J3DAnmCluster {
|
class J3DAnmClusterFull : public J3DAnmCluster {
|
||||||
public:
|
public:
|
||||||
J3DAnmClusterFull() : J3DAnmCluster(0, 0) { mAnmTable = NULL; }
|
J3DAnmClusterFull() : J3DAnmCluster(0, 0) { mAnmTable = NULL; }
|
||||||
|
|
@ -665,6 +832,10 @@ public:
|
||||||
/* 0x10 */ J3DAnmClusterFullTable* mAnmTable;
|
/* 0x10 */ J3DAnmClusterFullTable* mAnmTable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmClusterKey : public J3DAnmCluster {
|
class J3DAnmClusterKey : public J3DAnmCluster {
|
||||||
public:
|
public:
|
||||||
J3DAnmClusterKey() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
|
J3DAnmClusterKey() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
|
||||||
|
|
@ -676,6 +847,10 @@ public:
|
||||||
/* 0x10 */ J3DAnmClusterKeyTable* mAnmTable;
|
/* 0x10 */ J3DAnmClusterKeyTable* mAnmTable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DAnmVisibilityFull : public J3DAnmBase {
|
class J3DAnmVisibilityFull : public J3DAnmBase {
|
||||||
public:
|
public:
|
||||||
J3DAnmVisibilityFull() : J3DAnmBase(0) {
|
J3DAnmVisibilityFull() : J3DAnmBase(0) {
|
||||||
|
|
@ -694,6 +869,10 @@ public:
|
||||||
/* 0x14 */ u8* mVisibility;
|
/* 0x14 */ u8* mVisibility;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DFrameCtrl {
|
class J3DFrameCtrl {
|
||||||
public:
|
public:
|
||||||
enum Attribute_e {
|
enum Attribute_e {
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,10 @@ class J3DModel;
|
||||||
class J3DAnmCluster;
|
class J3DAnmCluster;
|
||||||
class JUTNameTab;
|
class JUTNameTab;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DCluster {
|
class J3DCluster {
|
||||||
public:
|
public:
|
||||||
void operator=(const J3DCluster& other) {
|
void operator=(const J3DCluster& other) {
|
||||||
|
|
@ -44,6 +48,10 @@ public:
|
||||||
/* 0x20 */ J3DDeformer* mDeformer;
|
/* 0x20 */ J3DDeformer* mDeformer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DClusterKey {
|
class J3DClusterKey {
|
||||||
public:
|
public:
|
||||||
void operator=(const J3DClusterKey& other) {
|
void operator=(const J3DClusterKey& other) {
|
||||||
|
|
@ -59,6 +67,10 @@ public:
|
||||||
/* 0x08 */ void* field_0x8;
|
/* 0x08 */ void* field_0x8;
|
||||||
}; // Size: 0x0C
|
}; // Size: 0x0C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DDeformData {
|
class J3DDeformData {
|
||||||
public:
|
public:
|
||||||
/* 8032E1F8 */ J3DDeformData();
|
/* 8032E1F8 */ J3DDeformData();
|
||||||
|
|
@ -88,6 +100,10 @@ public:
|
||||||
/* 0x24 */ JUTNameTab* mClusterKeyName;
|
/* 0x24 */ JUTNameTab* mClusterKeyName;
|
||||||
}; // Size: 0x28
|
}; // Size: 0x28
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DClusterVertex {
|
class J3DClusterVertex {
|
||||||
public:
|
public:
|
||||||
void operator=(const J3DClusterVertex& other) {
|
void operator=(const J3DClusterVertex& other) {
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,10 @@ class J3DJoint;
|
||||||
class J3DMaterial;
|
class J3DMaterial;
|
||||||
class J3DMtxBuffer;
|
class J3DMtxBuffer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DMtxCalc {
|
class J3DMtxCalc {
|
||||||
public:
|
public:
|
||||||
/* 80325D1C */ static void setMtxBuffer(J3DMtxBuffer*);
|
/* 80325D1C */ static void setMtxBuffer(J3DMtxBuffer*);
|
||||||
|
|
@ -30,11 +34,19 @@ public:
|
||||||
static J3DJoint* mJoint;
|
static J3DJoint* mJoint;
|
||||||
}; // Size: 0x4
|
}; // Size: 0x4
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DMtxCalcNoAnmBase : public J3DMtxCalc {
|
class J3DMtxCalcNoAnmBase : public J3DMtxCalc {
|
||||||
public:
|
public:
|
||||||
/* 8000FA8C */ virtual ~J3DMtxCalcNoAnmBase();
|
/* 8000FA8C */ virtual ~J3DMtxCalcNoAnmBase();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
template <class A, class B>
|
template <class A, class B>
|
||||||
class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase {
|
class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase {
|
||||||
public:
|
public:
|
||||||
|
|
@ -47,6 +59,10 @@ public:
|
||||||
class J3DJoint;
|
class J3DJoint;
|
||||||
typedef int (*J3DJointCallBack)(J3DJoint*, int);
|
typedef int (*J3DJointCallBack)(J3DJoint*, int);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DJoint {
|
class J3DJoint {
|
||||||
public:
|
public:
|
||||||
/* 8032F13C */ void appendChild(J3DJoint*);
|
/* 8032F13C */ void appendChild(J3DJoint*);
|
||||||
|
|
@ -93,22 +109,42 @@ private:
|
||||||
/* 0x58 */ J3DMaterial* mMesh;
|
/* 0x58 */ J3DMaterial* mMesh;
|
||||||
}; // Size: 0x5C
|
}; // Size: 0x5C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DMtxCalcJ3DSysInitMaya {
|
struct J3DMtxCalcJ3DSysInitMaya {
|
||||||
/* 8032ECAC */ static void init(const Vec&, const Mtx& param_1);
|
/* 8032ECAC */ static void init(const Vec&, const Mtx& param_1);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DMtxCalcJ3DSysInitBasic {
|
struct J3DMtxCalcJ3DSysInitBasic {
|
||||||
/* 8032EC28 */ static void init(const Vec&, const Mtx& param_1);
|
/* 8032EC28 */ static void init(const Vec&, const Mtx& param_1);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DMtxCalcCalcTransformSoftimage {
|
struct J3DMtxCalcCalcTransformSoftimage {
|
||||||
/* 8032EE50 */ static void calcTransform(J3DTransformInfo const&);
|
/* 8032EE50 */ static void calcTransform(J3DTransformInfo const&);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DMtxCalcCalcTransformMaya {
|
struct J3DMtxCalcCalcTransformMaya {
|
||||||
/* 8032EFBC */ static void calcTransform(J3DTransformInfo const&);
|
/* 8032EFBC */ static void calcTransform(J3DTransformInfo const&);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DMtxCalcCalcTransformBasic {
|
struct J3DMtxCalcCalcTransformBasic {
|
||||||
/* 8032ED30 */ static void calcTransform(J3DTransformInfo const&);
|
/* 8032ED30 */ static void calcTransform(J3DTransformInfo const&);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,13 @@
|
||||||
#define J3DJOINTTREE_H
|
#define J3DJOINTTREE_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
|
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class JUTNameTab;
|
class JUTNameTab;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DModelHierarchy {
|
struct J3DModelHierarchy {
|
||||||
/* 0x0 */ u16 mType;
|
/* 0x0 */ u16 mType;
|
||||||
/* 0x2 */ u16 mValue;
|
/* 0x2 */ u16 mValue;
|
||||||
|
|
@ -13,6 +16,10 @@ struct J3DModelHierarchy {
|
||||||
|
|
||||||
class J3DMaterialTable;
|
class J3DMaterialTable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DDrawMtxData {
|
struct J3DDrawMtxData {
|
||||||
/* 803115E0 */ J3DDrawMtxData();
|
/* 803115E0 */ J3DDrawMtxData();
|
||||||
/* 803115F4 */ ~J3DDrawMtxData();
|
/* 803115F4 */ ~J3DDrawMtxData();
|
||||||
|
|
@ -25,6 +32,10 @@ struct J3DDrawMtxData {
|
||||||
|
|
||||||
class J3DShapeTable;
|
class J3DShapeTable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DJointTree {
|
class J3DJointTree {
|
||||||
public:
|
public:
|
||||||
/* 80325A18 */ J3DJointTree();
|
/* 80325A18 */ J3DJointTree();
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,10 @@
|
||||||
typedef struct _GXColor GXColor;
|
typedef struct _GXColor GXColor;
|
||||||
typedef struct _GXColorS10 GXColorS10;
|
typedef struct _GXColorS10 GXColorS10;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DMatColorAnm {
|
class J3DMatColorAnm {
|
||||||
public:
|
public:
|
||||||
/* 8003B2B8 */ ~J3DMatColorAnm() {};
|
/* 8003B2B8 */ ~J3DMatColorAnm() {};
|
||||||
|
|
@ -32,6 +36,10 @@ private:
|
||||||
/* 0x4 */ J3DAnmColor* mAnmColor;
|
/* 0x4 */ J3DAnmColor* mAnmColor;
|
||||||
}; // Size: 0x8
|
}; // Size: 0x8
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTexNoAnm {
|
class J3DTexNoAnm {
|
||||||
public:
|
public:
|
||||||
/* 8003B1F8 */ ~J3DTexNoAnm() {};
|
/* 8003B1F8 */ ~J3DTexNoAnm() {};
|
||||||
|
|
@ -59,6 +67,10 @@ private:
|
||||||
/* 0x8 */ J3DAnmTexPattern* mAnmTexPattern;
|
/* 0x8 */ J3DAnmTexPattern* mAnmTexPattern;
|
||||||
}; // Size: 0xC
|
}; // Size: 0xC
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTexMtxAnm {
|
class J3DTexMtxAnm {
|
||||||
public:
|
public:
|
||||||
/* 8003B264 */ ~J3DTexMtxAnm() {};
|
/* 8003B264 */ ~J3DTexMtxAnm() {};
|
||||||
|
|
@ -87,6 +99,10 @@ private:
|
||||||
/* 0x4 */ J3DAnmTextureSRTKey* mAnmTransform;
|
/* 0x4 */ J3DAnmTextureSRTKey* mAnmTransform;
|
||||||
}; // Size: 0x8
|
}; // Size: 0x8
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTevKColorAnm {
|
class J3DTevKColorAnm {
|
||||||
public:
|
public:
|
||||||
/* 8003B150 */ ~J3DTevKColorAnm() {}
|
/* 8003B150 */ ~J3DTevKColorAnm() {}
|
||||||
|
|
@ -113,6 +129,10 @@ private:
|
||||||
/* 0x4 */ J3DAnmTevRegKey* mAnmTevReg;
|
/* 0x4 */ J3DAnmTevRegKey* mAnmTevReg;
|
||||||
}; // Size: 0x8
|
}; // Size: 0x8
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTevColorAnm {
|
class J3DTevColorAnm {
|
||||||
public:
|
public:
|
||||||
/* 8003B1A4 */ ~J3DTevColorAnm() {}
|
/* 8003B1A4 */ ~J3DTevColorAnm() {}
|
||||||
|
|
@ -139,6 +159,10 @@ private:
|
||||||
/* 0x4 */ J3DAnmTevRegKey* mAnmTevReg;
|
/* 0x4 */ J3DAnmTevRegKey* mAnmTevReg;
|
||||||
}; // Size: 0x8
|
}; // Size: 0x8
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DMaterialAnm {
|
class J3DMaterialAnm {
|
||||||
public:
|
public:
|
||||||
J3DMaterialAnm() { initialize(); }
|
J3DMaterialAnm() { initialize(); }
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,10 @@ class J3DAnmTextureSRTKey;
|
||||||
class J3DAnmTevRegKey;
|
class J3DAnmTevRegKey;
|
||||||
class JUTNameTab;
|
class JUTNameTab;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DMaterialTable {
|
class J3DMaterialTable {
|
||||||
public:
|
public:
|
||||||
/* 8032F5A8 */ void clear();
|
/* 8032F5A8 */ void clear();
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,6 @@
|
||||||
|
|
||||||
#include "JSystem/J3DGraphAnimator/J3DSkinDeform.h"
|
#include "JSystem/J3DGraphAnimator/J3DSkinDeform.h"
|
||||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||||
#include "JSystem/J3DGraphBase/J3DVertex.h"
|
|
||||||
#include "dolphin/mtx.h"
|
|
||||||
#include "dolphin/types.h"
|
#include "dolphin/types.h"
|
||||||
|
|
||||||
enum J3DMdlFlag {
|
enum J3DMdlFlag {
|
||||||
|
|
@ -18,10 +16,18 @@ enum J3DMdlFlag {
|
||||||
/* 0x80000 */ J3DMdlFlag_Unk80000 = 0x80000,
|
/* 0x80000 */ J3DMdlFlag_Unk80000 = 0x80000,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DUnkCalc1 {
|
struct J3DUnkCalc1 {
|
||||||
virtual void calc(J3DModel* model);
|
virtual void calc(J3DModel* model);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DUnkCalc2 {
|
struct J3DUnkCalc2 {
|
||||||
virtual void unk();
|
virtual void unk();
|
||||||
virtual void calc(J3DModelData* mpModelData);
|
virtual void calc(J3DModelData* mpModelData);
|
||||||
|
|
@ -29,6 +35,10 @@ struct J3DUnkCalc2 {
|
||||||
|
|
||||||
typedef void (*J3DCalcCallBack)(J3DModel*, u32 timing);
|
typedef void (*J3DCalcCallBack)(J3DModel*, u32 timing);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DModel {
|
class J3DModel {
|
||||||
public:
|
public:
|
||||||
J3DModel() {
|
J3DModel() {
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,10 @@
|
||||||
typedef struct _GXColor GXColor;
|
typedef struct _GXColor GXColor;
|
||||||
class JUTNameTab;
|
class JUTNameTab;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DModelData {
|
class J3DModelData {
|
||||||
public:
|
public:
|
||||||
/* 80325D88 */ void clear();
|
/* 80325D88 */ void clear();
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,13 @@
|
||||||
#define J3DMTXBUFFER_H
|
#define J3DMTXBUFFER_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class J3DModelData;
|
class J3DModelData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DMtxBuffer {
|
class J3DMtxBuffer {
|
||||||
public:
|
public:
|
||||||
J3DMtxBuffer() { initialize(); }
|
J3DMtxBuffer() { initialize(); }
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,13 @@
|
||||||
#define J3DSHAPETABLE_H
|
#define J3DSHAPETABLE_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DShape.h"
|
#include "JSystem/J3DGraphBase/J3DShape.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class JUTNameTab;
|
class JUTNameTab;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DShapeTable {
|
class J3DShapeTable {
|
||||||
public:
|
public:
|
||||||
J3DShapeTable() {
|
J3DShapeTable() {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#include "JSystem/J3DGraphAnimator/J3DCluster.h"
|
#include "JSystem/J3DGraphAnimator/J3DCluster.h"
|
||||||
#include "JSystem/J3DGraphAnimator/J3DMtxBuffer.h"
|
#include "JSystem/J3DGraphAnimator/J3DMtxBuffer.h"
|
||||||
#include "JSystem/J3DGraphBase/J3DTransform.h"
|
|
||||||
#include "dolphin/types.h"
|
#include "dolphin/types.h"
|
||||||
|
|
||||||
class J3DModel;
|
class J3DModel;
|
||||||
|
|
@ -11,6 +10,10 @@ class J3DAnmCluster;
|
||||||
class J3DClusterVertex;
|
class J3DClusterVertex;
|
||||||
class JUTNameTab;
|
class JUTNameTab;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DSkinNList {
|
struct J3DSkinNList {
|
||||||
/* 8032C6E4 */ J3DSkinNList();
|
/* 8032C6E4 */ J3DSkinNList();
|
||||||
/* 8032C85C */ void calcSkin_VtxPosF32(f32 (*)[4], void*, void*);
|
/* 8032C85C */ void calcSkin_VtxPosF32(f32 (*)[4], void*, void*);
|
||||||
|
|
@ -24,6 +27,10 @@ struct J3DSkinNList {
|
||||||
/* 0x12 */ u16 field_0x12;
|
/* 0x12 */ u16 field_0x12;
|
||||||
}; // Size: 0x14
|
}; // Size: 0x14
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DSkinDeform {
|
class J3DSkinDeform {
|
||||||
public:
|
public:
|
||||||
/* 8032C96C */ J3DSkinDeform();
|
/* 8032C96C */ J3DSkinDeform();
|
||||||
|
|
@ -68,6 +75,10 @@ private:
|
||||||
/* 0x24 */ J3DSkinNList* mSkinNList;
|
/* 0x24 */ J3DSkinNList* mSkinNList;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DDeformer {
|
class J3DDeformer {
|
||||||
public:
|
public:
|
||||||
/* 8032E39C */ J3DDeformer(J3DDeformData*);
|
/* 8032E39C */ J3DDeformer(J3DDeformData*);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
#define J3DDRAWBUFFER_H
|
#define J3DDRAWBUFFER_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
// matches debug
|
// matches debug
|
||||||
inline f32 J3DCalcZValue(register MtxP m, register Vec v) {
|
inline f32 J3DCalcZValue(register MtxP m, register Vec v) {
|
||||||
|
|
@ -37,6 +36,10 @@ class J3DShapePacket;
|
||||||
typedef int (J3DDrawBuffer::*sortFunc)(J3DMatPacket*);
|
typedef int (J3DDrawBuffer::*sortFunc)(J3DMatPacket*);
|
||||||
typedef void (J3DDrawBuffer::*drawFunc)() const;
|
typedef void (J3DDrawBuffer::*drawFunc)() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DDrawBuffer {
|
class J3DDrawBuffer {
|
||||||
public:
|
public:
|
||||||
enum EDrawType {
|
enum EDrawType {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
#define J3DGD_H
|
#define J3DGD_H
|
||||||
|
|
||||||
#include "dolphin/gd/GDBase.h"
|
#include "dolphin/gd/GDBase.h"
|
||||||
#include "dolphin/gx.h"
|
|
||||||
|
|
||||||
inline void J3DGDWrite_u8(u8 param) {
|
inline void J3DGDWrite_u8(u8 param) {
|
||||||
__GDWrite(param);
|
__GDWrite(param);
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,34 @@
|
||||||
#ifndef J3DMATBLOCK_H
|
#ifndef J3DMATBLOCK_H
|
||||||
#define J3DMATBLOCK_H
|
#define J3DMATBLOCK_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DStruct.h"
|
|
||||||
#include "JSystem/J3DGraphBase/J3DTevs.h"
|
#include "JSystem/J3DGraphBase/J3DTevs.h"
|
||||||
#include "JSystem/J3DGraphBase/J3DTexture.h"
|
#include "JSystem/J3DGraphBase/J3DTexture.h"
|
||||||
#include "dolphin/types.h"
|
#include "dolphin/types.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DGXColorS10 : public GXColorS10 {
|
struct J3DGXColorS10 : public GXColorS10 {
|
||||||
/* 8000E460 */ J3DGXColorS10() {}
|
/* 8000E460 */ J3DGXColorS10() {}
|
||||||
J3DGXColorS10(J3DGXColorS10 const& other) { __memcpy(this, &other, sizeof(J3DGXColorS10)); }
|
J3DGXColorS10(J3DGXColorS10 const& other) { __memcpy(this, &other, sizeof(J3DGXColorS10)); }
|
||||||
J3DGXColorS10(GXColorS10 const& color) : GXColorS10(color) {}
|
J3DGXColorS10(GXColorS10 const& color) : GXColorS10(color) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DGXColor : public GXColor {
|
struct J3DGXColor : public GXColor {
|
||||||
/* 8000E538 */ J3DGXColor() {}
|
/* 8000E538 */ J3DGXColor() {}
|
||||||
J3DGXColor(J3DGXColor const& other) { __memcpy(this, &other, sizeof(J3DGXColor)); }
|
J3DGXColor(J3DGXColor const& other) { __memcpy(this, &other, sizeof(J3DGXColor)); }
|
||||||
J3DGXColor(GXColor const& color) : GXColor(color) {}
|
J3DGXColor(GXColor const& color) : GXColor(color) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DNBTScale : public J3DNBTScaleInfo {
|
struct J3DNBTScale : public J3DNBTScaleInfo {
|
||||||
J3DNBTScale() {}
|
J3DNBTScale() {}
|
||||||
J3DNBTScale(J3DNBTScaleInfo const& info) {
|
J3DNBTScale(J3DNBTScaleInfo const& info) {
|
||||||
|
|
@ -29,6 +40,10 @@ struct J3DNBTScale : public J3DNBTScaleInfo {
|
||||||
|
|
||||||
extern const J3DNBTScaleInfo j3dDefaultNBTScaleInfo;
|
extern const J3DNBTScaleInfo j3dDefaultNBTScaleInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTexGenBlock {
|
class J3DTexGenBlock {
|
||||||
public:
|
public:
|
||||||
/* 80317354 */ virtual void reset(J3DTexGenBlock*);
|
/* 80317354 */ virtual void reset(J3DTexGenBlock*);
|
||||||
|
|
@ -72,6 +87,10 @@ struct J3DTexGenBlockNull : public J3DTexGenBlock {
|
||||||
/* 80332AD0 */ virtual ~J3DTexGenBlockNull(); // {}
|
/* 80332AD0 */ virtual ~J3DTexGenBlockNull(); // {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTexGenBlockPatched : public J3DTexGenBlock {
|
class J3DTexGenBlockPatched : public J3DTexGenBlock {
|
||||||
public:
|
public:
|
||||||
J3DTexGenBlockPatched() {
|
J3DTexGenBlockPatched() {
|
||||||
|
|
@ -108,6 +127,10 @@ public:
|
||||||
/* 0x58 */ u32 mTexMtxOffset;
|
/* 0x58 */ u32 mTexMtxOffset;
|
||||||
}; // Size: 0x5C
|
}; // Size: 0x5C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTexGenBlockBasic : public J3DTexGenBlockPatched {
|
class J3DTexGenBlockBasic : public J3DTexGenBlockPatched {
|
||||||
public:
|
public:
|
||||||
J3DTexGenBlockBasic() : mNBTScale(j3dDefaultNBTScaleInfo) {
|
J3DTexGenBlockBasic() : mNBTScale(j3dDefaultNBTScaleInfo) {
|
||||||
|
|
@ -128,6 +151,10 @@ public:
|
||||||
/* 0x5C */ J3DNBTScale mNBTScale;
|
/* 0x5C */ J3DNBTScale mNBTScale;
|
||||||
}; // Size: 0x6C
|
}; // Size: 0x6C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTexGenBlock4 : public J3DTexGenBlockPatched {
|
class J3DTexGenBlock4 : public J3DTexGenBlockPatched {
|
||||||
public:
|
public:
|
||||||
J3DTexGenBlock4() : mNBTScale(j3dDefaultNBTScaleInfo) {
|
J3DTexGenBlock4() : mNBTScale(j3dDefaultNBTScaleInfo) {
|
||||||
|
|
@ -148,6 +175,10 @@ public:
|
||||||
/* 0x5C */ J3DNBTScale mNBTScale;
|
/* 0x5C */ J3DNBTScale mNBTScale;
|
||||||
}; // Size: 0x6C
|
}; // Size: 0x6C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTevBlock {
|
class J3DTevBlock {
|
||||||
public:
|
public:
|
||||||
/* 80317350 */ virtual void reset(J3DTevBlock*);
|
/* 80317350 */ virtual void reset(J3DTevBlock*);
|
||||||
|
|
@ -210,6 +241,10 @@ protected:
|
||||||
/* 0x4 */ u32 mTexNoOffset;
|
/* 0x4 */ u32 mTexNoOffset;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTevBlockNull : public J3DTevBlock {
|
class J3DTevBlockNull : public J3DTevBlock {
|
||||||
public:
|
public:
|
||||||
J3DTevBlockNull() { initialize(); }
|
J3DTevBlockNull() { initialize(); }
|
||||||
|
|
@ -221,6 +256,10 @@ public:
|
||||||
/* 80332A44 */ virtual ~J3DTevBlockNull(); // {}
|
/* 80332A44 */ virtual ~J3DTevBlockNull(); // {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTevBlockPatched : public J3DTevBlock {
|
class J3DTevBlockPatched : public J3DTevBlock {
|
||||||
public:
|
public:
|
||||||
J3DTevBlockPatched() {
|
J3DTevBlockPatched() {
|
||||||
|
|
@ -283,6 +322,10 @@ public:
|
||||||
/* 0xD4 */ u32 mTevRegOffset;
|
/* 0xD4 */ u32 mTevRegOffset;
|
||||||
}; // Size: 0xD8
|
}; // Size: 0xD8
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTevBlock4 : public J3DTevBlock {
|
class J3DTevBlock4 : public J3DTevBlock {
|
||||||
public:
|
public:
|
||||||
J3DTevBlock4() {
|
J3DTevBlock4() {
|
||||||
|
|
@ -355,6 +398,10 @@ public:
|
||||||
/* 0x90 */ u32 mTevRegOffset;
|
/* 0x90 */ u32 mTevRegOffset;
|
||||||
}; // Size: 0x94
|
}; // Size: 0x94
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTevBlock2 : public J3DTevBlock {
|
class J3DTevBlock2 : public J3DTevBlock {
|
||||||
public:
|
public:
|
||||||
J3DTevBlock2() {
|
J3DTevBlock2() {
|
||||||
|
|
@ -427,6 +474,10 @@ public:
|
||||||
/* 0x68 */ u32 mTevRegOffset;
|
/* 0x68 */ u32 mTevRegOffset;
|
||||||
}; // Size: 0x6C
|
}; // Size: 0x6C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTevBlock16 : public J3DTevBlock {
|
class J3DTevBlock16 : public J3DTevBlock {
|
||||||
public:
|
public:
|
||||||
J3DTevBlock16() {
|
J3DTevBlock16() {
|
||||||
|
|
@ -499,6 +550,10 @@ public:
|
||||||
/* 0x170 */ u32 mTevRegOffset;
|
/* 0x170 */ u32 mTevRegOffset;
|
||||||
}; // Size: 0x174
|
}; // Size: 0x174
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTevBlock1 : public J3DTevBlock {
|
class J3DTevBlock1 : public J3DTevBlock {
|
||||||
public:
|
public:
|
||||||
J3DTevBlock1() {
|
J3DTevBlock1() {
|
||||||
|
|
@ -551,6 +606,10 @@ inline u16 calcZModeID(u8 param_0, u8 param_1, u8 param_2) {
|
||||||
return param_1 * 2 + param_0 * 0x10 + param_2;
|
return param_1 * 2 + param_0 * 0x10 + param_2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DZModeInfo {
|
struct J3DZModeInfo {
|
||||||
/* 0x0 */ u8 field_0x0;
|
/* 0x0 */ u8 field_0x0;
|
||||||
/* 0x1 */ u8 field_0x1;
|
/* 0x1 */ u8 field_0x1;
|
||||||
|
|
@ -558,6 +617,10 @@ struct J3DZModeInfo {
|
||||||
/* 0x3 */ u8 pad;
|
/* 0x3 */ u8 pad;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DZMode {
|
struct J3DZMode {
|
||||||
J3DZMode() : mZModeID(j3dDefaultZModeID) {}
|
J3DZMode() : mZModeID(j3dDefaultZModeID) {}
|
||||||
J3DZMode(J3DZModeInfo const& info) : mZModeID(calcZModeID(info.field_0x0, info.field_0x1, info.field_0x2)) {}
|
J3DZMode(J3DZModeInfo const& info) : mZModeID(calcZModeID(info.field_0x0, info.field_0x1, info.field_0x2)) {}
|
||||||
|
|
@ -569,6 +632,10 @@ struct J3DZMode {
|
||||||
/* 0x0 */ u16 mZModeID;
|
/* 0x0 */ u16 mZModeID;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DBlendInfo {
|
struct J3DBlendInfo {
|
||||||
void operator=(J3DBlendInfo const& other) {
|
void operator=(J3DBlendInfo const& other) {
|
||||||
*(int*)&mType = *(int*)&other.mType;
|
*(int*)&mType = *(int*)&other.mType;
|
||||||
|
|
@ -581,6 +648,10 @@ struct J3DBlendInfo {
|
||||||
|
|
||||||
extern const J3DBlendInfo j3dDefaultBlendInfo;
|
extern const J3DBlendInfo j3dDefaultBlendInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DBlend : public J3DBlendInfo {
|
struct J3DBlend : public J3DBlendInfo {
|
||||||
J3DBlend() : J3DBlendInfo(j3dDefaultBlendInfo) {}
|
J3DBlend() : J3DBlendInfo(j3dDefaultBlendInfo) {}
|
||||||
J3DBlend(J3DBlendInfo const& info) : J3DBlendInfo(info) {}
|
J3DBlend(J3DBlendInfo const& info) : J3DBlendInfo(info) {}
|
||||||
|
|
@ -588,12 +659,20 @@ struct J3DBlend : public J3DBlendInfo {
|
||||||
|
|
||||||
extern const J3DFogInfo j3dDefaultFogInfo;
|
extern const J3DFogInfo j3dDefaultFogInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DFog : public J3DFogInfo {
|
struct J3DFog : public J3DFogInfo {
|
||||||
J3DFog() { *(J3DFogInfo*)this = j3dDefaultFogInfo; }
|
J3DFog() { *(J3DFogInfo*)this = j3dDefaultFogInfo; }
|
||||||
J3DFogInfo* getFogInfo() { return this; }
|
J3DFogInfo* getFogInfo() { return this; }
|
||||||
void setFogInfo(J3DFogInfo info) { *(J3DFogInfo*)this = info; }
|
void setFogInfo(J3DFogInfo info) { *(J3DFogInfo*)this = info; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAlphaCompInfo {
|
struct J3DAlphaCompInfo {
|
||||||
/* 0x0 */ u8 field_0x0;
|
/* 0x0 */ u8 field_0x0;
|
||||||
/* 0x1 */ u8 field_0x1;
|
/* 0x1 */ u8 field_0x1;
|
||||||
|
|
@ -616,6 +695,10 @@ inline u32 calcAlphaCmpID(u32 param_1, u32 param_2, u32 param_3) {
|
||||||
// return param_1 * 0x20 + param_2 * 8 + param_3;
|
// return param_1 * 0x20 + param_2 * 8 + param_3;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAlphaComp {
|
struct J3DAlphaComp {
|
||||||
J3DAlphaComp() : mID(j3dDefaultAlphaCmpID), mRef0(0), mRef1(0) {}
|
J3DAlphaComp() : mID(j3dDefaultAlphaCmpID), mRef0(0), mRef1(0) {}
|
||||||
J3DAlphaComp(u16 id) : mID(id), mRef0(0), mRef1(0) {}
|
J3DAlphaComp(u16 id) : mID(id), mRef0(0), mRef1(0) {}
|
||||||
|
|
@ -641,6 +724,10 @@ struct J3DAlphaComp {
|
||||||
/* 0x03 */ u8 mRef1;
|
/* 0x03 */ u8 mRef1;
|
||||||
}; // Size: 0x4
|
}; // Size: 0x4
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DPEBlock {
|
class J3DPEBlock {
|
||||||
public:
|
public:
|
||||||
/* 80317348 */ virtual void reset(J3DPEBlock*);
|
/* 80317348 */ virtual void reset(J3DPEBlock*);
|
||||||
|
|
@ -674,12 +761,20 @@ public:
|
||||||
virtual ~J3DPEBlock() {}
|
virtual ~J3DPEBlock() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DPEBlockNull : public J3DPEBlock {
|
struct J3DPEBlockNull : public J3DPEBlock {
|
||||||
/* 803329A0 */ virtual void load(); // {}
|
/* 803329A0 */ virtual void load(); // {}
|
||||||
/* 803329A4 */ virtual u32 getType(); // { return 'PENL'; }
|
/* 803329A4 */ virtual u32 getType(); // { return 'PENL'; }
|
||||||
/* 803329B0 */ virtual ~J3DPEBlockNull(); // {}
|
/* 803329B0 */ virtual ~J3DPEBlockNull(); // {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DPEBlockXlu : public J3DPEBlock {
|
class J3DPEBlockXlu : public J3DPEBlock {
|
||||||
public:
|
public:
|
||||||
/* 8031E98C */ virtual void load();
|
/* 8031E98C */ virtual void load();
|
||||||
|
|
@ -688,6 +783,10 @@ public:
|
||||||
/* 80323264 */ virtual ~J3DPEBlockXlu();
|
/* 80323264 */ virtual ~J3DPEBlockXlu();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DPEBlockTexEdge : public J3DPEBlock {
|
class J3DPEBlockTexEdge : public J3DPEBlock {
|
||||||
public:
|
public:
|
||||||
/* 8031E6C8 */ virtual void load();
|
/* 8031E6C8 */ virtual void load();
|
||||||
|
|
@ -696,6 +795,10 @@ public:
|
||||||
/* 803232CC */ virtual ~J3DPEBlockTexEdge();
|
/* 803232CC */ virtual ~J3DPEBlockTexEdge();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DPEBlockOpa : public J3DPEBlock {
|
class J3DPEBlockOpa : public J3DPEBlock {
|
||||||
public:
|
public:
|
||||||
/* 8031E408 */ virtual void load();
|
/* 8031E408 */ virtual void load();
|
||||||
|
|
@ -704,6 +807,10 @@ public:
|
||||||
/* 80323334 */ virtual ~J3DPEBlockOpa();
|
/* 80323334 */ virtual ~J3DPEBlockOpa();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DPEBlockFull : public J3DPEBlock {
|
class J3DPEBlockFull : public J3DPEBlock {
|
||||||
public:
|
public:
|
||||||
J3DPEBlockFull() {
|
J3DPEBlockFull() {
|
||||||
|
|
@ -750,6 +857,10 @@ public:
|
||||||
/* 0x3C */ u32 mFogOffset;
|
/* 0x3C */ u32 mFogOffset;
|
||||||
}; // Size: 0x40
|
}; // Size: 0x40
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DPEBlockFogOff : public J3DPEBlock {
|
class J3DPEBlockFogOff : public J3DPEBlock {
|
||||||
public:
|
public:
|
||||||
J3DPEBlockFogOff() {
|
J3DPEBlockFogOff() {
|
||||||
|
|
@ -787,6 +898,10 @@ public:
|
||||||
/* 0x0F */ u8 mDither;
|
/* 0x0F */ u8 mDither;
|
||||||
}; // Size: 0x10
|
}; // Size: 0x10
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DIndTexCoordScaleInfo {
|
struct J3DIndTexCoordScaleInfo {
|
||||||
/* 0x0 */ u8 mScaleS;
|
/* 0x0 */ u8 mScaleS;
|
||||||
/* 0x1 */ u8 mScaleT;
|
/* 0x1 */ u8 mScaleT;
|
||||||
|
|
@ -796,6 +911,10 @@ struct J3DIndTexCoordScaleInfo {
|
||||||
|
|
||||||
extern const J3DIndTexCoordScaleInfo j3dDefaultIndTexCoordScaleInfo;
|
extern const J3DIndTexCoordScaleInfo j3dDefaultIndTexCoordScaleInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DIndTexCoordScale : public J3DIndTexCoordScaleInfo {
|
struct J3DIndTexCoordScale : public J3DIndTexCoordScaleInfo {
|
||||||
/* 8000E0E4 */ J3DIndTexCoordScale() : J3DIndTexCoordScaleInfo(j3dDefaultIndTexCoordScaleInfo) {}
|
/* 8000E0E4 */ J3DIndTexCoordScale() : J3DIndTexCoordScaleInfo(j3dDefaultIndTexCoordScaleInfo) {}
|
||||||
J3DIndTexCoordScale(J3DIndTexCoordScaleInfo const& info) : J3DIndTexCoordScaleInfo(info) {}
|
J3DIndTexCoordScale(J3DIndTexCoordScaleInfo const& info) : J3DIndTexCoordScaleInfo(info) {}
|
||||||
|
|
@ -804,12 +923,20 @@ struct J3DIndTexCoordScale : public J3DIndTexCoordScaleInfo {
|
||||||
|
|
||||||
extern J3DIndTexMtxInfo const j3dDefaultIndTexMtxInfo;
|
extern J3DIndTexMtxInfo const j3dDefaultIndTexMtxInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DIndTexMtx : public J3DIndTexMtxInfo {
|
struct J3DIndTexMtx : public J3DIndTexMtxInfo {
|
||||||
/* 8000E0F0 */ J3DIndTexMtx() { *(J3DIndTexMtxInfo*)this = j3dDefaultIndTexMtxInfo; }
|
/* 8000E0F0 */ J3DIndTexMtx() { *(J3DIndTexMtxInfo*)this = j3dDefaultIndTexMtxInfo; }
|
||||||
J3DIndTexMtx(J3DIndTexMtxInfo const& info) { *(J3DIndTexMtxInfo*)this = info; }
|
J3DIndTexMtx(J3DIndTexMtxInfo const& info) { *(J3DIndTexMtxInfo*)this = info; }
|
||||||
/* 8000E064 */ ~J3DIndTexMtx() {}
|
/* 8000E064 */ ~J3DIndTexMtx() {}
|
||||||
}; // Size: 0x1C
|
}; // Size: 0x1C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DIndTexOrderInfo {
|
struct J3DIndTexOrderInfo {
|
||||||
/* 0x0 */ u8 mMap;
|
/* 0x0 */ u8 mMap;
|
||||||
/* 0x1 */ u8 mCoord;
|
/* 0x1 */ u8 mCoord;
|
||||||
|
|
@ -819,11 +946,19 @@ struct J3DIndTexOrderInfo {
|
||||||
|
|
||||||
extern const J3DIndTexOrderInfo j3dDefaultIndTexOrderNull;
|
extern const J3DIndTexOrderInfo j3dDefaultIndTexOrderNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DIndTexOrder : public J3DIndTexOrderInfo {
|
struct J3DIndTexOrder : public J3DIndTexOrderInfo {
|
||||||
/* 8000E128 */ J3DIndTexOrder() : J3DIndTexOrderInfo(j3dDefaultIndTexOrderNull) {}
|
/* 8000E128 */ J3DIndTexOrder() : J3DIndTexOrderInfo(j3dDefaultIndTexOrderNull) {}
|
||||||
J3DIndTexOrder(J3DIndTexOrderInfo const& info) : J3DIndTexOrderInfo(info) {}
|
J3DIndTexOrder(J3DIndTexOrderInfo const& info) : J3DIndTexOrderInfo(info) {}
|
||||||
}; // Size: 0x04
|
}; // Size: 0x04
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DIndBlock {
|
class J3DIndBlock {
|
||||||
public:
|
public:
|
||||||
/* 8031734C */ virtual void reset(J3DIndBlock*);
|
/* 8031734C */ virtual void reset(J3DIndBlock*);
|
||||||
|
|
@ -845,6 +980,10 @@ public:
|
||||||
/* 8031726C */ virtual ~J3DIndBlock();
|
/* 8031726C */ virtual ~J3DIndBlock();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DIndBlockNull : public J3DIndBlock {
|
class J3DIndBlockNull : public J3DIndBlock {
|
||||||
public:
|
public:
|
||||||
/* 803173A0 */ virtual void reset(J3DIndBlock*);
|
/* 803173A0 */ virtual void reset(J3DIndBlock*);
|
||||||
|
|
@ -854,6 +993,10 @@ public:
|
||||||
/* 803173B0 */ virtual ~J3DIndBlockNull();
|
/* 803173B0 */ virtual ~J3DIndBlockNull();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DIndBlockFull : public J3DIndBlock {
|
class J3DIndBlockFull : public J3DIndBlock {
|
||||||
public:
|
public:
|
||||||
J3DIndBlockFull() {
|
J3DIndBlockFull() {
|
||||||
|
|
@ -885,6 +1028,10 @@ public:
|
||||||
/* 0x6C */ J3DIndTexCoordScale mIndTexCoordScale[4];
|
/* 0x6C */ J3DIndTexCoordScale mIndTexCoordScale[4];
|
||||||
}; // Size: 0x7C
|
}; // Size: 0x7C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DColorChanInfo {
|
struct J3DColorChanInfo {
|
||||||
/* 0x0 */ u8 field_0x0;
|
/* 0x0 */ u8 field_0x0;
|
||||||
/* 0x1 */ u8 field_0x1;
|
/* 0x1 */ u8 field_0x1;
|
||||||
|
|
@ -901,6 +1048,10 @@ extern const J3DColorChanInfo j3dDefaultColorChanInfo;
|
||||||
|
|
||||||
} */
|
} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DColorChan {
|
struct J3DColorChan {
|
||||||
/* 8000E47C */ J3DColorChan() {
|
/* 8000E47C */ J3DColorChan() {
|
||||||
setColorChanInfo(j3dDefaultColorChanInfo);
|
setColorChanInfo(j3dDefaultColorChanInfo);
|
||||||
|
|
@ -940,6 +1091,10 @@ struct J3DColorChan {
|
||||||
/* 0x0 */ u16 mColorChanID;
|
/* 0x0 */ u16 mColorChanID;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DColorBlock {
|
class J3DColorBlock {
|
||||||
public:
|
public:
|
||||||
/* 80317324 */ virtual void load();
|
/* 80317324 */ virtual void load();
|
||||||
|
|
@ -978,11 +1133,19 @@ public:
|
||||||
/* 80317138 */ virtual ~J3DColorBlock() {}
|
/* 80317138 */ virtual ~J3DColorBlock() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DColorBlockNull : public J3DColorBlock {
|
struct J3DColorBlockNull : public J3DColorBlock {
|
||||||
/* 80332B2C */ virtual u32 getType(); // { return 'CLNL'; }
|
/* 80332B2C */ virtual u32 getType(); // { return 'CLNL'; }
|
||||||
/* 80332B38 */ virtual ~J3DColorBlockNull(); // {}
|
/* 80332B38 */ virtual ~J3DColorBlockNull(); // {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DColorBlockLightOn : public J3DColorBlock {
|
class J3DColorBlockLightOn : public J3DColorBlock {
|
||||||
public:
|
public:
|
||||||
J3DColorBlockLightOn() {
|
J3DColorBlockLightOn() {
|
||||||
|
|
@ -1035,6 +1198,10 @@ public:
|
||||||
/* 0x48 */ u32 mColorChanOffset;
|
/* 0x48 */ u32 mColorChanOffset;
|
||||||
}; // Size: 0x4C
|
}; // Size: 0x4C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DColorBlockLightOff : public J3DColorBlock {
|
class J3DColorBlockLightOff : public J3DColorBlock {
|
||||||
public:
|
public:
|
||||||
J3DColorBlockLightOff() {
|
J3DColorBlockLightOff() {
|
||||||
|
|
@ -1078,6 +1245,10 @@ public:
|
||||||
/* 0x1C */ u32 mColorChanOffset;
|
/* 0x1C */ u32 mColorChanOffset;
|
||||||
}; // Size: 0x20
|
}; // Size: 0x20
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DColorBlockAmbientOn : public J3DColorBlockLightOff {
|
class J3DColorBlockAmbientOn : public J3DColorBlockLightOff {
|
||||||
public:
|
public:
|
||||||
J3DColorBlockAmbientOn() {
|
J3DColorBlockAmbientOn() {
|
||||||
|
|
|
||||||
|
|
@ -1,131 +1,142 @@
|
||||||
#ifndef J3DMATERIAL_H
|
#ifndef J3DMATERIAL_H
|
||||||
#define J3DMATERIAL_H
|
#define J3DMATERIAL_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||||
#include "JSystem/J3DGraphBase/J3DShape.h"
|
#include "JSystem/J3DGraphBase/J3DShape.h"
|
||||||
#include "JSystem/J3DGraphBase/J3DTexture.h"
|
#include "dolphin/types.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
class J3DJoint;
|
||||||
class J3DJoint;
|
class J3DMaterialAnm;
|
||||||
class J3DMaterialAnm;
|
|
||||||
|
/**
|
||||||
class J3DMaterial {
|
* @ingroup jsystem-j3d
|
||||||
public:
|
*
|
||||||
/* 803157A0 */ static J3DColorBlock* createColorBlock(u32);
|
*/
|
||||||
/* 803159A0 */ static J3DTexGenBlock* createTexGenBlock(u32);
|
class J3DMaterial {
|
||||||
/* 80315B04 */ static J3DTevBlock* createTevBlock(int);
|
public:
|
||||||
/* 80315E78 */ static J3DIndBlock* createIndBlock(int);
|
/* 803157A0 */ static J3DColorBlock* createColorBlock(u32);
|
||||||
/* 80315F60 */ static J3DPEBlock* createPEBlock(u32, u32);
|
/* 803159A0 */ static J3DTexGenBlock* createTexGenBlock(u32);
|
||||||
/* 80316100 */ static u32 calcSizeColorBlock(u32);
|
/* 80315B04 */ static J3DTevBlock* createTevBlock(int);
|
||||||
/* 80316150 */ static u32 calcSizeTexGenBlock(u32);
|
/* 80315E78 */ static J3DIndBlock* createIndBlock(int);
|
||||||
/* 8031617C */ static u32 calcSizeTevBlock(int);
|
/* 80315F60 */ static J3DPEBlock* createPEBlock(u32, u32);
|
||||||
/* 803161C4 */ static u32 calcSizeIndBlock(int);
|
/* 80316100 */ static u32 calcSizeColorBlock(u32);
|
||||||
/* 803161D8 */ static u32 calcSizePEBlock(u32, u32);
|
/* 80316150 */ static u32 calcSizeTexGenBlock(u32);
|
||||||
/* 80316240 */ void initialize();
|
/* 8031617C */ static u32 calcSizeTevBlock(int);
|
||||||
/* 80316290 */ u32 countDLSize();
|
/* 803161C4 */ static u32 calcSizeIndBlock(int);
|
||||||
/* 80316344 */ void makeDisplayList_private(J3DDisplayListObj*);
|
/* 803161D8 */ static u32 calcSizePEBlock(u32, u32);
|
||||||
/* 80316AB0 */ void setCurrentMtx();
|
/* 80316240 */ void initialize();
|
||||||
/* 80316AC8 */ void calcCurrentMtx();
|
/* 80316290 */ u32 countDLSize();
|
||||||
/* 80316D68 */ void copy(J3DMaterial*);
|
/* 80316344 */ void makeDisplayList_private(J3DDisplayListObj*);
|
||||||
/* 80316E90 */ s32 newSharedDisplayList(u32);
|
/* 80316AB0 */ void setCurrentMtx();
|
||||||
/* 80316F24 */ s32 newSingleSharedDisplayList(u32);
|
/* 80316AC8 */ void calcCurrentMtx();
|
||||||
|
/* 80316D68 */ void copy(J3DMaterial*);
|
||||||
/* 803169DC */ virtual void calc(f32 const (*)[4]);
|
/* 80316E90 */ s32 newSharedDisplayList(u32);
|
||||||
/* 80316A54 */ virtual void calcDiffTexMtx(f32 const (*)[4]);
|
/* 80316F24 */ s32 newSingleSharedDisplayList(u32);
|
||||||
/* 80316620 */ virtual void makeDisplayList();
|
|
||||||
/* 80316668 */ virtual void makeSharedDisplayList();
|
/* 803169DC */ virtual void calc(f32 const (*)[4]);
|
||||||
/* 8031668C */ virtual void load();
|
/* 80316A54 */ virtual void calcDiffTexMtx(f32 const (*)[4]);
|
||||||
/* 803166DC */ virtual void loadSharedDL();
|
/* 80316620 */ virtual void makeDisplayList();
|
||||||
/* 80316740 */ virtual void patch();
|
/* 80316668 */ virtual void makeSharedDisplayList();
|
||||||
/* 803167D8 */ virtual void diff(u32);
|
/* 8031668C */ virtual void load();
|
||||||
/* 80316E14 */ virtual void reset();
|
/* 803166DC */ virtual void loadSharedDL();
|
||||||
/* 80316E70 */ virtual void change();
|
/* 80316740 */ virtual void patch();
|
||||||
|
/* 803167D8 */ virtual void diff(u32);
|
||||||
J3DMaterial() { initialize(); }
|
/* 80316E14 */ virtual void reset();
|
||||||
~J3DMaterial() {}
|
/* 80316E70 */ virtual void change();
|
||||||
J3DMaterial* getNext() const { return mNext; }
|
|
||||||
J3DShape* getShape() const { return mShape; }
|
J3DMaterial() { initialize(); }
|
||||||
J3DTevBlock* getTevBlock() const { return mTevBlock; }
|
~J3DMaterial() {}
|
||||||
J3DColorBlock* getColorBlock() const { return mColorBlock; }
|
J3DMaterial* getNext() const { return mNext; }
|
||||||
J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; }
|
J3DShape* getShape() const { return mShape; }
|
||||||
J3DDisplayListObj* getSharedDisplayListObj() const { return mSharedDLObj; }
|
J3DTevBlock* getTevBlock() const { return mTevBlock; }
|
||||||
J3DIndBlock* getIndBlock() const { return mIndBlock; }
|
J3DColorBlock* getColorBlock() const { return mColorBlock; }
|
||||||
J3DShape* getShape() { return mShape; }
|
J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; }
|
||||||
J3DJoint* getJoint() { return mJoint; }
|
J3DDisplayListObj* getSharedDisplayListObj() const { return mSharedDLObj; }
|
||||||
J3DMaterialAnm* getMaterialAnm() const {
|
J3DIndBlock* getIndBlock() const { return mIndBlock; }
|
||||||
if ((u32)mMaterialAnm < 0xC0000000) {
|
J3DShape* getShape() { return mShape; }
|
||||||
return mMaterialAnm;
|
J3DJoint* getJoint() { return mJoint; }
|
||||||
} else {
|
J3DMaterialAnm* getMaterialAnm() const {
|
||||||
return NULL;
|
if ((u32)mMaterialAnm < 0xC0000000) {
|
||||||
}
|
return mMaterialAnm;
|
||||||
}
|
} else {
|
||||||
J3DNBTScale* getNBTScale() const { return mTexGenBlock->getNBTScale(); }
|
return NULL;
|
||||||
u16 getTexNo(u32 idx) const { return mTevBlock->getTexNo(idx); }
|
}
|
||||||
GXColor* getTevKColor(u32 param_0) { return mTevBlock->getTevKColor(param_0); }
|
}
|
||||||
GXColorS10* getTevColor(u32 param_0) { return mTevBlock->getTevColor(param_0); }
|
J3DNBTScale* getNBTScale() const { return mTexGenBlock->getNBTScale(); }
|
||||||
J3DFog* getFog() { return mPEBlock->getFog(); }
|
u16 getTexNo(u32 idx) const { return mTevBlock->getTexNo(idx); }
|
||||||
J3DTexMtx* getTexMtx(u32 idx) { return mTexGenBlock->getTexMtx(idx); }
|
GXColor* getTevKColor(u32 param_0) { return mTevBlock->getTevKColor(param_0); }
|
||||||
u16 getIndex() { return mIndex; }
|
GXColorS10* getTevColor(u32 param_0) { return mTevBlock->getTevColor(param_0); }
|
||||||
bool isDrawModeOpaTexEdge() { return (mMaterialMode & 3) == 0; }
|
J3DFog* getFog() { return mPEBlock->getFog(); }
|
||||||
J3DPEBlock* getPEBlock() { return mPEBlock; }
|
J3DTexMtx* getTexMtx(u32 idx) { return mTexGenBlock->getTexMtx(idx); }
|
||||||
void onInvalid() { mInvalid = 1; }
|
u16 getIndex() { return mIndex; }
|
||||||
u32 getTexGenNum() const { return mTexGenBlock->getTexGenNum(); }
|
bool isDrawModeOpaTexEdge() { return (mMaterialMode & 3) == 0; }
|
||||||
u8 getTevStageNum() const { return mTevBlock->getTevStageNum(); }
|
J3DPEBlock* getPEBlock() { return mPEBlock; }
|
||||||
J3DTexCoord* getTexCoord(u32 idx) { return mTexGenBlock->getTexCoord(idx); }
|
void onInvalid() { mInvalid = 1; }
|
||||||
|
u32 getTexGenNum() const { return mTexGenBlock->getTexGenNum(); }
|
||||||
void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); }
|
u8 getTevStageNum() const { return mTevBlock->getTevStageNum(); }
|
||||||
void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); }
|
J3DTexCoord* getTexCoord(u32 idx) { return mTexGenBlock->getTexCoord(idx); }
|
||||||
void setMaterialAnm(J3DMaterialAnm* i_anm) { mMaterialAnm = i_anm; }
|
|
||||||
void setCullMode(u8 i_mode) { mColorBlock->setCullMode(i_mode); }
|
void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); }
|
||||||
void setTexMtx(u32 idx, J3DTexMtx* mtx) { mTexGenBlock->setTexMtx(idx, mtx); }
|
void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); }
|
||||||
|
void setMaterialAnm(J3DMaterialAnm* i_anm) { mMaterialAnm = i_anm; }
|
||||||
public:
|
void setCullMode(u8 i_mode) { mColorBlock->setCullMode(i_mode); }
|
||||||
/* 0x04 */ J3DMaterial* mNext;
|
void setTexMtx(u32 idx, J3DTexMtx* mtx) { mTexGenBlock->setTexMtx(idx, mtx); }
|
||||||
/* 0x08 */ J3DShape* mShape;
|
|
||||||
/* 0x0C */ J3DJoint* mJoint;
|
public:
|
||||||
/* 0x10 */ u32 mMaterialMode;
|
/* 0x04 */ J3DMaterial* mNext;
|
||||||
/* 0x14 */ u16 mIndex;
|
/* 0x08 */ J3DShape* mShape;
|
||||||
/* 0x18 */ u32 mInvalid;
|
/* 0x0C */ J3DJoint* mJoint;
|
||||||
/* 0x1C */ u32 field_0x1c;
|
/* 0x10 */ u32 mMaterialMode;
|
||||||
/* 0x20 */ u32 mDiffFlag;
|
/* 0x14 */ u16 mIndex;
|
||||||
/* 0x24 */ J3DColorBlock* mColorBlock;
|
/* 0x18 */ u32 mInvalid;
|
||||||
/* 0x28 */ J3DTexGenBlock* mTexGenBlock;
|
/* 0x1C */ u32 field_0x1c;
|
||||||
/* 0x2C */ J3DTevBlock* mTevBlock;
|
/* 0x20 */ u32 mDiffFlag;
|
||||||
/* 0x30 */ J3DIndBlock* mIndBlock;
|
/* 0x24 */ J3DColorBlock* mColorBlock;
|
||||||
/* 0x34 */ J3DPEBlock* mPEBlock;
|
/* 0x28 */ J3DTexGenBlock* mTexGenBlock;
|
||||||
/* 0x38 */ J3DMaterial* mpOrigMaterial;
|
/* 0x2C */ J3DTevBlock* mTevBlock;
|
||||||
/* 0x3C */ J3DMaterialAnm* mMaterialAnm;
|
/* 0x30 */ J3DIndBlock* mIndBlock;
|
||||||
/* 0x40 */ J3DCurrentMtx mCurrentMtx;
|
/* 0x34 */ J3DPEBlock* mPEBlock;
|
||||||
/* 0x48 */ J3DDisplayListObj* mSharedDLObj;
|
/* 0x38 */ J3DMaterial* mpOrigMaterial;
|
||||||
};
|
/* 0x3C */ J3DMaterialAnm* mMaterialAnm;
|
||||||
|
/* 0x40 */ J3DCurrentMtx mCurrentMtx;
|
||||||
class J3DPatchedMaterial : public J3DMaterial {
|
/* 0x48 */ J3DDisplayListObj* mSharedDLObj;
|
||||||
public:
|
};
|
||||||
/* 80316FB8 */ void initialize();
|
|
||||||
|
/**
|
||||||
/* 80316FD8 */ virtual void makeDisplayList();
|
* @ingroup jsystem-j3d
|
||||||
/* 80316FDC */ virtual void makeSharedDisplayList();
|
*
|
||||||
/* 80316FE0 */ virtual void load();
|
*/
|
||||||
/* 80316FFC */ virtual void loadSharedDL();
|
class J3DPatchedMaterial : public J3DMaterial {
|
||||||
/* 8031703C */ virtual void reset();
|
public:
|
||||||
/* 80317040 */ virtual void change();
|
/* 80316FB8 */ void initialize();
|
||||||
};
|
|
||||||
|
/* 80316FD8 */ virtual void makeDisplayList();
|
||||||
class J3DLockedMaterial : public J3DMaterial {
|
/* 80316FDC */ virtual void makeSharedDisplayList();
|
||||||
public:
|
/* 80316FE0 */ virtual void load();
|
||||||
J3DLockedMaterial() { initialize(); }
|
/* 80316FFC */ virtual void loadSharedDL();
|
||||||
/* 80317044 */ void initialize();
|
/* 8031703C */ virtual void reset();
|
||||||
|
/* 80317040 */ virtual void change();
|
||||||
/* 803170D0 */ virtual void calc(f32 const (*)[4]);
|
};
|
||||||
/* 80317064 */ virtual void makeDisplayList();
|
|
||||||
/* 80317068 */ virtual void makeSharedDisplayList();
|
/**
|
||||||
/* 8031706C */ virtual void load();
|
* @ingroup jsystem-j3d
|
||||||
/* 80317088 */ virtual void loadSharedDL();
|
*
|
||||||
/* 803170C8 */ virtual void patch();
|
*/
|
||||||
/* 803170CC */ virtual void diff(u32);
|
class J3DLockedMaterial : public J3DMaterial {
|
||||||
/* 803170D4 */ virtual void reset();
|
public:
|
||||||
/* 803170D8 */ virtual void change();
|
J3DLockedMaterial() { initialize(); }
|
||||||
};
|
/* 80317044 */ void initialize();
|
||||||
|
|
||||||
#endif /* J3DMATERIAL_H */
|
/* 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();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* J3DMATERIAL_H */
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||||
#include "dolphin/gd/GDBase.h"
|
#include "dolphin/gd/GDBase.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class J3DMatPacket;
|
class J3DMatPacket;
|
||||||
|
|
||||||
|
|
@ -59,6 +58,10 @@ inline int calcDifferedBufferSize_TevStageDirectSize(int param_1) {
|
||||||
return param_1 * 5;
|
return param_1 * 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DDisplayListObj {
|
class J3DDisplayListObj {
|
||||||
public:
|
public:
|
||||||
J3DDisplayListObj() {
|
J3DDisplayListObj() {
|
||||||
|
|
@ -90,6 +93,10 @@ public:
|
||||||
/* 0xC */ u32 mCapacity;
|
/* 0xC */ u32 mCapacity;
|
||||||
}; // Size: 0x10
|
}; // Size: 0x10
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DPacket {
|
class J3DPacket {
|
||||||
public:
|
public:
|
||||||
J3DPacket() {
|
J3DPacket() {
|
||||||
|
|
@ -121,6 +128,10 @@ public:
|
||||||
/* 0x0C */ void* mpUserData;
|
/* 0x0C */ void* mpUserData;
|
||||||
}; // Size: 0x10
|
}; // Size: 0x10
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DDrawPacket : public J3DPacket {
|
class J3DDrawPacket : public J3DPacket {
|
||||||
public:
|
public:
|
||||||
J3DDrawPacket();
|
J3DDrawPacket();
|
||||||
|
|
@ -156,6 +167,10 @@ public:
|
||||||
/* 0x24 */ J3DTexMtxObj* mpTexMtxObj;
|
/* 0x24 */ J3DTexMtxObj* mpTexMtxObj;
|
||||||
}; // Size: 0x28
|
}; // Size: 0x28
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DShapePacket : public J3DDrawPacket {
|
class J3DShapePacket : public J3DDrawPacket {
|
||||||
public:
|
public:
|
||||||
J3DShapePacket();
|
J3DShapePacket();
|
||||||
|
|
@ -184,6 +199,10 @@ public:
|
||||||
/* 0x38 */ J3DModel* mpModel;
|
/* 0x38 */ J3DModel* mpModel;
|
||||||
}; // Size: 0x3C
|
}; // Size: 0x3C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DMatPacket : public J3DDrawPacket {
|
class J3DMatPacket : public J3DDrawPacket {
|
||||||
public:
|
public:
|
||||||
J3DMatPacket();
|
J3DMatPacket();
|
||||||
|
|
|
||||||
|
|
@ -1,158 +1,169 @@
|
||||||
#ifndef J3DSHAPE_H
|
#ifndef J3DSHAPE_H
|
||||||
#define J3DSHAPE_H
|
#define J3DSHAPE_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DShapeDraw.h"
|
#include "JSystem/J3DGraphBase/J3DShapeDraw.h"
|
||||||
#include "JSystem/J3DGraphBase/J3DShapeMtx.h"
|
#include "JSystem/J3DGraphBase/J3DShapeMtx.h"
|
||||||
#include "dolphin/gx.h"
|
#include "dolphin/gx.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
/**
|
||||||
class J3DCurrentMtxInfo {
|
* @ingroup jsystem-j3d
|
||||||
public:
|
*
|
||||||
u32 mMtxIdxRegA;
|
*/
|
||||||
u32 mMtxIdxRegB;
|
class J3DCurrentMtxInfo {
|
||||||
};
|
public:
|
||||||
|
u32 mMtxIdxRegA;
|
||||||
static inline void J3DFifoWriteCPCmd(u8 cmd, u32 param) {
|
u32 mMtxIdxRegB;
|
||||||
GXWGFifo.u8 = GX_CMD_LOAD_CP_REG;
|
};
|
||||||
GXWGFifo.u8 = cmd;
|
|
||||||
GXWGFifo.u32 = param;
|
static inline void J3DFifoWriteCPCmd(u8 cmd, u32 param) {
|
||||||
}
|
GXWGFifo.u8 = GX_CMD_LOAD_CP_REG;
|
||||||
|
GXWGFifo.u8 = cmd;
|
||||||
static inline void J3DFifoWriteXFCmd(u16 cmd, u16 len) {
|
GXWGFifo.u32 = param;
|
||||||
GXWGFifo.u8 = GX_CMD_LOAD_XF_REG;
|
}
|
||||||
GXWGFifo.u16 = (len - 1);
|
|
||||||
GXWGFifo.u16 = cmd;
|
static inline void J3DFifoWriteXFCmd(u16 cmd, u16 len) {
|
||||||
}
|
GXWGFifo.u8 = GX_CMD_LOAD_XF_REG;
|
||||||
|
GXWGFifo.u16 = (len - 1);
|
||||||
class J3DCurrentMtx : public J3DCurrentMtxInfo {
|
GXWGFifo.u16 = cmd;
|
||||||
public:
|
}
|
||||||
J3DCurrentMtx() {
|
|
||||||
mMtxIdxRegA = 0x3cf3cf00;
|
/**
|
||||||
mMtxIdxRegB = 0x00f3cf3c;
|
* @ingroup jsystem-j3d
|
||||||
}
|
*
|
||||||
|
*/
|
||||||
J3DCurrentMtx& operator=(J3DCurrentMtxInfo const& info) {
|
class J3DCurrentMtx : public J3DCurrentMtxInfo {
|
||||||
mMtxIdxRegA = info.mMtxIdxRegA;
|
public:
|
||||||
mMtxIdxRegB = info.mMtxIdxRegB;
|
J3DCurrentMtx() {
|
||||||
return *this;
|
mMtxIdxRegA = 0x3cf3cf00;
|
||||||
}
|
mMtxIdxRegB = 0x00f3cf3c;
|
||||||
|
}
|
||||||
u32 getMtxIdxRegA() const { return mMtxIdxRegA; }
|
|
||||||
u32 getMtxIdxRegB() const { return mMtxIdxRegB; }
|
J3DCurrentMtx& operator=(J3DCurrentMtxInfo const& info) {
|
||||||
|
mMtxIdxRegA = info.mMtxIdxRegA;
|
||||||
inline void load() const {
|
mMtxIdxRegB = info.mMtxIdxRegB;
|
||||||
J3DFifoWriteCPCmd(0x30, getMtxIdxRegA()); // CP_MATINDEX_A
|
return *this;
|
||||||
J3DFifoWriteCPCmd(0x40, getMtxIdxRegB()); // CP_MATINDEX_B
|
}
|
||||||
J3DFifoWriteXFCmd(0x1018, 2);
|
|
||||||
GXWGFifo.u32 = getMtxIdxRegA();
|
u32 getMtxIdxRegA() const { return mMtxIdxRegA; }
|
||||||
GXWGFifo.u32 = getMtxIdxRegB();
|
u32 getMtxIdxRegB() const { return mMtxIdxRegB; }
|
||||||
}
|
|
||||||
|
inline void load() const {
|
||||||
void setCurrentTexMtx(u8 param_1, u8 param_2, u8 param_3, u8 param_4,
|
J3DFifoWriteCPCmd(0x30, getMtxIdxRegA()); // CP_MATINDEX_A
|
||||||
u8 param_5, u8 param_6, u8 param_7, u8 param_8) {
|
J3DFifoWriteCPCmd(0x40, getMtxIdxRegB()); // CP_MATINDEX_B
|
||||||
mMtxIdxRegA = ((param_1 & 0xff) << 6) | (param_2 << 0xc)| (param_3 << 0x12) | (param_4 << 0x18);
|
J3DFifoWriteXFCmd(0x1018, 2);
|
||||||
mMtxIdxRegB = (param_5) | param_6 << 6 | param_7 << 0xc | param_8 << 0x12;
|
GXWGFifo.u32 = getMtxIdxRegA();
|
||||||
}
|
GXWGFifo.u32 = getMtxIdxRegB();
|
||||||
};
|
}
|
||||||
|
|
||||||
class J3DMaterial;
|
void setCurrentTexMtx(u8 param_1, u8 param_2, u8 param_3, u8 param_4,
|
||||||
class J3DVertexData;
|
u8 param_5, u8 param_6, u8 param_7, u8 param_8) {
|
||||||
class J3DDrawMtxData;
|
mMtxIdxRegA = ((param_1 & 0xff) << 6) | (param_2 << 0xc)| (param_3 << 0x12) | (param_4 << 0x18);
|
||||||
|
mMtxIdxRegB = (param_5) | param_6 << 6 | param_7 << 0xc | param_8 << 0x12;
|
||||||
enum J3DShpFlag {
|
}
|
||||||
J3DShpFlag_Visible = 0x0001,
|
};
|
||||||
J3DShpFlag_SkinPosCpu = 0x0004,
|
|
||||||
J3DShpFlag_SkinNrmCpu = 0x0008,
|
class J3DMaterial;
|
||||||
J3DShpFlag_Hidden = 0x0010,
|
class J3DVertexData;
|
||||||
J3DShpFlag_EnableLod = 0x0100,
|
class J3DDrawMtxData;
|
||||||
J3DShpFlag_NoMtx = 0x0200,
|
|
||||||
};
|
enum J3DShpFlag {
|
||||||
|
J3DShpFlag_Visible = 0x0001,
|
||||||
class J3DShape {
|
J3DShpFlag_SkinPosCpu = 0x0004,
|
||||||
public:
|
J3DShpFlag_SkinNrmCpu = 0x0008,
|
||||||
J3DShape() {
|
J3DShpFlag_Hidden = 0x0010,
|
||||||
initialize();
|
J3DShpFlag_EnableLod = 0x0100,
|
||||||
}
|
J3DShpFlag_NoMtx = 0x0200,
|
||||||
|
};
|
||||||
enum {
|
|
||||||
kVcdVatDLSize = 0xC0,
|
/**
|
||||||
};
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
/* 80314B48 */ void initialize();
|
*/
|
||||||
/* 80314BB8 */ void addTexMtxIndexInDL(_GXAttr, u32);
|
class J3DShape {
|
||||||
/* 80314CBC */ void addTexMtxIndexInVcd(_GXAttr);
|
public:
|
||||||
/* 80314DA8 */ void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
J3DShape() {
|
||||||
/* 80314E28 */ u32 countBumpMtxNum() const;
|
initialize();
|
||||||
/* 80314EEC */ void loadVtxArray() const;
|
}
|
||||||
/* 80314F5C */ bool isSameVcdVatCmd(J3DShape*);
|
|
||||||
/* 80314F98 */ void makeVtxArrayCmd();
|
enum {
|
||||||
/* 80315260 */ void makeVcdVatCmd();
|
kVcdVatDLSize = 0xC0,
|
||||||
/* 80315300 */ void loadPreDrawSetting() const;
|
};
|
||||||
/* 80315398 */ void setArrayAndBindPipeline() const;
|
|
||||||
|
/* 80314B48 */ void initialize();
|
||||||
/* 803155E0 */ virtual void draw() const;
|
/* 80314BB8 */ void addTexMtxIndexInDL(_GXAttr, u32);
|
||||||
/* 8031544C */ virtual void drawFast() const;
|
/* 80314CBC */ void addTexMtxIndexInVcd(_GXAttr);
|
||||||
/* 80315628 */ virtual void simpleDraw() const;
|
/* 80314DA8 */ void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
|
||||||
/* 803156AC */ virtual void simpleDrawCache() const;
|
/* 80314E28 */ u32 countBumpMtxNum() const;
|
||||||
|
/* 80314EEC */ void loadVtxArray() const;
|
||||||
void onFlag(u32 flag) { mFlags |= flag; }
|
/* 80314F5C */ bool isSameVcdVatCmd(J3DShape*);
|
||||||
void offFlag(u32 flag) { mFlags &= ~flag; }
|
/* 80314F98 */ void makeVtxArrayCmd();
|
||||||
bool checkFlag(u32 flag) const { return !!(mFlags & flag); }
|
/* 80315260 */ void makeVcdVatCmd();
|
||||||
void setDrawMtxDataPointer(J3DDrawMtxData* pMtxData) { mDrawMtxData = pMtxData; }
|
/* 80315300 */ void loadPreDrawSetting() const;
|
||||||
void setVertexDataPointer(J3DVertexData* pVtxData) { mVertexData = pVtxData; }
|
/* 80315398 */ void setArrayAndBindPipeline() const;
|
||||||
void* getVcdVatCmd() const { return mVcdVatCmd; }
|
|
||||||
void setVcdVatCmd(void* pVatCmd) { mVcdVatCmd = (u8*)pVatCmd; }
|
/* 803155E0 */ virtual void draw() const;
|
||||||
void show() { offFlag(J3DShpFlag_Visible); }
|
/* 8031544C */ virtual void drawFast() const;
|
||||||
void hide() { onFlag(J3DShpFlag_Visible); }
|
/* 80315628 */ virtual void simpleDraw() const;
|
||||||
void setCurrentViewNoPtr(u32* pViewNoPtr) { mCurrentViewNo = pViewNoPtr; }
|
/* 803156AC */ virtual void simpleDrawCache() const;
|
||||||
void setCurrentMtx(J3DCurrentMtx& mtx) { mCurrentMtx = mtx; }
|
|
||||||
void setScaleFlagArray(u8* pScaleFlagArray) { mScaleFlagArray = pScaleFlagArray; }
|
void onFlag(u32 flag) { mFlags |= flag; }
|
||||||
void setDrawMtx(Mtx** pDrawMtx) { mDrawMtx = pDrawMtx; }
|
void offFlag(u32 flag) { mFlags &= ~flag; }
|
||||||
void setNrmMtx(Mtx33** pNrmMtx) { mNrmMtx = pNrmMtx; }
|
bool checkFlag(u32 flag) const { return !!(mFlags & flag); }
|
||||||
void setTexMtxLoadType(u32 type) { mFlags = (mFlags & 0xFFFF0FFF) | type; }
|
void setDrawMtxDataPointer(J3DDrawMtxData* pMtxData) { mDrawMtxData = pMtxData; }
|
||||||
bool getNBTFlag() const { return mHasNBT; }
|
void setVertexDataPointer(J3DVertexData* pVtxData) { mVertexData = pVtxData; }
|
||||||
u32 getBumpMtxOffset() const { return mBumpMtxOffset; }
|
void* getVcdVatCmd() const { return mVcdVatCmd; }
|
||||||
GXVtxDescList* getVtxDesc() const { return mVtxDesc; }
|
void setVcdVatCmd(void* pVatCmd) { mVcdVatCmd = (u8*)pVatCmd; }
|
||||||
|
void show() { offFlag(J3DShpFlag_Visible); }
|
||||||
J3DMaterial* getMaterial() const { return mMaterial; }
|
void hide() { onFlag(J3DShpFlag_Visible); }
|
||||||
u32 getIndex() const { return mIndex; }
|
void setCurrentViewNoPtr(u32* pViewNoPtr) { mCurrentViewNo = pViewNoPtr; }
|
||||||
u32 getPipeline() const { return (mFlags >> 2) & 0x07; }
|
void setCurrentMtx(J3DCurrentMtx& mtx) { mCurrentMtx = mtx; }
|
||||||
u32 getTexMtxLoadType() const { return mFlags & 0xF000; }
|
void setScaleFlagArray(u8* pScaleFlagArray) { mScaleFlagArray = pScaleFlagArray; }
|
||||||
u32 getMtxGroupNum() const { return mMtxGroupNum; }
|
void setDrawMtx(Mtx** pDrawMtx) { mDrawMtx = pDrawMtx; }
|
||||||
J3DShapeDraw* getShapeDraw(u32 idx) const { return mShapeDraw[idx]; }
|
void setNrmMtx(Mtx33** pNrmMtx) { mNrmMtx = pNrmMtx; }
|
||||||
J3DShapeMtx* getShapeMtx(u32 idx) const { return mShapeMtx[idx]; }
|
void setTexMtxLoadType(u32 type) { mFlags = (mFlags & 0xFFFF0FFF) | type; }
|
||||||
Vec* getMin() { return &mMin; }
|
bool getNBTFlag() const { return mHasNBT; }
|
||||||
Vec* getMax() { return &mMax; }
|
u32 getBumpMtxOffset() const { return mBumpMtxOffset; }
|
||||||
|
GXVtxDescList* getVtxDesc() const { return mVtxDesc; }
|
||||||
static void resetVcdVatCache() { sOldVcdVatCmd = NULL; }
|
|
||||||
|
J3DMaterial* getMaterial() const { return mMaterial; }
|
||||||
static void* sOldVcdVatCmd;
|
u32 getIndex() const { return mIndex; }
|
||||||
|
u32 getPipeline() const { return (mFlags >> 2) & 0x07; }
|
||||||
private:
|
u32 getTexMtxLoadType() const { return mFlags & 0xF000; }
|
||||||
friend struct J3DShapeFactory;
|
u32 getMtxGroupNum() const { return mMtxGroupNum; }
|
||||||
friend class J3DJointTree;
|
J3DShapeDraw* getShapeDraw(u32 idx) const { return mShapeDraw[idx]; }
|
||||||
|
J3DShapeMtx* getShapeMtx(u32 idx) const { return mShapeMtx[idx]; }
|
||||||
/* 0x04 */ J3DMaterial* mMaterial;
|
Vec* getMin() { return &mMin; }
|
||||||
/* 0x08 */ u16 mIndex;
|
Vec* getMax() { return &mMax; }
|
||||||
/* 0x0A */ u16 mMtxGroupNum;
|
|
||||||
/* 0x0C */ u32 mFlags;
|
static void resetVcdVatCache() { sOldVcdVatCmd = NULL; }
|
||||||
/* 0x10 */ f32 mRadius;
|
|
||||||
/* 0x14 */ Vec mMin;
|
static void* sOldVcdVatCmd;
|
||||||
/* 0x20 */ Vec mMax;
|
|
||||||
/* 0x2C */ u8* mVcdVatCmd;
|
private:
|
||||||
/* 0x30 */ GXVtxDescList* mVtxDesc;
|
friend struct J3DShapeFactory;
|
||||||
/* 0x34 */ bool mHasNBT;
|
friend class J3DJointTree;
|
||||||
/* 0x38 */ J3DShapeMtx** mShapeMtx;
|
|
||||||
/* 0x3C */ J3DShapeDraw** mShapeDraw;
|
/* 0x04 */ J3DMaterial* mMaterial;
|
||||||
/* 0x40 */ J3DCurrentMtx mCurrentMtx;
|
/* 0x08 */ u16 mIndex;
|
||||||
/* 0x48 */ bool mHasPNMTXIdx;
|
/* 0x0A */ u16 mMtxGroupNum;
|
||||||
/* 0x4C */ J3DVertexData* mVertexData;
|
/* 0x0C */ u32 mFlags;
|
||||||
/* 0x50 */ J3DDrawMtxData* mDrawMtxData;
|
/* 0x10 */ f32 mRadius;
|
||||||
/* 0x54 */ u8* mScaleFlagArray;
|
/* 0x14 */ Vec mMin;
|
||||||
/* 0x58 */ Mtx** mDrawMtx;
|
/* 0x20 */ Vec mMax;
|
||||||
/* 0x5C */ Mtx33** mNrmMtx;
|
/* 0x2C */ u8* mVcdVatCmd;
|
||||||
/* 0x60 */ u32* mCurrentViewNo;
|
/* 0x30 */ GXVtxDescList* mVtxDesc;
|
||||||
/* 0x64 */ u32 mBumpMtxOffset;
|
/* 0x34 */ bool mHasNBT;
|
||||||
};
|
/* 0x38 */ J3DShapeMtx** mShapeMtx;
|
||||||
|
/* 0x3C */ J3DShapeDraw** mShapeDraw;
|
||||||
#endif /* J3DSHAPE_H */
|
/* 0x40 */ J3DCurrentMtx mCurrentMtx;
|
||||||
|
/* 0x48 */ bool mHasPNMTXIdx;
|
||||||
|
/* 0x4C */ J3DVertexData* mVertexData;
|
||||||
|
/* 0x50 */ J3DDrawMtxData* mDrawMtxData;
|
||||||
|
/* 0x54 */ u8* mScaleFlagArray;
|
||||||
|
/* 0x58 */ Mtx** mDrawMtx;
|
||||||
|
/* 0x5C */ Mtx33** mNrmMtx;
|
||||||
|
/* 0x60 */ u32* mCurrentViewNo;
|
||||||
|
/* 0x64 */ u32 mBumpMtxOffset;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* J3DSHAPE_H */
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,10 @@
|
||||||
|
|
||||||
#include "dolphin/types.h"
|
#include "dolphin/types.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DShapeDraw {
|
class J3DShapeDraw {
|
||||||
public:
|
public:
|
||||||
/* 80314924 */ u32 countVertex(u32);
|
/* 80314924 */ u32 countVertex(u32);
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,10 @@
|
||||||
class J3DTexMtx;
|
class J3DTexMtx;
|
||||||
class J3DTexGenBlock;
|
class J3DTexGenBlock;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DTexMtxObj {
|
class J3DTexMtxObj {
|
||||||
public:
|
public:
|
||||||
Mtx& getMtx(u16 idx) { return mpTexMtx[idx]; }
|
Mtx& getMtx(u16 idx) { return mpTexMtx[idx]; }
|
||||||
|
|
@ -17,6 +21,10 @@ public:
|
||||||
/* 0x08 */ u16 mTexMtxNum;
|
/* 0x08 */ u16 mTexMtxNum;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DDifferedTexMtx {
|
class J3DDifferedTexMtx {
|
||||||
public:
|
public:
|
||||||
/* 8031322C */ static void loadExecute(f32 const (*)[4]);
|
/* 8031322C */ static void loadExecute(f32 const (*)[4]);
|
||||||
|
|
@ -33,6 +41,10 @@ public:
|
||||||
class J3DShapeMtx;
|
class J3DShapeMtx;
|
||||||
typedef void (J3DShapeMtx::*J3DShapeMtx_LoadFunc)(int, u16) const;
|
typedef void (J3DShapeMtx::*J3DShapeMtx_LoadFunc)(int, u16) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DShapeMtx {
|
class J3DShapeMtx {
|
||||||
public:
|
public:
|
||||||
J3DShapeMtx(u16 useMtxIndex)
|
J3DShapeMtx(u16 useMtxIndex)
|
||||||
|
|
@ -71,6 +83,10 @@ protected:
|
||||||
class J3DShapeMtxConcatView;
|
class J3DShapeMtxConcatView;
|
||||||
typedef void (J3DShapeMtxConcatView::*J3DShapeMtxConcatView_LoadFunc)(int, u16) const;
|
typedef void (J3DShapeMtxConcatView::*J3DShapeMtxConcatView_LoadFunc)(int, u16) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DShapeMtxConcatView : public J3DShapeMtx {
|
class J3DShapeMtxConcatView : public J3DShapeMtx {
|
||||||
public:
|
public:
|
||||||
J3DShapeMtxConcatView(u16 useMtxIndex)
|
J3DShapeMtxConcatView(u16 useMtxIndex)
|
||||||
|
|
@ -94,6 +110,10 @@ public:
|
||||||
static MtxP sMtxPtrTbl[2];
|
static MtxP sMtxPtrTbl[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView {
|
class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView {
|
||||||
public:
|
public:
|
||||||
J3DShapeMtxYBBoardConcatView(u16 useMtxIndex)
|
J3DShapeMtxYBBoardConcatView(u16 useMtxIndex)
|
||||||
|
|
@ -105,6 +125,10 @@ public:
|
||||||
/* 803143E4 */ virtual void load() const;
|
/* 803143E4 */ virtual void load() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView {
|
class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView {
|
||||||
public:
|
public:
|
||||||
J3DShapeMtxBBoardConcatView(u16 useMtxIndex)
|
J3DShapeMtxBBoardConcatView(u16 useMtxIndex)
|
||||||
|
|
@ -116,6 +140,10 @@ public:
|
||||||
/* 803142D4 */ virtual void load() const;
|
/* 803142D4 */ virtual void load() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DShapeMtxMulti : public J3DShapeMtx {
|
class J3DShapeMtxMulti : public J3DShapeMtx {
|
||||||
public:
|
public:
|
||||||
J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
|
J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
|
||||||
|
|
@ -136,6 +164,10 @@ private:
|
||||||
/* 0xC */ u16* mUseMtxIndexTable;
|
/* 0xC */ u16* mUseMtxIndexTable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DShapeMtxMultiConcatView : public J3DShapeMtxConcatView {
|
class J3DShapeMtxMultiConcatView : public J3DShapeMtxConcatView {
|
||||||
public:
|
public:
|
||||||
J3DShapeMtxMultiConcatView(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
|
J3DShapeMtxMultiConcatView(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,12 @@
|
||||||
|
|
||||||
#include "dolphin/gx/GXStruct.h"
|
#include "dolphin/gx/GXStruct.h"
|
||||||
#include "dolphin/mtx.h"
|
#include "dolphin/mtx.h"
|
||||||
#include "dolphin/mtx/mtx44.h"
|
|
||||||
#include "dolphin/mtx/vec.h"
|
#include "dolphin/mtx/vec.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DLightInfo {
|
class J3DLightInfo {
|
||||||
public:
|
public:
|
||||||
/* 803256C4 */ J3DLightInfo& operator=(J3DLightInfo const&);
|
/* 803256C4 */ J3DLightInfo& operator=(J3DLightInfo const&);
|
||||||
|
|
@ -19,6 +22,10 @@ public:
|
||||||
|
|
||||||
extern "C" extern J3DLightInfo const j3dDefaultLightInfo;
|
extern "C" extern J3DLightInfo const j3dDefaultLightInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DLightObj {
|
class J3DLightObj {
|
||||||
public:
|
public:
|
||||||
/* 80018C0C */ J3DLightObj() { mInfo = j3dDefaultLightInfo; }
|
/* 80018C0C */ J3DLightObj() { mInfo = j3dDefaultLightInfo; }
|
||||||
|
|
@ -34,6 +41,10 @@ public:
|
||||||
/* 0x34 */ GXLightObj mLightObj;
|
/* 0x34 */ GXLightObj mLightObj;
|
||||||
}; // Size = 0x74
|
}; // Size = 0x74
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTextureSRTInfo {
|
struct J3DTextureSRTInfo {
|
||||||
/* 0x00 */ f32 mScaleX;
|
/* 0x00 */ f32 mScaleX;
|
||||||
/* 0x04 */ f32 mScaleY;
|
/* 0x04 */ f32 mScaleY;
|
||||||
|
|
@ -60,6 +71,10 @@ struct J3DTextureSRTInfo {
|
||||||
}
|
}
|
||||||
}; // Size: 0x14
|
}; // Size: 0x14
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTexMtxInfo {
|
struct J3DTexMtxInfo {
|
||||||
/* 80325718 */ J3DTexMtxInfo& operator=(J3DTexMtxInfo const&);
|
/* 80325718 */ J3DTexMtxInfo& operator=(J3DTexMtxInfo const&);
|
||||||
/* 80325794 */ void setEffectMtx(Mtx);
|
/* 80325794 */ void setEffectMtx(Mtx);
|
||||||
|
|
@ -73,12 +88,20 @@ struct J3DTexMtxInfo {
|
||||||
/* 0x24 */ Mtx44 mEffectMtx;
|
/* 0x24 */ Mtx44 mEffectMtx;
|
||||||
}; // Size: 0x64
|
}; // Size: 0x64
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DIndTexMtxInfo {
|
struct J3DIndTexMtxInfo {
|
||||||
J3DIndTexMtxInfo& operator=(J3DIndTexMtxInfo const&);
|
J3DIndTexMtxInfo& operator=(J3DIndTexMtxInfo const&);
|
||||||
/* 0x00 */ Mtx23 field_0x0;
|
/* 0x00 */ Mtx23 field_0x0;
|
||||||
/* 0x18 */ u8 field_0x18;
|
/* 0x18 */ u8 field_0x18;
|
||||||
}; // Size: 0x1C
|
}; // Size: 0x1C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DFogInfo {
|
struct J3DFogInfo {
|
||||||
/* 80325800 */ J3DFogInfo& operator=(J3DFogInfo const&);
|
/* 80325800 */ J3DFogInfo& operator=(J3DFogInfo const&);
|
||||||
|
|
||||||
|
|
@ -93,6 +116,10 @@ struct J3DFogInfo {
|
||||||
/* 0x18 */ GXFogAdjTable field_0x18;
|
/* 0x18 */ GXFogAdjTable field_0x18;
|
||||||
}; // Size: 0x2C
|
}; // Size: 0x2C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DNBTScaleInfo {
|
struct J3DNBTScaleInfo {
|
||||||
/* 8032587C */ J3DNBTScaleInfo& operator=(J3DNBTScaleInfo const&);
|
/* 8032587C */ J3DNBTScaleInfo& operator=(J3DNBTScaleInfo const&);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
#define J3DSYS_H
|
#define J3DSYS_H
|
||||||
|
|
||||||
#include "dolphin/gx.h"
|
#include "dolphin/gx.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
// Perhaps move to a new J3DEnum.h?
|
// Perhaps move to a new J3DEnum.h?
|
||||||
enum J3DError {
|
enum J3DError {
|
||||||
|
|
@ -23,6 +22,10 @@ class J3DShape;
|
||||||
class J3DDrawBuffer;
|
class J3DDrawBuffer;
|
||||||
class J3DTexture;
|
class J3DTexture;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTexCoordScaleInfo {
|
struct J3DTexCoordScaleInfo {
|
||||||
/* 0x0 */ u16 field_0x00;
|
/* 0x0 */ u16 field_0x00;
|
||||||
/* 0x2 */ u16 field_0x02;
|
/* 0x2 */ u16 field_0x02;
|
||||||
|
|
@ -36,6 +39,10 @@ enum J3DSysFlag {
|
||||||
J3DSysFlag_PostTexMtx = 0x40000000,
|
J3DSysFlag_PostTexMtx = 0x40000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DSys {
|
struct J3DSys {
|
||||||
/* 0x000 */ Mtx mViewMtx;
|
/* 0x000 */ Mtx mViewMtx;
|
||||||
/* 0x030 */ J3DMtxCalc* mCurrentMtxCalc;
|
/* 0x030 */ J3DMtxCalc* mCurrentMtxCalc;
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,10 @@
|
||||||
|
|
||||||
#include "dolphin/types.h"
|
#include "dolphin/types.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTevStageInfo {
|
struct J3DTevStageInfo {
|
||||||
/* 0x0 */ u8 field_0x0;
|
/* 0x0 */ u8 field_0x0;
|
||||||
/* 0x1 */ u8 mTevColorOp;
|
/* 0x1 */ u8 mTevColorOp;
|
||||||
|
|
@ -28,6 +32,10 @@ struct J3DTevStageInfo {
|
||||||
|
|
||||||
extern J3DTevStageInfo const j3dDefaultTevStageInfo;
|
extern J3DTevStageInfo const j3dDefaultTevStageInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTevSwapModeTableInfo {
|
struct J3DTevSwapModeTableInfo {
|
||||||
/* 0x0 */ u8 field_0x0;
|
/* 0x0 */ u8 field_0x0;
|
||||||
/* 0x1 */ u8 field_0x1;
|
/* 0x1 */ u8 field_0x1;
|
||||||
|
|
@ -37,6 +45,10 @@ struct J3DTevSwapModeTableInfo {
|
||||||
|
|
||||||
extern const J3DTevSwapModeTableInfo j3dDefaultTevSwapModeTable;
|
extern const J3DTevSwapModeTableInfo j3dDefaultTevSwapModeTable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTevSwapModeInfo {
|
struct J3DTevSwapModeInfo {
|
||||||
/* 0x0 */ u8 mRasSel;
|
/* 0x0 */ u8 mRasSel;
|
||||||
/* 0x1 */ u8 mTexSel;
|
/* 0x1 */ u8 mTexSel;
|
||||||
|
|
@ -46,6 +58,10 @@ struct J3DTevSwapModeInfo {
|
||||||
|
|
||||||
extern J3DTevSwapModeInfo const j3dDefaultTevSwapMode;
|
extern J3DTevSwapModeInfo const j3dDefaultTevSwapMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTevStage {
|
struct J3DTevStage {
|
||||||
/* 8000E230 */ J3DTevStage();
|
/* 8000E230 */ J3DTevStage();
|
||||||
void setTevColorOp(u8 param_1, u8 param_2, u8 param_3, u8 param_4, u8 param_5) {
|
void setTevColorOp(u8 param_1, u8 param_2, u8 param_3, u8 param_4, u8 param_5) {
|
||||||
|
|
@ -120,6 +136,10 @@ struct J3DTevStage {
|
||||||
/* 0x7 */ u8 mTevSwapModeInfo;
|
/* 0x7 */ u8 mTevSwapModeInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DIndTevStageInfo {
|
struct J3DIndTevStageInfo {
|
||||||
/* 0x0 */ u8 mIndStage;
|
/* 0x0 */ u8 mIndStage;
|
||||||
/* 0x1 */ u8 mIndFormat;
|
/* 0x1 */ u8 mIndFormat;
|
||||||
|
|
@ -135,6 +155,10 @@ struct J3DIndTevStageInfo {
|
||||||
|
|
||||||
extern J3DIndTevStageInfo const j3dDefaultIndTevStageInfo;
|
extern J3DIndTevStageInfo const j3dDefaultIndTevStageInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DIndTevStage {
|
struct J3DIndTevStage {
|
||||||
/* 8000E14C */ J3DIndTevStage() : mInfo(0) { setIndTevStageInfo(j3dDefaultIndTevStageInfo); }
|
/* 8000E14C */ J3DIndTevStage() : mInfo(0) { setIndTevStageInfo(j3dDefaultIndTevStageInfo); }
|
||||||
J3DIndTevStage(J3DIndTevStageInfo const& info) : mInfo(0) { setIndTevStageInfo(info); }
|
J3DIndTevStage(J3DIndTevStageInfo const& info) : mInfo(0) { setIndTevStageInfo(info); }
|
||||||
|
|
@ -162,6 +186,10 @@ struct J3DIndTevStage {
|
||||||
/* 0x0 */ u32 mInfo;
|
/* 0x0 */ u32 mInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTevOrderInfo {
|
struct J3DTevOrderInfo {
|
||||||
void operator=(const J3DTevOrderInfo& other) {
|
void operator=(const J3DTevOrderInfo& other) {
|
||||||
*(u32*) this = *(u32*)&other;
|
*(u32*) this = *(u32*)&other;
|
||||||
|
|
@ -175,6 +203,10 @@ struct J3DTevOrderInfo {
|
||||||
|
|
||||||
extern const J3DTevOrderInfo j3dDefaultTevOrderInfoNull;
|
extern const J3DTevOrderInfo j3dDefaultTevOrderInfoNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTevOrder : public J3DTevOrderInfo {
|
struct J3DTevOrder : public J3DTevOrderInfo {
|
||||||
/* 8000E140 */ J3DTevOrder() : J3DTevOrderInfo(j3dDefaultTevOrderInfoNull) {}
|
/* 8000E140 */ J3DTevOrder() : J3DTevOrderInfo(j3dDefaultTevOrderInfoNull) {}
|
||||||
J3DTevOrder(const J3DTevOrderInfo& info) : J3DTevOrderInfo(info) {}
|
J3DTevOrder(const J3DTevOrderInfo& info) : J3DTevOrderInfo(info) {}
|
||||||
|
|
@ -182,6 +214,10 @@ struct J3DTevOrder : public J3DTevOrderInfo {
|
||||||
u8 getTexMap() { return mTexMap; }
|
u8 getTexMap() { return mTexMap; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTevSwapModeTable {
|
struct J3DTevSwapModeTable {
|
||||||
/* 8000E134 */ J3DTevSwapModeTable();
|
/* 8000E134 */ J3DTevSwapModeTable();
|
||||||
J3DTevSwapModeTable(J3DTevSwapModeTableInfo const& info) {
|
J3DTevSwapModeTable(J3DTevSwapModeTableInfo const& info) {
|
||||||
|
|
|
||||||
|
|
@ -1,92 +1,107 @@
|
||||||
#ifndef J3DTEXTURE_H
|
#ifndef J3DTEXTURE_H
|
||||||
#define J3DTEXTURE_H
|
#define J3DTEXTURE_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DStruct.h"
|
#include "JSystem/J3DGraphBase/J3DStruct.h"
|
||||||
#include "JSystem/JUtility/JUTTexture.h"
|
#include "JSystem/JUtility/JUTTexture.h"
|
||||||
#include "dolphin/mtx.h"
|
#include "dolphin/types.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
/**
|
||||||
class J3DTexture {
|
* @ingroup jsystem-j3d
|
||||||
private:
|
*
|
||||||
/* 0x0 */ u16 mNum;
|
*/
|
||||||
/* 0x2 */ u16 field_0x2;
|
class J3DTexture {
|
||||||
/* 0x4 */ ResTIMG* mpRes;
|
private:
|
||||||
|
/* 0x0 */ u16 mNum;
|
||||||
public:
|
/* 0x2 */ u16 field_0x2;
|
||||||
J3DTexture(u16 num, ResTIMG* res) : mNum(num), field_0x2(0), mpRes(res) {}
|
/* 0x4 */ ResTIMG* mpRes;
|
||||||
/* 8031204C */ void loadGX(u16, _GXTexMapID) const;
|
|
||||||
/* 803121A4 */ void entryNum(u16);
|
public:
|
||||||
/* 8031221C */ void addResTIMG(u16, ResTIMG const*);
|
J3DTexture(u16 num, ResTIMG* res) : mNum(num), field_0x2(0), mpRes(res) {}
|
||||||
/* 803366A4 */ virtual ~J3DTexture() {}
|
/* 8031204C */ void loadGX(u16, _GXTexMapID) const;
|
||||||
|
/* 803121A4 */ void entryNum(u16);
|
||||||
u16 getNum() const { return mNum; }
|
/* 8031221C */ void addResTIMG(u16, ResTIMG const*);
|
||||||
ResTIMG* getResTIMG(u16 entry) const { return &mpRes[entry]; }
|
/* 803366A4 */ virtual ~J3DTexture() {}
|
||||||
void setResTIMG(u16 entry, const ResTIMG& timg) {
|
|
||||||
mpRes[entry] = timg;
|
u16 getNum() const { return mNum; }
|
||||||
mpRes[entry].imageOffset = ((mpRes[entry].imageOffset + (u32)&timg - (u32)(mpRes + entry)));
|
ResTIMG* getResTIMG(u16 entry) const { return &mpRes[entry]; }
|
||||||
mpRes[entry].paletteOffset = ((mpRes[entry].paletteOffset + (u32)&timg - (u32)(mpRes + entry)));
|
void setResTIMG(u16 entry, const ResTIMG& timg) {
|
||||||
}
|
mpRes[entry] = timg;
|
||||||
};
|
mpRes[entry].imageOffset = ((mpRes[entry].imageOffset + (u32)&timg - (u32)(mpRes + entry)));
|
||||||
|
mpRes[entry].paletteOffset = ((mpRes[entry].paletteOffset + (u32)&timg - (u32)(mpRes + entry)));
|
||||||
extern J3DTexMtxInfo const j3dDefaultTexMtxInfo;
|
}
|
||||||
|
};
|
||||||
class J3DTexMtx {
|
|
||||||
public:
|
extern J3DTexMtxInfo const j3dDefaultTexMtxInfo;
|
||||||
J3DTexMtx() {
|
|
||||||
mTexMtxInfo = j3dDefaultTexMtxInfo;
|
/**
|
||||||
}
|
* @ingroup jsystem-j3d
|
||||||
J3DTexMtx(const J3DTexMtxInfo& info) {
|
*
|
||||||
mTexMtxInfo = info;
|
*/
|
||||||
}
|
class J3DTexMtx {
|
||||||
/* 803238C4 */ void load(u32) const;
|
public:
|
||||||
/* 80323900 */ void calc(const Mtx);
|
J3DTexMtx() {
|
||||||
/* 80323920 */ void calcTexMtx(const Mtx);
|
mTexMtxInfo = j3dDefaultTexMtxInfo;
|
||||||
/* 80323C0C */ void calcPostTexMtx(const Mtx);
|
}
|
||||||
/* 80324358 */ void loadTexMtx(u32) const;
|
J3DTexMtx(const J3DTexMtxInfo& info) {
|
||||||
/* 803243BC */ void loadPostTexMtx(u32) const;
|
mTexMtxInfo = info;
|
||||||
|
}
|
||||||
J3DTexMtxInfo& getTexMtxInfo() { return mTexMtxInfo; }
|
/* 803238C4 */ void load(u32) const;
|
||||||
Mtx& getMtx() { return mMtx; }
|
/* 80323900 */ void calc(const Mtx);
|
||||||
void setEffectMtx(Mtx effectMtx) { mTexMtxInfo.setEffectMtx(effectMtx); }
|
/* 80323920 */ void calcTexMtx(const Mtx);
|
||||||
|
/* 80323C0C */ void calcPostTexMtx(const Mtx);
|
||||||
private:
|
/* 80324358 */ void loadTexMtx(u32) const;
|
||||||
/* 0x00 */ J3DTexMtxInfo mTexMtxInfo;
|
/* 803243BC */ void loadPostTexMtx(u32) const;
|
||||||
/* 0x64 */ Mtx mMtx;
|
|
||||||
}; // Size: 0x94
|
J3DTexMtxInfo& getTexMtxInfo() { return mTexMtxInfo; }
|
||||||
|
Mtx& getMtx() { return mMtx; }
|
||||||
struct J3DTexCoordInfo {
|
void setEffectMtx(Mtx effectMtx) { mTexMtxInfo.setEffectMtx(effectMtx); }
|
||||||
/* 0x0 */ u8 mTexGenType;
|
|
||||||
/* 0x1 */ u8 mTexGenSrc;
|
private:
|
||||||
/* 0x2 */ u8 mTexGenMtx;
|
/* 0x00 */ J3DTexMtxInfo mTexMtxInfo;
|
||||||
/* 0x3 */ u8 pad;
|
/* 0x64 */ Mtx mMtx;
|
||||||
};
|
}; // Size: 0x94
|
||||||
|
|
||||||
extern J3DTexCoordInfo const j3dDefaultTexCoordInfo[8];
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
struct J3DTexCoord : public J3DTexCoordInfo {
|
*
|
||||||
/* 8000E464 */ J3DTexCoord() {
|
*/
|
||||||
setTexCoordInfo(j3dDefaultTexCoordInfo[0]);
|
struct J3DTexCoordInfo {
|
||||||
resetTexMtxReg();
|
/* 0x0 */ u8 mTexGenType;
|
||||||
}
|
/* 0x1 */ u8 mTexGenSrc;
|
||||||
J3DTexCoord(J3DTexCoordInfo const& info) {
|
/* 0x2 */ u8 mTexGenMtx;
|
||||||
setTexCoordInfo(info);
|
/* 0x3 */ u8 pad;
|
||||||
resetTexMtxReg();
|
};
|
||||||
}
|
|
||||||
void setTexCoordInfo(J3DTexCoordInfo const& info) {
|
extern J3DTexCoordInfo const j3dDefaultTexCoordInfo[8];
|
||||||
__memcpy(this, &info, sizeof(J3DTexCoordInfo));
|
|
||||||
}
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
u8 getTexGenType() { return mTexGenType; }
|
*
|
||||||
u8 getTexGenSrc() { return mTexGenSrc; }
|
*/
|
||||||
u8 getTexGenMtx() { return mTexGenMtx & 0xff; }
|
struct J3DTexCoord : public J3DTexCoordInfo {
|
||||||
u16 getTexMtxReg() { return mTexMtxReg & 0xff; }
|
/* 8000E464 */ J3DTexCoord() {
|
||||||
void setTexGenMtx(u8 param_1) { mTexGenMtx = param_1; }
|
setTexCoordInfo(j3dDefaultTexCoordInfo[0]);
|
||||||
|
resetTexMtxReg();
|
||||||
void resetTexMtxReg() {
|
}
|
||||||
mTexMtxReg = mTexGenMtx;
|
J3DTexCoord(J3DTexCoordInfo const& info) {
|
||||||
}
|
setTexCoordInfo(info);
|
||||||
|
resetTexMtxReg();
|
||||||
/* 0x4 */ u16 mTexMtxReg;
|
}
|
||||||
}; // Size: 0x6
|
void setTexCoordInfo(J3DTexCoordInfo const& info) {
|
||||||
|
__memcpy(this, &info, sizeof(J3DTexCoordInfo));
|
||||||
#endif /* J3DTEXTURE_H */
|
}
|
||||||
|
|
||||||
|
u8 getTexGenType() { return mTexGenType; }
|
||||||
|
u8 getTexGenSrc() { return mTexGenSrc; }
|
||||||
|
u8 getTexGenMtx() { return mTexGenMtx & 0xff; }
|
||||||
|
u16 getTexMtxReg() { return mTexMtxReg & 0xff; }
|
||||||
|
void setTexGenMtx(u8 param_1) { mTexGenMtx = param_1; }
|
||||||
|
|
||||||
|
void resetTexMtxReg() {
|
||||||
|
mTexMtxReg = mTexGenMtx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 0x4 */ u16 mTexMtxReg;
|
||||||
|
}; // Size: 0x6
|
||||||
|
|
||||||
|
#endif /* J3DTEXTURE_H */
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,10 @@
|
||||||
|
|
||||||
struct J3DTextureSRTInfo;
|
struct J3DTextureSRTInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DTransformInfo {
|
struct J3DTransformInfo {
|
||||||
/* 0x00 */ JGeometry::TVec3<f32> mScale;
|
/* 0x00 */ JGeometry::TVec3<f32> mScale;
|
||||||
/* 0x0C */ JGeometry::TVec3<s16> mRotation;
|
/* 0x0C */ JGeometry::TVec3<s16> mRotation;
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,16 @@
|
||||||
|
|
||||||
#include "dolphin/gx/GXAttr.h"
|
#include "dolphin/gx/GXAttr.h"
|
||||||
#include "dolphin/mtx/vec.h"
|
#include "dolphin/mtx/vec.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
typedef struct _GXColor GXColor;
|
typedef struct _GXColor GXColor;
|
||||||
class J3DModel;
|
class J3DModel;
|
||||||
class J3DAnmVtxColor;
|
class J3DAnmVtxColor;
|
||||||
class J3DVertexBuffer;
|
class J3DVertexBuffer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DVtxColorCalc {
|
struct J3DVtxColorCalc {
|
||||||
/* 8032E180 */ void calc(J3DModel*);
|
/* 8032E180 */ void calc(J3DModel*);
|
||||||
virtual void calc(J3DVertexBuffer*);
|
virtual void calc(J3DVertexBuffer*);
|
||||||
|
|
@ -19,6 +22,10 @@ struct J3DVtxColorCalc {
|
||||||
/* 0x8 */ J3DAnmVtxColor* mpVtxColor;
|
/* 0x8 */ J3DAnmVtxColor* mpVtxColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DVertexData {
|
class J3DVertexData {
|
||||||
public:
|
public:
|
||||||
J3DVertexData();
|
J3DVertexData();
|
||||||
|
|
@ -61,6 +68,10 @@ private:
|
||||||
/* 0x58 */ GXCompType mVtxNrmType;
|
/* 0x58 */ GXCompType mVtxNrmType;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DVertexBuffer {
|
class J3DVertexBuffer {
|
||||||
public:
|
public:
|
||||||
J3DVertexBuffer() { init(); }
|
J3DVertexBuffer() { init(); }
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
#ifndef J3DANMLOADER_H
|
#ifndef J3DANMLOADER_H
|
||||||
#define J3DANMLOADER_H
|
#define J3DANMLOADER_H
|
||||||
|
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
enum J3DAnmLoaderDataBaseFlag {
|
enum J3DAnmLoaderDataBaseFlag {
|
||||||
J3DLOADER_UNK_FLAG0,
|
J3DLOADER_UNK_FLAG0,
|
||||||
|
|
@ -10,6 +9,10 @@ enum J3DAnmLoaderDataBaseFlag {
|
||||||
|
|
||||||
class J3DAnmBase;
|
class J3DAnmBase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DAnmLoaderDataBase {
|
struct J3DAnmLoaderDataBase {
|
||||||
/* 80337B40 */ static J3DAnmBase* load(void const*, J3DAnmLoaderDataBaseFlag);
|
/* 80337B40 */ static J3DAnmBase* load(void const*, J3DAnmLoaderDataBaseFlag);
|
||||||
/* 80338134 */ static void setResource(J3DAnmBase*, void const*);
|
/* 80338134 */ static void setResource(J3DAnmBase*, void const*);
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,20 @@
|
||||||
#ifndef J3DCLUSTERLOADER_H
|
#ifndef J3DCLUSTERLOADER_H
|
||||||
#define J3DCLUSTERLOADER_H
|
#define J3DCLUSTERLOADER_H
|
||||||
|
|
||||||
#include "dolphin/types.h"
|
|
||||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DClusterLoaderDataBase {
|
struct J3DClusterLoaderDataBase {
|
||||||
/* 80334130 */ static void* load(void const*);
|
/* 80334130 */ static void* load(void const*);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DClusterBlock : public JUTDataBlockHeader {
|
class J3DClusterBlock : public JUTDataBlockHeader {
|
||||||
public:
|
public:
|
||||||
/* 0x08 */ u16 mClusterNum;
|
/* 0x08 */ u16 mClusterNum;
|
||||||
|
|
@ -24,6 +31,10 @@ public:
|
||||||
/* 0x2C */ void* mClusterKeyName;
|
/* 0x2C */ void* mClusterKeyName;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DClusterLoader {
|
class J3DClusterLoader {
|
||||||
public:
|
public:
|
||||||
virtual void* load(const void*) = 0;
|
virtual void* load(const void*) = 0;
|
||||||
|
|
@ -32,6 +43,10 @@ public:
|
||||||
|
|
||||||
class J3DDeformData;
|
class J3DDeformData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DClusterLoader_v15 : public J3DClusterLoader {
|
class J3DClusterLoader_v15 : public J3DClusterLoader {
|
||||||
public:
|
public:
|
||||||
/* 803341CC */ J3DClusterLoader_v15();
|
/* 803341CC */ J3DClusterLoader_v15();
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,14 @@
|
||||||
#define J3DJOINTFACTORY_H
|
#define J3DJOINTFACTORY_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DTransform.h"
|
#include "JSystem/J3DGraphBase/J3DTransform.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
class J3DJoint;
|
class J3DJoint;
|
||||||
struct J3DJointBlock;
|
struct J3DJointBlock;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DJointInitData {
|
struct J3DJointInitData {
|
||||||
/* 0x00 */ u16 mKind;
|
/* 0x00 */ u16 mKind;
|
||||||
/* 0x02 */ bool mScaleCompensate;
|
/* 0x02 */ bool mScaleCompensate;
|
||||||
|
|
@ -16,6 +19,10 @@ struct J3DJointInitData {
|
||||||
/* 0x2C */ Vec mMax;
|
/* 0x2C */ Vec mMax;
|
||||||
}; // Size: 0x30
|
}; // Size: 0x30
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DJointFactory {
|
struct J3DJointFactory {
|
||||||
/* 80337178 */ J3DJointFactory(J3DJointBlock const&);
|
/* 80337178 */ J3DJointFactory(J3DJointBlock const&);
|
||||||
/* 803371D0 */ J3DJoint* create(int);
|
/* 803371D0 */ J3DJoint* create(int);
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,14 @@
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||||
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
|
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
|
||||||
#include "dolphin/gx/GXEnum.h"
|
|
||||||
#include "dolphin/gx/GXStruct.h"
|
#include "dolphin/gx/GXStruct.h"
|
||||||
|
|
||||||
class J3DMaterial;
|
class J3DMaterial;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DMaterialInitData {
|
struct J3DMaterialInitData {
|
||||||
/* 0x000 */ u8 mMaterialMode;
|
/* 0x000 */ u8 mMaterialMode;
|
||||||
/* 0x001 */ u8 mCullModeIdx;
|
/* 0x001 */ u8 mCullModeIdx;
|
||||||
|
|
@ -41,6 +44,10 @@ struct J3DMaterialInitData {
|
||||||
/* 0x14A */ u16 mNBTScaleIdx;
|
/* 0x14A */ u16 mNBTScaleIdx;
|
||||||
}; // size 0x14C
|
}; // size 0x14C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DIndInitData {
|
struct J3DIndInitData {
|
||||||
/* 0x000 */ bool mEnabled;
|
/* 0x000 */ bool mEnabled;
|
||||||
/* 0x001 */ u8 mIndTexStageNum;
|
/* 0x001 */ u8 mIndTexStageNum;
|
||||||
|
|
@ -53,6 +60,10 @@ struct J3DIndInitData {
|
||||||
/* 0x078 */ J3DIndTevStageInfo mIndTevStageInfo[0x10];
|
/* 0x078 */ J3DIndTevStageInfo mIndTevStageInfo[0x10];
|
||||||
}; // size 0x138
|
}; // size 0x138
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DPatchingInfo {
|
struct J3DPatchingInfo {
|
||||||
/* 0x0 */ u16 mMatColorOffset;
|
/* 0x0 */ u16 mMatColorOffset;
|
||||||
/* 0x2 */ u16 mColorChanOffset;
|
/* 0x2 */ u16 mColorChanOffset;
|
||||||
|
|
@ -63,6 +74,10 @@ struct J3DPatchingInfo {
|
||||||
/* 0xC */ u8 field_0xc[4];
|
/* 0xC */ u8 field_0xc[4];
|
||||||
}; // size 0x10
|
}; // size 0x10
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DDisplayListInit {
|
struct J3DDisplayListInit {
|
||||||
/* 0x0 */ u32 mOffset;
|
/* 0x0 */ u32 mOffset;
|
||||||
/* 0x4 */ u32 field_0x4;
|
/* 0x4 */ u32 field_0x4;
|
||||||
|
|
@ -71,6 +86,10 @@ struct J3DDisplayListInit {
|
||||||
struct J3DTexCoord2Info;
|
struct J3DTexCoord2Info;
|
||||||
struct J3DCurrentMtxInfo;
|
struct J3DCurrentMtxInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DMaterialFactory {
|
class J3DMaterialFactory {
|
||||||
public:
|
public:
|
||||||
enum MaterialType {
|
enum MaterialType {
|
||||||
|
|
|
||||||
|
|
@ -1,107 +1,114 @@
|
||||||
#ifndef J3DMATERIALFACTORY_V21_H
|
#ifndef J3DMATERIALFACTORY_V21_H
|
||||||
#define J3DMATERIALFACTORY_V21_H
|
#define J3DMATERIALFACTORY_V21_H
|
||||||
|
|
||||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||||
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
|
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
|
||||||
#include "dolphin/gx/GXEnum.h"
|
#include "dolphin/gx/GXStruct.h"
|
||||||
#include "dolphin/gx/GXStruct.h"
|
|
||||||
|
class J3DMaterial;
|
||||||
class J3DMaterial;
|
struct J3DTexCoord2Info;
|
||||||
struct J3DTexCoord2Info;
|
struct J3DCurrentMtxInfo;
|
||||||
struct J3DCurrentMtxInfo;
|
|
||||||
|
/**
|
||||||
struct J3DMaterialInitData_v21 {
|
* @ingroup jsystem-j3d
|
||||||
/* 0x000 */ u8 mMaterialMode;
|
*
|
||||||
/* 0x001 */ u8 mCullModeIdx;
|
*/
|
||||||
/* 0x002 */ u8 mColorChanNumIdx;
|
struct J3DMaterialInitData_v21 {
|
||||||
/* 0x003 */ u8 mTexGenNumIdx;
|
/* 0x000 */ u8 mMaterialMode;
|
||||||
/* 0x004 */ u8 mTevStageNumIdx;
|
/* 0x001 */ u8 mCullModeIdx;
|
||||||
/* 0x005 */ u8 mZCompLocIdx;
|
/* 0x002 */ u8 mColorChanNumIdx;
|
||||||
/* 0x006 */ u8 mZModeIdx;
|
/* 0x003 */ u8 mTexGenNumIdx;
|
||||||
/* 0x007 */ u8 mDitherIdx;
|
/* 0x004 */ u8 mTevStageNumIdx;
|
||||||
/* 0x008 */ u16 mMatColorIdx[2];
|
/* 0x005 */ u8 mZCompLocIdx;
|
||||||
/* 0x00C */ u16 mColorChanIdx[4];
|
/* 0x006 */ u8 mZModeIdx;
|
||||||
/* 0x014 */ u16 mTexCoordIdx[8];
|
/* 0x007 */ u8 mDitherIdx;
|
||||||
/* 0x024 */ u8 field_0x038[0x10];
|
/* 0x008 */ u16 mMatColorIdx[2];
|
||||||
/* 0x034 */ u16 mTexMtxIdx[8];
|
/* 0x00C */ u16 mColorChanIdx[4];
|
||||||
/* 0x044 */ u8 field_0x058[0x2c];
|
/* 0x014 */ u16 mTexCoordIdx[8];
|
||||||
/* 0x070 */ u16 mTexNoIdx[8];
|
/* 0x024 */ u8 field_0x038[0x10];
|
||||||
/* 0x080 */ u16 mTevKColorIdx[4];
|
/* 0x034 */ u16 mTexMtxIdx[8];
|
||||||
/* 0x088 */ u8 mTevKColorSel[0x10];
|
/* 0x044 */ u8 field_0x058[0x2c];
|
||||||
/* 0x098 */ u8 mTevKAlphaSel[0x10];
|
/* 0x070 */ u16 mTexNoIdx[8];
|
||||||
/* 0x0A8 */ u16 mTevOrderIdx[0x10];
|
/* 0x080 */ u16 mTevKColorIdx[4];
|
||||||
/* 0x0C8 */ u16 mTevColorIdx[4];
|
/* 0x088 */ u8 mTevKColorSel[0x10];
|
||||||
/* 0x0D0 */ u16 mTevStageIdx[0x10];
|
/* 0x098 */ u8 mTevKAlphaSel[0x10];
|
||||||
/* 0x0F0 */ u16 mTevSwapModeIdx[0x10];
|
/* 0x0A8 */ u16 mTevOrderIdx[0x10];
|
||||||
/* 0x110 */ u16 mTevSwapModeTableIdx[4];
|
/* 0x0C8 */ u16 mTevColorIdx[4];
|
||||||
/* 0x118 */ u8 field_0x12c[0x18];
|
/* 0x0D0 */ u16 mTevStageIdx[0x10];
|
||||||
/* 0x130 */ u16 mFogIdx;
|
/* 0x0F0 */ u16 mTevSwapModeIdx[0x10];
|
||||||
/* 0x132 */ u16 mAlphaCompIdx;
|
/* 0x110 */ u16 mTevSwapModeTableIdx[4];
|
||||||
/* 0x134 */ u16 mBlendIdx;
|
/* 0x118 */ u8 field_0x12c[0x18];
|
||||||
/* 0x136 */ u16 mNBTScaleIdx;
|
/* 0x130 */ u16 mFogIdx;
|
||||||
}; // size 0x138
|
/* 0x132 */ u16 mAlphaCompIdx;
|
||||||
|
/* 0x134 */ u16 mBlendIdx;
|
||||||
class J3DMaterialFactory_v21 {
|
/* 0x136 */ u16 mNBTScaleIdx;
|
||||||
public:
|
}; // size 0x138
|
||||||
/* 80332DA4 */ J3DMaterialFactory_v21(J3DMaterialBlock_v21 const&);
|
|
||||||
/* 80332F84 */ u16 countUniqueMaterials();
|
/**
|
||||||
/* 80332FA8 */ u32 countTexGens(int) const;
|
* @ingroup jsystem-j3d
|
||||||
/* 80332FE0 */ u32 countStages(int) const;
|
*
|
||||||
/* 80333068 */ J3DMaterial* create(J3DMaterial*, int, u32) const;
|
*/
|
||||||
/* 803337D8 */ J3DGXColor newMatColor(int, int) const;
|
class J3DMaterialFactory_v21 {
|
||||||
/* 80333834 */ u8 newColorChanNum(int) const;
|
public:
|
||||||
/* 8033386C */ J3DColorChan newColorChan(int, int) const;
|
/* 80332DA4 */ J3DMaterialFactory_v21(J3DMaterialBlock_v21 const&);
|
||||||
/* 80333A10 */ u32 newTexGenNum(int) const;
|
/* 80332F84 */ u16 countUniqueMaterials();
|
||||||
/* 80333A48 */ J3DTexCoord newTexCoord(int, int) const;
|
/* 80332FA8 */ u32 countTexGens(int) const;
|
||||||
/* 80333AA8 */ J3DTexMtx* newTexMtx(int, int) const;
|
/* 80332FE0 */ u32 countStages(int) const;
|
||||||
/* 80333B30 */ u8 newCullMode(int) const;
|
/* 80333068 */ J3DMaterial* create(J3DMaterial*, int, u32) const;
|
||||||
/* 80333B70 */ u16 newTexNo(int, int) const;
|
/* 803337D8 */ J3DGXColor newMatColor(int, int) const;
|
||||||
/* 80333BB8 */ J3DTevOrder newTevOrder(int, int) const;
|
/* 80333834 */ u8 newColorChanNum(int) const;
|
||||||
/* 80333C04 */ J3DGXColorS10 newTevColor(int, int) const;
|
/* 8033386C */ J3DColorChan newColorChan(int, int) const;
|
||||||
/* 80333C74 */ J3DGXColor newTevKColor(int, int) const;
|
/* 80333A10 */ u32 newTexGenNum(int) const;
|
||||||
/* 80333CD0 */ u8 newTevStageNum(int) const;
|
/* 80333A48 */ J3DTexCoord newTexCoord(int, int) const;
|
||||||
/* 80333D08 */ J3DTevStage newTevStage(int, int) const;
|
/* 80333AA8 */ J3DTexMtx* newTexMtx(int, int) const;
|
||||||
/* 80333D68 */ J3DTevSwapModeTable newTevSwapModeTable(int, int) const;
|
/* 80333B30 */ u8 newCullMode(int) const;
|
||||||
/* 80333E04 */ J3DFog newFog(int) const;
|
/* 80333B70 */ u16 newTexNo(int, int) const;
|
||||||
/* 80333EE0 */ J3DAlphaComp newAlphaComp(int) const;
|
/* 80333BB8 */ J3DTevOrder newTevOrder(int, int) const;
|
||||||
/* 80333F60 */ J3DBlend newBlend(int) const;
|
/* 80333C04 */ J3DGXColorS10 newTevColor(int, int) const;
|
||||||
/* 80333FA4 */ J3DZMode newZMode(int) const;
|
/* 80333C74 */ J3DGXColor newTevKColor(int, int) const;
|
||||||
/* 80334004 */ u8 newZCompLoc(int) const;
|
/* 80333CD0 */ u8 newTevStageNum(int) const;
|
||||||
/* 8033403C */ u8 newDither(int) const;
|
/* 80333D08 */ J3DTevStage newTevStage(int, int) const;
|
||||||
/* 80334074 */ J3DNBTScale newNBTScale(int) const;
|
/* 80333D68 */ J3DTevSwapModeTable newTevSwapModeTable(int, int) const;
|
||||||
|
/* 80333E04 */ J3DFog newFog(int) const;
|
||||||
u16 getMaterialID(u16 idx) { return mpMaterialID[idx]; }
|
/* 80333EE0 */ J3DAlphaComp newAlphaComp(int) const;
|
||||||
|
/* 80333F60 */ J3DBlend newBlend(int) const;
|
||||||
/* 0x00 */ u16 mMaterialNum;
|
/* 80333FA4 */ J3DZMode newZMode(int) const;
|
||||||
/* 0x04 */ J3DMaterialInitData_v21* mpMaterialInitData;
|
/* 80334004 */ u8 newZCompLoc(int) const;
|
||||||
/* 0x08 */ u16* mpMaterialID;
|
/* 8033403C */ u8 newDither(int) const;
|
||||||
/* 0x0C */ GXColor* mpMatColor;
|
/* 80334074 */ J3DNBTScale newNBTScale(int) const;
|
||||||
/* 0x10 */ u8* mpColorChanNum;
|
|
||||||
/* 0x14 */ J3DColorChanInfo* mpColorChanInfo;
|
u16 getMaterialID(u16 idx) { return mpMaterialID[idx]; }
|
||||||
/* 0x18 */ u8* mpTexGenNum;
|
|
||||||
/* 0x1C */ J3DTexCoordInfo* mpTexCoordInfo;
|
/* 0x00 */ u16 mMaterialNum;
|
||||||
/* 0x20 */ J3DTexCoord2Info* mpTexCoord2Info;
|
/* 0x04 */ J3DMaterialInitData_v21* mpMaterialInitData;
|
||||||
/* 0x24 */ J3DTexMtxInfo* mpTexMtxInfo;
|
/* 0x08 */ u16* mpMaterialID;
|
||||||
/* 0x28 */ J3DTexMtxInfo* field_0x28;
|
/* 0x0C */ GXColor* mpMatColor;
|
||||||
/* 0x2C */ u16* mpTexNo;
|
/* 0x10 */ u8* mpColorChanNum;
|
||||||
/* 0x30 */ GXCullMode* mpCullMode;
|
/* 0x14 */ J3DColorChanInfo* mpColorChanInfo;
|
||||||
/* 0x34 */ J3DTevOrderInfo* mpTevOrderInfo;
|
/* 0x18 */ u8* mpTexGenNum;
|
||||||
/* 0x38 */ GXColorS10* mpTevColor;
|
/* 0x1C */ J3DTexCoordInfo* mpTexCoordInfo;
|
||||||
/* 0x3C */ GXColor* mpTevKColor;
|
/* 0x20 */ J3DTexCoord2Info* mpTexCoord2Info;
|
||||||
/* 0x40 */ u8* mpTevStageNum;
|
/* 0x24 */ J3DTexMtxInfo* mpTexMtxInfo;
|
||||||
/* 0x44 */ J3DTevStageInfo* mpTevStageInfo;
|
/* 0x28 */ J3DTexMtxInfo* field_0x28;
|
||||||
/* 0x48 */ J3DTevSwapModeInfo* mpTevSwapModeInfo;
|
/* 0x2C */ u16* mpTexNo;
|
||||||
/* 0x4C */ J3DTevSwapModeTableInfo* mpTevSwapModeTableInfo;
|
/* 0x30 */ GXCullMode* mpCullMode;
|
||||||
/* 0x50 */ J3DFogInfo* mpFogInfo;
|
/* 0x34 */ J3DTevOrderInfo* mpTevOrderInfo;
|
||||||
/* 0x54 */ J3DAlphaCompInfo* mpAlphaCompInfo;
|
/* 0x38 */ GXColorS10* mpTevColor;
|
||||||
/* 0x58 */ J3DBlendInfo* mpBlendInfo;
|
/* 0x3C */ GXColor* mpTevKColor;
|
||||||
/* 0x5C */ J3DZModeInfo* mpZModeInfo;
|
/* 0x40 */ u8* mpTevStageNum;
|
||||||
/* 0x60 */ u8* mpZCompLoc;
|
/* 0x44 */ J3DTevStageInfo* mpTevStageInfo;
|
||||||
/* 0x64 */ u8* mpDither;
|
/* 0x48 */ J3DTevSwapModeInfo* mpTevSwapModeInfo;
|
||||||
/* 0x68 */ J3DNBTScaleInfo* mpNBTScaleInfo;
|
/* 0x4C */ J3DTevSwapModeTableInfo* mpTevSwapModeTableInfo;
|
||||||
/* 0x6C */ u16 field_0x6c;
|
/* 0x50 */ J3DFogInfo* mpFogInfo;
|
||||||
/* 0x6E */ u8 field_0x6e;
|
/* 0x54 */ J3DAlphaCompInfo* mpAlphaCompInfo;
|
||||||
/* 0x6F */ u8 field_0x6f;
|
/* 0x58 */ J3DBlendInfo* mpBlendInfo;
|
||||||
};
|
/* 0x5C */ J3DZModeInfo* mpZModeInfo;
|
||||||
|
/* 0x60 */ u8* mpZCompLoc;
|
||||||
#endif /* J3DMATERIALFACTORY_V21_H */
|
/* 0x64 */ u8* mpDither;
|
||||||
|
/* 0x68 */ J3DNBTScaleInfo* mpNBTScaleInfo;
|
||||||
|
/* 0x6C */ u16 field_0x6c;
|
||||||
|
/* 0x6E */ u8 field_0x6e;
|
||||||
|
/* 0x6F */ u8 field_0x6f;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* J3DMATERIALFACTORY_V21_H */
|
||||||
|
|
|
||||||
|
|
@ -1,249 +1,312 @@
|
||||||
#ifndef J3DMODELLOADER_H
|
#ifndef J3DMODELLOADER_H
|
||||||
#define J3DMODELLOADER_H
|
#define J3DMODELLOADER_H
|
||||||
|
|
||||||
#include "dolphin/types.h"
|
#include "dolphin/mtx.h"
|
||||||
#include "dolphin/mtx.h"
|
|
||||||
|
class J3DModelData;
|
||||||
class J3DModelData;
|
class J3DMaterialTable;
|
||||||
class J3DMaterialTable;
|
class J3DModelHierarchy;
|
||||||
class J3DModelHierarchy;
|
|
||||||
|
/**
|
||||||
struct J3DModelBlock {
|
* @ingroup jsystem-j3d
|
||||||
/* 0x00 */ u32 mBlockType;
|
*
|
||||||
/* 0x04 */ u32 mBlockSize;
|
*/
|
||||||
};
|
struct J3DModelBlock {
|
||||||
|
/* 0x00 */ u32 mBlockType;
|
||||||
struct J3DModelFileData {
|
/* 0x04 */ u32 mBlockSize;
|
||||||
/* 0x00 */ u32 mMagic1;
|
};
|
||||||
/* 0x04 */ u32 mMagic2;
|
|
||||||
/* 0x08 */ u8 field_0x08[4];
|
/**
|
||||||
/* 0x0C */ u32 mBlockNum;
|
* @ingroup jsystem-j3d
|
||||||
/* 0x10 */ u8 field_0x10[0x10];
|
*
|
||||||
/* 0x20 */ J3DModelBlock mBlocks[1];
|
*/
|
||||||
};
|
struct J3DModelFileData {
|
||||||
|
/* 0x00 */ u32 mMagic1;
|
||||||
struct J3DModelInfoBlock : public J3DModelBlock {
|
/* 0x04 */ u32 mMagic2;
|
||||||
/* 0x08 */ u16 mFlags;
|
/* 0x08 */ u8 field_0x08[4];
|
||||||
/* 0x0C */ u32 mPacketNum;
|
/* 0x0C */ u32 mBlockNum;
|
||||||
/* 0x10 */ u32 mVtxNum;
|
/* 0x10 */ u8 field_0x10[0x10];
|
||||||
/* 0x14 */ void* mpHierarchy;
|
/* 0x20 */ J3DModelBlock mBlocks[1];
|
||||||
}; // size 0x18
|
};
|
||||||
|
|
||||||
struct J3DVertexBlock : public J3DModelBlock {
|
/**
|
||||||
/* 0x08 */ void* mpVtxAttrFmtList;
|
* @ingroup jsystem-j3d
|
||||||
/* 0x0C */ void* mpVtxPosArray;
|
*
|
||||||
/* 0x10 */ void* mpVtxNrmArray;
|
*/
|
||||||
/* 0x14 */ void* mpVtxNBTArray;
|
struct J3DModelInfoBlock : public J3DModelBlock {
|
||||||
/* 0x18 */ void* mpVtxColorArray[2];
|
/* 0x08 */ u16 mFlags;
|
||||||
/* 0x20 */ void* mpVtxTexCoordArray[8];
|
/* 0x0C */ u32 mPacketNum;
|
||||||
}; // size 0x40
|
/* 0x10 */ u32 mVtxNum;
|
||||||
|
/* 0x14 */ void* mpHierarchy;
|
||||||
struct J3DEnvelopeBlock : public J3DModelBlock {
|
}; // size 0x18
|
||||||
/* 0x08 */ u16 mWEvlpMtxNum;
|
|
||||||
/* 0x0C */ void* mpWEvlpMixMtxNum;
|
/**
|
||||||
/* 0x10 */ void* mpWEvlpMixIndex;
|
* @ingroup jsystem-j3d
|
||||||
/* 0x14 */ void* mpWEvlpMixWeight;
|
*
|
||||||
/* 0x18 */ void* mpInvJointMtx;
|
*/
|
||||||
}; // size 0x1C
|
struct J3DVertexBlock : public J3DModelBlock {
|
||||||
|
/* 0x08 */ void* mpVtxAttrFmtList;
|
||||||
struct J3DDrawBlock : public J3DModelBlock {
|
/* 0x0C */ void* mpVtxPosArray;
|
||||||
/* 0x08 */ u16 mMtxNum;
|
/* 0x10 */ void* mpVtxNrmArray;
|
||||||
/* 0x0C */ void* mpDrawMtxFlag;
|
/* 0x14 */ void* mpVtxNBTArray;
|
||||||
/* 0x10 */ void* mpDrawMtxIndex;
|
/* 0x18 */ void* mpVtxColorArray[2];
|
||||||
}; // size 0x14
|
/* 0x20 */ void* mpVtxTexCoordArray[8];
|
||||||
|
}; // size 0x40
|
||||||
struct J3DJointBlock : public J3DModelBlock {
|
|
||||||
/* 0x08 */ u16 mJointNum;
|
/**
|
||||||
/* 0x0C */ void* mpJointInitData;
|
* @ingroup jsystem-j3d
|
||||||
/* 0x10 */ void* mpIndexTable;
|
*
|
||||||
/* 0x14 */ void* mpNameTable;
|
*/
|
||||||
}; // size 0x18
|
struct J3DEnvelopeBlock : public J3DModelBlock {
|
||||||
|
/* 0x08 */ u16 mWEvlpMtxNum;
|
||||||
struct J3DMaterialBlock : public J3DModelBlock {
|
/* 0x0C */ void* mpWEvlpMixMtxNum;
|
||||||
/* 0x08 */ u16 mMaterialNum;
|
/* 0x10 */ void* mpWEvlpMixIndex;
|
||||||
/* 0x0C */ void* mpMaterialInitData;
|
/* 0x14 */ void* mpWEvlpMixWeight;
|
||||||
/* 0x10 */ void* mpMaterialID;
|
/* 0x18 */ void* mpInvJointMtx;
|
||||||
/* 0x14 */ void* mpNameTable;
|
}; // size 0x1C
|
||||||
/* 0x18 */ void* mpIndInitData;
|
|
||||||
/* 0x1C */ void* mpCullMode;
|
/**
|
||||||
/* 0x20 */ void* mpMatColor;
|
* @ingroup jsystem-j3d
|
||||||
/* 0x24 */ void* mpColorChanNum;
|
*
|
||||||
/* 0x28 */ void* mpColorChanInfo;
|
*/
|
||||||
/* 0x2C */ void* mpAmbColor;
|
struct J3DDrawBlock : public J3DModelBlock {
|
||||||
/* 0x30 */ void* mpLightInfo;
|
/* 0x08 */ u16 mMtxNum;
|
||||||
/* 0x34 */ void* mpTexGenNum;
|
/* 0x0C */ void* mpDrawMtxFlag;
|
||||||
/* 0x38 */ void* mpTexCoordInfo;
|
/* 0x10 */ void* mpDrawMtxIndex;
|
||||||
/* 0x3C */ void* mpTexCoord2Info;
|
}; // size 0x14
|
||||||
/* 0x40 */ void* mpTexMtxInfo;
|
|
||||||
/* 0x44 */ void* field_0x44;
|
/**
|
||||||
/* 0x48 */ void* mpTexNo;
|
* @ingroup jsystem-j3d
|
||||||
/* 0x4C */ void* mpTevOrderInfo;
|
*
|
||||||
/* 0x50 */ void* mpTevColor;
|
*/
|
||||||
/* 0x54 */ void* mpTevKColor;
|
struct J3DJointBlock : public J3DModelBlock {
|
||||||
/* 0x58 */ void* mpTevStageNum;
|
/* 0x08 */ u16 mJointNum;
|
||||||
/* 0x5C */ void* mpTevStageInfo;
|
/* 0x0C */ void* mpJointInitData;
|
||||||
/* 0x60 */ void* mpTevSwapModeInfo;
|
/* 0x10 */ void* mpIndexTable;
|
||||||
/* 0x64 */ void* mpTevSwapModeTableInfo;
|
/* 0x14 */ void* mpNameTable;
|
||||||
/* 0x68 */ void* mpFogInfo;
|
}; // size 0x18
|
||||||
/* 0x6C */ void* mpAlphaCompInfo;
|
|
||||||
/* 0x70 */ void* mpBlendInfo;
|
/**
|
||||||
/* 0x74 */ void* mpZModeInfo;
|
* @ingroup jsystem-j3d
|
||||||
/* 0x78 */ void* mpZCompLoc;
|
*
|
||||||
/* 0x7C */ void* mpDither;
|
*/
|
||||||
/* 0x80 */ void* mpNBTScaleInfo;
|
struct J3DMaterialBlock : public J3DModelBlock {
|
||||||
};
|
/* 0x08 */ u16 mMaterialNum;
|
||||||
|
/* 0x0C */ void* mpMaterialInitData;
|
||||||
struct J3DMaterialBlock_v21 : public J3DModelBlock {
|
/* 0x10 */ void* mpMaterialID;
|
||||||
/* 0x08 */ u16 mMaterialNum;
|
/* 0x14 */ void* mpNameTable;
|
||||||
/* 0x0C */ void* mpMaterialInitData;
|
/* 0x18 */ void* mpIndInitData;
|
||||||
/* 0x10 */ void* mpMaterialID;
|
/* 0x1C */ void* mpCullMode;
|
||||||
/* 0x14 */ void* mpNameTable;
|
/* 0x20 */ void* mpMatColor;
|
||||||
/* 0x18 */ void* mpCullMode;
|
/* 0x24 */ void* mpColorChanNum;
|
||||||
/* 0x1C */ void* mpMatColor;
|
/* 0x28 */ void* mpColorChanInfo;
|
||||||
/* 0x20 */ void* mpColorChanNum;
|
/* 0x2C */ void* mpAmbColor;
|
||||||
/* 0x24 */ void* mpColorChanInfo;
|
/* 0x30 */ void* mpLightInfo;
|
||||||
/* 0x28 */ void* mpTexGenNum;
|
/* 0x34 */ void* mpTexGenNum;
|
||||||
/* 0x2C */ void* mpTexCoordInfo;
|
/* 0x38 */ void* mpTexCoordInfo;
|
||||||
/* 0x30 */ void* mpTexCoord2Info;
|
/* 0x3C */ void* mpTexCoord2Info;
|
||||||
/* 0x34 */ void* mpTexMtxInfo;
|
/* 0x40 */ void* mpTexMtxInfo;
|
||||||
/* 0x38 */ void* field_0x38;
|
/* 0x44 */ void* field_0x44;
|
||||||
/* 0x3C */ void* mpTexNo;
|
/* 0x48 */ void* mpTexNo;
|
||||||
/* 0x40 */ void* mpTevOrderInfo;
|
/* 0x4C */ void* mpTevOrderInfo;
|
||||||
/* 0x44 */ void* mpTevColor;
|
/* 0x50 */ void* mpTevColor;
|
||||||
/* 0x48 */ void* mpTevKColor;
|
/* 0x54 */ void* mpTevKColor;
|
||||||
/* 0x4C */ void* mpTevStageNum;
|
/* 0x58 */ void* mpTevStageNum;
|
||||||
/* 0x50 */ void* mpTevStageInfo;
|
/* 0x5C */ void* mpTevStageInfo;
|
||||||
/* 0x54 */ void* mpTevSwapModeInfo;
|
/* 0x60 */ void* mpTevSwapModeInfo;
|
||||||
/* 0x58 */ void* mpTevSwapModeTableInfo;
|
/* 0x64 */ void* mpTevSwapModeTableInfo;
|
||||||
/* 0x5C */ void* mpFogInfo;
|
/* 0x68 */ void* mpFogInfo;
|
||||||
/* 0x60 */ void* mpAlphaCompInfo;
|
/* 0x6C */ void* mpAlphaCompInfo;
|
||||||
/* 0x64 */ void* mpBlendInfo;
|
/* 0x70 */ void* mpBlendInfo;
|
||||||
/* 0x68 */ void* mpZModeInfo;
|
/* 0x74 */ void* mpZModeInfo;
|
||||||
/* 0x6C */ void* mpZCompLoc;
|
/* 0x78 */ void* mpZCompLoc;
|
||||||
/* 0x70 */ void* mpDither;
|
/* 0x7C */ void* mpDither;
|
||||||
/* 0x74 */ void* mpNBTScaleInfo;
|
/* 0x80 */ void* mpNBTScaleInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct J3DMaterialDLBlock : public J3DModelBlock {
|
/**
|
||||||
/* 0x08 */ u16 mMaterialNum;
|
* @ingroup jsystem-j3d
|
||||||
/* 0x0C */ void* mpDisplayListInit;
|
*
|
||||||
/* 0x10 */ void* mpPatchingInfo;
|
*/
|
||||||
/* 0x14 */ void* mpCurrentMtxInfo;
|
struct J3DMaterialBlock_v21 : public J3DModelBlock {
|
||||||
/* 0x18 */ void* mpMaterialMode;
|
/* 0x08 */ u16 mMaterialNum;
|
||||||
/* 0x1C */ void* field_0x1c;
|
/* 0x0C */ void* mpMaterialInitData;
|
||||||
/* 0x20 */ void* mpNameTable;
|
/* 0x10 */ void* mpMaterialID;
|
||||||
};
|
/* 0x14 */ void* mpNameTable;
|
||||||
|
/* 0x18 */ void* mpCullMode;
|
||||||
struct J3DShapeBlock : public J3DModelBlock {
|
/* 0x1C */ void* mpMatColor;
|
||||||
/* 0x08 */ u16 mShapeNum;
|
/* 0x20 */ void* mpColorChanNum;
|
||||||
/* 0x0C */ void* mpShapeInitData;
|
/* 0x24 */ void* mpColorChanInfo;
|
||||||
/* 0x10 */ void* mpIndexTable;
|
/* 0x28 */ void* mpTexGenNum;
|
||||||
/* 0x14 */ void* mpNameTable;
|
/* 0x2C */ void* mpTexCoordInfo;
|
||||||
/* 0x18 */ void* mpVtxDescList;
|
/* 0x30 */ void* mpTexCoord2Info;
|
||||||
/* 0x1C */ void* mpMtxTable;
|
/* 0x34 */ void* mpTexMtxInfo;
|
||||||
/* 0x20 */ void* mpDisplayListData;
|
/* 0x38 */ void* field_0x38;
|
||||||
/* 0x24 */ void* mpMtxInitData;
|
/* 0x3C */ void* mpTexNo;
|
||||||
/* 0x28 */ void* mpDrawInitData;
|
/* 0x40 */ void* mpTevOrderInfo;
|
||||||
}; // size 0x2C
|
/* 0x44 */ void* mpTevColor;
|
||||||
|
/* 0x48 */ void* mpTevKColor;
|
||||||
struct J3DTextureBlock : public J3DModelBlock {
|
/* 0x4C */ void* mpTevStageNum;
|
||||||
/* 0x08 */ u16 mTextureNum;
|
/* 0x50 */ void* mpTevStageInfo;
|
||||||
/* 0x0C */ void* mpTextureRes;
|
/* 0x54 */ void* mpTevSwapModeInfo;
|
||||||
/* 0x10 */ void* mpNameTable;
|
/* 0x58 */ void* mpTevSwapModeTableInfo;
|
||||||
};
|
/* 0x5C */ void* mpFogInfo;
|
||||||
|
/* 0x60 */ void* mpAlphaCompInfo;
|
||||||
class J3DModelLoader {
|
/* 0x64 */ void* mpBlendInfo;
|
||||||
public:
|
/* 0x68 */ void* mpZModeInfo;
|
||||||
/* 8033468C */ J3DModelLoader();
|
/* 0x6C */ void* mpZCompLoc;
|
||||||
/* 80335048 */ void readInformation(J3DModelInfoBlock const*, u32);
|
/* 0x70 */ void* mpDither;
|
||||||
/* 803351D0 */ void readVertex(J3DVertexBlock const*);
|
/* 0x74 */ void* mpNBTScaleInfo;
|
||||||
/* 803353F0 */ void readEnvelop(J3DEnvelopeBlock const*);
|
};
|
||||||
/* 80335480 */ void readDraw(J3DDrawBlock const*);
|
|
||||||
/* 80335530 */ void readJoint(J3DJointBlock const*);
|
/**
|
||||||
/* 80335AF4 */ void readShape(J3DShapeBlock const*, u32);
|
* @ingroup jsystem-j3d
|
||||||
/* 80335C18 */ void readTexture(J3DTextureBlock const*);
|
*
|
||||||
/* 80335F5C */ void readTextureTable(J3DTextureBlock const*);
|
*/
|
||||||
/* 80336028 */ void readPatchedMaterial(J3DMaterialBlock const*, u32);
|
struct J3DMaterialDLBlock : public J3DModelBlock {
|
||||||
/* 80336168 */ void readMaterialDL(J3DMaterialDLBlock const*, u32);
|
/* 0x08 */ u16 mMaterialNum;
|
||||||
/* 8033631C */ void modifyMaterial(u32);
|
/* 0x0C */ void* mpDisplayListInit;
|
||||||
|
/* 0x10 */ void* mpPatchingInfo;
|
||||||
/* 80336CD8 */ u32 calcSizeInformation(J3DModelInfoBlock const*, u32);
|
/* 0x14 */ void* mpCurrentMtxInfo;
|
||||||
/* 80336D64 */ u32 calcSizeJoint(J3DJointBlock const*);
|
/* 0x18 */ void* mpMaterialMode;
|
||||||
/* 80336D90 */ u32 calcSizeEnvelope(J3DEnvelopeBlock const*);
|
/* 0x1C */ void* field_0x1c;
|
||||||
/* 80336DA0 */ u32 calcSizeDraw(J3DDrawBlock const*);
|
/* 0x20 */ void* mpNameTable;
|
||||||
/* 80336EA0 */ u32 calcSizeShape(J3DShapeBlock const*, u32);
|
};
|
||||||
/* 80336F44 */ u32 calcSizeTexture(J3DTextureBlock const*);
|
|
||||||
/* 80336FF0 */ u32 calcSizeTextureTable(J3DTextureBlock const*);
|
/**
|
||||||
/* 80337010 */ u32 calcSizePatchedMaterial(J3DMaterialBlock const*, u32);
|
* @ingroup jsystem-j3d
|
||||||
/* 803370A0 */ u32 calcSizeMaterialDL(J3DMaterialDLBlock const*, u32);
|
*
|
||||||
|
*/
|
||||||
// virtuals
|
struct J3DShapeBlock : public J3DModelBlock {
|
||||||
/* 803347E0 */ J3DModelData* load(void const*, u32);
|
/* 0x08 */ u16 mShapeNum;
|
||||||
/* 80334ABC */ J3DMaterialTable* loadMaterialTable(void const*);
|
/* 0x0C */ void* mpShapeInitData;
|
||||||
/* 80334C20 */ J3DModelData* loadBinaryDisplayList(void const*, u32);
|
/* 0x10 */ void* mpIndexTable;
|
||||||
/* 803367D4 */ u32 calcLoadSize(void const*, u32);
|
/* 0x14 */ void* mpNameTable;
|
||||||
/* 803369A0 */ u32 calcLoadMaterialTableSize(void const*);
|
/* 0x18 */ void* mpVtxDescList;
|
||||||
/* 80336A98 */ u32 calcLoadBinaryDisplayListSize(void const*, u32);
|
/* 0x1C */ void* mpMtxTable;
|
||||||
/* 80336794 */ u16 countMaterialNum(void const*);
|
/* 0x20 */ void* mpDisplayListData;
|
||||||
/* 80334EE0 */ void setupBBoardInfo();
|
/* 0x24 */ void* mpMtxInitData;
|
||||||
/* 80336450 */ ~J3DModelLoader();
|
/* 0x28 */ void* mpDrawInitData;
|
||||||
/* 8033649C */ void readMaterial(J3DMaterialBlock const*, u32);
|
}; // size 0x2C
|
||||||
/* 80336498 */ void readMaterial_v21(J3DMaterialBlock_v21 const*, u32);
|
|
||||||
/* 803364A4 */ void readMaterialTable(J3DMaterialBlock const*, u32);
|
/**
|
||||||
/* 803364A0 */ void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
|
* @ingroup jsystem-j3d
|
||||||
/* 803364A8 */ u32 calcSizeMaterial(J3DMaterialBlock const*, u32);
|
*
|
||||||
/* 803364B0 */ u32 calcSizeMaterialTable(J3DMaterialBlock const*, u32);
|
*/
|
||||||
|
struct J3DTextureBlock : public J3DModelBlock {
|
||||||
/* 0x00 */ void* _vtable;
|
/* 0x08 */ u16 mTextureNum;
|
||||||
/* 0x04 */ J3DModelData* mpModelData;
|
/* 0x0C */ void* mpTextureRes;
|
||||||
/* 0x08 */ J3DMaterialTable* mpMaterialTable;
|
/* 0x10 */ void* mpNameTable;
|
||||||
/* 0x0C */ J3DShapeBlock const* mpShapeBlock;
|
};
|
||||||
/* 0x10 */ J3DMaterialBlock const* mpMaterialBlock;
|
|
||||||
/* 0x14 */ J3DModelHierarchy* mpModelHierarchy;
|
/**
|
||||||
/* 0x18 */ u8 field_0x18;
|
* @ingroup jsystem-j3d
|
||||||
/* 0x19 */ u8 field_0x19;
|
*
|
||||||
/* 0x1A */ u16 mEnvelopeSize;
|
*/
|
||||||
};
|
class J3DModelLoader {
|
||||||
|
public:
|
||||||
class J3DModelLoader_v21 { // : public J3DModelLoader {
|
/* 8033468C */ J3DModelLoader();
|
||||||
public:
|
/* 80335048 */ void readInformation(J3DModelInfoBlock const*, u32);
|
||||||
/* 803363F4 */ ~J3DModelLoader_v21() {}
|
/* 803351D0 */ void readVertex(J3DVertexBlock const*);
|
||||||
/* 80335890 */ void readMaterial_v21(J3DMaterialBlock_v21 const*, u32);
|
/* 803353F0 */ void readEnvelop(J3DEnvelopeBlock const*);
|
||||||
/* 80335E20 */ void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
|
/* 80335480 */ void readDraw(J3DDrawBlock const*);
|
||||||
|
/* 80335530 */ void readJoint(J3DJointBlock const*);
|
||||||
/* 0x00 */ void* _vtable;
|
/* 80335AF4 */ void readShape(J3DShapeBlock const*, u32);
|
||||||
/* 0x04 */ J3DModelData* mpModelData;
|
/* 80335C18 */ void readTexture(J3DTextureBlock const*);
|
||||||
/* 0x08 */ J3DMaterialTable* mpMaterialTable;
|
/* 80335F5C */ void readTextureTable(J3DTextureBlock const*);
|
||||||
/* 0x0C */ J3DShapeBlock const* mpShapeBlock;
|
/* 80336028 */ void readPatchedMaterial(J3DMaterialBlock const*, u32);
|
||||||
/* 0x10 */ J3DMaterialBlock const* mpMaterialBlock;
|
/* 80336168 */ void readMaterialDL(J3DMaterialDLBlock const*, u32);
|
||||||
/* 0x14 */ J3DModelHierarchy* mpModelHierarchy;
|
/* 8033631C */ void modifyMaterial(u32);
|
||||||
/* 0x18 */ u8 field_0x18;
|
|
||||||
/* 0x19 */ u8 field_0x19;
|
/* 80336CD8 */ u32 calcSizeInformation(J3DModelInfoBlock const*, u32);
|
||||||
/* 0x1A */ u16 mEnvelopeSize;
|
/* 80336D64 */ u32 calcSizeJoint(J3DJointBlock const*);
|
||||||
};
|
/* 80336D90 */ u32 calcSizeEnvelope(J3DEnvelopeBlock const*);
|
||||||
|
/* 80336DA0 */ u32 calcSizeDraw(J3DDrawBlock const*);
|
||||||
class J3DModelLoader_v26 { // : public J3DModelLoader {
|
/* 80336EA0 */ u32 calcSizeShape(J3DShapeBlock const*, u32);
|
||||||
public:
|
/* 80336F44 */ u32 calcSizeTexture(J3DTextureBlock const*);
|
||||||
/* 80336398 */ ~J3DModelLoader_v26() {}
|
/* 80336FF0 */ u32 calcSizeTextureTable(J3DTextureBlock const*);
|
||||||
/* 80335614 */ void readMaterial(J3DMaterialBlock const*, u32);
|
/* 80337010 */ u32 calcSizePatchedMaterial(J3DMaterialBlock const*, u32);
|
||||||
/* 80335CE4 */ void readMaterialTable(J3DMaterialBlock const*, u32);
|
/* 803370A0 */ u32 calcSizeMaterialDL(J3DMaterialDLBlock const*, u32);
|
||||||
/* 80336DB4 */ u32 calcSizeMaterial(J3DMaterialBlock const*, u32);
|
|
||||||
/* 80336F60 */ u32 calcSizeMaterialTable(J3DMaterialBlock const*, u32);
|
// virtuals
|
||||||
|
/* 803347E0 */ J3DModelData* load(void const*, u32);
|
||||||
/* 0x00 */ void* _vtable;
|
/* 80334ABC */ J3DMaterialTable* loadMaterialTable(void const*);
|
||||||
/* 0x04 */ J3DModelData* mpModelData;
|
/* 80334C20 */ J3DModelData* loadBinaryDisplayList(void const*, u32);
|
||||||
/* 0x08 */ J3DMaterialTable* mpMaterialTable;
|
/* 803367D4 */ u32 calcLoadSize(void const*, u32);
|
||||||
/* 0x0C */ J3DShapeBlock const* mpShapeBlock;
|
/* 803369A0 */ u32 calcLoadMaterialTableSize(void const*);
|
||||||
/* 0x10 */ J3DMaterialBlock const* mpMaterialBlock;
|
/* 80336A98 */ u32 calcLoadBinaryDisplayListSize(void const*, u32);
|
||||||
/* 0x14 */ J3DModelHierarchy* mpModelHierarchy;
|
/* 80336794 */ u16 countMaterialNum(void const*);
|
||||||
/* 0x18 */ u8 field_0x18;
|
/* 80334EE0 */ void setupBBoardInfo();
|
||||||
/* 0x19 */ u8 field_0x19;
|
/* 80336450 */ ~J3DModelLoader();
|
||||||
/* 0x1A */ u16 mEnvelopeSize;
|
/* 8033649C */ void readMaterial(J3DMaterialBlock const*, u32);
|
||||||
};
|
/* 80336498 */ void readMaterial_v21(J3DMaterialBlock_v21 const*, u32);
|
||||||
|
/* 803364A4 */ void readMaterialTable(J3DMaterialBlock const*, u32);
|
||||||
class J3DModelLoaderDataBase {
|
/* 803364A0 */ void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
|
||||||
public:
|
/* 803364A8 */ u32 calcSizeMaterial(J3DMaterialBlock const*, u32);
|
||||||
/* 803346BC */ static J3DModelData* load(void const* i_data, u32 i_flags);
|
/* 803364B0 */ u32 calcSizeMaterialTable(J3DMaterialBlock const*, u32);
|
||||||
};
|
|
||||||
|
/* 0x00 */ void* _vtable;
|
||||||
#endif /* J3DMODELLOADER_H */
|
/* 0x04 */ J3DModelData* mpModelData;
|
||||||
|
/* 0x08 */ J3DMaterialTable* mpMaterialTable;
|
||||||
|
/* 0x0C */ J3DShapeBlock const* mpShapeBlock;
|
||||||
|
/* 0x10 */ J3DMaterialBlock const* mpMaterialBlock;
|
||||||
|
/* 0x14 */ J3DModelHierarchy* mpModelHierarchy;
|
||||||
|
/* 0x18 */ u8 field_0x18;
|
||||||
|
/* 0x19 */ u8 field_0x19;
|
||||||
|
/* 0x1A */ u16 mEnvelopeSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class J3DModelLoader_v21 { // : public J3DModelLoader {
|
||||||
|
public:
|
||||||
|
/* 803363F4 */ ~J3DModelLoader_v21() {}
|
||||||
|
/* 80335890 */ void readMaterial_v21(J3DMaterialBlock_v21 const*, u32);
|
||||||
|
/* 80335E20 */ void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
|
||||||
|
|
||||||
|
/* 0x00 */ void* _vtable;
|
||||||
|
/* 0x04 */ J3DModelData* mpModelData;
|
||||||
|
/* 0x08 */ J3DMaterialTable* mpMaterialTable;
|
||||||
|
/* 0x0C */ J3DShapeBlock const* mpShapeBlock;
|
||||||
|
/* 0x10 */ J3DMaterialBlock const* mpMaterialBlock;
|
||||||
|
/* 0x14 */ J3DModelHierarchy* mpModelHierarchy;
|
||||||
|
/* 0x18 */ u8 field_0x18;
|
||||||
|
/* 0x19 */ u8 field_0x19;
|
||||||
|
/* 0x1A */ u16 mEnvelopeSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class J3DModelLoader_v26 { // : public J3DModelLoader {
|
||||||
|
public:
|
||||||
|
/* 80336398 */ ~J3DModelLoader_v26() {}
|
||||||
|
/* 80335614 */ void readMaterial(J3DMaterialBlock const*, u32);
|
||||||
|
/* 80335CE4 */ void readMaterialTable(J3DMaterialBlock const*, u32);
|
||||||
|
/* 80336DB4 */ u32 calcSizeMaterial(J3DMaterialBlock const*, u32);
|
||||||
|
/* 80336F60 */ u32 calcSizeMaterialTable(J3DMaterialBlock const*, u32);
|
||||||
|
|
||||||
|
/* 0x00 */ void* _vtable;
|
||||||
|
/* 0x04 */ J3DModelData* mpModelData;
|
||||||
|
/* 0x08 */ J3DMaterialTable* mpMaterialTable;
|
||||||
|
/* 0x0C */ J3DShapeBlock const* mpShapeBlock;
|
||||||
|
/* 0x10 */ J3DMaterialBlock const* mpMaterialBlock;
|
||||||
|
/* 0x14 */ J3DModelHierarchy* mpModelHierarchy;
|
||||||
|
/* 0x18 */ u8 field_0x18;
|
||||||
|
/* 0x19 */ u8 field_0x19;
|
||||||
|
/* 0x1A */ u16 mEnvelopeSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class J3DModelLoaderDataBase {
|
||||||
|
public:
|
||||||
|
/* 803346BC */ static J3DModelData* load(void const* i_data, u32 i_flags);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* J3DMODELLOADER_H */
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,16 @@
|
||||||
|
|
||||||
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
|
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
|
||||||
#include "dolphin/gx/GXAttr.h"
|
#include "dolphin/gx/GXAttr.h"
|
||||||
#include "dolphin/mtx/vec.h"
|
|
||||||
|
|
||||||
class J3DShape;
|
class J3DShape;
|
||||||
class J3DShapeMtx;
|
class J3DShapeMtx;
|
||||||
class J3DShapeDraw;
|
class J3DShapeDraw;
|
||||||
struct ResNTAB;
|
struct ResNTAB;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DShapeInitData {
|
struct J3DShapeInitData {
|
||||||
/* 0x00 */ u8 mShapeMtxType;
|
/* 0x00 */ u8 mShapeMtxType;
|
||||||
/* 0x02 */ u16 mMtxGroupNum;
|
/* 0x02 */ u16 mMtxGroupNum;
|
||||||
|
|
@ -21,17 +24,29 @@ struct J3DShapeInitData {
|
||||||
/* 0x1C */ Vec mMax;
|
/* 0x1C */ Vec mMax;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DShapeMtxInitData {
|
struct J3DShapeMtxInitData {
|
||||||
/* 0x00 */ u16 mUseMtxIndex;
|
/* 0x00 */ u16 mUseMtxIndex;
|
||||||
/* 0x02 */ u16 mUseMtxCount;
|
/* 0x02 */ u16 mUseMtxCount;
|
||||||
/* 0x04 */ u32 mFirstUseMtxIndex;
|
/* 0x04 */ u32 mFirstUseMtxIndex;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DShapeDrawInitData {
|
struct J3DShapeDrawInitData {
|
||||||
/* 0x00 */ u32 mDisplayListSize;
|
/* 0x00 */ u32 mDisplayListSize;
|
||||||
/* 0x04 */ u32 mDisplayListIndex;
|
/* 0x04 */ u32 mDisplayListIndex;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct J3DShapeFactory {
|
struct J3DShapeFactory {
|
||||||
/* 80337350 */ J3DShapeFactory(J3DShapeBlock const&);
|
/* 80337350 */ J3DShapeFactory(J3DShapeBlock const&);
|
||||||
/* 80337400 */ J3DShape* create(int, u32, GXVtxDescList*);
|
/* 80337400 */ J3DShape* create(int, u32, GXVtxDescList*);
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,11 @@
|
||||||
#define J3DUCLIPPER_H
|
#define J3DUCLIPPER_H
|
||||||
|
|
||||||
#include "dolphin/mtx.h"
|
#include "dolphin/mtx.h"
|
||||||
#include "dolphin/types.h"
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-j3d
|
||||||
|
*
|
||||||
|
*/
|
||||||
class J3DUClipper {
|
class J3DUClipper {
|
||||||
public:
|
public:
|
||||||
J3DUClipper() { init(); }
|
J3DUClipper() { init(); }
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
#ifndef J3DUD_H
|
#ifndef J3DUD_H
|
||||||
#define J3DUD_H
|
#define J3DUD_H
|
||||||
|
|
||||||
#include "math.h"
|
|
||||||
#include "dolphin/types.h"
|
#include "dolphin/types.h"
|
||||||
|
|
||||||
namespace J3DUD {
|
namespace J3DUD {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
|
|
||||||
struct JASSoundParams;
|
struct JASSoundParams;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAIAudible {
|
class JAIAudible {
|
||||||
public:
|
public:
|
||||||
virtual ~JAIAudible();
|
virtual ~JAIAudible();
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,10 @@ class JAIAudible;
|
||||||
class JAISoundID;
|
class JAISoundID;
|
||||||
struct JASSoundParams;
|
struct JASSoundParams;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAIAudience {
|
struct JAIAudience {
|
||||||
virtual ~JAIAudience();
|
virtual ~JAIAudience();
|
||||||
virtual JAIAudible* newAudible(JGeometry::TVec3<f32> const&, JAISoundID,
|
virtual JAIAudible* newAudible(JGeometry::TVec3<f32> const&, JAISoundID,
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,13 @@
|
||||||
|
|
||||||
#include "JSystem/JAudio2/JAISeqDataMgr.h"
|
#include "JSystem/JAudio2/JAISeqDataMgr.h"
|
||||||
#include "JSystem/JAudio2/JASTrack.h"
|
#include "JSystem/JAudio2/JASTrack.h"
|
||||||
#include "JSystem/JSupport/JSUList.h"
|
|
||||||
|
|
||||||
class JAISeMgr;
|
class JAISeMgr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISe : public JSULink<JAISe>, public JAISound {
|
class JAISe : public JSULink<JAISe>, public JAISound {
|
||||||
public:
|
public:
|
||||||
class TInner {
|
class TInner {
|
||||||
|
|
|
||||||
|
|
@ -2,28 +2,42 @@
|
||||||
#define JAISEMGR_H
|
#define JAISEMGR_H
|
||||||
|
|
||||||
#include "JSystem/JAudio2/JAISe.h"
|
#include "JSystem/JAudio2/JAISe.h"
|
||||||
#include "JSystem/JAudio2/JASHeapCtrl.h"
|
|
||||||
#include "JSystem/JSupport/JSUList.h"
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
struct JAIAudience;
|
struct JAIAudience;
|
||||||
struct JASSoundParams;
|
struct JASSoundParams;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JASNonCopyable {
|
struct JASNonCopyable {
|
||||||
/* 0x0 */ int field_0x0;
|
/* 0x0 */ int field_0x0;
|
||||||
}; // Size: 0x4
|
}; // Size: 0x4
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISeCategoryArrangementItem {
|
struct JAISeCategoryArrangementItem {
|
||||||
u8 mMaxActiveSe;
|
u8 mMaxActiveSe;
|
||||||
u8 mMaxInactiveSe;
|
u8 mMaxInactiveSe;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISeCategoryArrangement {
|
struct JAISeCategoryArrangement {
|
||||||
JAISeCategoryArrangementItem mItems[16];
|
JAISeCategoryArrangementItem mItems[16];
|
||||||
};
|
};
|
||||||
|
|
||||||
class JAISeMgr;
|
class JAISeMgr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISeCategoryMgr : public JAISeqDataUser {
|
class JAISeCategoryMgr : public JAISeqDataUser {
|
||||||
public:
|
public:
|
||||||
/* 8029F9C4 */ void JAISeMgr_calc_();
|
/* 8029F9C4 */ void JAISeMgr_calc_();
|
||||||
|
|
@ -59,6 +73,10 @@ public:
|
||||||
/* 0x68 */ int mMaxActiveSe;
|
/* 0x68 */ int mMaxActiveSe;
|
||||||
}; // Size: 0x6C
|
}; // Size: 0x6C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISeMgr : public JASGlobalInstance<JAISeMgr>,
|
class JAISeMgr : public JASGlobalInstance<JAISeMgr>,
|
||||||
public JAISeqDataUser,
|
public JAISeqDataUser,
|
||||||
public JAISoundActivity {
|
public JAISoundActivity {
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,16 @@
|
||||||
#define JAISEQ_H
|
#define JAISEQ_H
|
||||||
|
|
||||||
#include "JSystem/JAudio2/JAISeqDataMgr.h"
|
#include "JSystem/JAudio2/JAISeqDataMgr.h"
|
||||||
#include "JSystem/JAudio2/JASHeapCtrl.h"
|
|
||||||
#include "JSystem/JAudio2/JASTrack.h"
|
#include "JSystem/JAudio2/JASTrack.h"
|
||||||
#include "JSystem/JSupport/JSUList.h"
|
#include "JSystem/JSupport/JSUList.h"
|
||||||
|
|
||||||
class JAISeqMgr;
|
class JAISeqMgr;
|
||||||
class JAISoundChild;
|
class JAISoundChild;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISeq : public JASPoolAllocObject<JAISeq>, public JAISound, public JSULink<JAISeq> {
|
class JAISeq : public JASPoolAllocObject<JAISeq>, public JAISound, public JSULink<JAISeq> {
|
||||||
public:
|
public:
|
||||||
class TInner {
|
class TInner {
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,10 @@
|
||||||
|
|
||||||
#include "JSystem/JAudio2/JAISound.h"
|
#include "JSystem/JAudio2/JAISound.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISeqData {
|
struct JAISeqData {
|
||||||
JAISeqData(void* param_0, u32 param_1) {
|
JAISeqData(void* param_0, u32 param_1) {
|
||||||
field_0x0 = param_0;
|
field_0x0 = param_0;
|
||||||
|
|
@ -18,6 +22,10 @@ struct JAISeqData {
|
||||||
/* 0x04 */ u32 field_0x4;
|
/* 0x04 */ u32 field_0x4;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISeqDataRegion {
|
struct JAISeqDataRegion {
|
||||||
bool intersects(JAISeqData& seqData) const {
|
bool intersects(JAISeqData& seqData) const {
|
||||||
if ((u32)addr + size < (u32)seqData.field_0x0) {
|
if ((u32)addr + size < (u32)seqData.field_0x0) {
|
||||||
|
|
@ -33,13 +41,20 @@ struct JAISeqDataRegion {
|
||||||
/* 0x04 */ u32 size;
|
/* 0x04 */ u32 size;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISeqDataUser {
|
struct JAISeqDataUser {
|
||||||
virtual ~JAISeqDataUser();
|
virtual ~JAISeqDataUser();
|
||||||
virtual bool isUsingSeqData(JAISeqDataRegion const&) = 0;
|
virtual bool isUsingSeqData(JAISeqDataRegion const&) = 0;
|
||||||
virtual int releaseSeqData(JAISeqDataRegion const&) = 0;
|
virtual int releaseSeqData(JAISeqDataRegion const&) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISeqDataMgr {
|
struct JAISeqDataMgr {
|
||||||
enum SeqDataReturnValue{ SeqDataReturnValue_0 = 0, SeqDataReturnValue_1 = 1, SeqDataReturnValue_2 = 2};
|
enum SeqDataReturnValue{ SeqDataReturnValue_0 = 0, SeqDataReturnValue_1 = 1, SeqDataReturnValue_2 = 2};
|
||||||
virtual ~JAISeqDataMgr();
|
virtual ~JAISeqDataMgr();
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,14 @@
|
||||||
#include "JSystem/JAudio2/JAISeqDataMgr.h"
|
#include "JSystem/JAudio2/JAISeqDataMgr.h"
|
||||||
#include "JSystem/JAudio2/JASGadget.h"
|
#include "JSystem/JAudio2/JASGadget.h"
|
||||||
#include "JSystem/JSupport/JSUList.h"
|
#include "JSystem/JSupport/JSUList.h"
|
||||||
#include "JSystem/JUtility/JUTAssert.h"
|
|
||||||
|
|
||||||
struct JAIAudience;
|
struct JAIAudience;
|
||||||
class JAISeq;
|
class JAISeq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISeqMgr : public JASGlobalInstance<JAISeqMgr>, public JAISeqDataUser {
|
class JAISeqMgr : public JASGlobalInstance<JAISeqMgr>, public JAISeqDataUser {
|
||||||
public:
|
public:
|
||||||
enum ReleaseSeqResult {
|
enum ReleaseSeqResult {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
#include "JSystem/JAudio2/JAIAudible.h"
|
#include "JSystem/JAudio2/JAIAudible.h"
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISoundID {
|
class JAISoundID {
|
||||||
public:
|
public:
|
||||||
operator u32() const { return this->mId.mFullId; }
|
operator u32() const { return this->mId.mFullId; }
|
||||||
|
|
@ -36,6 +40,10 @@ public:
|
||||||
|
|
||||||
class JASTrack;
|
class JASTrack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISoundStatus_ {
|
struct JAISoundStatus_ {
|
||||||
/* 802A2220 */ s32 lockWhenPrepared();
|
/* 802A2220 */ s32 lockWhenPrepared();
|
||||||
/* 802A2244 */ s32 unlockIfLocked();
|
/* 802A2244 */ s32 unlockIfLocked();
|
||||||
|
|
@ -99,6 +107,10 @@ struct JAISoundStatus_ {
|
||||||
/* 0x4 */ u32 user_data;
|
/* 0x4 */ u32 user_data;
|
||||||
}; // Size: 0x8
|
}; // Size: 0x8
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISoundFader {
|
struct JAISoundFader {
|
||||||
void forceIn() {
|
void forceIn() {
|
||||||
mIntensity = 1.0f;
|
mIntensity = 1.0f;
|
||||||
|
|
@ -135,6 +147,11 @@ struct JAISoundFader {
|
||||||
/* 0x00 */ f32 mIntensity;
|
/* 0x00 */ f32 mIntensity;
|
||||||
/* 0x04 */ JAISoundParamsTransition::TTransition mTransition;
|
/* 0x04 */ JAISoundParamsTransition::TTransition mTransition;
|
||||||
}; // Size: 0x10
|
}; // Size: 0x10
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
template <typename A0>
|
template <typename A0>
|
||||||
struct JAISoundStrategyMgr__unknown {
|
struct JAISoundStrategyMgr__unknown {
|
||||||
virtual void virtual2();
|
virtual void virtual2();
|
||||||
|
|
@ -142,6 +159,10 @@ struct JAISoundStrategyMgr__unknown {
|
||||||
virtual void virtual4(A0*, const JASSoundParams&);
|
virtual void virtual4(A0*, const JASSoundParams&);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
template <typename A0>
|
template <typename A0>
|
||||||
struct JAISoundStrategyMgr {
|
struct JAISoundStrategyMgr {
|
||||||
virtual void virtual2();
|
virtual void virtual2();
|
||||||
|
|
@ -155,6 +176,10 @@ struct JAISoundStrategyMgr__template1 {};
|
||||||
/* JAISoundStrategyMgr<JAIStream> */
|
/* JAISoundStrategyMgr<JAIStream> */
|
||||||
struct JAISoundStrategyMgr__template2 {};
|
struct JAISoundStrategyMgr__template2 {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISoundActivity {
|
class JAISoundActivity {
|
||||||
public:
|
public:
|
||||||
void init() { field_0x0.value = 0; }
|
void init() { field_0x0.value = 0; }
|
||||||
|
|
@ -174,6 +199,10 @@ public:
|
||||||
} field_0x0;
|
} field_0x0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAITempoMgr {
|
class JAITempoMgr {
|
||||||
public:
|
public:
|
||||||
/* 0x00 */ f32 mTempo;
|
/* 0x00 */ f32 mTempo;
|
||||||
|
|
@ -197,6 +226,11 @@ class JAISeq;
|
||||||
class JAISoundChild;
|
class JAISoundChild;
|
||||||
class JAIStream;
|
class JAIStream;
|
||||||
class JAITempoMgr;
|
class JAITempoMgr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISound {
|
class JAISound {
|
||||||
public:
|
public:
|
||||||
/* 802A21A0 */ void releaseHandle();
|
/* 802A21A0 */ void releaseHandle();
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
|
|
||||||
struct JASTrack;
|
struct JASTrack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISoundChild {
|
struct JAISoundChild {
|
||||||
/* 802A2AB0 */ void init();
|
/* 802A2AB0 */ void init();
|
||||||
/* 802A2B28 */ void mixOut(JASTrack*);
|
/* 802A2B28 */ void mixOut(JASTrack*);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,10 @@
|
||||||
class JAISound;
|
class JAISound;
|
||||||
class JAISoundID;
|
class JAISoundID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISoundHandle {
|
class JAISoundHandle {
|
||||||
public:
|
public:
|
||||||
JAISoundHandle() {sound_ = NULL;};
|
JAISoundHandle() {sound_ = NULL;};
|
||||||
|
|
@ -28,6 +32,10 @@ public:
|
||||||
JAISound* sound_; // member from assert in operator->()
|
JAISound* sound_; // member from assert in operator->()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAISoundHandles {
|
class JAISoundHandles {
|
||||||
public:
|
public:
|
||||||
JAISoundHandles(JAISoundHandle* pHandle, int param_1) {
|
JAISoundHandles(JAISoundHandle* pHandle, int param_1) {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,10 @@
|
||||||
#include "JSystem/JAudio2/JAISound.h"
|
#include "JSystem/JAudio2/JAISound.h"
|
||||||
#include "JSystem/JAudio2/JASGadget.h"
|
#include "JSystem/JAudio2/JASGadget.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISoundInfo : public JASGlobalInstance<JAISoundInfo> {
|
struct JAISoundInfo : public JASGlobalInstance<JAISoundInfo> {
|
||||||
/* 802A2D34 */ JAISoundInfo(bool);
|
/* 802A2D34 */ JAISoundInfo(bool);
|
||||||
virtual int getSoundType(JAISoundID) const = 0;
|
virtual int getSoundType(JAISoundID) const = 0;
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,10 @@
|
||||||
|
|
||||||
#include "JSystem/JAudio2/JASSoundParams.h"
|
#include "JSystem/JAudio2/JASSoundParams.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISoundParamsProperty {
|
struct JAISoundParamsProperty {
|
||||||
void init() {
|
void init() {
|
||||||
field_0x0 = 1.0f;
|
field_0x0 = 1.0f;
|
||||||
|
|
@ -15,6 +19,10 @@ struct JAISoundParamsProperty {
|
||||||
/* 0x08 */ f32 field_0x8;
|
/* 0x08 */ f32 field_0x8;
|
||||||
}; // Size: 0xC
|
}; // Size: 0xC
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISoundParamsTransition {
|
struct JAISoundParamsTransition {
|
||||||
struct TTransition {
|
struct TTransition {
|
||||||
void zero() {
|
void zero() {
|
||||||
|
|
@ -70,6 +78,10 @@ struct JAISoundParamsTransition {
|
||||||
/* 0x30 */ TTransition mDolby;
|
/* 0x30 */ TTransition mDolby;
|
||||||
}; // Size: 0x3C
|
}; // Size: 0x3C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISoundParamsMove {
|
struct JAISoundParamsMove {
|
||||||
JAISoundParamsMove() : mParams() {}
|
JAISoundParamsMove() : mParams() {}
|
||||||
|
|
||||||
|
|
@ -90,6 +102,10 @@ struct JAISoundParamsMove {
|
||||||
/* 0x14 */ JAISoundParamsTransition mTransition;
|
/* 0x14 */ JAISoundParamsTransition mTransition;
|
||||||
}; // Size: 0x50
|
}; // Size: 0x50
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISoundParams {
|
struct JAISoundParams {
|
||||||
JAISoundParams() : mMove() {}
|
JAISoundParams() : mMove() {}
|
||||||
void mixOutAll(JASSoundParams const&, JASSoundParams*, f32);
|
void mixOutAll(JASSoundParams const&, JASSoundParams*, f32);
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,10 @@
|
||||||
#include "JSystem/JAudio2/JAISound.h"
|
#include "JSystem/JAudio2/JAISound.h"
|
||||||
#include "JSystem/JAudio2/JASGadget.h"
|
#include "JSystem/JAudio2/JASGadget.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAISoundStarter : public JASGlobalInstance<JAISoundStarter> {
|
struct JAISoundStarter : public JASGlobalInstance<JAISoundStarter> {
|
||||||
/* 802A2F6C */ JAISoundStarter(bool);
|
/* 802A2F6C */ JAISoundStarter(bool);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,14 @@
|
||||||
|
|
||||||
#include "JSystem/JAudio2/JAISound.h"
|
#include "JSystem/JAudio2/JAISound.h"
|
||||||
#include "JSystem/JAudio2/JASAramStream.h"
|
#include "JSystem/JAudio2/JASAramStream.h"
|
||||||
#include "JSystem/JAudio2/JASHeapCtrl.h"
|
|
||||||
#include "JSystem/JSupport/JSUList.h"
|
#include "JSystem/JSupport/JSUList.h"
|
||||||
|
|
||||||
class JAIStreamMgr;
|
class JAIStreamMgr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
class JAIStream : public JASPoolAllocObject<JAIStream>, public JAISound, public JSULink<JAIStream> {
|
class JAIStream : public JASPoolAllocObject<JAIStream>, public JAISound, public JSULink<JAIStream> {
|
||||||
public:
|
public:
|
||||||
struct TInner {
|
struct TInner {
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,19 @@
|
||||||
|
|
||||||
#include "JSystem/JAudio2/JAISound.h"
|
#include "JSystem/JAudio2/JAISound.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAIStreamDataMgr {
|
struct JAIStreamDataMgr {
|
||||||
virtual s32 getStreamFileEntry(JAISoundID) = 0;
|
virtual s32 getStreamFileEntry(JAISoundID) = 0;
|
||||||
virtual ~JAIStreamDataMgr();
|
virtual ~JAIStreamDataMgr();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup jsystem-jaudio
|
||||||
|
*
|
||||||
|
*/
|
||||||
struct JAIStreamAramMgr {
|
struct JAIStreamAramMgr {
|
||||||
virtual void* newStreamAram(u32*) = 0;
|
virtual void* newStreamAram(u32*) = 0;
|
||||||
virtual void deleteStreamAram(u32) = 0;
|
virtual void deleteStreamAram(u32) = 0;
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue