J3DAnimation (#320)

This commit is contained in:
Jcw87 2023-04-24 15:31:32 -07:00 committed by GitHub
parent b440ae74fb
commit af265612c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 209 additions and 321 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 26.564836% | 955416 | 3596544
.text | 26.589526% | 956304 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 34.306504% | 1379352 | 4020672
Total | 34.328590% | 1380240 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 34.306504% | 1379352 | 4020672
RELs | 33.448623% | 3846700 | 11500324
Total | 33.670855% | 5226052 | 15520996
main.dol | 34.328590% | 1380240 | 4020672
RELs | 33.511543% | 3853936 | 11500324
Total | 33.723197% | 5234176 | 15520996
## RELs
@ -173,7 +173,7 @@ d_a_e_yd_leaf | 54.022989% | 1128 | 2088
d_a_e_yg | 28.386013% | 7436 | 26196
d_a_e_yh | 26.277603% | 9996 | 38040
d_a_e_yk | 31.079076% | 5864 | 18868
d_a_e_ym | 20.062370% | 13896 | 69264
d_a_e_ym | 24.174174% | 16744 | 69264
d_a_e_ym_tag | 100.000000% | 1088 | 1088
d_a_e_ymb | 23.798093% | 14672 | 61652
d_a_e_yr | 27.591936% | 9964 | 36112
@ -539,7 +539,7 @@ d_a_obj_maki | 45.531587% | 2364 | 5192
d_a_obj_master_sword | 43.575419% | 2808 | 6444
d_a_obj_mato | 37.093023% | 2552 | 6880
d_a_obj_metalbox | 50.268097% | 1500 | 2984
d_a_obj_mgate | 47.398844% | 1968 | 4152
d_a_obj_mgate | 100.000000% | 4152 | 4152
d_a_obj_mhole | 35.548173% | 2140 | 6020
d_a_obj_mie | 34.891676% | 3672 | 10524
d_a_obj_mirror_6pole | 49.656751% | 1736 | 3496
@ -656,7 +656,7 @@ d_a_obj_twGate | 57.395498% | 2856 | 4976
d_a_obj_udoor | 49.156627% | 1632 | 3320
d_a_obj_usaku | 55.081301% | 1084 | 1968
d_a_obj_vground | 44.817927% | 1280 | 2856
d_a_obj_volcball | 34.010759% | 4552 | 13384
d_a_obj_volcball | 50.478183% | 6756 | 13384
d_a_obj_volcbom | 32.897713% | 5236 | 15916
d_a_obj_warp_kbrg | 34.066524% | 5080 | 14912
d_a_obj_warp_obrg | 34.784076% | 4124 | 11856
@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.448623% | 3846700 | 11500324
Total | 33.511543% | 3853936 | 11500324

View File

@ -1,22 +0,0 @@
lbl_8032AB00:
/* 8032AB00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032AB04 7C 08 02 A6 */ mflr r0
/* 8032AB08 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032AB0C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8032AB10 7C 7F 1B 78 */ mr r31, r3
/* 8032AB14 4B FF FD 15 */ bl __ct__11J3DAnmColorFv
/* 8032AB18 3C 60 80 3D */ lis r3, __vt__14J3DAnmColorKey@ha /* 0x803CED70@ha */
/* 8032AB1C 38 03 ED 70 */ addi r0, r3, __vt__14J3DAnmColorKey@l /* 0x803CED70@l */
/* 8032AB20 90 1F 00 00 */ stw r0, 0(r31)
/* 8032AB24 38 00 00 00 */ li r0, 0
/* 8032AB28 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 8032AB2C 90 1F 00 30 */ stw r0, 0x30(r31)
/* 8032AB30 90 1F 00 34 */ stw r0, 0x34(r31)
/* 8032AB34 90 1F 00 38 */ stw r0, 0x38(r31)
/* 8032AB38 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 8032AB3C 7F E3 FB 78 */ mr r3, r31
/* 8032AB40 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8032AB44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032AB48 7C 08 03 A6 */ mtlr r0
/* 8032AB4C 38 21 00 10 */ addi r1, r1, 0x10
/* 8032AB50 4E 80 00 20 */ blr

View File

@ -1,22 +0,0 @@
lbl_8032A93C:
/* 8032A93C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032A940 7C 08 02 A6 */ mflr r0
/* 8032A944 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032A948 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8032A94C 7C 7F 1B 78 */ mr r31, r3
/* 8032A950 4B FF FE D9 */ bl __ct__11J3DAnmColorFv
/* 8032A954 3C 60 80 3D */ lis r3, __vt__15J3DAnmColorFull@ha /* 0x803CED84@ha */
/* 8032A958 38 03 ED 84 */ addi r0, r3, __vt__15J3DAnmColorFull@l /* 0x803CED84@l */
/* 8032A95C 90 1F 00 00 */ stw r0, 0(r31)
/* 8032A960 38 00 00 00 */ li r0, 0
/* 8032A964 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 8032A968 90 1F 00 30 */ stw r0, 0x30(r31)
/* 8032A96C 90 1F 00 34 */ stw r0, 0x34(r31)
/* 8032A970 90 1F 00 38 */ stw r0, 0x38(r31)
/* 8032A974 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 8032A978 7F E3 FB 78 */ mr r3, r31
/* 8032A97C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8032A980 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032A984 7C 08 03 A6 */ mtlr r0
/* 8032A988 38 21 00 10 */ addi r1, r1, 0x10
/* 8032A98C 4E 80 00 20 */ blr

View File

@ -1,25 +0,0 @@
lbl_8032A4E0:
/* 8032A4E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032A4E4 7C 08 02 A6 */ mflr r0
/* 8032A4E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032A4EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8032A4F0 7C 7F 1B 78 */ mr r31, r3
/* 8032A4F4 4B FF FD A9 */ bl __ct__14J3DAnmVtxColorFv
/* 8032A4F8 3C 60 80 3D */ lis r3, __vt__17J3DAnmVtxColorKey@ha /* 0x803CEDAC@ha */
/* 8032A4FC 38 03 ED AC */ addi r0, r3, __vt__17J3DAnmVtxColorKey@l /* 0x803CEDAC@l */
/* 8032A500 90 1F 00 00 */ stw r0, 0(r31)
/* 8032A504 38 60 00 00 */ li r3, 0
/* 8032A508 7C 64 1B 78 */ mr r4, r3
/* 8032A50C 38 00 00 02 */ li r0, 2
/* 8032A510 7C 09 03 A6 */ mtctr r0
lbl_8032A514:
/* 8032A514 38 03 00 18 */ addi r0, r3, 0x18
/* 8032A518 7C 9F 01 2E */ stwx r4, r31, r0
/* 8032A51C 38 63 00 04 */ addi r3, r3, 4
/* 8032A520 42 00 FF F4 */ bdnz lbl_8032A514
/* 8032A524 7F E3 FB 78 */ mr r3, r31
/* 8032A528 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8032A52C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032A530 7C 08 03 A6 */ mtlr r0
/* 8032A534 38 21 00 10 */ addi r1, r1, 0x10
/* 8032A538 4E 80 00 20 */ blr

View File

@ -1,25 +0,0 @@
lbl_8032A30C:
/* 8032A30C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032A310 7C 08 02 A6 */ mflr r0
/* 8032A314 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032A318 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8032A31C 7C 7F 1B 78 */ mr r31, r3
/* 8032A320 4B FF FF 7D */ bl __ct__14J3DAnmVtxColorFv
/* 8032A324 3C 60 80 3D */ lis r3, __vt__18J3DAnmVtxColorFull@ha /* 0x803CEDC0@ha */
/* 8032A328 38 03 ED C0 */ addi r0, r3, __vt__18J3DAnmVtxColorFull@l /* 0x803CEDC0@l */
/* 8032A32C 90 1F 00 00 */ stw r0, 0(r31)
/* 8032A330 38 60 00 00 */ li r3, 0
/* 8032A334 7C 64 1B 78 */ mr r4, r3
/* 8032A338 38 00 00 02 */ li r0, 2
/* 8032A33C 7C 09 03 A6 */ mtctr r0
lbl_8032A340:
/* 8032A340 38 03 00 18 */ addi r0, r3, 0x18
/* 8032A344 7C 9F 01 2E */ stwx r4, r31, r0
/* 8032A348 38 63 00 04 */ addi r3, r3, 4
/* 8032A34C 42 00 FF F4 */ bdnz lbl_8032A340
/* 8032A350 7F E3 FB 78 */ mr r3, r31
/* 8032A354 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8032A358 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032A35C 7C 08 03 A6 */ mtlr r0
/* 8032A360 38 21 00 10 */ addi r1, r1, 0x10
/* 8032A364 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_8032B87C:
/* 8032B87C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032B880 7C 08 02 A6 */ mflr r0
/* 8032B884 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032B888 38 84 00 58 */ addi r4, r4, 0x58
/* 8032B88C 4B FF FE F5 */ bl searchUpdateMaterialID__15J3DAnmTevRegKeyFP16J3DMaterialTable
/* 8032B890 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032B894 7C 08 03 A6 */ mtlr r0
/* 8032B898 38 21 00 10 */ addi r1, r1, 0x10
/* 8032B89C 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_8032B09C:
/* 8032B09C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032B0A0 7C 08 02 A6 */ mflr r0
/* 8032B0A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032B0A8 38 84 00 58 */ addi r4, r4, 0x58
/* 8032B0AC 4B FF FF 59 */ bl searchUpdateMaterialID__16J3DAnmTexPatternFP16J3DMaterialTable
/* 8032B0B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032B0B4 7C 08 03 A6 */ mtlr r0
/* 8032B0B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8032B0BC 4E 80 00 20 */ blr

View File

@ -1,43 +0,0 @@
lbl_8032B004:
/* 8032B004 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032B008 7C 08 02 A6 */ mflr r0
/* 8032B00C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032B010 39 61 00 20 */ addi r11, r1, 0x20
/* 8032B014 48 03 71 C5 */ bl _savegpr_28
/* 8032B018 7C 7C 1B 78 */ mr r28, r3
/* 8032B01C 7C 9D 23 78 */ mr r29, r4
/* 8032B020 3B C0 00 00 */ li r30, 0
/* 8032B024 48 00 00 50 */ b lbl_8032B074
lbl_8032B028:
/* 8032B028 83 FD 00 0C */ lwz r31, 0xc(r29)
/* 8032B02C 38 7C 00 1C */ addi r3, r28, 0x1c
/* 8032B030 7F C4 F3 78 */ mr r4, r30
/* 8032B034 4B FB 3A C5 */ bl getName__10JUTNameTabCFUs
/* 8032B038 7C 64 1B 78 */ mr r4, r3
/* 8032B03C 7F E3 FB 78 */ mr r3, r31
/* 8032B040 4B FB 3A 19 */ bl getIndex__10JUTNameTabCFPCc
/* 8032B044 2C 03 FF FF */ cmpwi r3, -1
/* 8032B048 41 82 00 14 */ beq lbl_8032B05C
/* 8032B04C 80 9C 00 18 */ lwz r4, 0x18(r28)
/* 8032B050 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e
/* 8032B054 7C 64 03 2E */ sthx r3, r4, r0
/* 8032B058 48 00 00 18 */ b lbl_8032B070
lbl_8032B05C:
/* 8032B05C 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
/* 8032B060 38 83 FF FF */ addi r4, r3, 0xFFFF /* 0x0000FFFF@l */
/* 8032B064 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 8032B068 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e
/* 8032B06C 7C 83 03 2E */ sthx r4, r3, r0
lbl_8032B070:
/* 8032B070 3B DE 00 01 */ addi r30, r30, 1
lbl_8032B074:
/* 8032B074 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 8032B078 A0 1C 00 16 */ lhz r0, 0x16(r28)
/* 8032B07C 7C 03 00 40 */ cmplw r3, r0
/* 8032B080 41 80 FF A8 */ blt lbl_8032B028
/* 8032B084 39 61 00 20 */ addi r11, r1, 0x20
/* 8032B088 48 03 71 9D */ bl _restgpr_28
/* 8032B08C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032B090 7C 08 03 A6 */ mtlr r0
/* 8032B094 38 21 00 20 */ addi r1, r1, 0x20
/* 8032B098 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_8032B1D4:
/* 8032B1D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032B1D8 7C 08 02 A6 */ mflr r0
/* 8032B1DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032B1E0 38 84 00 58 */ addi r4, r4, 0x58
/* 8032B1E4 4B FF FE DD */ bl searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP16J3DMaterialTable
/* 8032B1E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032B1EC 7C 08 03 A6 */ mtlr r0
/* 8032B1F0 38 21 00 10 */ addi r1, r1, 0x10
/* 8032B1F4 4E 80 00 20 */ blr

View File

@ -1,78 +0,0 @@
lbl_8032B0C0:
/* 8032B0C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032B0C4 7C 08 02 A6 */ mflr r0
/* 8032B0C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032B0CC 39 61 00 20 */ addi r11, r1, 0x20
/* 8032B0D0 48 03 71 09 */ bl _savegpr_28
/* 8032B0D4 7C 7E 1B 78 */ mr r30, r3
/* 8032B0D8 7C 9F 23 78 */ mr r31, r4
/* 8032B0DC 3B 80 00 00 */ li r28, 0
/* 8032B0E0 48 00 00 50 */ b lbl_8032B130
lbl_8032B0E4:
/* 8032B0E4 83 BF 00 0C */ lwz r29, 0xc(r31)
/* 8032B0E8 38 7E 00 30 */ addi r3, r30, 0x30
/* 8032B0EC 7F 84 E3 78 */ mr r4, r28
/* 8032B0F0 4B FB 3A 09 */ bl getName__10JUTNameTabCFUs
/* 8032B0F4 7C 64 1B 78 */ mr r4, r3
/* 8032B0F8 7F A3 EB 78 */ mr r3, r29
/* 8032B0FC 4B FB 39 5D */ bl getIndex__10JUTNameTabCFPCc
/* 8032B100 2C 03 FF FF */ cmpwi r3, -1
/* 8032B104 41 82 00 14 */ beq lbl_8032B118
/* 8032B108 80 9E 00 2C */ lwz r4, 0x2c(r30)
/* 8032B10C 57 80 0B FC */ rlwinm r0, r28, 1, 0xf, 0x1e
/* 8032B110 7C 64 03 2E */ sthx r3, r4, r0
/* 8032B114 48 00 00 18 */ b lbl_8032B12C
lbl_8032B118:
/* 8032B118 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
/* 8032B11C 38 83 FF FF */ addi r4, r3, 0xFFFF /* 0x0000FFFF@l */
/* 8032B120 80 7E 00 2C */ lwz r3, 0x2c(r30)
/* 8032B124 57 80 0B FC */ rlwinm r0, r28, 1, 0xf, 0x1e
/* 8032B128 7C 83 03 2E */ sthx r4, r3, r0
lbl_8032B12C:
/* 8032B12C 3B 9C 00 01 */ addi r28, r28, 1
lbl_8032B130:
/* 8032B130 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 8032B134 A0 7E 00 14 */ lhz r3, 0x14(r30)
/* 8032B138 38 00 00 03 */ li r0, 3
/* 8032B13C 7C 03 03 D6 */ divw r0, r3, r0
/* 8032B140 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8032B144 7C 04 00 40 */ cmplw r4, r0
/* 8032B148 41 80 FF 9C */ blt lbl_8032B0E4
/* 8032B14C 3B 80 00 00 */ li r28, 0
/* 8032B150 48 00 00 50 */ b lbl_8032B1A0
lbl_8032B154:
/* 8032B154 83 BF 00 0C */ lwz r29, 0xc(r31)
/* 8032B158 38 7E 00 64 */ addi r3, r30, 0x64
/* 8032B15C 7F 84 E3 78 */ mr r4, r28
/* 8032B160 4B FB 39 99 */ bl getName__10JUTNameTabCFUs
/* 8032B164 7C 64 1B 78 */ mr r4, r3
/* 8032B168 7F A3 EB 78 */ mr r3, r29
/* 8032B16C 4B FB 38 ED */ bl getIndex__10JUTNameTabCFPCc
/* 8032B170 2C 03 FF FF */ cmpwi r3, -1
/* 8032B174 41 82 00 14 */ beq lbl_8032B188
/* 8032B178 80 9E 00 60 */ lwz r4, 0x60(r30)
/* 8032B17C 57 80 0B FC */ rlwinm r0, r28, 1, 0xf, 0x1e
/* 8032B180 7C 64 03 2E */ sthx r3, r4, r0
/* 8032B184 48 00 00 18 */ b lbl_8032B19C
lbl_8032B188:
/* 8032B188 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
/* 8032B18C 38 83 FF FF */ addi r4, r3, 0xFFFF /* 0x0000FFFF@l */
/* 8032B190 80 7E 00 60 */ lwz r3, 0x60(r30)
/* 8032B194 57 80 0B FC */ rlwinm r0, r28, 1, 0xf, 0x1e
/* 8032B198 7C 83 03 2E */ sthx r4, r3, r0
lbl_8032B19C:
/* 8032B19C 3B 9C 00 01 */ addi r28, r28, 1
lbl_8032B1A0:
/* 8032B1A0 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 8032B1A4 A0 7E 00 4A */ lhz r3, 0x4a(r30)
/* 8032B1A8 38 00 00 03 */ li r0, 3
/* 8032B1AC 7C 03 03 D6 */ divw r0, r3, r0
/* 8032B1B0 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8032B1B4 7C 04 00 40 */ cmplw r4, r0
/* 8032B1B8 41 80 FF 9C */ blt lbl_8032B154
/* 8032B1BC 39 61 00 20 */ addi r11, r1, 0x20
/* 8032B1C0 48 03 70 65 */ bl _restgpr_28
/* 8032B1C4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032B1C8 7C 08 03 A6 */ mtlr r0
/* 8032B1CC 38 21 00 20 */ addi r1, r1, 0x20
/* 8032B1D0 4E 80 00 20 */ blr

View File

@ -394,7 +394,7 @@ private:
/* 0x54 */ int field_0x54;
/* 0x58 */ int field_0x58;
/* 0x5C */ u8 field_0x5c[4];
/* 0x60 */ u16 field_0x60[2];
/* 0x60 */ u16* field_0x60;
/* 0x64 */ JUTNameTab field_0x64;
/* 0x74 */ u8 field_0x74[4];
/* 0x78 */ u32 mTexMtxCalcType;
@ -415,7 +415,7 @@ private:
/* 0x10 */ void* mAnmTable;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u16 mUpdateMaterialNum;
/* 0x18 */ void* field_0x18;
/* 0x18 */ u16* field_0x18;
/* 0x1C */ JUTNameTab field_0x1c;
}; // Size: 0x2C
@ -448,9 +448,9 @@ private:
/* 0x1C */ u16 field_0x1c;
/* 0x1E */ u16 field_0x1e;
/* 0x20 */ u16* mCRegUpdateMaterialID;
/* 0x24 */ u8 field_0x24[0x34 - 0x24];
/* 0x24 */ JUTNameTab field_0x24;
/* 0x34 */ u16* mKRegUpdateMaterialID;
/* 0x38 */ u8 field_0x38[0x48 - 0x38];
/* 0x38 */ JUTNameTab field_0x38;
/* 0x48 */ void* field_0x48;
/* 0x4C */ void* field_0x4c;
/* 0x50 */ int field_0x50;

