mirror of
https://gitlab.com/dk64_decomp/dk64.git
synced 2024-11-23 07:01:58 +00:00
22.7029%
This commit is contained in:
parent
0f90cf30ad
commit
22e735d8d5
@ -35,6 +35,8 @@ void func_80629174(void);
|
||||
|
||||
void func_80729B00(void);
|
||||
|
||||
void func_80665564(Actor *arg0, f32 arg1);
|
||||
|
||||
s16 func_80665DE0(f32, f32, f32, f32);
|
||||
|
||||
// TODO: Figure out why adding this here causes func_806CF42C to not match
|
||||
|
@ -1127,7 +1127,7 @@ struct actor {
|
||||
u16 unk68;
|
||||
u16 unk6A; // is_grounded?
|
||||
u16 unk6C;
|
||||
s16 unk6E;
|
||||
s16 unk6E[1]; // TODO: How many elements?
|
||||
s16 unk70;
|
||||
u16 unk72;
|
||||
f32 unk74;
|
||||
|
@ -73,7 +73,7 @@ us,.code,func_8063D1D8,176,yes
|
||||
us,.code,func_8063D494,16,yes
|
||||
us,.code,func_8063BBB0,784,no
|
||||
us,.code,func_80650BBC,108,yes
|
||||
us,.code,func_80605314,108,no
|
||||
us,.code,func_80605314,108,yes
|
||||
us,.code,func_806C1CCC,376,yes
|
||||
us,.code,func_8062D2AC,68,yes
|
||||
us,.code,func_80662110,72,yes
|
||||
@ -2111,7 +2111,7 @@ us,.code,func_80726E60,128,yes
|
||||
us,.code,func_80737CF4,312,yes
|
||||
us,.code,func_806E709C,404,yes
|
||||
us,.code,setFlag,288,yes
|
||||
us,.code,func_80600C68,232,no
|
||||
us,.code,func_80600C68,228,yes
|
||||
us,.code,func_806EAC8C,48,yes
|
||||
us,.code,func_80691930,176,yes
|
||||
us,.code,func_80644EC8,504,no
|
||||
@ -2757,7 +2757,7 @@ us,.code,func_807007B8,572,no
|
||||
us,.code,func_80678B04,184,yes
|
||||
us,.code,func_80627C5C,588,no
|
||||
us,.code,func_8066EC6C,484,no
|
||||
us,.code,func_806085DC,144,no
|
||||
us,.code,func_806085DC,144,yes
|
||||
us,.code,func_806011E4,64,yes
|
||||
us,.code,func_806D37CC,224,yes
|
||||
us,.code,func_80631F58,84,no
|
||||
@ -2928,7 +2928,7 @@ us,.code,func_806761D0,28,yes
|
||||
us,.code,func_806E9804,112,yes
|
||||
us,.code,func_806D5B44,392,yes
|
||||
us,.code,func_8060A500,268,no
|
||||
us,.code,func_80600B10,172,no
|
||||
us,.code,func_80600B10,172,yes
|
||||
us,.code,func_80634E10,148,yes
|
||||
us,.code,func_806C7228,8,yes
|
||||
us,.code,func_80645D14,556,no
|
||||
@ -2947,7 +2947,7 @@ us,.code,func_8066E990,92,yes
|
||||
us,.code,func_806A2B80,16,yes
|
||||
us,.code,func_8062C1C0,108,yes
|
||||
us,.code,func_8070F2FC,628,no
|
||||
us,.code,func_80600BBC,172,no
|
||||
us,.code,func_80600BBC,172,yes
|
||||
us,.code,func_806D8070,56,yes
|
||||
us,.code,func_80671D64,156,no
|
||||
us,.code,func_80737E90,20,yes
|
||||
|
|
@ -73,7 +73,7 @@ us,.code,func_8063D1D8,176,yes
|
||||
us,.code,func_8063D494,16,yes
|
||||
us,.code,func_8063BBB0,784,no
|
||||
us,.code,func_80650BBC,108,yes
|
||||
us,.code,func_80605314,108,no
|
||||
us,.code,func_80605314,108,yes
|
||||
us,.code,func_806C1CCC,376,yes
|
||||
us,.code,func_8062D2AC,68,yes
|
||||
us,.code,func_80662110,72,yes
|
||||
@ -2111,7 +2111,7 @@ us,.code,func_80726E60,128,yes
|
||||
us,.code,func_80737CF4,312,yes
|
||||
us,.code,func_806E709C,404,yes
|
||||
us,.code,setFlag,288,yes
|
||||
us,.code,func_80600C68,232,no
|
||||
us,.code,func_80600C68,228,yes
|
||||
us,.code,func_806EAC8C,48,yes
|
||||
us,.code,func_80691930,176,yes
|
||||
us,.code,func_80644EC8,504,no
|
||||
@ -2757,7 +2757,7 @@ us,.code,func_807007B8,572,no
|
||||
us,.code,func_80678B04,184,yes
|
||||
us,.code,func_80627C5C,588,no
|
||||
us,.code,func_8066EC6C,484,no
|
||||
us,.code,func_806085DC,144,no
|
||||
us,.code,func_806085DC,144,yes
|
||||
us,.code,func_806011E4,64,yes
|
||||
us,.code,func_806D37CC,224,yes
|
||||
us,.code,func_80631F58,84,no
|
||||
@ -2928,7 +2928,7 @@ us,.code,func_806761D0,28,yes
|
||||
us,.code,func_806E9804,112,yes
|
||||
us,.code,func_806D5B44,392,yes
|
||||
us,.code,func_8060A500,268,no
|
||||
us,.code,func_80600B10,172,no
|
||||
us,.code,func_80600B10,172,yes
|
||||
us,.code,func_80634E10,148,yes
|
||||
us,.code,func_806C7228,8,yes
|
||||
us,.code,func_80645D14,556,no
|
||||
@ -2947,7 +2947,7 @@ us,.code,func_8066E990,92,yes
|
||||
us,.code,func_806A2B80,16,yes
|
||||
us,.code,func_8062C1C0,108,yes
|
||||
us,.code,func_8070F2FC,628,no
|
||||
us,.code,func_80600BBC,172,no
|
||||
us,.code,func_80600BBC,172,yes
|
||||
us,.code,func_806D8070,56,yes
|
||||
us,.code,func_80671D64,156,no
|
||||
us,.code,func_80737E90,20,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">23.1492%</text>
|
||||
<text x="110.5" y="14">23.1492%</text>
|
||||
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">23.2164%</text>
|
||||
<text x="110.5" y="14">23.2164%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@ -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">22.6526%</text>
|
||||
<text x="165.5" y="14">22.6526%</text>
|
||||
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">22.7029%</text>
|
||||
<text x="165.5" y="14">22.7029%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -506,9 +506,114 @@ void func_80028648(ARG0_80028648 *arg0) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/bonus/code_2690/func_8002881C.s")
|
||||
|
||||
// Doable, aaD
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/bonus/code_2690/func_80028E3C.s")
|
||||
|
||||
extern s16 D_8002D8C0[];
|
||||
|
||||
extern f64 D_8002DD98;
|
||||
extern f32 D_8002DDA0;
|
||||
extern f32 D_8002DDA4;
|
||||
extern f32 D_8002DDA8;
|
||||
|
||||
typedef struct {
|
||||
Actor *unk0;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
s32 unk8;
|
||||
f32 unkC;
|
||||
} AAD_80028E3C;
|
||||
|
||||
typedef struct {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
f32 unkC;
|
||||
s8 unk10;
|
||||
} AAD_80028E3C_2;
|
||||
|
||||
void func_80608528(Actor*, s16, u8, s32, s32);
|
||||
|
||||
/*
|
||||
// TODO: Very close
|
||||
void func_80028E3C(void) {
|
||||
AAD_80028E3C *aaD;
|
||||
AAD_80028E3C_2 *aaD2;
|
||||
f32 temp_f2;
|
||||
f64 temp_f0;
|
||||
f32 var_f0_2;
|
||||
f32 var_f2;
|
||||
s16 var_a3;
|
||||
s32 var_a0;
|
||||
|
||||
aaD = current_actor_pointer->additional_actor_data;
|
||||
aaD2 = aaD->unk0->additional_actor_data;
|
||||
if (!(current_actor_pointer->object_properties_bitfield & 0x10)) {
|
||||
current_actor_pointer->y_rotation = (rand() >> 0xF) % 4096;
|
||||
current_actor_pointer->y_acceleration = -10.0f;
|
||||
current_actor_pointer->unk6A &= 0xFFFE;
|
||||
func_80613C48(current_actor_pointer, 0x688, 0.0f, 0.0f);
|
||||
func_80614D00(current_actor_pointer, 1.0f, 0.0f);
|
||||
}
|
||||
if (aaD2->unk10 == -1) {
|
||||
if (aaD->unk4 == 0) {
|
||||
if (aaD2->unkC < 220.0f) {
|
||||
if (aaD->unk5 == 0) {
|
||||
var_a0 = 0x7F;
|
||||
aaD->unk5 = 1;
|
||||
var_a3 = aaD->unk6 % 3;
|
||||
if ((aaD->unk6 / 3) != 0) {
|
||||
var_a3 = 2 - var_a3;
|
||||
var_a0 = 0x64;
|
||||
}
|
||||
func_806086CC(current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position, D_8002D8C0[var_a3], 0xFF, var_a0, 0, 0, 0.0f, 0);
|
||||
}
|
||||
if (aaD2->unkC < 40.0f) {
|
||||
aaD->unk4 = 1;
|
||||
func_806086CC(current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position, 0x1ED, 0xFF, 0x7F, 0, 0, 0.0f, 0);
|
||||
func_80608528(current_actor_pointer, 0x76, 0xFF, 0x7F, 0x1E);
|
||||
current_actor_pointer->unkEE = current_actor_pointer->y_rotation;
|
||||
current_actor_pointer->unkB8 = 10.0f;
|
||||
func_80614EBC(aaD->unk0, 0x1F7);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (aaD->unk4 == 0) {
|
||||
func_80671C0C(aaD->unk0, 1, ¤t_actor_pointer->x_position, ¤t_actor_pointer->y_position, ¤t_actor_pointer->z_position);
|
||||
} else {
|
||||
if (current_actor_pointer->unk6A & 1) {
|
||||
if (!(current_actor_pointer->unk6C & 1)) {
|
||||
f64 temp = D_8002DD98;
|
||||
current_actor_pointer->y_velocity = aaD->unkC * D_8002DDA0;
|
||||
func_80608528(current_actor_pointer, 0xFF, (u32)MAX(temp, -aaD->unkC * 1.5), 0x7F, 0xA);
|
||||
}
|
||||
}
|
||||
current_actor_pointer->y_velocity += current_actor_pointer->y_acceleration;
|
||||
aaD->unkC = current_actor_pointer->y_velocity;
|
||||
func_8067ACB4(current_actor_pointer);
|
||||
func_806651FC(current_actor_pointer);
|
||||
func_80665564(current_actor_pointer, 0);
|
||||
}
|
||||
current_actor_pointer->y_rotation = current_actor_pointer->y_rotation + aaD2->unkC;
|
||||
if (current_actor_pointer->y_rotation >= 0x1000) {
|
||||
current_actor_pointer->y_rotation = current_actor_pointer->y_rotation - 0x1000;
|
||||
}
|
||||
temp_f2 = D_8002DDA4 / aaD2->unkC;
|
||||
current_actor_pointer->x_rotation = func_80612794(current_actor_pointer->y_rotation) * -temp_f2;
|
||||
current_actor_pointer->z_rotation = func_80612790(current_actor_pointer->y_rotation) * temp_f2;
|
||||
temp_f2 = temp_f2 * D_8002DDA8;
|
||||
if (temp_f2 < 1) {
|
||||
var_f2 = 1;
|
||||
} else {
|
||||
var_f2 = MIN(2.5f, temp_f2);
|
||||
}
|
||||
func_80614D00(current_actor_pointer, var_f2, 0.0f);
|
||||
func_806319C4(current_actor_pointer, 0);
|
||||
}
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/bonus/code_2690/func_80029364.s")
|
||||
|
||||
// Displaylist stuff
|
||||
@ -805,8 +910,7 @@ typedef struct {
|
||||
} AAD_8002C8EC_2;
|
||||
|
||||
void func_8002C8EC(void) {
|
||||
s32 twemp;
|
||||
s32 twees[2];
|
||||
s32 pad[3];
|
||||
f32 sp40;
|
||||
f32 sp3C;
|
||||
f32 sp38;
|
||||
|
@ -1,11 +1,20 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
|
||||
typedef struct {
|
||||
s32 unk0; // *next?
|
||||
s32 (*unk4)(s32 a, s32 b, s32 c);
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
s32 unk14;
|
||||
} Struct807452A0;
|
||||
|
||||
extern s32 D_807452A0;
|
||||
extern Struct807452A0 *D_807452A0;
|
||||
extern u32 D_8076A068;
|
||||
|
||||
void func_80600950(void) {
|
||||
D_807452A0 = 0;
|
||||
D_807452A0 = NULL;
|
||||
}
|
||||
|
||||
s32 func_8060095C(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
@ -17,11 +26,71 @@ s32 func_8060095C(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
// malloc, small struct?
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5650/func_8060098C.s")
|
||||
|
||||
// small struct
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5650/func_80600B10.s")
|
||||
void func_8061130C(void *);
|
||||
|
||||
// similar to above
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5650/func_80600BBC.s")
|
||||
void func_80600B10(void) {
|
||||
s32 var_s1;
|
||||
Struct807452A0 *var_s0;
|
||||
|
||||
// similar to above
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_5650/func_80600C68.s")
|
||||
var_s0 = D_807452A0;
|
||||
var_s1 = 0;
|
||||
while (var_s0 != NULL && !var_s1) {
|
||||
if (D_8076A068 >= (var_s0->unk8 & 0x7FFFFFFF)) {
|
||||
var_s0->unk4(var_s0->unkC, var_s0->unk10, var_s0->unk14);
|
||||
func_8061130C(var_s0);
|
||||
var_s0 = var_s0->unk0;
|
||||
} else {
|
||||
var_s1 = 1;
|
||||
}
|
||||
}
|
||||
D_807452A0 = var_s0;
|
||||
}
|
||||
|
||||
void func_80600BBC(void *arg0) {
|
||||
Struct807452A0 *var_s0;
|
||||
Struct807452A0 *var_s1;
|
||||
|
||||
var_s0 = D_807452A0;
|
||||
var_s1 = NULL;
|
||||
while (var_s0 != NULL) {
|
||||
if (arg0 == var_s0->unk4 || (arg0 == 0 && var_s0->unk8 & 0x80000000)) {
|
||||
func_8061130C(var_s0);
|
||||
var_s0 = var_s0->unk0;
|
||||
if (var_s1 != NULL) {
|
||||
var_s1->unk0 = var_s0;
|
||||
} else {
|
||||
D_807452A0 = var_s0;
|
||||
}
|
||||
} else {
|
||||
var_s1 = var_s0;
|
||||
var_s0 = var_s0->unk0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80600C68(void) {
|
||||
Struct807452A0 *var_s0;
|
||||
Struct807452A0 *var_s1;
|
||||
s32 var_s2;
|
||||
|
||||
var_s0 = D_807452A0;
|
||||
var_s1 = NULL;
|
||||
var_s2 = FALSE;
|
||||
while (var_s0 != NULL && !var_s2) {
|
||||
if ((var_s0->unk8 & 0x7FFFFFFF) < D_8076A068) {
|
||||
if (var_s0->unk8 & 0x80000000) {
|
||||
if (var_s1 != NULL) {
|
||||
var_s1->unk0 = var_s0->unk0;
|
||||
} else {
|
||||
D_807452A0 = var_s0->unk0;
|
||||
}
|
||||
func_8061130C(var_s0);
|
||||
} else {
|
||||
var_s1 = var_s0;
|
||||
}
|
||||
var_s0 = var_s0->unk0;
|
||||
} else {
|
||||
var_s2 = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -212,22 +212,17 @@ void func_80604C80(u8 arg0, u8 arg1) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_6710/func_80605044.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_6710/func_80605314.s")
|
||||
|
||||
void func_80605380(s16);
|
||||
|
||||
/*
|
||||
// TODO: Very close
|
||||
void func_80605314(Actor *arg0, u8 arg1) {
|
||||
if (arg0[arg1].unk6E >= 0) {
|
||||
func_80605380(arg0[arg1].unk6E);
|
||||
arg0[arg1].unk6E = -1;
|
||||
if (arg0->unk6E[arg1] >= 0) {
|
||||
func_80605380(arg0->unk6E[arg1]);
|
||||
arg0->unk6E[arg1] = -1;
|
||||
if (arg1 == 0) {
|
||||
arg0->unk72 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_6710/func_80605380.s")
|
||||
|
||||
@ -248,7 +243,9 @@ void func_80608528(Actor *arg0, s16 arg1, u8 arg2, s16 arg3, u8 arg4) {
|
||||
func_806086CC(arg0->x_position, arg0->y_position, arg0->z_position, arg1, arg2, arg3, arg4, 0x4B, D_80756DFC, var_v0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_6710/func_806085DC.s")
|
||||
void func_806085DC(s16 arg0, s16 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5, f32 arg6) {
|
||||
func_806086CC(D_807F6000[arg0].x_position, D_807F6000[arg0].y_position, D_807F6000[arg0].z_position, arg1, arg2, arg3, arg4, arg5, arg6, 0);
|
||||
}
|
||||
|
||||
void func_8060956C(f32, f32, f32, s16, s32, f32, s32, s32);
|
||||
|
||||
@ -277,6 +274,33 @@ void func_8060A4D0(s32 arg0, f32 arg1) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_6710/func_8060A500.s")
|
||||
|
||||
extern f64 D_80756FF0;
|
||||
extern f64 D_80756FF8;
|
||||
|
||||
/*
|
||||
// TODO: probably needs rodata
|
||||
void func_8060A500(void) {
|
||||
f32 var_f12;
|
||||
f64 temp_f20;
|
||||
f64 temp_f22;
|
||||
s8 i;
|
||||
|
||||
temp_f22 = D_80756FF0;
|
||||
temp_f20 = D_80756FF8;
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (D_80770598[i] != 0) {
|
||||
D_80770568[D_80770598[i]] = D_80770568[D_80770598[i]] + ((D_80770578[i] - D_80770568[D_80770598[i]]) * temp_f20);
|
||||
var_f12 = ABS(D_80770578[i] - D_80770568[D_80770598[i]]);
|
||||
if (var_f12 < temp_f22) {
|
||||
D_80770568[D_80770598[i]] = D_80770578[i];
|
||||
D_80770598[i] = 0;
|
||||
}
|
||||
func_8060A398(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
void func_8060A60C(s32 arg0, f32 arg1) {
|
||||
D_80770578[arg0] = arg1;
|
||||
D_80770598[arg0] = 1;
|
||||
|
@ -247,7 +247,7 @@ s32 func_80678050(u16 arg0) {
|
||||
newActor->unk114 = NULL;
|
||||
newActor->unk118 = 0;
|
||||
newActor->unk11C = NULL;
|
||||
newActor->unk6E = -1;
|
||||
newActor->unk6E[0] = -1;
|
||||
newActor->unk70 = -1;
|
||||
newActor->unk150 = NULL;
|
||||
newActor->unk12C = -1;
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
void func_806319C4(Actor*, s32);
|
||||
void func_8065D254(Actor*, s32, s32, s32, s32, s32, s32, s32, s32, s32, f32);
|
||||
void func_80665564(Actor*, f32);
|
||||
void func_80683AD8();
|
||||
|
||||
extern f64 D_80759560;
|
||||
@ -85,7 +84,6 @@ void func_8067BD28(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_80665564(Actor*, f32);
|
||||
u8 func_8067BF84(s16 arg0, u8 *arg1, u8 *arg2, u8 *arg3);
|
||||
|
||||
void func_8067BDB8(void) {
|
||||
|
@ -99,7 +99,6 @@ void func_80697988(void) {
|
||||
|
||||
void func_8065D254(Actor *, s32, s32, s32, s32, s32, s32, s32, s32, s32, f32);
|
||||
void func_806651FC(Actor *);
|
||||
void func_80665564(Actor *, f32);
|
||||
void func_8066E8E4(Actor *, f32, f32, f32, f32, s32);
|
||||
extern s32 D_8071ABDC; // TODO: Datatype
|
||||
extern s32 D_8071FBA0; // TODO: Datatype
|
||||
@ -139,7 +138,7 @@ void func_80697CEC(void) {
|
||||
aaD = current_actor_pointer->additional_actor_data;
|
||||
if (!(current_actor_pointer->object_properties_bitfield & 0x10)) {
|
||||
sp68 = D_807502C0;
|
||||
current_actor_pointer->unk6E = -2;
|
||||
current_actor_pointer->unk6E[0] = -2;
|
||||
current_actor_pointer->unk6A &= ~1;
|
||||
current_actor_pointer->unkEE = (current_actor_pointer->unk124->unk0 / D_8075A220) * D_8075A224;
|
||||
current_actor_pointer->unkB8 = current_actor_pointer->unk124->unk4;
|
||||
|
@ -439,8 +439,6 @@ typedef struct {
|
||||
s32 unk4;
|
||||
} AAD_806A018C;
|
||||
|
||||
void func_80665564(Actor*, f32);
|
||||
|
||||
void func_806A018C(void) {
|
||||
AAD_806A018C *temp_s1;
|
||||
|
||||
|
@ -30,7 +30,6 @@ extern f32 D_8075AA70;
|
||||
extern f32 D_8075AA74;
|
||||
|
||||
void func_80686A5C(Actor *arg0, f32 arg1, f32 arg2, s32 arg3);
|
||||
void func_80665564(Actor *arg0, f32 arg1);
|
||||
void func_806A6DB4(s32 arg0);
|
||||
void func_8065D254(Actor *actor, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, f32 arg10);
|
||||
void func_80686CF8(Actor *actor);
|
||||
|
@ -6,7 +6,6 @@ extern f32 D_8075AE20;
|
||||
extern f64 D_8075AE28;
|
||||
extern s32 D_8071FBC8;
|
||||
|
||||
void func_80665564(Actor*, f32);
|
||||
void func_8065D254(Actor*, s32, s32, s32, s32, s32, s32, s32, s32, s32, f32);
|
||||
void func_80612BC0(f32*, f32);
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
extern s32 D_8072030C;
|
||||
extern f64 D_8075B3C0;
|
||||
|
||||
void func_80665564(Actor*, f32);
|
||||
void func_806319C4(Actor*, s32);
|
||||
|
||||
/*
|
||||
|
@ -15,7 +15,6 @@ void func_80690A28(u8, s32, f32, f32, f32, f32, f32, Actor*);
|
||||
s32 func_80726164(Actor*, s16, s16, s16, void*);
|
||||
void func_806B3E7C();
|
||||
void func_806653C0(Actor*, f32, f32);
|
||||
void func_80665564(Actor*, f32);
|
||||
void func_807248B0(Actor*, f32);
|
||||
|
||||
// Jumptable
|
||||
@ -655,7 +654,7 @@ void func_806B54BC(void) {
|
||||
temp_s1->unkC = current_actor_pointer->y_position;
|
||||
temp_s1->unk12 = (func_806119A0() & 0xFF) + 0x78;
|
||||
}
|
||||
if ((current_actor_pointer->control_state != 0x37) && (current_actor_pointer->unk6E == -1)) {
|
||||
if ((current_actor_pointer->control_state != 0x37) && (current_actor_pointer->unk6E[0] == -1)) {
|
||||
func_80604CBC(current_actor_pointer, 0x10E, 0, 0, 0, 0xFF, 1.0f, 0);
|
||||
}
|
||||
switch (current_actor_pointer->control_state) {
|
||||
|
@ -159,10 +159,10 @@ void func_806B7EA0(void) {
|
||||
temp_s0->unk14 = D_807FDC94->z_position;
|
||||
D_807FDC90->unk2C = 0x14;
|
||||
}
|
||||
current_actor_pointer->unk6E++;
|
||||
if (temp_s0->unk18 < current_actor_pointer->unk6E) {
|
||||
current_actor_pointer->unk6E[0]++;
|
||||
if (temp_s0->unk18 < current_actor_pointer->unk6E[0]) {
|
||||
playSound(0x15B, 0x7FFF, 63.0f, 1.0f, 0, 0x80);
|
||||
current_actor_pointer->unk6E = 0;
|
||||
current_actor_pointer->unk6E[0] = 0;
|
||||
if (temp_s0->unk18 > 2.0f) {
|
||||
temp_s0->unk18 -= D_8075B898;
|
||||
}
|
||||
|
@ -13,7 +13,6 @@ void func_806319C4(Actor*, s32);
|
||||
void func_80724E48(u8);
|
||||
void func_806F09F0(Actor*, u16);
|
||||
|
||||
void func_80665564(Actor*, f32);
|
||||
void func_806651FC(Actor*);
|
||||
void func_80724CA4(s32, s32);
|
||||
|
||||
|
@ -595,7 +595,7 @@ void func_806CBE44(void) {
|
||||
void func_806CBE90(void) {
|
||||
if ((current_actor_pointer->unk6A & 0x21) == 1) {
|
||||
if ((current_actor_pointer->unk6A & 0x200) != 0) {
|
||||
if (current_actor_pointer->unk6E == -1) {
|
||||
if (current_actor_pointer->unk6E[0] == -1) {
|
||||
func_80604CBC(current_actor_pointer, 0x10D, 0, 1, 0, 0xFF, 1.0f, 0);
|
||||
}
|
||||
current_actor_pointer->control_state = 0xF;
|
||||
@ -735,7 +735,6 @@ extern s16 D_80753A2C[];
|
||||
|
||||
void func_80665160(Actor *, s16, s16);
|
||||
void func_806653C0(Actor *, f32, f32);
|
||||
void func_80665564(Actor*, f32);
|
||||
|
||||
/*
|
||||
// TODO: WIP, might need some more temp variables or split apart float operations into separate lines
|
||||
@ -2480,7 +2479,7 @@ void func_806D2BD0(void) {
|
||||
func_806CC8B8();
|
||||
func_806319C4(current_actor_pointer, 0);
|
||||
if (func_8061CB50()) {
|
||||
if (current_actor_pointer->unk6E != -1) {
|
||||
if (current_actor_pointer->unk6E[0] != -1) {
|
||||
func_80605314(current_actor_pointer, 0);
|
||||
}
|
||||
}
|
||||
@ -6301,7 +6300,7 @@ void func_806E384C(void) {
|
||||
phi_f0 -= 65536;
|
||||
}
|
||||
phi_f0 /= 16;
|
||||
if (current_actor_pointer->unk6E == -1) {
|
||||
if (current_actor_pointer->unk6E[0] == -1) {
|
||||
func_80604CBC(current_actor_pointer, 0x114, 0, 0, 0, 0xFF, 1.0f, 0);
|
||||
}
|
||||
current_actor_pointer->y_acceleration = D_807536E4[D_807FD584] + (-2 * D_807536E4[D_807FD584] * func_80612790(phi_f0));
|
||||
|
@ -373,7 +373,7 @@ u32 func_806119A0(void);
|
||||
void func_80026D2C(f32 arg0) {
|
||||
s16 temp;
|
||||
s32 pad;
|
||||
temp = D_80770628[current_actor_pointer->unk6E];
|
||||
temp = D_80770628[current_actor_pointer->unk6E[0]];
|
||||
D_80770B68[temp] = (arg0 / 20.0) + 1.0;
|
||||
D_80770BC0[temp] = 1.0f;
|
||||
temp = D_80770628[current_actor_pointer->unk70];
|
||||
|
@ -189,7 +189,7 @@ void func_80027C60(void) {
|
||||
void func_800283D4(f32 arg0) {
|
||||
s32 temp_a0;
|
||||
|
||||
temp_a0 = D_80770628[current_actor_pointer->unk6E];
|
||||
temp_a0 = D_80770628[current_actor_pointer->unk6E[0]];
|
||||
current_actor_pointer->unk74 = 1.0f;
|
||||
D_80770B68[temp_a0] = (arg0 * D_8002FF84) + 1.0;
|
||||
D_80770BC0[temp_a0] = 1.0f;
|
||||
@ -513,8 +513,6 @@ void func_8002DB90(void) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/race/code_36B0/func_8002DC24.s")
|
||||
|
||||
void func_80665564(Actor*, f32);
|
||||
|
||||
/*
|
||||
// TODO: Pretty close, datatype issue for RaaD->unk0 though
|
||||
// Case 2 function call and default function call may be swapped
|
||||
|
@ -17,3 +17,5 @@ character_change_array = 0x807FC924;
|
||||
cc_number_of_players = 0x807FC928;
|
||||
cc_player_index = 0x807FC929;
|
||||
extra_player_info_pointer = 0x807FD580;
|
||||
|
||||
D_8002DDA8 = 0x8002DDA8;
|
||||
|
@ -264,3 +264,5 @@ D_8075075C = 0x8075075C;
|
||||
D_80752FEC = 0x80752FEC;
|
||||
|
||||
D_80758D40 = 0x80758D40;
|
||||
|
||||
D_80756FF8 = 0x80756FF8;
|
||||
|
Loading…
Reference in New Issue
Block a user