summaryrefslogtreecommitdiff
path: root/src/code_800029B0.c
diff options
context:
space:
mode:
authorTyler McGavran <tyler.taggerung@gmail.com>2022-07-15 14:49:40 -0400
committerGitHub <noreply@github.com>2022-07-15 11:49:40 -0700
commitbf4ca947112976e0412d7bd41ff6eb385a60a173 (patch)
tree72a0c1124b0f679ef2b5aea409f98aeecb90fff7 /src/code_800029B0.c
parent7042a3eab57b6c02b5f1bc84cb1ca32a305cbd5d (diff)
Match a variety of functions (#245)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Diffstat (limited to 'src/code_800029B0.c')
-rw-r--r--src/code_800029B0.c50
1 files changed, 20 insertions, 30 deletions
diff --git a/src/code_800029B0.c b/src/code_800029B0.c
index 2bd23a0aa..453ac52ec 100644
--- a/src/code_800029B0.c
+++ b/src/code_800029B0.c
@@ -3,19 +3,13 @@
#include "types.h"
#include "variables.h"
#include "waypoints.h"
+#include "actors.h"
+#include "actor_types.h"
#include <defines.h>
extern void func_800C8F44(u16 arg0);
extern u16 D_800DC5A8;
-struct UnkStruct8015F8D0 {
- f32 unk0;
- f32 unk4;
- f32 unk8;
-};
-
-extern struct UnkStruct8015F8D0 D_8015F8D0;
-
extern struct Controller *gControllerOne[];
extern s32 D_800DC510;
@@ -67,10 +61,7 @@ extern u32 *D_06014330;
extern f32 gCourseDirection;
-extern u16 gNumPermanentActors;
-
-extern s16 D_800DC5BC, D_800DC5C8;
-extern u16 gNumActors;
+extern s16 D_800DC5C8;
s32 D_800DC5E0 = 32;
@@ -154,18 +145,18 @@ void setup_race(void) {
func_8029E158();
if (gModeSelection != BATTLE) {
- D_8015F8D0.unk4 = (f32) (D_80164490->wayPointY - 15);;
- D_8015F8D0.unk8 = D_80164490->wayPointZ;
+ D_8015F8D0[1] = (f32) (D_80164490->wayPointY - 15);;
+ D_8015F8D0[2] = D_80164490->wayPointZ;
if (gCurrentCourseId == COURSE_TOADS_TURNPIKE) {
- D_8015F8D0.unk0 = (gIsMirrorMode != 0) ?
+ D_8015F8D0[0] = (gIsMirrorMode != 0) ?
D_80164490->wayPointX + 138.0f :
D_80164490->wayPointX - 138.0f;
} else if (gCurrentCourseId == COURSE_WARIO_STADIUM) {
- D_8015F8D0.unk0 = (gIsMirrorMode != 0) ?
+ D_8015F8D0[0] = (gIsMirrorMode != 0) ?
D_80164490->wayPointX + 12.0f :
D_80164490->wayPointX - 12.0f;
} else {
- D_8015F8D0.unk0 = D_80164490->wayPointX;
+ D_8015F8D0[0] = D_80164490->wayPointX;
}
}
if (D_800DC51C == 0) {
@@ -232,10 +223,9 @@ void clear_nmi_buffer(void) {
}
void func_80003040(void) {
- u32 pad[2];
- f32 sp34;
- s32 sp28[3] = {0};
- s16 sp20[3] = {0};
+ Vec3f position;
+ Vec3f velocity = {0, 0, 0};
+ Vec3s rotation = {0, 0, 0};
D_800DC5BC = 0;
D_800DC5C8 = 0;
@@ -258,9 +248,9 @@ void func_80003040(void) {
func_802AF8BC(0x7000878, -0x80, 0, 0, 0);
break;
case COURSE_YOSHI_VALLEY:
- vec3f_set(&sp34, -2300.0f, 0.0f, 634.0f);
- sp34 *= gCourseDirection;
- func_8029EC88(&sp34, &sp20, &sp28, 9);
+ vec3f_set(position, -2300.0f, 0.0f, 634.0f);
+ position[0] *= gCourseDirection;
+ func_8029EC88(position, rotation, velocity, ACTOR_YOSHI_VALLEY_EGG);
break;
case COURSE_MOO_MOO_FARM:
func_802A84F4(&D_0F04FE28, 0x3E8, 0x800);
@@ -287,12 +277,12 @@ void func_80003040(void) {
func_802AF8BC(0x7001318, -1, 0xFF, 0xFF, 0);
break;
case COURSE_WARIO_STADIUM:
- vec3f_set(&sp34, -131.0f, 83.0f, 286.0f);
- func_8029EC88(&sp34, &sp20, &sp28, 0x23);
- vec3f_set(&sp34, -2353.0f, 72.0f, -1608.0f);
- func_8029EC88(&sp34, &sp20, &sp28, 0x23);
- vec3f_set(&sp34, -2622.0f, 79.0f, 739.0f);
- func_8029EC88(&sp34, &sp20, &sp28, 0x23);
+ vec3f_set(position, -131.0f, 83.0f, 286.0f);
+ func_8029EC88(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
+ vec3f_set(position, -2353.0f, 72.0f, -1608.0f);
+ func_8029EC88(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
+ vec3f_set(position, -2622.0f, 79.0f, 739.0f);
+ func_8029EC88(position, rotation, velocity, ACTOR_WARIO_STADIUM_SIGN);
func_802AF8BC(0x7000C50, 0x64, 0xFF, 0xFF, 0xFF);
func_802AF8BC(0x7000BD8, 0x64, 0xFF, 0xFF, 0xFF);
func_802AF8BC(0x7000B60, 0x64, 0xFF, 0xFF, 0xFF);