mirror of
https://github.com/n64decomp/mk64
synced 2026-06-27 09:23:22 -04:00
Update gitignore & match more actor funcs (#206)
* import random_u16 to sm64 * rand math decomp * Match func_80298AC0 * Match some actor funcs * Renames * update gitignore for .bin textures * update player struct member 34 to Vec3f * Named and documented actor destroy funcs
This commit is contained in:
@@ -5274,7 +5274,7 @@ s32 func_800C21E8(s32, ?); // extern
|
||||
extern u8 D_800EA108;
|
||||
extern u8 D_800EA1C0;
|
||||
|
||||
void func_800C99E0(s32 arg0, ? arg1) {
|
||||
void func_800C99E0(Vec3f arg0, s32 arg1) {
|
||||
s32 temp_t9;
|
||||
s32 temp_v0;
|
||||
s32 phi_s0;
|
||||
|
||||
+1
-1
@@ -251,7 +251,7 @@ void func_80003040(void) {
|
||||
|
||||
gPlayerCountSelection1 = 1;
|
||||
set_segment_base_addr(0x03, (gPrevLoadedAddress + 0xFFFF7000));
|
||||
func_8029DAB8();
|
||||
destroy_all_actors();
|
||||
switch (gCurrentCourseId) {
|
||||
case COURSE_MARIO_RACEWAY:
|
||||
func_802A84F4(&D_0F04F45C, 0x35B, 0x800);
|
||||
|
||||
+19
-19
@@ -2964,9 +2964,9 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) {
|
||||
f32 spB0;
|
||||
f32 spAC;
|
||||
f32 spA8;
|
||||
f32 spA0;
|
||||
f32 sp9C;
|
||||
f32 sp98;
|
||||
//f32 spA0;
|
||||
//f32 sp9C;
|
||||
Vec3f sp98; // Clearly a vec3f
|
||||
? sp8C;
|
||||
s32 sp7C;
|
||||
f32 sp60;
|
||||
@@ -3158,9 +3158,9 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) {
|
||||
func_8002C7E4(temp_f12_3, temp_f14_3, player, arg3, arg2);
|
||||
sp18C = func_80030150(player, arg3);
|
||||
func_802B63B8(&sp184, temp_a1);
|
||||
sp98 = player->unk_034;
|
||||
sp9C = player->unk_038;
|
||||
spA0 = player->unk_03C;
|
||||
sp98 = player->unk_034[0];
|
||||
sp9C = player->unk_034[1];
|
||||
spA0 = player->unk_034[2];
|
||||
if (((player->unk_10C < 3) && (player->unk_256 < 3)) || ((player->unk_0BC & 0x2000) == 0x2000)) {
|
||||
temp_t4 = player->unk_07C >> 0x10;
|
||||
if ((temp_t4 >= 0x28) || (temp_t4 < -0x27)) {
|
||||
@@ -3217,9 +3217,9 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) {
|
||||
player->rotY = temp_f12_6;
|
||||
temp_t9 = &D_8018CE10[arg3];
|
||||
sp54 = temp_t9;
|
||||
spFC = temp_t9->unk_04 + (temp_f0_7 + player->unk_034);
|
||||
spF8 = player->unk_038 + temp_f12_6;
|
||||
spF4 = temp_t9->unk_0C + (spE8 + player->unk_03C);
|
||||
spFC = temp_t9->unk_04 + (temp_f0_7 + player->unk_034[0]);
|
||||
spF8 = player->unk_034[1] + temp_f12_6;
|
||||
spF4 = temp_t9->unk_0C + (spE8 + player->unk_034[2]);
|
||||
temp_v0_6 = player->unk_0CA;
|
||||
if (((temp_v0_6 & 2) != 2) && ((temp_v0_6 & 8) != 8) && ((player->unk_0BC & 0x4000000) != 0x4000000) && ((temp_v0_6 & 1) == 0)) {
|
||||
func_8002AAC0(temp_f12_6, phi_f14_2, player);
|
||||
@@ -3359,9 +3359,9 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) {
|
||||
}
|
||||
player->unk_064 = sp178;
|
||||
player->unk_06C = sp180;
|
||||
player->unk_034 = sp98;
|
||||
player->unk_038 = sp9C;
|
||||
player->unk_03C = spA0;
|
||||
player->unk_034[0] = sp98[0];
|
||||
player->unk_034[1] = sp98[1];
|
||||
player->unk_034[2] = sp98[2];
|
||||
temp_v0_18 = &D_80165070[arg3];
|
||||
temp_v0_18->unk0 = sp98;
|
||||
temp_v0_18->unk4 = sp9C;
|
||||
@@ -3372,9 +3372,9 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) {
|
||||
temp_f12_7 = *temp_v0_19;
|
||||
if (temp_f12_7 < temp_f2_8) {
|
||||
temp_f0_8 = temp_f12_7 / temp_f2_8;
|
||||
player->unk_034 *= temp_f0_8;
|
||||
player->unk_038 *= temp_f0_8;
|
||||
player->unk_03C *= temp_f0_8;
|
||||
player->unk_034[0] *= temp_f0_8;
|
||||
player->unk_034[1] *= temp_f0_8;
|
||||
player->unk_034[2] *= temp_f0_8;
|
||||
player->unk_094 = *temp_v0_19;
|
||||
}
|
||||
}
|
||||
@@ -3383,9 +3383,9 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) {
|
||||
if (temp_f2_9 > 1.0f) {
|
||||
temp_f0_9 = 1.0f / temp_f2_9;
|
||||
player->unk_094 = 1.0f;
|
||||
player->unk_034 *= temp_f0_9;
|
||||
player->unk_038 *= temp_f0_9;
|
||||
player->unk_03C *= temp_f0_9;
|
||||
player->unk_034[0] *= temp_f0_9;
|
||||
player->unk_034[1] *= temp_f0_9;
|
||||
player->unk_034[2] *= temp_f0_9;
|
||||
}
|
||||
}
|
||||
if (player->unk_124 >= 500.0f) {
|
||||
@@ -3408,7 +3408,7 @@ void func_8002E4C4(Player *player) {
|
||||
if (((player->pos[1] - D_80164510[player_index]) > 1200.0f) || ((player->pos[1] - D_80164510[player_index]) < -1200.0f)) {
|
||||
player->pos[1] = player->rotY;
|
||||
}
|
||||
player->unk_038 = 0.0f;
|
||||
player->unk_034[1] = 0.0f;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
|
||||
+3
-3
@@ -64,9 +64,9 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4,
|
||||
player->unk_05C = 1.0f;
|
||||
player->unk_058 = 0.0f;
|
||||
player->unk_060 = 0.0f;
|
||||
player->unk_034 = 0.0f;
|
||||
player->unk_038 = 0.0f;
|
||||
player->unk_03C = 0.0f;
|
||||
player->unk_034[0] = 0.0f;
|
||||
player->unk_034[1] = 0.0f;
|
||||
player->unk_034[2] = 0.0f;
|
||||
player->unk_02E = arg5;
|
||||
player->unk_030 = 0;
|
||||
player->unk_0FA = 0;
|
||||
|
||||
+2
-2
@@ -1101,8 +1101,8 @@ void func_8008E4A4(Player* player, s8 arg1) {
|
||||
player->unk_042 += 0xAAA;
|
||||
player->unk_08C = 0.0f;
|
||||
player->unk_09C = 0.0f;
|
||||
player->unk_034 = 0.0f;
|
||||
player->unk_03C = 0.0f;
|
||||
player->unk_034[0] = 0.0f;
|
||||
player->unk_034[2] = 0.0f;
|
||||
player->unk_0BC &= ~0xC0;
|
||||
|
||||
if ((player->unk_0BC & 8) != 8) {
|
||||
|
||||
+80
-111
@@ -9,6 +9,7 @@
|
||||
|
||||
f32 sins(u16); /* extern */
|
||||
f32 coss(u16); /* extern */
|
||||
void func_800C99E0(Vec3f, s32); // audio external
|
||||
f32 func_802B80D0(Vec3f, Vec3f, u16, f32, f32, f32); // extern
|
||||
void func_800C98B8(Vec3f, Vec3f, u32); // extern
|
||||
void func_8029794C(Vec3f, Vec3s, f32);
|
||||
@@ -49,12 +50,13 @@ s32 D_802BA058;
|
||||
struct Actor *D_802BA05C;
|
||||
s8 D_802BA060[512]; // tlut 256
|
||||
u16 D_802BA260;
|
||||
extern u16 gNumActors;
|
||||
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
? func_8000EE58(u16, void *, u16, s32); /* extern */
|
||||
? func_8029E854(void *, void *); /* extern */
|
||||
? destroy_actor(void *, void *); /* extern */
|
||||
extern u16 D_8015F6FE;
|
||||
extern u16 gNumPermanentActors;
|
||||
extern ? gActorList;
|
||||
@@ -93,7 +95,7 @@ loop_2:
|
||||
func_8000EE58(phi_a2, phi_a1, phi_a2, 2);
|
||||
}
|
||||
D_8015F6FE += -1;
|
||||
func_8029E854(phi_a1, phi_a1);
|
||||
destroy_actor(phi_a1, phi_a1);
|
||||
return;
|
||||
}
|
||||
temp_a2 = phi_a2 + 1;
|
||||
@@ -124,7 +126,7 @@ loop_12:
|
||||
/* fallthrough */
|
||||
case 7: /* switch 1 */
|
||||
D_8015F6FE += -1;
|
||||
func_8029E854(phi_a1_2, phi_a1_2);
|
||||
destroy_actor(phi_a1_2, phi_a1_2);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
@@ -158,7 +160,7 @@ loop_23:
|
||||
func_8000EE58(phi_a2_4, phi_a1_3, phi_a2_4, 2);
|
||||
block_29:
|
||||
D_8015F6FE += -1;
|
||||
func_8029E854(phi_a1_3, phi_a1_3);
|
||||
destroy_actor(phi_a1_3, phi_a1_3);
|
||||
return;
|
||||
}
|
||||
block_30:
|
||||
@@ -190,7 +192,7 @@ loop_34:
|
||||
/* fallthrough */
|
||||
case 7: /* switch 2 */
|
||||
D_8015F6FE += -1;
|
||||
func_8029E854(phi_a1_4, phi_a1_4);
|
||||
destroy_actor(phi_a1_4, phi_a1_4);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
@@ -1265,9 +1267,9 @@ extern f32 D_802B964C; // 0.8f
|
||||
#ifdef RO_DATA // Needs D_802B964C imported to match
|
||||
void func_80298AC0(Player *player) {
|
||||
Vec3f sp64;
|
||||
s32 segment = (((unsigned int)(D_06013F78)) >> 24);
|
||||
s32 offset = ((unsigned int)(D_06013F78) & 0x00ffffff);
|
||||
struct UnkActorSpawnData *data = (gSegmentTable[segment] + offset) - 0x80000000U;
|
||||
s32 segment = SEGMENT_NUMBER2(D_06013F78);
|
||||
s32 offset = SEGMENT_OFFSET(D_06013F78);
|
||||
struct UnkActorSpawnData *data = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
|
||||
|
||||
while (data->pos[0] != -0x8000) {
|
||||
sp64[0] = data->pos[0] * gCourseDirection;
|
||||
@@ -1282,7 +1284,7 @@ void func_80298AC0(Player *player) {
|
||||
if ((player->unk_000 & 0x100) == 0) {
|
||||
func_800C9060((u8) (player - gPlayerOne), 0x19007018);
|
||||
}
|
||||
return;
|
||||
break;
|
||||
}
|
||||
data++;
|
||||
}
|
||||
@@ -1319,30 +1321,17 @@ void func_80298C94(void) {
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_80298C94.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern ? D_06013F78;
|
||||
extern ? gSegmentTable;
|
||||
|
||||
void func_80298D10(void) {
|
||||
s16 *temp_v1;
|
||||
s16 *temp_v1_2;
|
||||
s16 *phi_v1;
|
||||
s32 segment = SEGMENT_NUMBER2(D_06013F78);
|
||||
s32 offset = SEGMENT_OFFSET(D_06013F78);
|
||||
struct UnkActorSpawnData80298D10 *temp_v1 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
|
||||
|
||||
temp_v1 = *(&gSegmentTable + ((&D_06013F78 >> 0x18) * 4)) + (&D_06013F78 & 0xFFFFFF) + 0x80000000;
|
||||
phi_v1 = temp_v1;
|
||||
if (*temp_v1 != -0x8000) {
|
||||
do {
|
||||
phi_v1->unk6 = phi_v1->unk6 & 0xF;
|
||||
temp_v1_2 = phi_v1 + 0xA;
|
||||
temp_v1_2->unk-8 = phi_v1->unk_08;
|
||||
phi_v1 = temp_v1_2;
|
||||
} while (phi_v1->unkA != -0x8000);
|
||||
while (temp_v1->pos[0] != -0x8000) {
|
||||
temp_v1->pos[1] = temp_v1->unk8;
|
||||
temp_v1->someId &= 0xF;
|
||||
temp_v1++;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_80298D10.s")
|
||||
#endif
|
||||
|
||||
// Might just be an s32 array with a u16 in it... However that might work.
|
||||
Vec3s D_802B87E0[] = {0x0000, 0x0000, 0x0000};
|
||||
@@ -3017,65 +3006,50 @@ void place_all_item_boxes(struct ActorSpawnData *spawnData) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 func_8029EC88(? *, ? *, ? *, ?); // extern
|
||||
extern ? gActorList;
|
||||
extern u16 gPlayers;
|
||||
|
||||
void func_8029D9F8(void) {
|
||||
? sp64;
|
||||
? sp58;
|
||||
? sp50;
|
||||
s16 temp_s0;
|
||||
u16 temp_v0;
|
||||
u16 *phi_s1;
|
||||
void init_kiwano_fruit(void) {
|
||||
Vec3f sp64;
|
||||
Vec3f sp58;
|
||||
Vec3s sp50;
|
||||
Player *phi_s1;
|
||||
struct Actor *actor;
|
||||
s16 phi_s0;
|
||||
s32 i;
|
||||
|
||||
phi_s1 = &gPlayers;
|
||||
phi_s0 = 0;
|
||||
do {
|
||||
temp_v0 = *phi_s1;
|
||||
if (((temp_v0 & 0x4000) != 0) && ((temp_v0 & 0x100) == 0)) {
|
||||
(&gActorList + (func_8029EC88(&sp64, &sp50, &sp58, 0x2D) * 0x70))->unk_04 = phi_s0;
|
||||
}
|
||||
temp_s0 = phi_s0 + 1;
|
||||
phi_s1 += 0xDD8;
|
||||
phi_s0 = temp_s0;
|
||||
} while (temp_s0 != 4);
|
||||
//phi_s0 = 0;
|
||||
for (i = 0; i < 4; i++) {
|
||||
phi_s1 = &gPlayers[i];
|
||||
//temp_v0 = *phi_s1;
|
||||
if ((phi_s1->unk_000 & 0x4000) == 0) { continue; }
|
||||
if ((phi_s1->unk_000 & 0x100) != 0) { continue; }
|
||||
|
||||
phi_s0 = func_8029EC88(sp64, sp50, sp58, ACTOR_KIWANO_FRUIT);
|
||||
actor = &gActorList[phi_s0];
|
||||
actor->unk_04 = i;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029D9F8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s16 gNumActors;
|
||||
//extern ? gActorList;
|
||||
extern s32 D_80162578;
|
||||
extern struct Actor gActorList[112];
|
||||
void func_8029DAB8(void) {
|
||||
struct Actor *temp_v1;
|
||||
/**
|
||||
* Destroys actors via zeroing some of the member data
|
||||
* Key word some. When spawning a new actor,
|
||||
* members such as pos and rot should be set to prevent using expired data
|
||||
**/
|
||||
void destroy_all_actors(void) {
|
||||
s32 i;
|
||||
gNumActors = 0;
|
||||
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
|
||||
temp_v1 = &gActorList[i];
|
||||
temp_v1->unk2 = 0;
|
||||
temp_v1->unk0 = 0;
|
||||
temp_v1->unk_04 = 0;
|
||||
temp_v1->unk6 = 0;
|
||||
temp_v1->unk_08 = 0.0f;
|
||||
temp_v1->unkC = 0.0f;
|
||||
gActorList[i].flags = 0;
|
||||
gActorList[i].type = 0;
|
||||
gActorList[i].unk_04 = 0;
|
||||
gActorList[i].state = 0;
|
||||
gActorList[i].unk_08 = 0.0f;
|
||||
gActorList[i].boundingBoxSize = 0.0f;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029DAB8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
? func_80298D10(); /* extern */
|
||||
? func_8029D9F8(); /* extern */
|
||||
? init_kiwano_fruit(); /* extern */
|
||||
s32 func_8029EC88(f32 *, ? *, ? *, ?); /* extern */
|
||||
? func_802A14BC(f32, ?, ?); /* extern */
|
||||
? vec3s_set(? *, ?, ?, ?); /* extern */
|
||||
@@ -3272,7 +3246,7 @@ void func_8029DB44(void) {
|
||||
break;
|
||||
case COURSE_DK_JUNGLE:
|
||||
place_all_item_boxes(&D_06013EC0);
|
||||
func_8029D9F8();
|
||||
init_kiwano_fruit();
|
||||
func_80298D10();
|
||||
break;
|
||||
case COURSE_BIG_DONUT:
|
||||
@@ -3289,7 +3263,7 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029DB44.s")
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
? func_800122D8(); /* extern */
|
||||
? func_80297818(); /* extern */
|
||||
? func_8029DAB8(); /* extern */
|
||||
? destroy_all_actors(); /* extern */
|
||||
? func_8029DB44(); /* extern */
|
||||
s32 func_802A84F4(? *, ?, ?); /* extern */
|
||||
? set_segment_base_addr(?, s32); /* extern */
|
||||
@@ -3458,7 +3432,7 @@ void func_8029E158(void) {
|
||||
break;
|
||||
}
|
||||
func_80297818();
|
||||
func_8029DAB8();
|
||||
destroy_all_actors();
|
||||
func_8029DB44();
|
||||
func_800122D8();
|
||||
}
|
||||
@@ -3466,44 +3440,40 @@ void func_8029E158(void) {
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029E158.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_800C99E0(void *, ?, void *); // extern
|
||||
void func_8029E7DC(struct Actor *actor) {
|
||||
s16 temp_v0 = actor->flags;
|
||||
|
||||
void func_8029E7DC(void *arg0) {
|
||||
s16 temp_v0;
|
||||
|
||||
temp_v0 = arg0->unk2;
|
||||
if ((temp_v0 & 0x200) != 0) {
|
||||
func_800C99E0(arg0 + 0x18, 0x19019053, arg0);
|
||||
func_800C99E0(actor->pos, 0x19019053);
|
||||
return;
|
||||
}
|
||||
if ((temp_v0 & 0x100) != 0) {
|
||||
func_800C99E0(arg0 + 0x18, 0x19018010, arg0);
|
||||
func_800C99E0(actor->pos, 0x19018010);
|
||||
return;
|
||||
}
|
||||
if ((temp_v0 & 0x80) != 0) {
|
||||
func_800C99E0(arg0 + 0x18, 0x19008054, arg0);
|
||||
func_800C99E0(actor->pos, 0x19008054);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029E7DC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_8029E7DC(); // extern
|
||||
extern u16 gNumActors;
|
||||
|
||||
void func_8029E854(void *arg0) {
|
||||
func_8029E7DC();
|
||||
arg0->unk2 = 0;
|
||||
arg0->unk0 = 0;
|
||||
gNumActors = gNumActors - 1;
|
||||
/**
|
||||
* This func likely plays an audio track based on flag
|
||||
* Next, it destroys the actor via zeroing its flags and type.
|
||||
* Note that the data from its other members still exist.
|
||||
* Actors are expected to set members such as pos and rot data if used. Not doing so could result in the use of expired data.
|
||||
*
|
||||
* This method does not require modification to gActorList directly.
|
||||
* No popping members of gActorList. The list is always the size of ACTOR_LIST_SIZE.
|
||||
* Actors are members of gActorList by definition.
|
||||
*
|
||||
* @param Actor to destroy
|
||||
*/
|
||||
void destroy_actor(struct Actor *actor) {
|
||||
func_8029E7DC(actor);
|
||||
actor->flags = 0;
|
||||
actor->type = 0;
|
||||
gNumActors--;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029E854.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
|
||||
@@ -3672,7 +3642,6 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029E890.s")
|
||||
|
||||
void func_80296D10(struct Actor *, f32 *, s16 *, f32 *, s32); /* extern */
|
||||
s16 func_8029E890(f32 *, s16 *, f32 *, s16); /* extern */
|
||||
extern u16 gNumActors;
|
||||
|
||||
s16 func_8029EC88(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
|
||||
s32 index;
|
||||
@@ -3947,7 +3916,7 @@ s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) {
|
||||
egg->flags |= 0x400;
|
||||
egg->pathCenter[1] = 8.0f;
|
||||
player = temp_a3;
|
||||
func_800C98B8(temp_a3->pos, &temp_a3->unk_034, 0x19018010, temp_a3);
|
||||
func_800C98B8(temp_a3->pos, &temp_a3->unk_034[0], 0x19018010, temp_a3);
|
||||
func_800C90F4(((s32) (player - gPlayerOne) / 3544) & 0xFF, (player->characterId * 0x10) + 0x2900800D);
|
||||
} else {
|
||||
player = temp_a3;
|
||||
@@ -4562,7 +4531,7 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
||||
player->unk_00C |= 4;
|
||||
sp42 = temp_t0;
|
||||
sp36 = temp_v1_2;
|
||||
func_800C98B8(player->pos, &player->unk_034, 0x19018010, player);
|
||||
func_800C98B8(player->pos, &player->unk_034[0], 0x19018010, player);
|
||||
temp_v0_2 = &gPlayers[temp_v1_2];
|
||||
if (((temp_v0_2->unk_000 & 0x4000) != 0) && (temp_t0 != temp_v1_2)) {
|
||||
func_800C90F4(temp_v1_2 & 0xFF, (temp_v0_2->characterId * 0x10) + 0x29008006);
|
||||
@@ -4578,7 +4547,7 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
||||
player->unk_00C |= 2;
|
||||
sp42 = temp_t0;
|
||||
sp36 = temp_v1_3;
|
||||
func_800C98B8(player->pos, &player->unk_034, 0x19018010, player);
|
||||
func_800C98B8(player->pos, &player->unk_034[0], 0x19018010, player);
|
||||
}
|
||||
temp_v0_3 = &gPlayers[actor->rot[2]];
|
||||
if (((temp_v0_3->unk_000 & 0x4000) != 0) && (temp_t0 != actor->rot[2])) {
|
||||
@@ -4601,7 +4570,7 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
||||
player->unk_00C |= 2;
|
||||
sp42 = temp_t0;
|
||||
sp36 = temp_v1_4;
|
||||
func_800C98B8(player->pos, &player->unk_034, 0x19018010, player);
|
||||
func_800C98B8(player->pos, &player->unk_034[0], 0x19018010, player);
|
||||
}
|
||||
temp_v0_4 = &gPlayers[actor->rot[2]];
|
||||
if (((temp_v0_4->unk_000 & 0x4000) != 0) && (temp_t0 != actor->rot[2])) {
|
||||
@@ -4912,7 +4881,7 @@ void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) {
|
||||
|
||||
case 2:
|
||||
if ((fake_item_box->someTimer >= 0x14) || (fake_item_box->someTimer < 0)) {
|
||||
func_8029E854(fake_item_box);
|
||||
destroy_actor(fake_item_box);
|
||||
} else {
|
||||
fake_item_box->someTimer++;
|
||||
fake_item_box->rot[0] += 0x444;
|
||||
@@ -4921,7 +4890,7 @@ void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
func_8029E854(fake_item_box);
|
||||
destroy_actor(fake_item_box);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+13
-13
@@ -327,7 +327,7 @@ s32 func_802B09C0(s16 bananaId) {
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
|
||||
? func_800C9060(s32, ?); /* extern */
|
||||
? func_8029E854(struct BananaBunchParent *, s32); /* extern */
|
||||
? destroy_actor(struct BananaBunchParent *, s32); /* extern */
|
||||
? func_802B0648(struct BananaBunchParent *); /* extern */
|
||||
? func_802B0788(s16, struct BananaBunchParent *, Player *, Player *); /* extern */
|
||||
s32 func_802B09C0(s16, s32); /* extern */
|
||||
@@ -450,7 +450,7 @@ void update_obj_banana_bunch(struct BananaBunchParent *banana_bunch) {
|
||||
}
|
||||
if (phi_v1_5 == 0) {
|
||||
sp2C = temp_a3;
|
||||
func_8029E854(banana_bunch, 1);
|
||||
destroy_actor(banana_bunch, 1);
|
||||
temp_a3->unk_00C &= 0xFFFBFFFF;
|
||||
return;
|
||||
}
|
||||
@@ -500,7 +500,7 @@ s32 func_802B0E14(s16 arg0) {
|
||||
? func_8000EDC8(s32); /* extern */
|
||||
? func_800C9060(u8, ?); /* extern */
|
||||
? func_800C90F4(u8, s32); /* extern */
|
||||
? func_8029E854(struct TripleShellParent *); /* extern */
|
||||
? destroy_actor(struct TripleShellParent *); /* extern */
|
||||
s32 func_802B0E14(s16, s16); /* extern */
|
||||
s32 func_802B19EC(struct TripleShellParent *, Player *, s16, ?); /* extern */
|
||||
? func_802B64C4(f32 *, s16); /* extern */
|
||||
@@ -636,7 +636,7 @@ void update_obj_triple_shell(struct TripleShellParent *actor, s16 arg1) {
|
||||
actor->shellIndices[2] = -1.0f;
|
||||
}
|
||||
if (phi_v1_3 == 0) {
|
||||
func_8029E854(actor);
|
||||
destroy_actor(actor);
|
||||
return;
|
||||
}
|
||||
temp_v0_5 = &gControllers[actor->playerId];
|
||||
@@ -1010,7 +1010,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B1FFC.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
|
||||
? func_800C9060(s32, ?, u16); /* extern */
|
||||
? func_8029E854(struct BananaActor *); /* extern */
|
||||
? destroy_actor(struct BananaActor *); /* extern */
|
||||
? func_8029FDC8(f32, struct BananaActor *); /* extern */
|
||||
? func_802ADDC8(f32, UnkActorInner *, UnkActorInner *, f32, f32, f32, f32); /* extern */
|
||||
? func_802B4E30(struct BananaActor *); /* extern */
|
||||
@@ -1264,7 +1264,7 @@ void update_obj_banana(struct BananaActor *banana) {
|
||||
banana->elderIndex += -0x5B0;
|
||||
banana->youngerIndex += 0x38E;
|
||||
if (banana->unk_04 == 0) {
|
||||
func_8029E854(banana);
|
||||
destroy_actor(banana);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
@@ -1316,12 +1316,12 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b
|
||||
sp4C += player->pos[0];
|
||||
sp50 += player->pos[1];
|
||||
sp54 += player->pos[2];
|
||||
sp60 = player->unk_034;
|
||||
sp64 = player->unk_038;
|
||||
sp60 = player->unk_034[0];
|
||||
sp64 = player->unk_034[1];
|
||||
sp58 = 0;
|
||||
sp5A = 0;
|
||||
sp5C = 0;
|
||||
sp68 = player->unk_03C;
|
||||
sp68 = player->unk_034[2];
|
||||
temp_v0 = func_8029EC88(temp_a0, temp_a1, temp_a2, 6);
|
||||
temp_t6 = temp_v0;
|
||||
if (temp_v0 >= 0) {
|
||||
@@ -1672,7 +1672,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B30EC.s")
|
||||
? func_800C9060(u8, ?); /* extern */
|
||||
? func_800C90F4(u8, s32); /* extern */
|
||||
? func_800C98B8(f32 *, f32 *, ?); /* extern */
|
||||
? func_8029E854(f32, struct ShellActor *); /* extern */
|
||||
? destroy_actor(f32, struct ShellActor *); /* extern */
|
||||
? func_8029FDC8(f32, struct ShellActor *); /* extern */
|
||||
f32 func_802ABE30(f32, f32, f32, u16); /* extern */
|
||||
? func_802AC098(UnkActorInner *, f32 *); /* extern */
|
||||
@@ -1890,7 +1890,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
|
||||
shell->rotAngle += 0x5B0;
|
||||
shell->pos[1] += shell->velocity[1];
|
||||
if (shell->parentIndex == 0) {
|
||||
func_8029E854(-5.0f, shell);
|
||||
destroy_actor(-5.0f, shell);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2159,7 +2159,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B4104.s")
|
||||
? func_800C9060(u8, ?); /* extern */
|
||||
? func_800C90F4(u8, s32); /* extern */
|
||||
? func_800C9D80(f32 *, f32 *, ?); /* extern */
|
||||
? func_8029E854(f32, struct ShellActor *); /* extern */
|
||||
? destroy_actor(f32, struct ShellActor *); /* extern */
|
||||
? func_8029FDC8(f32, struct ShellActor *); /* extern */
|
||||
f32 func_802ABE30(f32, f32, f32, u16); /* extern */
|
||||
? func_802AD950(UnkActorInner *, ?, f32, f32, f32, f32, f32, f32); /* extern */
|
||||
@@ -2464,7 +2464,7 @@ block_16:
|
||||
shell->rotAngle += 0x5B0;
|
||||
shell->pos[1] += shell->velocity[1];
|
||||
if (shell->parentIndex == 0) {
|
||||
func_8029E854(-5.0f, shell);
|
||||
destroy_actor(-5.0f, shell);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user