mirror of
https://gitlab.com/dk64_decomp/dk64.git
synced 2024-12-02 12:28:56 +00:00
37.1500%
This commit is contained in:
parent
aefebdb520
commit
9bbec0761d
@ -2150,7 +2150,7 @@ u8 func_global_asm_806FD894(s16 arg0);
|
||||
void func_global_asm_80712574(void);
|
||||
void func_global_asm_806A0330(void);
|
||||
s16 func_global_asm_80632630(s32 arg0, f32 x, f32 y, f32 z, f32 arg4, u8 arg5);
|
||||
void func_global_asm_80686E40(f32, f32, f32, s32);
|
||||
void func_global_asm_80686E40(f32 x, f32 y, f32 z, s32 arg3);
|
||||
void func_global_asm_80651BE0(s16 arg0, u8 arg1, u8 arg2);
|
||||
void func_global_asm_8062AC68(void *);
|
||||
void func_global_asm_80657CB0(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 *arg4, f32 *arg5, f32 *arg6);
|
||||
|
@ -75,7 +75,7 @@ us,asm,func_global_asm_807009F4,240,no
|
||||
us,asm,func_global_asm_80661398,80,yes
|
||||
us,asm,func_global_asm_80714660,8,yes
|
||||
us,asm,func_global_asm_8070D568,236,yes
|
||||
us,asm,func_global_asm_806CDD24,1104,no
|
||||
us,asm,func_global_asm_806CDD24,1104,yes
|
||||
us,asm,func_global_asm_80676220,56,yes
|
||||
us,asm,func_global_asm_806E9A5C,112,yes
|
||||
us,asm,func_global_asm_806CC190,244,yes
|
||||
|
|
@ -75,7 +75,7 @@ us,asm,func_global_asm_807009F4,240,no
|
||||
us,asm,func_global_asm_80661398,80,yes
|
||||
us,asm,func_global_asm_80714660,8,yes
|
||||
us,asm,func_global_asm_8070D568,236,yes
|
||||
us,asm,func_global_asm_806CDD24,1104,no
|
||||
us,asm,func_global_asm_806CDD24,1104,yes
|
||||
us,asm,func_global_asm_80676220,56,yes
|
||||
us,asm,func_global_asm_806E9A5C,112,yes
|
||||
us,asm,func_global_asm_806CC190,244,yes
|
||||
|
|
@ -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.8712%</text>
|
||||
<text x="110.5" y="14">36.8712%</text>
|
||||
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">36.9609%</text>
|
||||
<text x="110.5" y="14">36.9609%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@ -9,7 +9,7 @@
|
||||
</mask>
|
||||
<g mask="url(#anybadge_1)">
|
||||
<path fill="#555" d="M0 0h132v20H0z"/>
|
||||
<path fill="#c08e00" d="M132 0h67v20H132z"/>
|
||||
<path fill="#c08f00" d="M132 0h67v20H132z"/>
|
||||
<path fill="url(#b)" d="M0 0h199v20H0z"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
@ -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">37.0830%</text>
|
||||
<text x="165.5" y="14">37.0830%</text>
|
||||
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">37.1500%</text>
|
||||
<text x="165.5" y="14">37.1500%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -2201,14 +2201,14 @@ void func_global_asm_8071E3EC(Struct80717D84 *arg0, s8 *arg1) {
|
||||
if (arg0->unk384 == NULL) {
|
||||
arg0->unk384 = malloc(0xC);
|
||||
var_v1 = arg0->unk384;
|
||||
var_v1[0] = 0.0f;
|
||||
var_v1[1] = 0.0f;
|
||||
var_v1[0] = 0;
|
||||
var_v1[1] = 0;
|
||||
var_v1[2] = func_global_asm_806531B8(arg0->unk340, arg0->unk344, arg0->unk348, 0);
|
||||
}
|
||||
var_v1 = arg0->unk384;
|
||||
if (var_v1[1] == 0.0) {
|
||||
temp = D_global_asm_8075EA58;
|
||||
var_v1[0] = var_v1[0] + 30.0;
|
||||
var_v1[0] += 30.0;
|
||||
if (temp < var_v1[0]) {
|
||||
var_v1[0] = 300.0f;
|
||||
var_v1[1] = 1.0f;
|
||||
|
@ -101,13 +101,13 @@ int func_global_asm_806FF75C(); // TODO: Signature
|
||||
f32 func_global_asm_806CD898(f32 currentSpeed, f32 desiredSpeed, f32 boostAmount); // boostSpeed
|
||||
|
||||
s32 handleInputsForControlState(s32 arg0);
|
||||
u8 func_global_asm_806CDD24(Actor *arg0, f32 arg1, f32 arg2, s32 arg3);
|
||||
s32 func_global_asm_806CDD24(Actor *arg0, f32 arg1, f32 arg2, s32 arg3);
|
||||
void func_global_asm_806D0468(Actor *arg0, u8 arg1);
|
||||
void func_global_asm_806CD424(s16, f32, f32); // TODO: Is this signature correct?
|
||||
void func_global_asm_80718BF4(void);
|
||||
void func_global_asm_806CEFBC(Struct806CEFBC*); // TODO: Proper signature, just for function pointer
|
||||
void func_global_asm_806CF138(Struct806CF138 *arg0);
|
||||
s32 func_global_asm_806CD9A0(Actor*, f32, f32, s16, s16);
|
||||
s16 func_global_asm_806CD9A0(Actor*, f32, f32, s16, s16);
|
||||
void func_global_asm_80613A50(Actor*, s32);
|
||||
|
||||
void func_global_asm_806C9DE0(void) {
|
||||
@ -876,8 +876,124 @@ s16 func_global_asm_806CD988(Actor *arg0) {
|
||||
// Jumptable
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_CEAE0/func_global_asm_806CD9A0.s")
|
||||
|
||||
// Jumptable
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_CEAE0/func_global_asm_806CDD24.s")
|
||||
s32 func_global_asm_806CDD24(Actor *arg0, f32 arg1, f32 arg2, s32 arg3) {
|
||||
s16 var_v1;
|
||||
u8 pad[4];
|
||||
s16 sp2E;
|
||||
s16 sp2C;
|
||||
f32 var_f0;
|
||||
|
||||
var_v1 = arg0->control_state;
|
||||
sp2E = extra_player_info_pointer->unk4C;
|
||||
sp2C = func_global_asm_806CD9A0(arg0, arg1, arg2, extra_player_info_pointer->unk4C, D_global_asm_807FD584);
|
||||
if (sp2C != 6) {
|
||||
arg0->y_velocity = 0.0f;
|
||||
}
|
||||
if (sp2E < 0) {
|
||||
func_global_asm_806D03BC();
|
||||
}
|
||||
if (sp2E != sp2C) {
|
||||
switch (sp2C) {
|
||||
case 0:
|
||||
if (extra_player_info_pointer->unk1F0 & 0x100) {
|
||||
playActorAnimation(arg0, 0x1AD);
|
||||
} else {
|
||||
playAnimation(arg0, 9);
|
||||
}
|
||||
func_global_asm_80614D00(arg0, 1.0f, 0.0f);
|
||||
var_v1 = 0xC;
|
||||
break;
|
||||
case 1:
|
||||
if (extra_player_info_pointer->unk1F0 & 0x100) {
|
||||
playActorAnimation(arg0, 0x1AD);
|
||||
} else {
|
||||
playActorAnimation(arg0, 0x13);
|
||||
}
|
||||
func_global_asm_80614D00(arg0, 1.0f, 0.0f);
|
||||
var_v1 = 0xC;
|
||||
break;
|
||||
case 2:
|
||||
playAnimation(arg0, 0x87);
|
||||
func_global_asm_80614D00(arg0, 1.0f, 0.0f);
|
||||
var_v1 = 0xC;
|
||||
break;
|
||||
case 3:
|
||||
if (extra_player_info_pointer->unk1F0 & 0x100) {
|
||||
playActorAnimation(arg0, 0x76);
|
||||
func_global_asm_80613C48(arg0, 0x2AC, 0.0f, 6.0f);
|
||||
} else {
|
||||
func_global_asm_80613AF8(arg0, 2, 0.0f, 6.0f);
|
||||
playAnimation(arg0, 1);
|
||||
}
|
||||
switch (sp2E) {
|
||||
case 4:
|
||||
case 5:
|
||||
func_global_asm_80613A50(arg0, 2);
|
||||
break;
|
||||
}
|
||||
var_v1 = 0xD;
|
||||
break;
|
||||
case 4:
|
||||
playAnimation(arg0, 2);
|
||||
func_global_asm_80613AF8(arg0, 3, 0.0f, 6.0f);
|
||||
if (sp2E == 3) {
|
||||
switch (current_character_index[cc_player_index]) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
func_global_asm_80613A50(arg0, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (sp2E == 5) {
|
||||
func_global_asm_80613A50(arg0, 2);
|
||||
}
|
||||
var_v1 = 0xD;
|
||||
break;
|
||||
case 5:
|
||||
playAnimation(arg0, 3);
|
||||
func_global_asm_80613AF8(arg0, 4, 0.0f, 6.0f);
|
||||
if ((sp2E == 3) || (sp2E == 4)) {
|
||||
func_global_asm_80613A50(arg0, 4);
|
||||
}
|
||||
var_v1 = 0xD;
|
||||
break;
|
||||
case 6:
|
||||
playAnimation(arg0, 0x1B);
|
||||
func_global_asm_80614D90(arg0);
|
||||
var_v1 = 0x1E;
|
||||
current_actor_pointer->unk9C = current_actor_pointer->y_position;
|
||||
break;
|
||||
}
|
||||
extra_player_info_pointer->unk4C = sp2C;
|
||||
}
|
||||
if (extra_player_info_pointer->unk4C >= 3) {
|
||||
if (extra_player_info_pointer->unk26 == 0x64) {
|
||||
var_f0 = arg0->unkB8;
|
||||
} else {
|
||||
var_f0 = extra_player_info_pointer->unk4;
|
||||
}
|
||||
var_f0 *= 0.025;
|
||||
if (extra_player_info_pointer->unk4C == 5) {
|
||||
var_f0 *= 0.6;
|
||||
}
|
||||
if (var_f0 > 1.25f) {
|
||||
var_f0 = var_f0 - ((var_f0 - 1.25f) * 0.4);
|
||||
}
|
||||
if (arg0->animation_state->unk0->unk24 != 0.0f) {
|
||||
if (extra_player_info_pointer->unk26 == 0x64) {
|
||||
func_global_asm_80614D00(arg0, var_f0, 2.0f);
|
||||
} else {
|
||||
if (var_f0 < 0.5) {
|
||||
var_f0 = 0.5f;
|
||||
}
|
||||
func_global_asm_80614D00(arg0, var_f0, 10.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
u32 func_global_asm_806CE174(Actor *actor, f32 arg1, f32 arg2, s32 arg3) {
|
||||
s16 sp36;
|
||||
|
@ -19,6 +19,8 @@ extern Struct807FD740 D_global_asm_807FD740[];
|
||||
extern s32 D_global_asm_807FD780[];
|
||||
|
||||
void func_global_asm_806F5270(void);
|
||||
void func_global_asm_806F54E0(u8, s32, u8);
|
||||
void func_global_asm_806A5DF0(s16, f32, f32, f32, s32, s32, s32, s32);
|
||||
|
||||
void func_global_asm_806F4750(void) {
|
||||
func_global_asm_806F5270();
|
||||
@ -210,8 +212,6 @@ struct globalASMStruct36 {
|
||||
extern GlobalASMStruct36 *D_global_asm_807FD730;
|
||||
extern u8 D_global_asm_807FD738;
|
||||
|
||||
void func_global_asm_806F54E0(u8, s32, u8);
|
||||
|
||||
void func_global_asm_806F5378(void) {
|
||||
GlobalASMStruct36 *next;
|
||||
GlobalASMStruct36 *current;
|
||||
@ -279,15 +279,109 @@ void func_global_asm_806F5498(void) {
|
||||
}
|
||||
}
|
||||
|
||||
// Jumptable
|
||||
// Jumptable, very close
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_F9450/func_global_asm_806F54E0.s")
|
||||
|
||||
void func_menu_80029EF8(Actor *arg0, s32 arg1);
|
||||
|
||||
/*
|
||||
void func_global_asm_806F54E0(u8 playerIndex, s32 actorBehaviourIndex, u8 arg2) {
|
||||
CharacterProgress *temp_v0_2;
|
||||
s32 sp28;
|
||||
u8 sp27;
|
||||
PlayerProgress *temp_v1;
|
||||
s8 *temp_v0;
|
||||
s32 i;
|
||||
|
||||
sp27 = 0;
|
||||
// Self modifying code
|
||||
if (D_global_asm_807FBB64 & 0x10000000) {
|
||||
if (actorBehaviourIndex != 0x56) {
|
||||
temp_v0 = ((s32*)&func_menu_80029EF8) + 0xA8;
|
||||
*temp_v0 -= 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (current_map != MAP_SNIDES_HQ) {
|
||||
sp28 = func_global_asm_806F544C(D_global_asm_80753EFC[func_global_asm_806F4E74(actorBehaviourIndex) - 2].unkC, actorBehaviourIndex, arg2);
|
||||
switch (actorBehaviourIndex) {
|
||||
case 0xDD:
|
||||
case 0xDE:
|
||||
case 0xDF:
|
||||
case 0xE0:
|
||||
case 0xE1:
|
||||
setFlag(func_global_asm_807319D8(0x1D5, getLevelIndex(D_global_asm_8076A0AB, 1), current_character_index[playerIndex]), 1, 0);
|
||||
// fallthrough
|
||||
case 0x74:
|
||||
case 0x288:
|
||||
changeCollectableCount(sp28, playerIndex, 1);
|
||||
sp27 = 1;
|
||||
break;
|
||||
case 0x91:
|
||||
case 0x15D:
|
||||
case 0x15E:
|
||||
case 0x15F:
|
||||
case 0x160:
|
||||
if (cc_number_of_players == 1) {
|
||||
playSound(0x331, 0x7FFF, 63.0f, 1.0f, 5, 0);
|
||||
}
|
||||
// fallthrough
|
||||
case 0xA:
|
||||
case 0xD:
|
||||
case 0x16:
|
||||
case 0x1E:
|
||||
case 0x1F:
|
||||
setFlag(0x18B, TRUE, FLAG_TYPE_PERMANENT);
|
||||
changeCollectableCount(sp28, playerIndex, 1);
|
||||
break;
|
||||
case 0x1C:
|
||||
case 0x1D:
|
||||
case 0x23:
|
||||
case 0x24:
|
||||
case 0x27:
|
||||
setFlag(0x18C, TRUE, FLAG_TYPE_PERMANENT);
|
||||
// fallthrough
|
||||
case 0x98:
|
||||
case 0xEC:
|
||||
case 0x1D2:
|
||||
changeCollectableCount(sp28, playerIndex, 1);
|
||||
break;
|
||||
case 0x56:
|
||||
setFlag(0x173, 1, 0);
|
||||
changeCollectableCount(sp28, playerIndex, 1);
|
||||
break;
|
||||
case 0xB7:
|
||||
for (i = 0; i < 5; i++) {
|
||||
D_global_asm_807FC950[playerIndex].character_progress[i].coins += 5;
|
||||
}
|
||||
func_global_asm_806F5498();
|
||||
break;
|
||||
case 0x8E:
|
||||
changeCollectableCount(sp28, playerIndex, 0x96);
|
||||
break;
|
||||
case 0x57:
|
||||
func_global_asm_806C9974(playerIndex, 1);
|
||||
break;
|
||||
case 0x13C:
|
||||
sp27 = 1;
|
||||
break;
|
||||
case 0x18D:
|
||||
sp27 = 1;
|
||||
break;
|
||||
}
|
||||
if (sp27 != 0) {
|
||||
func_global_asm_8060DEC8();
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
void func_global_asm_806F58A0(u8 arg0, s16 arg1, Actor *arg2) {
|
||||
s32 var_s0;
|
||||
s32 i;
|
||||
f32 sp7C;
|
||||
f32 sp78;
|
||||
f32 sp74;
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
f32 sp70;
|
||||
f32 sp6C;
|
||||
f32 sp68;
|
||||
@ -296,7 +390,7 @@ void func_global_asm_806F58A0(u8 arg0, s16 arg1, Actor *arg2) {
|
||||
s16 var_s2;
|
||||
|
||||
if (cc_number_of_players == 1) {
|
||||
func_global_asm_806357F8(arg1, &sp7C, &sp78, &sp74, &sp70, &sp6C, &sp68, &sp64, &sp60, 1);
|
||||
func_global_asm_806357F8(arg1, &x, &y, &z, &sp70, &sp6C, &sp68, &sp64, &sp60, 1);
|
||||
}
|
||||
|
||||
switch (arg2->unk58) {
|
||||
@ -325,7 +419,7 @@ void func_global_asm_806F58A0(u8 arg0, s16 arg1, Actor *arg2) {
|
||||
var_s0 = 0;
|
||||
for (i = 0; i != 5; i++) {
|
||||
if (cc_number_of_players == 1) {
|
||||
func_global_asm_806F50C8(func_global_asm_80632630(var_s2, sp7C, sp78, sp74, 0.0f, 0), var_s2, var_s0, 1, 0, 1);
|
||||
func_global_asm_806F50C8(func_global_asm_80632630(var_s2, x, y, z, 0.0f, 0), var_s2, var_s0, 1, 0, 1);
|
||||
} else {
|
||||
func_global_asm_806F54E0(arg0, var_s2, 0);
|
||||
}
|
||||
@ -335,9 +429,9 @@ void func_global_asm_806F58A0(u8 arg0, s16 arg1, Actor *arg2) {
|
||||
|
||||
void func_global_asm_806F5A48(u8 arg0, s16 arg1, Actor *arg2, u16 arg3) {
|
||||
s32 i;
|
||||
f32 sp90;
|
||||
f32 sp8C;
|
||||
f32 sp88;
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
f32 sp84;
|
||||
f32 sp80;
|
||||
f32 sp7C;
|
||||
@ -347,7 +441,7 @@ void func_global_asm_806F5A48(u8 arg0, s16 arg1, Actor *arg2, u16 arg3) {
|
||||
s16 var_s2;
|
||||
|
||||
if (cc_number_of_players == 1) {
|
||||
func_global_asm_806357F8(arg1, &sp90, &sp8C, &sp88, &sp84, &sp80, &sp7C, &sp78, &sp74, 1);
|
||||
func_global_asm_806357F8(arg1, &x, &y, &z, &sp84, &sp80, &sp7C, &sp78, &sp74, 1);
|
||||
}
|
||||
switch (arg2->unk58) {
|
||||
case 3:
|
||||
@ -373,7 +467,7 @@ void func_global_asm_806F5A48(u8 arg0, s16 arg1, Actor *arg2, u16 arg3) {
|
||||
var_s0 = 0;
|
||||
for (i = 0; i != 5; i++) {
|
||||
if (cc_number_of_players == 1) {
|
||||
func_global_asm_806F50C8(func_global_asm_80632630(var_s2, sp90, sp8C, sp88, 0.0f, 0), var_s2, var_s0, 1, (u8)(arg3 == 0x11 ? 1 : 0), 1);
|
||||
func_global_asm_806F50C8(func_global_asm_80632630(var_s2, x, y, z, 0.0f, 0), var_s2, var_s0, 1, (u8)(arg3 == 0x11 ? 1 : 0), 1);
|
||||
} else {
|
||||
func_global_asm_806F54E0(arg0, var_s2, (u8)(arg3 == 0x11 ? 1 : 0));
|
||||
}
|
||||
@ -473,9 +567,6 @@ void func_global_asm_806F5FE8(s32 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4)
|
||||
}
|
||||
}
|
||||
|
||||
void func_global_asm_80686E40(f32, f32, f32, s32);
|
||||
void func_global_asm_806A5DF0(s16, f32, f32, f32, s32, s32, s32, s32);
|
||||
|
||||
void func_global_asm_806F603C(void) {
|
||||
s32 i;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user