diff --git a/include/functions.h b/include/functions.h index 8188901..dc09005 100644 --- a/include/functions.h +++ b/include/functions.h @@ -127,6 +127,13 @@ int gameIsInQuitGameMode(void); s32 countSetFlags(s32 startIndex, s32 length, u8 flagType); +void changeCollectableCount(s32 HUDItemIndex, u8 playerIndex, s16 amount); + +Chunk14 *func_global_asm_80630588(Chunk14 *arg0, Model2Model *arg1, u8 arg2, u8 *arg3); + +void addActorRecolor(Actor *actor, s16 x, s16 y, s16 z, s32 alpha, s32 red, s32 green, s32 blue, s32); +Struct80717D84 *func_global_asm_80714D08(void *sprite, f32 scale, f32 x, f32 y, f32 z, Actor *actor, s32 arg6, s32 boneIndex, u8 arg8); + // TODO: Not 100% on return type u8 getBonePosition(Actor *actor, s32 boneIndex, f32 *x, f32 *y, f32 *z); @@ -194,7 +201,6 @@ void func_global_asm_806EB744(void); void func_global_asm_806EB8CC(void); void func_global_asm_806EB964(void); void func_global_asm_806EBA04(void); -// TODO: Signatures deduplicated up to here void func_global_asm_806EBA74(void); void func_global_asm_806EBAF4(void); void func_global_asm_806EBB44(void); @@ -209,6 +215,7 @@ void func_global_asm_806EBF74(void); void func_global_asm_806EBFD0(void); void func_global_asm_806EC014(void); void func_global_asm_806EC044(void); +// TODO: Signatures deduplicated up to here void func_global_asm_806EC1A8(void); void func_global_asm_806EC2CC(void); void func_global_asm_806EC3BC(void); @@ -828,7 +835,7 @@ void func_global_asm_806E1630(void); void func_global_asm_806CC948(); void func_global_asm_806CFECC(void); void func_global_asm_806D2378(); -void func_global_asm_806F4D70(u8 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4); +void func_global_asm_806F4D70(u8 playerIndex, f32 x, f32 y, f32 z, f32 arg4); void func_global_asm_806D3608(void); void func_global_asm_80685210(f32 arg0, s16 arg1, s16 arg2); void func_global_asm_806F142C(Actor*); @@ -1235,7 +1242,7 @@ s32 func_global_asm_806FBB9C(s16 textureIndex); void func_global_asm_80663C60(f32 *arg0, s16 arg1); void func_global_asm_8072ED90(void); u8 func_global_asm_8072F4A8(Actor *arg0, u8 arg1, f32 *arg2, f32 *arg3, f32 *arg4); -void func_global_asm_80730D60(s32 arg0, u8 arg1, u8 arg2, u8 arg3, void **arg4, void **arg5); +void func_global_asm_80730D60(Actor *arg0, u8 arg1, u8 arg2, u8 arg3, void **arg4, void **arg5); s32 func_global_asm_8067B2C0(s32); void func_global_asm_80678F64(Actor*); s16 func_global_asm_8067AF74(Actor*); diff --git a/include/structs.h b/include/structs.h index b2631c3..eee2f34 100644 --- a/include/structs.h +++ b/include/structs.h @@ -1269,7 +1269,7 @@ struct actor { f32 y_velocity; // at 0xC0 f32 y_acceleration; // at 0xC4 f32 terminal_velocity; // at 0xC8 - u8 unkCC; // Used + u8 unkCC; // Used, bone index? u8 unkCD; u8 unkCE; u8 unkCF; diff --git a/progress/progress.global_asm.csv b/progress/progress.global_asm.csv index 266d174..6ecdf99 100644 --- a/progress/progress.global_asm.csv +++ b/progress/progress.global_asm.csv @@ -2288,7 +2288,6 @@ us,asm,func_global_asm_806FDF1C,56,yes us,asm,func_global_asm_806F14BC,428,yes us,asm,func_global_asm_8063643C,12,yes us,asm,func_global_asm_806B63E0,44,yes -us,asm,func_global_asm_806F91B4,568,no us,asm,func_global_asm_80641A78,136,yes us,asm,func_global_asm_8072EE7C,256,yes us,asm,func_global_asm_806B1EE8,32,yes @@ -2331,6 +2330,7 @@ us,asm,func_global_asm_8066EAEC,84,yes us,asm,func_global_asm_8072DC7C,120,yes us,asm,func_global_asm_80644A18,680,no us,asm,func_global_asm_806D4010,556,yes +us,asm,changeCollectableCount,568,no us,asm,func_global_asm_807300BC,844,no us,asm,func_global_asm_80726E60,128,yes us,asm,func_global_asm_80675180,180,no diff --git a/progress/progress.total.csv b/progress/progress.total.csv index 74a986f..f0143ef 100644 --- a/progress/progress.total.csv +++ b/progress/progress.total.csv @@ -2288,7 +2288,6 @@ us,asm,func_global_asm_806FDF1C,56,yes us,asm,func_global_asm_806F14BC,428,yes us,asm,func_global_asm_8063643C,12,yes us,asm,func_global_asm_806B63E0,44,yes -us,asm,func_global_asm_806F91B4,568,no us,asm,func_global_asm_80641A78,136,yes us,asm,func_global_asm_8072EE7C,256,yes us,asm,func_global_asm_806B1EE8,32,yes @@ -2331,6 +2330,7 @@ us,asm,func_global_asm_8066EAEC,84,yes us,asm,func_global_asm_8072DC7C,120,yes us,asm,func_global_asm_80644A18,680,no us,asm,func_global_asm_806D4010,556,yes +us,asm,changeCollectableCount,568,no us,asm,func_global_asm_807300BC,844,no us,asm,func_global_asm_80726E60,128,yes us,asm,func_global_asm_80675180,180,no diff --git a/src/bonus/code_12A0.c b/src/bonus/code_12A0.c index 1077fa4..58e5848 100644 --- a/src/bonus/code_12A0.c +++ b/src/bonus/code_12A0.c @@ -81,14 +81,14 @@ u8 func_bonus_80025480(Actor **arg0, u8 arg1) { return D_bonus_8002D8B0[arg1][arg0[arg1]->unk15F]; } -void func_bonus_800254B0(s16 arg0, s16 arg1, s16 arg2, s16 arg3) { +void func_bonus_800254B0(s16 x, s16 y, s16 z, s16 count) { s16 i; - for (i = 0; i < arg3; i++) { + for (i = 0; i < count; i++) { func_global_asm_807149B8(1); func_global_asm_8071498C(&func_global_asm_80717404); func_global_asm_80714950(1); - drawSpriteAtPosition(D_global_asm_8074E880[((rand() >> 0xF) % 1000) % 3], 0.3f, arg0, arg1, arg2); + drawSpriteAtPosition(D_global_asm_8074E880[((rand() >> 0xF) % 1000) % 3], 0.3f, x, y, z); } } diff --git a/src/bonus/code_2690.c b/src/bonus/code_2690.c index d8348f6..7a9f0b8 100644 --- a/src/bonus/code_2690.c +++ b/src/bonus/code_2690.c @@ -107,9 +107,9 @@ typedef struct { void func_bonus_8002733C(Struct8002733C *arg0) { s16 i; - s16 var_s2; + s16 x; - var_s2 = 0x118; + x = 280; for (i = 0; i < 5; i++) { if (arg0->unk4[i] != NULL) { func_global_asm_80715908(arg0->unk4[i]); @@ -121,8 +121,8 @@ void func_bonus_8002733C(Struct8002733C *arg0) { func_global_asm_80714944(i * 3); func_global_asm_8071498C(&func_global_asm_8071A038); func_global_asm_80714950(&arg0->unk18[i]); - arg0->unk4[i] = drawSpriteAtPosition(&D_global_asm_8071FFD4, 1.0f, var_s2, 210.0f, -10.0f); - var_s2 -= 0x1E; + arg0->unk4[i] = drawSpriteAtPosition(&D_global_asm_8071FFD4, 1.0f, x, 210.0f, -10.0f); + x -= 30; } playSound(0x3E4, 0x7FFF, 63.0f, 1.0f, 5, 0); } diff --git a/src/boss/code_6240.c b/src/boss/code_6240.c index ef42cc5..a51f137 100644 --- a/src/boss/code_6240.c +++ b/src/boss/code_6240.c @@ -148,20 +148,20 @@ void func_boss_8002A55C(u8 arg0, f32 arg1) { } void func_boss_8002A5CC(void) { - f32 sp6C; - f32 sp68; - f32 sp64; + f32 x; + f32 y; + f32 z; s16 i; - getBonePosition(current_actor_pointer, 1, &sp6C, &sp68, &sp64); - sp6C += ((rand() >> 0xF) % 80) - 40; - sp68 += ((rand() >> 0xF) % 100) + 50; - sp64 += ((rand() >> 0xF) % 80) - 40; + getBonePosition(current_actor_pointer, 1, &x, &y, &z); + x += ((rand() >> 0xF) % 80) - 40; + y += ((rand() >> 0xF) % 100) + 50; + z += ((rand() >> 0xF) % 80) - 40; func_global_asm_807149B8(1); func_global_asm_8071498C(&func_global_asm_8071EDEC); func_global_asm_80714950(current_actor_pointer); changeActorColor(0xFF, 0xD7, 0x58, 0xFF); - drawSpriteAtPosition(&D_global_asm_80720120, 1.5f, sp6C, sp68, sp64); + drawSpriteAtPosition(&D_global_asm_80720120, 1.5f, x, y, z); for (i = 0; i < 4; i++) { func_global_asm_80714998(2); func_global_asm_8071498C(&func_global_asm_8071720C); diff --git a/src/critter/code_3340.c b/src/critter/code_3340.c index 9826126..9bd6b23 100644 --- a/src/critter/code_3340.c +++ b/src/critter/code_3340.c @@ -363,7 +363,7 @@ void func_critter_80027DC0(void) { current_actor_pointer->control_state_progress = 1; func_global_asm_80604CBC(player_pointer, 0x104, 0x3C, 1, 1, 0xFF, 1.0f, 0); func_global_asm_806F8BC4(6, 0, 0); - func_global_asm_806F91B4(6, extra_player_info_pointer->unk1A4, 999); + changeCollectableCount(6, extra_player_info_pointer->unk1A4, 999); } break; case 3: diff --git a/src/global_asm/code_119370.c b/src/global_asm/code_119370.c index 12d792e..d470612 100644 --- a/src/global_asm/code_119370.c +++ b/src/global_asm/code_119370.c @@ -104,7 +104,6 @@ extern s16 D_global_asm_807FDB3E; extern s16 D_global_asm_807FDB40; extern s16 D_global_asm_807FDB42; -Struct80717D84 *func_global_asm_80714D08(void*, f32, f32, f32, f32, s32, s32, s32, u8); void func_global_asm_80714A9C(void); void func_global_asm_80718380(Struct80717D84 *arg0, s8 *arg1); int func_global_asm_80717404(); // TODO: Signature @@ -250,29 +249,29 @@ void func_global_asm_80714A9C(void) { D_global_asm_807FDB3A = 0x258; } -Struct80717D84 *func_global_asm_80714B84(void *arg0, f32 arg1, s32 arg2, s32 arg3, u8 arg4) { - f32 sp3C; - f32 sp38; - f32 sp34; - - func_global_asm_806335B0(arg2, 1, arg3, &sp3C, &sp38, &sp34); - return func_global_asm_80714D08(arg0, arg1, sp3C, sp38, sp34, 0, arg2, arg3, arg4); -} - -Struct80717D84 *func_global_asm_80714C08(void *sprite, f32 scale, Actor *arg2, s32 arg3, u8 arg4) { +Struct80717D84 *func_global_asm_80714B84(void *sprite, f32 scale, s32 arg2, s32 boneIndex, u8 arg4) { f32 x; f32 y; f32 z; - getBonePosition(arg2, arg3, &x, &y, &z); - if (!(arg2->object_properties_bitfield & 0x200) && (arg2->animation_state != NULL) && (D_global_asm_807FDB36 & 0x80)) { + func_global_asm_806335B0(arg2, 1, boneIndex, &x, &y, &z); + return func_global_asm_80714D08(sprite, scale, x, y, z, NULL, arg2, boneIndex, arg4); +} + +Struct80717D84 *func_global_asm_80714C08(void *sprite, f32 scale, Actor *actor, s32 boneIndex, u8 arg4) { + f32 x; + f32 y; + f32 z; + + getBonePosition(actor, boneIndex, &x, &y, &z); + if (!(actor->object_properties_bitfield & 0x200) && (actor->animation_state != NULL) && (D_global_asm_807FDB36 & 0x80)) { func_global_asm_80714A38(0x40); } - return func_global_asm_80714D08(sprite, scale, x, y, z, arg2, 0, arg3, arg4); + return func_global_asm_80714D08(sprite, scale, x, y, z, actor, 0, boneIndex, arg4); } Struct80717D84 *drawSpriteAtPosition(void* sprite, f32 scale, f32 x, f32 y, f32 z) { - return func_global_asm_80714D08(sprite, scale, x, y, z, 0, 0, 0, 0); + return func_global_asm_80714D08(sprite, scale, x, y, z, NULL, 0, 0, 0); } extern u8 D_global_asm_80750AB4; @@ -290,17 +289,17 @@ extern s16 D_global_asm_807FDB3C; void func_global_asm_80714778(f32); -Struct80717D84 *func_global_asm_80714D08(void *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5, s32 arg6, s32 arg7, u8 arg8) { +Struct80717D84 *func_global_asm_80714D08(void *sprite, f32 scale, f32 x, f32 y, f32 z, Actor *actor, s32 arg6, s32 boneIndex, u8 arg8) { Struct80717D84 *sp2C; s32 i; s32 var_v0; Struct807FDB00 *var_s0; - func_global_asm_80714778(arg1); + func_global_asm_80714778(scale); var_s0 = D_global_asm_807FDB00; var_v0 = 0; while (!var_v0 && var_s0 != NULL) { - if (arg0 == var_s0->unk0) { + if (sprite == var_s0->unk0) { var_v0 = 1; } else { var_s0 = var_s0->next; @@ -320,22 +319,22 @@ Struct80717D84 *func_global_asm_80714D08(void *arg0, f32 arg1, f32 arg2, f32 arg } D_global_asm_807FDB08 = sp2C; if (D_global_asm_807FDB1D != 0) { - arg2 *= 4.0f; - arg3 *= 4.0f; - arg4 *= 4.0f; - arg1 *= 4.0f; + x *= 4.0f; + y *= 4.0f; + z *= 4.0f; + scale *= 4.0f; D_global_asm_807FDB20 *= 4.0f; D_global_asm_807FDB24 *= 4.0f; } - sp2C->unk340 = arg2; - sp2C->unk344 = arg3; - sp2C->unk348 = arg4; + sp2C->unk340 = x; + sp2C->unk344 = y; + sp2C->unk348 = z; if (D_global_asm_807FDB28 != 0) { sp2C->unk360 = D_global_asm_807FDB20; sp2C->unk364 = D_global_asm_807FDB24; } else { - sp2C->unk360 = arg1; - sp2C->unk364 = arg1; + sp2C->unk360 = scale; + sp2C->unk364 = scale; } if (D_global_asm_807FDB0F != 0) { sp2C->unk36A = D_global_asm_807FDB0C; @@ -353,9 +352,9 @@ Struct80717D84 *func_global_asm_80714D08(void *arg0, f32 arg1, f32 arg2, f32 arg sp2C->unk368 = D_global_asm_807FDB1A; sp2C->unk380 = var_s0->unk8 * var_s0->unk9; sp2C->unk334 = arg8; - sp2C->unk338 = arg5; + sp2C->unk338 = actor; sp2C->unk33C = arg6; - sp2C->unk33E = arg7; + sp2C->unk33E = boneIndex; sp2C->unk34E = D_global_asm_807FDB30; sp2C->unk350 = D_global_asm_807FDB1C; sp2C->unk351 = 0; @@ -421,7 +420,6 @@ void func_global_asm_807158C0(void) { #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_119370/func_global_asm_80715908.s") /* -? func_global_asm_80630588(?, void *, ?, ? *); extern s32 D_80000310; extern void *D_global_asm_807FDB04; extern void *D_global_asm_807FDB08; @@ -816,11 +814,11 @@ void func_global_asm_807180F4(s32 arg0, s32 arg1) { func_global_asm_80716FB4(arg0, arg1); } -void func_global_asm_80718124(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { +void func_global_asm_80718124(f32 scale, f32 x, f32 y, f32 z) { func_global_asm_807149B8(1); func_global_asm_80714998(3); func_global_asm_8071498C(&func_global_asm_80718380); - drawSpriteAtPosition(&D_global_asm_8071FEF4, arg0, arg1, arg2, arg3); + drawSpriteAtPosition(&D_global_asm_8071FEF4, scale, x, y, z); } void func_global_asm_80718188(Struct80717D84 *arg0, s8 *arg1) { @@ -1702,7 +1700,7 @@ extern s32 D_global_asm_8071FB54; void func_global_asm_8071C24C(Struct80717D84 *arg0, u8 *arg1) { s32 pad; - f32 sp50; + f32 y; s16 sp48[3]; if (arg0->unk384 == NULL) { @@ -1717,10 +1715,10 @@ void func_global_asm_8071C24C(Struct80717D84 *arg0, u8 *arg1) { arg0->unk340 += 1.0f; arg0->unk344 += arg0->unk384_f32->unk0; arg0->unk384_f32->unk0 -= D_global_asm_8075E9B8; - sp50 = arg0->unk344; - if (func_global_asm_80667110(arg0->unk340, arg0->unk348, &sp50) == 0) { + y = arg0->unk344; + if (func_global_asm_80667110(arg0->unk340, arg0->unk348, &y) == 0) { *arg1 = 1; - } else if (arg0->unk344 < sp50) { + } else if (arg0->unk344 < y) { if (arg0->unk384_f32->unk0 < 0.0) { *arg1 = 1; } @@ -1732,7 +1730,7 @@ void func_global_asm_8071C24C(Struct80717D84 *arg0, u8 *arg1) { func_global_asm_80714950(1); func_global_asm_8071498C(&func_global_asm_8071C004); func_global_asm_80714944(7); - drawSpriteAtPosition(&D_global_asm_8071FB54, 0.667f, arg0->unk340, sp50 + 10.0f, arg0->unk348); + drawSpriteAtPosition(&D_global_asm_8071FB54, 0.667f, arg0->unk340, y + 10.0f, arg0->unk348); } createLight(arg0->unk340, arg0->unk344, arg0->unk348, 0.0f, 0.0f, 0.0f, 200.0f, 0, sp48[0], sp48[1], sp48[2]); } @@ -2329,11 +2327,11 @@ void func_global_asm_8071EA24(Struct80717D84 *arg0, s32 arg1) { void func_global_asm_8071EB70(Struct80717D84 *arg0, s32 arg1) { f32 *var_v1; - f32 temp_f0_2; + f32 d; f32 temp_f16; - f32 temp_f14; - f32 temp_f0; - f32 temp_f2; + f32 dz; + f32 dx; + f32 dy; s32 var_f12; // Amazingly this is correct temp_f16 = (arg0->unk35C * 3) / 4; @@ -2343,15 +2341,15 @@ void func_global_asm_8071EB70(Struct80717D84 *arg0, s32 arg1) { *var_v1 = arg0->unk36D; } var_v1 = arg0->unk384; - temp_f0 = character_change_array->unk224 - arg0->unk348; - temp_f2 = character_change_array->unk21C - arg0->unk340; - temp_f14 = character_change_array->unk220 - arg0->unk344; - temp_f0_2 = sqrtf((temp_f0 * temp_f0) + ((temp_f2 * temp_f2) + (temp_f14 * temp_f14))); - if (temp_f0_2 < temp_f16) { + dx = character_change_array->unk224 - arg0->unk348; + dy = character_change_array->unk21C - arg0->unk340; + dz = character_change_array->unk220 - arg0->unk344; + d = sqrtf((dx * dx) + ((dy * dy) + (dz * dz))); + if (d < temp_f16) { arg0->unk36D = *var_v1; return; } - var_f12 = (*var_v1 * ((temp_f0_2 - temp_f16) / (arg0->unk35C - temp_f16))); + var_f12 = (*var_v1 * ((d - temp_f16) / (arg0->unk35C - temp_f16))); if (*var_v1 < var_f12) { var_f12 = *var_v1; } @@ -2360,15 +2358,15 @@ void func_global_asm_8071EB70(Struct80717D84 *arg0, s32 arg1) { void func_global_asm_8071EDEC(Struct80717D84 *arg0, s32 arg1) { f64 temp; - f32 sp34; - f32 sp30; - f32 sp2C; + f32 x; + f32 y; + f32 z; - getBonePosition(arg0->unk35C, 1, &sp34, &sp30, &sp2C); + getBonePosition(arg0->unk35C, 1, &x, &y, &z); temp = D_global_asm_8075EAA0; - arg0->unk340 += (sp34 - arg0->unk340) * temp; - arg0->unk344 += (sp30 - arg0->unk344) * temp; - arg0->unk348 += (sp2C - arg0->unk348) * temp; + arg0->unk340 += (x - arg0->unk340) * temp; + arg0->unk344 += (y - arg0->unk344) * temp; + arg0->unk348 += (z - arg0->unk348) * temp; } void func_global_asm_8071EEA4(Struct80717D84 *arg0, s32 arg1) { diff --git a/src/global_asm/code_12E800.c b/src/global_asm/code_12E800.c index 9b4fea8..02be3e2 100644 --- a/src/global_asm/code_12E800.c +++ b/src/global_asm/code_12E800.c @@ -5,12 +5,12 @@ extern s32 D_global_asm_8071FB34; extern s32 D_global_asm_8071FF18; extern f64 D_global_asm_8075FF20; void func_global_asm_806A5DF0(s32, f32, f32, f32, s32, s32, s32, s32); -void func_global_asm_806F91B4(u8, u8, s16); s16 func_global_asm_806CC190(s16, s16, f32); s16 func_global_asm_806CC190(s16, s16, f32); extern f64 D_global_asm_8075FF38; +// doable, close #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_12E800/initializeCharacterSpawnerActor.s") extern s8 D_global_asm_807FBB85; @@ -28,7 +28,6 @@ typedef struct { void func_global_asm_806663F8(void); /* -// TODO: Doable, very close!!! void initializeCharacterSpawnerActor(void) { EnemyInfo *temp_t9; AAD_global_asm_80729B00 *temp_t7; @@ -660,19 +659,19 @@ void func_global_asm_8072DAA4(void) { } void func_global_asm_8072DB68(s32 arg0) { - u8 phi_v1; - s16 phi_s0; + u8 amount; + s16 i; if (func_global_asm_806F8AD4(0xB, cc_player_index) >= 4) { - phi_v1 = 3; + amount = 3; } else { - phi_v1 = func_global_asm_806F8AD4(0xB, cc_player_index); + amount = func_global_asm_806F8AD4(0xB, cc_player_index); } - func_global_asm_806F91B4(0xB, cc_player_index, -phi_v1); + changeCollectableCount(0xB, cc_player_index, -amount); func_global_asm_806F8BC4(0xB, 0, 0); playSong(0x41, 1.0f); - for (phi_s0 = 0; phi_s0 < phi_v1; phi_s0++) { - func_global_asm_806A5DF0(0x36, player_pointer->x_position, player_pointer->y_position, player_pointer->z_position, (player_pointer->y_rotation + (phi_s0 * 0xC8)) - 0xC8, 1, -1, 0); + for (i = 0; i < amount; i++) { + func_global_asm_806A5DF0(0x36, player_pointer->x_position, player_pointer->y_position, player_pointer->z_position, (player_pointer->y_rotation + (i * 200)) - 200, 1, -1, 0); } } @@ -810,13 +809,13 @@ u8 func_global_asm_8072E22C(u16 arg0) { return ((dx * dx) + (dy * dy) + (dz * dz)) < (arg0 * arg0); } -void func_global_asm_8072E2B0(Actor *arg0, f32 *arg1, f32 *arg2, f32 *arg3) { +void func_global_asm_8072E2B0(Actor *arg0, f32 *x, f32 *y, f32 *z) { if (arg0->unkCC) { - getBonePosition(arg0, arg0->unkCC, arg1, arg2, arg3); + getBonePosition(arg0, arg0->unkCC, x, y, z); } else { - *arg1 = arg0->x_position; - *arg2 = arg0->y_position; - *arg3 = arg0->z_position; + *x = arg0->x_position; + *y = arg0->y_position; + *z = arg0->z_position; } } diff --git a/src/global_asm/code_133A90.c b/src/global_asm/code_133A90.c index 406426a..a8a42c5 100644 --- a/src/global_asm/code_133A90.c +++ b/src/global_asm/code_133A90.c @@ -2,7 +2,7 @@ #include "functions.h" s32 func_global_asm_8063367C(s32, u8, s32); -s32 func_global_asm_80671D64(s32, s32); +s32 func_global_asm_80671D64(Actor*, s32); void func_global_asm_8072F230(Actor*, u8, u8); s32 func_global_asm_8061F2B8(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32 *, f32 *, f32 *); f32 func_global_asm_80627A00(f64, f32, f32, f32, f32); @@ -318,38 +318,38 @@ s32 func_global_asm_8072F8D4(GlobalASMStruct82 *arg0, s32 arg1, s16 arg2) { } f32 func_global_asm_8072FA14(Actor *arg0, PlayerAdditionalActorData *arg1, GlobalASMStruct82 *arg2, u8 arg3) { - u8 temp_t0; - u8 temp_t1; - f32 sp80; - f32 sp7C; - f32 sp78; - f32 sp74; - f32 sp70; - f32 sp6C; + u8 boneIndex1; + u8 boneIndex2; + f32 z2; + f32 y2; + f32 x2; + f32 z1; + f32 y1; + f32 x1; f32 sp68; f32 sp64; f32 sp60; f32 var_f2; - f32 sp58; - f32 sp54; - f32 sp50; + f32 x3; + f32 y3; + f32 z3; - temp_t0 = arg2->unk34[arg3].unk0; - temp_t1 = arg2->unk34[arg3].unk1; + boneIndex1 = arg2->unk34[arg3].unk0; + boneIndex2 = arg2->unk34[arg3].unk1; switch (arg2->unk4) { case 0: - getBonePosition(arg2->unk0, temp_t0, &sp6C, &sp70, &sp74); - getBonePosition(arg2->unk0, temp_t1, &sp78, &sp7C, &sp80); + getBonePosition(arg2->unk0, boneIndex1, &x1, &y1, &z1); + getBonePosition(arg2->unk0, boneIndex2, &x2, &y2, &z2); break; case 1: case 2: - func_global_asm_806335B0(arg2->unk0, 1, temp_t0, &sp6C, &sp70, &sp74); - func_global_asm_806335B0(arg2->unk0, 1, temp_t1, &sp78, &sp7C, &sp80); + func_global_asm_806335B0(arg2->unk0, 1, boneIndex1, &x1, &y1, &z1); + func_global_asm_806335B0(arg2->unk0, 1, boneIndex2, &x2, &y2, &z2); break; } - getBonePosition(arg0, 1, &sp58, &sp54, &sp50); - func_global_asm_8061F2B8(sp58, sp54, sp50, sp6C, sp70, sp74, sp78, sp7C, sp80, &sp68, &sp64, &sp60); - var_f2 = (sp64 - sp70) / (sp7C - sp70); + getBonePosition(arg0, 1, &x3, &y3, &z3); + func_global_asm_8061F2B8(x3, y3, z3, x1, y1, z1, x2, y2, z2, &sp68, &sp64, &sp60); + var_f2 = (sp64 - y1) / (y2 - y1); if (arg2->unk18 == 2 || arg2->unk18 == 3) { if (arg3 == 0) { if (var_f2 < 0.05) { @@ -402,26 +402,26 @@ void func_global_asm_8072FDD4(GlobalASMStruct82 *arg0, f32 arg1, s8 *arg2, f32 * #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_133A90/func_global_asm_80730408.s") void func_global_asm_80730AEC(u8 arg0, f32 arg1, GlobalASMStruct82 *arg2, f32 *arg3, f32 *arg4, f32 *arg5) { - u8 sp7C[4]; + u8 bones[4]; f32 sp4C[4][3]; - sp7C[0] = arg2->unk34[MAX(arg0 - 1, 0)].unk0; - sp7C[1] = arg2->unk34[arg0].unk0; - sp7C[2] = arg2->unk34[arg0].unk1; - sp7C[3] = arg2->unk34[MIN((arg0 + 1), (arg2->unk7 - 1))].unk1; + bones[0] = arg2->unk34[MAX(arg0 - 1, 0)].unk0; + bones[1] = arg2->unk34[arg0].unk0; + bones[2] = arg2->unk34[arg0].unk1; + bones[3] = arg2->unk34[MIN((arg0 + 1), (arg2->unk7 - 1))].unk1; switch (arg2->unk4) { case 1: case 2: - func_global_asm_806335B0(arg2->unk0, 1, sp7C[0], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); - func_global_asm_806335B0(arg2->unk0, 1, sp7C[1], &sp4C[1][0], &sp4C[1][1], &sp4C[1][2]); - func_global_asm_806335B0(arg2->unk0, 1, sp7C[2], &sp4C[2][0], &sp4C[2][1], &sp4C[2][2]); - func_global_asm_806335B0(arg2->unk0, 1, sp7C[3], &sp4C[3][0], &sp4C[3][1], &sp4C[3][2]); + func_global_asm_806335B0(arg2->unk0, 1, bones[0], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); + func_global_asm_806335B0(arg2->unk0, 1, bones[1], &sp4C[1][0], &sp4C[1][1], &sp4C[1][2]); + func_global_asm_806335B0(arg2->unk0, 1, bones[2], &sp4C[2][0], &sp4C[2][1], &sp4C[2][2]); + func_global_asm_806335B0(arg2->unk0, 1, bones[3], &sp4C[3][0], &sp4C[3][1], &sp4C[3][2]); break; case 0: - getBonePosition(arg2->unk0, sp7C[0], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); - getBonePosition(arg2->unk0, sp7C[1], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); - getBonePosition(arg2->unk0, sp7C[1], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); - getBonePosition(arg2->unk0, sp7C[2], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); + getBonePosition(arg2->unk0, bones[0], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); + getBonePosition(arg2->unk0, bones[1], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); + getBonePosition(arg2->unk0, bones[1], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); + getBonePosition(arg2->unk0, bones[2], &sp4C[0][0], &sp4C[0][1], &sp4C[0][2]); break; } *arg3 = func_global_asm_80627A00(arg1, sp4C[0][0], sp4C[1][0], sp4C[2][0], sp4C[3][0]); @@ -429,7 +429,7 @@ void func_global_asm_80730AEC(u8 arg0, f32 arg1, GlobalASMStruct82 *arg2, f32 *a *arg5 = func_global_asm_80627A00(arg1, sp4C[0][2], sp4C[1][2], sp4C[2][2], sp4C[3][2]); } -void func_global_asm_80730D60(s32 arg0, u8 arg1, u8 arg2, u8 arg3, void **arg4, void **arg5) { +void func_global_asm_80730D60(Actor *arg0, u8 arg1, u8 arg2, u8 arg3, void **arg4, void **arg5) { switch (arg1) { case 0: *arg4 = func_global_asm_80671D64(arg0, arg2); diff --git a/src/global_asm/code_2F550.c b/src/global_asm/code_2F550.c index 4a82d73..9460c5c 100644 --- a/src/global_asm/code_2F550.c +++ b/src/global_asm/code_2F550.c @@ -844,6 +844,7 @@ void func_global_asm_8062D1E0(Struct8062D1E0_arg0 *arg0, Struct8062D1E0_arg1 *ar } */ +// TODO: Any cleanup possible for this? void func_global_asm_8062D26C(Actor *arg0) { s32 sp1C; diff --git a/src/global_asm/code_36880.c b/src/global_asm/code_36880.c index f607c61..0b083ff 100644 --- a/src/global_asm/code_36880.c +++ b/src/global_asm/code_36880.c @@ -994,8 +994,6 @@ void func_global_asm_806645B8(s16 arg0); void func_global_asm_8066C904(OM2_unk28 *arg0); -Chunk14 *func_global_asm_80630588(Chunk14 *arg0, s32 arg1, u8 arg2, u8 *arg3); - void func_global_asm_806593C8(s32 arg0, s32 arg1); void func_global_asm_80636074(ObjectModel2 *arg0); diff --git a/src/global_asm/code_42630.c b/src/global_asm/code_42630.c index 4119312..401c0b9 100644 --- a/src/global_asm/code_42630.c +++ b/src/global_asm/code_42630.c @@ -838,15 +838,15 @@ void func_global_asm_80642844(s16 arg0, s16 arg1, Struct80642844 *arg2, s32 arg3 extern s32 D_global_asm_8071FC58; void func_global_asm_80642940(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - f32 var_f18; - f32 var_f4; - f32 var_f6; + f32 randomZOffset; + f32 randomYOffset; + f32 randomXOffset; s32 i; for (i = 0; i < 1; i++) { - var_f6 = (((func_global_asm_806119A0() / 10000U) % 200) / 10.0) - 10.0; - var_f4 = (((func_global_asm_806119A0() / 10000U) % 200) / 10.0) - 7.0; - var_f18 = (((func_global_asm_806119A0() / 10000U) % 200) / 10.0) - 10.0; + randomXOffset = (((func_global_asm_806119A0() / 10000U) % 200) / 10.0) - 10.0; + randomYOffset = (((func_global_asm_806119A0() / 10000U) % 200) / 10.0) - 7.0; + randomZOffset = (((func_global_asm_806119A0() / 10000U) % 200) / 10.0) - 10.0; func_global_asm_807149B8(1); func_global_asm_807149FC(2); func_global_asm_80714950(0x64); @@ -854,9 +854,9 @@ void func_global_asm_80642940(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { drawSpriteAtPosition( &D_global_asm_8071FC58, 0.5f, - D_global_asm_807F621C + var_f6, - D_global_asm_807F6220 + var_f4, - D_global_asm_807F6224 + var_f18 + D_global_asm_807F621C + randomXOffset, + D_global_asm_807F6220 + randomYOffset, + D_global_asm_807F6224 + randomZOffset ); } createLight(D_global_asm_807F621C, D_global_asm_807F6220, D_global_asm_807F6224, 0.0f, 0.0f, 0.0f, 300.0f, 0, 0xA6, 0x30, 0xFF); diff --git a/src/global_asm/code_478F0.c b/src/global_asm/code_478F0.c index de879cd..89314ac 100644 --- a/src/global_asm/code_478F0.c +++ b/src/global_asm/code_478F0.c @@ -247,9 +247,9 @@ typedef struct { void func_global_asm_806436E0(Struct806436E0_arg0 *arg0, s32 arg1, s32 arg2, s32 arg3) { Struct807F5FD4_unk0 *temp_v0_2; Struct806436E0_malloc *var_v1; - s32 sp34; - s32 sp30; - s32 sp2C; + s32 x; + s32 y; + s32 z; s32 count; if (arg0->unk0 == NULL) { @@ -266,14 +266,14 @@ void func_global_asm_806436E0(Struct806436E0_arg0 *arg0, s32 arg1, s32 arg2, s32 var_v1->unk4 = 0; } temp_v0_2 = &D_global_asm_807F5FD4->unk0[0][var_v1->unk4]; - sp34 = temp_v0_2->unk0; - sp30 = temp_v0_2->unk4; - sp2C = temp_v0_2->unk8; + x = temp_v0_2->unk0; + y = temp_v0_2->unk4; + z = temp_v0_2->unk8; func_global_asm_80714998(2); func_global_asm_807149B8(1); func_global_asm_80714950(0); func_global_asm_8071498C(&func_global_asm_8071C004); - drawSpriteAtPosition(&D_global_asm_8071FB54, 0.667f, sp34, sp30 + 0xA, sp2C); + drawSpriteAtPosition(&D_global_asm_8071FB54, 0.667f, x, y + 10, z); var_v1->unk0 = 0x19; } var_v1->unk0--; @@ -289,9 +289,9 @@ extern s32 D_global_asm_8071FE08; // TODO: Datatype extern s32 D_global_asm_8071FE64; extern s32 D_global_asm_8071FE88; extern s32 D_global_asm_8071FEAC; -extern f32 D_global_asm_807F621C; -extern f32 D_global_asm_807F6220; -extern f32 D_global_asm_807F6224; +extern f32 D_global_asm_807F621C; // x +extern f32 D_global_asm_807F6220; // y +extern f32 D_global_asm_807F6224; // z int func_global_asm_8071910C(); // TODO: Signature @@ -299,22 +299,22 @@ void func_global_asm_806438B8(s32 arg0, s16 arg1, s16 arg2, s16 arg3) { s32 pad; s32 temp_s0; s32 i; - f32 sp60; - f32 sp5C; - f32 sp58; + f32 x; + f32 y; + f32 z; if (arg2 == 1) { - func_global_asm_806335B0(arg1, 1, arg3, &sp60, &sp5C, &sp58); + func_global_asm_806335B0(arg1, 1, arg3, &x, &y, &z); } else { - sp60 = D_global_asm_807F621C; - sp5C = D_global_asm_807F6220; - sp58 = D_global_asm_807F6224; + x = D_global_asm_807F621C; + y = D_global_asm_807F6220; + z = D_global_asm_807F6224; } func_global_asm_807149B8(0); func_global_asm_807149FC(1); func_global_asm_80714950(0x100C8); func_global_asm_8071498C(&func_global_asm_8071A8B0); - drawSpriteAtPosition(&D_global_asm_8071FE08, 1.5f, sp60, sp5C, sp58); + drawSpriteAtPosition(&D_global_asm_8071FE08, 1.5f, x, y, z); for (i = 0; i < 7; i++) { temp_s0 = (s32)(func_global_asm_806119A0() / 10000U) % 3; func_global_asm_807149B8(1); @@ -324,13 +324,13 @@ void func_global_asm_806438B8(s32 arg0, s16 arg1, s16 arg2, s16 arg3) { func_global_asm_80714950(7); switch (temp_s0) { case 0: - drawSpriteAtPosition(&D_global_asm_8071FE64, 0.5f, sp60, sp5C, sp58); + drawSpriteAtPosition(&D_global_asm_8071FE64, 0.5f, x, y, z); break; case 1: - drawSpriteAtPosition(&D_global_asm_8071FE88, 0.5f, sp60, sp5C, sp58); + drawSpriteAtPosition(&D_global_asm_8071FE88, 0.5f, x, y, z); break; case 2: - drawSpriteAtPosition(&D_global_asm_8071FEAC, 0.5f, sp60, sp5C, sp58); + drawSpriteAtPosition(&D_global_asm_8071FEAC, 0.5f, x, y, z); break; } } @@ -353,9 +353,9 @@ void func_global_asm_80643B24(s32 arg0, s16 arg1, s32 arg2, s32 arg3) { } } -extern f32 D_global_asm_807F621C; -extern f32 D_global_asm_807F6220; -extern f32 D_global_asm_807F6224; +extern f32 D_global_asm_807F621C; // x +extern f32 D_global_asm_807F6220; // y +extern f32 D_global_asm_807F6224; // z extern s32 D_global_asm_807201D4; typedef struct { @@ -857,9 +857,9 @@ extern f32 D_global_asm_807F6224; void func_global_asm_80646DC4(s32 arg0, s16 arg1, s16 arg2, s16 arg3) { s32 pad2; - f32 spB8; - f32 spB4; - f32 spB0; + f32 x; + f32 y; + f32 z; s32 pad[6]; f32 var_f28; s32 i; @@ -868,12 +868,12 @@ void func_global_asm_80646DC4(s32 arg0, s16 arg1, s16 arg2, s16 arg3) { if (arg2 != 0) { for (i = 1; i < 7; i++) { - func_global_asm_806335B0(arg1, 1, i, &spB8, &spB4, &spB0); + func_global_asm_806335B0(arg1, 1, i, &x, &y, &z); func_global_asm_8071496C(i); func_global_asm_807149B8(1); func_global_asm_8071498C(&func_global_asm_8071BB14); changeActorColor(0xFF, 0xFF, 0xFF, 0x96); - drawSpriteAtPosition(&D_global_asm_80720BE8, 1.5f, spB8, spB4, spB0); + drawSpriteAtPosition(&D_global_asm_80720BE8, 1.5f, x, y, z); } return; } @@ -888,14 +888,14 @@ void func_global_asm_80646DC4(s32 arg0, s16 arg1, s16 arg2, s16 arg3) { sp84[1] = i * 0x2A8; sp84[2] = (rand() % 500) + 150; if (arg3 == 0) { - func_global_asm_806335B0(arg1, 1, i, &spB8, &spB4, &spB0); - spB4 += 10.0; + func_global_asm_806335B0(arg1, 1, i, &x, &y, &z); + y += 10.0; } else { - spB8 = ((func_global_asm_806119FC() * 30.0) + D_global_asm_807F621C) - 15.0; - spB4 = (func_global_asm_806119FC() * 40.0) + D_global_asm_807F6220; - spB0 = ((func_global_asm_806119FC() * 30.0) + D_global_asm_807F6224) - 15.0; + x = ((func_global_asm_806119FC() * 30.0) + D_global_asm_807F621C) - 15.0; + y = (func_global_asm_806119FC() * 40.0) + D_global_asm_807F6220; + z = ((func_global_asm_806119FC() * 30.0) + D_global_asm_807F6224) - 15.0; } - func_global_asm_806891D8(0x5A, spB8, spB4, spB0, 0, var_f28, NULL, &sp84[0]); + func_global_asm_806891D8(0x5A, x, y, z, 0, var_f28, NULL, &sp84[0]); } } @@ -927,28 +927,28 @@ void func_global_asm_80647170(s32 arg0, s16 arg1, s16 arg2, s32 arg3) { void func_global_asm_80647218(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { s32 i; - f32 rand1; - f32 rand2; - f32 rand3; - f32 rand4; + f32 randomXOffset; + f32 randomYOffset; + f32 randomZOffset; + f32 randomScaleOffset; for (i = 0; i < 6; i++) { - rand1 = (f32)((func_global_asm_806119A0() / 1000U) % 20) - 10.0; - rand2 = (f32)((func_global_asm_806119A0() / 1000U) % 20) - 10.0; - rand3 = (f32)((func_global_asm_806119A0() / 1000U) % 20) - 10.0; - rand4 = (f32)((f32)(((func_global_asm_806119A0() / 1000U) % 50) - 25.0) / 50.0); + randomXOffset = (f32)((func_global_asm_806119A0() / 1000U) % 20) - 10.0; + randomYOffset = (f32)((func_global_asm_806119A0() / 1000U) % 20) - 10.0; + randomZOffset = (f32)((func_global_asm_806119A0() / 1000U) % 20) - 10.0; + randomScaleOffset = (f32)((f32)(((func_global_asm_806119A0() / 1000U) % 50) - 25.0) / 50.0); func_global_asm_80714950(-0xAA); func_global_asm_8071498C(func_global_asm_80717D4C); func_global_asm_807149B8(1); func_global_asm_80714998(3); func_global_asm_8071496C(i << 1); - drawSpriteAtPosition(&D_global_asm_8071FFA0, (rand4) + 1.5, D_global_asm_807F621C + (rand1), D_global_asm_807F6220 + (rand2), D_global_asm_807F6224 + (rand3)); + drawSpriteAtPosition(&D_global_asm_8071FFA0, (randomScaleOffset) + 1.5, D_global_asm_807F621C + (randomXOffset), D_global_asm_807F6220 + (randomYOffset), D_global_asm_807F6224 + (randomZOffset)); } } void func_global_asm_80647508(s32 arg0, s16 arg1, s32 arg2, s32 arg3) { s32 sp34; - f32 sp30, sp2C, sp28; + f32 x, y, z; sp34 = ((func_global_asm_806119A0() / 1000U) % 10) + 1; func_global_asm_80714950(-0x28A - ((func_global_asm_806119A0() / 1000U) % 200)); @@ -957,8 +957,8 @@ void func_global_asm_80647508(s32 arg0, s16 arg1, s32 arg2, s32 arg3) { func_global_asm_80714998(9); changeActorColor(0xFF, 0xFF, 0xFF, 0x64); func_global_asm_80714944(5); - func_global_asm_806335B0(arg1, 1, sp34, &sp30, &sp2C, &sp28); - drawSpriteAtPosition(&D_global_asm_8071FFA0, 1.5f, sp30, sp2C - 70, sp28); + func_global_asm_806335B0(arg1, 1, sp34, &x, &y, &z); + drawSpriteAtPosition(&D_global_asm_8071FFA0, 1.5f, x, y - 70, z); } // Close @@ -1029,7 +1029,7 @@ int func_global_asm_8071910C(); // TODO: Signature void func_global_asm_80647834(s32 arg0, s16 arg1, s32 arg2, s32 arg3) { s32 i; - f32 temp; + f32 randomYOffset; for (i = 0; i < 0xC; i++) { func_global_asm_807149B8(1); @@ -1037,8 +1037,8 @@ void func_global_asm_80647834(s32 arg0, s16 arg1, s32 arg2, s32 arg3) { func_global_asm_8071498C(func_global_asm_8071910C); func_global_asm_80714998(2); func_global_asm_80714950(4); - temp = ((func_global_asm_806119A0() / 1000U) % 80); - drawSpriteAtPosition(&D_global_asm_80720EA4, 1.0f, D_global_asm_807F621C, D_global_asm_807F6220 + temp, D_global_asm_807F6224); + randomYOffset = ((func_global_asm_806119A0() / 1000U) % 80); + drawSpriteAtPosition(&D_global_asm_80720EA4, 1.0f, D_global_asm_807F621C, D_global_asm_807F6220 + randomYOffset, D_global_asm_807F6224); } for (i = 1; i != 6; i++) { func_global_asm_80714950(-0x78); @@ -1235,17 +1235,17 @@ typedef struct { } Struct8064826C_arg0; void func_global_asm_8064826C(Struct8064826C_arg0 *arg0, s32 arg1, s16 arg2, s32 arg3) { - s32 *sp3C; + void *sprite; f32 sp38; s32 pad2; s32 pad; - f32 sp2C; - f32 sp28; + f32 xOffset; + f32 zOffset; f32 temp_f0; Struct8064826C_malloc *temp_v0; - sp2C = func_global_asm_80612794(((D_global_asm_807F622C + 90.0f) * 4096.0f) / 360.0f) * 15.0f; - sp28 = func_global_asm_80612790(((D_global_asm_807F622C + 90.0f) * 4096.0f) / 360.0f) * 15.0f; + xOffset = func_global_asm_80612794(((D_global_asm_807F622C + 90.0f) * 4096.0f) / 360.0f) * 15.0f; + zOffset = func_global_asm_80612790(((D_global_asm_807F622C + 90.0f) * 4096.0f) / 360.0f) * 15.0f; if (arg0->unk0 == NULL) { arg0->unk0 = malloc(sizeof(Struct8064826C_malloc)); temp_v0 = arg0->unk0; @@ -1257,16 +1257,16 @@ void func_global_asm_8064826C(Struct8064826C_arg0 *arg0, s32 arg1, s16 arg2, s32 func_global_asm_807149B8(1); switch (arg2) { case 0: - sp3C = &D_global_asm_80721200; + sprite = &D_global_asm_80721200; break; case 1: - sp3C = &D_global_asm_8072121C; + sprite = &D_global_asm_8072121C; break; case 2: - sp3C = &D_global_asm_80721250; + sprite = &D_global_asm_80721250; break; case 3: - sp3C = &D_global_asm_80721238; + sprite = &D_global_asm_80721238; break; } sp38 = func_global_asm_80612794(temp_v0->unk0) * 0.1; @@ -1276,7 +1276,7 @@ void func_global_asm_8064826C(Struct8064826C_arg0 *arg0, s32 arg1, s16 arg2, s32 func_global_asm_80714A08(sp38 + 1.0, (f32)(temp_f0 * 0.1) + 1.0); func_global_asm_807149A8(1400); func_global_asm_80714A28(4); - drawSpriteAtPosition(sp3C, 0.0f, D_global_asm_807F621C + sp2C, (func_global_asm_80612794(temp_v0->unk8) * 10.0) + (D_global_asm_807F6220 + 80.0), D_global_asm_807F6224 + sp28); + drawSpriteAtPosition(sprite, 0.0f, D_global_asm_807F621C + xOffset, (func_global_asm_80612794(temp_v0->unk8) * 10.0) + (D_global_asm_807F6220 + 80.0), D_global_asm_807F6224 + zOffset); temp_v0->unk8 += 0x64; if ((D_global_asm_8076A068 % 12) == 0) { func_global_asm_807149B8(1); @@ -1284,7 +1284,7 @@ void func_global_asm_8064826C(Struct8064826C_arg0 *arg0, s32 arg1, s16 arg2, s32 func_global_asm_8071498C(&func_global_asm_80716F10); func_global_asm_807149A8(1400); func_global_asm_80714A28(4); - drawSpriteAtPosition(&D_global_asm_8072126C, 2.0f, D_global_asm_807F621C + sp2C, D_global_asm_807F6220 + 30.0, D_global_asm_807F6224 + sp28); + drawSpriteAtPosition(&D_global_asm_8072126C, 2.0f, D_global_asm_807F621C + xOffset, D_global_asm_807F6220 + 30.0, D_global_asm_807F6224 + zOffset); } } @@ -1904,8 +1904,6 @@ u8 func_global_asm_8064BE58(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { /* extern s32 D_global_asm_807552F0; -void func_global_asm_806F91B4(s32, u8, s32); - s32 func_global_asm_8064BE80(s32 arg0, s16 arg1, s16 arg2, s32 arg3) { s32 playerIndex; f32 temp; @@ -1915,7 +1913,7 @@ s32 func_global_asm_8064BE80(s32 arg0, s16 arg1, s16 arg2, s32 arg3) { return 0; } if (func_global_asm_806F8AD4(1, playerIndex) != 0) { - func_global_asm_806F91B4(7, playerIndex, 1); + changeCollectableCount(7, playerIndex, 1); temp = func_global_asm_806F8AD4(7, playerIndex); temp /= D_global_asm_807552F0; // temp *= 0.5f; @@ -2531,7 +2529,7 @@ void func_global_asm_8064E5C0(Struct8064E5C0_arg0 *arg0, s32 arg1, s32 arg2, s32 void func_global_asm_8064EA48(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { if (func_global_asm_806F8AD4(1, 0) >= 2) { func_global_asm_806F8BC4(1, 0, 0); - func_global_asm_806F91B4(1, 0, -2); + changeCollectableCount(1, 0, -2); // DK Arcade Level 3? setFlag(0x83, TRUE, FLAG_TYPE_PERMANENT); } diff --git a/src/global_asm/code_55B20.c b/src/global_asm/code_55B20.c index bce0616..f543f27 100644 --- a/src/global_asm/code_55B20.c +++ b/src/global_asm/code_55B20.c @@ -249,8 +249,6 @@ void func_global_asm_806524A0(s32 arg0, u8 arg1) { #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_55B20/func_global_asm_80652594.s") -Chunk14 *func_global_asm_80630588(Chunk14*, s32, s32, u8*); - /* // TODO: Quite close // Something to do with arg2? Loop condition? Break? diff --git a/src/global_asm/code_699B0.c b/src/global_asm/code_699B0.c index 1e4108e..aab7cce 100644 --- a/src/global_asm/code_699B0.c +++ b/src/global_asm/code_699B0.c @@ -488,21 +488,21 @@ void func_global_asm_80666280(u8 arg0) { void func_global_asm_80666428(Actor*, f32, f32, f32, void*, void*, void*, void*, u8); -void func_global_asm_80666290(Actor *arg0, void *arg1, void *arg2, void *arg3, void *arg4, u8 arg5) { - f32 sp3C; - f32 sp38; - f32 sp34; +void func_global_asm_80666290(Actor *actor, void *arg1, void *arg2, void *arg3, void *arg4, u8 arg5) { + f32 x; + f32 y; + f32 z; D_global_asm_807F94BC = 0; D_global_asm_807F94B3 = 0; - if (arg0->unkCC && !arg0->locked_to_pad && arg0->object_properties_bitfield & 0x10) { - getBonePosition(arg0, arg0->unkCC, &sp3C, &sp38, &sp34); + if (actor->unkCC && !actor->locked_to_pad && actor->object_properties_bitfield & 0x10) { + getBonePosition(actor, actor->unkCC, &x, &y, &z); } else { - sp3C = arg0->x_position; - sp38 = arg0->unk8C; - sp34 = arg0->z_position; + x = actor->x_position; + y = actor->unk8C; + z = actor->z_position; } - func_global_asm_80666428(arg0, sp3C, sp38, sp34, arg1, arg2, arg3, arg4, arg5); + func_global_asm_80666428(actor, x, y, z, arg1, arg2, arg3, arg4, arg5); } // BUG: Missing return? diff --git a/src/global_asm/code_80150.c b/src/global_asm/code_80150.c index e92ea24..5a33989 100644 --- a/src/global_asm/code_80150.c +++ b/src/global_asm/code_80150.c @@ -414,16 +414,16 @@ extern s32 D_global_asm_8071FE88; // TODO: Datatype extern s32 D_global_asm_8071FEAC; // TODO: Datatype void func_global_asm_8067DCC0(void) { - f32 temp_f20; + f32 scale; s32 temp_s0; s32 i; s32 pad; - temp_f20 = current_actor_pointer->animation_state->scale_y / 0.15; + scale = current_actor_pointer->animation_state->scale_y / 0.15; func_global_asm_8060E7EC(0, 0xB4, 0xA); func_global_asm_807149B8(0); func_global_asm_807149FC(1); - drawSpriteAtPosition(&D_global_asm_8071FE08, temp_f20 * 0.75, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position); + drawSpriteAtPosition(&D_global_asm_8071FE08, scale * 0.75, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position); playSoundAtActorPosition(current_actor_pointer, 0x23, 0xFF, 0x7F, 1); for (i = 0; i < 7; i++) { temp_s0 = (s32)(func_global_asm_806119A0() / 10000U) % 3; @@ -434,13 +434,13 @@ void func_global_asm_8067DCC0(void) { func_global_asm_80714950(2); switch (temp_s0) { case 0: - drawSpriteAtPosition(&D_global_asm_8071FE64, temp_f20 * 0.25, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position); + drawSpriteAtPosition(&D_global_asm_8071FE64, scale * 0.25, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position); break; case 1: - drawSpriteAtPosition(&D_global_asm_8071FE88, temp_f20 * 0.25, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position); + drawSpriteAtPosition(&D_global_asm_8071FE88, scale * 0.25, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position); break; case 2: - drawSpriteAtPosition(&D_global_asm_8071FEAC, temp_f20 * 0.25, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position); + drawSpriteAtPosition(&D_global_asm_8071FEAC, scale * 0.25, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position); break; } } @@ -450,37 +450,37 @@ extern s32 D_global_asm_80720120; extern s32 D_global_asm_80720340; extern s32 D_global_asm_8072038C; -void func_global_asm_8067DF44(f32 arg0, f32 arg1, f32 arg2, f32 arg3, u8 arg4, u8 arg5) { +void func_global_asm_8067DF44(f32 x, f32 y, f32 z, f32 arg3, u8 arg4, u8 arg5) { f64 sp80; f32 sp7C; - f32 temp_f20; - f32 temp_f22; - f32 temp_f24; + f32 randomZOffset; + f32 randomXOffset; + f32 randomYOffset; s32 i; if (arg5 != 0) { - playSoundAtPosition(arg0, arg1, arg2, 0xF6, 0xFF, 0x7F, 0x19, 0x1E, 0.3f, 0); + playSoundAtPosition(x, y, z, 0xF6, 0xFF, 0x7F, 0x19, 0x1E, 0.3f, 0); } func_global_asm_807149B8(1); func_global_asm_8071498C(&func_global_asm_8071B89C); - drawSpriteAtPosition(&D_global_asm_80720120, 0.0f, arg0, arg1 + 5.0f, arg2); + drawSpriteAtPosition(&D_global_asm_80720120, 0.0f, x, y + 5.0f, z); sp80 = arg3; sp7C = arg3 * 1.5; for (i = 0; i < 5; i++) { - temp_f22 = (((rand() >> 0xF) % 20) - 0xA) * arg3; - temp_f24 = (((rand() >> 0xF) % 20) - 0xA) * arg3; - temp_f20 = (((rand() >> 0xF) % 20) - 0xA) * arg3; + randomXOffset = (((rand() >> 0xF) % 20) - 0xA) * arg3; + randomYOffset = (((rand() >> 0xF) % 20) - 0xA) * arg3; + randomZOffset = (((rand() >> 0xF) % 20) - 0xA) * arg3; func_global_asm_8071496C(4); func_global_asm_807149B8(1); func_global_asm_807149FC(1); func_global_asm_8071498C(&func_global_asm_8071BB14); - drawSpriteAtPosition(&D_global_asm_80720340, sp7C, arg0 + temp_f22, arg1 + temp_f24, arg2 + temp_f20); + drawSpriteAtPosition(&D_global_asm_80720340, sp7C, x + randomXOffset, y + randomYOffset, z + randomZOffset); } func_global_asm_8071496C(4); func_global_asm_807149B8(1); func_global_asm_807149FC(1); func_global_asm_8071498C(&func_global_asm_8071BB14); - drawSpriteAtPosition(&D_global_asm_80720340, sp7C, arg0, arg1, arg2); + drawSpriteAtPosition(&D_global_asm_80720340, sp7C, x, y, z); if (arg4 != 0) { for (i = 0; i < 0xC; i++) { func_global_asm_807149B8(1); @@ -488,7 +488,7 @@ void func_global_asm_8067DF44(f32 arg0, f32 arg1, f32 arg2, f32 arg3, u8 arg4, u func_global_asm_80714950(i + 0x0B020000); func_global_asm_8071498C(&func_global_asm_8071ABDC); func_global_asm_80714998(1); - drawSpriteAtPosition(&D_global_asm_8072038C, sp80 * 0.5, arg0, arg1, arg2); + drawSpriteAtPosition(&D_global_asm_8072038C, sp80 * 0.5, x, y, z); } } } @@ -502,11 +502,11 @@ void func_global_asm_8067E278(u8 arg0, u8 arg1) { arg1); } -void func_global_asm_8067E2E4(Actor *arg0, u8 arg1, f32 arg2) { - f32 sp2C, sp28, sp24; +void func_global_asm_8067E2E4(Actor *actor, u8 boneIndex, f32 arg2) { + f32 x, y, z; - getBonePosition(current_actor_pointer, arg1, &sp2C, &sp28, &sp24); - func_global_asm_8067DF44(sp2C, sp28, sp24, arg2, 0, 1); + getBonePosition(current_actor_pointer, boneIndex, &x, &y, &z); + func_global_asm_8067DF44(x, y, z, arg2, 0, 1); } void func_global_asm_8067E348(void) { @@ -1228,11 +1228,13 @@ void func_global_asm_8068412C(void) { func_global_asm_807149B8(1); func_global_asm_807149A8(1000); func_global_asm_80714A28(4); - drawSpriteAtPosition(&D_global_asm_8071FC8C, - 1.3f, - current_actor_pointer->x_position, - current_actor_pointer->y_position + 13.0, - current_actor_pointer->z_position); + drawSpriteAtPosition( + &D_global_asm_8071FC8C, + 1.3f, + current_actor_pointer->x_position, + current_actor_pointer->y_position + 13.0, + current_actor_pointer->z_position + ); if (func_global_asm_80689F2C()) { current_actor_pointer->draw_distance = 2000; } else { diff --git a/src/global_asm/code_89250.c b/src/global_asm/code_89250.c index 8c8406b..f5165e4 100644 --- a/src/global_asm/code_89250.c +++ b/src/global_asm/code_89250.c @@ -143,40 +143,40 @@ void func_global_asm_80684900(u8 arg0) { func_global_asm_80714C08(&D_global_asm_8072139C, (((rand() >> 0xF) % 50) / 80.0) + 0.1, current_actor_pointer, 8, 0); } -void func_global_asm_80684A00(s16 arg0, s8 arg1) { - f32 sp3C, sp38, sp34, sp30; +void func_global_asm_80684A00(s16 boneIndex, s8 arg1) { + f32 x, y, z, scale; - sp30 = current_actor_pointer->animation_state->scale_y / 0.15; - getBonePosition(current_actor_pointer, arg0, &sp3C, &sp38, &sp34); + scale = current_actor_pointer->animation_state->scale_y / 0.15; + getBonePosition(current_actor_pointer, boneIndex, &x, &y, &z); func_global_asm_80714950((((rand() >> 0xF) % 100) + 400) * arg1); func_global_asm_8071498C(&func_global_asm_80717D4C); func_global_asm_807149B8(1); drawSpriteAtPosition(D_global_asm_8074E880[((rand() >> 0xF) % 1000) % 3], - sp30 * 0.8, - ((rand() >> 0xF) % 20) + (sp3C - 10.0f), - sp38, - ((rand() >> 0xF) % 20) + (sp34 - 10.0f) + scale * 0.8, + ((rand() >> 0xF) % 20) + (x - 10.0f), + y, + ((rand() >> 0xF) % 20) + (z - 10.0f) ); } -void func_global_asm_80684BB0(s16 arg0, s16 arg1, s16 arg2) { - f32 sp54; - f32 sp50; - f32 sp4C; - f32 sp48; +void func_global_asm_80684BB0(s16 boneIndex, s16 arg1, s16 arg2) { + f32 x; + f32 y; + f32 z; + f32 scale; - sp48 = current_actor_pointer->animation_state->scale_y / 0.15; - getBonePosition(current_actor_pointer, arg0, &sp54, &sp50, &sp4C); + scale = current_actor_pointer->animation_state->scale_y / 0.15; + getBonePosition(current_actor_pointer, boneIndex, &x, &y, &z); func_global_asm_80714950(arg1 + (arg2 << 0x10)); func_global_asm_8071498C(&func_global_asm_8071F2F8); func_global_asm_807149B8(1); func_global_asm_807149FC(MAX(2.0, arg2 * 0.02)); drawSpriteAtPosition( D_global_asm_8074E880[((rand() >> 0xF) % 1000) % 3], - sp48 * 0.8, - ((rand() >> 0xF) % 60) + (sp54 - 30.0f), - sp50, - ((rand() >> 0xF) % 60) + (sp4C - 30.0f) + scale * 0.8, + ((rand() >> 0xF) % 60) + (x - 30.0f), + y, + ((rand() >> 0xF) % 60) + (z - 30.0f) ); } @@ -226,14 +226,14 @@ void func_global_asm_80685020(u8 arg0, u8 arg1) { int func_global_asm_8071910C(); void func_global_asm_806850D0(void) { - f32 temp_f20; + f32 scale; s32 temp_s0; - temp_f20 = current_actor_pointer->animation_state->scale_y / 0.15; + scale = current_actor_pointer->animation_state->scale_y / 0.15; func_global_asm_807149B8(0); func_global_asm_807149FC(1); drawSpriteAtPosition(&D_global_asm_8071FE08, - temp_f20 * 0.75, + scale * 0.75, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position @@ -245,7 +245,7 @@ void func_global_asm_806850D0(void) { func_global_asm_80714998(2); func_global_asm_80714950(0); drawSpriteAtPosition(&D_global_asm_8072073C, - temp_f20 * 0.15, + scale * 0.15, current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position @@ -264,7 +264,7 @@ void func_global_asm_80685210(f32 arg0, s16 arg1, s16 arg2) { } } -void func_global_asm_806852C4(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { +void func_global_asm_806852C4(f32 scale, f32 x, f32 y, f32 z) { s16 i; for (i = 0; i < 8; i++) { @@ -272,7 +272,7 @@ void func_global_asm_806852C4(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { func_global_asm_80714950(i); func_global_asm_807149B8(1); changeActorColor(0xFF, 0xFF, 0xFF, 0xC8); - drawSpriteAtPosition(&D_global_asm_8071FFA0, arg0, arg1, arg2, arg3); + drawSpriteAtPosition(&D_global_asm_8071FFA0, scale, x, y, z); } } @@ -324,13 +324,13 @@ void func_global_asm_80685390(void) { } */ -void func_global_asm_80685520(f32 arg0, u8 arg1, f32 arg2, f32 arg3, f32 arg4) { +void func_global_asm_80685520(f32 scale, u8 arg1, f32 x, f32 y, f32 z) { s32 temp_s0; s32 i; if (D_global_asm_80750AD0 == 0) { if (arg1 > 0) { - func_global_asm_806852C4(arg0, arg2, arg3, arg4); + func_global_asm_806852C4(scale, x, y, z); } if (arg1 >= 2) { for (i = 0; i < 8; i++) { @@ -339,7 +339,7 @@ void func_global_asm_80685520(f32 arg0, u8 arg1, f32 arg2, f32 arg3, f32 arg4) { func_global_asm_807149B8(1); func_global_asm_807149FC(-1); changeActorColor(0xFF, 0xFF, 0xFF, 0xFF); - drawSpriteAtPosition(&D_global_asm_8071FF40, arg0 * 0.5, arg2, arg3, arg4); + drawSpriteAtPosition(&D_global_asm_8071FF40, scale * 0.5, x, y, z); } } if (arg1 >= 3) { @@ -349,7 +349,7 @@ void func_global_asm_80685520(f32 arg0, u8 arg1, f32 arg2, f32 arg3, f32 arg4) { func_global_asm_807149B8(1); func_global_asm_807149FC(-1); changeActorColor(0xFF, 0xFF, 0xFF, 0xFF); - drawSpriteAtPosition(D_global_asm_8074E880[i % 3], arg0, arg2, arg3, arg4); + drawSpriteAtPosition(D_global_asm_8074E880[i % 3], scale, x, y, z); } } } @@ -382,18 +382,18 @@ void func_global_asm_8068588C(Actor *arg0, s16 arg1, f32 arg2, f32 arg3, f32 arg func_global_asm_806858E8(arg0, arg1, arg2, arg3, arg4, arg5, arg6); } -void func_global_asm_806858E8(Actor *arg0, s16 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, s32 arg6) { +void func_global_asm_806858E8(Actor *arg0, s16 arg1, f32 scale, f32 x, f32 y, f32 z, s32 arg6) { if (arg0 != NULL) { if (arg1 != 0) { - getBonePosition(arg0, arg1, &arg3, &arg4, &arg5); + getBonePosition(arg0, arg1, &x, &y, &z); } } func_global_asm_8071498C(&func_global_asm_80718080); func_global_asm_80714950(arg6); - drawSpriteAtPosition(&D_global_asm_8071FFA0, arg2, arg3, arg4 + 5.0f, arg5)->unk338 = arg0; + drawSpriteAtPosition(&D_global_asm_8071FFA0, scale, x, y + 5.0f, z)->unk338 = arg0; } -void func_global_asm_80685984(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { +void func_global_asm_80685984(f32 scale, f32 x, f32 y, f32 z) { s32 pad; if (((rand() >> 0xF) % 100) >= 0x33) { @@ -402,18 +402,18 @@ void func_global_asm_80685984(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { func_global_asm_807149B8(1); changeActorColor(0x9B, 0x9B, 0x9B, 0xC8); func_global_asm_8071498C(&func_global_asm_80719EF4); - drawSpriteAtPosition(&D_global_asm_8071FFA0, arg0, (((rand() >> 0xF) % 100000) % 10) + (arg1 - 5.0f), arg2, (((rand() >> 0xF) % 100000) % 10) + (arg3 - 5.0f)); + drawSpriteAtPosition(&D_global_asm_8071FFA0, scale, (((rand() >> 0xF) % 100000) % 10) + (x - 5.0f), y, (((rand() >> 0xF) % 100000) % 10) + (z - 5.0f)); } } -void func_global_asm_80685B44(void *arg0, u8 arg1, f32 arg2, u8 arg3, u8 arg4, s16 arg5, s16 arg6, s16 arg7, s16 arg8) { - s8 temp_s0; - s8 temp_s4; +void func_global_asm_80685B44(void *sprite, u8 arg1, f32 scale, u8 arg3, u8 arg4, s16 arg5, s16 x, s16 y, s16 z) { + s8 randomZOffset; + s8 randomXOffset; s16 i; for (i = 0; i < arg3; i++) { - temp_s4 = (((rand() >> 0xF) % 32767) % (arg4 * 2)) + -arg4; - temp_s0 = (((rand() >> 0xF) % 32767) % (arg4 * 2)) + -arg4; + randomXOffset = (((rand() >> 0xF) % 32767) % (arg4 * 2)) + -arg4; + randomZOffset = (((rand() >> 0xF) % 32767) % (arg4 * 2)) + -arg4; func_global_asm_80714950(-arg5 - ((rand() >> 0xF) % 80)); func_global_asm_8071498C(&func_global_asm_807180F4); func_global_asm_807149B8(1); @@ -421,7 +421,7 @@ void func_global_asm_80685B44(void *arg0, u8 arg1, f32 arg2, u8 arg3, u8 arg4, s if (arg1) { func_global_asm_8071496C(arg1); } - drawSpriteAtPosition(arg0, arg2, arg6 + temp_s4, arg7, arg8 + temp_s0); + drawSpriteAtPosition(sprite, scale, x + randomXOffset, y, z + randomZOffset); } } @@ -599,7 +599,7 @@ void func_global_asm_80686CF8(Actor *arg0) { } } -void func_global_asm_80686E40(f32 arg0, f32 arg1, f32 arg2, s32 arg3) { +void func_global_asm_80686E40(f32 x, f32 y, f32 z, s32 arg3) { s32 i; s32 var_s4; s32 var_s5; @@ -620,7 +620,7 @@ void func_global_asm_80686E40(f32 arg0, f32 arg1, f32 arg2, s32 arg3) { func_global_asm_8071498C(&func_global_asm_80717930); func_global_asm_8071496C(i >> var_s4); func_global_asm_80714950(arg3); - drawSpriteAtPosition(D_global_asm_8074E880[i % 3], 0.5f, arg0, arg1, arg2); + drawSpriteAtPosition(D_global_asm_8074E880[i % 3], 0.5f, x, y, z); } } @@ -724,12 +724,12 @@ void func_global_asm_806877C8(u8 arg0) { } void func_global_asm_8068780C(u8 arg0, u8 arg1, u8 arg2, u8 arg3) { - f32 sp74; - f32 sp70; - f32 sp6C; - f32 sp68; - f32 sp64; - f32 sp60; + f32 x1; + f32 y1; + f32 z1; + f32 x2; + f32 y2; + f32 z2; f32 sp5C; f32 sp58; f32 sp54; @@ -737,15 +737,15 @@ void func_global_asm_8068780C(u8 arg0, u8 arg1, u8 arg2, u8 arg3) { f32 sp4C; f32 sp48; u16 sp46; // Padding, not used - u8 sp45; - u8 sp44; + u8 boneIndex1; + u8 boneIndex2; - sp45 = (((rand() >> 0xF) % 32767) % ((arg1 - arg0) + 1)) + arg0; - sp44 = (((rand() >> 0xF) % 32767) % ((arg3 - arg2) + 1)) + arg2; - getBonePosition(current_actor_pointer, sp45, &sp74, &sp70, &sp6C); - getBonePosition(current_actor_pointer, sp44, &sp68, &sp64, &sp60); - func_global_asm_80626F8C(sp74, sp70, sp6C, &sp58, &sp54, 0, 1.0f, 0); - func_global_asm_80626F8C(sp68, sp64, sp60, &sp50, &sp4C, 0, 1.0f, 0); + boneIndex1 = (((rand() >> 0xF) % 32767) % ((arg1 - arg0) + 1)) + arg0; + boneIndex2 = (((rand() >> 0xF) % 32767) % ((arg3 - arg2) + 1)) + arg2; + getBonePosition(current_actor_pointer, boneIndex1, &x1, &y1, &z1); + getBonePosition(current_actor_pointer, boneIndex2, &x2, &y2, &z2); + func_global_asm_80626F8C(x1, y1, z1, &sp58, &sp54, 0, 1.0f, 0); + func_global_asm_80626F8C(x2, y2, z2, &sp50, &sp4C, 0, 1.0f, 0); sp5C = ((func_global_asm_80665DE0(sp50, sp4C, sp58, sp54) * 0x168) / 4096) + 0x5A; if (sp5C < 270.0f) { sp5C += 180.0f; @@ -755,7 +755,7 @@ void func_global_asm_8068780C(u8 arg0, u8 arg1, u8 arg2, u8 arg3) { func_global_asm_807149FC(1); func_global_asm_80714950(sp5C); func_global_asm_8071498C(&func_global_asm_8071E028); - drawSpriteAtPosition(&D_global_asm_80720B24, sp48 * 0.008, (sp74 + sp68) * 0.5, (sp70 + sp64) * 0.5, (sp6C + sp60) * 0.5); + drawSpriteAtPosition(&D_global_asm_80720B24, sp48 * 0.008, (x1 + x2) * 0.5, (y1 + y2) * 0.5, (z1 + z2) * 0.5); if (((rand() >> 0xF) % 1000) & 1) { func_global_asm_806595F0(1); createLight(current_actor_pointer->x_position, current_actor_pointer->y_position, current_actor_pointer->z_position, 0.0f, 0.0f, 0.0f, 150.0f, 0, 0x96, 0x64, 0xFF); diff --git a/src/global_asm/code_936B0.c b/src/global_asm/code_936B0.c index 4daec6d..6dc2214 100644 --- a/src/global_asm/code_936B0.c +++ b/src/global_asm/code_936B0.c @@ -296,9 +296,9 @@ void func_global_asm_80690500(void) { A178_80690500 *a178; AAD_global_asm_80690500_unk104 *aaD_104; u8 sp4B; - f32 sp44; - f32 sp40; - f32 sp3C; + f32 x; + f32 y; + f32 z; aaD = current_actor_pointer->additional_actor_data; a178 = current_actor_pointer->unk178; @@ -321,13 +321,13 @@ void func_global_asm_80690500(void) { setAction(0x4C, current_actor_pointer, PaaD->unk1A4); } if (func_global_asm_8061CB50() == 0 || (func_global_asm_8061CB50() != 0 && player_pointer->unk6A & 0x100)) { - getBonePosition(current_actor_pointer, 1, &sp44, &sp40, &sp3C); - createLight(sp44, sp40, sp3C, 0.0f, 0.0f, 0.0f, 300.0f, 0, 0xFF, 0xFF, 0xFF); + getBonePosition(current_actor_pointer, 1, &x, &y, &z); + createLight(x, y, z, 0.0f, 0.0f, 0.0f, 300.0f, 0, 0xFF, 0xFF, 0xFF); if (isFlagSet(0x6B, FLAG_TYPE_TEMPORARY) == 0) { if (func_global_asm_8061CB50() != 0) { if (player_pointer->unk6A & 0x100) { - getBonePosition(current_actor_pointer, 2, &sp44, &sp40, &sp3C); - func_global_asm_8070033C(sp44, sp40, sp3C, 0.0f, 0.0f, 0.0f, 0.0f, 0xFF, 0xFF, 0xFF); + getBonePosition(current_actor_pointer, 2, &x, &y, &z); + func_global_asm_8070033C(x, y, z, 0.0f, 0.0f, 0.0f, 0.0f, 0xFF, 0xFF, 0xFF); } } if (func_global_asm_8061CB50() == 0) { @@ -407,13 +407,13 @@ void func_global_asm_80690AB0(s16 arg0, s16 arg1, s16 arg2, s16 arg3, f32 arg4, func_global_asm_80690930(var_s0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); } -void func_global_asm_80690BE8(s16 arg0, s16 arg1, f32 arg2, Actor *arg3, s32 arg4, f32 arg5, Actor *arg6) { - f32 sp34; - f32 sp30; - f32 sp2C; +void func_global_asm_80690BE8(s16 arg0, s16 arg1, f32 arg2, Actor *arg3, s32 boneIndex, f32 arg5, Actor *arg6) { + f32 x; + f32 y; + f32 z; - getBonePosition(arg3, arg4, &sp34, &sp30, &sp2C); - func_global_asm_80690A28(arg0, arg1, arg2, sp34, sp30, sp2C, arg5, arg6); + getBonePosition(arg3, boneIndex, &x, &y, &z); + func_global_asm_80690A28(arg0, arg1, arg2, x, y, z, arg5, arg6); } #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_936B0/func_global_asm_80690C60.s") diff --git a/src/global_asm/code_A2F10.c b/src/global_asm/code_A2F10.c index 8291c6d..1f7660e 100644 --- a/src/global_asm/code_A2F10.c +++ b/src/global_asm/code_A2F10.c @@ -570,9 +570,9 @@ void func_global_asm_806A0310(void) { void func_global_asm_806A0330(void) { s32 pad[8]; s32 i; - f32 sp68; - f32 sp64; - f32 sp60; + f32 x; + f32 y; + f32 z; if (!(current_actor_pointer->object_properties_bitfield & 0x10)) { current_actor_pointer->noclip_byte = 0x1C; @@ -600,12 +600,12 @@ void func_global_asm_806A0330(void) { func_global_asm_8061F0B0(D_global_asm_807F5D10, 0xF, 0xF); playSoundAtActorPosition(current_actor_pointer, 0x162, 0xE1, 0x3C, 1); for (i = 1; i < 7; i++) { - getBonePosition(current_actor_pointer, i, &sp68, &sp64, &sp60); + getBonePosition(current_actor_pointer, i, &x, &y, &z); func_global_asm_8071496C(i); func_global_asm_807149B8(1); func_global_asm_8071498C(&func_global_asm_8071BB14); changeActorColor(0xFF, 0xFF, 0xFF, 0x96); - drawSpriteAtPosition(&D_global_asm_80720BE8, 1.5f, sp68, sp64, sp60); + drawSpriteAtPosition(&D_global_asm_80720BE8, 1.5f, x, y, z); } deleteActor(current_actor_pointer); } diff --git a/src/global_asm/code_A6280.c b/src/global_asm/code_A6280.c index 5382a4f..0ae56f7 100644 --- a/src/global_asm/code_A6280.c +++ b/src/global_asm/code_A6280.c @@ -104,7 +104,7 @@ void func_global_asm_806A1ABC(void) { extern s32 D_global_asm_8071FFA0; void func_global_asm_806A1AC4(void) { - f32 temp_f20; + f32 randomScale; s16 i; if (!(current_actor_pointer->object_properties_bitfield & 0x10)) { @@ -152,13 +152,13 @@ void func_global_asm_806A1AC4(void) { case 0: if ((object_timer & 7) == 0) { for (i = 0; i < 0xC; i++) { - temp_f20 = ((((rand() >> 0xF) % 32767) % 171) + 0x96) * 0.01; + randomScale = ((((rand() >> 0xF) % 32767) % 171) + 0x96) * 0.01; func_global_asm_8071498C(&func_global_asm_8071E864); func_global_asm_80714950(i); func_global_asm_807149B8(1); changeActorColor(0x8C, 0x8C, 0x8C, 0xFF); func_global_asm_80714998(5); - drawSpriteAtPosition(&D_global_asm_8071FFA0, temp_f20, current_actor_pointer->x_position, current_actor_pointer->y_position + 50.0f, current_actor_pointer->z_position); + drawSpriteAtPosition(&D_global_asm_8071FFA0, randomScale, current_actor_pointer->x_position, current_actor_pointer->y_position + 50.0f, current_actor_pointer->z_position); } } break; @@ -217,9 +217,9 @@ void func_global_asm_806A1FD8(void) { AAD_global_asm_806A1FD8 *aaD; s32 i; u8 var_a1; - f32 sp54; - f32 sp50; - f32 sp4C; + f32 x; + f32 y; + f32 z; Actor *temp_s0; aaD = current_actor_pointer->additional_actor_data; @@ -230,7 +230,7 @@ void func_global_asm_806A1FD8(void) { aaD->unk8 = current_actor_pointer->y_position; current_actor_pointer->unk130 = 0x46; current_actor_pointer->unk131 = 0x14; - if (isFlagSet(func_global_asm_80688C30(func_global_asm_80688E68(current_actor_pointer)), FLAG_TYPE_PERMANENT) != 0) { + if (isFlagSet(func_global_asm_80688C30(func_global_asm_80688E68(current_actor_pointer)), FLAG_TYPE_PERMANENT)) { deleteActor(current_actor_pointer); } } @@ -255,8 +255,8 @@ void func_global_asm_806A1FD8(void) { func_global_asm_8071498C(&func_global_asm_80717D4C); func_global_asm_80714950(-0x64); changeActorColor(0x64, 0x46, 0x1E, 0xFF); - getBonePosition(current_actor_pointer, i, &sp54, &sp50, &sp4C); - drawSpriteAtPosition(&D_global_asm_8071FF18, 2.0f, sp54, sp50 + 10.0, sp4C); + getBonePosition(current_actor_pointer, i, &x, &y, &z); + drawSpriteAtPosition(&D_global_asm_8071FF18, 2.0f, x, y + 10.0, z); } aaD->unk0 = 0xF; playSoundAtActorPosition(current_actor_pointer, 0x1C1, 0xFF, 0x7F, 1); diff --git a/src/global_asm/code_A8400.c b/src/global_asm/code_A8400.c index 1a12e5c..af1d9f2 100644 --- a/src/global_asm/code_A8400.c +++ b/src/global_asm/code_A8400.c @@ -107,7 +107,6 @@ void func_global_asm_806A4DDC(Actor *arg0); void func_global_asm_806A5DF0(s16 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4, u8 arg5, s16 arg6, s32 arg7); s32 func_global_asm_80723020(Actor *arg0, s32 arg1, s32 arg2, f32 arg3, f32 arg4, f32 arg5, u8 arg6); -void func_global_asm_806F91B4(s32 HUDItemIndex, u8 playerIndex, s16 amount); void func_global_asm_80723484(s32, Actor*); void func_global_asm_807149FC(s32 arg0); @@ -858,7 +857,7 @@ void func_global_asm_806A7600(void *arg0) { setFlag(sp34->unk6, TRUE, FLAG_TYPE_PERMANENT); } func_global_asm_806F8BC4(0, 0, 0); - func_global_asm_806F91B4(0, 0, 0xA); + changeCollectableCount(0, 0, 10); } } @@ -910,7 +909,7 @@ void func_global_asm_806A7BDC(void) { func_global_asm_80714C08(sp44.unk0[sp60], 0.2f, current_actor_pointer, 1, 0); playSong(0x7F, 1.0f); func_global_asm_806F8BC4(7, 0, 0); - func_global_asm_806F91B4(7, 0, func_global_asm_806F8EDC(7, 0)); + changeCollectableCount(7, 0, func_global_asm_806F8EDC(7, 0)); } if (!(object_timer & 0xF)) { func_global_asm_807149B8(1); diff --git a/src/global_asm/code_B2CE0.c b/src/global_asm/code_B2CE0.c index 386a7d4..d59a5de 100644 --- a/src/global_asm/code_B2CE0.c +++ b/src/global_asm/code_B2CE0.c @@ -56,20 +56,20 @@ void func_global_asm_806ADFE0(void) { } } -void func_global_asm_806AE2B0(s32 modelIndex, s16 arg1, s16 arg2, s16 arg3) { - f32 sp2C; - f32 sp28; - f32 sp24; +void func_global_asm_806AE2B0(s32 modelIndex, s16 arg1, s16 boneIndex, s16 arg3) { + f32 x; + f32 y; + f32 z; if (spawnActor(ACTOR_KROSSBONES_HEAD, modelIndex)) { - getBonePosition(current_actor_pointer, arg2, &sp2C, &sp28, &sp24); + getBonePosition(current_actor_pointer, boneIndex, &x, &y, &z); last_spawned_actor->floor = current_actor_pointer->floor; last_spawned_actor->y_rotation = current_actor_pointer->y_rotation + arg1; last_spawned_actor->unkEE = last_spawned_actor->y_rotation; last_spawned_actor->unk168 = arg3; - last_spawned_actor->x_position = sp2C; - last_spawned_actor->y_position = sp28; - last_spawned_actor->z_position = sp24; + last_spawned_actor->x_position = x; + last_spawned_actor->y_position = y; + last_spawned_actor->z_position = z; func_global_asm_807248B0(last_spawned_actor, current_actor_pointer->animation_state->scale_y); } } diff --git a/src/global_asm/code_B5EC0.c b/src/global_asm/code_B5EC0.c index 2f1d028..a6a63f6 100644 --- a/src/global_asm/code_B5EC0.c +++ b/src/global_asm/code_B5EC0.c @@ -8,13 +8,13 @@ extern s32 D_global_asm_80750600[]; // TODO: Are these correct? extern s32 D_global_asm_8071FFA0; -void func_global_asm_806B11C0(u8 arg0) { - f32 sp3C, sp38, sp34; +void func_global_asm_806B11C0(u8 boneIndex) { + f32 x, y, z; - getBonePosition(current_actor_pointer, arg0, &sp3C, &sp38, &sp34); - func_global_asm_80685B44(&D_global_asm_8071FFA0, 0, 1.0f, 3, 5, 0x28, sp3C, current_actor_pointer->floor, sp34); + getBonePosition(current_actor_pointer, boneIndex, &x, &y, &z); + func_global_asm_80685B44(&D_global_asm_8071FFA0, 0, 1.0f, 3, 5, 0x28, x, current_actor_pointer->floor, z); // spawnShockwave - func_global_asm_806846B4(sp3C, current_actor_pointer->floor, sp34, 0.05f, 0.04, current_actor_pointer, 0); + func_global_asm_806846B4(x, current_actor_pointer->floor, z, 0.05f, 0.04, current_actor_pointer, 0); } void func_global_asm_806B1290(void) { diff --git a/src/global_asm/code_BDEE0.c b/src/global_asm/code_BDEE0.c index ea289cb..7140845 100644 --- a/src/global_asm/code_BDEE0.c +++ b/src/global_asm/code_BDEE0.c @@ -20,7 +20,7 @@ void func_global_asm_806B9CB0() { renderActor(current_actor_pointer, 0); } -void func_global_asm_806B9CE0(u8 arg0, s8 arg1) { +void func_global_asm_806B9CE0(u8 arg0, s8 yOffset) { switch (arg0) { case 0: func_global_asm_8071498C(&func_global_asm_8071720C); @@ -35,7 +35,7 @@ void func_global_asm_806B9CE0(u8 arg0, s8 arg1) { D_global_asm_8074E880[((rand() >> 0xF) % 1000) % 3], (((rand() >> 0xF) % 256) * 0.001953125) + 0.5, ((rand() >> 0xF) % 6) + (current_actor_pointer->x_position - 3.0f), - current_actor_pointer->y_position + arg1, + current_actor_pointer->y_position + yOffset, ((rand() >> 0xF) % 6) + (current_actor_pointer->z_position - 3.0f) ); } diff --git a/src/global_asm/code_C2A90.c b/src/global_asm/code_C2A90.c index c5f42fc..579e9f9 100644 --- a/src/global_asm/code_C2A90.c +++ b/src/global_asm/code_C2A90.c @@ -29,7 +29,6 @@ extern u16 D_global_asm_807FC930[]; void func_global_asm_8061C518(Actor*, Actor*, s32, s32, s32, s32, s32, s32, s32, s32, f32); void func_global_asm_8061C600(Actor*, Actor*, s32, s32, s32, s32, s32, s32, s32, s32, f32); void func_global_asm_806BF920(void); -void func_global_asm_806F91B4(s32, u8, s32); int func_global_asm_807035C4(); // TODO: Signature void func_global_asm_80718BF4(void); int func_global_asm_807197B4(); // TODO: Signature @@ -152,7 +151,7 @@ void func_global_asm_806BE09C(void) { if (!(object_timer & 3)) { sp3C = &D_global_asm_807FC950->character_progress[*current_character_index]; D_global_asm_807FDC90->unk2C--; - func_global_asm_806F91B4(0, 0, -1); + changeCollectableCount(0, 0, -1); sp3C->coloured_bananas_fed_to_tns[levelIndex]++; for (i = 0; i < 5; i++) { count += D_global_asm_807FC950[0].character_progress[i].coloured_bananas_fed_to_tns[levelIndex]; } if (count >= D_global_asm_807446C0[levelIndex]) { @@ -920,14 +919,14 @@ void func_global_asm_806C28B8(void) { } */ -void func_global_asm_806C2A64(u8 arg0, u8 arg1, u8 arg2, f32 arg3, f32 arg4, f32 arg5, void *arg6, f32 arg7) { +void func_global_asm_806C2A64(u8 arg0, u8 arg1, u8 arg2, f32 x, f32 y, f32 z, void *sprite, f32 scale) { func_global_asm_807149A8(1000); func_global_asm_80714998(0xFF); func_global_asm_80714944(((rand() >> 0xF) % 32767) % 11); changeActorColor(arg0, arg1, arg2, 0xFF); func_global_asm_8071498C(&func_global_asm_80717D84); func_global_asm_80714950(2); - drawSpriteAtPosition(arg6, arg7 * 0.2, arg3, arg4, arg5); + drawSpriteAtPosition(sprite, scale * 0.2, x, y, z); } #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_C2A90/func_global_asm_806C2B2C.s") diff --git a/src/global_asm/code_CC800.c b/src/global_asm/code_CC800.c index bde920a..bbd33bc 100644 --- a/src/global_asm/code_CC800.c +++ b/src/global_asm/code_CC800.c @@ -59,8 +59,6 @@ extern ExitData D_global_asm_807FC908; extern ExitData D_global_asm_807FC918; extern s16 D_global_asm_807FC930[]; -void func_global_asm_806F91B4(s32, u8, s32); - void func_global_asm_806C7B00(void) { s16 i; for (i = 0; i < 0xE; i++) { @@ -697,11 +695,11 @@ void func_global_asm_806C9AE0(void) { D_global_asm_807FD56C = 0; } -void func_global_asm_806C9C1C(s32 arg0) { +void func_global_asm_806C9C1C(s32 playerIndex) { s32 i; for (i = 0; i < 5; i++) { - func_global_asm_806F91B4(D_global_asm_80750B34[i], arg0, 9999); + changeCollectableCount(D_global_asm_80750B34[i], playerIndex, 9999); } func_global_asm_806F833C(0); } diff --git a/src/global_asm/code_CEAE0.c b/src/global_asm/code_CEAE0.c index c0970da..dd028f8 100644 --- a/src/global_asm/code_CEAE0.c +++ b/src/global_asm/code_CEAE0.c @@ -96,7 +96,6 @@ extern s16 D_global_asm_807FD584; // index into a ton of arrays extern u8 D_global_asm_807FD586; void func_global_asm_8062217C(Actor*, u8); -void func_global_asm_806F91B4(s32, s32, s16); int func_global_asm_806FF358(); // TODO: Signature int func_global_asm_806FF75C(); // TODO: Signature void func_global_asm_80665160(Actor *, s16, s16); @@ -316,7 +315,7 @@ void func_global_asm_806CA2E4(void) { current_actor_pointer->control_state = 0x2D; current_actor_pointer->control_state_progress = 0; func_global_asm_806F8BC4(5, 0, 0); - func_global_asm_806F91B4(5, extra_player_info_pointer->unk1A4, -1 * func_global_asm_806FA7A4(5)); + changeCollectableCount(5, extra_player_info_pointer->unk1A4, -1 * func_global_asm_806FA7A4(5)); playAnimation(current_actor_pointer, 0x42); playSoundAtActorPosition(current_actor_pointer, 0xF2, 0xFF, 0x7F, 0); current_actor_pointer->unkB8 = 0.0f; @@ -388,7 +387,7 @@ void func_global_asm_806CB53C(void) { } if (!(D_global_asm_80750B54[current_actor_pointer->control_state].unk0 & 0x300) && !(extra_player_info_pointer->unk1F0 & 0x14000) && !func_global_asm_8061CB50()) { if ((extra_player_info_pointer->unk1F4 & 0x10) == 0) { - func_global_asm_806F91B4(5, extra_player_info_pointer->unk1A4, -1); + changeCollectableCount(5, extra_player_info_pointer->unk1A4, -1); } } } else { @@ -1266,23 +1265,23 @@ void func_global_asm_806CEE64(f32 arg0) { } void func_global_asm_806CEED8(void) { - f32 sp44; // 44 - f32 sp40; // 40 - f32 sp3C; // 3C - f32 sp38; // 38 - f32 sp34; // 34 - f32 sp30; // 30 - f32 d; // 2C - f32 sp28; // 28 - s32 sp24; // 24 - s32 sp20; // 20 + f32 x2; + f32 x1; + f32 y2; + f32 y1; + f32 z2; + f32 z1; + f32 dxz; + f32 dy; + s32 boneIndex1; + s32 boneIndex2; - func_global_asm_806CF2EC(&sp24, &sp20); - getBonePosition(current_actor_pointer, sp24, &sp40, &sp38, &sp30); - getBonePosition(current_actor_pointer, sp20, &sp44, &sp3C, &sp34); - sp28 = sp3C - sp38; - d = sqrtf(((sp34 - sp30) * (sp34 - sp30)) + ((sp44 - sp40) * (sp44 - sp40))); - extra_player_info_pointer->unk1BC = ((0.0 - (func_global_asm_80611BB4(sp28, d) * 57.29577637f)) + 270.0); + func_global_asm_806CF2EC(&boneIndex1, &boneIndex2); + getBonePosition(current_actor_pointer, boneIndex1, &x1, &y1, &z1); + getBonePosition(current_actor_pointer, boneIndex2, &x2, &y2, &z2); + dy = y2 - y1; + dxz = sqrtf(((z2 - z1) * (z2 - z1)) + ((x2 - x1) * (x2 - x1))); + extra_player_info_pointer->unk1BC = ((0.0 - (func_global_asm_80611BB4(dy, dxz) * 57.29577637f)) + 270.0); } #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_CEAE0/func_global_asm_806CEFBC.s") @@ -2541,21 +2540,21 @@ void func_global_asm_806D25CC(void) { } void func_global_asm_806D266C(void) { - f32 sp2C, sp28, sp24; + f32 x, y, z; func_global_asm_806D2378(); func_global_asm_806D25CC(); - getBonePosition(current_actor_pointer, 3, &sp2C, &sp28, &sp24); - func_global_asm_806F4D70(cc_player_index, sp2C, sp28, sp24, 25.0f); + getBonePosition(current_actor_pointer, 3, &x, &y, &z); + func_global_asm_806F4D70(cc_player_index, x, y, z, 25.0f); } void func_global_asm_806D26D8(void) { - f32 sp2C, sp28, sp24; + f32 x, y, z; func_global_asm_806D2378(); func_global_asm_806D25CC(); - getBonePosition(current_actor_pointer, 2, &sp2C, &sp28, &sp24); - func_global_asm_806F4D70(cc_player_index, sp2C, sp28, sp24, 25.0f); + getBonePosition(current_actor_pointer, 2, &x, &y, &z); + func_global_asm_806F4D70(cc_player_index, x, y, z, 25.0f); } void func_global_asm_806D2744(s32 arg0) { diff --git a/src/global_asm/code_D78D0.c b/src/global_asm/code_D78D0.c index c28b77b..7d9d376 100644 --- a/src/global_asm/code_D78D0.c +++ b/src/global_asm/code_D78D0.c @@ -78,7 +78,6 @@ extern s32 D_global_asm_807FBB68; extern f32 D_global_asm_807FBC58; extern s16 D_global_asm_807FD584; // index into a ton of arrays -void func_global_asm_806F91B4(s32, s32, s16); void func_global_asm_80665160(Actor *, s16, s16); f32 func_global_asm_806CD898(f32 currentSpeed, f32 desiredSpeed, f32 boostAmount); // boostSpeed void func_global_asm_806CEE64(f32); @@ -236,7 +235,7 @@ void func_global_asm_806D2E9C(void) { if (func_global_asm_8061CB50() == 0) { func_global_asm_806CC948(); if ((func_global_asm_806F8AD4(5, cc_player_index) != 0) && !(extra_player_info_pointer->unk1F0 & 0x10000)) { - func_global_asm_806F91B4(5, cc_player_index, -1); + changeCollectableCount(5, cc_player_index, -1); } } renderActor(current_actor_pointer, 0); @@ -3132,7 +3131,7 @@ void func_global_asm_806DED44(void) { func_global_asm_80709464(PaaD->unk1A4); for (i = 0; i < 4; i++) { - func_global_asm_806F91B4(D_global_asm_80750FE0[i], 0, 9999); + changeCollectableCount(D_global_asm_80750FE0[i], 0, 9999); func_global_asm_806F8BC4(D_global_asm_80750FE0[i], 0, 0); } } diff --git a/src/global_asm/code_E4090.c b/src/global_asm/code_E4090.c index 098bafd..0f19332 100644 --- a/src/global_asm/code_E4090.c +++ b/src/global_asm/code_E4090.c @@ -39,7 +39,6 @@ extern u8 D_global_asm_807FC8B9; extern s16 D_global_asm_807FD584; // index into a ton of arrays extern f32 D_global_asm_807FD888; -void func_global_asm_806F91B4(s32, s32, s16); f32 func_global_asm_806DFFA0(f32, s16, s16); void func_global_asm_806EAB44(Actor *arg0, u8 arg1); s32 handleInputsForControlState(s32 arg0); @@ -1702,7 +1701,7 @@ void func_global_asm_806E52D0(void) { current_actor_pointer->noclip_byte = 1; } if (!temp_v1) { - func_global_asm_806F91B4(7, cc_player_index, -1); + changeCollectableCount(7, cc_player_index, -1); } } if (!temp_v1) { diff --git a/src/global_asm/code_EBBE0.c b/src/global_asm/code_EBBE0.c index 6787660..8452e7d 100644 --- a/src/global_asm/code_EBBE0.c +++ b/src/global_asm/code_EBBE0.c @@ -59,7 +59,6 @@ extern f32 D_global_asm_807FD888; extern void func_global_asm_8068E474(void); void func_global_asm_8061C2F0(Actor *, f32, f32, f32, f32, f32, f32, s32); void func_global_asm_8062217C(Actor*, u8); -void func_global_asm_806F91B4(s32, s32, s16); void func_global_asm_806EAB44(Actor *arg0, u8 arg1); void func_global_asm_806CFECC(void); s16 func_global_asm_8062773C(s32); @@ -857,7 +856,7 @@ void func_global_asm_806E9BA8(s32 arg0) { playSound(0x263, 0x7FFF, 63.0f, 1.0f, 0xA, 0); current_actor_pointer->control_state = arg0; current_actor_pointer->control_state_progress = 0; - func_global_asm_806F91B4(6, cc_player_index, -1); + changeCollectableCount(6, cc_player_index, -1); createLight( character_change_array[cc_player_index].look_at_eye_x, character_change_array[cc_player_index].look_at_eye_y, diff --git a/src/global_asm/code_F9450.c b/src/global_asm/code_F9450.c index 2322d93..a527be2 100644 --- a/src/global_asm/code_F9450.c +++ b/src/global_asm/code_F9450.c @@ -9,9 +9,9 @@ extern s16 D_global_asm_807FD724; extern u8 D_global_asm_80754238[]; typedef struct { - f32 unk0; - f32 unk4; - f32 unk8; + f32 unk0; // x + f32 unk4; // y + f32 unk8; // z f32 unkC; } Struct807FD740; @@ -25,12 +25,12 @@ void func_global_asm_806F4750() { #pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_F9450/func_global_asm_806F4778.s") -void func_global_asm_806F4D70(u8 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { - D_global_asm_807FD740[arg0].unk0 = arg1; - D_global_asm_807FD740[arg0].unk4 = arg2; - D_global_asm_807FD740[arg0].unk8 = arg3; - D_global_asm_807FD740[arg0].unkC = arg4; - D_global_asm_807FD780[arg0] = NULL; +void func_global_asm_806F4D70(u8 playerIndex, f32 x, f32 y, f32 z, f32 arg4) { + D_global_asm_807FD740[playerIndex].unk0 = x; + D_global_asm_807FD740[playerIndex].unk4 = y; + D_global_asm_807FD740[playerIndex].unk8 = z; + D_global_asm_807FD740[playerIndex].unkC = arg4; + D_global_asm_807FD780[playerIndex] = NULL; } // close diff --git a/src/global_asm/hud.c b/src/global_asm/hud.c index 2580efb..453bf42 100644 --- a/src/global_asm/hud.c +++ b/src/global_asm/hud.c @@ -606,10 +606,10 @@ u16 func_global_asm_806F8EDC(s32 HUDItemIndex, s32 playerIndex) { } // Close -#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/hud/func_global_asm_806F91B4.s") +#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/hud/changeCollectableCount.s") /* -void func_global_asm_806F91B4(s32 HUDItemIndex, u8 playerIndex, s16 amount) { +void changeCollectableCount(s32 HUDItemIndex, u8 playerIndex, s16 amount) { HUDDisplay *HUDItem; CharacterProgress *sp48; s32 maxItemCapacity; diff --git a/src/menu/code_1AF0.c b/src/menu/code_1AF0.c index 3c48f6b..8361453 100644 --- a/src/menu/code_1AF0.c +++ b/src/menu/code_1AF0.c @@ -54,8 +54,6 @@ void func_menu_80025FB4(MenuStruct1*, CharacterProgress*, s32); void func_menu_80026B28(MenuStruct1*, CharacterProgress*, s32); void func_menu_80026DAC(MenuStruct1*, CharacterProgress*, s32); -void func_global_asm_806F91B4(s32, s32, s16); - s32 func_menu_80025AF0(MenuStruct1 *arg0, s32 characterIndex) { s32 phi_v1; s32 phi_v0; @@ -170,9 +168,9 @@ void func_menu_80025E04(MenuStruct1 *arg0, CharacterProgress *arg1) { } break; } - func_global_asm_806F91B4(1, 0, -arg0->unk4); + changeCollectableCount(1, 0, -arg0->unk4); if (sp1E >= 0) { - func_global_asm_806F91B4(sp1E, 0, 9999); + changeCollectableCount(sp1E, 0, 9999); } func_global_asm_8060DEC8(); // saveTheGame() } @@ -637,7 +635,7 @@ void func_menu_80026DAC(MenuStruct1 *arg0, CharacterProgress *arg1, s32 flagInde temp2 = func_global_asm_806F8EDC(sp24, 0); if (temp < temp2) { loadText(current_actor_pointer, sp2C, sp28); - func_global_asm_806F91B4(sp24, 0, 999); + changeCollectableCount(sp24, 0, 999); arg0->unkE = 0; cutsceneIndex = 5; } diff --git a/src/minecart/code_0.c b/src/minecart/code_0.c index 4d3f5cc..1a17b9d 100644 --- a/src/minecart/code_0.c +++ b/src/minecart/code_0.c @@ -89,7 +89,6 @@ void func_minecart_80024254(Struct80024254_arg0 *arg0) { } } -void func_global_asm_8072177C(Actor *, s16, s16, s16, s32, s32, s32, s32, s32); void func_minecart_800253C0(void *, s16, u8); extern s16 D_global_asm_80750AC4; @@ -125,9 +124,9 @@ void func_minecart_8002430C(u8 arg0, s32 arg1, s16 arg2, u8 arg3) { f32 dx; f32 dz; f32 dy; - f32 sp60; - f32 sp5C; - f32 sp58; + f32 z; + f32 y; + f32 x; aaD = current_actor_pointer->additional_actor_data; PaaD = character_change_array->player_pointer->PaaD; @@ -198,30 +197,30 @@ void func_minecart_8002430C(u8 arg0, s32 arg1, s16 arg2, u8 arg3) { func_global_asm_8068ECF4(6, 0xFF); func_minecart_80024254(aaD); func_minecart_800253C0(aaD, arg2, arg3); - getBonePosition(current_actor_pointer, 5, &sp58, &sp5C, &sp60); - func_global_asm_8072177C(current_actor_pointer, sp58, sp5C, sp60, 0xFF, 0xFF, 0xFF, 0xFF, 0); - func_global_asm_8072177C(aaD->unk4, sp58, sp5C, sp60, 0xFF, 0xFF, 0xFF, 0xFF, 0); + getBonePosition(current_actor_pointer, 5, &x, &y, &z); + addActorRecolor(current_actor_pointer, x, y, z, 0xFF, 0xFF, 0xFF, 0xFF, 0); + addActorRecolor(aaD->unk4, x, y, z, 0xFF, 0xFF, 0xFF, 0xFF, 0); } } void func_minecart_80024768(void) { - f32 sp4C; - f32 sp48; - f32 sp44; - f32 sp40; - f32 sp3C; - f32 sp38; + f32 z2; + f32 y2; + f32 x2; + f32 z1; + f32 y1; + f32 x1; if (extra_player_info_pointer->unk1F0 & 0x10000002) { - getBonePosition(current_actor_pointer, 2, &sp38, &sp3C, &sp40); - getBonePosition(current_actor_pointer, 1, &sp44, &sp48, &sp4C); + getBonePosition(current_actor_pointer, 2, &x1, &y1, &z1); + getBonePosition(current_actor_pointer, 1, &x2, &y2, &z2); } else { - getBonePosition(current_actor_pointer, 1, &sp38, &sp3C, &sp40); - getBonePosition(current_actor_pointer, 2, &sp44, &sp48, &sp4C); + getBonePosition(current_actor_pointer, 1, &x1, &y1, &z1); + getBonePosition(current_actor_pointer, 2, &x2, &y2, &z2); } func_global_asm_8065A6F8(0xC8); func_global_asm_8065A660(20.0f, 40.0f); - createLight(sp38, sp3C, sp40, sp44, sp48, sp4C, 0.0f, 1, 0xFF, 0xFF, 0xFF); + createLight(x1, y1, z1, x2, y2, z2, 0.0f, 1, 0xFF, 0xFF, 0xFF); } typedef struct { diff --git a/src/minecart/code_25F0.c b/src/minecart/code_25F0.c index 97086ec..1f9d7d2 100644 --- a/src/minecart/code_25F0.c +++ b/src/minecart/code_25F0.c @@ -107,11 +107,13 @@ void func_minecart_80026C54(void) { func_global_asm_8071498C(&func_global_asm_80717D4C); func_global_asm_807149B8(1); func_global_asm_80714A28(4); - drawSpriteAtPosition(D_global_asm_8074E880[((rand() >> 0xF) % 1000) % 3], + drawSpriteAtPosition( + D_global_asm_8074E880[((rand() >> 0xF) % 1000) % 3], 0.5f, ((rand() >> 0xF) % 20) + (current_actor_pointer->x_position - 10.0f), current_actor_pointer->y_position, - ((rand() >> 0xF) % 20) + (current_actor_pointer->z_position - 10.0f)); + ((rand() >> 0xF) % 20) + (current_actor_pointer->z_position - 10.0f) + ); } // Jumptable, huge @@ -200,8 +202,6 @@ void func_minecart_80027EE8(MinecartStruct1 *arg0) { } */ -s32 func_global_asm_8072177C(void *, s16, s16, s16, s32, s32, s32, s32, s32); - typedef struct { u8 unk0[0x10 - 0x0]; s16 unk10; @@ -212,9 +212,9 @@ typedef struct { void func_minecart_800280BC(void) { A178_minecart_800280BC *sp54; Struct807FBB70_unk278 *temp_v1; - f32 sp4C; - f32 sp48; - f32 sp44; + f32 z; + f32 y; + f32 x; u8 *temp_v0_2; sp54 = current_actor_pointer->unk178; @@ -254,8 +254,8 @@ void func_minecart_800280BC(void) { func_global_asm_8068ECF4(6, 0xFF); func_global_asm_8072B438(0x200); func_minecart_800253C0(sp54, 0x7FFF, 0x23); - getBonePosition(current_actor_pointer, 5, &sp44, &sp48, &sp4C); - func_global_asm_8072177C(current_actor_pointer, sp44, sp48, sp4C, 0xFF, 0xFF, 0xFF, 0xFF, 0); + getBonePosition(current_actor_pointer, 5, &x, &y, &z); + addActorRecolor(current_actor_pointer, x, y, z, 0xFF, 0xFF, 0xFF, 0xFF, 0); func_minecart_80027EE8(sp54); break; case 2: diff --git a/src/multiplayer/code_0.c b/src/multiplayer/code_0.c index 1659ca8..b01a0c5 100644 --- a/src/multiplayer/code_0.c +++ b/src/multiplayer/code_0.c @@ -53,7 +53,6 @@ void func_multiplayer_80025F84(); s32 func_multiplayer_80026BD8(s32); void func_global_asm_806A5DF0(u16, f32, f32, f32, s32, s32, s32, s32); -void func_global_asm_806F91B4(s32, u8, s16); void func_global_asm_806F54E0(u8, s32, s32); extern int func_global_asm_8071F3C0(); // TODO: Signature @@ -570,31 +569,31 @@ void func_multiplayer_800268DC(Actor *arg0, PlayerAdditionalActorData *arg1, Pla extra_player_info_pointer->unk21E = 0; } if ((D_global_asm_807552E8 == 3) || (D_global_asm_807552E8 == 5)) { - func_global_asm_806F91B4(1, arg1->unk1A4, -10); + changeCollectableCount(1, arg1->unk1A4, -10); } } void func_multiplayer_8002698C(MultiplayerStruct0 *arg0) { if (D_global_asm_807552E8 == 2) { - func_global_asm_806F91B4(1, arg0->unk1A4, -3); + changeCollectableCount(1, arg0->unk1A4, -3); } } -void func_multiplayer_800269C8(u8 arg0, s8 arg1) { +void func_multiplayer_800269C8(u8 playerIndex, s8 arg1) { Actor *temp_s0; struct_unknown_mp_aad* phi_v1; s32 temp_v1; s32 sp30; PlayerProgress *temp_s1; - temp_s0 = character_change_array[arg0].player_pointer; - temp_s1 = &D_global_asm_807FC950[arg0]; + temp_s0 = character_change_array[playerIndex].player_pointer; + temp_s1 = &D_global_asm_807FC950[playerIndex]; temp_v1 = temp_s1->health + temp_s1->unk2FD + arg1; sp30 = temp_s1->unk2FA - temp_v1; - if ((func_global_asm_806F8AD4(1U, arg0) != 0) && ((temp_v1 <= 0) || (sp30 >= 2))) { + if ((func_global_asm_806F8AD4(1U, playerIndex) != 0) && ((temp_v1 <= 0) || (sp30 >= 2))) { struct_unknown_mp_aad* aad = func_global_asm_8067ADB4(0x13E)->additional_actor_data; aad->unk4C = 1; - func_global_asm_806F91B4(1, arg0, -0xA); + changeCollectableCount(1, playerIndex, -10); if (D_global_asm_807552E8 == 5) { func_multiplayer_80025F84(); } @@ -603,21 +602,21 @@ void func_multiplayer_800269C8(u8 arg0, s8 arg1) { } } -void func_multiplayer_80026B0C(s32 arg0) { - Actor *player = character_change_array[arg0].player_pointer; +void func_multiplayer_80026B0C(s32 playerIndex) { + Actor *player = character_change_array[playerIndex].player_pointer; player->noclip_byte = 0xC; switch (D_global_asm_807552E8) { case 2: - func_global_asm_806F91B4(1, arg0, -3); + changeCollectableCount(1, playerIndex, -3); break; case 5: - func_global_asm_806F91B4(7, arg0, -0x40); + changeCollectableCount(7, playerIndex, -64); // fallthrough case 3: - func_multiplayer_800269C8(arg0, 0); + func_multiplayer_800269C8(playerIndex, 0); break; case 4: - func_global_asm_806F91B4(7, arg0, -1); + changeCollectableCount(7, playerIndex, -1); break; } } diff --git a/src/race/code_36B0.c b/src/race/code_36B0.c index c575e64..b16fc34 100644 --- a/src/race/code_36B0.c +++ b/src/race/code_36B0.c @@ -2,7 +2,6 @@ #include "functions.h" f32 func_global_asm_80665E48(f32, f32, f32, f32); -s32 func_global_asm_8072177C(void *, s16, s16, s16, s32, s32, s32, s32, s32); typedef struct { u8 pad0[0x10 - 0x0]; @@ -301,9 +300,9 @@ void func_race_80029054(void) { A17C_race_80029054 *a17C; Actor *temp; A178_race_80029054 *sp48; - f32 sp44; - f32 sp40; - f32 sp3C; + f32 z; + f32 y; + f32 x; a178 = current_actor_pointer->unk178; a17C = current_actor_pointer->unk17C; @@ -322,10 +321,10 @@ void func_race_80029054(void) { func_global_asm_8067E278(0, 1); current_actor_pointer->control_state = 0x40; } - getBonePosition(current_actor_pointer, 6, &sp3C, &sp40, &sp44); - func_global_asm_8072177C(current_actor_pointer, sp3C, sp40, sp44, 0xFF, 0xFF, 0xFF, 0xFF, 0); - getBonePosition(current_actor_pointer, 0xB, &sp3C, &sp40, &sp44); - func_global_asm_8072177C(current_actor_pointer, sp3C, sp40, sp44, 0xFF, 0xFF, 0xFF, 0xFF, 0); + getBonePosition(current_actor_pointer, 6, &x, &y, &z); + addActorRecolor(current_actor_pointer, x, y, z, 0xFF, 0xFF, 0xFF, 0xFF, 0); + getBonePosition(current_actor_pointer, 0xB, &x, &y, &z); + addActorRecolor(current_actor_pointer, x, y, z, 0xFF, 0xFF, 0xFF, 0xFF, 0); func_race_80026354(a17C, a178, 1); if (a178->unk34 == 0 && sp48->unk34 == 5) { D_global_asm_807FDC9C[1].pad0[0] = 0; diff --git a/symbol_addrs.us.txt b/symbol_addrs.us.txt index 53a7d31..14edf6c 100644 --- a/symbol_addrs.us.txt +++ b/symbol_addrs.us.txt @@ -210,6 +210,8 @@ __osViIntrCount = 0x80014FEC; // segment:dk64_boot __osTimerCounter = 0x80014FF0; // segment:dk64_boot __osEepPifRam = 0x800162E0; // segment:dk64_boot +addActorRecolor = 0x8072177C; // segment:global_asm +changeCollectableCount = 0x806F91B4; // segment:global_asm getBonePosition = 0x80671C0C; // segment:global_asm moveAndScaleActorToAnother = 0x8067B238; // segment:global_asm getTextString = 0x8070E750; // segment:global_asm