summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/audio/external.c24
-rw-r--r--src/audio/external.h4
-rw-r--r--src/engine/Engine.h2
-rw-r--r--src/engine/World.h1
-rw-r--r--src/engine/courses/BansheeBoardwalk.cpp1
-rw-r--r--src/engine/courses/BigDonut.cpp1
-rw-r--r--src/engine/courses/BlockFort.cpp1
-rw-r--r--src/engine/courses/BowsersCastle.cpp1
-rw-r--r--src/engine/courses/ChocoMountain.cpp1
-rw-r--r--src/engine/courses/Course.cpp1
-rw-r--r--src/engine/courses/Course.h1
-rw-r--r--src/engine/courses/DKJungle.cpp1
-rw-r--r--src/engine/courses/DoubleDeck.cpp1
-rw-r--r--src/engine/courses/FrappeSnowland.cpp1
-rw-r--r--src/engine/courses/KalimariDesert.cpp1
-rw-r--r--src/engine/courses/KoopaTroopaBeach.cpp1
-rw-r--r--src/engine/courses/LuigiRaceway.cpp1
-rw-r--r--src/engine/courses/MarioRaceway.cpp1
-rw-r--r--src/engine/courses/MooMooFarm.cpp1
-rw-r--r--src/engine/courses/PodiumCeremony.cpp1
-rw-r--r--src/engine/courses/RainbowRoad.cpp1
-rw-r--r--src/engine/courses/RoyalRaceway.cpp1
-rw-r--r--src/engine/courses/SherbetLand.cpp1
-rw-r--r--src/engine/courses/Skyscraper.cpp1
-rw-r--r--src/engine/courses/TestCourse.cpp1
-rw-r--r--src/engine/courses/ToadsTurnpike.cpp1
-rw-r--r--src/engine/courses/WarioStadium.cpp1
-rw-r--r--src/engine/courses/YoshiValley.cpp1
-rw-r--r--src/menus.c12
-rw-r--r--src/racing/race_logic.c30
30 files changed, 52 insertions, 45 deletions
diff --git a/src/audio/external.c b/src/audio/external.c
index ec4ed3846..032e25c19 100644
--- a/src/audio/external.c
+++ b/src/audio/external.c
@@ -92,7 +92,7 @@ f32 D_800EA120[] = { 0.0f, 0.0f, 0.0f, 0.0f };
f32 D_800EA130[] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
f32 D_800EA150 = 1.4f;
u8 D_800EA154[] = { 2, 2, 88, 90, 3, 48, 88, 48 };
-u16 D_800EA15C = 0;
+u16 gCurrentMusicSeq = 0;
u16 D_800EA160 = 0;
u8 D_800EA164 = 0;
s8 D_800EA168 = 0;
@@ -565,7 +565,7 @@ void func_800C2474(void) {
D_800EA16C = 0;
func_800CBBB8(0xF2000000U, 0);
D_800EA16C = 0;
- D_800EA15C = 0;
+ gCurrentMusicSeq = 0;
D_800EA160 = 0;
D_800EA164 = 0;
D_800EA178 = 1.0f;
@@ -2834,9 +2834,9 @@ void play_sound2(s32 soundBits) {
play_sound(soundBits, &D_800EA1C8, 4, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
}
-void func_800C8EAC(u16 arg0) {
+void play_sequence(u16 arg0) {
func_800C3448(arg0 | 0x10000);
- D_800EA15C = arg0;
+ gCurrentMusicSeq = arg0;
}
void func_800C8EF8(u16 arg0) {
@@ -3284,7 +3284,7 @@ void func_800CA49C(u8 arg0) {
func_800C3448(0x100100FF); // 0x19000000
func_800C3448(0x110100FF);
func_800C8EF8(0xC);
- func_800C3448(D_800EA15C | 0xC1500000);
+ func_800C3448(gCurrentMusicSeq | 0xC1500000);
func_800C3448(0xC130017D);
}
D_8018FC08 = D_8018FC08 + 1;
@@ -3334,20 +3334,20 @@ void func_800CA730(u8 arg0) {
if (D_8018FC08 != 0) {
if (((u32) (gSequencePlayers[1].enabled)) == 0) {
func_800C3608(1, 5);
- func_800C8EAC(D_800EA15C);
+ play_sequence(gCurrentMusicSeq);
func_800C3448(0xB001307DU);
} else if ((func_800C3508(1) == 0xC) || (func_800C357C(0x0101000C) == 0)) {
func_800C3448(0xC1F00000U);
- func_800C3448(D_800EA15C | 0xC1500000);
+ func_800C3448(gCurrentMusicSeq | 0xC1500000);
func_800C3448(0xC130017DU);
} else {
func_800C3448(0x110100FFU);
- func_800C8EAC(D_800EA15C);
+ play_sequence(gCurrentMusicSeq);
func_800C3448(0xB001307DU);
}
} else {
func_800C3448(0x110100FFU);
- func_800C8EAC(D_800EA15C);
+ play_sequence(gCurrentMusicSeq);
}
}
D_800EA164 = 0;
@@ -3512,11 +3512,11 @@ void func_800CB14C() {
if (D_800EA174 != 0) {
D_800EA174++;
if (D_800EA174 == 3) {
- func_800C8EAC(0x001AU);
+ play_sequence(MUSIC_SEQ_AWARD_CEREMONY_BUILDUP);
func_800C3448(0x4000007F);
}
if (D_800EA174 == 0x012C) {
- func_800C8EAC(0x001BU);
+ play_sequence(MUSIC_SEQ_AWARD_CEREMONY_1ST_3RD);
func_800C3448(0x4000007F);
func_800C8EF8(0x001DU);
func_800C3448(0x41000000);
@@ -3541,7 +3541,7 @@ void func_800CB14C() {
func_800C3448(0x110100FF);
}
if (D_800EA174 == 0x04CE) {
- func_800C8EAC(0x0014U);
+ play_sequence(MUSIC_SEQ_GAME_OVER);
func_800C3448(0x4000007F);
}
}
diff --git a/src/audio/external.h b/src/audio/external.h
index b11bf6d02..f09f456ed 100644
--- a/src/audio/external.h
+++ b/src/audio/external.h
@@ -271,7 +271,7 @@ void func_800C8AE4(void);
void func_800C8C7C(u8);
void func_800C8CCC(void);
void play_sound2(s32);
-void func_800C8EAC(u16);
+void play_sequence(u16);
void func_800C8EF8(u16);
void func_800C8F44(u8);
void func_800C8F80(u8, u32);
@@ -399,7 +399,7 @@ extern f32 D_800EA120[4];
extern f32 D_800EA130[8];
extern f32 D_800EA150; // = 1.4f;
extern u8 D_800EA154[];
-extern u16 D_800EA15C;
+extern u16 gCurrentMusicSeq;
extern u16 D_800EA160;
extern u8 D_800EA164;
extern s8 D_800EA168;
diff --git a/src/engine/Engine.h b/src/engine/Engine.h
index 9a220c1a4..5af480c23 100644
--- a/src/engine/Engine.h
+++ b/src/engine/Engine.h
@@ -6,6 +6,7 @@
#include "objects.h"
#include "path_spawn_metadata.h"
#include "waypoints.h"
+#include "sounds.h"
typedef struct {
RGB8 TopRight;
@@ -44,6 +45,7 @@ typedef struct {
s32 MinimapFinishlineX;
s32 MinimapFinishlineY;
SkyboxColours Skybox;
+ enum MusicSeq Sequence;
} CProperties;
#endif // __ENGINE_H__ \ No newline at end of file
diff --git a/src/engine/World.h b/src/engine/World.h
index a5d9770a5..703404c0f 100644
--- a/src/engine/World.h
+++ b/src/engine/World.h
@@ -66,6 +66,7 @@ class World {
int32_t MinimapFinishlineX;
int32_t MinimapFinishlineY;
SkyboxColours Skybox;
+ MusicSeq Sequence;
} Properties;
typedef struct {
diff --git a/src/engine/courses/BansheeBoardwalk.cpp b/src/engine/courses/BansheeBoardwalk.cpp
index 2211b3294..f1dc8287c 100644
--- a/src/engine/courses/BansheeBoardwalk.cpp
+++ b/src/engine/courses/BansheeBoardwalk.cpp
@@ -101,6 +101,7 @@ BansheeBoardwalk::BansheeBoardwalk() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {0, 0, 0};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_BANSHEE_BOARDWALK;
}
void BansheeBoardwalk::Load() {
diff --git a/src/engine/courses/BigDonut.cpp b/src/engine/courses/BigDonut.cpp
index f01930c7b..56ff61a66 100644
--- a/src/engine/courses/BigDonut.cpp
+++ b/src/engine/courses/BigDonut.cpp
@@ -96,6 +96,7 @@ BigDonut::BigDonut() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {0, 0, 0};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_BATTLE_ARENAS;
}
void BigDonut::Load() {
diff --git a/src/engine/courses/BlockFort.cpp b/src/engine/courses/BlockFort.cpp
index d6ebf2263..a61e26280 100644
--- a/src/engine/courses/BlockFort.cpp
+++ b/src/engine/courses/BlockFort.cpp
@@ -99,6 +99,7 @@ BlockFort::BlockFort() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {216, 232, 248};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_CHOCO_MOUNTAIN;
}
void BlockFort::Load() {
diff --git a/src/engine/courses/BowsersCastle.cpp b/src/engine/courses/BowsersCastle.cpp
index a12b233a8..9098c62e9 100644
--- a/src/engine/courses/BowsersCastle.cpp
+++ b/src/engine/courses/BowsersCastle.cpp
@@ -101,6 +101,7 @@ BowsersCastle::BowsersCastle() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {0, 0, 0};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_BOWSERS_CASTLE;
}
void BowsersCastle::Load() {
diff --git a/src/engine/courses/ChocoMountain.cpp b/src/engine/courses/ChocoMountain.cpp
index bc88bf645..71e147f2d 100644
--- a/src/engine/courses/ChocoMountain.cpp
+++ b/src/engine/courses/ChocoMountain.cpp
@@ -101,6 +101,7 @@ ChocoMountain::ChocoMountain() {
Props.Skybox.FloorBottomRight = {255, 255, 255};
Props.Skybox.FloorBottomLeft = {255, 255, 255};
Props.Skybox.FloorTopLeft = {255, 255, 255};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_CHOCO_MOUNTAIN;
}
void ChocoMountain::Load() {
diff --git a/src/engine/courses/Course.cpp b/src/engine/courses/Course.cpp
index 6cef03d6b..022ee016e 100644
--- a/src/engine/courses/Course.cpp
+++ b/src/engine/courses/Course.cpp
@@ -73,6 +73,7 @@ Course::Course() {
Props.CloudList = NULL;
Props.MinimapFinishlineX = 0;
Props.MinimapFinishlineY = 0;
+ Props.Sequence = MusicSeq::MUSIC_SEQ_UNKNOWN;
}
void Course::Load(Vtx* vtx, Gfx* gfx) {
diff --git a/src/engine/courses/Course.h b/src/engine/courses/Course.h
index 3d3335854..e711dd510 100644
--- a/src/engine/courses/Course.h
+++ b/src/engine/courses/Course.h
@@ -75,6 +75,7 @@ public:
int32_t MinimapFinishlineX;
int32_t MinimapFinishlineY;
SkyboxColours Skybox;
+ MusicSeq Sequence;
} Properties;
Properties Props;
diff --git a/src/engine/courses/DKJungle.cpp b/src/engine/courses/DKJungle.cpp
index 4c3d6797c..479c23b02 100644
--- a/src/engine/courses/DKJungle.cpp
+++ b/src/engine/courses/DKJungle.cpp
@@ -104,6 +104,7 @@ DKJungle::DKJungle() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {22, 145, 22};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_DK_JUNGLE;
}
void DKJungle::Load() {
diff --git a/src/engine/courses/DoubleDeck.cpp b/src/engine/courses/DoubleDeck.cpp
index 7d07cdc43..74fb7e714 100644
--- a/src/engine/courses/DoubleDeck.cpp
+++ b/src/engine/courses/DoubleDeck.cpp
@@ -99,6 +99,7 @@ DoubleDeck::DoubleDeck() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {255, 224, 240};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_CHOCO_MOUNTAIN;
}
void DoubleDeck::Load() {
diff --git a/src/engine/courses/FrappeSnowland.cpp b/src/engine/courses/FrappeSnowland.cpp
index 90fa51e6c..a0e698152 100644
--- a/src/engine/courses/FrappeSnowland.cpp
+++ b/src/engine/courses/FrappeSnowland.cpp
@@ -102,6 +102,7 @@ FrappeSnowland::FrappeSnowland() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {0, 99, 164};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_FRAPPE_SNOWLAND;
}
void FrappeSnowland::Load() {
diff --git a/src/engine/courses/KalimariDesert.cpp b/src/engine/courses/KalimariDesert.cpp
index cfb7316e5..2562ab8f8 100644
--- a/src/engine/courses/KalimariDesert.cpp
+++ b/src/engine/courses/KalimariDesert.cpp
@@ -102,6 +102,7 @@ KalimariDesert::KalimariDesert() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {255, 192, 0};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_KALIMARI_DESERT;
}
void KalimariDesert::Load() {
diff --git a/src/engine/courses/KoopaTroopaBeach.cpp b/src/engine/courses/KoopaTroopaBeach.cpp
index 66bf99005..48f8c8b77 100644
--- a/src/engine/courses/KoopaTroopaBeach.cpp
+++ b/src/engine/courses/KoopaTroopaBeach.cpp
@@ -102,6 +102,7 @@ KoopaTroopaBeach::KoopaTroopaBeach() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {48, 152, 120};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_KOOPA_TROOPA_BEACH;
}
void KoopaTroopaBeach::Load() {
diff --git a/src/engine/courses/LuigiRaceway.cpp b/src/engine/courses/LuigiRaceway.cpp
index 72b6617c2..f98ceab21 100644
--- a/src/engine/courses/LuigiRaceway.cpp
+++ b/src/engine/courses/LuigiRaceway.cpp
@@ -105,6 +105,7 @@ LuigiRaceway::LuigiRaceway() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {216, 232, 248};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_RACEWAYS_WARIO_STADIUM;
}
void LuigiRaceway::Load() {
diff --git a/src/engine/courses/MarioRaceway.cpp b/src/engine/courses/MarioRaceway.cpp
index ea8593e17..bde10370d 100644
--- a/src/engine/courses/MarioRaceway.cpp
+++ b/src/engine/courses/MarioRaceway.cpp
@@ -102,6 +102,7 @@ MarioRaceway::MarioRaceway() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {0, 0, 0};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_RACEWAYS_WARIO_STADIUM;
}
void MarioRaceway::Load() {
diff --git a/src/engine/courses/MooMooFarm.cpp b/src/engine/courses/MooMooFarm.cpp
index 6517eab82..d1b401342 100644
--- a/src/engine/courses/MooMooFarm.cpp
+++ b/src/engine/courses/MooMooFarm.cpp
@@ -102,6 +102,7 @@ MooMooFarm::MooMooFarm() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {255, 184, 99};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_MOO_MOO_FARM_YOSHI_VALLEY;
}
void MooMooFarm::Load() {
diff --git a/src/engine/courses/PodiumCeremony.cpp b/src/engine/courses/PodiumCeremony.cpp
index 9488b8b21..86bf403b3 100644
--- a/src/engine/courses/PodiumCeremony.cpp
+++ b/src/engine/courses/PodiumCeremony.cpp
@@ -96,6 +96,7 @@ PodiumCeremony::PodiumCeremony() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {255, 224, 240};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_UNKNOWN;
}
void PodiumCeremony::Load() {
diff --git a/src/engine/courses/RainbowRoad.cpp b/src/engine/courses/RainbowRoad.cpp
index 4836611fb..b8e9865c6 100644
--- a/src/engine/courses/RainbowRoad.cpp
+++ b/src/engine/courses/RainbowRoad.cpp
@@ -99,6 +99,7 @@ RainbowRoad::RainbowRoad() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {0, 0, 0};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_RAINBOW_ROAD;
}
void RainbowRoad::Load() {
diff --git a/src/engine/courses/RoyalRaceway.cpp b/src/engine/courses/RoyalRaceway.cpp
index ded9ec464..c2f6b3c62 100644
--- a/src/engine/courses/RoyalRaceway.cpp
+++ b/src/engine/courses/RoyalRaceway.cpp
@@ -100,6 +100,7 @@ RoyalRaceway::RoyalRaceway() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {255, 224, 240};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_RACEWAYS_WARIO_STADIUM;
}
void RoyalRaceway::Load() {
diff --git a/src/engine/courses/SherbetLand.cpp b/src/engine/courses/SherbetLand.cpp
index 19bfa573e..b22b31e48 100644
--- a/src/engine/courses/SherbetLand.cpp
+++ b/src/engine/courses/SherbetLand.cpp
@@ -100,6 +100,7 @@ SherbetLand::SherbetLand() {
Props.Skybox.FloorBottomRight = {128, 184, 248};
Props.Skybox.FloorBottomLeft = {128, 184, 248};
Props.Skybox.FloorTopLeft = {216, 232, 248};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_FRAPPE_SNOWLAND;
}
void SherbetLand::Load() {
diff --git a/src/engine/courses/Skyscraper.cpp b/src/engine/courses/Skyscraper.cpp
index df26ceccb..7af4fd53f 100644
--- a/src/engine/courses/Skyscraper.cpp
+++ b/src/engine/courses/Skyscraper.cpp
@@ -99,6 +99,7 @@ Skyscraper::Skyscraper() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {0, 0, 0};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_BATTLE_ARENAS;
}
void Skyscraper::Load() {
diff --git a/src/engine/courses/TestCourse.cpp b/src/engine/courses/TestCourse.cpp
index 05f6c9ed2..742dc6735 100644
--- a/src/engine/courses/TestCourse.cpp
+++ b/src/engine/courses/TestCourse.cpp
@@ -112,6 +112,7 @@ TestCourse::TestCourse() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {0, 0, 0};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_RACEWAYS_WARIO_STADIUM;
}
void TestCourse::Load() {
diff --git a/src/engine/courses/ToadsTurnpike.cpp b/src/engine/courses/ToadsTurnpike.cpp
index 257b6c990..7a19a54dc 100644
--- a/src/engine/courses/ToadsTurnpike.cpp
+++ b/src/engine/courses/ToadsTurnpike.cpp
@@ -104,6 +104,7 @@ ToadsTurnpike::ToadsTurnpike() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {209, 65, 23};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_TOADS_TURNPIKE;
}
void ToadsTurnpike::Load() {
diff --git a/src/engine/courses/WarioStadium.cpp b/src/engine/courses/WarioStadium.cpp
index f074fb31e..62c75143a 100644
--- a/src/engine/courses/WarioStadium.cpp
+++ b/src/engine/courses/WarioStadium.cpp
@@ -103,6 +103,7 @@ WarioStadium::WarioStadium() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {0, 0, 0};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_RACEWAYS_WARIO_STADIUM;
}
void WarioStadium::Load() {
diff --git a/src/engine/courses/YoshiValley.cpp b/src/engine/courses/YoshiValley.cpp
index 3c0a195f4..6bbf50590 100644
--- a/src/engine/courses/YoshiValley.cpp
+++ b/src/engine/courses/YoshiValley.cpp
@@ -100,6 +100,7 @@ YoshiValley::YoshiValley() {
Props.Skybox.FloorBottomRight = {0, 0, 0};
Props.Skybox.FloorBottomLeft = {0, 0, 0};
Props.Skybox.FloorTopLeft = {95, 40, 15};
+ Props.Sequence = MusicSeq::MUSIC_SEQ_MOO_MOO_FARM_YOSHI_VALLEY;
}
void YoshiValley::Load() {
diff --git a/src/menus.c b/src/menus.c
index 9bbd14332..a42e86c96 100644
--- a/src/menus.c
+++ b/src/menus.c
@@ -60,7 +60,7 @@ s8 D_8018EE0C;
struct_8018EE10_entry D_8018EE10[2];
/** Data **/
-s32 gMenuSelection = START_MENU;
+s32 gMenuSelection = LOGO_INTRO_MENU;
s32 D_800E86A4 = 0;
s8 gCharacterSelections[4] = { MARIO, LUIGI, YOSHI, TOAD };
@@ -1851,7 +1851,7 @@ void func_800B3F74(s32 menuSelection) {
}
D_8018EDF1 = D_800F2BE0[gPlayerCount - 1];
func_800CA008(0, 0);
- func_800C8EAC(1);
+ play_sequence(MUSIC_SEQ_TITLE_SCREEN);
D_8018EDFC = 0;
break;
}
@@ -1868,13 +1868,13 @@ void func_800B3F74(s32 menuSelection) {
func_800CB2C4();
gGamestate = 0;
gGamestateNext = 0;
- func_800C8EAC(2);
+ play_sequence(MUSIC_SEQ_MAIN_MENU);
}
switch (D_8018EDE0) {
case 0: {
gMainMenuSelectionDepth = PLAYER_NUM_SELECTION;
- func_800C8EAC(2);
+ play_sequence(MUSIC_SEQ_MAIN_MENU);
gPlayerCount = 1;
if (gScreenModeSelection >= NUM_SCREEN_MODES || gScreenModeSelection < 0) {
gScreenModeSelection = SCREEN_MODE_1P;
@@ -1926,7 +1926,7 @@ void func_800B3F74(s32 menuSelection) {
func_800CB2C4();
gGamestate = 0;
gGamestateNext = 0;
- func_800C8EAC(2);
+ play_sequence(MUSIC_SEQ_MAIN_MENU);
for (i = 0; i < ARRAY_COUNT(D_8018EDE8); i++) {
D_8018EDE8[i] = false;
}
@@ -1966,7 +1966,7 @@ void func_800B3F74(s32 menuSelection) {
func_800CB2C4();
gGamestate = 0;
gGamestateNext = 0;
- func_800C8EAC(2);
+ play_sequence(MUSIC_SEQ_MAIN_MENU);
}
play_sound2(SOUND_MENU_SELECT_MAP);
D_8018EE0A = 0;
diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c
index 7565b4f5c..025b50d79 100644
--- a/src/racing/race_logic.c
+++ b/src/racing/race_logic.c
@@ -21,6 +21,7 @@
#include "effects.h"
#include "math.h"
#include "menus.h"
+#include "sounds.h"
#include "port/Game.h"
#pragma intrinsic(sqrtf)
@@ -423,31 +424,10 @@ void func_8028EC98(s32 arg0) {
func_800029B0();
- if (GetCourse() == GetMarioRaceway() || GetCourse() == GetRoyalRaceway() || GetCourse() == GetLuigiRaceway() ||
- GetCourse() == GetWarioStadium()) {
- func_800C8EAC(3);
- } else if (GetCourse() == GetToadsTurnpike()) {
- func_800C8EAC(21);
- } else if (GetCourse() == GetYoshiValley() || GetCourse() == GetMooMooFarm()) {
- func_800C8EAC(4);
- } else if (GetCourse() == GetChocoMountain() || GetCourse() == GetBlockFort() || GetCourse() == GetDoubleDeck()) {
- func_800C8EAC(5);
- } else if (GetCourse() == GetKalimariDesert()) {
- func_800C8EAC(10);
- } else if (GetCourse() == GetKoopaTroopaBeach()) {
- func_800C8EAC(6);
- } else if (GetCourse() == GetBowsersCastle()) {
- func_800C8EAC(9);
- } else if (GetCourse() == GetBansheeBoardwalk()) {
- func_800C8EAC(7);
- } else if (GetCourse() == GetFrappeSnowland() || GetCourse() == GetSherbetLand()) {
- func_800C8EAC(8);
- } else if (GetCourse() == GetRainbowRoad()) {
- func_800C8EAC(18);
- } else if (GetCourse() == GetDkJungle()) {
- func_800C8EAC(19);
- } else if (GetCourse() == GetSkyscraper() || GetCourse() == GetBigDonut()) {
- func_800C8EAC(25);
+ enum MusicSeq sequence = CourseManager_GetProps()->Sequence;
+
+ if(sequence != MUSIC_SEQ_UNKNOWN){
+ play_sequence(sequence);
}
}