summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
Diffstat (limited to 'src/code')
-rw-r--r--src/code/code_80026B00.c26
-rw-r--r--src/code/z_effect.c26
-rw-r--r--src/code/z_face_reaction.c (renamed from src/code/code_8006C360.c)8
-rw-r--r--src/code/z_path.c46
4 files changed, 76 insertions, 30 deletions
diff --git a/src/code/code_80026B00.c b/src/code/code_80026B00.c
deleted file mode 100644
index beb5006ee..000000000
--- a/src/code/code_80026B00.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <ultra64.h>
-#include <global.h>
-
-GlobalContext* func_80026B00(void) {
- return D_80157DA0;
-}
-
-#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026B0C.s")
-
-void func_80026C1C(u8* arg0) {
- arg0[0] = 0;
- arg0[1] = 0;
- arg0[2] = 0;
-}
-
-#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026C2C.s")
-
-#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/Effect_Add.s")
-
-#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026E74.s")
-
-#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026F70.s")
-
-#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_8002709C.s")
-
-#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_800271A8.s")
diff --git a/src/code/z_effect.c b/src/code/z_effect.c
new file mode 100644
index 000000000..dfe367d13
--- /dev/null
+++ b/src/code/z_effect.c
@@ -0,0 +1,26 @@
+#include <ultra64.h>
+#include <global.h>
+
+GlobalContext* func_80026B00(void) {
+ return D_80157DA0;
+}
+
+#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026B0C.s")
+
+void func_80026C1C(u8* arg0) {
+ arg0[0] = 0;
+ arg0[1] = 0;
+ arg0[2] = 0;
+}
+
+#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026C2C.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/Effect_Add.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026E74.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026F70.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_8002709C.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_800271A8.s")
diff --git a/src/code/code_8006C360.c b/src/code/z_face_reaction.c
index 01cf89b4d..1bfe18b7c 100644
--- a/src/code/code_8006C360.c
+++ b/src/code/z_face_reaction.c
@@ -1,7 +1,7 @@
#include <ultra64.h>
#include <global.h>
-u16 D_8011F3F0[60][9] = {
+u16 sReactionTextIds[60][9] = {
{ 0x0000, 0x7124, 0x7127, 0x7126, 0x7125, 0x7127, 0x7124, 0x7125, 0x7127 },
{ 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B },
{ 0x0000, 0x7128, 0x712B, 0x7128, 0x7128, 0x7129, 0x7128, 0x712B, 0x7128 },
@@ -64,7 +64,7 @@ u16 D_8011F3F0[60][9] = {
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x710C, 0x7105, 0x7107, 0x7107 },
};
-u16 func_8006C360(GlobalContext* globalCtx, u32 idx) {
- u8 mask = func_8008F080(globalCtx);
- return D_8011F3F0[idx][mask];
+u16 Text_GetFaceReaction(GlobalContext* globalCtx, u32 reactionSet) {
+ u8 currentMask = func_8008F080(globalCtx);
+ return sReactionTextIds[reactionSet][currentMask];
}
diff --git a/src/code/z_path.c b/src/code/z_path.c
new file mode 100644
index 000000000..03dc6d6f6
--- /dev/null
+++ b/src/code/z_path.c
@@ -0,0 +1,46 @@
+#include <ultra64.h>
+#include <global.h>
+
+Path* Path_GetByIndex(GlobalContext* globalCtx, s16 index, s16 max) {
+ Path* path;
+
+ if (index != max) {
+ path = &globalCtx->setupPathList[index];
+ } else {
+ path = NULL;
+ }
+
+ return path;
+}
+
+f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw) {
+ f32 dx;
+ f32 dz;
+ Vec3s* pointPos;
+
+ if (path == NULL) {
+ return -1.0;
+ }
+
+ pointPos = SEGMENTED_TO_VIRTUAL(path->points);
+ pointPos = &pointPos[waypoint];
+
+ dx = pointPos->x - actor->posRot.pos.x;
+ dz = pointPos->z - actor->posRot.pos.z;
+
+ *yaw = Math_atan2f(dx, dz) * (32768 / M_PI);
+
+ return SQ(dx) + SQ(dz);
+}
+
+void Path_CopyLastPoint(Path* path, Vec3f* dest) {
+ Vec3s* pointPos;
+
+ if (path != NULL) {
+ pointPos = &((Vec3s*)SEGMENTED_TO_VIRTUAL(path->points))[path->count - 1];
+
+ dest->x = pointPos->x;
+ dest->y = pointPos->y;
+ dest->z = pointPos->z;
+ }
+}