Refactor Track Class To Instantiate On Track Load (#587)

* Initial Commit

* First compilation of Registry template

* Further changes

* wip changes

* Impl TrackBrowser and Registry Info

* Remove const from TInfo

* Prep GetWorld

* Name refactor

* Refactor gWorldInstance to GetWorld()

* wip

* Should work now

* Data menu work again

* Fix editor staying open after program close

* Rename LoadLevel to LoadTrackDataFromJson

* More changes

* Add statue

* Add search to content browser using tags

* Fix statue pos and register tags

* Fix actor loading

* Fix delete all bug which deleted cameras

* reduce some boiler plate in actor and object

* Remove unused rulesets

* Search bar for all tabs

* fix data screen

* fix actor spawning

* temp editor fix

* Clean up

* improve extra mode transformation

* fix podium crash

* Fix editor clicking

* Fix editor clicking 2

* fix extra in custom track

* Fix FI for three actors

* Fix divide by zero error

* Ids managed by Registry

* Add scary comment

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: coco875 <pereira.jannin@gmail.com>
This commit is contained in:
MegaMech
2025-12-13 11:50:28 -07:00
committed by GitHub
parent e6acb59ef4
commit b934e98fc3
157 changed files with 2623 additions and 2473 deletions
+13 -7
View File
@@ -44,8 +44,9 @@
#include "port/Game.h"
#include "port/Engine.h"
#include "engine/tracks/Track.h"
#include "engine/Matrix.h"
#include "engine/tracks/Track.h"
#include "engine/TrackBrowser.h"
#include "port/interpolation/FrameInterpolation.h"
#include "assets/textures/tracks/sherbet_land/sherbet_land_data.h"
@@ -2758,13 +2759,18 @@ void func_8004EE54(s32 playerId) {
}
void func_8004EF9C(s32 arg0) {
s16 temp_t0;
s16 temp_v0;
s16 height;
s16 width;
const char* minimap = TrackBrowser_GetMinimapTextureByIdx(arg0);
temp_v0 = CM_GetPropsTrackId(arg0)->Minimap.Width;
temp_t0 = CM_GetPropsTrackId(arg0)->Minimap.Height;
func_8004D37C(0x00000104, 0x0000003C, CM_GetPropsTrackId(arg0)->Minimap.Texture, 0x000000FF, 0x000000FF,
0x000000FF, 0x000000FF, temp_v0, temp_t0, temp_v0, temp_t0);
if (NULL == minimap) {
return;
}
width = ResourceGetTexWidthByName(minimap);
height = ResourceGetTexHeightByName(minimap);
func_8004D37C(0x00000104, 0x0000003C, minimap, 0x000000FF, 0x000000FF,
0x000000FF, 0x000000FF, width, height, width, height);
}
void set_minimap_finishline_position(s32 playerId) {