mirror of
https://github.com/n64decomp/mk64
synced 2026-08-18 21:17:47 -04:00
Give a name to the list of actors (#200)
Add a define for the size of the actor list, and add a comment cautioning people about how to appropriately interact with the specialized types. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
+28
-28
@@ -5790,10 +5790,10 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000ED14.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 func_8000ED14(?); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
s32 func_8000ED80(s32 arg0) {
|
||||
if (*(&D_8015F9B8 + (arg0 * 0x70)) != 8) {
|
||||
if (*(&gActorList + (arg0 * 0x70)) != 8) {
|
||||
return -1;
|
||||
}
|
||||
return func_8000ED14(0);
|
||||
@@ -5805,10 +5805,10 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000ED80.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 func_8000ED14(?); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
s32 func_8000EDC8(s32 arg0) {
|
||||
if (*(&D_8015F9B8 + (arg0 * 0x70)) != 7) {
|
||||
if (*(&gActorList + (arg0 * 0x70)) != 7) {
|
||||
return -1;
|
||||
}
|
||||
return func_8000ED14(1);
|
||||
@@ -5820,10 +5820,10 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8000EDC8.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 func_8000ED14(?); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
s32 func_8000EE10(s32 arg0) {
|
||||
if (*(&D_8015F9B8 + (arg0 * 0x70)) != 0x2A) {
|
||||
if (*(&gActorList + (arg0 * 0x70)) != 0x2A) {
|
||||
return -1;
|
||||
}
|
||||
return func_8000ED14(2);
|
||||
@@ -5907,7 +5907,7 @@ extern f32 D_800ED040;
|
||||
extern f32 D_800ED044;
|
||||
extern f32 D_800ED048;
|
||||
extern f32 D_800ED04C;
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern ? D_801641F8;
|
||||
extern ? D_801642D8;
|
||||
|
||||
@@ -5931,7 +5931,7 @@ void func_8000EF20(void) {
|
||||
temp_v0 = phi_s0->unk10;
|
||||
temp_t0 = phi_s0->unk14 + 1;
|
||||
phi_s0->unk14 = temp_t0;
|
||||
temp_s1 = &D_8015F9B8 + (phi_s0->unkE * 0x70);
|
||||
temp_s1 = &gActorList + (phi_s0->unkE * 0x70);
|
||||
if (temp_v0 != 0) {
|
||||
if (temp_v0 != 1) {
|
||||
if (temp_v0 != 2) {
|
||||
@@ -8561,12 +8561,12 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_800127E0.s")
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
void func_80012A48(void *arg0, s16 arg1) {
|
||||
void *temp_v0;
|
||||
|
||||
temp_v0 = (arg0->unk1E * 0x70) + &D_8015F9B8;
|
||||
temp_v0 = (arg0->unk1E * 0x70) + &gActorList;
|
||||
temp_v0->unk18 = arg0->unk4;
|
||||
temp_v0->unk1C = arg0->unk8;
|
||||
temp_v0->unk20 = arg0->unkC;
|
||||
@@ -8946,7 +8946,7 @@ extern f64 D_800ED138;
|
||||
extern f64 D_800ED140;
|
||||
extern f64 D_800ED148;
|
||||
extern f64 D_800ED150;
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern s16 D_80162EB0;
|
||||
extern s16 D_801630FC;
|
||||
extern s32 D_80163598;
|
||||
@@ -9066,7 +9066,7 @@ void func_800133C4(void) {
|
||||
phi_s0->unk10 = temp_f0_3 - temp_f26;
|
||||
phi_s0->unk14 = phi_s0->unk8 - temp_f28;
|
||||
phi_s0->unk18 = phi_s0->unkC - temp_f30;
|
||||
temp_v0_3 = (phi_s0->unk1E * 0x70) + &D_8015F9B8;
|
||||
temp_v0_3 = (phi_s0->unk1E * 0x70) + &gActorList;
|
||||
temp_v0_3->unk18 = temp_f0_3;
|
||||
temp_v0_3->unk1C = phi_s0->unk8;
|
||||
temp_v0_3->unk20 = phi_s0->unkC;
|
||||
@@ -9267,7 +9267,7 @@ f32 func_80013C74(s16, s16); // extern
|
||||
s32 func_802B5224(f32 *, f32 *); // extern
|
||||
extern f64 D_800ED178;
|
||||
extern f64 D_800ED180;
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern s16 D_8016347A;
|
||||
|
||||
void func_80013D20(void *arg0) {
|
||||
@@ -9330,7 +9330,7 @@ void func_80013D20(void *arg0) {
|
||||
func_800224F0(arg0 + 0x28, func_802B5224(&sp40, &sp34) * -1, 0x64);
|
||||
temp_f0_4 = arg0->unk4;
|
||||
arg0->unk10 = temp_f0_4 - sp5C;
|
||||
temp_v1 = (arg0->unk1E * 0x70) + &D_8015F9B8;
|
||||
temp_v1 = (arg0->unk1E * 0x70) + &gActorList;
|
||||
arg0->unk14 = arg0->unk8 - sp58;
|
||||
arg0->unk18 = arg0->unkC - sp54;
|
||||
temp_v1->unk18 = temp_f0_4;
|
||||
@@ -13319,7 +13319,7 @@ s32 func_8007AF78(s16, s16, ? *); /* extern */
|
||||
s16 func_802B2D70(u16 *, s16, ? *); /* extern */
|
||||
? func_802B2EBC(u16 *, s16); /* extern */
|
||||
s32 random_int(?, s16); /* extern */
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern ? D_801631E0;
|
||||
extern ? D_801642D8;
|
||||
extern ? gPlayerPositions;
|
||||
@@ -13412,7 +13412,7 @@ block_194:
|
||||
}
|
||||
goto block_194;
|
||||
case 2: /* switch 1 */
|
||||
temp_a3 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3->unk2 & 0x8000) == 0) || (temp_a3->unk0 != 6) || (temp_a3->unk6 != 0) || (playerId != temp_a3->unk10)) {
|
||||
temp_s0->unk0 = 0;
|
||||
temp_s0->unk4 = 0;
|
||||
@@ -13425,7 +13425,7 @@ block_194:
|
||||
}
|
||||
break;
|
||||
case 3: /* switch 1 */
|
||||
temp_a3_2 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_2 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3_2->unk2 & 0x8000) == 0) || (temp_a3_2->unk0 != 6) || (temp_a3_2->unk6 != 0) || (playerId != temp_a3_2->unk10)) {
|
||||
if (playerId != temp_a3_2->unk10) {
|
||||
|
||||
@@ -13448,7 +13448,7 @@ block_194:
|
||||
temp_s0->unk2 = func_802B2D70(sp2C, temp_a1);
|
||||
temp_v1_4 = temp_s0->unk2;
|
||||
if ((temp_v1_4 >= 0) && (temp_v1_4 < 0x64)) {
|
||||
temp_a3_3 = (temp_v1_4 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_3 = (temp_v1_4 * 0x70) + &gActorList;
|
||||
temp_a3_3->unk6 = 4;
|
||||
sp2C->unkC = sp2C->unkC | 0x40000;
|
||||
temp_s0->unk0 = 0x23;
|
||||
@@ -13469,7 +13469,7 @@ block_194:
|
||||
}
|
||||
goto block_194;
|
||||
case 35: /* switch 1 */
|
||||
temp_a3_4 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_4 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3_4->unk2 & 0x8000) == 0) || (temp_a3_4->unk0 != 6) || (temp_a3_4->unk6 != 4) || (playerId != temp_a3_4->unk10)) {
|
||||
temp_s0->unk4 = 0;
|
||||
temp_s0->unk0 = 0;
|
||||
@@ -13486,7 +13486,7 @@ block_194:
|
||||
}
|
||||
break;
|
||||
case 36: /* switch 1 */
|
||||
temp_a3_5 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_5 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3_5->unk2 & 0x8000) == 0) || (temp_a3_5->unk0 != 6) || (temp_a3_5->unk6 != 4) || (playerId != temp_a3_5->unk10)) {
|
||||
if (playerId != temp_a3_5->unk10) {
|
||||
|
||||
@@ -13521,7 +13521,7 @@ block_71:
|
||||
}
|
||||
goto block_194;
|
||||
case 5: /* switch 1 */
|
||||
temp_a3_6 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_6 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3_6->unk2 & 0x8000) == 0) || (temp_a3_6->unk0 != 7) || (temp_a3_6->unk6 != 0) || (playerId != temp_a3_6->unk14)) {
|
||||
temp_s0->unk4 = 0;
|
||||
temp_s0->unk0 = 0;
|
||||
@@ -13534,7 +13534,7 @@ block_71:
|
||||
}
|
||||
break;
|
||||
case 6: /* switch 1 */
|
||||
temp_a3_7 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_7 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3_7->unk2 & 0x8000) == 0) || (temp_a3_7->unk0 != 7) || (temp_a3_7->unk6 != 0) || (playerId != temp_a3_7->unk14)) {
|
||||
temp_s0->unk0 = 0;
|
||||
temp_s0->unk4 = 0;
|
||||
@@ -13562,7 +13562,7 @@ block_92:
|
||||
}
|
||||
goto block_194;
|
||||
case 8: /* switch 1 */
|
||||
temp_a3_8 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_8 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3_8->unk2 & 0x8000) == 0) || (temp_a3_8->unk0 != 8) || (temp_a3_8->unk6 != 0) || (playerId != temp_a3_8->unk14)) {
|
||||
temp_s0->unk4 = 0;
|
||||
temp_s0->unk0 = 0;
|
||||
@@ -13575,7 +13575,7 @@ block_92:
|
||||
break;
|
||||
case 9: /* switch 1 */
|
||||
func_8001ABEC(temp_s0, temp_a1);
|
||||
temp_a3_9 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_9 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3_9->unk2 & 0x8000) == 0) || (temp_a3_9->unk0 != 8) || (temp_a3_9->unk6 != 0) || (playerId != temp_a3_9->unk14)) {
|
||||
temp_s0->unk0 = 0;
|
||||
temp_s0->unk4 = 0;
|
||||
@@ -13603,7 +13603,7 @@ block_113:
|
||||
}
|
||||
goto block_194;
|
||||
case 11: /* switch 1 */
|
||||
temp_a3_10 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_10 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (temp_a3_10->unk6 == 6) {
|
||||
phi_v1 = 0;
|
||||
if (temp_a3_10->unk1A != -1) {
|
||||
@@ -13637,7 +13637,7 @@ block_131:
|
||||
if ((temp_s0->unk4 % 10) == 0) {
|
||||
temp_v1_8 = temp_s0->unk8;
|
||||
if (temp_v1_8 < 5) {
|
||||
temp_a3_11 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_11 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
phi_v0 = 0;
|
||||
switch (temp_v1_8) { /* switch 2 */
|
||||
case 0: /* switch 2 */
|
||||
@@ -13691,7 +13691,7 @@ block_146:
|
||||
}
|
||||
goto block_194;
|
||||
case 14: /* switch 1 */
|
||||
temp_a3_12 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_12 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3_12->unk2 & 0x8000) == 0) || (temp_a3_12->unk0 != 0xD) || (temp_a3_12->unk6 != 0) || (playerId != temp_a3_12->unk24)) {
|
||||
temp_s0->unk4 = 0;
|
||||
temp_s0->unk0 = 0;
|
||||
@@ -13703,7 +13703,7 @@ block_146:
|
||||
}
|
||||
break;
|
||||
case 15: /* switch 1 */
|
||||
temp_a3_13 = (temp_s0->unk2 * 0x70) + &D_8015F9B8;
|
||||
temp_a3_13 = (temp_s0->unk2 * 0x70) + &gActorList;
|
||||
if (((temp_a3_13->unk2 & 0x8000) == 0) || (temp_a3_13->unk0 != 0xD) || (temp_a3_13->unk6 != 0) || (playerId != temp_a3_13->unk24)) {
|
||||
if (playerId != temp_a3_13->unk10) {
|
||||
|
||||
|
||||
+109
-120
@@ -29,7 +29,7 @@ extern struct Controller gControllers[];
|
||||
extern s32 gActiveScreenMode;
|
||||
|
||||
extern Camera *camera1;
|
||||
extern struct Actor D_8015F9B8[];
|
||||
extern struct Actor gActorList[];
|
||||
extern Gfx *gDisplayListHead;
|
||||
extern s32 gModeSelection;
|
||||
extern s16 gCurrentCourseId;
|
||||
@@ -57,7 +57,7 @@ u16 D_802BA260;
|
||||
? func_8029E854(void *, void *); /* extern */
|
||||
extern u16 D_8015F6FE;
|
||||
extern u16 D_8015F900;
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
void func_80296A50(s32 arg0, s32 arg3) {
|
||||
void *sp1C;
|
||||
@@ -85,7 +85,7 @@ void func_80296A50(s32 arg0, s32 arg3) {
|
||||
phi_a2 = temp_t1;
|
||||
phi_a3 = arg3;
|
||||
if (temp_t1 < 0x64) {
|
||||
phi_a1 = (temp_t1 * 0x70) + &D_8015F9B8;
|
||||
phi_a1 = (temp_t1 * 0x70) + &gActorList;
|
||||
loop_2:
|
||||
if ((arg0 != phi_a1) && ((phi_a1->unk2 & 0xF) == 0) && (phi_a1->unk0 == 7)) {
|
||||
if (phi_a1->unk6 == 2) {
|
||||
@@ -108,7 +108,7 @@ block_10:
|
||||
phi_a2_2 = D_8015F900;
|
||||
phi_a2_3 = D_8015F900;
|
||||
if (D_8015F900 < 0x64) {
|
||||
phi_a1_2 = (D_8015F900 * 0x70) + &D_8015F9B8;
|
||||
phi_a1_2 = (D_8015F900 * 0x70) + &gActorList;
|
||||
loop_12:
|
||||
if ((arg0 != phi_a1_2) && ((phi_a1_2->unk2 & 0xF) == 0) && (phi_a1_2->unk0 == 8)) {
|
||||
temp_t3 = phi_a1_2->unk6;
|
||||
@@ -143,7 +143,7 @@ block_21:
|
||||
phi_a2_4 = phi_a2_3;
|
||||
phi_a2_5 = phi_a2_3;
|
||||
if (phi_a2_3 < 0x64) {
|
||||
phi_a1_3 = (phi_a2_3 * 0x70) + &D_8015F9B8;
|
||||
phi_a1_3 = (phi_a2_3 * 0x70) + &gActorList;
|
||||
phi_a3 = 2;
|
||||
loop_23:
|
||||
if ((arg0 != phi_a1_3) && (phi_a1_3->unk0 == 7)) {
|
||||
@@ -174,7 +174,7 @@ block_30:
|
||||
block_32:
|
||||
phi_a2_6 = phi_a2_5;
|
||||
if (phi_a2_5 < 0x64) {
|
||||
phi_a1_4 = (phi_a2_5 * 0x70) + &D_8015F9B8;
|
||||
phi_a1_4 = (phi_a2_5 * 0x70) + &gActorList;
|
||||
loop_34:
|
||||
if ((arg0 != phi_a1_4) && (phi_a1_4->unk0 == 8)) {
|
||||
temp_t7 = phi_a1_4->unk6;
|
||||
@@ -223,14 +223,14 @@ extern u16 D_802BA260;
|
||||
static f32 D_802B95F0 = 1.925f;
|
||||
static f32 D_802B95F4 = 0.35f;
|
||||
|
||||
void func_80296D10(struct Actor *actor, s32 arg1, Vec3s arg2, Vec3f arg3, s16 actorType) {
|
||||
void func_80296D10(struct Actor *actor, Vec3f arg1, Vec3s arg2, Vec3f arg3, s16 actorType) {
|
||||
UnkActorInner *sp2C;
|
||||
UnkActorInner *temp_a0;
|
||||
f32 temp_f0;
|
||||
u16 temp_v0;
|
||||
s16 phi_v0;
|
||||
|
||||
vec3f_copy(actor->pos);
|
||||
vec3f_copy(actor->pos, arg1);
|
||||
vec3s_copy(actor->rot, arg2);
|
||||
vec3f_copy(actor->velocity, arg3);
|
||||
actor->flags = -0x8000;
|
||||
@@ -406,16 +406,16 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_80296D10.s")
|
||||
void func_80297230(Camera *arg0, struct Actor *arg1) {
|
||||
switch(arg0 - camera1) {
|
||||
case 0:
|
||||
arg1->flags &= 0xFFFE;
|
||||
arg1->flags &= ~1;
|
||||
break;
|
||||
case 1:
|
||||
arg1->flags &= 0xFFFD;
|
||||
arg1->flags &= ~2;
|
||||
break;
|
||||
case 2:
|
||||
arg1->flags &= 0xFFFB;
|
||||
arg1->flags &= ~4;
|
||||
break;
|
||||
case 3:
|
||||
arg1->flags &= 0xFFF7;
|
||||
arg1->flags &= ~8;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -666,7 +666,7 @@ void update_obj_yoshi_valley_egg(struct YoshiValleyEgg *egg) {
|
||||
if (egg->pos[1] < 0.0f) {
|
||||
egg->pos[1] = 0.0f;
|
||||
egg->pathCenter[1] = 0.0f;
|
||||
egg->flags &= 0xFBFF;
|
||||
egg->flags &= ~(1 << 10);
|
||||
}
|
||||
egg->eggRot -= 0x4FA;
|
||||
}
|
||||
@@ -1987,8 +1987,19 @@ void update_obj_mario_raceway_sign(struct Actor *arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
// UNUSED
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
|
||||
extern s16 D_80150110;
|
||||
extern ? D_8015F9BE;
|
||||
|
||||
void func_8029ABD4(s16 arg1, s32 arg1) {
|
||||
arg1 = M2C_ERROR(Read from unset register $a1);
|
||||
D_80150110 = 0;
|
||||
*(&D_8015F9BE + (func_8029ED38((f32 *) arg1, (s16 *)0x00000014) * 0x70)) = (s16) arg1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029ABD4.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING // needs jmpt table rodata aligned to match.
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
@@ -2672,7 +2683,7 @@ void place_piranha_plants(Gfx *displaylist) {
|
||||
sp60[1] = temp_s0->unk.data[1];
|
||||
sp60[2] = temp_s0->unk.data[2];
|
||||
temp = func_8029EC88(sp60, sp4C, sp54, ACTOR_PIRANHA_PLANT);
|
||||
temp_v1 = (struct PiranhaPlant *) &D_8015F9B8[temp];
|
||||
temp_v1 = (struct PiranhaPlant *) &gActorList[temp];
|
||||
temp_v1->visibilityStates[0] = 0;
|
||||
temp_v1->visibilityStates[1] = 0;
|
||||
temp_v1->visibilityStates[2] = 0;
|
||||
@@ -2703,7 +2714,7 @@ void place_palm_trees(Gfx *displaylist) {
|
||||
sp60[1] = temp_s0->unk.data[1];
|
||||
sp60[2] = temp_s0->unk.data[2];
|
||||
temp = func_8029EC88(sp60, sp4C, sp54, ACTOR_PALM_TREE);
|
||||
temp_v1 = (struct PalmTree *) &D_8015F9B8[temp];
|
||||
temp_v1 = (struct PalmTree *) &gActorList[temp];
|
||||
|
||||
temp_v1->visibilityStates[0] = temp_s0->unk.unk2;
|
||||
func_802ADDC8((UnkActorInner *) &temp_v1->unk30, 5.0f, temp_v1->pos[0], temp_v1->pos[1], temp_v1->pos[2]);
|
||||
@@ -2746,7 +2757,7 @@ void place_falling_rocks(Gfx *displaylist) {
|
||||
vec3f_set(sp54, 0, 0, 0);
|
||||
vec3s_set(sp4C, 0, 0, 0);
|
||||
temp = func_8029EC88(sp60, sp4C, sp54, ACTOR_FALLING_ROCK);
|
||||
temp_v1 = (struct FallingRock *) &D_8015F9B8[temp];
|
||||
temp_v1 = (struct FallingRock *) &gActorList[temp];
|
||||
|
||||
temp_v1->unk_06 = temp_s0->unk.unk2;
|
||||
func_802AAAAC((UnkActorInner *) &temp_v1->unk30);
|
||||
@@ -2760,7 +2771,7 @@ s32 func_8029EC88(f32 *, ? *, ? *, ?); // extern
|
||||
? func_802AAAAC(void *); // extern
|
||||
? vec3s_set(? *, ?, ?, ?); // extern
|
||||
? vec3f_set(? *, ?, ?, ?); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern f32 gCourseDirection;
|
||||
extern ? gSegmentTable;
|
||||
|
||||
@@ -2791,7 +2802,7 @@ void place_falling_rocks(u32 arg0) {
|
||||
sp6C = phi_s0->unk_04;
|
||||
vec3f_set(&sp58, 0, 0, 0);
|
||||
vec3s_set(&sp50, 0, 0, 0);
|
||||
temp_v1 = &D_8015F9B8 + (func_8029EC88(temp_s4, &sp50, &sp58, 5) * 0x70);
|
||||
temp_v1 = &gActorList + (func_8029EC88(temp_s4, &sp50, &sp58, 5) * 0x70);
|
||||
temp_a0 = temp_v1 + 0x30;
|
||||
temp_v1->unk6 = phi_s0->unk6;
|
||||
func_802AAAAC(temp_a0);
|
||||
@@ -2937,7 +2948,7 @@ f32 func_802ABE30(?32, f32, ?32, u16); /* extern */
|
||||
? func_802ADDC8(void *, ?, ?32, f32, ?32); /* extern */
|
||||
? vec3f_set(? *, f32, f32, f32); /* extern */
|
||||
extern s32 D_800DC50C;
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern f32 gCourseDirection;
|
||||
extern ? gSegmentTable;
|
||||
static u16 gCurrentCourseId; /* type too large by 2; unable to generate initializer */
|
||||
@@ -3026,7 +3037,7 @@ void place_segment_06(u32 arg0) {
|
||||
}
|
||||
break;
|
||||
}
|
||||
temp_s0 = &D_8015F9B8 + (func_8029EC88(&sp8C, &sp78, &sp80, phi_s2) * 0x70);
|
||||
temp_s0 = &gActorList + (func_8029EC88(&sp8C, &sp78, &sp80, phi_s2) * 0x70);
|
||||
if (D_800DC50C == CREDITS_SEQUENCE) {
|
||||
func_802976D8(temp_s0 + 0x10);
|
||||
} else {
|
||||
@@ -3098,7 +3109,7 @@ void place_all_item_boxes(u32 arg0) {
|
||||
temp_f0 = func_802AE1C0(sp6C, sp70 + 10.0f, sp74);
|
||||
temp_f16 = temp_f0 - 20.0f;
|
||||
temp_s0_2 = phi_s0 + 8;
|
||||
temp_v0 = &D_8015F9B8[temp_s1];
|
||||
temp_v0 = &gActorList[temp_s1];
|
||||
temp_v0->resetDistance = temp_f0;
|
||||
temp_v0->pos[1] = temp_f16;
|
||||
temp_v0->origY = sp70;
|
||||
@@ -3116,7 +3127,7 @@ GLOBAL_ASM("asm/non_matchings/code_actors/place_all_item_boxes.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 func_8029EC88(? *, ? *, ? *, ?); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern u16 gPlayers;
|
||||
|
||||
void func_8029D9F8(void) {
|
||||
@@ -3133,7 +3144,7 @@ void func_8029D9F8(void) {
|
||||
do {
|
||||
temp_v0 = *phi_s1;
|
||||
if (((temp_v0 & 0x4000) != 0) && ((temp_v0 & 0x100) == 0)) {
|
||||
(&D_8015F9B8 + (func_8029EC88(&sp64, &sp50, &sp58, 0x2D) * 0x70))->unk_04 = phi_s0;
|
||||
(&gActorList + (func_8029EC88(&sp64, &sp50, &sp58, 0x2D) * 0x70))->unk_04 = phi_s0;
|
||||
}
|
||||
temp_s0 = phi_s0 + 1;
|
||||
phi_s1 += 0xDD8;
|
||||
@@ -3147,15 +3158,15 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029D9F8.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s16 D_80150110;
|
||||
//extern ? D_8015F9B8;
|
||||
//extern ? gActorList;
|
||||
extern s32 D_80162578;
|
||||
extern struct Actor D_8015F9B8[112];
|
||||
extern struct Actor gActorList[112];
|
||||
void func_8029DAB8(void) {
|
||||
struct Actor *temp_v1;
|
||||
s32 i;
|
||||
D_80150110 = 0;
|
||||
for (i = 0; i < 100; i++) {
|
||||
temp_v1 = &D_8015F9B8[i];
|
||||
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;
|
||||
@@ -3215,7 +3226,7 @@ extern ? D_06022F08;
|
||||
extern ? D_06023AE0;
|
||||
extern u16 D_80150110;
|
||||
extern u16 D_8015F900;
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern ? D_8015F9BE;
|
||||
extern f32 gCourseDirection;
|
||||
extern s32 gPlayerCountSelection1;
|
||||
@@ -3260,7 +3271,7 @@ void func_8029DB44(void) {
|
||||
vec3f_set(&sp40, 0x451D8000, 0, 0x449B0000);
|
||||
temp_a0_2 = &sp40;
|
||||
sp40 *= gCourseDirection;
|
||||
temp_v1 = (func_8029EC88(temp_a0_2, &sp2C, &sp34, 0x17) * 0x70) + &D_8015F9B8;
|
||||
temp_v1 = (func_8029EC88(temp_a0_2, &sp2C, &sp34, 0x17) * 0x70) + &gActorList;
|
||||
temp_v1->unk2 = temp_v1->unk2 | 0x4000;
|
||||
break;
|
||||
case COURSE_CHOCO_MOUNTAIN:
|
||||
@@ -3317,7 +3328,7 @@ void func_8029DB44(void) {
|
||||
sp40 *= gCourseDirection;
|
||||
/*
|
||||
D_8015F9BE is a fake variable.
|
||||
func_8029EC88 returns an index in D_8015F9B8 and D_8015F9BE represents accessing
|
||||
func_8029EC88 returns an index in gActorList and D_8015F9BE represents accessing
|
||||
the member 6 bytes into the actor at that index.
|
||||
In this function, that's the `crossingId` member of a RailroadCrossing actor
|
||||
*/
|
||||
@@ -3630,7 +3641,7 @@ s16 func_8029E890(s32 arg0, s16 *arg1, f32 *arg2, s16 actorType) {
|
||||
temp_t3 = D_8015F900;
|
||||
phi_s1 = (s16) temp_t3;
|
||||
if ((s32) temp_t3 < 0x64) {
|
||||
phi_s0 = &D_8015F9B8[temp_t3];
|
||||
phi_s0 = &gActorList[temp_t3];
|
||||
loop_2:
|
||||
if ((phi_s0->flags & 0xF) == 0) {
|
||||
temp_v0 = phi_s0->type;
|
||||
@@ -3696,7 +3707,7 @@ block_24:
|
||||
block_26:
|
||||
phi_s1_2 = (s16) D_8015F900;
|
||||
if ((s16) D_8015F900 < 0x64) {
|
||||
phi_s0_2 = &D_8015F9B8[(s16) D_8015F900];
|
||||
phi_s0_2 = &gActorList[(s16) D_8015F900];
|
||||
loop_28:
|
||||
temp_v0_5 = phi_s0_2->type;
|
||||
switch (temp_v0_5) { /* switch 3; irregular */
|
||||
@@ -3766,44 +3777,25 @@ block_50:
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029E890.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_80296D10(? *, s32, s32, s32, s32); // extern
|
||||
s16 func_8029E890(s16); // extern
|
||||
void func_80296D10(struct Actor *, f32 *, s16 *, f32 *, s32); /* extern */
|
||||
s16 func_8029E890(f32 *, s16 *, f32 *, s16); /* extern */
|
||||
extern u16 D_80150110;
|
||||
extern ? D_8015F9B8;
|
||||
|
||||
s16 func_8029EC88(s32 arg0, s32 arg1, s32 arg2, s16 arg3) {
|
||||
s32 sp24;
|
||||
s32 temp_v1;
|
||||
u16 temp_t0;
|
||||
? *phi_a0;
|
||||
s32 phi_v1;
|
||||
s16 func_8029EC88(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType) {
|
||||
s32 index;
|
||||
|
||||
temp_t0 = D_80150110;
|
||||
if (temp_t0 >= 0x64) {
|
||||
return func_8029E890(arg3);
|
||||
if (D_80150110 >= ACTOR_LIST_SIZE) {
|
||||
return func_8029E890(pos, rot, velocity, actorType);
|
||||
}
|
||||
phi_a0 = &D_8015F9B8;
|
||||
phi_v1 = 0;
|
||||
loop_3:
|
||||
if (phi_a0->unk2 == 0) {
|
||||
D_80150110 = temp_t0 + 1;
|
||||
sp24 = phi_v1;
|
||||
func_80296D10(phi_a0, arg0, arg1, arg2, arg3);
|
||||
return phi_v1;
|
||||
for(index = 0; index < ACTOR_LIST_SIZE; index++){
|
||||
if (gActorList[index].flags == 0) {
|
||||
D_80150110++;
|
||||
func_80296D10(&gActorList[index], pos, rot, velocity, actorType);
|
||||
return index;
|
||||
}
|
||||
}
|
||||
temp_v1 = phi_v1 + 1;
|
||||
phi_a0 += 0x70;
|
||||
phi_v1 = temp_v1;
|
||||
if (temp_v1 == 0x64) {
|
||||
return -1;
|
||||
}
|
||||
goto loop_3;
|
||||
return -1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_actors/func_8029EC88.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
@@ -4011,15 +4003,13 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029F2FC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 792017ad9d422c2467bd42686f383a5c41f41c75
|
||||
? func_8008DABC(Player *, s8); /* extern */
|
||||
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
|
||||
? func_800C90F4(s32, s32); /* extern */
|
||||
? func_800C98B8(f32 *, f32 *, ?, Player *); /* extern */
|
||||
? func_802977B0(Player *); /* extern */
|
||||
f32 sqrtf(f32, f32); /* extern */
|
||||
extern s32 D_80162DF8;
|
||||
|
||||
s32 func_8029F408(Player *arg0, Player *arg1) {
|
||||
s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) {
|
||||
f32 sp1C;
|
||||
Player *temp_a0;
|
||||
Player *temp_a3;
|
||||
@@ -4028,48 +4018,48 @@ s32 func_8029F408(Player *arg0, Player *arg1) {
|
||||
f32 temp_f2;
|
||||
f32 temp_f2_2;
|
||||
|
||||
temp_f2 = arg1->posY - arg0->pos[0];
|
||||
temp_f2 = egg->pos[0] - player->pos[0];
|
||||
if ((temp_f2 < 0.0f) && (temp_f2 < -60.0f)) {
|
||||
return 0;
|
||||
}
|
||||
if (temp_f2 > 60.0f) {
|
||||
return 0;
|
||||
}
|
||||
temp_f0 = arg1->rotX - arg0->pos[2];
|
||||
temp_f0 = egg->pos[2] - player->pos[2];
|
||||
if ((temp_f0 < 0.0f) && (temp_f0 < -60.0f)) {
|
||||
return 0;
|
||||
}
|
||||
if (temp_f0 > 60.0f) {
|
||||
return 0;
|
||||
}
|
||||
arg0 = arg0;
|
||||
temp_f0_2 = sqrtf((temp_f2 * temp_f2) + (temp_f0 * temp_f0), 60.0f);
|
||||
player = player;
|
||||
temp_f0_2 = sqrtf((temp_f2 * temp_f2) + (temp_f0 * temp_f0));
|
||||
temp_f2_2 = temp_f0_2;
|
||||
temp_a0 = arg0;
|
||||
temp_a0 = player;
|
||||
if (temp_f0_2 > 60.0f) {
|
||||
return 0;
|
||||
}
|
||||
arg0 = arg0;
|
||||
player = player;
|
||||
sp1C = temp_f2_2;
|
||||
func_802977B0(temp_a0);
|
||||
temp_a3 = arg0;
|
||||
if ((temp_a3->posY - arg1->posZ) < 0.0f) {
|
||||
temp_a3 = player;
|
||||
if ((temp_a3->pos[1] - egg->pos[1]) < 0.0f) {
|
||||
return 0;
|
||||
}
|
||||
if ((temp_a3->boundingBoxSize + (bitwise f32) arg1->unk_00C) < temp_f2_2) {
|
||||
if ((temp_a3->boundingBoxSize + egg->boundingBoxSize) < temp_f2_2) {
|
||||
return 0;
|
||||
}
|
||||
if ((temp_a3->unk_000 & 0x4000) != 0) {
|
||||
if ((temp_a3->unk_0BC & 0x200) != 0) {
|
||||
arg1->unk_002 = (s16) arg1->unk_002 | 0x400;
|
||||
arg1->rotZ = 8.0f;
|
||||
arg0 = temp_a3;
|
||||
func_800C98B8(&temp_a3->posX, &temp_a3->unk_034, 0x19018010, temp_a3);
|
||||
func_800C90F4(((s32) (arg0 - gPlayerOne) / 3544) & 0xFF, (arg0->characterId * 0x10) + 0x2900800D);
|
||||
egg->flags |= 0x400;
|
||||
egg->pathCenter[1] = 8.0f;
|
||||
player = temp_a3;
|
||||
func_800C98B8(temp_a3->pos, &temp_a3->unk_034, 0x19018010, temp_a3);
|
||||
func_800C90F4(((s32) (player - gPlayerOne) / 3544) & 0xFF, (player->characterId * 0x10) + 0x2900800D);
|
||||
} else {
|
||||
arg0 = temp_a3;
|
||||
player = temp_a3;
|
||||
func_8008DABC(temp_a3, (s8) ((s32) (temp_a3 - gPlayerOne) / 3544));
|
||||
if ((gModeSelection == 1) && ((arg0->unk_000 & 0x1000) == 0)) {
|
||||
if ((gModeSelection == 1) && ((player->unk_000 & 0x1000) == 0)) {
|
||||
D_80162DF8 = 1;
|
||||
}
|
||||
}
|
||||
@@ -4402,19 +4392,19 @@ void func_8029FDC8(struct Actor *actor) {
|
||||
switch (temp_v1) { /* switch 5; irregular */
|
||||
case 2: /* switch 5 */
|
||||
actor = temp_a2;
|
||||
func_8000EE58((s32) (temp_a2 - D_8015F9B8) / 112);
|
||||
func_8000EE58((s32) (temp_a2 - gActorList) / 112);
|
||||
phi_a2_3 = actor;
|
||||
/* fallthrough */
|
||||
case 0: /* switch 5 */
|
||||
case 1: /* switch 5 */
|
||||
phi_a2_3->flags = -0x8000;
|
||||
phi_a2_3->rot[1] = 0;
|
||||
phi_a2_3->unk_04 = 0x003C;
|
||||
phi_a2_3->someTimer = 0x003C;
|
||||
phi_a2_3->state = 5;
|
||||
phi_a2_3->velocity[1] = 3.0f;
|
||||
return;
|
||||
case 4: /* switch 5 */
|
||||
func_802B02B4(temp_a2, 7, temp_a2, 7);
|
||||
func_802B02B4(temp_a2, ACTOR_GREEN_SHELL, temp_a2, ACTOR_GREEN_SHELL);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
@@ -4431,7 +4421,7 @@ void func_8029FDC8(struct Actor *actor) {
|
||||
temp_a0 = temp_a2->pos;
|
||||
actor = temp_a2;
|
||||
func_800C9EF4(temp_a0, 0x51018008, temp_a2, 7);
|
||||
func_8000EE58((s32) (actor - D_8015F9B8) / 112);
|
||||
func_8000EE58((s32) (actor - gActorList) / 112);
|
||||
phi_a2 = actor;
|
||||
/* fallthrough */
|
||||
case 0: /* switch 2 */
|
||||
@@ -4456,19 +4446,19 @@ void func_8029FDC8(struct Actor *actor) {
|
||||
case 8: /* switch 3 */
|
||||
case 9: /* switch 3 */
|
||||
actor = temp_a2;
|
||||
func_8000EE58((s32) (temp_a2 - D_8015F9B8) / 112);
|
||||
func_8000EE58((s32) (temp_a2 - gActorList) / 112);
|
||||
phi_a2_2 = actor;
|
||||
/* fallthrough */
|
||||
case 0: /* switch 3 */
|
||||
case 1: /* switch 3 */
|
||||
phi_a2_2->flags = -0x8000;
|
||||
phi_a2_2->rot[1] = 0;
|
||||
phi_a2_2->unk_04 = 0x003C;
|
||||
phi_a2_2->someTimer = 0x003C;
|
||||
phi_a2_2->state = 7;
|
||||
phi_a2_2->velocity[1] = 3.0f;
|
||||
return;
|
||||
case 6: /* switch 3 */
|
||||
func_802B02B4(temp_a2, 8, temp_a2, 7);
|
||||
func_802B02B4(temp_a2, ACTOR_RED_SHELL, temp_a2, ACTOR_GREEN_SHELL);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -4866,8 +4856,8 @@ void func_802A0D54(void) {
|
||||
|
||||
if (((phi_s1->unk_000 & 0x8000) != 0) && ((phi_s1->unk_0BC & 0x4000000) == 0)) {
|
||||
func_802977E4(phi_s1);
|
||||
for (j = 0; j < 100; j++) {
|
||||
temp_a1 = &D_8015F9B8[j];
|
||||
for (j = 0; j < ACTOR_LIST_SIZE; j++) {
|
||||
temp_a1 = &gActorList[j];
|
||||
|
||||
if ((phi_s1->unk_0BC & 0x4000000) == 0) {
|
||||
// temp_v0 = temp_a1->unk2;
|
||||
@@ -4889,21 +4879,21 @@ void func_802A0E44(void) {
|
||||
s32 i, j;
|
||||
s32 pad;
|
||||
|
||||
for (i = D_8015F900; i < 99; i++) {
|
||||
phi_s0 = &D_8015F9B8[i];
|
||||
for (i = D_8015F900; i < (ACTOR_LIST_SIZE - 1); i++) {
|
||||
phi_s0 = &gActorList[i];
|
||||
|
||||
if ((phi_s0->flags & 0x8000) == 0) { continue; }
|
||||
if ((phi_s0->flags & 0x4000) == 0) { continue; }
|
||||
|
||||
switch(phi_s0->type) {
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 42:
|
||||
case 13:
|
||||
case ACTOR_BANANA:
|
||||
case ACTOR_GREEN_SHELL:
|
||||
case ACTOR_RED_SHELL:
|
||||
case ACTOR_BLUE_SPINY_SHELL:
|
||||
case ACTOR_FAKE_ITEM_BOX:
|
||||
|
||||
for (j = i + 1; j < 100; j++) {
|
||||
temp_a1 = &D_8015F9B8[j];
|
||||
for (j = i + 1; j < ACTOR_LIST_SIZE; j++) {
|
||||
temp_a1 = &gActorList[j];
|
||||
|
||||
if ((phi_s0->flags & 0x8000) == 0) {continue;}
|
||||
if ((phi_s0->flags & 0x4000) == 0) {continue;}
|
||||
@@ -4913,18 +4903,18 @@ void func_802A0E44(void) {
|
||||
|
||||
switch(temp_a1->type) {
|
||||
case ACTOR_BANANA:
|
||||
if (phi_s0->type == 6) { continue; }
|
||||
if (phi_s0->type == ACTOR_BANANA) { continue; }
|
||||
func_802A0350(phi_s0, temp_a1);
|
||||
break;
|
||||
case ACTOR_GREEN_SHELL:
|
||||
if (phi_s0->type == 7) {
|
||||
if (phi_s0->type == ACTOR_GREEN_SHELL) {
|
||||
if (phi_s0->rot[2] == temp_a1->rot[2]) { continue; }
|
||||
}
|
||||
func_802A0350(phi_s0, temp_a1);
|
||||
|
||||
break;
|
||||
case ACTOR_RED_SHELL:
|
||||
if (phi_s0->type == 8) {
|
||||
if (phi_s0->type == ACTOR_RED_SHELL) {
|
||||
if (phi_s0->rot[2] == temp_a1->rot[2]) { continue; }
|
||||
}
|
||||
func_802A0350(phi_s0, temp_a1);
|
||||
@@ -4945,13 +4935,12 @@ f32 func_802ABEAC(UnkActorInner*, Vec3f);
|
||||
extern f32 D_802B99CC;
|
||||
|
||||
void func_802A1064(struct FakeItemBox *fake_item_box) {
|
||||
if (fake_item_box - (struct FakeItemBox*)D_8015F9B8 > 100u) { return; }
|
||||
if ((fake_item_box->flags & 0x8000) == 0) { return; }
|
||||
|
||||
if (fake_item_box->type == ACTOR_FAKE_ITEM_BOX) {
|
||||
fake_item_box->state = 1;
|
||||
fake_item_box->targetY = func_802ABEAC(&fake_item_box->unk30, fake_item_box->pos) + D_802B99CC;
|
||||
fake_item_box->someTimer = 100;
|
||||
if (fake_item_box - (struct FakeItemBox*)gActorList <= (u32)ACTOR_LIST_SIZE) {
|
||||
if (((fake_item_box->flags & 0x8000) != 0) && (fake_item_box->type == ACTOR_FAKE_ITEM_BOX)) {
|
||||
fake_item_box->state = 1;
|
||||
fake_item_box->targetY = func_802ABEAC(&fake_item_box->unk30, fake_item_box->pos) + D_802B99CC;
|
||||
fake_item_box->someTimer = 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5058,7 +5047,7 @@ void func_802A14BC(f32 arg0, f32 arg1, f32 arg2) {
|
||||
sp34[1] = arg1;
|
||||
sp34[2] = arg2;
|
||||
temp_a0 = func_8029EC88(sp34, sp20, sp28, 43);
|
||||
D_802BA05C = &D_8015F9B8[temp_a0];
|
||||
D_802BA05C = &gActorList[temp_a0];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5915,8 +5904,8 @@ void func_802A2F34(struct UnkStruct_800DC5EC *arg0) {
|
||||
s32 i;
|
||||
D_8015F8DC = 0;
|
||||
|
||||
for (i = 0; i < 100; i++) {
|
||||
phi_s0 = &D_8015F9B8[i];
|
||||
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
|
||||
phi_s0 = &gActorList[i];
|
||||
|
||||
if (phi_s0->flags == 0) {
|
||||
continue;
|
||||
@@ -6003,8 +5992,8 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
|
||||
}
|
||||
D_8015F8E0 = 0;
|
||||
|
||||
for (i = 0; i < 100; i++) {
|
||||
phi_s0 = &D_8015F9B8[i];
|
||||
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
|
||||
phi_s0 = &gActorList[i];
|
||||
|
||||
if (phi_s0->flags == 0) {
|
||||
continue;
|
||||
@@ -6124,9 +6113,9 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
|
||||
void update_simple_objects(void) {
|
||||
struct Actor *phi_s0;
|
||||
s32 i;
|
||||
for (i = 0; i < 100; i++) {
|
||||
for (i = 0; i < ACTOR_LIST_SIZE; i++) {
|
||||
|
||||
phi_s0 = &D_8015F9B8[i];
|
||||
phi_s0 = &gActorList[i];
|
||||
if (phi_s0->flags == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
+82
-84
@@ -21,38 +21,36 @@ void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) {
|
||||
vec3f_copy(arg1->unk60, arg0->unk60);
|
||||
}
|
||||
|
||||
extern struct Actor D_8015F9B8[];
|
||||
extern struct Actor gActorList[];
|
||||
|
||||
void func_802B02B4(struct Actor *arg0, s32 arg1) {
|
||||
s32 temp_f6;
|
||||
struct Actor *temp_v0 = &D_8015F9B8[arg0->unk_04];
|
||||
void func_802B02B4(struct ShellActor *shell, s32 shellType) {
|
||||
struct TripleShellParent *parent = &gActorList[shell->parentIndex];
|
||||
|
||||
temp_v0->unk_04--;
|
||||
parent->shellsAvailable--;
|
||||
|
||||
switch((s16)arg0->unk_08) {
|
||||
switch((s16)shell->shellId) {
|
||||
case 0:
|
||||
temp_v0->velocity[0] = -1.0f;
|
||||
parent->shellIndices[0] = -1.0f;
|
||||
break;
|
||||
case 1:
|
||||
temp_v0->velocity[1] = -1.0f;
|
||||
parent->shellIndices[1] = -1.0f;
|
||||
break;
|
||||
case 2:
|
||||
temp_v0->velocity[2] = -1.0f;
|
||||
parent->shellIndices[2] = -1.0f;
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
arg0->flags = 0x8000; // bitflag
|
||||
arg0->rot[1] = 0;
|
||||
arg0->velocity[1] = 3.0f;
|
||||
arg0->unk_04 = 60;
|
||||
|
||||
switch(arg1) {
|
||||
case 7:
|
||||
arg0->state = 5;
|
||||
shell->flags = 0x8000; // bitflag
|
||||
shell->rotAngle = 0;
|
||||
shell->velocity[1] = 3.0f;
|
||||
shell->someTimer = 60;
|
||||
|
||||
switch(shellType) {
|
||||
case ACTOR_GREEN_SHELL:
|
||||
shell->state = 5;
|
||||
break;
|
||||
case 8:
|
||||
arg0->state = 7;
|
||||
case ACTOR_RED_SHELL:
|
||||
shell->state = 7;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -87,7 +85,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B039C.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_802B039C(void *); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
void func_802B0464(s16 arg0) {
|
||||
s16 temp_s0;
|
||||
@@ -97,7 +95,7 @@ void func_802B0464(s16 arg0) {
|
||||
phi_s0 = arg0;
|
||||
if (arg0 != -1) {
|
||||
do {
|
||||
temp_a0 = &D_8015F9B8 + (phi_s0 * 0x70);
|
||||
temp_a0 = &gActorList + (phi_s0 * 0x70);
|
||||
func_802B039C(temp_a0);
|
||||
temp_s0 = temp_a0->unk14;
|
||||
phi_s0 = temp_s0;
|
||||
@@ -111,7 +109,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B0464.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? func_802B039C(void *); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
void func_802B04E8(s32 arg0, s16 arg1) {
|
||||
s16 temp_s0;
|
||||
@@ -121,7 +119,7 @@ void func_802B04E8(s32 arg0, s16 arg1) {
|
||||
phi_s0 = arg1;
|
||||
if (arg1 != -1) {
|
||||
do {
|
||||
temp_a0 = &D_8015F9B8 + (phi_s0 * 0x70);
|
||||
temp_a0 = &gActorList + (phi_s0 * 0x70);
|
||||
func_802B039C(temp_a0);
|
||||
temp_s0 = temp_a0->unk12;
|
||||
phi_s0 = temp_s0;
|
||||
@@ -137,7 +135,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B04E8.s")
|
||||
? func_800C9060(s32, ?); // extern
|
||||
? func_802B0464(s16); // extern
|
||||
? func_802B04E8(void *, s16); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern ? gPlayers;
|
||||
|
||||
void func_802B0570(void *arg0) {
|
||||
@@ -153,7 +151,7 @@ void func_802B0570(void *arg0) {
|
||||
arg0->unk2 = -0x8000;
|
||||
arg0->unk_04 = 0x3C;
|
||||
arg0->unk6 = 5;
|
||||
temp_v0_2 = (arg0->unk_08 * 0x70) + &D_8015F9B8;
|
||||
temp_v0_2 = (arg0->unk_08 * 0x70) + &gActorList;
|
||||
arg0->unk28 = 3.0f;
|
||||
temp_v0_2->unk12 = -1;
|
||||
temp_v0_2->unk14 = -1;
|
||||
@@ -186,35 +184,35 @@ void func_802B0648(struct BananaBunchParent *banana_bunch) {
|
||||
if (temp_v0 != -1) {
|
||||
temp_lo = temp_v0 * 0x70;
|
||||
banana_bunch->bananaIndices[4] = -1;
|
||||
phi_v1 = D_8015F9B8 + temp_lo;
|
||||
phi_v1 = gActorList + temp_lo;
|
||||
goto block_10;
|
||||
}
|
||||
temp_v0_2 = banana_bunch->bananaIndices[3];
|
||||
if (temp_v0_2 != -1) {
|
||||
temp_lo_2 = temp_v0_2 * 0x70;
|
||||
banana_bunch->bananaIndices[3] = -1;
|
||||
phi_v1 = D_8015F9B8 + temp_lo_2;
|
||||
phi_v1 = gActorList + temp_lo_2;
|
||||
goto block_10;
|
||||
}
|
||||
temp_v0_3 = banana_bunch->bananaIndices[2];
|
||||
if (temp_v0_3 != -1) {
|
||||
temp_lo_3 = temp_v0_3 * 0x70;
|
||||
banana_bunch->bananaIndices[2] = -1;
|
||||
phi_v1 = D_8015F9B8 + temp_lo_3;
|
||||
phi_v1 = gActorList + temp_lo_3;
|
||||
goto block_10;
|
||||
}
|
||||
temp_v0_4 = banana_bunch->bananaIndices[1];
|
||||
if (temp_v0_4 != -1) {
|
||||
temp_lo_4 = temp_v0_4 * 0x70;
|
||||
banana_bunch->bananaIndices[1] = -1;
|
||||
phi_v1 = D_8015F9B8 + temp_lo_4;
|
||||
phi_v1 = gActorList + temp_lo_4;
|
||||
goto block_10;
|
||||
}
|
||||
temp_v0_5 = banana_bunch->bananaIndices[0];
|
||||
if (temp_v0_5 != -1) {
|
||||
temp_lo_5 = temp_v0_5 * 0x70;
|
||||
banana_bunch->bananaIndices[0] = -1;
|
||||
phi_v1 = D_8015F9B8 + temp_lo_5;
|
||||
phi_v1 = gActorList + temp_lo_5;
|
||||
block_10:
|
||||
temp_v0_6 = phi_v1->unk12;
|
||||
phi_v1->unk6 = 1;
|
||||
@@ -223,7 +221,7 @@ block_10:
|
||||
phi_v1->unk2C = 0.0f;
|
||||
phi_v1->unk28 = 1.5f;
|
||||
if (temp_v0_6 != -1) {
|
||||
(D_8015F9B8 + (temp_v0_6 * 0x70))->unk14 = -1;
|
||||
(gActorList + (temp_v0_6 * 0x70))->unk14 = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -261,41 +259,41 @@ void func_802B0788(s16 arg0, struct BananaBunchParent *banana_bunch, Player *pla
|
||||
if (temp_a3 != -1) {
|
||||
temp_lo = temp_a3 * 0x70;
|
||||
banana_bunch->bananaIndices[4] = -1;
|
||||
phi_v0 = D_8015F9B8 + temp_lo;
|
||||
phi_v0 = gActorList + temp_lo;
|
||||
goto block_10;
|
||||
}
|
||||
temp_a0 = banana_bunch->bananaIndices[3];
|
||||
if (temp_a0 != -1) {
|
||||
temp_lo_2 = temp_a0 * 0x70;
|
||||
banana_bunch->bananaIndices[3] = -1;
|
||||
phi_v0 = D_8015F9B8 + temp_lo_2;
|
||||
phi_v0 = gActorList + temp_lo_2;
|
||||
goto block_10;
|
||||
}
|
||||
temp_a0_2 = banana_bunch->bananaIndices[2];
|
||||
if (temp_a0_2 != -1) {
|
||||
temp_lo_3 = temp_a0_2 * 0x70;
|
||||
banana_bunch->bananaIndices[2] = -1;
|
||||
phi_v0 = D_8015F9B8 + temp_lo_3;
|
||||
phi_v0 = gActorList + temp_lo_3;
|
||||
goto block_10;
|
||||
}
|
||||
temp_a0_3 = banana_bunch->bananaIndices[1];
|
||||
if (temp_a0_3 != -1) {
|
||||
temp_lo_4 = temp_a0_3 * 0x70;
|
||||
banana_bunch->bananaIndices[1] = -1;
|
||||
phi_v0 = D_8015F9B8 + temp_lo_4;
|
||||
phi_v0 = gActorList + temp_lo_4;
|
||||
goto block_10;
|
||||
}
|
||||
temp_a0_4 = banana_bunch->bananaIndices[0];
|
||||
if (temp_a0_4 != -1) {
|
||||
temp_lo_5 = temp_a0_4 * 0x70;
|
||||
banana_bunch->bananaIndices[0] = -1;
|
||||
phi_v0 = D_8015F9B8 + temp_lo_5;
|
||||
phi_v0 = gActorList + temp_lo_5;
|
||||
block_10:
|
||||
temp_a1 = phi_v0->unk12;
|
||||
phi_v0->unk6 = 1;
|
||||
phi_v0->unk_04 = 0x001E;
|
||||
if (temp_a1 != -1) {
|
||||
(D_8015F9B8 + (temp_a1 * 0x70))->unk14 = -1;
|
||||
(gActorList + (temp_a1 * 0x70))->unk14 = -1;
|
||||
}
|
||||
temp_f2 = player->unk_094;
|
||||
if (temp_f2 < 2.0f) {
|
||||
@@ -323,7 +321,7 @@ s32 func_802B09C0(s16 bananaId) {
|
||||
if (bananaId == -1) {
|
||||
return 0;
|
||||
}
|
||||
banana = (struct BananaActor*) &D_8015F9B8[bananaId];
|
||||
banana = (struct BananaActor*) &gActorList[bananaId];
|
||||
if (banana->state == 2) {
|
||||
return 1;
|
||||
}
|
||||
@@ -415,15 +413,15 @@ void update_obj_banana_bunch(struct BananaBunchParent *banana_bunch) {
|
||||
break;
|
||||
case 5:
|
||||
banana_bunch->state = 6;
|
||||
temp_a0 = &D_8015F9B8[banana_bunch->bananaIndices[0]];
|
||||
temp_a0 = &gActorList[banana_bunch->bananaIndices[0]];
|
||||
temp_a0->flags |= 0x5000;
|
||||
temp_a1 = &D_8015F9B8[banana_bunch->bananaIndices[1]];
|
||||
temp_a1 = &gActorList[banana_bunch->bananaIndices[1]];
|
||||
temp_a1->flags |= 0x5000;
|
||||
temp_a2 = &D_8015F9B8[banana_bunch->bananaIndices[2]];
|
||||
temp_a2 = &gActorList[banana_bunch->bananaIndices[2]];
|
||||
temp_a2->flags |= 0x5000;
|
||||
temp_a3_2 = &D_8015F9B8[banana_bunch->bananaIndices[3]];
|
||||
temp_a3_2 = &gActorList[banana_bunch->bananaIndices[3]];
|
||||
temp_a3_2->flags |= 0x5000;
|
||||
temp_t0 = &D_8015F9B8[banana_bunch->bananaIndices[4]];
|
||||
temp_t0 = &gActorList[banana_bunch->bananaIndices[4]];
|
||||
temp_t0->flags |= 0x5000;
|
||||
return;
|
||||
case 6:
|
||||
@@ -490,7 +488,7 @@ s32 func_802B0E14(s16 arg0) {
|
||||
if (arg0 < 0) {
|
||||
return 0;
|
||||
}
|
||||
temp = (struct ShellActor*) &D_8015F9B8[arg0];
|
||||
temp = (struct ShellActor*) &gActorList[arg0];
|
||||
if (temp->type == 7) {
|
||||
if (temp->state == 4) {
|
||||
return 1;
|
||||
@@ -612,11 +610,11 @@ void update_obj_triple_shell(struct TripleShellParent *actor, s16 arg1) {
|
||||
break;
|
||||
case 3:
|
||||
actor->state = 4;
|
||||
temp_v0_2 = &D_8015F9B8[(s16) (s32) actor->shellIndices[0]];
|
||||
temp_v0_2 = &gActorList[(s16) (s32) actor->shellIndices[0]];
|
||||
temp_v0_2->flags |= 0x4000;
|
||||
temp_v0_3 = &D_8015F9B8[(s16) (s32) actor->shellIndices[1]];
|
||||
temp_v0_3 = &gActorList[(s16) (s32) actor->shellIndices[1]];
|
||||
temp_v0_3->flags |= 0x4000;
|
||||
temp_v0_4 = &D_8015F9B8[(s16) (s32) actor->shellIndices[2]];
|
||||
temp_v0_4 = &gActorList[(s16) (s32) actor->shellIndices[2]];
|
||||
temp_v0_4->flags |= 0x4000;
|
||||
return;
|
||||
case 4:
|
||||
@@ -655,7 +653,7 @@ void update_obj_triple_shell(struct TripleShellParent *actor, s16 arg1) {
|
||||
}
|
||||
if (actor->unk_08 > 0.0f) {
|
||||
temp_f0 = actor->shellIndices[0];
|
||||
if ((temp_f0 > 0.0f) && ((temp_v0_6 = &D_8015F9B8[(s16) (s32) temp_f0], temp_v1_2 = temp_v0_6->rotAngle, temp_a0 = &sp38, ((temp_v1_2 < 0x38E) != 0)) || (temp_v1_2 >= -0x38D))) {
|
||||
if ((temp_f0 > 0.0f) && ((temp_v0_6 = &gActorList[(s16) (s32) temp_f0], temp_v1_2 = temp_v0_6->rotAngle, temp_a0 = &sp38, ((temp_v1_2 < 0x38E) != 0)) || (temp_v1_2 >= -0x38D))) {
|
||||
temp_v1_3 = &gPlayers[temp_t0];
|
||||
sp38 = 0.0f;
|
||||
sp3C = 0.0f;
|
||||
@@ -681,7 +679,7 @@ void update_obj_triple_shell(struct TripleShellParent *actor, s16 arg1) {
|
||||
return;
|
||||
}
|
||||
temp_f0_2 = actor->shellIndices[1];
|
||||
if ((temp_f0_2 > 0.0f) && ((temp_v0_7 = &D_8015F9B8[(s16) (s32) temp_f0_2], temp_v1_4 = temp_v0_7->rotAngle, ((temp_v1_4 < 0xAA1) != 0)) || (temp_v1_4 >= 0x38F))) {
|
||||
if ((temp_f0_2 > 0.0f) && ((temp_v0_7 = &gActorList[(s16) (s32) temp_f0_2], temp_v1_4 = temp_v0_7->rotAngle, ((temp_v1_4 < 0xAA1) != 0)) || (temp_v1_4 >= 0x38F))) {
|
||||
temp_v1_5 = &gPlayers[temp_t0];
|
||||
sp38 = 0.0f;
|
||||
sp3C = 0.0f;
|
||||
@@ -707,7 +705,7 @@ void update_obj_triple_shell(struct TripleShellParent *actor, s16 arg1) {
|
||||
return;
|
||||
}
|
||||
temp_f0_3 = actor->shellIndices[2];
|
||||
if ((temp_f0_3 > 0.0f) && ((temp_v0_8 = &D_8015F9B8[(s16) (s32) temp_f0_3], temp_v1_6 = temp_v0_8->rotAngle, temp_a0_2 = &sp38, ((temp_v1_6 < -0x38E) != 0)) || (temp_v1_6 >= -0x71B))) {
|
||||
if ((temp_f0_3 > 0.0f) && ((temp_v0_8 = &gActorList[(s16) (s32) temp_f0_3], temp_v1_6 = temp_v0_8->rotAngle, temp_a0_2 = &sp38, ((temp_v1_6 < -0x38E) != 0)) || (temp_v1_6 >= -0x71B))) {
|
||||
temp_v1_7 = &gPlayers[temp_t0];
|
||||
sp38 = 0.0f;
|
||||
sp3C = 0.0f;
|
||||
@@ -742,7 +740,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/update_obj_triple_shell.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s16 func_8029EC88(? *, ? *, ? *, ?); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern ? D_802B9140;
|
||||
extern ? D_802B914C;
|
||||
extern ? D_802B9154;
|
||||
@@ -766,7 +764,7 @@ s16 func_802B17F4(void *arg0) {
|
||||
if (temp_v0 < 0) {
|
||||
return temp_v0;
|
||||
}
|
||||
temp_v1 = (temp_v0 * 0x70) + &D_8015F9B8;
|
||||
temp_v1 = (temp_v0 * 0x70) + &gActorList;
|
||||
temp_v1->unk6 = 0;
|
||||
temp_v1->rot = (arg0 - gPlayerOne) / 0xDD8;
|
||||
arg0->unkC = arg0->unkC | 0x40000;
|
||||
@@ -779,7 +777,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B17F4.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s16 func_8029EC88(? *, ? *, ? *, s16); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern ? D_802B9160;
|
||||
extern ? D_802B916C;
|
||||
extern ? D_802B9174;
|
||||
@@ -803,7 +801,7 @@ s16 func_802B18E4(s32 arg0, s16 arg1) {
|
||||
if (temp_v0 < 0) {
|
||||
return temp_v0;
|
||||
}
|
||||
temp_v1 = (temp_v0 * 0x70) + &D_8015F9B8;
|
||||
temp_v1 = (temp_v0 * 0x70) + &gActorList;
|
||||
temp_v1->unk6 = 0;
|
||||
temp_v1->rot = 0x5B0;
|
||||
temp_v1->unk12 = -0x8000;
|
||||
@@ -860,7 +858,7 @@ s32 func_802B19EC(struct TripleShellParent *arg0, Player *player, s16 arg2, u16
|
||||
}
|
||||
temp_t3 = temp_v0 * 7;
|
||||
sp40 = player->pos[0];
|
||||
temp_s0 = (temp_t3 * 0x10) + D_8015F9B8;
|
||||
temp_s0 = (temp_t3 * 0x10) + gActorList;
|
||||
sp44 = player->pos[1];
|
||||
sp48 = player->pos[2];
|
||||
func_802AD950(temp_s0 + 0x30, temp_s0->unkC + 1.0f, temp_s0->pos, temp_s0->unk1C, temp_s0->unk20, sp40, sp44, sp48);
|
||||
@@ -877,9 +875,9 @@ s32 func_802B19EC(struct TripleShellParent *arg0, Player *player, s16 arg2, u16
|
||||
temp_s0->rot = 0;
|
||||
temp_s0->unk12 = -0x8000;
|
||||
temp_s0->unk14 = (s16) ((s32) (player - gPlayerOne) / 3544);
|
||||
temp_s0->unk_04 = (s16) ((s32) (arg0 - D_8015F9B8) / 112);
|
||||
temp_s0->unk_04 = (s16) ((s32) (arg0 - gActorList) / 112);
|
||||
temp_s0->unk_08 = (f32) arg3;
|
||||
arg0->shellIndices[arg3] = (f32) ((s32) (temp_s0 - D_8015F9B8) / 112);
|
||||
arg0->shellIndices[arg3] = (f32) ((s32) (temp_s0 - gActorList) / 112);
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
@@ -892,7 +890,7 @@ s16 func_8029EC88(f32 *, ? *, ? *, ?); // extern
|
||||
? func_802AD950(void *, f32, s32, s32, f32, f32, f32, f32); // extern
|
||||
? func_802B4E30(void *); // extern
|
||||
? func_802B63B8(f32 *, s32); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern ? D_802B9194;
|
||||
extern ? D_802B91A0;
|
||||
|
||||
@@ -929,7 +927,7 @@ s16 func_802B1C9C(void *arg0) {
|
||||
}
|
||||
temp_t8 = temp_v1 * 7;
|
||||
sp40 = arg0->unk14;
|
||||
temp_s0 = (temp_t8 * 0x10) + &D_8015F9B8;
|
||||
temp_s0 = (temp_t8 * 0x10) + &gActorList;
|
||||
sp44 = arg0->pos;
|
||||
sp48 = arg0->unk1C;
|
||||
sp3E = temp_v1;
|
||||
@@ -951,7 +949,7 @@ s16 func_8029EC88(f32 *, ? *, ? *, ?); // extern
|
||||
? func_802AD950(void *, f32, s32, s32, f32, f32, f32, f32); // extern
|
||||
? func_802B4E30(void *); // extern
|
||||
? func_802B63B8(f32 *, s32); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
extern ? D_802B91A8;
|
||||
extern ? D_802B91B4;
|
||||
|
||||
@@ -988,7 +986,7 @@ s16 func_802B1E48(void *arg0) {
|
||||
}
|
||||
temp_t8 = temp_v1 * 7;
|
||||
sp40 = arg0->unk14;
|
||||
temp_s0 = (temp_t8 * 0x10) + &D_8015F9B8;
|
||||
temp_s0 = (temp_t8 * 0x10) + &gActorList;
|
||||
sp44 = arg0->pos;
|
||||
sp48 = arg0->unk1C;
|
||||
sp3E = temp_v1;
|
||||
@@ -1007,10 +1005,10 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B1E48.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 func_802B1E48(); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
void func_802B1FFC(void) {
|
||||
*(&D_8015F9B8 + (func_802B1E48() * 0x70)) = 0x2A;
|
||||
*(&gActorList + (func_802B1E48() * 0x70)) = 0x2A;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B1FFC.s")
|
||||
@@ -1236,7 +1234,7 @@ void update_obj_banana(struct BananaActor *banana) {
|
||||
func_802B4E30(banana);
|
||||
return;
|
||||
case 3:
|
||||
temp_v0_3 = &D_8015F9B8[banana->elderIndex];
|
||||
temp_v0_3 = &gActorList[banana->elderIndex];
|
||||
temp_f2_5 = temp_v0_3->pos[0] - banana->pos[0];
|
||||
temp_f14_4 = temp_v0_3->pos[1] - banana->pos[1];
|
||||
sp48 = temp_f2_5;
|
||||
@@ -1337,14 +1335,14 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b
|
||||
temp_lo = temp_t6 * 0x70;
|
||||
sp4C = player->pos[0];
|
||||
sp50 = player->pos[1];
|
||||
temp_s0 = D_8015F9B8 + temp_lo;
|
||||
temp_s0 = gActorList + temp_lo;
|
||||
sp54 = player->pos[2];
|
||||
sp6E = temp_t6;
|
||||
func_802AD950(temp_s0 + 0x30, temp_s0->unkC + 1.0f, temp_s0->pos, temp_s0->unk1C, temp_s0->unk20, sp4C, sp50, sp54);
|
||||
func_802B4E30(temp_s0);
|
||||
temp_s0->unk2 = -0x7000;
|
||||
temp_s0->rot = (s16) ((s32) (player - gPlayerOne) / 3544);
|
||||
temp_s0->unk_08 = (s16) ((s32) (banana_bunch - D_8015F9B8) / 112);
|
||||
temp_s0->unk_08 = (s16) ((s32) (banana_bunch - gActorList) / 112);
|
||||
temp_s0->unk14 = -1;
|
||||
temp_s0->unk_04 = 0x0014;
|
||||
temp_s0->unkA = bananaId;
|
||||
@@ -1358,7 +1356,7 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b
|
||||
temp_s0->unk6 = 3;
|
||||
banana_bunch->bananaIndices[1] = sp6E;
|
||||
temp_s0->unk12 = (s16) banana_bunch->bananaIndices[0];
|
||||
phi_v0 = &D_8015F9B8[banana_bunch->bananaIndices[0]];
|
||||
phi_v0 = &gActorList[banana_bunch->bananaIndices[0]];
|
||||
block_8:
|
||||
phi_v0->youngerIndex = sp6E;
|
||||
break;
|
||||
@@ -1366,19 +1364,19 @@ block_8:
|
||||
temp_s0->unk6 = 3;
|
||||
banana_bunch->bananaIndices[2] = sp6E;
|
||||
temp_s0->unk12 = (s16) banana_bunch->bananaIndices[1];
|
||||
phi_v0 = &D_8015F9B8[banana_bunch->bananaIndices[1]];
|
||||
phi_v0 = &gActorList[banana_bunch->bananaIndices[1]];
|
||||
goto block_8;
|
||||
case 3:
|
||||
temp_s0->unk6 = 3;
|
||||
banana_bunch->bananaIndices[3] = sp6E;
|
||||
temp_s0->unk12 = (s16) banana_bunch->bananaIndices[2];
|
||||
phi_v0 = &D_8015F9B8[banana_bunch->bananaIndices[2]];
|
||||
phi_v0 = &gActorList[banana_bunch->bananaIndices[2]];
|
||||
goto block_8;
|
||||
case 4:
|
||||
temp_s0->unk6 = 3;
|
||||
banana_bunch->bananaIndices[4] = sp6E;
|
||||
temp_s0->unk12 = (s16) banana_bunch->bananaIndices[3];
|
||||
phi_v0 = &D_8015F9B8[banana_bunch->bananaIndices[3]];
|
||||
phi_v0 = &gActorList[banana_bunch->bananaIndices[3]];
|
||||
goto block_8;
|
||||
}
|
||||
if ((player->unk_000 & 0x4000) != 0) {
|
||||
@@ -1394,7 +1392,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B2914.s")
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s16 func_8029EC88(f32 *, s16 *, f32 *, ?); // extern
|
||||
? func_802B63B8(f32 *, void *); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
s16 func_802B2C40(void *arg0) {
|
||||
f32 sp40;
|
||||
@@ -1432,7 +1430,7 @@ s16 func_802B2C40(void *arg0) {
|
||||
if (temp_v0 < 0) {
|
||||
return temp_v0;
|
||||
}
|
||||
temp_v1 = (temp_v0 * 0x70) + &D_8015F9B8;
|
||||
temp_v1 = (temp_v0 * 0x70) + &gActorList;
|
||||
temp_v1->unk6 = 0;
|
||||
temp_v1->velocity = (arg0 - gPlayerOne) / 0xDD8;
|
||||
arg0->unkC = arg0->unkC | 0x40000;
|
||||
@@ -1446,7 +1444,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B2C40.s")
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s16 func_8029EC88(f32 *, s16 *, f32 *, ?); // extern
|
||||
? func_802B63B8(f32 *, void *); // extern
|
||||
extern ? D_8015F9B8;
|
||||
extern ? gActorList;
|
||||
|
||||
s16 func_802B2D70(void *arg0) {
|
||||
f32 sp44;
|
||||
@@ -1491,7 +1489,7 @@ s16 func_802B2D70(void *arg0) {
|
||||
if (temp_v0 < 0) {
|
||||
return temp_v0;
|
||||
}
|
||||
temp_v1 = (temp_v0 * 0x70) + &D_8015F9B8;
|
||||
temp_v1 = (temp_v0 * 0x70) + &gActorList;
|
||||
temp_v1->rot = temp_t0;
|
||||
temp_v1->unk6 = 0;
|
||||
temp_v1->unk_04 = 0x14;
|
||||
@@ -1779,7 +1777,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
|
||||
shell->velocity[2] = sp74;
|
||||
func_800C9060(shell->unk15, 0x19008004);
|
||||
func_800C90F4(shell->unk15, (temp_s1->characterId * 0x10) + 0x29008000);
|
||||
func_8000EDC8((s32) (shell - D_8015F9B8) / 112);
|
||||
func_8000EDC8((s32) (shell - gActorList) / 112);
|
||||
return;
|
||||
}
|
||||
shell->state = 1;
|
||||
@@ -1803,7 +1801,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
|
||||
shell->parentIndex = 0x001E;
|
||||
func_800C9060(shell->unk15, 0x19008004);
|
||||
func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000);
|
||||
func_8000EDC8((s32) (shell - D_8015F9B8) / 112);
|
||||
func_8000EDC8((s32) (shell - gActorList) / 112);
|
||||
}
|
||||
} else {
|
||||
shell->rotAngle = temp_v0_2 + 0xE38;
|
||||
@@ -1812,7 +1810,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
|
||||
shell->parentIndex = 0x001E;
|
||||
func_800C9060(shell->unk15, 0x19008004);
|
||||
func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000);
|
||||
func_8000EDC8((s32) (shell - D_8015F9B8) / 112);
|
||||
func_8000EDC8((s32) (shell - gActorList) / 112);
|
||||
}
|
||||
}
|
||||
if (shell->state == 2) {
|
||||
@@ -1869,7 +1867,7 @@ void update_obj_green_shell(struct ShellActor *shell) {
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
temp_v0_4 = &D_8015F9B8[shell->parentIndex];
|
||||
temp_v0_4 = &gActorList[shell->parentIndex];
|
||||
temp_s1_4 = &gPlayers[shell->playerId];
|
||||
if (temp_v0_4->type != 0x0015) {
|
||||
func_8029FDC8((bitwise f32) shell);
|
||||
@@ -2300,9 +2298,9 @@ block_16:
|
||||
func_800C9060(shell->unk15, 0x19008004);
|
||||
func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000);
|
||||
if (sp56 == 8) {
|
||||
func_8000ED80((s32) (shell - D_8015F9B8) / 112);
|
||||
func_8000ED80((s32) (shell - gActorList) / 112);
|
||||
} else {
|
||||
func_8000EE10((s32) (shell - D_8015F9B8) / 112);
|
||||
func_8000EE10((s32) (shell - gActorList) / 112);
|
||||
func_800C9D80(shell->pos, shell->velocity, 0x51018008);
|
||||
}
|
||||
}
|
||||
@@ -2313,9 +2311,9 @@ block_16:
|
||||
func_800C9060(shell->unk15, 0x19008004);
|
||||
func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000);
|
||||
if (sp56 == 8) {
|
||||
func_8000ED80((s32) (shell - D_8015F9B8) / 112);
|
||||
func_8000ED80((s32) (shell - gActorList) / 112);
|
||||
} else {
|
||||
func_8000EE10((s32) (shell - D_8015F9B8) / 112);
|
||||
func_8000EE10((s32) (shell - gActorList) / 112);
|
||||
func_800C9D80(shell->pos, shell->velocity, 0x51018008);
|
||||
}
|
||||
}
|
||||
@@ -2443,7 +2441,7 @@ block_16:
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
temp_v0_7 = &D_8015F9B8[shell->parentIndex];
|
||||
temp_v0_7 = &gActorList[shell->parentIndex];
|
||||
temp_s1_5 = &gPlayers[shell->playerId];
|
||||
if (temp_v0_7->type != 0x0016) {
|
||||
func_8029FDC8((bitwise f32) shell);
|
||||
|
||||
Reference in New Issue
Block a user