diff --git a/assets/tracks/harbour/data_track_sections b/assets/tracks/harbour/data_track_sections
index 8107bc681f..4ab7b7d8b7 100644
--- a/assets/tracks/harbour/data_track_sections
+++ b/assets/tracks/harbour/data_track_sections
@@ -1,120 +1,12 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/ending/code_80280000.c b/src/ending/code_80280000.c
index 467bf62bdd..134083225e 100644
--- a/src/ending/code_80280000.c
+++ b/src/ending/code_80280000.c
@@ -34,7 +34,7 @@ s32 D_802874A0;
// s32 D_802874A4[5];
void func_80280000(void) {
- func_802966A0();
+ CM_TickTrack();
func_80059AC8();
func_80059AC8();
func_8005A070();
diff --git a/src/engine/CoreMath.h b/src/engine/CoreMath.h
index 60cf67e5ab..59f4bd83ba 100644
--- a/src/engine/CoreMath.h
+++ b/src/engine/CoreMath.h
@@ -73,6 +73,10 @@ struct FVector {
return FVector(0, 0, 0);
}
+ float Square() const {
+ return x * x + y * y + z * z;
+ }
+
FVector() : x(0), y(0), z(0) {}
FVector(float x, float y, float z) : x(x), y(y), z(z) {}
NLOHMANN_DEFINE_TYPE_INTRUSIVE(FVector, x, y, z)
diff --git a/src/engine/HM_Intro.cpp b/src/engine/HM_Intro.cpp
index e5fd4e03be..5158d32eb0 100644
--- a/src/engine/HM_Intro.cpp
+++ b/src/engine/HM_Intro.cpp
@@ -91,7 +91,7 @@ void HarbourMastersIntro::HM_TickIntro() {
}
find_and_set_tile_size((uintptr_t) ((void*)mat_water_water1), 0, _water);
- find_and_set_tile_size((uintptr_t) ((void*)mat_water_water2), _water, 0);;
+ find_and_set_tile_size((uintptr_t) ((void*)mat_water_water2), _water, 0);
}
void HarbourMastersIntro::Bob(FVector& pos, IRotator& rot, f32 bobAmp, f32 bobSpeed, f32 tiltAmp, f32 tiltSpeed, f32 rollAmp, f32 rollSpeed) {
diff --git a/src/engine/TrackBrowser.cpp b/src/engine/TrackBrowser.cpp
index 184b416b1e..7d7b958c85 100644
--- a/src/engine/TrackBrowser.cpp
+++ b/src/engine/TrackBrowser.cpp
@@ -1,6 +1,7 @@
#include "TrackBrowser.h"
#include "port/Engine.h"
#include "engine/editor/SceneManager.h"
+#include "engine/tracks/CustomTrack.h"
#include
TrackBrowser* TrackBrowser::Instance;
@@ -32,7 +33,7 @@ void TrackBrowser::FindCustomTracks() {
}
printf("[TrackBrowser] Added custom track %s\n", info.Name.c_str());
gTrackRegistry.Add(info, [info, archive]() {
- auto track = std::make_unique