This commit is contained in:
Donkey Kong 2023-07-07 14:15:10 +09:30
parent ca0ada5d42
commit 433e8590cd
9 changed files with 73 additions and 11 deletions

View File

@ -2366,7 +2366,8 @@ typedef struct {
} Struct80717D84_unk384_8071B2EC;
typedef struct {
u8 unk0[0x16 - 0x0];
s32 unk0;
u8 unk4[0x16 - 0x4];
s16 unk16;
} Struct80717D84_unk330;

View File

@ -1398,7 +1398,7 @@ us,.code,func_8060E8EC,68,yes
us,.code,func_80659600,16,yes
us,.code,func_806850D0,320,no
us,.code,func_80649E00,52,yes
us,.code,func_8071D28C,816,no
us,.code,func_8071D28C,816,yes
us,.code,func_80610B84,84,yes
us,.code,func_8060DC3C,620,no
us,.code,func_806B88B8,608,yes

1 version section function length matching
1398 us .code func_80659600 16 yes
1399 us .code func_806850D0 320 no
1400 us .code func_80649E00 52 yes
1401 us .code func_8071D28C 816 no yes
1402 us .code func_80610B84 84 yes
1403 us .code func_8060DC3C 620 no
1404 us .code func_806B88B8 608 yes

View File

@ -1398,7 +1398,7 @@ us,.code,func_8060E8EC,68,yes
us,.code,func_80659600,16,yes
us,.code,func_806850D0,320,no
us,.code,func_80649E00,52,yes
us,.code,func_8071D28C,816,no
us,.code,func_8071D28C,816,yes
us,.code,func_80610B84,84,yes
us,.code,func_8060DC3C,620,no
us,.code,func_806B88B8,608,yes

1 version section function length matching
1398 us .code func_80659600 16 yes
1399 us .code func_806850D0 320 no
1400 us .code func_80649E00 52 yes
1401 us .code func_8071D28C 816 no yes
1402 us .code func_80610B84 84 yes
1403 us .code func_8060DC3C 620 no
1404 us .code func_806B88B8 608 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">30.1047%</text>
<text x="110.5" y="14">30.1047%</text>
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">30.1710%</text>
<text x="110.5" y="14">30.1710%</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">29.9145%</text>
<text x="165.5" y="14">29.9145%</text>
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">29.9641%</text>
<text x="165.5" y="14">29.9641%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1870,8 +1870,68 @@ void func_8071D260(Struct80717D84 *arg0, s8 *arg1) {
}
}
// Doable, fiddly
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_119370/func_8071D28C.s")
extern f32 D_8075E9E8;
extern f64 D_8075E9F0;
extern f64 D_8075E9F8;
extern f64 D_8075EA00;
typedef struct {
f32 unk0;
f32 unk4;
f32 unk8;
f32 unkC;
f32 unk10;
f32 unk14;
f32 unk18;
f32 unk1C;
} Struct80717D84_unk384_8071D28C;
void func_8071D28C(Struct80717D84 *arg0, s8 *arg1) {
f32 temp_f0;
f32 temp_f0_2;
f32 temp_f2;
f32 temp_f2_2;
f32 temp_f6;
Actor *actor;
Struct80717D84_unk384_8071D28C *temp_v0;
Struct80717D84_unk384_8071D28C *var_v1;
actor = arg0->unk338;
if (arg0->unk384 == NULL) {
arg0->unk384 = malloc(sizeof(Struct80717D84_unk384_8071D28C));
var_v1 = arg0->unk384;
temp_f0 = actor->x_position - arg0->unk340;
temp_f2 = actor->z_position - arg0->unk348;
var_v1->unk0 = sqrtf((temp_f0 * temp_f0) + (temp_f2 * temp_f2));
var_v1->unk4 = (func_806119FC() * 20.0f) + 10.0f;
var_v1->unk8 = func_806119FC() * D_8075E9E8;
var_v1->unkC = (func_806119FC() * 90.0f) + 10.0f;
var_v1->unk10 = actor->y_rotation;
var_v1->unk14 = func_806119FC() * 30.0f;
var_v1->unk18 = 0.0f;
var_v1->unk1C = (((f32)(((rand() >> 0xF) % 255) % 2) * 2)) - 1;
}
var_v1 = arg0->unk384;
var_v1->unk0 = ((var_v1->unk4 - var_v1->unk0) * D_8075E9F0) + var_v1->unk0;
var_v1->unk14 = ((120.0f - var_v1->unk14) * D_8075E9F8) + var_v1->unk14;
var_v1->unk10 = var_v1->unk10 + (var_v1->unk1C * var_v1->unk14);
var_v1->unk8 = var_v1->unk8 + var_v1->unkC;
arg0->unk340 = (func_80612794(var_v1->unk10) * var_v1->unk0) + actor->x_position;
arg0->unk348 = (func_80612790(var_v1->unk10) * var_v1->unk0) + actor->z_position;
arg0->unk344 += (D_8075EA00 * func_80612794(var_v1->unk8));
var_v1->unk18 = var_v1->unk18 + 1.0f;
if (var_v1->unk18 > 45.0f) {
*arg1 = 1;
}
if ((object_timer % (u32)arg0->unk35C) == 0) {
func_807149B8(1);
func_807149FC(-1);
func_80714950(0x2A);
func_8071498C(&func_8071D260);
func_80714A28(0x20);
func_80714CC0(arg0->unk330->unk0, arg0->unk360, arg0->unk340, arg0->unk344, arg0->unk348);
}
}
extern f64 D_8075EA08;

View File

@ -1307,10 +1307,10 @@ void func_806398E4(s32 arg0, u8 arg1, u8 arg2) {
// Doable
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_36880/func_80639CD0.s")
// close
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_36880/func_80639F1C.s")
/*
// TODO: Close
s32 func_80639F1C(Model2Model50_B8 *arg0, s32 *arg1, s32 *arg2) {
s32 var_v1;
s32 temp;

View File

@ -4426,7 +4426,7 @@ void func_806D9AD4(void) {
func_806DF6D4(1);
if ((current_actor_pointer->control_state_progress == 1) || (current_actor_pointer->control_state_progress == 2)) {
rand();
sp28 = ((rand() >> 0xF) % 30) + current_actor_pointer->y_position;
sp28 = current_actor_pointer->y_position + ((rand() >> 0xF) % 30);
rand();
func_807149B8(1);
func_80714950((extra_player_info_pointer->unk23C << 0x10) + (s32)(15.0 * (current_actor_pointer->shadow_opacity / D_8075CE78)));

View File

@ -327,3 +327,4 @@ D_8075D240 = 0x8075D240;
D_8075FF50 = 0x8075FF50;
D_80720CD8 = 0x80720CD8;
D_8075E9F8 = 0x8075E9F8;