summaryrefslogtreecommitdiff
path: root/src/actors
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2024-10-15 13:09:43 -0600
committerGitHub <noreply@github.com>2024-10-15 13:09:43 -0600
commita0862b6a159373f2e1554e489ecb5bb08d89654e (patch)
treeb5c33fc7f65b438ee74898dd9ed7ba25b0fa108a /src/actors
parent58d56fcba848e8545052c1d85ef27d0b02841538 (diff)
[modding] Implement Vehicles & Fix Animations (#109)
* Train works * Fix minimap * Fix highway * Fix * Refactor train and boat * Update * Implement Trucks * Fix tanker * Finish implementing vehicles * Fix animations * Fix spawn players * Fix spawn players * Fix loading custom data --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Diffstat (limited to 'src/actors')
-rw-r--r--src/actors/falling_rock/update.inc.c19
-rw-r--r--src/actors/railroad_crossing/render.inc.c2
-rw-r--r--src/actors/railroad_crossing/update.inc.c2
3 files changed, 9 insertions, 14 deletions
diff --git a/src/actors/falling_rock/update.inc.c b/src/actors/falling_rock/update.inc.c
index b6a4f541b..97d9a2a6b 100644
--- a/src/actors/falling_rock/update.inc.c
+++ b/src/actors/falling_rock/update.inc.c
@@ -5,7 +5,7 @@
void func_8029CF0C(struct ActorSpawnData* spawnData, struct FallingRock* rock) {
#ifndef TARGET_N64
- struct ActorSpawnData* temp_v0 = (struct ActorSpawnData*) LOAD_ASSET(spawnData);
+ struct ActorSpawnData* temp_v0 = spawnData;
#else
s32 segment = SEGMENT_NUMBER2(spawnData);
s32 offset = SEGMENT_OFFSET(spawnData);
@@ -24,21 +24,16 @@ void func_8029CF0C(struct ActorSpawnData* spawnData, struct FallingRock* rock) {
}
/**
- * @brief Spawns falling rocks.
+ * @brief Spawns falling sRockSpawnData.
* Used in Choco Mountain.
*
* @param spawnData
*/
-struct ActorSpawnData* rocks;
-void spawn_falling_rocks(const char* spawnData) {
+static struct ActorSpawnData* sRockSpawnData;
+void spawn_falling_rocks(struct ActorSpawnData* spawnData) {
#ifndef TARGET_N64
- struct ActorSpawnData* temp_s0;
- if (GetCourse() == GetTestCourse()) {
- temp_s0 = (struct ActorSpawnData*) spawnData;
- } else {
- temp_s0 = (struct ActorSpawnData*) LOAD_ASSET(spawnData);
- }
- rocks = temp_s0;
+ struct ActorSpawnData* temp_s0 = spawnData;
+ sRockSpawnData = spawnData;
#else
s32 addr = SEGMENT_NUMBER2(spawnData);
s32 offset = SEGMENT_OFFSET(spawnData);
@@ -82,7 +77,7 @@ void update_actor_falling_rocks(struct FallingRock* rock) {
return;
}
if (rock->pos[1] < D_8015F8E4) {
- func_8029CF0C(rocks, rock);
+ func_8029CF0C(sRockSpawnData, rock);
}
rock->rot[0] += (s16) ((rock->velocity[2] * 5461.0f) / 20.0f);
rock->rot[2] += (s16) ((rock->velocity[0] * 5461.0f) / 20.0f);
diff --git a/src/actors/railroad_crossing/render.inc.c b/src/actors/railroad_crossing/render.inc.c
index e91f56438..adbe7a7e5 100644
--- a/src/actors/railroad_crossing/render.inc.c
+++ b/src/actors/railroad_crossing/render.inc.c
@@ -27,7 +27,7 @@ void render_actor_railroad_crossing(Camera* arg0, struct RailroadCrossing* rr_cr
gSPSetGeometryMode(gDisplayListHead++, G_LIGHTING);
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
- if (isCrossingTriggeredByIndex[rr_crossing->crossingId]) {
+ if (CourseManager_GetCrossingOnTriggered(rr_crossing->crossingTrigger)) {
if (rr_crossing->someTimer < 20) {
gSPDisplayList(gDisplayListHead++, d_course_kalimari_desert_dl_crossing_right_active);
diff --git a/src/actors/railroad_crossing/update.inc.c b/src/actors/railroad_crossing/update.inc.c
index f65376674..5e1c54ca1 100644
--- a/src/actors/railroad_crossing/update.inc.c
+++ b/src/actors/railroad_crossing/update.inc.c
@@ -9,7 +9,7 @@
*/
void update_actor_railroad_crossing(struct RailroadCrossing* crossing) {
// If train close?
- if (isCrossingTriggeredByIndex[crossing->crossingId] != 0) {
+ if (CourseManager_GetCrossingOnTriggered(crossing->crossingTrigger)) {
// Timer++
crossing->someTimer++;
// Reset timer