View File

@ -270,6 +270,77 @@ asm int J3DFrameCtrl::checkPass(f32 pass_frame) {
#endif
/* 803289CC-80328E40 32330C 0474+00 0/0 3/3 0/0 .text update__12J3DFrameCtrlFv */
// matches with literals
#ifdef NONMATCHING
void J3DFrameCtrl::update() {
mState = 0;
mFrame += mRate;
switch (mAttribute) {
case 0:
if (mFrame < mStart) {
mFrame = mStart;
mRate = 0.0f;
mState |= 1;
}
if (mFrame >= mEnd) {
mFrame = mEnd - 0.001f;
mRate = 0.0f;
mState |= 1;
}
break;
case 1:
if (mFrame < mStart) {
mFrame = mStart;
mRate = 0.0f;
mState |= 1;
}
if (mFrame >= mEnd) {
mFrame = mStart;
mRate = 0.0f;
mState |= 1;
}
break;
case 2:
while (mFrame < mStart) {
mState |= 2;
if (mLoop - mStart <= 0.0f) {
break;
}
mFrame += mLoop - mStart;
}
while (mFrame >= mEnd) {
mState |= 2;
if (mEnd - mLoop <= 0.0f) {
break;
}
mFrame -= mEnd - mLoop;
}
break;
case 3:
if (mFrame >= mEnd) {
mFrame = mEnd - (mFrame - mEnd);
mRate = -mRate;
}
if (mFrame < mStart) {
mFrame = mStart - (mFrame - mStart);
mRate = 0.0f;
mState |= 1;
}
break;
case 4:
if (mFrame >= mEnd - 1.0f) {
mFrame = (mEnd - 1.0f) - (mFrame - (mEnd - 1.0f));
mRate = -mRate;
}
if (mFrame < mStart) {
mFrame = mStart - (mFrame - mStart);
mRate = -mRate;
mState |= 2;
}
break;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -278,6 +349,7 @@ asm void J3DFrameCtrl::update() {
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/update__12J3DFrameCtrlFv.s"
}
#pragma pop
#endif
/* 80328E40-80328E90 323780 0050+00 0/0 3/3 0/0 .text __ct__15J3DAnmTransformFsPfPsPf */
// matches with literals
@ -456,6 +528,29 @@ SECTION_DATA extern void* __vt__19J3DAnmTextureSRTKey[4] = {
};
/* 80329E5C-80329F14 32479C 00B8+00 0/0 2/2 0/0 .text __ct__19J3DAnmTextureSRTKeyFv */
// matches with literals
#ifdef NONMATCHING
J3DAnmTextureSRTKey::J3DAnmTextureSRTKey() : J3DAnmBase(0) {
field_0xc = 0;
field_0x1a = 0;
field_0x18 = 0;
field_0x16 = 0;
field_0x14 = 0;
field_0x10 = 0;
field_0x24 = 0;
field_0x1c = 0;
field_0x20 = 0;
field_0x48 = 0;
field_0x46 = 0;
field_0x44 = 0;
field_0x4a = 0;
field_0x58 = 0;
field_0x54 = 0;
field_0x4c = 0;
field_0x50 = 0;
mTexMtxCalcType = 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -464,6 +559,7 @@ asm J3DAnmTextureSRTKey::J3DAnmTextureSRTKey() {
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__19J3DAnmTextureSRTKeyFv.s"
}
#pragma pop
#endif
/* 80329F14-8032A184 324854 0270+00 0/0 1/1 0/0 .text
* calcTransform__19J3DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo */
@ -500,6 +596,17 @@ asm f32 J3DAnmClusterKey::getWeight(u16 param_0) const {
#pragma pop
/* 8032A29C-8032A30C 324BDC 0070+00 2/2 0/0 0/0 .text __ct__14J3DAnmVtxColorFv */
// matches with literals
#ifdef NONMATCHING
J3DAnmVtxColor::J3DAnmVtxColor() : J3DAnmBase(0) {
for (int i = 0; i < 2; i++) {
mAnmTableNum[i] = 0;
}
for (int i = 0; i < 2; i++) {
mAnmVtxColorIndexData[i] = 0;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -508,16 +615,14 @@ asm J3DAnmVtxColor::J3DAnmVtxColor() {
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__14J3DAnmVtxColorFv.s"
}
#pragma pop
#endif
/* 8032A30C-8032A368 324C4C 005C+00 0/0 1/1 0/0 .text __ct__18J3DAnmVtxColorFullFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DAnmVtxColorFull::J3DAnmVtxColorFull() {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__18J3DAnmVtxColorFullFv.s"
J3DAnmVtxColorFull::J3DAnmVtxColorFull() {
for (int i = 0; i < 2; i++) {
field_0x18[i] = 0;
}
}
#pragma pop
/* 8032A368-8032A4E0 324CA8 0178+00 1/0 0/0 0/0 .text
* getColor__18J3DAnmVtxColorFullCFUcUsP8_GXColor */
@ -531,14 +636,11 @@ asm void J3DAnmVtxColorFull::getColor(u8 param_0, u16 param_1, _GXColor* param_2
#pragma pop
/* 8032A4E0-8032A53C 324E20 005C+00 0/0 1/1 0/0 .text __ct__17J3DAnmVtxColorKeyFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DAnmVtxColorKey::J3DAnmVtxColorKey() {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__17J3DAnmVtxColorKeyFv.s"
J3DAnmVtxColorKey::J3DAnmVtxColorKey() {
for (int i = 0; i < 2; i++) {
field_0x18[i] = 0;
}
}
#pragma pop
/* ############################################################################################## */
/* 80456458-8045645C 004A58 0004+00 3/3 0/0 0/0 .sdata2 @1499 */
@ -556,6 +658,10 @@ asm void J3DAnmVtxColorKey::getColor(u8 param_0, u16 param_1, _GXColor* param_2)
#pragma pop
/* 8032A828-8032A8A4 325168 007C+00 2/2 0/0 0/0 .text __ct__11J3DAnmColorFv */
// matches with literals
#ifdef NONMATCHING
J3DAnmColor::J3DAnmColor() : J3DAnmBase(0), field_0xc(0), field_0xe(0), field_0x10(0), field_0x12(0), mUpdateMaterialNum(0), mUpdateMaterialID(NULL) {}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -564,6 +670,7 @@ asm J3DAnmColor::J3DAnmColor() {
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__11J3DAnmColorFv.s"
}
#pragma pop
#endif
/* 8032A8A4-8032A93C 3251E4 0098+00 0/0 1/1 0/0 .text
* searchUpdateMaterialID__11J3DAnmColorFP16J3DMaterialTable */
@ -577,14 +684,13 @@ asm void J3DAnmColor::searchUpdateMaterialID(J3DMaterialTable* param_0) {
#pragma pop
/* 8032A93C-8032A990 32527C 0054+00 0/0 1/1 0/0 .text __ct__15J3DAnmColorFullFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DAnmColorFull::J3DAnmColorFull() {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__15J3DAnmColorFullFv.s"
J3DAnmColorFull::J3DAnmColorFull() {
field_0x2c = 0;
field_0x30 = 0;
field_0x34 = 0;
field_0x38 = 0;
field_0x3c = 0;
}
#pragma pop
/* 8032A990-8032AB00 3252D0 0170+00 1/0 0/0 0/0 .text getColor__15J3DAnmColorFullCFUsP8_GXColor */
#pragma push
@ -597,14 +703,13 @@ asm void J3DAnmColorFull::getColor(u16 param_0, _GXColor* param_1) const {
#pragma pop
/* 8032AB00-8032AB54 325440 0054+00 0/0 1/1 0/0 .text __ct__14J3DAnmColorKeyFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DAnmColorKey::J3DAnmColorKey() {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__14J3DAnmColorKeyFv.s"
J3DAnmColorKey::J3DAnmColorKey() {
field_0x2c = 0;
field_0x30 = 0;
field_0x34 = 0;
field_0x38 = 0;
field_0x3c = 0;
}
#pragma pop
/* 8032AB54-8032AE18 325494 02C4+00 1/0 0/0 0/0 .text getColor__14J3DAnmColorKeyCFUsP8_GXColor */
#pragma push
@ -617,6 +722,31 @@ asm void J3DAnmColorKey::getColor(u16 param_0, _GXColor* param_1) const {
#pragma pop
/* 8032AE18-8032AED8 325758 00C0+00 0/0 1/1 0/0 .text __ct__15J3DAnmTevRegKeyFv */
// matches with literals
#ifdef NONMATCHING
J3DAnmTevRegKey::J3DAnmTevRegKey() : J3DAnmBase(0) {
mKRegUpdateMaterialNum = 0;
mCRegUpdateMaterialNum = 0;
field_0x16 = 0;
field_0x14 = 0;
field_0x12 = 0;
field_0x10 = 0;
field_0x1e = 0;
field_0x1c = 0;
field_0x1a = 0;
field_0x18 = 0;
mKRegUpdateMaterialID = 0;
mCRegUpdateMaterialID = 0;
field_0x5c = 0;
field_0x58 = 0;
field_0x54 = 0;
field_0x50 = 0;
field_0x6c = 0;
field_0x68 = 0;
field_0x64 = 0;
field_0x60 = 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -625,8 +755,13 @@ asm J3DAnmTevRegKey::J3DAnmTevRegKey() {
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__15J3DAnmTevRegKeyFv.s"
}
#pragma pop
#endif
/* 8032AED8-8032AF50 325818 0078+00 0/0 2/2 0/0 .text __ct__16J3DAnmTexPatternFv */
// matches with literals
#if NONMATCHING
J3DAnmTexPattern::J3DAnmTexPattern() : J3DAnmBase(0), field_0xc(NULL), mAnmTable(NULL), field_0x14(0), mUpdateMaterialNum(0), field_0x18(NULL) {}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -635,6 +770,7 @@ asm J3DAnmTexPattern::J3DAnmTexPattern() {
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/__ct__16J3DAnmTexPatternFv.s"
}
#pragma pop
#endif
/* 8032AF50-8032B004 325890 00B4+00 0/0 1/1 72/72 .text getTexNo__16J3DAnmTexPatternCFUsPUs */
#pragma push
@ -648,47 +784,49 @@ asm void J3DAnmTexPattern::getTexNo(u16 param_0, u16* param_1) const {
/* 8032B004-8032B09C 325944 0098+00 1/1 1/1 0/0 .text
* searchUpdateMaterialID__16J3DAnmTexPatternFP16J3DMaterialTable */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DAnmTexPattern::searchUpdateMaterialID(J3DMaterialTable* param_0) {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/searchUpdateMaterialID__16J3DAnmTexPatternFP16J3DMaterialTable.s"
void J3DAnmTexPattern::searchUpdateMaterialID(J3DMaterialTable* param_0) {
for (u16 i = 0; i < mUpdateMaterialNum; i++) {
s32 r3 = param_0->getMaterialName()->getIndex(field_0x1c.getName(i));
if (r3 != -1) {
field_0x18[i] = r3;
} else {
field_0x18[i] = -1;
}
}
}
#pragma pop
/* 8032B09C-8032B0C0 3259DC 0024+00 0/0 4/4 1/1 .text
* searchUpdateMaterialID__16J3DAnmTexPatternFP12J3DModelData */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DAnmTexPattern::searchUpdateMaterialID(J3DModelData* param_0) {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/searchUpdateMaterialID__16J3DAnmTexPatternFP12J3DModelData.s"
void J3DAnmTexPattern::searchUpdateMaterialID(J3DModelData* param_0) {
searchUpdateMaterialID(&param_0->getMaterialTable());
}
#pragma pop
/* 8032B0C0-8032B1D4 325A00 0114+00 1/1 1/1 0/0 .text
* searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP16J3DMaterialTable */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DMaterialTable* param_0) {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP16J3DMaterialTable.s"
void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DMaterialTable* param_0) {
for (u16 i = 0; i < u16(field_0x14 / 3); i++) {
s32 r3 = param_0->getMaterialName()->getIndex(field_0x30.getName(i));
if (r3 != -1) {
mUpdateMaterialID[i] = r3;
} else {
mUpdateMaterialID[i] = -1;
}
}
for (u16 i = 0; i < u16(field_0x4a / 3); i++) {
s32 r3 = param_0->getMaterialName()->getIndex(field_0x64.getName(i));
if (r3 != -1) {
field_0x60[i] = r3;
} else {
field_0x60[i] = -1;
}
}
}
#pragma pop
/* 8032B1D4-8032B1F8 325B14 0024+00 0/0 8/8 6/6 .text
* searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DModelData* param_0) {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData.s"
void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DModelData* param_0) {
searchUpdateMaterialID(&param_0->getMaterialTable());
}
#pragma pop
/* ############################################################################################## */
/* 8045645C-80456460 004A5C 0004+00 1/1 0/0 0/0 .sdata2 @1817 */
@ -736,14 +874,9 @@ asm void J3DAnmTevRegKey::searchUpdateMaterialID(J3DMaterialTable* param_0) {
/* 8032B87C-8032B8A0 3261BC 0024+00 0/0 9/9 4/4 .text
* searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DAnmTevRegKey::searchUpdateMaterialID(J3DModelData* param_0) {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DAnimation/searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData.s"
void J3DAnmTevRegKey::searchUpdateMaterialID(J3DModelData* param_0) {
searchUpdateMaterialID(&param_0->getMaterialTable());
}
#pragma pop
/* 8032B8A0-8032BAD4 3261E0 0234+00 6/6 0/0 0/0 .text
* J3DGetKeyFrameInterpolation<s>__FfP18J3DAnmKeyTableBasePs */