This commit is contained in:
Donkey Kong 2024-09-21 20:12:57 -05:00
parent cee6bc2a65
commit 538cecb195
6 changed files with 104 additions and 31 deletions

View File

@ -329,14 +329,15 @@ typedef struct actor_animation_state {
AnimationStateUnk0 *unk4;
AnimationStateUnk8 *unk8;
s32 unkC;
s16 unk10;
s16 unk12;
f32 unk10;
void *bone_arrays[2]; // at 0x14, camera, update bone positions // TODO: Proper type
AnimationStateUnk1C *unk1C;
AnimationStateUnk20 *unk20; // See boss func_dk64_boot_8002FB7C
AnimationStateUnk24 *unk24;
s32 unk28;
s32 unk2C;
s16 unk28;
s16 unk2A;
s16 unk2C;
s16 unk2E;
s32 unk30;
union {
struct {
@ -346,8 +347,8 @@ typedef struct actor_animation_state {
};
f32 scale[3];
};
s32 unk40;
s32 unk44;
f32 unk40;
f32 unk44;
f32 unk48;
f32 unk4C;
f32 unk50;

View File

@ -295,7 +295,7 @@ us,asm,func_global_asm_806FF32C,44,yes
us,asm,func_global_asm_806E1334,424,yes
us,asm,func_global_asm_806E7338,332,yes
us,asm,func_global_asm_806D9184,32,yes
us,asm,func_global_asm_806155F4,56,no
us,asm,func_global_asm_806155F4,56,yes
us,asm,func_global_asm_80614B34,260,no
us,asm,func_global_asm_806A3B78,244,yes
us,asm,func_global_asm_80618104,812,no
@ -678,7 +678,7 @@ us,asm,func_global_asm_806A5F44,96,yes
us,asm,func_global_asm_806B1D78,92,yes
us,asm,func_global_asm_80601D24,448,no
us,asm,func_global_asm_80672E6C,32,yes
us,asm,func_global_asm_8061540C,272,no
us,asm,func_global_asm_8061540C,272,yes
us,asm,func_global_asm_8065D994,1708,no
us,asm,func_global_asm_80679010,84,yes
us,asm,func_global_asm_806E8E78,140,yes
@ -1810,7 +1810,7 @@ us,asm,func_global_asm_80632E74,172,yes
us,asm,func_global_asm_806175C4,428,no
us,asm,func_global_asm_8060B140,752,no
us,asm,func_global_asm_807131BC,96,yes
us,asm,func_global_asm_80615664,60,no
us,asm,func_global_asm_80615664,60,yes
us,asm,func_global_asm_80684900,256,yes
us,asm,deleteActor,40,yes
us,asm,func_global_asm_8068B80C,16,yes
@ -1880,7 +1880,7 @@ us,asm,func_global_asm_806D79E4,68,yes
us,asm,func_global_asm_806323C0,380,yes
us,asm,func_global_asm_80636448,124,yes
us,asm,func_global_asm_80669650,80,yes
us,asm,func_global_asm_8061562C,56,no
us,asm,func_global_asm_8061562C,56,yes
us,asm,func_global_asm_806608FC,1084,no
us,asm,func_global_asm_8072EF7C,288,yes
us,asm,func_global_asm_80660520,784,no
@ -1888,7 +1888,7 @@ us,asm,func_global_asm_806F2FC0,464,yes
us,asm,func_global_asm_8073B6B0,160,no
us,asm,func_global_asm_8065EFF0,324,yes
us,asm,func_global_asm_8069E018,40,yes
us,asm,func_global_asm_806156A0,60,no
us,asm,func_global_asm_806156A0,60,yes
us,asm,func_global_asm_806D2A14,140,yes
us,asm,func_global_asm_807023E8,124,yes
us,asm,func_global_asm_8073749C,324,no
@ -3244,11 +3244,11 @@ us,asm,func_global_asm_806D9FD0,848,yes
us,asm,func_global_asm_80685D84,244,yes
us,asm,func_global_asm_8070C200,16,no
us,asm,func_global_asm_8063254C,228,yes
us,asm,func_global_asm_80615558,156,no
us,asm,func_global_asm_80615558,156,yes
us,asm,func_global_asm_806687E0,216,yes
us,asm,func_global_asm_80613BA0,168,no
us,asm,func_global_asm_80694948,984,no
us,asm,func_global_asm_8061551C,60,no
us,asm,func_global_asm_8061551C,60,yes
us,asm,func_global_asm_8071A8B0,556,yes
us,asm,func_global_asm_8062A348,168,yes
us,asm,func_global_asm_806A734C,32,yes

1 version section function length matching
295 us asm func_global_asm_806E1334 424 yes
296 us asm func_global_asm_806E7338 332 yes
297 us asm func_global_asm_806D9184 32 yes
298 us asm func_global_asm_806155F4 56 no yes
299 us asm func_global_asm_80614B34 260 no
300 us asm func_global_asm_806A3B78 244 yes
301 us asm func_global_asm_80618104 812 no
678 us asm func_global_asm_806B1D78 92 yes
679 us asm func_global_asm_80601D24 448 no
680 us asm func_global_asm_80672E6C 32 yes
681 us asm func_global_asm_8061540C 272 no yes
682 us asm func_global_asm_8065D994 1708 no
683 us asm func_global_asm_80679010 84 yes
684 us asm func_global_asm_806E8E78 140 yes
1810 us asm func_global_asm_806175C4 428 no
1811 us asm func_global_asm_8060B140 752 no
1812 us asm func_global_asm_807131BC 96 yes
1813 us asm func_global_asm_80615664 60 no yes
1814 us asm func_global_asm_80684900 256 yes
1815 us asm deleteActor 40 yes
1816 us asm func_global_asm_8068B80C 16 yes
1880 us asm func_global_asm_806323C0 380 yes
1881 us asm func_global_asm_80636448 124 yes
1882 us asm func_global_asm_80669650 80 yes
1883 us asm func_global_asm_8061562C 56 no yes
1884 us asm func_global_asm_806608FC 1084 no
1885 us asm func_global_asm_8072EF7C 288 yes
1886 us asm func_global_asm_80660520 784 no
1888 us asm func_global_asm_8073B6B0 160 no
1889 us asm func_global_asm_8065EFF0 324 yes
1890 us asm func_global_asm_8069E018 40 yes
1891 us asm func_global_asm_806156A0 60 no yes
1892 us asm func_global_asm_806D2A14 140 yes
1893 us asm func_global_asm_807023E8 124 yes
1894 us asm func_global_asm_8073749C 324 no
3244 us asm func_global_asm_80685D84 244 yes
3245 us asm func_global_asm_8070C200 16 no
3246 us asm func_global_asm_8063254C 228 yes
3247 us asm func_global_asm_80615558 156 no yes
3248 us asm func_global_asm_806687E0 216 yes
3249 us asm func_global_asm_80613BA0 168 no
3250 us asm func_global_asm_80694948 984 no
3251 us asm func_global_asm_8061551C 60 no yes
3252 us asm func_global_asm_8071A8B0 556 yes
3253 us asm func_global_asm_8062A348 168 yes
3254 us asm func_global_asm_806A734C 32 yes

View File

@ -295,7 +295,7 @@ us,asm,func_global_asm_806FF32C,44,yes
us,asm,func_global_asm_806E1334,424,yes
us,asm,func_global_asm_806E7338,332,yes
us,asm,func_global_asm_806D9184,32,yes
us,asm,func_global_asm_806155F4,56,no
us,asm,func_global_asm_806155F4,56,yes
us,asm,func_global_asm_80614B34,260,no
us,asm,func_global_asm_806A3B78,244,yes
us,asm,func_global_asm_80618104,812,no
@ -678,7 +678,7 @@ us,asm,func_global_asm_806A5F44,96,yes
us,asm,func_global_asm_806B1D78,92,yes
us,asm,func_global_asm_80601D24,448,no
us,asm,func_global_asm_80672E6C,32,yes
us,asm,func_global_asm_8061540C,272,no
us,asm,func_global_asm_8061540C,272,yes
us,asm,func_global_asm_8065D994,1708,no
us,asm,func_global_asm_80679010,84,yes
us,asm,func_global_asm_806E8E78,140,yes
@ -1810,7 +1810,7 @@ us,asm,func_global_asm_80632E74,172,yes
us,asm,func_global_asm_806175C4,428,no
us,asm,func_global_asm_8060B140,752,no
us,asm,func_global_asm_807131BC,96,yes
us,asm,func_global_asm_80615664,60,no
us,asm,func_global_asm_80615664,60,yes
us,asm,func_global_asm_80684900,256,yes
us,asm,deleteActor,40,yes
us,asm,func_global_asm_8068B80C,16,yes
@ -1880,7 +1880,7 @@ us,asm,func_global_asm_806D79E4,68,yes
us,asm,func_global_asm_806323C0,380,yes
us,asm,func_global_asm_80636448,124,yes
us,asm,func_global_asm_80669650,80,yes
us,asm,func_global_asm_8061562C,56,no
us,asm,func_global_asm_8061562C,56,yes
us,asm,func_global_asm_806608FC,1084,no
us,asm,func_global_asm_8072EF7C,288,yes
us,asm,func_global_asm_80660520,784,no
@ -1888,7 +1888,7 @@ us,asm,func_global_asm_806F2FC0,464,yes
us,asm,func_global_asm_8073B6B0,160,no
us,asm,func_global_asm_8065EFF0,324,yes
us,asm,func_global_asm_8069E018,40,yes
us,asm,func_global_asm_806156A0,60,no
us,asm,func_global_asm_806156A0,60,yes
us,asm,func_global_asm_806D2A14,140,yes
us,asm,func_global_asm_807023E8,124,yes
us,asm,func_global_asm_8073749C,324,no
@ -3244,11 +3244,11 @@ us,asm,func_global_asm_806D9FD0,848,yes
us,asm,func_global_asm_80685D84,244,yes
us,asm,func_global_asm_8070C200,16,no
us,asm,func_global_asm_8063254C,228,yes
us,asm,func_global_asm_80615558,156,no
us,asm,func_global_asm_80615558,156,yes
us,asm,func_global_asm_806687E0,216,yes
us,asm,func_global_asm_80613BA0,168,no
us,asm,func_global_asm_80694948,984,no
us,asm,func_global_asm_8061551C,60,no
us,asm,func_global_asm_8061551C,60,yes
us,asm,func_global_asm_8071A8B0,556,yes
us,asm,func_global_asm_8062A348,168,yes
us,asm,func_global_asm_806A734C,32,yes

1 version section function length matching
295 us asm func_global_asm_806E1334 424 yes
296 us asm func_global_asm_806E7338 332 yes
297 us asm func_global_asm_806D9184 32 yes
298 us asm func_global_asm_806155F4 56 no yes
299 us asm func_global_asm_80614B34 260 no
300 us asm func_global_asm_806A3B78 244 yes
301 us asm func_global_asm_80618104 812 no
678 us asm func_global_asm_806B1D78 92 yes
679 us asm func_global_asm_80601D24 448 no
680 us asm func_global_asm_80672E6C 32 yes
681 us asm func_global_asm_8061540C 272 no yes
682 us asm func_global_asm_8065D994 1708 no
683 us asm func_global_asm_80679010 84 yes
684 us asm func_global_asm_806E8E78 140 yes
1810 us asm func_global_asm_806175C4 428 no
1811 us asm func_global_asm_8060B140 752 no
1812 us asm func_global_asm_807131BC 96 yes
1813 us asm func_global_asm_80615664 60 no yes
1814 us asm func_global_asm_80684900 256 yes
1815 us asm deleteActor 40 yes
1816 us asm func_global_asm_8068B80C 16 yes
1880 us asm func_global_asm_806323C0 380 yes
1881 us asm func_global_asm_80636448 124 yes
1882 us asm func_global_asm_80669650 80 yes
1883 us asm func_global_asm_8061562C 56 no yes
1884 us asm func_global_asm_806608FC 1084 no
1885 us asm func_global_asm_8072EF7C 288 yes
1886 us asm func_global_asm_80660520 784 no
1888 us asm func_global_asm_8073B6B0 160 no
1889 us asm func_global_asm_8065EFF0 324 yes
1890 us asm func_global_asm_8069E018 40 yes
1891 us asm func_global_asm_806156A0 60 no yes
1892 us asm func_global_asm_806D2A14 140 yes
1893 us asm func_global_asm_807023E8 124 yes
1894 us asm func_global_asm_8073749C 324 no
3244 us asm func_global_asm_80685D84 244 yes
3245 us asm func_global_asm_8070C200 16 no
3246 us asm func_global_asm_8063254C 228 yes
3247 us asm func_global_asm_80615558 156 no yes
3248 us asm func_global_asm_806687E0 216 yes
3249 us asm func_global_asm_80613BA0 168 no
3250 us asm func_global_asm_80694948 984 no
3251 us asm func_global_asm_8061551C 60 no yes
3252 us asm func_global_asm_8071A8B0 556 yes
3253 us asm func_global_asm_8062A348 168 yes
3254 us asm func_global_asm_806A734C 32 yes

View File

@ -17,7 +17,7 @@
<text x="38.5" y="14">global_asm</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">36.5912%</text>
<text x="110.5" y="14">36.5912%</text>
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">36.6496%</text>
<text x="110.5" y="14">36.6496%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -17,7 +17,7 @@
<text x="66.0" y="14">Donkey Kong 64 (US)</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">38.8634%</text>
<text x="165.5" y="14">38.8634%</text>
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">38.9072%</text>
<text x="165.5" y="14">38.9072%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -286,19 +286,91 @@ s32 func_global_asm_8061537C(Actor *arg0) {
return 0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_17B90/func_global_asm_8061540C.s")
s32 func_global_asm_8061540C(Actor *arg0) {
f32 sp24;
AnimationStateUnk0 *var_v0;
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_17B90/func_global_asm_8061551C.s")
if (arg0->animation_state->unk84 != 0) {
var_v0 = arg0->animation_state->unk4;
} else {
var_v0 = arg0->animation_state->unk0;
}
D_807F5AF0++;
func_global_asm_80614FD8(&sp24);
if (sp24 < 0.0f) {
sp24 = arg0->animation_state->unk88;
}
if ((arg0->animation_state->unk48 * var_v0->unk24) > 0.0f) {
if (sp24 <= var_v0->unk4) {
return 1;
}
goto block_10;
}
if (var_v0->unk4 <= sp24) {
return 1;
}
block_10:
arg0->animation_state->unk80 = sp24;
arg0->animation_state->unk78 |= 8;
return 0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_17B90/func_global_asm_80615558.s")
s32 func_global_asm_8061551C(Actor *arg0) {
D_807F5AF0++;
if (arg0->animation_state->unk8->unk0 != 0) {
arg0->animation_state->unk78 |= 0x10;
}
return 0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_17B90/func_global_asm_806155F4.s")
s32 func_global_asm_80615558(Actor *arg0) {
f32 sp1C;
ActorAnimationState *sp18;
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_17B90/func_global_asm_8061562C.s")
sp18 = arg0->animation_state;
D_807F5AF0++;
func_global_asm_80614FD8(&sp1C);
if (sp18->unk8->unk0) {
if (sp1C < sp18->unk44) {
sp18->unk44 = sp1C;
sp18->unk40 = (sp18->unk44 - (sp18->unk10 * sp18->unk44));
}
arg0->animation_state->unk78 |= 0x10;
}
return 0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_17B90/func_global_asm_80615664.s")
s32 func_global_asm_806155F4(Actor *arg0) {
if (arg0->animation_state->unk88 != 0) {
D_807F5AF0++;
return 1;
}
return 0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_17B90/func_global_asm_806156A0.s")
s32 func_global_asm_8061562C(Actor *arg0) {
if (arg0->animation_state->unk88 == 0) {
D_807F5AF0++;
return 1;
}
return 0;
}
s32 func_global_asm_80615664(Actor *arg0) {
if (arg0->animation_state->unk4->unk0 == 0) {
D_807F5AF0++;
return 1;
}
return 0;
}
s32 func_global_asm_806156A0(Actor *arg0) {
if (arg0->animation_state->unk28 == arg0->animation_state->unk2C) {
D_807F5AF0++;
return 1;
}
return 0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_17B90/func_global_asm_806156DC.s")