summaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
authorcoco875 <59367621+coco875@users.noreply.github.com>2024-09-17 17:32:50 +0200
committerGitHub <noreply@github.com>2024-09-17 09:32:50 -0600
commit203090e5913f79df01ee273e40dea03b294f061e (patch)
tree2ee78c50742b20238c07610b8ba9f7f93c3a80e1 /models
parentd36d7dcd604d0f85b6b547a85e9b7a4fe3e59b5c (diff)
update with the decomp (#97)
* Update menus.c (#634) * Update common_data.yml (#635) * Renames for screenId and other changes (#636) * screenId renames * Rename surface map to collision mesh (#637) * Rename some stack vars (#638) * Fix syntax error (#639) * Rename some stack vars * Update collision.c * Collision Documentation (#640) * Collision related renames * update doxygen (#649) * change bool (#644) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * Update (#642) * Delete trig_tables_bss.c (#650) * fix typo audio (#656) * fix typo src actor (#657) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * fix typo include (#658) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * fix course (#659) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * fix typo debug (#660) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * fix typo data (#661) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * replace number with const (#665) * fix typo buffers (#655) * fix typo buffers * tweak ld file * rename to sMemoryPool * add a warning --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * fix typo src (#654) * fix typo src * fix non matcing * Update code_80091750.c --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * fix typo racing (#653) * fix typo racing * get it match * replace G_LINE3D to G_QUAD --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * fix typo src (#652) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * fix ending typo (#651) * Action more info when it doesn't match and fix first diff (#662) * Update linux-compile.yml * fix first-diff * Update first-diff.py --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * document texture of kart (#663) * document texture of kart * change screenPlayerId to screenId * some documentation around object * Revert "some documentation around object" This reverts commit cbb39078e036bf2a417bed67359e910213acab28. * more rename --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * Make evaluate_collision_players_palm_tree better (#667) This matches just the same as before, but using those two casts instead of shifts seems more likely to be accurate to the original source code Signed-off-by: Gabriel Ravier <gabravier@gmail.com> * add fedora instruciton (#666) Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * start documenting animation (#668) * start documenting animation * Update course_data.c * change comment * update libultra asm (#648) * update libultra asm * fix gcc __osThreadTail --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * Document Vehicles (#641) * start doc collision * fix merge * finish rename fonction related to vehicle * document around waypoint of vehicle * make some modification * make some change and rename one * copy_ to oldPos * doc smoke ferry and train * some rename * fix some renaming * precise index * rename a funciton * simplify waypoint_vehicles * change some name * change some name * rename move_to_point_direction * fix some conflict * Update code_80005FD0.c * Update code_80005FD0.h --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * Label a save info loop (#645) * save info * more gcc progress * fix a value and do a rename (#669) * update clang and add action (#664) * update clang and add action * try clang on course folder only * forget two file * Update course_displaylists.inc.c * forget few other file * Update course_vertices.inc.c * format all code while get it match * second pass * format other dir * disable clang format on bad ido code * fix some tabulation * revert format on tool dir * Update clang-format.yml * ignore gbi.h * add some read me instruction * fix error * format and fixing error * Update README.md --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * Update linkonly_generator.py (#670) * some rename for torch (#588) * rename gBombKartSpawns, and fix cup ID * Update doxygen_syms.md * rename for gCourseIndexInCup and his constant * rename to gCupSelectedCourseIndex * forget a change in constant * fix compilation issue * Update Dockerfile to latest Ubuntu LTS + fixed missing cmake (#674) * Fix color font matrix function (#676) * Fix label variables used in menus (#675) * Fix label variables used in menus * split D_800F2BDC and clang format menu.c --------- Co-authored-by: coco875 <pereira.jannin@gmail.com> * Fix some libultra struct types (#677) * Uintptr (#671) * Update render_courses.c * Update math_util.c * Update math_util.c * Update math_util.h * Update render_courses.c * Clang suggest (#678) * add clang suggestion * Update clang-format-suggest.yml * Update clang-format-suggest.yml * simplify * switch to ubuntu * Update clang-format-suggest.yml * update ubuntu --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * Clang pr (#679) * Create clang-pr.yml * Update clang-pr.yml * Update osCreateMesgQueue.c * Update osCreateMesgQueue.c * Update clang-pr.yml * Update clang-pr.yml * Update clang-format.yml * clang format (#680) Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com> * some rename in ceremony (#647) * rename ceremony * apply some suggestion * some rename --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * clang format (#681) Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com> * Rename Object Timing Related Code (#673) * start making models extraction with blender * finishing extract model * Update fast64 * extract course * Update fast64 * Update fast64 * simplify import of course_displaylists and course_textures and remplace adress with texture * Update fast64 * change data format and simplify the thread queue * move in a blender folder * remove fast64 * re add fast64 * add model_extract and fast64_blender in makefile * multithread with make file split the models into multiple json and add course segment * Update fast64 * remove old model_extract * remove the error when he don't find blender * start rename around course section * rename around object * update submodule fast64 * fix compilation issue and add some model to extract * Update fast64 * remove fast64 * re add fast64 * update submodule * fix compilation issue * add other collision gfx and prepare reorganise file * re arrange json * Create README.MD * Update README.MD * Update README.MD * update fast64 * rename to initiate_next_state * Revert "Merge branch '3d-objects' into general-object" This reverts commit f5347b38cc75af4d10ee3726dc1524c1c71d6849, reversing changes made to a353c4d954fb5b50c8b48fe3f9d67c95ccaab299. * revert the revert... * revert 3d-models PR * finish some revert * Update code_80005FD0.c * fix code_80091750.c * Update code_80091750.c * rename isTimerRunning to isTimerActive and set_object_timer_running to set_object_timer_state * rename to initialize_next_state * rename to object_next_state --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * extract models with blender (#577) * start making models extraction with blender * finishing extract model * Update fast64 * extract course * Update fast64 * Update fast64 * simplify import of course_displaylists and course_textures and remplace adress with texture * Update fast64 * change data format and simplify the thread queue * move in a blender folder * remove fast64 * re add fast64 * add model_extract and fast64_blender in makefile * multithread with make file split the models into multiple json and add course segment * Update fast64 * remove old model_extract * remove the error when he don't find blender * start rename around course section * update submodule fast64 * fix compilation issue and add some model to extract * Update fast64 * remove fast64 * re add fast64 * update submodule * fix compilation issue * add other collision gfx and prepare reorganise file * re arrange json * Create README.MD * Update README.MD * Update README.MD * update fast64 --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * other * fix some error of compilation * finish fix all error --------- Signed-off-by: Gabriel Ravier <gabravier@gmail.com> Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> Co-authored-by: Gabriel Ravier <gabravier@gmail.com> Co-authored-by: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com> Co-authored-by: AloXado320 <38191089+AloXado320@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Diffstat (limited to 'models')
-rw-r--r--models/README.MD12
-rw-r--r--models/common_textures.json32
-rw-r--r--models/tracks/banshee_boardwalk.json178
-rw-r--r--models/tracks/battle_track.json30
-rw-r--r--models/tracks/bowsers_castle.json173
-rw-r--r--models/tracks/choco_mountain.json194
-rw-r--r--models/tracks/dks_jungle_parkway.json203
-rw-r--r--models/tracks/frappe_snowland.json109
-rw-r--r--models/tracks/kalimari_desert.json231
-rw-r--r--models/tracks/koopa_troopa_beach.json293
-rw-r--r--models/tracks/luigi_raceway.json265
-rw-r--r--models/tracks/mario_raceway.json150
-rw-r--r--models/tracks/moo_moo_farm.json201
-rw-r--r--models/tracks/rainbow_road.json70
-rw-r--r--models/tracks/royal_raceway.json280
-rw-r--r--models/tracks/sherbet_land.json202
-rw-r--r--models/tracks/toads_turnpike.json116
-rw-r--r--models/tracks/wario_stadium.json167
-rw-r--r--models/tracks/yoshi_valley.json151
19 files changed, 3057 insertions, 0 deletions
diff --git a/models/README.MD b/models/README.MD
new file mode 100644
index 000000000..6e36b1312
--- /dev/null
+++ b/models/README.MD
@@ -0,0 +1,12 @@
+# Model Extract
+this folder contain all element to extract interesting Gfx
+
+## Instruction
+you need blender between 3.6 and 4.2.1
+
+run `make model_extract -j` to extract assets in multithreaded. And waits (for me it take around 20 minutes so it take his time).
+
+you can run `make fast64_blender` to run blender with fast64 enable without downloading it.
+
+## Organisation
+In Tracks there is all track json and folder (once extracted). In each track folder you can find three folder objects, sections, preview, collision_sections. Objects are all assets who are use for object/actor. Sections are all sections reference in a Gfx list who are use with render_course_segments. And preview are the version of the track who are use in func_8029569C who the complete track or a big part (some are broken). Collision sections are just collision who are use in mk64. \ No newline at end of file
diff --git a/models/common_textures.json b/models/common_textures.json
new file mode 100644
index 000000000..2c4b95a48
--- /dev/null
+++ b/models/common_textures.json
@@ -0,0 +1,32 @@
+[
+ {
+ "file": "src/data/common_textures.c",
+ "out_dir": "common_textures/assets",
+ "models": [
+ "D_0D001B90",
+ "D_0D001BD8",
+ "D_0D001C20",
+ "D_0D001C88",
+ "D_0D002EE8",
+ "common_model_fake_itembox",
+ "itemBoxQuestionMarkModel",
+ "D_0D0030F8",
+ "D_0D003128",
+ "D_0D003158",
+ "D_0D003188",
+ "D_0D0031B8",
+ "D_0D0031E8",
+ "D_0D003218",
+ "D_0D003248",
+ "D_0D003288",
+ "common_model_banana",
+ "common_model_flat_banana",
+ "D_0D0052B8",
+ "D_0D005338",
+ "D_0D005368",
+ "D_0D007B20",
+ "D_0D007B98",
+ "D_0D007C10"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/banshee_boardwalk.json b/models/tracks/banshee_boardwalk.json
new file mode 100644
index 000000000..9c63d24c2
--- /dev/null
+++ b/models/tracks/banshee_boardwalk.json
@@ -0,0 +1,178 @@
+[
+ {
+ "file":"courses/banshee_boardwalk/course_data.c",
+ "out_dir": "tracks/banshee_boardwalk/objects",
+ "models": [
+ "d_course_banshee_boardwalk_dl_B278",
+ "d_course_banshee_boardwalk_dl_trash_bin",
+ "d_course_banshee_boardwalk_dl_cheep_cheep"
+ ]
+ },
+ {
+ "file": "courses/banshee_boardwalk/course_data.c",
+ "out_dir": "tracks/banshee_boardwalk/sections",
+ "models": [
+ "d_course_banshee_boardwalk_dl_A0",
+ "d_course_banshee_boardwalk_dl_210",
+ "d_course_banshee_boardwalk_dl_160",
+ "d_course_banshee_boardwalk_dl_270",
+ "d_course_banshee_boardwalk_dl_358",
+ "d_course_banshee_boardwalk_dl_4F0",
+ "d_course_banshee_boardwalk_dl_408",
+ "d_course_banshee_boardwalk_dl_540",
+ "d_course_banshee_boardwalk_dl_620",
+ "d_course_banshee_boardwalk_dl_7C0",
+ "d_course_banshee_boardwalk_dl_6D0",
+ "d_course_banshee_boardwalk_dl_870",
+ "d_course_banshee_boardwalk_dl_940",
+ "d_course_banshee_boardwalk_dl_AD0",
+ "d_course_banshee_boardwalk_dl_9E0",
+ "d_course_banshee_boardwalk_dl_B80",
+ "d_course_banshee_boardwalk_dl_C30",
+ "d_course_banshee_boardwalk_dl_D80",
+ "d_course_banshee_boardwalk_dl_CD0",
+ "d_course_banshee_boardwalk_dl_E10",
+ "d_course_banshee_boardwalk_dl_EE0",
+ "d_course_banshee_boardwalk_dl_1000",
+ "d_course_banshee_boardwalk_dl_F50",
+ "d_course_banshee_boardwalk_dl_1070",
+ "d_course_banshee_boardwalk_dl_1160",
+ "d_course_banshee_boardwalk_dl_12A8",
+ "d_course_banshee_boardwalk_dl_11C8",
+ "d_course_banshee_boardwalk_dl_12E8",
+ "d_course_banshee_boardwalk_dl_13F0",
+ "d_course_banshee_boardwalk_dl_1520",
+ "d_course_banshee_boardwalk_dl_1448",
+ "d_course_banshee_boardwalk_dl_1580",
+ "d_course_banshee_boardwalk_dl_1678",
+ "d_course_banshee_boardwalk_dl_17A0",
+ "d_course_banshee_boardwalk_dl_16B8",
+ "d_course_banshee_boardwalk_dl_1820",
+ "d_course_banshee_boardwalk_dl_18D8",
+ "d_course_banshee_boardwalk_dl_1A30",
+ "d_course_banshee_boardwalk_dl_1940",
+ "d_course_banshee_boardwalk_dl_1B00",
+ "d_course_banshee_boardwalk_dl_1BA0",
+ "d_course_banshee_boardwalk_dl_1CC8",
+ "d_course_banshee_boardwalk_dl_1C20",
+ "d_course_banshee_boardwalk_dl_1D90",
+ "d_course_banshee_boardwalk_dl_1E28",
+ "d_course_banshee_boardwalk_dl_1F40",
+ "d_course_banshee_boardwalk_dl_1EA0",
+ "d_course_banshee_boardwalk_dl_2028",
+ "d_course_banshee_boardwalk_dl_20A0",
+ "d_course_banshee_boardwalk_dl_21C8",
+ "d_course_banshee_boardwalk_dl_2138",
+ "d_course_banshee_boardwalk_dl_22D8",
+ "d_course_banshee_boardwalk_dl_2340",
+ "d_course_banshee_boardwalk_dl_24E8",
+ "d_course_banshee_boardwalk_dl_2448",
+ "d_course_banshee_boardwalk_dl_2610",
+ "d_course_banshee_boardwalk_dl_2650",
+ "d_course_banshee_boardwalk_dl_2790",
+ "d_course_banshee_boardwalk_dl_2718",
+ "d_course_banshee_boardwalk_dl_2868",
+ "d_course_banshee_boardwalk_dl_28A8",
+ "d_course_banshee_boardwalk_dl_2A18",
+ "d_course_banshee_boardwalk_dl_2980",
+ "d_course_banshee_boardwalk_dl_2AE0",
+ "d_course_banshee_boardwalk_dl_2B88",
+ "d_course_banshee_boardwalk_dl_2CE0",
+ "d_course_banshee_boardwalk_dl_2C30",
+ "d_course_banshee_boardwalk_dl_2DB0",
+ "d_course_banshee_boardwalk_dl_2E20",
+ "d_course_banshee_boardwalk_dl_2FA0",
+ "d_course_banshee_boardwalk_dl_2EE0",
+ "d_course_banshee_boardwalk_dl_3050",
+ "d_course_banshee_boardwalk_dl_3100",
+ "d_course_banshee_boardwalk_dl_32B0",
+ "d_course_banshee_boardwalk_dl_3200",
+ "d_course_banshee_boardwalk_dl_3390",
+ "d_course_banshee_boardwalk_dl_3468",
+ "d_course_banshee_boardwalk_dl_3660",
+ "d_course_banshee_boardwalk_dl_35A0",
+ "d_course_banshee_boardwalk_dl_3710",
+ "d_course_banshee_boardwalk_dl_37F0",
+ "d_course_banshee_boardwalk_dl_3980",
+ "d_course_banshee_boardwalk_dl_3920",
+ "d_course_banshee_boardwalk_dl_3A20",
+ "d_course_banshee_boardwalk_dl_3AF8",
+ "d_course_banshee_boardwalk_dl_3C40",
+ "d_course_banshee_boardwalk_dl_3C00",
+ "d_course_banshee_boardwalk_dl_3CD0",
+ "d_course_banshee_boardwalk_dl_3D98",
+ "d_course_banshee_boardwalk_dl_3EF0",
+ "d_course_banshee_boardwalk_dl_3EB0",
+ "d_course_banshee_boardwalk_dl_3F60",
+ "d_course_banshee_boardwalk_dl_4038",
+ "d_course_banshee_boardwalk_dl_4188",
+ "d_course_banshee_boardwalk_dl_4118",
+ "d_course_banshee_boardwalk_dl_41F0",
+ "d_course_banshee_boardwalk_dl_42D0",
+ "d_course_banshee_boardwalk_dl_4428",
+ "d_course_banshee_boardwalk_dl_43A8",
+ "d_course_banshee_boardwalk_dl_4480"
+ ]
+ },
+ {
+ "file":"courses/banshee_boardwalk/course_displaylists.inc.c",
+ "out_dir": "tracks/banshee_boardwalk/collision_sections",
+ "models": [
+ "d_course_banshee_boardwalk_packed_dl_1DA0",
+ "d_course_banshee_boardwalk_packed_dl_5498",
+ "d_course_banshee_boardwalk_packed_dl_27D0",
+ "d_course_banshee_boardwalk_packed_dl_28D0",
+ "d_course_banshee_boardwalk_packed_dl_29A0",
+ "d_course_banshee_boardwalk_packed_dl_2A70",
+ "d_course_banshee_boardwalk_packed_dl_26E8",
+ "d_course_banshee_boardwalk_packed_dl_22C8",
+ "d_course_banshee_boardwalk_packed_dl_2398",
+ "d_course_banshee_boardwalk_packed_dl_2440",
+ "d_course_banshee_boardwalk_packed_dl_2520",
+ "d_course_banshee_boardwalk_packed_dl_2608",
+ "d_course_banshee_boardwalk_packed_dl_2B78",
+ "d_course_banshee_boardwalk_packed_dl_3240",
+ "d_course_banshee_boardwalk_packed_dl_3310",
+ "d_course_banshee_boardwalk_packed_dl_33C8",
+ "d_course_banshee_boardwalk_packed_dl_34A0",
+ "d_course_banshee_boardwalk_packed_dl_1830",
+ "d_course_banshee_boardwalk_packed_dl_18E0",
+ "d_course_banshee_boardwalk_packed_dl_1968",
+ "d_course_banshee_boardwalk_packed_dl_1A00",
+ "d_course_banshee_boardwalk_packed_dl_30F0",
+ "d_course_banshee_boardwalk_packed_dl_2C20",
+ "d_course_banshee_boardwalk_packed_dl_2D40",
+ "d_course_banshee_boardwalk_packed_dl_2E40",
+ "d_course_banshee_boardwalk_packed_dl_2F38",
+ "d_course_banshee_boardwalk_packed_dl_3020",
+ "d_course_banshee_boardwalk_packed_dl_3930",
+ "d_course_banshee_boardwalk_packed_dl_3AA0",
+ "d_course_banshee_boardwalk_packed_dl_3BA0",
+ "d_course_banshee_boardwalk_packed_dl_3C40",
+ "d_course_banshee_boardwalk_packed_dl_3830",
+ "d_course_banshee_boardwalk_packed_dl_3638",
+ "d_course_banshee_boardwalk_packed_dl_36C8",
+ "d_course_banshee_boardwalk_packed_dl_3740",
+ "d_course_banshee_boardwalk_packed_dl_37C0",
+ "d_course_banshee_boardwalk_packed_dl_3D08",
+ "d_course_banshee_boardwalk_packed_dl_40D0",
+ "d_course_banshee_boardwalk_packed_dl_4070",
+ "d_course_banshee_boardwalk_packed_dl_4008",
+ "d_course_banshee_boardwalk_packed_dl_3F78",
+ "d_course_banshee_boardwalk_packed_dl_3D90",
+ "d_course_banshee_boardwalk_packed_dl_3E10",
+ "d_course_banshee_boardwalk_packed_dl_3E88",
+ "d_course_banshee_boardwalk_packed_dl_3F00",
+ "d_course_banshee_boardwalk_packed_dl_60",
+ "d_course_banshee_boardwalk_packed_dl_1CF8",
+ "d_course_banshee_boardwalk_packed_dl_1748"
+ ]
+ },
+ {
+ "file":"courses/banshee_boardwalk/course_data.c",
+ "out_dir": "tracks/banshee_boardwalk/preview",
+ "models": [
+ "d_course_banshee_boardwalk_dl_B308"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/battle_track.json b/models/tracks/battle_track.json
new file mode 100644
index 000000000..a30c49f4d
--- /dev/null
+++ b/models/tracks/battle_track.json
@@ -0,0 +1,30 @@
+[
+ {
+ "file":"courses/big_donut/course_data.c",
+ "out_dir": "tracks/big_donut/preview",
+ "models": [
+ "d_course_big_donut_dl"
+ ]
+ },
+ {
+ "file":"courses/block_fort/course_data.c",
+ "out_dir": "tracks/block_fort/preview",
+ "models": [
+ "d_course_block_fort_dl"
+ ]
+ },
+ {
+ "file":"courses/double_deck/course_data.c",
+ "out_dir": "tracks/double_deck/preview",
+ "models": [
+ "d_course_double_deck_dl"
+ ]
+ },
+ {
+ "file":"courses/skyscraper/course_data.c",
+ "out_dir": "tracks/skyscraper/preview",
+ "models": [
+ "d_course_skyscraper_dl"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/bowsers_castle.json b/models/tracks/bowsers_castle.json
new file mode 100644
index 000000000..0606dae6b
--- /dev/null
+++ b/models/tracks/bowsers_castle.json
@@ -0,0 +1,173 @@
+[
+ {
+ "file": "courses/bowsers_castle/course_data.c",
+ "out_dir": "tracks/bowsers_castle/objects",
+ "models": [
+ "d_course_bowsers_castle_dl_thwomp",
+ "d_course_bowsers_castle_dl_bush"
+ ]
+ },
+ {
+ "file": "courses/bowsers_castle/course_data.c",
+ "out_dir": "tracks/bowsers_castle/sections",
+ "models": [
+ "d_course_bowsers_castle_dl_0",
+ "d_course_bowsers_castle_dl_230",
+ "d_course_bowsers_castle_dl_110",
+ "d_course_bowsers_castle_dl_398",
+ "d_course_bowsers_castle_dl_428",
+ "d_course_bowsers_castle_dl_640",
+ "d_course_bowsers_castle_dl_4F0",
+ "d_course_bowsers_castle_dl_7A0",
+ "d_course_bowsers_castle_dl_860",
+ "d_course_bowsers_castle_dl_9F8",
+ "d_course_bowsers_castle_dl_8E8",
+ "d_course_bowsers_castle_dl_AE0",
+ "d_course_bowsers_castle_dl_B88",
+ "d_course_bowsers_castle_dl_D20",
+ "d_course_bowsers_castle_dl_C08",
+ "d_course_bowsers_castle_dl_E00",
+ "d_course_bowsers_castle_dl_EA8",
+ "d_course_bowsers_castle_dl_1040",
+ "d_course_bowsers_castle_dl_F08",
+ "d_course_bowsers_castle_dl_1138",
+ "d_course_bowsers_castle_dl_11F0",
+ "d_course_bowsers_castle_dl_1290",
+ "d_course_bowsers_castle_dl_1248",
+ "d_course_bowsers_castle_dl_12D0",
+ "d_course_bowsers_castle_dl_1330",
+ "d_course_bowsers_castle_dl_1370",
+ "d_course_bowsers_castle_dl_1350",
+ "d_course_bowsers_castle_dl_13A0",
+ "d_course_bowsers_castle_dl_13C0",
+ "d_course_bowsers_castle_dl_1448",
+ "d_course_bowsers_castle_dl_13E0",
+ "d_course_bowsers_castle_dl_1488",
+ "d_course_bowsers_castle_dl_14B0",
+ "d_course_bowsers_castle_dl_1590",
+ "d_course_bowsers_castle_dl_1520",
+ "d_course_bowsers_castle_dl_1608",
+ "d_course_bowsers_castle_dl_1690",
+ "d_course_bowsers_castle_dl_1788",
+ "d_course_bowsers_castle_dl_1710",
+ "d_course_bowsers_castle_dl_17D0",
+ "d_course_bowsers_castle_dl_1818",
+ "d_course_bowsers_castle_dl_18C0",
+ "d_course_bowsers_castle_dl_1860",
+ "d_course_bowsers_castle_dl_1928",
+ "d_course_bowsers_castle_dl_1960",
+ "d_course_bowsers_castle_dl_19F8",
+ "d_course_bowsers_castle_dl_19A8",
+ "d_course_bowsers_castle_dl_1A40",
+ "d_course_bowsers_castle_dl_1A90",
+ "d_course_bowsers_castle_dl_1B10",
+ "d_course_bowsers_castle_dl_1AD8",
+ "d_course_bowsers_castle_dl_1B58",
+ "d_course_bowsers_castle_dl_1BB0",
+ "d_course_bowsers_castle_dl_1C38",
+ "d_course_bowsers_castle_dl_1C10",
+ "d_course_bowsers_castle_dl_1C60",
+ "d_course_bowsers_castle_dl_1C98",
+ "d_course_bowsers_castle_dl_1DF8",
+ "d_course_bowsers_castle_dl_1CD0",
+ "d_course_bowsers_castle_dl_1EB0",
+ "d_course_bowsers_castle_dl_1FA0",
+ "d_course_bowsers_castle_dl_2130",
+ "d_course_bowsers_castle_dl_2008",
+ "d_course_bowsers_castle_dl_21F0",
+ "d_course_bowsers_castle_dl_22E8",
+ "d_course_bowsers_castle_dl_24B8",
+ "d_course_bowsers_castle_dl_2398",
+ "d_course_bowsers_castle_dl_2578",
+ "d_course_bowsers_castle_dl_2688",
+ "d_course_bowsers_castle_dl_2880",
+ "d_course_bowsers_castle_dl_2760",
+ "d_course_bowsers_castle_dl_2958",
+ "d_course_bowsers_castle_dl_2A60",
+ "d_course_bowsers_castle_dl_2C48",
+ "d_course_bowsers_castle_dl_2B80",
+ "d_course_bowsers_castle_dl_2D08",
+ "d_course_bowsers_castle_dl_2DF8",
+ "d_course_bowsers_castle_dl_2FB0",
+ "d_course_bowsers_castle_dl_2F30",
+ "d_course_bowsers_castle_dl_3050",
+ "d_course_bowsers_castle_dl_3158",
+ "d_course_bowsers_castle_dl_32C0",
+ "d_course_bowsers_castle_dl_3230",
+ "d_course_bowsers_castle_dl_3338",
+ "d_course_bowsers_castle_dl_3480",
+ "d_course_bowsers_castle_dl_35D0",
+ "d_course_bowsers_castle_dl_3508",
+ "d_course_bowsers_castle_dl_3678",
+ "d_course_bowsers_castle_dl_37D8",
+ "d_course_bowsers_castle_dl_39E0",
+ "d_course_bowsers_castle_dl_38F8",
+ "d_course_bowsers_castle_dl_3B00",
+ "d_course_bowsers_castle_dl_3C08",
+ "d_course_bowsers_castle_dl_3EA8",
+ "d_course_bowsers_castle_dl_3D78",
+ "d_course_bowsers_castle_dl_3FF0",
+ "d_course_bowsers_castle_dl_40F0",
+ "d_course_bowsers_castle_dl_4358",
+ "d_course_bowsers_castle_dl_4278",
+ "d_course_bowsers_castle_dl_4488",
+ "d_course_bowsers_castle_dl_45D8",
+ "d_course_bowsers_castle_dl_4820",
+ "d_course_bowsers_castle_dl_4748",
+ "d_course_bowsers_castle_dl_4998",
+ "d_course_bowsers_castle_dl_4A98",
+ "d_course_bowsers_castle_dl_4CE8",
+ "d_course_bowsers_castle_dl_4C00",
+ "d_course_bowsers_castle_dl_4EA8"
+ ]
+ },
+ {
+ "file":"courses/bowsers_castle/course_displaylists.inc.c",
+ "out_dir": "tracks/bowsers_castle/collision_sections",
+ "models": [
+ "d_course_bowsers_castle_packed_dl_5448",
+ "d_course_bowsers_castle_packed_dl_53E0",
+ "d_course_bowsers_castle_packed_dl_93A0",
+ "d_course_bowsers_castle_packed_dl_9290",
+ "d_course_bowsers_castle_packed_dl_30C8",
+ "d_course_bowsers_castle_packed_dl_1FA0",
+ "d_course_bowsers_castle_packed_dl_3578",
+ "d_course_bowsers_castle_packed_dl_3930",
+ "d_course_bowsers_castle_packed_dl_3C80",
+ "d_course_bowsers_castle_packed_dl_D38",
+ "d_course_bowsers_castle_packed_dl_41A8",
+ "d_course_bowsers_castle_packed_dl_B80",
+ "d_course_bowsers_castle_packed_dl_280",
+ "d_course_bowsers_castle_packed_dl_2A48",
+ "d_course_bowsers_castle_packed_dl_A20",
+ "d_course_bowsers_castle_packed_dl_470",
+ "d_course_bowsers_castle_packed_dl_3308",
+ "d_course_bowsers_castle_packed_dl_1EA8",
+ "d_course_bowsers_castle_packed_dl_9328",
+ "d_course_bowsers_castle_packed_dl_9438",
+ "d_course_bowsers_castle_packed_dl_5378",
+ "d_course_bowsers_castle_packed_dl_5300",
+ "d_course_bowsers_castle_packed_dl_5270",
+ "d_course_bowsers_castle_packed_dl_51E8",
+ "d_course_bowsers_castle_packed_dl_54E8",
+ "d_course_bowsers_castle_packed_dl_5778",
+ "d_course_bowsers_castle_packed_dl_56F0",
+ "d_course_bowsers_castle_packed_dl_5678",
+ "d_course_bowsers_castle_packed_dl_55E8",
+ "d_course_bowsers_castle_packed_dl_5560",
+ "d_course_bowsers_castle_packed_dl_8E40",
+ "d_course_bowsers_castle_packed_dl_2BB8",
+ "d_course_bowsers_castle_packed_dl_75E8",
+ "d_course_bowsers_castle_packed_dl_9278",
+ "d_course_bowsers_castle_packed_dl_3B0",
+ "d_course_bowsers_castle_packed_dl_83B0"
+ ]
+ },
+ {
+ "file":"courses/bowsers_castle/course_data.c",
+ "out_dir": "tracks/bowsers_castle/preview",
+ "models": [
+ "d_course_bowsers_castle_dl_9148"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/choco_mountain.json b/models/tracks/choco_mountain.json
new file mode 100644
index 000000000..99cc68fff
--- /dev/null
+++ b/models/tracks/choco_mountain.json
@@ -0,0 +1,194 @@
+[
+ {
+ "file": "courses/choco_mountain/course_data.c",
+ "out_dir": "tracks/choco_mountain/objects",
+ "models": [
+ "d_course_choco_mountain_dl_falling_rock"
+ ]
+ },
+ {
+ "file": "courses/choco_mountain/course_data.c",
+ "out_dir": "tracks/choco_mountain/sections",
+ "models": [
+ "d_course_choco_mountain_dl_0",
+ "d_course_choco_mountain_dl_150",
+ "d_course_choco_mountain_dl_B0",
+ "d_course_choco_mountain_dl_208",
+ "d_course_choco_mountain_dl_2A8",
+ "d_course_choco_mountain_dl_410",
+ "d_course_choco_mountain_dl_330",
+ "d_course_choco_mountain_dl_4D8",
+ "d_course_choco_mountain_dl_588",
+ "d_course_choco_mountain_dl_6C0",
+ "d_course_choco_mountain_dl_618",
+ "d_course_choco_mountain_dl_750",
+ "d_course_choco_mountain_dl_7E8",
+ "d_course_choco_mountain_dl_908",
+ "d_course_choco_mountain_dl_878",
+ "d_course_choco_mountain_dl_990",
+ "d_course_choco_mountain_dl_A28",
+ "d_course_choco_mountain_dl_BB8",
+ "d_course_choco_mountain_dl_B10",
+ "d_course_choco_mountain_dl_C40",
+ "d_course_choco_mountain_dl_D30",
+ "d_course_choco_mountain_dl_EA0",
+ "d_course_choco_mountain_dl_DF8",
+ "d_course_choco_mountain_dl_F38",
+ "d_course_choco_mountain_dl_1000",
+ "d_course_choco_mountain_dl_1150",
+ "d_course_choco_mountain_dl_10A8",
+ "d_course_choco_mountain_dl_11D8",
+ "d_course_choco_mountain_dl_1280",
+ "d_course_choco_mountain_dl_13E0",
+ "d_course_choco_mountain_dl_1330",
+ "d_course_choco_mountain_dl_1488",
+ "d_course_choco_mountain_dl_1528",
+ "d_course_choco_mountain_dl_16B8",
+ "d_course_choco_mountain_dl_15E8",
+ "d_course_choco_mountain_dl_1788",
+ "d_course_choco_mountain_dl_1810",
+ "d_course_choco_mountain_dl_1970",
+ "d_course_choco_mountain_dl_18B8",
+ "d_course_choco_mountain_dl_1A40",
+ "d_course_choco_mountain_dl_1AC8",
+ "d_course_choco_mountain_dl_1C18",
+ "d_course_choco_mountain_dl_1B70",
+ "d_course_choco_mountain_dl_1CC8",
+ "d_course_choco_mountain_dl_1D50",
+ "d_course_choco_mountain_dl_1E98",
+ "d_course_choco_mountain_dl_1E08",
+ "d_course_choco_mountain_dl_1F40",
+ "d_course_choco_mountain_dl_1FE0",
+ "d_course_choco_mountain_dl_2168",
+ "d_course_choco_mountain_dl_20C8",
+ "d_course_choco_mountain_dl_2228",
+ "d_course_choco_mountain_dl_22D8",
+ "d_course_choco_mountain_dl_2468",
+ "d_course_choco_mountain_dl_23C8",
+ "d_course_choco_mountain_dl_2538",
+ "d_course_choco_mountain_dl_2600",
+ "d_course_choco_mountain_dl_2780",
+ "d_course_choco_mountain_dl_26D8",
+ "d_course_choco_mountain_dl_2840",
+ "d_course_choco_mountain_dl_2908",
+ "d_course_choco_mountain_dl_2A88",
+ "d_course_choco_mountain_dl_29B8",
+ "d_course_choco_mountain_dl_2B38",
+ "d_course_choco_mountain_dl_2C08",
+ "d_course_choco_mountain_dl_2D50",
+ "d_course_choco_mountain_dl_2C98",
+ "d_course_choco_mountain_dl_2DE8",
+ "d_course_choco_mountain_dl_2EA0",
+ "d_course_choco_mountain_dl_2FD0",
+ "d_course_choco_mountain_dl_2F28",
+ "d_course_choco_mountain_dl_3070",
+ "d_course_choco_mountain_dl_3120",
+ "d_course_choco_mountain_dl_32B0",
+ "d_course_choco_mountain_dl_31D8",
+ "d_course_choco_mountain_dl_3368",
+ "d_course_choco_mountain_dl_3438",
+ "d_course_choco_mountain_dl_3618",
+ "d_course_choco_mountain_dl_3550",
+ "d_course_choco_mountain_dl_36F0",
+ "d_course_choco_mountain_dl_37D0",
+ "d_course_choco_mountain_dl_39A8",
+ "d_course_choco_mountain_dl_38E8",
+ "d_course_choco_mountain_dl_3A80",
+ "d_course_choco_mountain_dl_3B60",
+ "d_course_choco_mountain_dl_3CB8",
+ "d_course_choco_mountain_dl_3C18",
+ "d_course_choco_mountain_dl_3D70",
+ "d_course_choco_mountain_dl_3E18",
+ "d_course_choco_mountain_dl_3FA8",
+ "d_course_choco_mountain_dl_3EE0",
+ "d_course_choco_mountain_dl_4090",
+ "d_course_choco_mountain_dl_4138",
+ "d_course_choco_mountain_dl_42C8",
+ "d_course_choco_mountain_dl_41F8",
+ "d_course_choco_mountain_dl_43C8"
+ ]
+ },
+ {
+ "file":"courses/choco_mountain/course_displaylists.inc.c",
+ "out_dir": "tracks/choco_mountain/collision_sections",
+ "models": [
+ "d_course_choco_mountain_packed_dl_5A70",
+ "d_course_choco_mountain_packed_dl_8E0",
+ "d_course_choco_mountain_packed_dl_448",
+ "d_course_choco_mountain_packed_dl_49F0",
+ "d_course_choco_mountain_packed_dl_4AB0",
+ "d_course_choco_mountain_packed_dl_4B58",
+ "d_course_choco_mountain_packed_dl_4C08",
+ "d_course_choco_mountain_packed_dl_4CC8",
+ "d_course_choco_mountain_packed_dl_4970",
+ "d_course_choco_mountain_packed_dl_4618",
+ "d_course_choco_mountain_packed_dl_4690",
+ "d_course_choco_mountain_packed_dl_46F0",
+ "d_course_choco_mountain_packed_dl_4790",
+ "d_course_choco_mountain_packed_dl_4840",
+ "d_course_choco_mountain_packed_dl_48E8",
+ "d_course_choco_mountain_packed_dl_4D90",
+ "d_course_choco_mountain_packed_dl_51D8",
+ "d_course_choco_mountain_packed_dl_5258",
+ "d_course_choco_mountain_packed_dl_52C8",
+ "d_course_choco_mountain_packed_dl_5338",
+ "d_course_choco_mountain_packed_dl_53D8",
+ "d_course_choco_mountain_packed_dl_5148",
+ "d_course_choco_mountain_packed_dl_4E40",
+ "d_course_choco_mountain_packed_dl_4EB0",
+ "d_course_choco_mountain_packed_dl_4F30",
+ "d_course_choco_mountain_packed_dl_4FC0",
+ "d_course_choco_mountain_packed_dl_5070",
+ "d_course_choco_mountain_packed_dl_2530",
+ "d_course_choco_mountain_packed_dl_2458",
+ "d_course_choco_mountain_packed_dl_2380",
+ "d_course_choco_mountain_packed_dl_2278",
+ "d_course_choco_mountain_packed_dl_21D8",
+ "d_course_choco_mountain_packed_dl_2600",
+ "d_course_choco_mountain_packed_dl_29E8",
+ "d_course_choco_mountain_packed_dl_28B0",
+ "d_course_choco_mountain_packed_dl_27F0",
+ "d_course_choco_mountain_packed_dl_2760",
+ "d_course_choco_mountain_packed_dl_20F8",
+ "d_course_choco_mountain_packed_dl_1A48",
+ "d_course_choco_mountain_packed_dl_1988",
+ "d_course_choco_mountain_packed_dl_17E0",
+ "d_course_choco_mountain_packed_dl_1740",
+ "d_course_choco_mountain_packed_dl_1670",
+ "d_course_choco_mountain_packed_dl_1AC8",
+ "d_course_choco_mountain_packed_dl_1FE8",
+ "d_course_choco_mountain_packed_dl_1E90",
+ "d_course_choco_mountain_packed_dl_1DB8",
+ "d_course_choco_mountain_packed_dl_1C98",
+ "d_course_choco_mountain_packed_dl_1BE0",
+ "d_course_choco_mountain_packed_dl_2AE8",
+ "d_course_choco_mountain_packed_dl_38B8",
+ "d_course_choco_mountain_packed_dl_37B0",
+ "d_course_choco_mountain_packed_dl_3708",
+ "d_course_choco_mountain_packed_dl_3670",
+ "d_course_choco_mountain_packed_dl_35B0",
+ "d_course_choco_mountain_packed_dl_3998",
+ "d_course_choco_mountain_packed_dl_3EE8",
+ "d_course_choco_mountain_packed_dl_3DD8",
+ "d_course_choco_mountain_packed_dl_3CF0",
+ "d_course_choco_mountain_packed_dl_3B98",
+ "d_course_choco_mountain_packed_dl_3A80",
+ "d_course_choco_mountain_packed_dl_34E0",
+ "d_course_choco_mountain_packed_dl_2FE8",
+ "d_course_choco_mountain_packed_dl_2EE8",
+ "d_course_choco_mountain_packed_dl_2E38",
+ "d_course_choco_mountain_packed_dl_2D68",
+ "d_course_choco_mountain_packed_dl_2CA8",
+ "d_course_choco_mountain_packed_dl_2BD0",
+ "d_course_choco_mountain_packed_dl_30A8",
+ "d_course_choco_mountain_packed_dl_3410"
+ ]
+ },
+ {
+ "file":"courses/choco_mountain/course_data.c",
+ "out_dir": "tracks/choco_mountain/preview",
+ "models": [
+ "d_course_choco_mountain_dl_71B8"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/dks_jungle_parkway.json b/models/tracks/dks_jungle_parkway.json
new file mode 100644
index 000000000..3f94da87f
--- /dev/null
+++ b/models/tracks/dks_jungle_parkway.json
@@ -0,0 +1,203 @@
+[
+ {
+ "file": "courses/dks_jungle_parkway/course_data.c",
+ "out_dir": "tracks/dks_jungle_parkway/objects",
+ "models":[
+ "d_course_dks_jungle_parkway_dl_E730",
+ "d_course_dks_jungle_parkway_dl_E058",
+ "d_course_dks_jungle_parkway_dl_FC28",
+ "d_course_dks_jungle_parkway_dl_kiwano_fruit",
+ "d_course_dks_jungle_parkway_dl_palm_tree",
+ "d_course_dks_jungle_parkway_dl_13878",
+ "d_course_dks_jungle_parkway_dl_tree3",
+ "d_course_dks_jungle_parkway_dl_tree2",
+ "d_course_dks_jungle_parkway_dl_tree1"
+ ]
+ },
+
+ {
+ "file": "courses/dks_jungle_parkway/course_data.c",
+ "out_dir": "tracks/dks_jungle_parkway/sections",
+ "models":[
+ "d_course_dks_jungle_parkway_dl_20", "d_course_dks_jungle_parkway_dl_210",
+ "d_course_dks_jungle_parkway_dl_180", "d_course_dks_jungle_parkway_dl_310",
+ "d_course_dks_jungle_parkway_dl_400", "d_course_dks_jungle_parkway_dl_628",
+ "d_course_dks_jungle_parkway_dl_560", "d_course_dks_jungle_parkway_dl_750",
+ "d_course_dks_jungle_parkway_dl_888", "d_course_dks_jungle_parkway_dl_B00",
+ "d_course_dks_jungle_parkway_dl_A10", "d_course_dks_jungle_parkway_dl_C30",
+ "d_course_dks_jungle_parkway_dl_D98", "d_course_dks_jungle_parkway_dl_1028",
+ "d_course_dks_jungle_parkway_dl_EF0", "d_course_dks_jungle_parkway_dl_1160",
+ "d_course_dks_jungle_parkway_dl_12E8", "d_course_dks_jungle_parkway_dl_15E0",
+ "d_course_dks_jungle_parkway_dl_1478", "d_course_dks_jungle_parkway_dl_1718",
+ "d_course_dks_jungle_parkway_dl_1890", "d_course_dks_jungle_parkway_dl_1B20",
+ "d_course_dks_jungle_parkway_dl_1A00", "d_course_dks_jungle_parkway_dl_1C20",
+ "d_course_dks_jungle_parkway_dl_1DB8", "d_course_dks_jungle_parkway_dl_1FD8",
+ "d_course_dks_jungle_parkway_dl_1F20", "d_course_dks_jungle_parkway_dl_20A0",
+ "d_course_dks_jungle_parkway_dl_2200", "d_course_dks_jungle_parkway_dl_2398",
+ "d_course_dks_jungle_parkway_dl_2328", "d_course_dks_jungle_parkway_dl_2480",
+ "d_course_dks_jungle_parkway_dl_2558", "d_course_dks_jungle_parkway_dl_2810",
+ "d_course_dks_jungle_parkway_dl_2728", "d_course_dks_jungle_parkway_dl_2928",
+ "d_course_dks_jungle_parkway_dl_2AC0", "d_course_dks_jungle_parkway_dl_2D70",
+ "d_course_dks_jungle_parkway_dl_2B88", "d_course_dks_jungle_parkway_dl_2E30",
+ "d_course_dks_jungle_parkway_dl_3010", "d_course_dks_jungle_parkway_dl_3338",
+ "d_course_dks_jungle_parkway_dl_3100", "d_course_dks_jungle_parkway_dl_3498",
+ "d_course_dks_jungle_parkway_dl_36A0", "d_course_dks_jungle_parkway_dl_3988",
+ "d_course_dks_jungle_parkway_dl_3790", "d_course_dks_jungle_parkway_dl_3B28",
+ "d_course_dks_jungle_parkway_dl_3CC8", "d_course_dks_jungle_parkway_dl_3F78",
+ "d_course_dks_jungle_parkway_dl_3D88", "d_course_dks_jungle_parkway_dl_4100",
+ "d_course_dks_jungle_parkway_dl_4250", "d_course_dks_jungle_parkway_dl_4470",
+ "d_course_dks_jungle_parkway_dl_42F8", "d_course_dks_jungle_parkway_dl_45C0",
+ "d_course_dks_jungle_parkway_dl_4658", "d_course_dks_jungle_parkway_dl_4848",
+ "d_course_dks_jungle_parkway_dl_4710", "d_course_dks_jungle_parkway_dl_4980",
+ "d_course_dks_jungle_parkway_dl_4A38", "d_course_dks_jungle_parkway_dl_4C18",
+ "d_course_dks_jungle_parkway_dl_4AE8", "d_course_dks_jungle_parkway_dl_4D10",
+ "d_course_dks_jungle_parkway_dl_4E10", "d_course_dks_jungle_parkway_dl_51B0",
+ "d_course_dks_jungle_parkway_dl_4FB0", "d_course_dks_jungle_parkway_dl_53F8",
+ "d_course_dks_jungle_parkway_dl_5580", "d_course_dks_jungle_parkway_dl_57A0",
+ "d_course_dks_jungle_parkway_dl_5650", "d_course_dks_jungle_parkway_dl_5920",
+ "d_course_dks_jungle_parkway_dl_59B8", "d_course_dks_jungle_parkway_dl_5B90",
+ "d_course_dks_jungle_parkway_dl_5A50", "d_course_dks_jungle_parkway_dl_5CB0",
+ "d_course_dks_jungle_parkway_dl_5D70", "d_course_dks_jungle_parkway_dl_5EC8",
+ "d_course_dks_jungle_parkway_dl_5DF8", "d_course_dks_jungle_parkway_dl_5FA8",
+ "d_course_dks_jungle_parkway_dl_6048", "d_course_dks_jungle_parkway_dl_62D0",
+ "d_course_dks_jungle_parkway_dl_6178", "d_course_dks_jungle_parkway_dl_6468",
+ "d_course_dks_jungle_parkway_dl_6588", "d_course_dks_jungle_parkway_dl_6740",
+ "d_course_dks_jungle_parkway_dl_6680", "d_course_dks_jungle_parkway_dl_67C0",
+ "d_course_dks_jungle_parkway_dl_68D0", "d_course_dks_jungle_parkway_dl_6A70",
+ "d_course_dks_jungle_parkway_dl_69C8", "d_course_dks_jungle_parkway_dl_6AD8",
+ "d_course_dks_jungle_parkway_dl_6BE8", "d_course_dks_jungle_parkway_dl_6CB8",
+ "d_course_dks_jungle_parkway_dl_6C70", "d_course_dks_jungle_parkway_dl_6D10",
+ "d_course_dks_jungle_parkway_dl_6D88", "d_course_dks_jungle_parkway_dl_6E48",
+ "d_course_dks_jungle_parkway_dl_6E00", "d_course_dks_jungle_parkway_dl_6EB0",
+ "d_course_dks_jungle_parkway_dl_6F10", "d_course_dks_jungle_parkway_dl_7080",
+ "d_course_dks_jungle_parkway_dl_7008", "d_course_dks_jungle_parkway_dl_7108"
+ ]
+ },
+ {
+ "file":"courses/dks_jungle_parkway/course_displaylists.inc.c",
+ "out_dir": "tracks/dks_jungle_parkway/collision_sections",
+ "models": [
+ "d_course_dks_jungle_parkway_packed_dl_7DA0",
+ "d_course_dks_jungle_parkway_packed_dl_7E50",
+ "d_course_dks_jungle_parkway_packed_dl_7F58",
+ "d_course_dks_jungle_parkway_packed_dl_7FC8",
+ "d_course_dks_jungle_parkway_packed_dl_80A0",
+ "d_course_dks_jungle_parkway_packed_dl_7C78",
+ "d_course_dks_jungle_parkway_packed_dl_7538",
+ "d_course_dks_jungle_parkway_packed_dl_76A0",
+ "d_course_dks_jungle_parkway_packed_dl_77E8",
+ "d_course_dks_jungle_parkway_packed_dl_9988",
+ "d_course_dks_jungle_parkway_packed_dl_98E0",
+ "d_course_dks_jungle_parkway_packed_dl_9B98",
+ "d_course_dks_jungle_parkway_packed_dl_7920",
+ "d_course_dks_jungle_parkway_packed_dl_7A88",
+ "d_course_dks_jungle_parkway_packed_dl_7B10",
+ "d_course_dks_jungle_parkway_packed_dl_8140",
+ "d_course_dks_jungle_parkway_packed_dl_89B0",
+ "d_course_dks_jungle_parkway_packed_dl_8A40",
+ "d_course_dks_jungle_parkway_packed_dl_8BA8",
+ "d_course_dks_jungle_parkway_packed_dl_8C60",
+ "d_course_dks_jungle_parkway_packed_dl_8E78",
+ "d_course_dks_jungle_parkway_packed_dl_8800",
+ "d_course_dks_jungle_parkway_packed_dl_8358",
+ "d_course_dks_jungle_parkway_packed_dl_8458",
+ "d_course_dks_jungle_parkway_packed_dl_3130",
+ "d_course_dks_jungle_parkway_packed_dl_30C0",
+ "d_course_dks_jungle_parkway_packed_dl_3058",
+ "d_course_dks_jungle_parkway_packed_dl_85A0",
+ "d_course_dks_jungle_parkway_packed_dl_8648",
+ "d_course_dks_jungle_parkway_packed_dl_86B0",
+ "d_course_dks_jungle_parkway_packed_dl_8760",
+ "d_course_dks_jungle_parkway_packed_dl_5B50",
+ "d_course_dks_jungle_parkway_packed_dl_5AB0",
+ "d_course_dks_jungle_parkway_packed_dl_5A50",
+ "d_course_dks_jungle_parkway_packed_dl_59E0",
+ "d_course_dks_jungle_parkway_packed_dl_5BE0",
+ "d_course_dks_jungle_parkway_packed_dl_5C68",
+ "d_course_dks_jungle_parkway_packed_dl_5D68",
+ "d_course_dks_jungle_parkway_packed_dl_5DF0",
+ "d_course_dks_jungle_parkway_packed_dl_56B8",
+ "d_course_dks_jungle_parkway_packed_dl_5648",
+ "d_course_dks_jungle_parkway_packed_dl_55D8",
+ "d_course_dks_jungle_parkway_packed_dl_5558",
+ "d_course_dks_jungle_parkway_packed_dl_5768",
+ "d_course_dks_jungle_parkway_packed_dl_5800",
+ "d_course_dks_jungle_parkway_packed_dl_5890",
+ "d_course_dks_jungle_parkway_packed_dl_58F8",
+ "d_course_dks_jungle_parkway_packed_dl_5E70",
+ "d_course_dks_jungle_parkway_packed_dl_64C0",
+ "d_course_dks_jungle_parkway_packed_dl_6530",
+ "d_course_dks_jungle_parkway_packed_dl_65A8",
+ "d_course_dks_jungle_parkway_packed_dl_6620",
+ "d_course_dks_jungle_parkway_packed_dl_66B0",
+ "d_course_dks_jungle_parkway_packed_dl_6728",
+ "d_course_dks_jungle_parkway_packed_dl_6798",
+ "d_course_dks_jungle_parkway_packed_dl_6430",
+ "d_course_dks_jungle_parkway_packed_dl_6008",
+ "d_course_dks_jungle_parkway_packed_dl_5F80",
+ "d_course_dks_jungle_parkway_packed_dl_5EF0",
+ "d_course_dks_jungle_parkway_packed_dl_6098",
+ "d_course_dks_jungle_parkway_packed_dl_6100",
+ "d_course_dks_jungle_parkway_packed_dl_6240",
+ "d_course_dks_jungle_parkway_packed_dl_6368",
+ "d_course_dks_jungle_parkway_packed_dl_3FD0",
+ "d_course_dks_jungle_parkway_packed_dl_4230",
+ "d_course_dks_jungle_parkway_packed_dl_4300",
+ "d_course_dks_jungle_parkway_packed_dl_4548",
+ "d_course_dks_jungle_parkway_packed_dl_9250",
+ "d_course_dks_jungle_parkway_packed_dl_54D8",
+ "d_course_dks_jungle_parkway_packed_dl_3AD0",
+ "d_course_dks_jungle_parkway_packed_dl_32A0",
+ "d_course_dks_jungle_parkway_packed_dl_2E28",
+ "d_course_dks_jungle_parkway_packed_dl_2DC8",
+ "d_course_dks_jungle_parkway_packed_dl_2D60",
+ "d_course_dks_jungle_parkway_packed_dl_2D00",
+ "d_course_dks_jungle_parkway_packed_dl_2510",
+ "d_course_dks_jungle_parkway_packed_dl_24B0",
+ "d_course_dks_jungle_parkway_packed_dl_2450",
+ "d_course_dks_jungle_parkway_packed_dl_23F0",
+ "d_course_dks_jungle_parkway_packed_dl_21C0",
+ "d_course_dks_jungle_parkway_packed_dl_2160",
+ "d_course_dks_jungle_parkway_packed_dl_2100",
+ "d_course_dks_jungle_parkway_packed_dl_20A0",
+ "d_course_dks_jungle_parkway_packed_dl_2040",
+ "d_course_dks_jungle_parkway_packed_dl_2B78",
+ "d_course_dks_jungle_parkway_packed_dl_29F0",
+ "d_course_dks_jungle_parkway_packed_dl_2890",
+ "d_course_dks_jungle_parkway_packed_dl_2788",
+ "d_course_dks_jungle_parkway_packed_dl_2570",
+ "d_course_dks_jungle_parkway_packed_dl_2378",
+ "d_course_dks_jungle_parkway_packed_dl_1EB8",
+ "d_course_dks_jungle_parkway_packed_dl_1C98",
+ "d_course_dks_jungle_parkway_packed_dl_1B38",
+ "d_course_dks_jungle_parkway_packed_dl_1970",
+ "d_course_dks_jungle_parkway_packed_dl_17D0",
+ "d_course_dks_jungle_parkway_packed_dl_15B0",
+ "d_course_dks_jungle_parkway_packed_dl_1430",
+ "d_course_dks_jungle_parkway_packed_dl_12A8",
+ "d_course_dks_jungle_parkway_packed_dl_1118",
+ "d_course_dks_jungle_parkway_packed_dl_FD0",
+ "d_course_dks_jungle_parkway_packed_dl_EC8",
+ "d_course_dks_jungle_parkway_packed_dl_C90",
+ "d_course_dks_jungle_parkway_packed_dl_B68",
+ "d_course_dks_jungle_parkway_packed_dl_A40",
+ "d_course_dks_jungle_parkway_packed_dl_918",
+ "d_course_dks_jungle_parkway_packed_dl_7E0",
+ "d_course_dks_jungle_parkway_packed_dl_6C8",
+ "d_course_dks_jungle_parkway_packed_dl_520",
+ "d_course_dks_jungle_parkway_packed_dl_398",
+ "d_course_dks_jungle_parkway_packed_dl_200",
+ "d_course_dks_jungle_parkway_packed_dl_0",
+ "d_course_dks_jungle_parkway_packed_dl_98F0",
+ "d_course_dks_jungle_parkway_packed_dl_37C0",
+ "d_course_dks_jungle_parkway_packed_dl_3758"
+ ]
+ },
+ {
+ "file":"courses/dks_jungle_parkway/course_data.c",
+ "out_dir": "tracks/dks_jungle_parkway/preview",
+ "models": [
+ "d_course_dks_jungle_parkway_dl_13C30"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/frappe_snowland.json b/models/tracks/frappe_snowland.json
new file mode 100644
index 000000000..4be8a24e2
--- /dev/null
+++ b/models/tracks/frappe_snowland.json
@@ -0,0 +1,109 @@
+[
+ {
+ "file":"courses/frappe_snowland/course_data.c",
+ "out_dir": "tracks/frappe_snowland/objects",
+ "models": [
+ "d_course_frappe_snowland_dl_tree"
+ ]
+ },
+ {
+ "file": "courses/frappe_snowland/course_data.c",
+ "out_dir": "tracks/frappe_snowland/sections",
+ "models": [
+ "d_course_frappe_snowland_dl_0", "d_course_frappe_snowland_dl_1B8",
+ "d_course_frappe_snowland_dl_C8", "d_course_frappe_snowland_dl_298",
+ "d_course_frappe_snowland_dl_398", "d_course_frappe_snowland_dl_540",
+ "d_course_frappe_snowland_dl_458", "d_course_frappe_snowland_dl_610",
+ "d_course_frappe_snowland_dl_728", "d_course_frappe_snowland_dl_8C0",
+ "d_course_frappe_snowland_dl_7C8", "d_course_frappe_snowland_dl_940",
+ "d_course_frappe_snowland_dl_A38", "d_course_frappe_snowland_dl_BA8",
+ "d_course_frappe_snowland_dl_AA8", "d_course_frappe_snowland_dl_C38",
+ "d_course_frappe_snowland_dl_D28", "d_course_frappe_snowland_dl_EC8",
+ "d_course_frappe_snowland_dl_DA8", "d_course_frappe_snowland_dl_F90",
+ "d_course_frappe_snowland_dl_1068", "d_course_frappe_snowland_dl_1240",
+ "d_course_frappe_snowland_dl_1118", "d_course_frappe_snowland_dl_1360",
+ "d_course_frappe_snowland_dl_1430", "d_course_frappe_snowland_dl_1610",
+ "d_course_frappe_snowland_dl_14E0", "d_course_frappe_snowland_dl_1768",
+ "d_course_frappe_snowland_dl_1818", "d_course_frappe_snowland_dl_1A50",
+ "d_course_frappe_snowland_dl_1930", "d_course_frappe_snowland_dl_1BC8",
+ "d_course_frappe_snowland_dl_1C80", "d_course_frappe_snowland_dl_1E98",
+ "d_course_frappe_snowland_dl_1DE8", "d_course_frappe_snowland_dl_2000",
+ "d_course_frappe_snowland_dl_20B0", "d_course_frappe_snowland_dl_2308",
+ "d_course_frappe_snowland_dl_2240", "d_course_frappe_snowland_dl_2448",
+ "d_course_frappe_snowland_dl_2588", "d_course_frappe_snowland_dl_2698",
+ "d_course_frappe_snowland_dl_2618", "d_course_frappe_snowland_dl_2700",
+ "d_course_frappe_snowland_dl_2780", "d_course_frappe_snowland_dl_2860",
+ "d_course_frappe_snowland_dl_27F8", "d_course_frappe_snowland_dl_28A8",
+ "d_course_frappe_snowland_dl_2930", "d_course_frappe_snowland_dl_2A40",
+ "d_course_frappe_snowland_dl_29B0", "d_course_frappe_snowland_dl_2AB0",
+ "d_course_frappe_snowland_dl_2B48", "d_course_frappe_snowland_dl_2C00",
+ "d_course_frappe_snowland_dl_2BA0", "d_course_frappe_snowland_dl_2C50",
+ "d_course_frappe_snowland_dl_2CB8", "d_course_frappe_snowland_dl_2D78",
+ "d_course_frappe_snowland_dl_2D20", "d_course_frappe_snowland_dl_2DD0",
+ "d_course_frappe_snowland_dl_2E40", "d_course_frappe_snowland_dl_3000",
+ "d_course_frappe_snowland_dl_2F40", "d_course_frappe_snowland_dl_30D0",
+ "d_course_frappe_snowland_dl_3198", "d_course_frappe_snowland_dl_3328",
+ "d_course_frappe_snowland_dl_3270", "d_course_frappe_snowland_dl_33E0"
+ ]
+ },
+ {
+ "file":"courses/frappe_snowland/course_displaylists.inc.c",
+ "out_dir": "tracks/frappe_snowland/collision_sections",
+ "models": [
+ "d_course_frappe_snowland_packed_dl_3B20",
+ "d_course_frappe_snowland_packed_dl_3118",
+ "d_course_frappe_snowland_packed_dl_2A90",
+ "d_course_frappe_snowland_packed_dl_3F80",
+ "d_course_frappe_snowland_packed_dl_3EF8",
+ "d_course_frappe_snowland_packed_dl_3E68",
+ "d_course_frappe_snowland_packed_dl_3DD8",
+ "d_course_frappe_snowland_packed_dl_3B48",
+ "d_course_frappe_snowland_packed_dl_3BD8",
+ "d_course_frappe_snowland_packed_dl_3CD8",
+ "d_course_frappe_snowland_packed_dl_3D58",
+ "d_course_frappe_snowland_packed_dl_4020",
+ "d_course_frappe_snowland_packed_dl_43E8",
+ "d_course_frappe_snowland_packed_dl_4378",
+ "d_course_frappe_snowland_packed_dl_4300",
+ "d_course_frappe_snowland_packed_dl_4288",
+ "d_course_frappe_snowland_packed_dl_40B0",
+ "d_course_frappe_snowland_packed_dl_4120",
+ "d_course_frappe_snowland_packed_dl_4188",
+ "d_course_frappe_snowland_packed_dl_4208",
+ "d_course_frappe_snowland_packed_dl_50D0",
+ "d_course_frappe_snowland_packed_dl_51C8",
+ "d_course_frappe_snowland_packed_dl_5330",
+ "d_course_frappe_snowland_packed_dl_54A0",
+ "d_course_frappe_snowland_packed_dl_55D0",
+ "d_course_frappe_snowland_packed_dl_5740",
+ "d_course_frappe_snowland_packed_dl_4FF8",
+ "d_course_frappe_snowland_packed_dl_48C0",
+ "d_course_frappe_snowland_packed_dl_49E0",
+ "d_course_frappe_snowland_packed_dl_4BA0",
+ "d_course_frappe_snowland_packed_dl_4D18",
+ "d_course_frappe_snowland_packed_dl_4E40",
+ "d_course_frappe_snowland_packed_dl_4F00",
+ "d_course_frappe_snowland_packed_dl_58C0",
+ "d_course_frappe_snowland_packed_dl_5E08",
+ "d_course_frappe_snowland_packed_dl_5EA8",
+ "d_course_frappe_snowland_packed_dl_5F90",
+ "d_course_frappe_snowland_packed_dl_6088",
+ "d_course_frappe_snowland_packed_dl_61A0",
+ "d_course_frappe_snowland_packed_dl_6268",
+ "d_course_frappe_snowland_packed_dl_5D90",
+ "d_course_frappe_snowland_packed_dl_5988",
+ "d_course_frappe_snowland_packed_dl_5A20",
+ "d_course_frappe_snowland_packed_dl_5AC0",
+ "d_course_frappe_snowland_packed_dl_5B58",
+ "d_course_frappe_snowland_packed_dl_5BE0",
+ "d_course_frappe_snowland_packed_dl_5C70"
+ ]
+ },
+ {
+ "file":"courses/frappe_snowland/course_data.c",
+ "out_dir": "tracks/frappe_snowland/preview",
+ "models": [
+ "d_course_frappe_snowland_dl_76A0"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/kalimari_desert.json b/models/tracks/kalimari_desert.json
new file mode 100644
index 000000000..6ab285fb3
--- /dev/null
+++ b/models/tracks/kalimari_desert.json
@@ -0,0 +1,231 @@
+[
+ {
+ "file": "courses/kalimari_desert/course_data.c",
+ "out_dir": "tracks/kalimari_desert/objects",
+ "models": [
+ "d_course_kalimari_desert_dl_cactus1",
+ "d_course_kalimari_desert_dl_cactus2",
+ "d_course_kalimari_desert_dl_cactus3",
+ "d_course_kalimari_desert_dl_crossing_right_active",
+ "d_course_kalimari_desert_dl_crossing_left_active",
+ "d_course_kalimari_desert_dl_crossing_both_inactive",
+ "d_course_kalimari_desert_dl_1B978",
+ "d_course_kalimari_desert_dl_1C0F0",
+ "d_course_kalimari_desert_dl_1D160",
+ "d_course_kalimari_desert_dl_1D670",
+ "d_course_kalimari_desert_dl_1E480",
+ "d_course_kalimari_desert_dl_1E910",
+ "d_course_kalimari_desert_dl_1F228",
+ "d_course_kalimari_desert_dl_1F708",
+ "d_course_kalimari_desert_dl_1FAF8",
+ "d_course_kalimari_desert_dl_20A20",
+ "d_course_kalimari_desert_dl_21220",
+ "d_course_kalimari_desert_dl_21550",
+ "d_course_kalimari_desert_dl_21A80",
+ "d_course_kalimari_desert_dl_21C90",
+ "d_course_kalimari_desert_dl_22D28",
+ "d_course_kalimari_desert_dl_22D70",
+ "d_course_kalimari_desert_dl_22DB8"
+ ]
+ },
+ {
+ "file": "courses/kalimari_desert/course_data.c",
+ "out_dir": "tracks/kalimari_desert/sections",
+ "models": [
+ "d_course_kalimari_desert_dl_0",
+ "d_course_kalimari_desert_dl_258",
+ "d_course_kalimari_desert_dl_100",
+ "d_course_kalimari_desert_dl_310",
+ "d_course_kalimari_desert_dl_4A0",
+ "d_course_kalimari_desert_dl_778",
+ "d_course_kalimari_desert_dl_5C0",
+ "d_course_kalimari_desert_dl_858",
+ "d_course_kalimari_desert_dl_A58",
+ "d_course_kalimari_desert_dl_CD0",
+ "d_course_kalimari_desert_dl_B38",
+ "d_course_kalimari_desert_dl_DD0",
+ "d_course_kalimari_desert_dl_F68",
+ "d_course_kalimari_desert_dl_1258",
+ "d_course_kalimari_desert_dl_1030",
+ "d_course_kalimari_desert_dl_1350",
+ "d_course_kalimari_desert_dl_14C0",
+ "d_course_kalimari_desert_dl_17C8",
+ "d_course_kalimari_desert_dl_1588",
+ "d_course_kalimari_desert_dl_18C8",
+ "d_course_kalimari_desert_dl_1A58",
+ "d_course_kalimari_desert_dl_1D48",
+ "d_course_kalimari_desert_dl_1B38",
+ "d_course_kalimari_desert_dl_1E80",
+ "d_course_kalimari_desert_dl_2000",
+ "d_course_kalimari_desert_dl_22D8",
+ "d_course_kalimari_desert_dl_20E0",
+ "d_course_kalimari_desert_dl_2458",
+ "d_course_kalimari_desert_dl_25D0",
+ "d_course_kalimari_desert_dl_2868",
+ "d_course_kalimari_desert_dl_26E8",
+ "d_course_kalimari_desert_dl_29C0",
+ "d_course_kalimari_desert_dl_2B40",
+ "d_course_kalimari_desert_dl_2DE8",
+ "d_course_kalimari_desert_dl_2C88",
+ "d_course_kalimari_desert_dl_2F30",
+ "d_course_kalimari_desert_dl_3068",
+ "d_course_kalimari_desert_dl_32F8",
+ "d_course_kalimari_desert_dl_31C0",
+ "d_course_kalimari_desert_dl_3460",
+ "d_course_kalimari_desert_dl_3590",
+ "d_course_kalimari_desert_dl_3818",
+ "d_course_kalimari_desert_dl_3718",
+ "d_course_kalimari_desert_dl_3998",
+ "d_course_kalimari_desert_dl_3AC0",
+ "d_course_kalimari_desert_dl_3DB8",
+ "d_course_kalimari_desert_dl_3CA0",
+ "d_course_kalimari_desert_dl_3FB0",
+ "d_course_kalimari_desert_dl_40A8",
+ "d_course_kalimari_desert_dl_4358",
+ "d_course_kalimari_desert_dl_4280",
+ "d_course_kalimari_desert_dl_4538",
+ "d_course_kalimari_desert_dl_4630",
+ "d_course_kalimari_desert_dl_49E0",
+ "d_course_kalimari_desert_dl_4908",
+ "d_course_kalimari_desert_dl_4BA0",
+ "d_course_kalimari_desert_dl_4CF0",
+ "d_course_kalimari_desert_dl_4FB0",
+ "d_course_kalimari_desert_dl_4EF8",
+ "d_course_kalimari_desert_dl_5100",
+ "d_course_kalimari_desert_dl_5208",
+ "d_course_kalimari_desert_dl_5470",
+ "d_course_kalimari_desert_dl_53A0",
+ "d_course_kalimari_desert_dl_55C8",
+ "d_course_kalimari_desert_dl_5730",
+ "d_course_kalimari_desert_dl_5978",
+ "d_course_kalimari_desert_dl_5898",
+ "d_course_kalimari_desert_dl_5AD0",
+ "d_course_kalimari_desert_dl_5BE8",
+ "d_course_kalimari_desert_dl_5DF8",
+ "d_course_kalimari_desert_dl_5D20",
+ "d_course_kalimari_desert_dl_5F20",
+ "d_course_kalimari_desert_dl_6028",
+ "d_course_kalimari_desert_dl_62F8",
+ "d_course_kalimari_desert_dl_61B0",
+ "d_course_kalimari_desert_dl_63E0",
+ "d_course_kalimari_desert_dl_65B0",
+ "d_course_kalimari_desert_dl_6838",
+ "d_course_kalimari_desert_dl_66F0",
+ "d_course_kalimari_desert_dl_6940"
+ ]
+ },
+ {
+ "file":"courses/kalimari_desert/course_displaylists.inc.c",
+ "out_dir": "tracks/kalimari_desert/collision_sections",
+ "models": [
+ "d_course_kalimari_desert_packed_dl_8690",
+ "d_course_kalimari_desert_packed_dl_8728",
+ "d_course_kalimari_desert_packed_dl_8798",
+ "d_course_kalimari_desert_packed_dl_8808",
+ "d_course_kalimari_desert_packed_dl_8610",
+ "d_course_kalimari_desert_packed_dl_8398",
+ "d_course_kalimari_desert_packed_dl_8418",
+ "d_course_kalimari_desert_packed_dl_8490",
+ "d_course_kalimari_desert_packed_dl_85A0",
+ "d_course_kalimari_desert_packed_dl_8C08",
+ "d_course_kalimari_desert_packed_dl_8D20",
+ "d_course_kalimari_desert_packed_dl_8D98",
+ "d_course_kalimari_desert_packed_dl_8B60",
+ "d_course_kalimari_desert_packed_dl_8990",
+ "d_course_kalimari_desert_packed_dl_8AC8",
+ "d_course_kalimari_desert_packed_dl_8A40",
+ "d_course_kalimari_desert_packed_dl_8920",
+ "d_course_kalimari_desert_packed_dl_8C98",
+ "d_course_kalimari_desert_packed_dl_8888",
+ "d_course_kalimari_desert_packed_dl_8508",
+ "d_course_kalimari_desert_packed_dl_9C50",
+ "d_course_kalimari_desert_packed_dl_9BD8",
+ "d_course_kalimari_desert_packed_dl_9FE8",
+ "d_course_kalimari_desert_packed_dl_9EB0",
+ "d_course_kalimari_desert_packed_dl_9F20",
+ "d_course_kalimari_desert_packed_dl_9F88",
+ "d_course_kalimari_desert_packed_dl_9E38",
+ "d_course_kalimari_desert_packed_dl_9CC0",
+ "d_course_kalimari_desert_packed_dl_A050",
+ "d_course_kalimari_desert_packed_dl_A350",
+ "d_course_kalimari_desert_packed_dl_A458",
+ "d_course_kalimari_desert_packed_dl_A4D0",
+ "d_course_kalimari_desert_packed_dl_A0C0",
+ "d_course_kalimari_desert_packed_dl_A138",
+ "d_course_kalimari_desert_packed_dl_A228",
+ "d_course_kalimari_desert_packed_dl_A1A0",
+ "d_course_kalimari_desert_packed_dl_A2D0",
+ "d_course_kalimari_desert_packed_dl_A3D8",
+ "d_course_kalimari_desert_packed_dl_9DC0",
+ "d_course_kalimari_desert_packed_dl_9D48",
+ "d_course_kalimari_desert_packed_dl_5360",
+ "d_course_kalimari_desert_packed_dl_53D0",
+ "d_course_kalimari_desert_packed_dl_5DB0",
+ "d_course_kalimari_desert_packed_dl_5A60",
+ "d_course_kalimari_desert_packed_dl_5B00",
+ "d_course_kalimari_desert_packed_dl_5F28",
+ "d_course_kalimari_desert_packed_dl_5580",
+ "d_course_kalimari_desert_packed_dl_5E38",
+ "d_course_kalimari_desert_packed_dl_5EB0",
+ "d_course_kalimari_desert_packed_dl_59F0",
+ "d_course_kalimari_desert_packed_dl_5450",
+ "d_course_kalimari_desert_packed_dl_54C8",
+ "d_course_kalimari_desert_packed_dl_5878",
+ "d_course_kalimari_desert_packed_dl_6B28",
+ "d_course_kalimari_desert_packed_dl_6E38",
+ "d_course_kalimari_desert_packed_dl_57D0",
+ "d_course_kalimari_desert_packed_dl_69F8",
+ "d_course_kalimari_desert_packed_dl_6CF0",
+ "d_course_kalimari_desert_packed_dl_61D8",
+ "d_course_kalimari_desert_packed_dl_6820",
+ "d_course_kalimari_desert_packed_dl_6EE8",
+ "d_course_kalimari_desert_packed_dl_6050",
+ "d_course_kalimari_desert_packed_dl_6130",
+ "d_course_kalimari_desert_packed_dl_6310",
+ "d_course_kalimari_desert_packed_dl_65F0",
+ "d_course_kalimari_desert_packed_dl_63C0",
+ "d_course_kalimari_desert_packed_dl_6490",
+ "d_course_kalimari_desert_packed_dl_6530",
+ "d_course_kalimari_desert_packed_dl_55F0",
+ "d_course_kalimari_desert_packed_dl_66C8",
+ "d_course_kalimari_desert_packed_dl_6290",
+ "d_course_kalimari_desert_packed_dl_60C8",
+ "d_course_kalimari_desert_packed_dl_6C70",
+ "d_course_kalimari_desert_packed_dl_6DA0",
+ "d_course_kalimari_desert_packed_dl_6BC0",
+ "d_course_kalimari_desert_packed_dl_6958",
+ "d_course_kalimari_desert_packed_dl_5728",
+ "d_course_kalimari_desert_packed_dl_56A0",
+ "d_course_kalimari_desert_packed_dl_5FB0",
+ "d_course_kalimari_desert_packed_dl_5C90",
+ "d_course_kalimari_desert_packed_dl_5B88",
+ "d_course_kalimari_desert_packed_dl_52E0",
+ "d_course_kalimari_desert_packed_dl_6A78",
+ "d_course_kalimari_desert_packed_dl_6780",
+ "d_course_kalimari_desert_packed_dl_68E0",
+ "d_course_kalimari_desert_packed_dl_5948",
+ "d_course_kalimari_desert_packed_dl_76C0",
+ "d_course_kalimari_desert_packed_dl_77F8",
+ "d_course_kalimari_desert_packed_dl_79F8",
+ "d_course_kalimari_desert_packed_dl_7890",
+ "d_course_kalimari_desert_packed_dl_7728",
+ "d_course_kalimari_desert_packed_dl_75C0",
+ "d_course_kalimari_desert_packed_dl_81A0",
+ "d_course_kalimari_desert_packed_dl_7E18",
+ "d_course_kalimari_desert_packed_dl_7CC8",
+ "d_course_kalimari_desert_packed_dl_7F80",
+ "d_course_kalimari_desert_packed_dl_80B8",
+ "d_course_kalimari_desert_packed_dl_7BC8",
+ "d_course_kalimari_desert_packed_dl_9B10",
+ "d_course_kalimari_desert_packed_dl_1B18",
+ "d_course_kalimari_desert_packed_dl_998"
+ ]
+ },
+ {
+ "file":"courses/kalimari_desert/course_data.c",
+ "out_dir": "tracks/kalimari_desert/preview",
+ "models": [
+ "d_course_kalimari_desert_dl_22E00"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/koopa_troopa_beach.json b/models/tracks/koopa_troopa_beach.json
new file mode 100644
index 000000000..c5f4e2b59
--- /dev/null
+++ b/models/tracks/koopa_troopa_beach.json
@@ -0,0 +1,293 @@
+[
+ {
+ "file": "courses/koopa_troopa_beach/course_data.c",
+ "out_dir": "tracks/koopa_troopa_beach/objects",
+ "models": [
+ "d_course_koopa_troopa_beach_dl_16630",
+ "d_course_koopa_troopa_beach_dl_tree_top1",
+ "d_course_koopa_troopa_beach_dl_tree_trunk1",
+ "d_course_koopa_troopa_beach_dl_tree_top2",
+ "d_course_koopa_troopa_beach_dl_tree_trunk2",
+ "d_course_koopa_troopa_beach_dl_tree_top3",
+ "d_course_koopa_troopa_beach_dl_tree_trunk3"
+ ]
+ },
+ {
+ "file": "courses/koopa_troopa_beach/course_data.c",
+ "out_dir": "tracks/koopa_troopa_beach/sections/list2",
+ "models": [
+ "d_course_koopa_troopa_beach_dl_118", "d_course_koopa_troopa_beach_dl_328",
+ "d_course_koopa_troopa_beach_dl_218", "d_course_koopa_troopa_beach_dl_458",
+ "d_course_koopa_troopa_beach_dl_530", "d_course_koopa_troopa_beach_dl_790",
+ "d_course_koopa_troopa_beach_dl_658", "d_course_koopa_troopa_beach_dl_8F0",
+ "d_course_koopa_troopa_beach_dl_9E0", "d_course_koopa_troopa_beach_dl_C50",
+ "d_course_koopa_troopa_beach_dl_B10", "d_course_koopa_troopa_beach_dl_DB8",
+ "d_course_koopa_troopa_beach_dl_EE0", "d_course_koopa_troopa_beach_dl_1178",
+ "d_course_koopa_troopa_beach_dl_1040", "d_course_koopa_troopa_beach_dl_1310",
+ "d_course_koopa_troopa_beach_dl_1430", "d_course_koopa_troopa_beach_dl_1680",
+ "d_course_koopa_troopa_beach_dl_1558", "d_course_koopa_troopa_beach_dl_17B0",
+ "d_course_koopa_troopa_beach_dl_1878", "d_course_koopa_troopa_beach_dl_19E8",
+ "d_course_koopa_troopa_beach_dl_1940", "d_course_koopa_troopa_beach_dl_1AA8",
+ "d_course_koopa_troopa_beach_dl_1B50", "d_course_koopa_troopa_beach_dl_1CB0",
+ "d_course_koopa_troopa_beach_dl_1C00", "d_course_koopa_troopa_beach_dl_1D88",
+ "d_course_koopa_troopa_beach_dl_1E40", "d_course_koopa_troopa_beach_dl_2058",
+ "d_course_koopa_troopa_beach_dl_1F68", "d_course_koopa_troopa_beach_dl_2178",
+ "d_course_koopa_troopa_beach_dl_2258", "d_course_koopa_troopa_beach_dl_24C0",
+ "d_course_koopa_troopa_beach_dl_2390", "d_course_koopa_troopa_beach_dl_25D8",
+ "d_course_koopa_troopa_beach_dl_26E0", "d_course_koopa_troopa_beach_dl_2910",
+ "d_course_koopa_troopa_beach_dl_2800", "d_course_koopa_troopa_beach_dl_2A18",
+ "d_course_koopa_troopa_beach_dl_2B08", "d_course_koopa_troopa_beach_dl_2D50",
+ "d_course_koopa_troopa_beach_dl_2C28", "d_course_koopa_troopa_beach_dl_2E38",
+ "d_course_koopa_troopa_beach_dl_2F30", "d_course_koopa_troopa_beach_dl_3198",
+ "d_course_koopa_troopa_beach_dl_3050", "d_course_koopa_troopa_beach_dl_3278",
+ "d_course_koopa_troopa_beach_dl_3370", "d_course_koopa_troopa_beach_dl_3628",
+ "d_course_koopa_troopa_beach_dl_34B8", "d_course_koopa_troopa_beach_dl_3730",
+ "d_course_koopa_troopa_beach_dl_3830", "d_course_koopa_troopa_beach_dl_3B10",
+ "d_course_koopa_troopa_beach_dl_3980", "d_course_koopa_troopa_beach_dl_3C28",
+ "d_course_koopa_troopa_beach_dl_3D40", "d_course_koopa_troopa_beach_dl_4028",
+ "d_course_koopa_troopa_beach_dl_3EA8", "d_course_koopa_troopa_beach_dl_4138",
+ "d_course_koopa_troopa_beach_dl_4260", "d_course_koopa_troopa_beach_dl_4548",
+ "d_course_koopa_troopa_beach_dl_43C0", "d_course_koopa_troopa_beach_dl_4670",
+ "d_course_koopa_troopa_beach_dl_47C0", "d_course_koopa_troopa_beach_dl_4B28",
+ "d_course_koopa_troopa_beach_dl_4948", "d_course_koopa_troopa_beach_dl_4C70",
+ "d_course_koopa_troopa_beach_dl_4DC0", "d_course_koopa_troopa_beach_dl_5120",
+ "d_course_koopa_troopa_beach_dl_4F58", "d_course_koopa_troopa_beach_dl_5248",
+ "d_course_koopa_troopa_beach_dl_5358", "d_course_koopa_troopa_beach_dl_55D0",
+ "d_course_koopa_troopa_beach_dl_5480", "d_course_koopa_troopa_beach_dl_56D0",
+ "d_course_koopa_troopa_beach_dl_5840", "d_course_koopa_troopa_beach_dl_5B48",
+ "d_course_koopa_troopa_beach_dl_59C8", "d_course_koopa_troopa_beach_dl_5C88",
+ "d_course_koopa_troopa_beach_dl_5DB8", "d_course_koopa_troopa_beach_dl_6000",
+ "d_course_koopa_troopa_beach_dl_5EE0", "d_course_koopa_troopa_beach_dl_6128",
+ "d_course_koopa_troopa_beach_dl_6268", "d_course_koopa_troopa_beach_dl_6498",
+ "d_course_koopa_troopa_beach_dl_6398", "d_course_koopa_troopa_beach_dl_65B8",
+ "d_course_koopa_troopa_beach_dl_6718", "d_course_koopa_troopa_beach_dl_6918",
+ "d_course_koopa_troopa_beach_dl_6830", "d_course_koopa_troopa_beach_dl_6A28",
+ "d_course_koopa_troopa_beach_dl_6B88", "d_course_koopa_troopa_beach_dl_6DB8",
+ "d_course_koopa_troopa_beach_dl_6CA0", "d_course_koopa_troopa_beach_dl_6ED0",
+ "d_course_koopa_troopa_beach_dl_7060", "d_course_koopa_troopa_beach_dl_72B0",
+ "d_course_koopa_troopa_beach_dl_7168", "d_course_koopa_troopa_beach_dl_73F8",
+ "d_course_koopa_troopa_beach_dl_75A0", "d_course_koopa_troopa_beach_dl_7840",
+ "d_course_koopa_troopa_beach_dl_76A8", "d_course_koopa_troopa_beach_dl_7978",
+ "d_course_koopa_troopa_beach_dl_7AE0", "d_course_koopa_troopa_beach_dl_7CE0",
+ "d_course_koopa_troopa_beach_dl_7BA0", "d_course_koopa_troopa_beach_dl_7DD0",
+ "d_course_koopa_troopa_beach_dl_7EE0", "d_course_koopa_troopa_beach_dl_80E0",
+ "d_course_koopa_troopa_beach_dl_7FC8", "d_course_koopa_troopa_beach_dl_81B8",
+ "d_course_koopa_troopa_beach_dl_82D8", "d_course_koopa_troopa_beach_dl_84D0",
+ "d_course_koopa_troopa_beach_dl_83D0", "d_course_koopa_troopa_beach_dl_85E8",
+ "d_course_koopa_troopa_beach_dl_8710", "d_course_koopa_troopa_beach_dl_88F0",
+ "d_course_koopa_troopa_beach_dl_8800", "d_course_koopa_troopa_beach_dl_8A20",
+ "d_course_koopa_troopa_beach_dl_8BB0", "d_course_koopa_troopa_beach_dl_8DC0",
+ "d_course_koopa_troopa_beach_dl_8CC8", "d_course_koopa_troopa_beach_dl_8F50",
+ "d_course_koopa_troopa_beach_dl_90F0", "d_course_koopa_troopa_beach_dl_92E8",
+ "d_course_koopa_troopa_beach_dl_9210", "d_course_koopa_troopa_beach_dl_9498",
+ "d_course_koopa_troopa_beach_dl_9618", "d_course_koopa_troopa_beach_dl_9818",
+ "d_course_koopa_troopa_beach_dl_9720", "d_course_koopa_troopa_beach_dl_99A0",
+ "d_course_koopa_troopa_beach_dl_9AE0", "d_course_koopa_troopa_beach_dl_9D00",
+ "d_course_koopa_troopa_beach_dl_9BC8", "d_course_koopa_troopa_beach_dl_9E60",
+ "d_course_koopa_troopa_beach_dl_9F78", "d_course_koopa_troopa_beach_dl_A190",
+ "d_course_koopa_troopa_beach_dl_A070", "d_course_koopa_troopa_beach_dl_A2E8",
+ "d_course_koopa_troopa_beach_dl_A428", "d_course_koopa_troopa_beach_dl_A6F0",
+ "d_course_koopa_troopa_beach_dl_A578", "d_course_koopa_troopa_beach_dl_A828",
+ "d_course_koopa_troopa_beach_dl_A9A0", "d_course_koopa_troopa_beach_dl_AC10",
+ "d_course_koopa_troopa_beach_dl_AAE8", "d_course_koopa_troopa_beach_dl_AD40"
+ ]
+ },
+ {
+ "file": "courses/koopa_troopa_beach/course_data.c",
+ "out_dir": "tracks/koopa_troopa_beach/sections/list1",
+ "models": [
+ "d_course_koopa_troopa_beach_dl_90", "d_course_koopa_troopa_beach_dl_278",
+ "d_course_koopa_troopa_beach_dl_188", "d_course_koopa_troopa_beach_dl_3C0",
+ "d_course_koopa_troopa_beach_dl_4B0", "d_course_koopa_troopa_beach_dl_6E0",
+ "d_course_koopa_troopa_beach_dl_5A0", "d_course_koopa_troopa_beach_dl_828",
+ "d_course_koopa_troopa_beach_dl_960", "d_course_koopa_troopa_beach_dl_B98",
+ "d_course_koopa_troopa_beach_dl_A58", "d_course_koopa_troopa_beach_dl_CF0",
+ "d_course_koopa_troopa_beach_dl_E48", "d_course_koopa_troopa_beach_dl_10D0",
+ "d_course_koopa_troopa_beach_dl_F60", "d_course_koopa_troopa_beach_dl_1218",
+ "d_course_koopa_troopa_beach_dl_13B8", "d_course_koopa_troopa_beach_dl_15E0",
+ "d_course_koopa_troopa_beach_dl_1498", "d_course_koopa_troopa_beach_dl_1708",
+ "d_course_koopa_troopa_beach_dl_1818", "d_course_koopa_troopa_beach_dl_1988",
+ "d_course_koopa_troopa_beach_dl_18E0", "d_course_koopa_troopa_beach_dl_1A50",
+ "d_course_koopa_troopa_beach_dl_1AD8", "d_course_koopa_troopa_beach_dl_1C48",
+ "d_course_koopa_troopa_beach_dl_1BB8", "d_course_koopa_troopa_beach_dl_1D20",
+ "d_course_koopa_troopa_beach_dl_1DE0", "d_course_koopa_troopa_beach_dl_1FE8",
+ "d_course_koopa_troopa_beach_dl_1EB0", "d_course_koopa_troopa_beach_dl_20C8",
+ "d_course_koopa_troopa_beach_dl_2200", "d_course_koopa_troopa_beach_dl_2440",
+ "d_course_koopa_troopa_beach_dl_22C8", "d_course_koopa_troopa_beach_dl_2540",
+ "d_course_koopa_troopa_beach_dl_2660", "d_course_koopa_troopa_beach_dl_2898",
+ "d_course_koopa_troopa_beach_dl_2760", "d_course_koopa_troopa_beach_dl_2988",
+ "d_course_koopa_troopa_beach_dl_2AA0", "d_course_koopa_troopa_beach_dl_2CC0",
+ "d_course_koopa_troopa_beach_dl_2B78", "d_course_koopa_troopa_beach_dl_2DC0",
+ "d_course_koopa_troopa_beach_dl_2EC0", "d_course_koopa_troopa_beach_dl_30E0",
+ "d_course_koopa_troopa_beach_dl_2FB0", "d_course_koopa_troopa_beach_dl_3218",
+ "d_course_koopa_troopa_beach_dl_3308", "d_course_koopa_troopa_beach_dl_3550",
+ "d_course_koopa_troopa_beach_dl_33F8", "d_course_koopa_troopa_beach_dl_36D8",
+ "d_course_koopa_troopa_beach_dl_37B8", "d_course_koopa_troopa_beach_dl_3A10",
+ "d_course_koopa_troopa_beach_dl_38A8", "d_course_koopa_troopa_beach_dl_3BB8",
+ "d_course_koopa_troopa_beach_dl_3CC0", "d_course_koopa_troopa_beach_dl_3F20",
+ "d_course_koopa_troopa_beach_dl_3DC0", "d_course_koopa_troopa_beach_dl_40C0",
+ "d_course_koopa_troopa_beach_dl_41D0", "d_course_koopa_troopa_beach_dl_4450",
+ "d_course_koopa_troopa_beach_dl_42D8", "d_course_koopa_troopa_beach_dl_45D0",
+ "d_course_koopa_troopa_beach_dl_4700", "d_course_koopa_troopa_beach_dl_49F0",
+ "d_course_koopa_troopa_beach_dl_4840", "d_course_koopa_troopa_beach_dl_4BC8",
+ "d_course_koopa_troopa_beach_dl_4D08", "d_course_koopa_troopa_beach_dl_4FF8",
+ "d_course_koopa_troopa_beach_dl_4E70", "d_course_koopa_troopa_beach_dl_51C8",
+ "d_course_koopa_troopa_beach_dl_52D8", "d_course_koopa_troopa_beach_dl_5500",
+ "d_course_koopa_troopa_beach_dl_53B8", "d_course_koopa_troopa_beach_dl_5628",
+ "d_course_koopa_troopa_beach_dl_5778", "d_course_koopa_troopa_beach_dl_5A50",
+ "d_course_koopa_troopa_beach_dl_58E0", "d_course_koopa_troopa_beach_dl_5BB8",
+ "d_course_koopa_troopa_beach_dl_5D28", "d_course_koopa_troopa_beach_dl_5F58",
+ "d_course_koopa_troopa_beach_dl_5E28", "d_course_koopa_troopa_beach_dl_6050",
+ "d_course_koopa_troopa_beach_dl_61D0", "d_course_koopa_troopa_beach_dl_6410",
+ "d_course_koopa_troopa_beach_dl_62F8", "d_course_koopa_troopa_beach_dl_64F0",
+ "d_course_koopa_troopa_beach_dl_6660", "d_course_koopa_troopa_beach_dl_6898",
+ "d_course_koopa_troopa_beach_dl_67A0", "d_course_koopa_troopa_beach_dl_6968",
+ "d_course_koopa_troopa_beach_dl_6AC0", "d_course_koopa_troopa_beach_dl_6D10",
+ "d_course_koopa_troopa_beach_dl_6C18", "d_course_koopa_troopa_beach_dl_6E18",
+ "d_course_koopa_troopa_beach_dl_6F70", "d_course_koopa_troopa_beach_dl_71C8",
+ "d_course_koopa_troopa_beach_dl_7100", "d_course_koopa_troopa_beach_dl_7338",
+ "d_course_koopa_troopa_beach_dl_7478", "d_course_koopa_troopa_beach_dl_7718",
+ "d_course_koopa_troopa_beach_dl_7640", "d_course_koopa_troopa_beach_dl_78E8",
+ "d_course_koopa_troopa_beach_dl_79E8", "d_course_koopa_troopa_beach_dl_7C08",
+ "d_course_koopa_troopa_beach_dl_7B50", "d_course_koopa_troopa_beach_dl_7D58",
+ "d_course_koopa_troopa_beach_dl_7E38", "d_course_koopa_troopa_beach_dl_8048",
+ "d_course_koopa_troopa_beach_dl_7F68", "d_course_koopa_troopa_beach_dl_8150",
+ "d_course_koopa_troopa_beach_dl_8228", "d_course_koopa_troopa_beach_dl_8448",
+ "d_course_koopa_troopa_beach_dl_8368", "d_course_koopa_troopa_beach_dl_8550",
+ "d_course_koopa_troopa_beach_dl_8650", "d_course_koopa_troopa_beach_dl_8878",
+ "d_course_koopa_troopa_beach_dl_8790", "d_course_koopa_troopa_beach_dl_8958",
+ "d_course_koopa_troopa_beach_dl_8A98", "d_course_koopa_troopa_beach_dl_8D48",
+ "d_course_koopa_troopa_beach_dl_8C48", "d_course_koopa_troopa_beach_dl_8E30",
+ "d_course_koopa_troopa_beach_dl_9008", "d_course_koopa_troopa_beach_dl_9288",
+ "d_course_koopa_troopa_beach_dl_9188", "d_course_koopa_troopa_beach_dl_9378",
+ "d_course_koopa_troopa_beach_dl_9548", "d_course_koopa_troopa_beach_dl_9798",
+ "d_course_koopa_troopa_beach_dl_96A0", "d_course_koopa_troopa_beach_dl_98A0",
+ "d_course_koopa_troopa_beach_dl_9A30", "d_course_koopa_troopa_beach_dl_9C38",
+ "d_course_koopa_troopa_beach_dl_9B58", "d_course_koopa_troopa_beach_dl_9D98",
+ "d_course_koopa_troopa_beach_dl_9ED8", "d_course_koopa_troopa_beach_dl_A0D0",
+ "d_course_koopa_troopa_beach_dl_9FE8", "d_course_koopa_troopa_beach_dl_A220",
+ "d_course_koopa_troopa_beach_dl_A340", "d_course_koopa_troopa_beach_dl_A608",
+ "d_course_koopa_troopa_beach_dl_A4D8", "d_course_koopa_troopa_beach_dl_A780",
+ "d_course_koopa_troopa_beach_dl_A8D0", "d_course_koopa_troopa_beach_dl_AB88",
+ "d_course_koopa_troopa_beach_dl_AA38", "d_course_koopa_troopa_beach_dl_AC68"
+ ]
+ },
+ {
+ "file":"courses/koopa_troopa_beach/course_displaylists.inc.c",
+ "out_dir": "tracks/koopa_troopa_beach/collision_sections",
+ "models": [
+ "d_course_koopa_troopa_beach_packed_dl_9688",
+ "d_course_koopa_troopa_beach_packed_dl_D70",
+ "d_course_koopa_troopa_beach_packed_dl_CC0",
+ "d_course_koopa_troopa_beach_packed_dl_BD8",
+ "d_course_koopa_troopa_beach_packed_dl_AE0",
+ "d_course_koopa_troopa_beach_packed_dl_E60",
+ "d_course_koopa_troopa_beach_packed_dl_F38",
+ "d_course_koopa_troopa_beach_packed_dl_1000",
+ "d_course_koopa_troopa_beach_packed_dl_10B0",
+ "d_course_koopa_troopa_beach_packed_dl_A00",
+ "d_course_koopa_troopa_beach_packed_dl_610",
+ "d_course_koopa_troopa_beach_packed_dl_518",
+ "d_course_koopa_troopa_beach_packed_dl_440",
+ "d_course_koopa_troopa_beach_packed_dl_390",
+ "d_course_koopa_troopa_beach_packed_dl_6D8",
+ "d_course_koopa_troopa_beach_packed_dl_778",
+ "d_course_koopa_troopa_beach_packed_dl_858",
+ "d_course_koopa_troopa_beach_packed_dl_928",
+ "d_course_koopa_troopa_beach_packed_dl_1190",
+ "d_course_koopa_troopa_beach_packed_dl_1C18",
+ "d_course_koopa_troopa_beach_packed_dl_1B58",
+ "d_course_koopa_troopa_beach_packed_dl_1A40",
+ "d_course_koopa_troopa_beach_packed_dl_1940",
+ "d_course_koopa_troopa_beach_packed_dl_1CC0",
+ "d_course_koopa_troopa_beach_packed_dl_1DA8",
+ "d_course_koopa_troopa_beach_packed_dl_1E90",
+ "d_course_koopa_troopa_beach_packed_dl_1F78",
+ "d_course_koopa_troopa_beach_packed_dl_1850",
+ "d_course_koopa_troopa_beach_packed_dl_14D0",
+ "d_course_koopa_troopa_beach_packed_dl_13D0",
+ "d_course_koopa_troopa_beach_packed_dl_12D0",
+ "d_course_koopa_troopa_beach_packed_dl_1210",
+ "d_course_koopa_troopa_beach_packed_dl_1590",
+ "d_course_koopa_troopa_beach_packed_dl_1668",
+ "d_course_koopa_troopa_beach_packed_dl_16F0",
+ "d_course_koopa_troopa_beach_packed_dl_1778",
+ "d_course_koopa_troopa_beach_packed_dl_4490",
+ "d_course_koopa_troopa_beach_packed_dl_3978",
+ "d_course_koopa_troopa_beach_packed_dl_39E8",
+ "d_course_koopa_troopa_beach_packed_dl_3AC8",
+ "d_course_koopa_troopa_beach_packed_dl_3B40",
+ "d_course_koopa_troopa_beach_packed_dl_3C38",
+ "d_course_koopa_troopa_beach_packed_dl_3D00",
+ "d_course_koopa_troopa_beach_packed_dl_3DE0",
+ "d_course_koopa_troopa_beach_packed_dl_38B0",
+ "d_course_koopa_troopa_beach_packed_dl_3470",
+ "d_course_koopa_troopa_beach_packed_dl_3390",
+ "d_course_koopa_troopa_beach_packed_dl_32B0",
+ "d_course_koopa_troopa_beach_packed_dl_31D0",
+ "d_course_koopa_troopa_beach_packed_dl_3550",
+ "d_course_koopa_troopa_beach_packed_dl_3630",
+ "d_course_koopa_troopa_beach_packed_dl_36F0",
+ "d_course_koopa_troopa_beach_packed_dl_37B0",
+ "d_course_koopa_troopa_beach_packed_dl_3ED8",
+ "d_course_koopa_troopa_beach_packed_dl_4770",
+ "d_course_koopa_troopa_beach_packed_dl_47E0",
+ "d_course_koopa_troopa_beach_packed_dl_48B0",
+ "d_course_koopa_troopa_beach_packed_dl_4920",
+ "d_course_koopa_troopa_beach_packed_dl_4A08",
+ "d_course_koopa_troopa_beach_packed_dl_4AF0",
+ "d_course_koopa_troopa_beach_packed_dl_4BD0",
+ "d_course_koopa_troopa_beach_packed_dl_46A8",
+ "d_course_koopa_troopa_beach_packed_dl_4200",
+ "d_course_koopa_troopa_beach_packed_dl_4120",
+ "d_course_koopa_troopa_beach_packed_dl_4040",
+ "d_course_koopa_troopa_beach_packed_dl_3F60",
+ "d_course_koopa_troopa_beach_packed_dl_42E0",
+ "d_course_koopa_troopa_beach_packed_dl_43C0",
+ "d_course_koopa_troopa_beach_packed_dl_45C8",
+ "d_course_koopa_troopa_beach_packed_dl_7F70",
+ "d_course_koopa_troopa_beach_packed_dl_8028",
+ "d_course_koopa_troopa_beach_packed_dl_80F8",
+ "d_course_koopa_troopa_beach_packed_dl_8200",
+ "d_course_koopa_troopa_beach_packed_dl_82D8",
+ "d_course_koopa_troopa_beach_packed_dl_8360",
+ "d_course_koopa_troopa_beach_packed_dl_8468",
+ "d_course_koopa_troopa_beach_packed_dl_7EE0",
+ "d_course_koopa_troopa_beach_packed_dl_78E0",
+ "d_course_koopa_troopa_beach_packed_dl_7810",
+ "d_course_koopa_troopa_beach_packed_dl_7740",
+ "d_course_koopa_troopa_beach_packed_dl_76C0",
+ "d_course_koopa_troopa_beach_packed_dl_7970",
+ "d_course_koopa_troopa_beach_packed_dl_7A98",
+ "d_course_koopa_troopa_beach_packed_dl_7DB0",
+ "d_course_koopa_troopa_beach_packed_dl_7E48",
+ "d_course_koopa_troopa_beach_packed_dl_8510",
+ "d_course_koopa_troopa_beach_packed_dl_8C18",
+ "d_course_koopa_troopa_beach_packed_dl_8D08",
+ "d_course_koopa_troopa_beach_packed_dl_8DB0",
+ "d_course_koopa_troopa_beach_packed_dl_8E50",
+ "d_course_koopa_troopa_beach_packed_dl_8EE0",
+ "d_course_koopa_troopa_beach_packed_dl_8F58",
+ "d_course_koopa_troopa_beach_packed_dl_8FD0",
+ "d_course_koopa_troopa_beach_packed_dl_8A90",
+ "d_course_koopa_troopa_beach_packed_dl_85C0",
+ "d_course_koopa_troopa_beach_packed_dl_86B0",
+ "d_course_koopa_troopa_beach_packed_dl_8740",
+ "d_course_koopa_troopa_beach_packed_dl_87E0",
+ "d_course_koopa_troopa_beach_packed_dl_8870",
+ "d_course_koopa_troopa_beach_packed_dl_8980",
+ "d_course_koopa_troopa_beach_packed_dl_7608",
+ "d_course_koopa_troopa_beach_packed_dl_7538",
+ "d_course_koopa_troopa_beach_packed_dl_7430",
+ "d_course_koopa_troopa_beach_packed_dl_9B20",
+ "d_course_koopa_troopa_beach_packed_dl_9B78"
+ ]
+ },
+ {
+ "file":"courses/koopa_troopa_beach/course_data.c",
+ "out_dir": "tracks/koopa_troopa_beach/preview",
+ "models": [
+ "d_course_koopa_troopa_beach_dl_18D68"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/luigi_raceway.json b/models/tracks/luigi_raceway.json
new file mode 100644
index 000000000..250b28c90
--- /dev/null
+++ b/models/tracks/luigi_raceway.json
@@ -0,0 +1,265 @@
+[
+
+ {
+ "file": "courses/luigi_raceway/course_data.c",
+ "out_dir": "tracks/luigi_raceway/objects",
+ "models": [
+ "d_course_luigi_raceway_dl_F650",
+ "d_course_luigi_raceway_dl_F960",
+ "d_course_luigi_raceway_dl_FA20",
+ "d_course_luigi_raceway_dl_FBE0",
+ "d_course_luigi_raceway_dl_FC70"
+ ]
+ },
+ {
+ "file": "courses/luigi_raceway/course_data.c",
+ "out_dir": "tracks/luigi_raceway/sections",
+ "models": [
+ "d_course_luigi_raceway_dl_0",
+ "d_course_luigi_raceway_dl_328",
+ "d_course_luigi_raceway_dl_1A8",
+ "d_course_luigi_raceway_dl_480",
+ "d_course_luigi_raceway_dl_6E0",
+ "d_course_luigi_raceway_dl_9F8",
+ "d_course_luigi_raceway_dl_868",
+ "d_course_luigi_raceway_dl_B48",
+ "d_course_luigi_raceway_dl_D80",
+ "d_course_luigi_raceway_dl_1058",
+ "d_course_luigi_raceway_dl_EE8",
+ "d_course_luigi_raceway_dl_1198",
+ "d_course_luigi_raceway_dl_1398",
+ "d_course_luigi_raceway_dl_16D8",
+ "d_course_luigi_raceway_dl_1538",
+ "d_course_luigi_raceway_dl_1888",
+ "d_course_luigi_raceway_dl_1B00",
+ "d_course_luigi_raceway_dl_1E30",
+ "d_course_luigi_raceway_dl_1C78",
+ "d_course_luigi_raceway_dl_1FD0",
+ "d_course_luigi_raceway_dl_2240",
+ "d_course_luigi_raceway_dl_2518",
+ "d_course_luigi_raceway_dl_2348",
+ "d_course_luigi_raceway_dl_2658",
+ "d_course_luigi_raceway_dl_2860",
+ "d_course_luigi_raceway_dl_2BC0",
+ "d_course_luigi_raceway_dl_2978",
+ "d_course_luigi_raceway_dl_2D00",
+ "d_course_luigi_raceway_dl_2F08",
+ "d_course_luigi_raceway_dl_32C0",
+ "d_course_luigi_raceway_dl_2FF8",
+ "d_course_luigi_raceway_dl_3408",
+ "d_course_luigi_raceway_dl_3610",
+ "d_course_luigi_raceway_dl_3928",
+ "d_course_luigi_raceway_dl_36A8",
+ "d_course_luigi_raceway_dl_3AB0",
+ "d_course_luigi_raceway_dl_3C18",
+ "d_course_luigi_raceway_dl_3EB0",
+ "d_course_luigi_raceway_dl_3CA0",
+ "d_course_luigi_raceway_dl_4058",
+ "d_course_luigi_raceway_dl_4198",
+ "d_course_luigi_raceway_dl_4440",
+ "d_course_luigi_raceway_dl_4240",
+ "d_course_luigi_raceway_dl_4638",
+ "d_course_luigi_raceway_dl_4720",
+ "d_course_luigi_raceway_dl_4A18",
+ "d_course_luigi_raceway_dl_4828",
+ "d_course_luigi_raceway_dl_4C60",
+ "d_course_luigi_raceway_dl_4CF8",
+ "d_course_luigi_raceway_dl_4FD8",
+ "d_course_luigi_raceway_dl_4E38",
+ "d_course_luigi_raceway_dl_5220",
+ "d_course_luigi_raceway_dl_52D0",
+ "d_course_luigi_raceway_dl_5558",
+ "d_course_luigi_raceway_dl_5420",
+ "d_course_luigi_raceway_dl_5728",
+ "d_course_luigi_raceway_dl_57F8",
+ "d_course_luigi_raceway_dl_5A60",
+ "d_course_luigi_raceway_dl_5940",
+ "d_course_luigi_raceway_dl_5BA0",
+ "d_course_luigi_raceway_dl_5CB8",
+ "d_course_luigi_raceway_dl_5F08",
+ "d_course_luigi_raceway_dl_5E10",
+ "d_course_luigi_raceway_dl_6018",
+ "d_course_luigi_raceway_dl_6150",
+ "d_course_luigi_raceway_dl_6350",
+ "d_course_luigi_raceway_dl_6288",
+ "d_course_luigi_raceway_dl_6400",
+ "d_course_luigi_raceway_dl_6558",
+ "d_course_luigi_raceway_dl_6608",
+ "d_course_luigi_raceway_dl_65B0",
+ "d_course_luigi_raceway_dl_6658",
+ "d_course_luigi_raceway_dl_66B8",
+ "d_course_luigi_raceway_dl_67A0",
+ "d_course_luigi_raceway_dl_6708",
+ "d_course_luigi_raceway_dl_6810",
+ "d_course_luigi_raceway_dl_68C0",
+ "d_course_luigi_raceway_dl_6A00",
+ "d_course_luigi_raceway_dl_6930",
+ "d_course_luigi_raceway_dl_6A90",
+ "d_course_luigi_raceway_dl_6B58",
+ "d_course_luigi_raceway_dl_6DA0",
+ "d_course_luigi_raceway_dl_6C40",
+ "d_course_luigi_raceway_dl_6EB0",
+ "d_course_luigi_raceway_dl_6FF0",
+ "d_course_luigi_raceway_dl_7248",
+ "d_course_luigi_raceway_dl_7110",
+ "d_course_luigi_raceway_dl_7388",
+ "d_course_luigi_raceway_dl_74B0",
+ "d_course_luigi_raceway_dl_7750",
+ "d_course_luigi_raceway_dl_75F0",
+ "d_course_luigi_raceway_dl_7928",
+ "d_course_luigi_raceway_dl_7A18",
+ "d_course_luigi_raceway_dl_7CD0",
+ "d_course_luigi_raceway_dl_7BB0",
+ "d_course_luigi_raceway_dl_7EE8",
+ "d_course_luigi_raceway_dl_7FA0",
+ "d_course_luigi_raceway_dl_8260",
+ "d_course_luigi_raceway_dl_8158",
+ "d_course_luigi_raceway_dl_8450",
+ "d_course_luigi_raceway_dl_8508",
+ "d_course_luigi_raceway_dl_8790",
+ "d_course_luigi_raceway_dl_86F8",
+ "d_course_luigi_raceway_dl_8958",
+ "d_course_luigi_raceway_dl_8A70",
+ "d_course_luigi_raceway_dl_8D68",
+ "d_course_luigi_raceway_dl_8CC8",
+ "d_course_luigi_raceway_dl_8F00",
+ "d_course_luigi_raceway_dl_9058",
+ "d_course_luigi_raceway_dl_9408",
+ "d_course_luigi_raceway_dl_9310",
+ "d_course_luigi_raceway_dl_95A0",
+ "d_course_luigi_raceway_dl_97B0",
+ "d_course_luigi_raceway_dl_9AD0",
+ "d_course_luigi_raceway_dl_99C0",
+ "d_course_luigi_raceway_dl_9C50",
+ "d_course_luigi_raceway_dl_9E58",
+ "d_course_luigi_raceway_dl_A178",
+ "d_course_luigi_raceway_dl_A028",
+ "d_course_luigi_raceway_dl_A320"
+ ]
+ },
+ {
+ "file":"courses/luigi_raceway/course_displaylists.inc.c",
+ "out_dir": "tracks/luigi_raceway/collision_sections",
+ "models": [
+ "d_course_luigi_raceway_packed_dl_6B00",
+ "d_course_luigi_raceway_packed_dl_6BF0",
+ "d_course_luigi_raceway_packed_dl_6CA8",
+ "d_course_luigi_raceway_packed_dl_6D60",
+ "d_course_luigi_raceway_packed_dl_6E18",
+ "d_course_luigi_raceway_packed_dl_6EF0",
+ "d_course_luigi_raceway_packed_dl_6FA8",
+ "d_course_luigi_raceway_packed_dl_6A58",
+ "d_course_luigi_raceway_packed_dl_65D8",
+ "d_course_luigi_raceway_packed_dl_6680",
+ "d_course_luigi_raceway_packed_dl_6728",
+ "d_course_luigi_raceway_packed_dl_67D0",
+ "d_course_luigi_raceway_packed_dl_6878",
+ "d_course_luigi_raceway_packed_dl_6920",
+ "d_course_luigi_raceway_packed_dl_69C0",
+ "d_course_luigi_raceway_packed_dl_7050",
+ "d_course_luigi_raceway_packed_dl_7650",
+ "d_course_luigi_raceway_packed_dl_76F8",
+ "d_course_luigi_raceway_packed_dl_77B0",
+ "d_course_luigi_raceway_packed_dl_7878",
+ "d_course_luigi_raceway_packed_dl_7940",
+ "d_course_luigi_raceway_packed_dl_79E8",
+ "d_course_luigi_raceway_packed_dl_75A8",
+ "d_course_luigi_raceway_packed_dl_70F8",
+ "d_course_luigi_raceway_packed_dl_71A0",
+ "d_course_luigi_raceway_packed_dl_7248",
+ "d_course_luigi_raceway_packed_dl_72F0",
+ "d_course_luigi_raceway_packed_dl_7398",
+ "d_course_luigi_raceway_packed_dl_7440",
+ "d_course_luigi_raceway_packed_dl_74F0",
+ "d_course_luigi_raceway_packed_dl_24E0",
+ "d_course_luigi_raceway_packed_dl_2458",
+ "d_course_luigi_raceway_packed_dl_23E0",
+ "d_course_luigi_raceway_packed_dl_2368",
+ "d_course_luigi_raceway_packed_dl_2560",
+ "d_course_luigi_raceway_packed_dl_25E8",
+ "d_course_luigi_raceway_packed_dl_2658",
+ "d_course_luigi_raceway_packed_dl_26B8",
+ "d_course_luigi_raceway_packed_dl_22F8",
+ "d_course_luigi_raceway_packed_dl_20C0",
+ "d_course_luigi_raceway_packed_dl_2050",
+ "d_course_luigi_raceway_packed_dl_1FF0",
+ "d_course_luigi_raceway_packed_dl_1F90",
+ "d_course_luigi_raceway_packed_dl_2130",
+ "d_course_luigi_raceway_packed_dl_21A8",
+ "d_course_luigi_raceway_packed_dl_2210",
+ "d_course_luigi_raceway_packed_dl_2280",
+ "d_course_luigi_raceway_packed_dl_2720",
+ "d_course_luigi_raceway_packed_dl_2D30",
+ "d_course_luigi_raceway_packed_dl_2CB8",
+ "d_course_luigi_raceway_packed_dl_2C40",
+ "d_course_luigi_raceway_packed_dl_2BC8",
+ "d_course_luigi_raceway_packed_dl_2DA8",
+ "d_course_luigi_raceway_packed_dl_2E20",
+ "d_course_luigi_raceway_packed_dl_2E90",
+ "d_course_luigi_raceway_packed_dl_2EF8",
+ "d_course_luigi_raceway_packed_dl_2B58",
+ "d_course_luigi_raceway_packed_dl_2900",
+ "d_course_luigi_raceway_packed_dl_2888",
+ "d_course_luigi_raceway_packed_dl_2810",
+ "d_course_luigi_raceway_packed_dl_2798",
+ "d_course_luigi_raceway_packed_dl_2978",
+ "d_course_luigi_raceway_packed_dl_29F0",
+ "d_course_luigi_raceway_packed_dl_2A68",
+ "d_course_luigi_raceway_packed_dl_2AE0",
+ "d_course_luigi_raceway_packed_dl_33C8",
+ "d_course_luigi_raceway_packed_dl_3448",
+ "d_course_luigi_raceway_packed_dl_34C8",
+ "d_course_luigi_raceway_packed_dl_3548",
+ "d_course_luigi_raceway_packed_dl_35D0",
+ "d_course_luigi_raceway_packed_dl_3678",
+ "d_course_luigi_raceway_packed_dl_3350",
+ "d_course_luigi_raceway_packed_dl_3080",
+ "d_course_luigi_raceway_packed_dl_30F8",
+ "d_course_luigi_raceway_packed_dl_3170",
+ "d_course_luigi_raceway_packed_dl_31E8",
+ "d_course_luigi_raceway_packed_dl_3260",
+ "d_course_luigi_raceway_packed_dl_32D8",
+ "d_course_luigi_raceway_packed_dl_36F8",
+ "d_course_luigi_raceway_packed_dl_3AD0",
+ "d_course_luigi_raceway_packed_dl_3B38",
+ "d_course_luigi_raceway_packed_dl_3BD0",
+ "d_course_luigi_raceway_packed_dl_3C40",
+ "d_course_luigi_raceway_packed_dl_3CF0",
+ "d_course_luigi_raceway_packed_dl_3D60",
+ "d_course_luigi_raceway_packed_dl_3A58",
+ "d_course_luigi_raceway_packed_dl_3768",
+ "d_course_luigi_raceway_packed_dl_37E0",
+ "d_course_luigi_raceway_packed_dl_3858",
+ "d_course_luigi_raceway_packed_dl_38D0",
+ "d_course_luigi_raceway_packed_dl_3948",
+ "d_course_luigi_raceway_packed_dl_39C8",
+ "d_course_luigi_raceway_packed_dl_1AC8",
+ "d_course_luigi_raceway_packed_dl_1A28",
+ "d_course_luigi_raceway_packed_dl_1988",
+ "d_course_luigi_raceway_packed_dl_1920",
+ "d_course_luigi_raceway_packed_dl_1D68",
+ "d_course_luigi_raceway_packed_dl_17E0",
+ "d_course_luigi_raceway_packed_dl_1B28",
+ "d_course_luigi_raceway_packed_dl_1BD8",
+ "d_course_luigi_raceway_packed_dl_1E70",
+ "d_course_luigi_raceway_packed_dl_1E10",
+ "d_course_luigi_raceway_packed_dl_1D00",
+ "d_course_luigi_raceway_packed_dl_1C90",
+ "d_course_luigi_raceway_packed_dl_7EB8",
+ "d_course_luigi_raceway_packed_dl_6558",
+ "d_course_luigi_raceway_packed_dl_4518",
+ "d_course_luigi_raceway_packed_dl_A98",
+ "d_course_luigi_raceway_packed_dl_1730",
+ "d_course_luigi_raceway_packed_dl_4860",
+ "d_course_luigi_raceway_packed_dl_8200",
+ "d_course_luigi_raceway_packed_dl_4EE8"
+ ]
+ },
+ {
+ "file":"courses/luigi_raceway/course_data.c",
+ "out_dir": "tracks/luigi_raceway/preview",
+ "models": [
+ "d_course_luigi_raceway_dl_FD40"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/mario_raceway.json b/models/tracks/mario_raceway.json
new file mode 100644
index 000000000..41ef28aa0
--- /dev/null
+++ b/models/tracks/mario_raceway.json
@@ -0,0 +1,150 @@
+[
+ {
+ "file": "courses/mario_raceway/course_data.c",
+ "out_dir": "tracks/mario_raceway/objects",
+ "models": [
+ "d_course_mario_raceway_dl_piranha_plant",
+ "d_course_mario_raceway_dl_tree",
+ "d_course_mario_raceway_dl_sign"
+ ]
+ },
+ {
+ "file": "courses/mario_raceway/course_data.c",
+ "out_dir": "tracks/mario_raceway/sections",
+ "models": [
+ "d_course_mario_raceway_dl_0",
+ "d_course_mario_raceway_dl_1D0",
+ "d_course_mario_raceway_dl_E8",
+ "d_course_mario_raceway_dl_2C8",
+ "d_course_mario_raceway_dl_3A8",
+ "d_course_mario_raceway_dl_568",
+ "d_course_mario_raceway_dl_478",
+ "d_course_mario_raceway_dl_668",
+ "d_course_mario_raceway_dl_750",
+ "d_course_mario_raceway_dl_928",
+ "d_course_mario_raceway_dl_828",
+ "d_course_mario_raceway_dl_A00",
+ "d_course_mario_raceway_dl_B08",
+ "d_course_mario_raceway_dl_DC8",
+ "d_course_mario_raceway_dl_C20",
+ "d_course_mario_raceway_dl_F60",
+ "d_course_mario_raceway_dl_10A8",
+ "d_course_mario_raceway_dl_1408",
+ "d_course_mario_raceway_dl_1210",
+ "d_course_mario_raceway_dl_15C8",
+ "d_course_mario_raceway_dl_1740",
+ "d_course_mario_raceway_dl_1A30",
+ "d_course_mario_raceway_dl_1850",
+ "d_course_mario_raceway_dl_1B70",
+ "d_course_mario_raceway_dl_1CF8",
+ "d_course_mario_raceway_dl_1F68",
+ "d_course_mario_raceway_dl_1DE0",
+ "d_course_mario_raceway_dl_20A0",
+ "d_course_mario_raceway_dl_21E8",
+ "d_course_mario_raceway_dl_2418",
+ "d_course_mario_raceway_dl_22E0",
+ "d_course_mario_raceway_dl_2558",
+ "d_course_mario_raceway_dl_2680",
+ "d_course_mario_raceway_dl_28B0",
+ "d_course_mario_raceway_dl_2790",
+ "d_course_mario_raceway_dl_2A10",
+ "d_course_mario_raceway_dl_2B40",
+ "d_course_mario_raceway_dl_2DC0",
+ "d_course_mario_raceway_dl_2C98",
+ "d_course_mario_raceway_dl_2EF8",
+ "d_course_mario_raceway_dl_3038",
+ "d_course_mario_raceway_dl_32D8",
+ "d_course_mario_raceway_dl_31F0",
+ "d_course_mario_raceway_dl_3458",
+ "d_course_mario_raceway_dl_35D0",
+ "d_course_mario_raceway_dl_3830",
+ "d_course_mario_raceway_dl_3748",
+ "d_course_mario_raceway_dl_3960",
+ "d_course_mario_raceway_dl_3AA0",
+ "d_course_mario_raceway_dl_3D68",
+ "d_course_mario_raceway_dl_3C08",
+ "d_course_mario_raceway_dl_3EB8",
+ "d_course_mario_raceway_dl_4038",
+ "d_course_mario_raceway_dl_42A0",
+ "d_course_mario_raceway_dl_4150",
+ "d_course_mario_raceway_dl_43D8",
+ "d_course_mario_raceway_dl_44F8",
+ "d_course_mario_raceway_dl_4738",
+ "d_course_mario_raceway_dl_4610",
+ "d_course_mario_raceway_dl_4840",
+ "d_course_mario_raceway_dl_4910",
+ "d_course_mario_raceway_dl_4B78",
+ "d_course_mario_raceway_dl_4A60",
+ "d_course_mario_raceway_dl_4CD8",
+ "d_course_mario_raceway_dl_4DC8",
+ "d_course_mario_raceway_dl_4FF0",
+ "d_course_mario_raceway_dl_4ED0",
+ "d_course_mario_raceway_dl_5150"
+ ]
+ },
+ {
+ "file":"courses/mario_raceway/course_displaylists.inc.c",
+ "out_dir": "tracks/mario_raceway/collision_sections",
+ "models": [
+ "d_course_mario_raceway_packed_dl_17D8",
+ "d_course_mario_raceway_packed_dl_1770",
+ "d_course_mario_raceway_packed_dl_16D8",
+ "d_course_mario_raceway_packed_dl_1668",
+ "d_course_mario_raceway_packed_dl_14C8",
+ "d_course_mario_raceway_packed_dl_1500",
+ "d_course_mario_raceway_packed_dl_1550",
+ "d_course_mario_raceway_packed_dl_1600",
+ "d_course_mario_raceway_packed_dl_1850",
+ "d_course_mario_raceway_packed_dl_1AF8",
+ "d_course_mario_raceway_packed_dl_1A80",
+ "d_course_mario_raceway_packed_dl_1A08",
+ "d_course_mario_raceway_packed_dl_1988",
+ "d_course_mario_raceway_packed_dl_1890",
+ "d_course_mario_raceway_packed_dl_18B8",
+ "d_course_mario_raceway_packed_dl_18E0",
+ "d_course_mario_raceway_packed_dl_1950",
+ "d_course_mario_raceway_packed_dl_1188",
+ "d_course_mario_raceway_packed_dl_2A28",
+ "d_course_mario_raceway_packed_dl_E0",
+ "d_course_mario_raceway_packed_dl_5218",
+ "d_course_mario_raceway_packed_dl_50E8",
+ "d_course_mario_raceway_packed_dl_4F90",
+ "d_course_mario_raceway_packed_dl_4EE8",
+ "d_course_mario_raceway_packed_dl_4E20",
+ "d_course_mario_raceway_packed_dl_52B8",
+ "d_course_mario_raceway_packed_dl_5608",
+ "d_course_mario_raceway_packed_dl_5550",
+ "d_course_mario_raceway_packed_dl_54B0",
+ "d_course_mario_raceway_packed_dl_5408",
+ "d_course_mario_raceway_packed_dl_5368",
+ "d_course_mario_raceway_packed_dl_4D48",
+ "d_course_mario_raceway_packed_dl_49E8",
+ "d_course_mario_raceway_packed_dl_4950",
+ "d_course_mario_raceway_packed_dl_4870",
+ "d_course_mario_raceway_packed_dl_4780",
+ "d_course_mario_raceway_packed_dl_46A0",
+ "d_course_mario_raceway_packed_dl_4AD8",
+ "d_course_mario_raceway_packed_dl_6198",
+ "d_course_mario_raceway_packed_dl_60F0",
+ "d_course_mario_raceway_packed_dl_63B0",
+ "d_course_mario_raceway_packed_dl_5AE0",
+ "d_course_mario_raceway_packed_dl_5A48",
+ "d_course_mario_raceway_packed_dl_5970",
+ "d_course_mario_raceway_packed_dl_5870",
+ "d_course_mario_raceway_packed_dl_5768",
+ "d_course_mario_raceway_packed_dl_5BC8",
+ "d_course_mario_raceway_packed_dl_5ED0",
+ "d_course_mario_raceway_packed_dl_5F88",
+ "d_course_mario_raceway_packed_dl_6068",
+ "d_course_mario_raceway_packed_dl_6308",
+ "d_course_mario_raceway_packed_dl_6490"
+ ]
+ },
+ {
+ "file":"courses/mario_raceway/course_data.c",
+ "out_dir": "tracks/mario_raceway/preview",
+ "models": [
+ "d_course_mario_raceway_dl_9348"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/moo_moo_farm.json b/models/tracks/moo_moo_farm.json
new file mode 100644
index 000000000..7b24ac597
--- /dev/null
+++ b/models/tracks/moo_moo_farm.json
@@ -0,0 +1,201 @@
+[
+ {
+ "file": "courses/moo_moo_farm/course_data.c",
+ "out_dir": "tracks/moo_moo_farm/objects",
+ "models": [
+ "d_course_moo_moo_farm_dl_cow1",
+ "d_course_moo_moo_farm_dl_cow2",
+ "d_course_moo_moo_farm_dl_cow3",
+ "d_course_moo_moo_farm_dl_cow4",
+ "d_course_moo_moo_farm_dl_cow5",
+ "d_course_moo_moo_farm_dl_tree"
+ ]
+ },
+ {
+ "file": "courses/moo_moo_farm/course_data.c",
+ "out_dir": "tracks/moo_moo_farm/sections",
+ "models": [
+ "d_course_moo_moo_farm_dl_88",
+ "d_course_moo_moo_farm_dl_598",
+ "d_course_moo_moo_farm_dl_338",
+ "d_course_moo_moo_farm_dl_8A0",
+ "d_course_moo_moo_farm_dl_B00",
+ "d_course_moo_moo_farm_dl_FE0",
+ "d_course_moo_moo_farm_dl_D70",
+ "d_course_moo_moo_farm_dl_12B8",
+ "d_course_moo_moo_farm_dl_1530",
+ "d_course_moo_moo_farm_dl_1A20",
+ "d_course_moo_moo_farm_dl_1790",
+ "d_course_moo_moo_farm_dl_1D00",
+ "d_course_moo_moo_farm_dl_1F58",
+ "d_course_moo_moo_farm_dl_2470",
+ "d_course_moo_moo_farm_dl_2190",
+ "d_course_moo_moo_farm_dl_27A8",
+ "d_course_moo_moo_farm_dl_2A10",
+ "d_course_moo_moo_farm_dl_2F20",
+ "d_course_moo_moo_farm_dl_2C38",
+ "d_course_moo_moo_farm_dl_3238",
+ "d_course_moo_moo_farm_dl_34A0",
+ "d_course_moo_moo_farm_dl_39F8",
+ "d_course_moo_moo_farm_dl_36B8",
+ "d_course_moo_moo_farm_dl_3CB0",
+ "d_course_moo_moo_farm_dl_3EB8",
+ "d_course_moo_moo_farm_dl_4428",
+ "d_course_moo_moo_farm_dl_4098",
+ "d_course_moo_moo_farm_dl_46D8",
+ "d_course_moo_moo_farm_dl_4910",
+ "d_course_moo_moo_farm_dl_4E00",
+ "d_course_moo_moo_farm_dl_4AD0",
+ "d_course_moo_moo_farm_dl_5040",
+ "d_course_moo_moo_farm_dl_5290",
+ "d_course_moo_moo_farm_dl_5758",
+ "d_course_moo_moo_farm_dl_5458",
+ "d_course_moo_moo_farm_dl_5990",
+ "d_course_moo_moo_farm_dl_5BF8",
+ "d_course_moo_moo_farm_dl_60A8",
+ "d_course_moo_moo_farm_dl_5DF0",
+ "d_course_moo_moo_farm_dl_62D0",
+ "d_course_moo_moo_farm_dl_6548",
+ "d_course_moo_moo_farm_dl_6A70",
+ "d_course_moo_moo_farm_dl_6778",
+ "d_course_moo_moo_farm_dl_6CB8",
+ "d_course_moo_moo_farm_dl_6FF0",
+ "d_course_moo_moo_farm_dl_74C8",
+ "d_course_moo_moo_farm_dl_7218",
+ "d_course_moo_moo_farm_dl_7718",
+ "d_course_moo_moo_farm_dl_7A80",
+ "d_course_moo_moo_farm_dl_7F78",
+ "d_course_moo_moo_farm_dl_7CD8",
+ "d_course_moo_moo_farm_dl_81E8",
+ "d_course_moo_moo_farm_dl_84D0",
+ "d_course_moo_moo_farm_dl_89A0",
+ "d_course_moo_moo_farm_dl_8728",
+ "d_course_moo_moo_farm_dl_8C00",
+ "d_course_moo_moo_farm_dl_8F18",
+ "d_course_moo_moo_farm_dl_93D0",
+ "d_course_moo_moo_farm_dl_9178",
+ "d_course_moo_moo_farm_dl_9640",
+ "d_course_moo_moo_farm_dl_9938",
+ "d_course_moo_moo_farm_dl_9DF8",
+ "d_course_moo_moo_farm_dl_9BB0",
+ "d_course_moo_moo_farm_dl_A010",
+ "d_course_moo_moo_farm_dl_A2C0",
+ "d_course_moo_moo_farm_dl_A7B0",
+ "d_course_moo_moo_farm_dl_A568",
+ "d_course_moo_moo_farm_dl_A9C8",
+ "d_course_moo_moo_farm_dl_ACB0",
+ "d_course_moo_moo_farm_dl_B230",
+ "d_course_moo_moo_farm_dl_B020",
+ "d_course_moo_moo_farm_dl_B478",
+ "d_course_moo_moo_farm_dl_B798",
+ "d_course_moo_moo_farm_dl_BCE8",
+ "d_course_moo_moo_farm_dl_BB00",
+ "d_course_moo_moo_farm_dl_BF10",
+ "d_course_moo_moo_farm_dl_C180",
+ "d_course_moo_moo_farm_dl_C6D8",
+ "d_course_moo_moo_farm_dl_C4F8",
+ "d_course_moo_moo_farm_dl_C950",
+ "d_course_moo_moo_farm_dl_CBC8",
+ "d_course_moo_moo_farm_dl_D140",
+ "d_course_moo_moo_farm_dl_CF58",
+ "d_course_moo_moo_farm_dl_D408",
+ "d_course_moo_moo_farm_dl_D6B0",
+ "d_course_moo_moo_farm_dl_DC70",
+ "d_course_moo_moo_farm_dl_DA50",
+ "d_course_moo_moo_farm_dl_DF60",
+ "d_course_moo_moo_farm_dl_E1D8",
+ "d_course_moo_moo_farm_dl_E708",
+ "d_course_moo_moo_farm_dl_E4B0",
+ "d_course_moo_moo_farm_dl_EA18"
+ ]
+ },
+ {
+ "file":"courses/moo_moo_farm/course_displaylists.inc.c",
+ "out_dir": "tracks/moo_moo_farm/collision_sections",
+ "models": [
+ "d_course_moo_moo_farm_packed_dl_39F8",
+ "d_course_moo_moo_farm_packed_dl_3B88",
+ "d_course_moo_moo_farm_packed_dl_3C48",
+ "d_course_moo_moo_farm_packed_dl_3D50",
+ "d_course_moo_moo_farm_packed_dl_3E50",
+ "d_course_moo_moo_farm_packed_dl_3918",
+ "d_course_moo_moo_farm_packed_dl_34B8",
+ "d_course_moo_moo_farm_packed_dl_3590",
+ "d_course_moo_moo_farm_packed_dl_3668",
+ "d_course_moo_moo_farm_packed_dl_3748",
+ "d_course_moo_moo_farm_packed_dl_3828",
+ "d_course_moo_moo_farm_packed_dl_3F30",
+ "d_course_moo_moo_farm_packed_dl_46E8",
+ "d_course_moo_moo_farm_packed_dl_47C8",
+ "d_course_moo_moo_farm_packed_dl_48B8",
+ "d_course_moo_moo_farm_packed_dl_49A8",
+ "d_course_moo_moo_farm_packed_dl_4A88",
+ "d_course_moo_moo_farm_packed_dl_45D0",
+ "d_course_moo_moo_farm_packed_dl_40A8",
+ "d_course_moo_moo_farm_packed_dl_41B0",
+ "d_course_moo_moo_farm_packed_dl_42B8",
+ "d_course_moo_moo_farm_packed_dl_43A0",
+ "d_course_moo_moo_farm_packed_dl_4480",
+ "d_course_moo_moo_farm_packed_dl_1BA0",
+ "d_course_moo_moo_farm_packed_dl_1C40",
+ "d_course_moo_moo_farm_packed_dl_1C98",
+ "d_course_moo_moo_farm_packed_dl_1D00",
+ "d_course_moo_moo_farm_packed_dl_1D60",
+ "d_course_moo_moo_farm_packed_dl_1DD0",
+ "d_course_moo_moo_farm_packed_dl_1E58",
+ "d_course_moo_moo_farm_packed_dl_1B38",
+ "d_course_moo_moo_farm_packed_dl_18E0",
+ "d_course_moo_moo_farm_packed_dl_1940",
+ "d_course_moo_moo_farm_packed_dl_19A0",
+ "d_course_moo_moo_farm_packed_dl_1A00",
+ "d_course_moo_moo_farm_packed_dl_1A60",
+ "d_course_moo_moo_farm_packed_dl_1AA0",
+ "d_course_moo_moo_farm_packed_dl_1AD0",
+ "d_course_moo_moo_farm_packed_dl_1ED0",
+ "d_course_moo_moo_farm_packed_dl_20F8",
+ "d_course_moo_moo_farm_packed_dl_2160",
+ "d_course_moo_moo_farm_packed_dl_21D8",
+ "d_course_moo_moo_farm_packed_dl_2240",
+ "d_course_moo_moo_farm_packed_dl_22B0",
+ "d_course_moo_moo_farm_packed_dl_2338",
+ "d_course_moo_moo_farm_packed_dl_23C0",
+ "d_course_moo_moo_farm_packed_dl_2C68",
+ "d_course_moo_moo_farm_packed_dl_2CD8",
+ "d_course_moo_moo_farm_packed_dl_2D30",
+ "d_course_moo_moo_farm_packed_dl_2D90",
+ "d_course_moo_moo_farm_packed_dl_2DF0",
+ "d_course_moo_moo_farm_packed_dl_2E60",
+ "d_course_moo_moo_farm_packed_dl_2EA0",
+ "d_course_moo_moo_farm_packed_dl_2C10",
+ "d_course_moo_moo_farm_packed_dl_2998",
+ "d_course_moo_moo_farm_packed_dl_29F0",
+ "d_course_moo_moo_farm_packed_dl_2A50",
+ "d_course_moo_moo_farm_packed_dl_2AB8",
+ "d_course_moo_moo_farm_packed_dl_2AF0",
+ "d_course_moo_moo_farm_packed_dl_2B50",
+ "d_course_moo_moo_farm_packed_dl_2BA8",
+ "d_course_moo_moo_farm_packed_dl_2F10",
+ "d_course_moo_moo_farm_packed_dl_3210",
+ "d_course_moo_moo_farm_packed_dl_3268",
+ "d_course_moo_moo_farm_packed_dl_32A0",
+ "d_course_moo_moo_farm_packed_dl_3310",
+ "d_course_moo_moo_farm_packed_dl_3350",
+ "d_course_moo_moo_farm_packed_dl_3380",
+ "d_course_moo_moo_farm_packed_dl_31C8",
+ "d_course_moo_moo_farm_packed_dl_5290",
+ "d_course_moo_moo_farm_packed_dl_5018",
+ "d_course_moo_moo_farm_packed_dl_A80",
+ "d_course_moo_moo_farm_packed_dl_4D0",
+ "d_course_moo_moo_farm_packed_dl_4DF8",
+ "d_course_moo_moo_farm_packed_dl_CB0",
+ "d_course_moo_moo_farm_packed_dl_F20"
+ ]
+ },
+ {
+ "file":"courses/moo_moo_farm/course_data.c",
+ "out_dir": "tracks/moo_moo_farm/preview",
+ "models": [
+ "d_course_moo_moo_farm_dl_14088"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/rainbow_road.json b/models/tracks/rainbow_road.json
new file mode 100644
index 000000000..2f21483bd
--- /dev/null
+++ b/models/tracks/rainbow_road.json
@@ -0,0 +1,70 @@
+[
+ {
+ "file": "courses/rainbow_road/course_data.c",
+ "out_dir": "tracks/rainbow_road/objects",
+ "models": [
+ "d_course_rainbow_road_dl_151A8",
+ "d_course_rainbow_road_dl_15550",
+ "d_course_rainbow_road_dl_158C0",
+ "d_course_rainbow_road_dl_15C68",
+ "d_course_rainbow_road_dl_15F18"
+ ]
+ },
+ {
+ "file": "courses/rainbow_road/course_data.c",
+ "out_dir": "tracks/rainbow_road/sections",
+ "models": [
+ "d_course_rainbow_road_dl_D8", "d_course_rainbow_road_dl_210",
+ "d_course_rainbow_road_dl_178", "d_course_rainbow_road_dl_288",
+ "d_course_rainbow_road_dl_338", "d_course_rainbow_road_dl_4A0",
+ "d_course_rainbow_road_dl_3D0", "d_course_rainbow_road_dl_528",
+ "d_course_rainbow_road_dl_5F8", "d_course_rainbow_road_dl_6E0",
+ "d_course_rainbow_road_dl_658", "d_course_rainbow_road_dl_730",
+ "d_course_rainbow_road_dl_7A8", "d_course_rainbow_road_dl_880",
+ "d_course_rainbow_road_dl_7F8", "d_course_rainbow_road_dl_8E0",
+ "d_course_rainbow_road_dl_958", "d_course_rainbow_road_dl_A70",
+ "d_course_rainbow_road_dl_9C8", "d_course_rainbow_road_dl_B08",
+ "d_course_rainbow_road_dl_B70", "d_course_rainbow_road_dl_C70",
+ "d_course_rainbow_road_dl_BF0", "d_course_rainbow_road_dl_D10",
+ "d_course_rainbow_road_dl_D80", "d_course_rainbow_road_dl_E98",
+ "d_course_rainbow_road_dl_E08", "d_course_rainbow_road_dl_F50",
+ "d_course_rainbow_road_dl_FB0", "d_course_rainbow_road_dl_10A8",
+ "d_course_rainbow_road_dl_1030", "d_course_rainbow_road_dl_1150",
+ "d_course_rainbow_road_dl_1198", "d_course_rainbow_road_dl_12A0",
+ "d_course_rainbow_road_dl_1228", "d_course_rainbow_road_dl_1340",
+ "d_course_rainbow_road_dl_13F0", "d_course_rainbow_road_dl_14E8",
+ "d_course_rainbow_road_dl_1488", "d_course_rainbow_road_dl_1530",
+ "d_course_rainbow_road_dl_15D0", "d_course_rainbow_road_dl_16C0",
+ "d_course_rainbow_road_dl_1678", "d_course_rainbow_road_dl_1738",
+ "d_course_rainbow_road_dl_17D0", "d_course_rainbow_road_dl_18D0",
+ "d_course_rainbow_road_dl_1878", "d_course_rainbow_road_dl_1948"
+ ]
+ },
+ {
+ "file":"courses/rainbow_road/course_displaylists.inc.c",
+ "out_dir": "tracks/rainbow_road/collision_sections",
+ "models": [
+ "d_course_rainbow_road_packed_dl_20C0",
+ "d_course_rainbow_road_packed_dl_1850",
+ "d_course_rainbow_road_packed_dl_1758",
+ "d_course_rainbow_road_packed_dl_1698",
+ "d_course_rainbow_road_packed_dl_15F8",
+ "d_course_rainbow_road_packed_dl_1528",
+ "d_course_rainbow_road_packed_dl_13A0",
+ "d_course_rainbow_road_packed_dl_1978",
+ "d_course_rainbow_road_packed_dl_1D30",
+ "d_course_rainbow_road_packed_dl_1C70",
+ "d_course_rainbow_road_packed_dl_1BC0",
+ "d_course_rainbow_road_packed_dl_1B28",
+ "d_course_rainbow_road_packed_dl_1A20",
+ "d_course_rainbow_road_packed_dl_1318"
+ ]
+ },
+ {
+ "file":"courses/rainbow_road/course_data.c",
+ "out_dir": "tracks/rainbow_road/preview",
+ "models": [
+ "d_course_rainbow_road_dl_16220"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/royal_raceway.json b/models/tracks/royal_raceway.json
new file mode 100644
index 000000000..df5d25032
--- /dev/null
+++ b/models/tracks/royal_raceway.json
@@ -0,0 +1,280 @@
+[
+ {
+ "file": "courses/royal_raceway/course_data.c",
+ "out_dir": "tracks/royal_raceway/objects",
+ "models": [
+ "d_course_royal_raceway_dl_tree",
+ "d_course_royal_raceway_dl_castle_tree",
+ "d_course_royal_raceway_dl_piranha_plant"
+ ]
+ },
+ {
+ "file": "courses/royal_raceway/course_data.c",
+ "out_dir": "tracks/royal_raceway/sections",
+ "models": [
+ "d_course_royal_raceway_dl_0",
+ "d_course_royal_raceway_dl_360",
+ "d_course_royal_raceway_dl_258",
+ "d_course_royal_raceway_dl_470",
+ "d_course_royal_raceway_dl_6D0",
+ "d_course_royal_raceway_dl_A48",
+ "d_course_royal_raceway_dl_8E0",
+ "d_course_royal_raceway_dl_B40",
+ "d_course_royal_raceway_dl_DA0",
+ "d_course_royal_raceway_dl_1180",
+ "d_course_royal_raceway_dl_F40",
+ "d_course_royal_raceway_dl_12C0",
+ "d_course_royal_raceway_dl_1538",
+ "d_course_royal_raceway_dl_1850",
+ "d_course_royal_raceway_dl_1610",
+ "d_course_royal_raceway_dl_19B0",
+ "d_course_royal_raceway_dl_1BB8",
+ "d_course_royal_raceway_dl_1E88",
+ "d_course_royal_raceway_dl_1C40",
+ "d_course_royal_raceway_dl_2018",
+ "d_course_royal_raceway_dl_21A8",
+ "d_course_royal_raceway_dl_2428",
+ "d_course_royal_raceway_dl_2210",
+ "d_course_royal_raceway_dl_25F0",
+ "d_course_royal_raceway_dl_26F0",
+ "d_course_royal_raceway_dl_29A0",
+ "d_course_royal_raceway_dl_27B8",
+ "d_course_royal_raceway_dl_2B78",
+ "d_course_royal_raceway_dl_2C20",
+ "d_course_royal_raceway_dl_2FE0",
+ "d_course_royal_raceway_dl_2DD0",
+ "d_course_royal_raceway_dl_31F8",
+ "d_course_royal_raceway_dl_33B0",
+ "d_course_royal_raceway_dl_3748",
+ "d_course_royal_raceway_dl_3580",
+ "d_course_royal_raceway_dl_3960",
+ "d_course_royal_raceway_dl_3AD8",
+ "d_course_royal_raceway_dl_3D38",
+ "d_course_royal_raceway_dl_3BA8",
+ "d_course_royal_raceway_dl_3ED8",
+ "d_course_royal_raceway_dl_3FA0",
+ "d_course_royal_raceway_dl_41D8",
+ "d_course_royal_raceway_dl_4048",
+ "d_course_royal_raceway_dl_4380",
+ "d_course_royal_raceway_dl_4438",
+ "d_course_royal_raceway_dl_45A0",
+ "d_course_royal_raceway_dl_44C0",
+ "d_course_royal_raceway_dl_46A0",
+ "d_course_royal_raceway_dl_4750",
+ "d_course_royal_raceway_dl_4930",
+ "d_course_royal_raceway_dl_4800",
+ "d_course_royal_raceway_dl_4A38",
+ "d_course_royal_raceway_dl_4AE0",
+ "d_course_royal_raceway_dl_4D00",
+ "d_course_royal_raceway_dl_4BA8",
+ "d_course_royal_raceway_dl_4DF8",
+ "d_course_royal_raceway_dl_4EC0",
+ "d_course_royal_raceway_dl_50F0",
+ "d_course_royal_raceway_dl_4F80",
+ "d_course_royal_raceway_dl_51D0",
+ "d_course_royal_raceway_dl_52F0",
+ "d_course_royal_raceway_dl_54F8",
+ "d_course_royal_raceway_dl_53B8",
+ "d_course_royal_raceway_dl_5598",
+ "d_course_royal_raceway_dl_56C0",
+ "d_course_royal_raceway_dl_5890",
+ "d_course_royal_raceway_dl_5758",
+ "d_course_royal_raceway_dl_5900",
+ "d_course_royal_raceway_dl_5A40",
+ "d_course_royal_raceway_dl_5CA0",
+ "d_course_royal_raceway_dl_5B28",
+ "d_course_royal_raceway_dl_5D08",
+ "d_course_royal_raceway_dl_5EB8",
+ "d_course_royal_raceway_dl_6118",
+ "d_course_royal_raceway_dl_5FD8",
+ "d_course_royal_raceway_dl_61B0",
+ "d_course_royal_raceway_dl_6378",
+ "d_course_royal_raceway_dl_6780",
+ "d_course_royal_raceway_dl_6538",
+ "d_course_royal_raceway_dl_68C8",
+ "d_course_royal_raceway_dl_6BC0",
+ "d_course_royal_raceway_dl_70C0",
+ "d_course_royal_raceway_dl_6E20",
+ "d_course_royal_raceway_dl_72B8",
+ "d_course_royal_raceway_dl_75C0",
+ "d_course_royal_raceway_dl_78E8",
+ "d_course_royal_raceway_dl_7778",
+ "d_course_royal_raceway_dl_7AD0",
+ "d_course_royal_raceway_dl_7BD8",
+ "d_course_royal_raceway_dl_7ED8",
+ "d_course_royal_raceway_dl_7DB0",
+ "d_course_royal_raceway_dl_8068",
+ "d_course_royal_raceway_dl_81C0",
+ "d_course_royal_raceway_dl_84A0",
+ "d_course_royal_raceway_dl_8398",
+ "d_course_royal_raceway_dl_8620",
+ "d_course_royal_raceway_dl_8770",
+ "d_course_royal_raceway_dl_88B0",
+ "d_course_royal_raceway_dl_8838",
+ "d_course_royal_raceway_dl_8930",
+ "d_course_royal_raceway_dl_89F0",
+ "d_course_royal_raceway_dl_8CD8",
+ "d_course_royal_raceway_dl_8C58",
+ "d_course_royal_raceway_dl_8EB8",
+ "d_course_royal_raceway_dl_8FA8",
+ "d_course_royal_raceway_dl_92D0",
+ "d_course_royal_raceway_dl_9218",
+ "d_course_royal_raceway_dl_94E8",
+ "d_course_royal_raceway_dl_9678",
+ "d_course_royal_raceway_dl_99A0",
+ "d_course_royal_raceway_dl_9900",
+ "d_course_royal_raceway_dl_9B30",
+ "d_course_royal_raceway_dl_9D58",
+ "d_course_royal_raceway_dl_A0A8",
+ "d_course_royal_raceway_dl_9FE8",
+ "d_course_royal_raceway_dl_A200",
+ "d_course_royal_raceway_dl_A478",
+ "d_course_royal_raceway_dl_A728",
+ "d_course_royal_raceway_dl_A600",
+ "d_course_royal_raceway_dl_A8A8",
+ "d_course_royal_raceway_dl_A9D0",
+ "d_course_royal_raceway_dl_AC28",
+ "d_course_royal_raceway_dl_AB28",
+ "d_course_royal_raceway_dl_AD90",
+ "d_course_royal_raceway_dl_AE70",
+ "d_course_royal_raceway_dl_B040",
+ "d_course_royal_raceway_dl_AFB0",
+ "d_course_royal_raceway_dl_B188",
+ "d_course_royal_raceway_dl_B230",
+ "d_course_royal_raceway_dl_B3E8",
+ "d_course_royal_raceway_dl_B2E0",
+ "d_course_royal_raceway_dl_B508"
+ ]
+ },
+ {
+ "file":"courses/royal_raceway/course_displaylists.inc.c",
+ "out_dir": "tracks/royal_raceway/collision_sections",
+ "models": [
+ "d_course_royal_raceway_packed_dl_650",
+ "d_course_royal_raceway_packed_dl_1FE8",
+ "d_course_royal_raceway_packed_dl_20A0",
+ "d_course_royal_raceway_packed_dl_2110",
+ "d_course_royal_raceway_packed_dl_21B8",
+ "d_course_royal_raceway_packed_dl_2230",
+ "d_course_royal_raceway_packed_dl_22C0",
+ "d_course_royal_raceway_packed_dl_1F58",
+ "d_course_royal_raceway_packed_dl_1B98",
+ "d_course_royal_raceway_packed_dl_1C48",
+ "d_course_royal_raceway_packed_dl_1CF0",
+ "d_course_royal_raceway_packed_dl_1D68",
+ "d_course_royal_raceway_packed_dl_1DF0",
+ "d_course_royal_raceway_packed_dl_1E60",
+ "d_course_royal_raceway_packed_dl_1EF0",
+ "d_course_royal_raceway_packed_dl_2370",
+ "d_course_royal_raceway_packed_dl_28D8",
+ "d_course_royal_raceway_packed_dl_2950",
+ "d_course_royal_raceway_packed_dl_2A10",
+ "d_course_royal_raceway_packed_dl_2AC8",
+ "d_course_royal_raceway_packed_dl_2B38",
+ "d_course_royal_raceway_packed_dl_A648",
+ "d_course_royal_raceway_packed_dl_2BA0",
+ "d_course_royal_raceway_packed_dl_A6A8",
+ "d_course_royal_raceway_packed_dl_2870",
+ "d_course_royal_raceway_packed_dl_23F8",
+ "d_course_royal_raceway_packed_dl_2478",
+ "d_course_royal_raceway_packed_dl_2530",
+ "d_course_royal_raceway_packed_dl_25E0",
+ "d_course_royal_raceway_packed_dl_26B0",
+ "d_course_royal_raceway_packed_dl_2758",
+ "d_course_royal_raceway_packed_dl_27E0",
+ "d_course_royal_raceway_packed_dl_5400",
+ "d_course_royal_raceway_packed_dl_54A8",
+ "d_course_royal_raceway_packed_dl_5520",
+ "d_course_royal_raceway_packed_dl_51E8",
+ "d_course_royal_raceway_packed_dl_4E90",
+ "d_course_royal_raceway_packed_dl_4F20",
+ "d_course_royal_raceway_packed_dl_4F98",
+ "d_course_royal_raceway_packed_dl_5018",
+ "d_course_royal_raceway_packed_dl_50B0",
+ "d_course_royal_raceway_packed_dl_5138",
+ "d_course_royal_raceway_packed_dl_5B50",
+ "d_course_royal_raceway_packed_dl_5C00",
+ "d_course_royal_raceway_packed_dl_5D18",
+ "d_course_royal_raceway_packed_dl_5DC8",
+ "d_course_royal_raceway_packed_dl_5EF8",
+ "d_course_royal_raceway_packed_dl_5AA8",
+ "d_course_royal_raceway_packed_dl_56A0",
+ "d_course_royal_raceway_packed_dl_5740",
+ "d_course_royal_raceway_packed_dl_57F0",
+ "d_course_royal_raceway_packed_dl_58E8",
+ "d_course_royal_raceway_packed_dl_5990",
+ "d_course_royal_raceway_packed_dl_5A10",
+ "d_course_royal_raceway_packed_dl_4078",
+ "d_course_royal_raceway_packed_dl_4118",
+ "d_course_royal_raceway_packed_dl_41A8",
+ "d_course_royal_raceway_packed_dl_4298",
+ "d_course_royal_raceway_packed_dl_4350",
+ "d_course_royal_raceway_packed_dl_3FA8",
+ "d_course_royal_raceway_packed_dl_3B70",
+ "d_course_royal_raceway_packed_dl_3C18",
+ "d_course_royal_raceway_packed_dl_3CF0",
+ "d_course_royal_raceway_packed_dl_3DC0",
+ "d_course_royal_raceway_packed_dl_3E50",
+ "d_course_royal_raceway_packed_dl_3F18",
+ "d_course_royal_raceway_packed_dl_4400",
+ "d_course_royal_raceway_packed_dl_4A08",
+ "d_course_royal_raceway_packed_dl_4A80",
+ "d_course_royal_raceway_packed_dl_4B30",
+ "d_course_royal_raceway_packed_dl_4BC8",
+ "d_course_royal_raceway_packed_dl_4CC8",
+ "d_course_royal_raceway_packed_dl_4968",
+ "d_course_royal_raceway_packed_dl_44B0",
+ "d_course_royal_raceway_packed_dl_4538",
+ "d_course_royal_raceway_packed_dl_45E0",
+ "d_course_royal_raceway_packed_dl_46E0",
+ "d_course_royal_raceway_packed_dl_47C0",
+ "d_course_royal_raceway_packed_dl_4890",
+ "d_course_royal_raceway_packed_dl_1720",
+ "d_course_royal_raceway_packed_dl_16B8",
+ "d_course_royal_raceway_packed_dl_1640",
+ "d_course_royal_raceway_packed_dl_15D8",
+ "d_course_royal_raceway_packed_dl_1548",
+ "d_course_royal_raceway_packed_dl_14C8",
+ "d_course_royal_raceway_packed_dl_1450",
+ "d_course_royal_raceway_packed_dl_1788",
+ "d_course_royal_raceway_packed_dl_1AA0",
+ "d_course_royal_raceway_packed_dl_1A30",
+ "d_course_royal_raceway_packed_dl_19B0",
+ "d_course_royal_raceway_packed_dl_1940",
+ "d_course_royal_raceway_packed_dl_18D8",
+ "d_course_royal_raceway_packed_dl_1860",
+ "d_course_royal_raceway_packed_dl_17F8",
+ "d_course_royal_raceway_packed_dl_3218",
+ "d_course_royal_raceway_packed_dl_A870",
+ "d_course_royal_raceway_packed_dl_AA10",
+ "d_course_royal_raceway_packed_dl_AA90",
+ "d_course_royal_raceway_packed_dl_ACE0",
+ "d_course_royal_raceway_packed_dl_AE00",
+ "d_course_royal_raceway_packed_dl_AD78",
+ "d_course_royal_raceway_packed_dl_E88",
+ "d_course_royal_raceway_packed_dl_AB28",
+ "d_course_royal_raceway_packed_dl_67E8",
+ "d_course_royal_raceway_packed_dl_AC60",
+ "d_course_royal_raceway_packed_dl_A998",
+ "d_course_royal_raceway_packed_dl_A7D8",
+ "d_course_royal_raceway_packed_dl_AE70",
+ "d_course_royal_raceway_packed_dl_CE0",
+ "d_course_royal_raceway_packed_dl_ABA8",
+ "d_course_royal_raceway_packed_dl_55D0",
+ "d_course_royal_raceway_packed_dl_A8F8",
+ "d_course_royal_raceway_packed_dl_A7D8",
+ "d_course_royal_raceway_packed_dl_3B50",
+ "d_course_royal_raceway_packed_dl_1A8",
+ "d_course_royal_raceway_packed_dl_840",
+ "d_course_royal_raceway_packed_dl_C38",
+ "d_course_royal_raceway_packed_dl_A618"
+ ]
+ },
+ {
+ "file":"courses/royal_raceway/course_data.c",
+ "out_dir": "tracks/royal_raceway/preview",
+ "models": [
+ "d_course_royal_raceway_dl_D8E8"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/sherbet_land.json b/models/tracks/sherbet_land.json
new file mode 100644
index 000000000..2b9cdedbc
--- /dev/null
+++ b/models/tracks/sherbet_land.json
@@ -0,0 +1,202 @@
+[
+ {
+ "file": "courses/sherbet_land/course_data.c",
+ "out_dir": "tracks/sherbet_land/objects",
+ "models": [
+ "d_course_sherbet_land_dl_ice_block",
+ "d_course_sherbet_land_dl_8E00"
+ ]
+ },
+ {
+ "file": "courses/sherbet_land/course_data.c",
+ "out_dir": "tracks/sherbet_land/sections/list1",
+ "models": [
+ "d_course_sherbet_land_dl_0",
+ "d_course_sherbet_land_dl_158",
+ "d_course_sherbet_land_dl_C0",
+ "d_course_sherbet_land_dl_1A8",
+ "d_course_sherbet_land_dl_280",
+ "d_course_sherbet_land_dl_3B8",
+ "d_course_sherbet_land_dl_310",
+ "d_course_sherbet_land_dl_400",
+ "d_course_sherbet_land_dl_4E8",
+ "d_course_sherbet_land_dl_638",
+ "d_course_sherbet_land_dl_560",
+ "d_course_sherbet_land_dl_6A0",
+ "d_course_sherbet_land_dl_768",
+ "d_course_sherbet_land_dl_880",
+ "d_course_sherbet_land_dl_7A0",
+ "d_course_sherbet_land_dl_8E8",
+ "d_course_sherbet_land_dl_9A0",
+ "d_course_sherbet_land_dl_B08",
+ "d_course_sherbet_land_dl_A28",
+ "d_course_sherbet_land_dl_BC0",
+ "d_course_sherbet_land_dl_C88",
+ "d_course_sherbet_land_dl_DF0",
+ "d_course_sherbet_land_dl_D10",
+ "d_course_sherbet_land_dl_EC8",
+ "d_course_sherbet_land_dl_F68",
+ "d_course_sherbet_land_dl_10D8",
+ "d_course_sherbet_land_dl_1028",
+ "d_course_sherbet_land_dl_11C8",
+ "d_course_sherbet_land_dl_1238",
+ "d_course_sherbet_land_dl_1368",
+ "d_course_sherbet_land_dl_12F0",
+ "d_course_sherbet_land_dl_1440",
+ "d_course_sherbet_land_dl_1480",
+ "d_course_sherbet_land_dl_1508",
+ "d_course_sherbet_land_dl_14C0",
+ "d_course_sherbet_land_dl_1570",
+ "d_course_sherbet_land_dl_1598",
+ "d_course_sherbet_land_dl_1638",
+ "d_course_sherbet_land_dl_15F0",
+ "d_course_sherbet_land_dl_1698",
+ "d_course_sherbet_land_dl_16C0",
+ "d_course_sherbet_land_dl_1778",
+ "d_course_sherbet_land_dl_1730",
+ "d_course_sherbet_land_dl_17D8",
+ "d_course_sherbet_land_dl_1828",
+ "d_course_sherbet_land_dl_18E8",
+ "d_course_sherbet_land_dl_18A0",
+ "d_course_sherbet_land_dl_1920",
+ "d_course_sherbet_land_dl_19A0",
+ "d_course_sherbet_land_dl_1A58",
+ "d_course_sherbet_land_dl_19F0",
+ "d_course_sherbet_land_dl_1A90",
+ "d_course_sherbet_land_dl_1AF8",
+ "d_course_sherbet_land_dl_1BA8",
+ "d_course_sherbet_land_dl_1B50",
+ "d_course_sherbet_land_dl_1C20",
+ "d_course_sherbet_land_dl_1C48",
+ "d_course_sherbet_land_dl_1D60",
+ "d_course_sherbet_land_dl_1D08",
+ "d_course_sherbet_land_dl_1E10",
+ "d_course_sherbet_land_dl_1E88",
+ "d_course_sherbet_land_dl_2010",
+ "d_course_sherbet_land_dl_1F70",
+ "d_course_sherbet_land_dl_20D0",
+ "d_course_sherbet_land_dl_2190",
+ "d_course_sherbet_land_dl_22F8",
+ "d_course_sherbet_land_dl_2288",
+ "d_course_sherbet_land_dl_2370",
+ "d_course_sherbet_land_dl_2438",
+ "d_course_sherbet_land_dl_25A0",
+ "d_course_sherbet_land_dl_2530",
+ "d_course_sherbet_land_dl_25F8"
+ ]
+ },
+ {
+ "file": "courses/sherbet_land/course_data.c",
+ "out_dir": "tracks/sherbet_land/sections/list2",
+ "models": [
+ "d_course_sherbet_land_dl_26D0",
+ "d_course_sherbet_land_dl_28A0",
+ "d_course_sherbet_land_dl_27F0",
+ "d_course_sherbet_land_dl_2918",
+ "d_course_sherbet_land_dl_2A38",
+ "d_course_sherbet_land_dl_2BE0",
+ "d_course_sherbet_land_dl_2B08",
+ "d_course_sherbet_land_dl_2C58",
+ "d_course_sherbet_land_dl_2D78",
+ "d_course_sherbet_land_dl_2F48",
+ "d_course_sherbet_land_dl_2E28",
+ "d_course_sherbet_land_dl_2FE8",
+ "d_course_sherbet_land_dl_30E0",
+ "d_course_sherbet_land_dl_3260",
+ "d_course_sherbet_land_dl_3150",
+ "d_course_sherbet_land_dl_3320",
+ "d_course_sherbet_land_dl_33E0",
+ "d_course_sherbet_land_dl_35A8",
+ "d_course_sherbet_land_dl_3490",
+ "d_course_sherbet_land_dl_36A8",
+ "d_course_sherbet_land_dl_3770",
+ "d_course_sherbet_land_dl_3940",
+ "d_course_sherbet_land_dl_3840",
+ "d_course_sherbet_land_dl_3A50",
+ "d_course_sherbet_land_dl_3AE0",
+ "d_course_sherbet_land_dl_3C48",
+ "d_course_sherbet_land_dl_3BA8",
+ "d_course_sherbet_land_dl_3D40",
+ "d_course_sherbet_land_dl_3D98",
+ "d_course_sherbet_land_dl_3EB8",
+ "d_course_sherbet_land_dl_3E58",
+ "d_course_sherbet_land_dl_3FA0",
+ "d_course_sherbet_land_dl_3FC0",
+ "d_course_sherbet_land_dl_3FE8",
+ "d_course_sherbet_land_dl_3FD8",
+ "d_course_sherbet_land_dl_4000",
+ "d_course_sherbet_land_dl_4010",
+ "d_course_sherbet_land_dl_4020",
+ "d_course_sherbet_land_dl_4018",
+ "d_course_sherbet_land_dl_4028",
+ "d_course_sherbet_land_dl_4030",
+ "d_course_sherbet_land_dl_4040",
+ "d_course_sherbet_land_dl_4038",
+ "d_course_sherbet_land_dl_4048",
+ "d_course_sherbet_land_dl_4050",
+ "d_course_sherbet_land_dl_4060",
+ "d_course_sherbet_land_dl_4058",
+ "d_course_sherbet_land_dl_4068",
+ "d_course_sherbet_land_dl_4070",
+ "d_course_sherbet_land_dl_4080",
+ "d_course_sherbet_land_dl_4078",
+ "d_course_sherbet_land_dl_4088",
+ "d_course_sherbet_land_dl_4090",
+ "d_course_sherbet_land_dl_40A0",
+ "d_course_sherbet_land_dl_4098",
+ "d_course_sherbet_land_dl_40A8",
+ "d_course_sherbet_land_dl_40B0",
+ "d_course_sherbet_land_dl_41B8",
+ "d_course_sherbet_land_dl_4180",
+ "d_course_sherbet_land_dl_4280",
+ "d_course_sherbet_land_dl_42E0",
+ "d_course_sherbet_land_dl_4470",
+ "d_course_sherbet_land_dl_43C8",
+ "d_course_sherbet_land_dl_4570",
+ "d_course_sherbet_land_dl_4618",
+ "d_course_sherbet_land_dl_4798",
+ "d_course_sherbet_land_dl_4710",
+ "d_course_sherbet_land_dl_4868",
+ "d_course_sherbet_land_dl_4930",
+ "d_course_sherbet_land_dl_4A98",
+ "d_course_sherbet_land_dl_4A20",
+ "d_course_sherbet_land_dl_4B20"
+ ]
+ },
+ {
+ "file":"courses/sherbet_land/course_displaylists.inc.c",
+ "out_dir": "tracks/sherbet_land/collision_sections",
+ "models": [
+ "d_course_sherbet_land_packed_dl_1B20",
+ "d_course_sherbet_land_packed_dl_1A98",
+ "d_course_sherbet_land_packed_dl_1A18",
+ "d_course_sherbet_land_packed_dl_1998",
+ "d_course_sherbet_land_packed_dl_1C50",
+ "d_course_sherbet_land_packed_dl_1E40",
+ "d_course_sherbet_land_packed_dl_1DC0",
+ "d_course_sherbet_land_packed_dl_730",
+ "d_course_sherbet_land_packed_dl_5D0",
+ "d_course_sherbet_land_packed_dl_470",
+ "d_course_sherbet_land_packed_dl_348",
+ "d_course_sherbet_land_packed_dl_858",
+ "d_course_sherbet_land_packed_dl_9A0",
+ "d_course_sherbet_land_packed_dl_B00",
+ "d_course_sherbet_land_packed_dl_C30",
+ "d_course_sherbet_land_packed_dl_1D48",
+ "d_course_sherbet_land_packed_dl_1CD8",
+ "d_course_sherbet_land_packed_dl_1BE0",
+ "d_course_sherbet_land_packed_dl_1940",
+ "d_course_sherbet_land_packed_dl_EA0",
+ "d_course_sherbet_land_packed_dl_1450",
+ "d_course_sherbet_land_packed_dl_2738",
+ "d_course_sherbet_land_packed_dl_2798"
+ ]
+ },
+ {
+ "file":"courses/sherbet_land/course_data.c",
+ "out_dir": "tracks/sherbet_land/preview",
+ "models": [
+ "d_course_sherbet_land_dl_9AE8"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/toads_turnpike.json b/models/tracks/toads_turnpike.json
new file mode 100644
index 000000000..3e33c3e3b
--- /dev/null
+++ b/models/tracks/toads_turnpike.json
@@ -0,0 +1,116 @@
+[
+ {
+ "file": "courses/toads_turnpike/course_data.c",
+ "out_dir": "tracks/toads_turnpike/objects",
+ "models": [
+ "d_course_toads_turnpike_dl_19020",
+ "d_course_toads_turnpike_dl_19518",
+ "d_course_toads_turnpike_dl_19DF0",
+ "d_course_toads_turnpike_dl_1A068",
+ "d_course_toads_turnpike_dl_1A5F8",
+ "d_course_toads_turnpike_dl_1A6C8",
+ "d_course_toads_turnpike_dl_1B778",
+ "d_course_toads_turnpike_dl_1BE48",
+ "d_course_toads_turnpike_dl_1C700",
+ "d_course_toads_turnpike_dl_1CAA8",
+ "d_course_toads_turnpike_dl_1CE70",
+ "d_course_toads_turnpike_dl_1D018",
+ "d_course_toads_turnpike_dl_1E458",
+ "d_course_toads_turnpike_dl_1EB48",
+ "d_course_toads_turnpike_dl_1F9D0",
+ "d_course_toads_turnpike_dl_20008",
+ "d_course_toads_turnpike_dl_20510",
+ "d_course_toads_turnpike_dl_205A8",
+ "d_course_toads_turnpike_dl_21780",
+ "d_course_toads_turnpike_dl_21E28",
+ "d_course_toads_turnpike_dl_22BA0",
+ "d_course_toads_turnpike_dl_23078",
+ "d_course_toads_turnpike_dl_237F8",
+ "d_course_toads_turnpike_dl_23848",
+ "d_course_toads_turnpike_dl_23858",
+ "d_course_toads_turnpike_dl_238A0",
+ "d_course_toads_turnpike_dl_238E8"
+ ]
+ },
+ {
+ "file": "courses/toads_turnpike/course_data.c",
+ "out_dir": "tracks/toads_turnpike/sections",
+ "models": [
+ "d_course_toads_turnpike_dl_80", "d_course_toads_turnpike_dl_1F8",
+ "d_course_toads_turnpike_dl_158", "d_course_toads_turnpike_dl_2D0",
+ "d_course_toads_turnpike_dl_380", "d_course_toads_turnpike_dl_4E8",
+ "d_course_toads_turnpike_dl_438", "d_course_toads_turnpike_dl_5B8",
+ "d_course_toads_turnpike_dl_668", "d_course_toads_turnpike_dl_7D8",
+ "d_course_toads_turnpike_dl_718", "d_course_toads_turnpike_dl_878",
+ "d_course_toads_turnpike_dl_948", "d_course_toads_turnpike_dl_AC8",
+ "d_course_toads_turnpike_dl_9F0", "d_course_toads_turnpike_dl_B88",
+ "d_course_toads_turnpike_dl_C70", "d_course_toads_turnpike_dl_DD0",
+ "d_course_toads_turnpike_dl_D00", "d_course_toads_turnpike_dl_E70",
+ "d_course_toads_turnpike_dl_F18", "d_course_toads_turnpike_dl_1070",
+ "d_course_toads_turnpike_dl_FA8", "d_course_toads_turnpike_dl_1118",
+ "d_course_toads_turnpike_dl_11C0", "d_course_toads_turnpike_dl_1310",
+ "d_course_toads_turnpike_dl_1250", "d_course_toads_turnpike_dl_13E0",
+ "d_course_toads_turnpike_dl_1468", "d_course_toads_turnpike_dl_15A8",
+ "d_course_toads_turnpike_dl_1510", "d_course_toads_turnpike_dl_1678",
+ "d_course_toads_turnpike_dl_1708", "d_course_toads_turnpike_dl_18C0",
+ "d_course_toads_turnpike_dl_17F8", "d_course_toads_turnpike_dl_19C0",
+ "d_course_toads_turnpike_dl_1A60", "d_course_toads_turnpike_dl_1C10",
+ "d_course_toads_turnpike_dl_1B50", "d_course_toads_turnpike_dl_1D18",
+ "d_course_toads_turnpike_dl_1DC0", "d_course_toads_turnpike_dl_1F40",
+ "d_course_toads_turnpike_dl_1E80", "d_course_toads_turnpike_dl_2030",
+ "d_course_toads_turnpike_dl_20F8", "d_course_toads_turnpike_dl_22A8",
+ "d_course_toads_turnpike_dl_21C8", "d_course_toads_turnpike_dl_2358",
+ "d_course_toads_turnpike_dl_2440", "d_course_toads_turnpike_dl_2628",
+ "d_course_toads_turnpike_dl_2530", "d_course_toads_turnpike_dl_26D8",
+ "d_course_toads_turnpike_dl_27D0", "d_course_toads_turnpike_dl_2960",
+ "d_course_toads_turnpike_dl_2898", "d_course_toads_turnpike_dl_2A00",
+ "d_course_toads_turnpike_dl_2AF0", "d_course_toads_turnpike_dl_2C38",
+ "d_course_toads_turnpike_dl_2B88", "d_course_toads_turnpike_dl_2CC0",
+ "d_course_toads_turnpike_dl_2DB8", "d_course_toads_turnpike_dl_2EF0",
+ "d_course_toads_turnpike_dl_2E50", "d_course_toads_turnpike_dl_2F78",
+ "d_course_toads_turnpike_dl_3030", "d_course_toads_turnpike_dl_3190",
+ "d_course_toads_turnpike_dl_30F8", "d_course_toads_turnpike_dl_3228",
+ "d_course_toads_turnpike_dl_32F0", "d_course_toads_turnpike_dl_3438",
+ "d_course_toads_turnpike_dl_33A0", "d_course_toads_turnpike_dl_34D0",
+ "d_course_toads_turnpike_dl_3570", "d_course_toads_turnpike_dl_36A8",
+ "d_course_toads_turnpike_dl_3618", "d_course_toads_turnpike_dl_3758",
+ "d_course_toads_turnpike_dl_37F0", "d_course_toads_turnpike_dl_39C8",
+ "d_course_toads_turnpike_dl_3910", "d_course_toads_turnpike_dl_3AD8"
+ ]
+ },
+ {
+ "file":"courses/toads_turnpike/course_displaylists.inc.c",
+ "out_dir": "tracks/toads_turnpike/collision_sections",
+ "models": [
+ "d_course_toads_turnpike_packed_dl_32A0",
+ "d_course_toads_turnpike_packed_dl_33A8",
+ "d_course_toads_turnpike_packed_dl_3478",
+ "d_course_toads_turnpike_packed_dl_3548",
+ "d_course_toads_turnpike_packed_dl_31E8",
+ "d_course_toads_turnpike_packed_dl_2E40",
+ "d_course_toads_turnpike_packed_dl_2EE0",
+ "d_course_toads_turnpike_packed_dl_2FA0",
+ "d_course_toads_turnpike_packed_dl_3060",
+ "d_course_toads_turnpike_packed_dl_3118",
+ "d_course_toads_turnpike_packed_dl_3638",
+ "d_course_toads_turnpike_packed_dl_3AD0",
+ "d_course_toads_turnpike_packed_dl_3B58",
+ "d_course_toads_turnpike_packed_dl_3C28",
+ "d_course_toads_turnpike_packed_dl_3D00",
+ "d_course_toads_turnpike_packed_dl_39A8",
+ "d_course_toads_turnpike_packed_dl_36C0",
+ "d_course_toads_turnpike_packed_dl_3780",
+ "d_course_toads_turnpike_packed_dl_3850",
+ "d_course_toads_turnpike_packed_dl_38E8",
+ "d_course_toads_turnpike_packed_dl_FA8",
+ "d_course_toads_turnpike_packed_dl_51C8"
+ ]
+ },
+ {
+ "file":"courses/toads_turnpike/course_data.c",
+ "out_dir": "tracks/toads_turnpike/preview",
+ "models": [
+ "d_course_toads_turnpike_dl_23930"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/wario_stadium.json b/models/tracks/wario_stadium.json
new file mode 100644
index 000000000..724d2f96b
--- /dev/null
+++ b/models/tracks/wario_stadium.json
@@ -0,0 +1,167 @@
+[
+ {
+ "file": "courses/wario_stadium/course_data.c",
+ "out_dir": "tracks/wario_stadium/objects",
+ "models": [
+ "d_course_wario_stadium_dl_sign"
+ ]
+ },
+ {
+ "file": "courses/wario_stadium/course_data.c",
+ "out_dir": "tracks/wario_stadium/sections",
+ "models":[
+ "d_course_wario_stadium_dl_0",
+ "d_course_wario_stadium_dl_158",
+ "d_course_wario_stadium_dl_B8",
+ "d_course_wario_stadium_dl_1B8",
+ "d_course_wario_stadium_dl_2A0",
+ "d_course_wario_stadium_dl_440",
+ "d_course_wario_stadium_dl_350",
+ "d_course_wario_stadium_dl_4C0",
+ "d_course_wario_stadium_dl_5E8",
+ "d_course_wario_stadium_dl_798",
+ "d_course_wario_stadium_dl_668",
+ "d_course_wario_stadium_dl_830",
+ "d_course_wario_stadium_dl_940",
+ "d_course_wario_stadium_dl_AB0",
+ "d_course_wario_stadium_dl_990",
+ "d_course_wario_stadium_dl_B60",
+ "d_course_wario_stadium_dl_C08",
+ "d_course_wario_stadium_dl_D60",
+ "d_course_wario_stadium_dl_C70",
+ "d_course_wario_stadium_dl_E30",
+ "d_course_wario_stadium_dl_ED0",
+ "d_course_wario_stadium_dl_1068",
+ "d_course_wario_stadium_dl_F70",
+ "d_course_wario_stadium_dl_1158",
+ "d_course_wario_stadium_dl_11F8",
+ "d_course_wario_stadium_dl_13C0",
+ "d_course_wario_stadium_dl_12E0",
+ "d_course_wario_stadium_dl_14A0",
+ "d_course_wario_stadium_dl_1590",
+ "d_course_wario_stadium_dl_1708",
+ "d_course_wario_stadium_dl_1630",
+ "d_course_wario_stadium_dl_17A8",
+ "d_course_wario_stadium_dl_1868",
+ "d_course_wario_stadium_dl_19E0",
+ "d_course_wario_stadium_dl_1908",
+ "d_course_wario_stadium_dl_1AB8",
+ "d_course_wario_stadium_dl_1B48",
+ "d_course_wario_stadium_dl_1CA8",
+ "d_course_wario_stadium_dl_1BB0",
+ "d_course_wario_stadium_dl_1D68",
+ "d_course_wario_stadium_dl_1DF8",
+ "d_course_wario_stadium_dl_1FD8",
+ "d_course_wario_stadium_dl_1E70",
+ "d_course_wario_stadium_dl_20A8",
+ "d_course_wario_stadium_dl_21A8",
+ "d_course_wario_stadium_dl_2308",
+ "d_course_wario_stadium_dl_2218",
+ "d_course_wario_stadium_dl_23B0",
+ "d_course_wario_stadium_dl_2490",
+ "d_course_wario_stadium_dl_2610",
+ "d_course_wario_stadium_dl_2530",
+ "d_course_wario_stadium_dl_2698",
+ "d_course_wario_stadium_dl_2798",
+ "d_course_wario_stadium_dl_2928",
+ "d_course_wario_stadium_dl_2870",
+ "d_course_wario_stadium_dl_29D0",
+ "d_course_wario_stadium_dl_2AB0",
+ "d_course_wario_stadium_dl_2C30",
+ "d_course_wario_stadium_dl_2B60",
+ "d_course_wario_stadium_dl_2CE0",
+ "d_course_wario_stadium_dl_2DC0",
+ "d_course_wario_stadium_dl_2FB8",
+ "d_course_wario_stadium_dl_2E70",
+ "d_course_wario_stadium_dl_3098",
+ "d_course_wario_stadium_dl_31B0",
+ "d_course_wario_stadium_dl_3368",
+ "d_course_wario_stadium_dl_3260",
+ "d_course_wario_stadium_dl_3450",
+ "d_course_wario_stadium_dl_3550",
+ "d_course_wario_stadium_dl_36D8",
+ "d_course_wario_stadium_dl_3600",
+ "d_course_wario_stadium_dl_37A8",
+ "d_course_wario_stadium_dl_3890",
+ "d_course_wario_stadium_dl_3A10",
+ "d_course_wario_stadium_dl_3980",
+ "d_course_wario_stadium_dl_3AD0",
+ "d_course_wario_stadium_dl_3BB0",
+ "d_course_wario_stadium_dl_3D90",
+ "d_course_wario_stadium_dl_3CF8",
+ "d_course_wario_stadium_dl_3E80",
+ "d_course_wario_stadium_dl_3F78",
+ "d_course_wario_stadium_dl_40F0",
+ "d_course_wario_stadium_dl_4060",
+ "d_course_wario_stadium_dl_41D0",
+ "d_course_wario_stadium_dl_4270",
+ "d_course_wario_stadium_dl_43E0",
+ "d_course_wario_stadium_dl_4340",
+ "d_course_wario_stadium_dl_44B0",
+ "d_course_wario_stadium_dl_4550",
+ "d_course_wario_stadium_dl_47F0",
+ "d_course_wario_stadium_dl_46E0",
+ "d_course_wario_stadium_dl_4948",
+ "d_course_wario_stadium_dl_4A78",
+ "d_course_wario_stadium_dl_4BE8",
+ "d_course_wario_stadium_dl_4B30",
+ "d_course_wario_stadium_dl_4C60",
+ "d_course_wario_stadium_dl_4D40",
+ "d_course_wario_stadium_dl_4EF0",
+ "d_course_wario_stadium_dl_4E30",
+ "d_course_wario_stadium_dl_4F80",
+ "d_course_wario_stadium_dl_5090",
+ "d_course_wario_stadium_dl_51E8",
+ "d_course_wario_stadium_dl_5168",
+ "d_course_wario_stadium_dl_5270",
+ "d_course_wario_stadium_dl_5338",
+ "d_course_wario_stadium_dl_54E8",
+ "d_course_wario_stadium_dl_5460",
+ "d_course_wario_stadium_dl_5588"
+ ]
+ },
+ {
+ "file":"courses/wario_stadium/course_displaylists.inc.c",
+ "out_dir": "tracks/wario_stadium/collision_sections",
+ "models": [
+ "d_course_wario_stadium_packed_dl_8D28",
+ "d_course_wario_stadium_packed_dl_8DE8",
+ "d_course_wario_stadium_packed_dl_8EF0",
+ "d_course_wario_stadium_packed_dl_8FC8",
+ "d_course_wario_stadium_packed_dl_9090",
+ "d_course_wario_stadium_packed_dl_9120",
+ "d_course_wario_stadium_packed_dl_8C28",
+ "d_course_wario_stadium_packed_dl_85F0",
+ "d_course_wario_stadium_packed_dl_8678",
+ "d_course_wario_stadium_packed_dl_8708",
+ "d_course_wario_stadium_packed_dl_8798",
+ "d_course_wario_stadium_packed_dl_88A0",
+ "d_course_wario_stadium_packed_dl_8A68",
+ "d_course_wario_stadium_packed_dl_91E8",
+ "d_course_wario_stadium_packed_dl_98A0",
+ "d_course_wario_stadium_packed_dl_9998",
+ "d_course_wario_stadium_packed_dl_9AD8",
+ "d_course_wario_stadium_packed_dl_9C80",
+ "d_course_wario_stadium_packed_dl_9D00",
+ "d_course_wario_stadium_packed_dl_9D78",
+ "d_course_wario_stadium_packed_dl_9820",
+ "d_course_wario_stadium_packed_dl_9328",
+ "d_course_wario_stadium_packed_dl_93B0",
+ "d_course_wario_stadium_packed_dl_9430",
+ "d_course_wario_stadium_packed_dl_9590",
+ "d_course_wario_stadium_packed_dl_9668",
+ "d_course_wario_stadium_packed_dl_9760",
+ "d_course_wario_stadium_packed_dl_6D20",
+ "d_course_wario_stadium_packed_dl_8510",
+ "d_course_wario_stadium_packed_dl_5D90",
+ "d_course_wario_stadium_packed_dl_9F18"
+ ]
+ },
+ {
+ "file":"courses/wario_stadium/course_data.c",
+ "out_dir": "tracks/wario_stadium/preview",
+ "models": [
+ "d_course_wario_stadium_dl_CA78"
+ ]
+ }
+] \ No newline at end of file
diff --git a/models/tracks/yoshi_valley.json b/models/tracks/yoshi_valley.json
new file mode 100644
index 000000000..f712e1825
--- /dev/null
+++ b/models/tracks/yoshi_valley.json
@@ -0,0 +1,151 @@
+[
+ {
+ "file": "courses/yoshi_valley/course_data.c",
+ "out_dir": "tracks/yoshi_valley/objects",
+ "models": [
+ "d_course_yoshi_valley_dl_142C0",
+ "d_course_yoshi_valley_dl_143C8",
+ "d_course_yoshi_valley_dl_144A8",
+ "d_course_yoshi_valley_dl_14500",
+ "d_course_yoshi_valley_dl_14558",
+ "d_course_yoshi_valley_dl_145D0",
+ "d_course_yoshi_valley_dl_tree",
+ "d_course_yoshi_valley_dl_16D70",
+ "d_course_yoshi_valley_dl_egg_lod0"
+ ]
+ },
+ {
+ "file": "courses/yoshi_valley/course_data.c",
+ "out_dir": "tracks/yoshi_valley/sections",
+ "models": [
+ "d_course_yoshi_valley_dl_40", "d_course_yoshi_valley_dl_3F0",
+ "d_course_yoshi_valley_dl_290", "d_course_yoshi_valley_dl_4E8",
+ "d_course_yoshi_valley_dl_7A0", "d_course_yoshi_valley_dl_BC0",
+ "d_course_yoshi_valley_dl_9C8", "d_course_yoshi_valley_dl_CC0",
+ "d_course_yoshi_valley_dl_FA0", "d_course_yoshi_valley_dl_13F8",
+ "d_course_yoshi_valley_dl_1178", "d_course_yoshi_valley_dl_14D0",
+ "d_course_yoshi_valley_dl_17A8", "d_course_yoshi_valley_dl_1C38",
+ "d_course_yoshi_valley_dl_1968", "d_course_yoshi_valley_dl_1D48",
+ "d_course_yoshi_valley_dl_2000", "d_course_yoshi_valley_dl_2408",
+ "d_course_yoshi_valley_dl_21B0", "d_course_yoshi_valley_dl_25E8",
+ "d_course_yoshi_valley_dl_2840", "d_course_yoshi_valley_dl_2BC0",
+ "d_course_yoshi_valley_dl_2978", "d_course_yoshi_valley_dl_2D70",
+ "d_course_yoshi_valley_dl_2F48", "d_course_yoshi_valley_dl_3258",
+ "d_course_yoshi_valley_dl_3078", "d_course_yoshi_valley_dl_3420",
+ "d_course_yoshi_valley_dl_3560", "d_course_yoshi_valley_dl_3880",
+ "d_course_yoshi_valley_dl_36D0", "d_course_yoshi_valley_dl_3A38",
+ "d_course_yoshi_valley_dl_3BA0", "d_course_yoshi_valley_dl_3E30",
+ "d_course_yoshi_valley_dl_3D20", "d_course_yoshi_valley_dl_3F88",
+ "d_course_yoshi_valley_dl_40B8", "d_course_yoshi_valley_dl_44C8",
+ "d_course_yoshi_valley_dl_4320", "d_course_yoshi_valley_dl_4718",
+ "d_course_yoshi_valley_dl_48C0", "d_course_yoshi_valley_dl_4C28",
+ "d_course_yoshi_valley_dl_4A98", "d_course_yoshi_valley_dl_4E60",
+ "d_course_yoshi_valley_dl_5018", "d_course_yoshi_valley_dl_53E0",
+ "d_course_yoshi_valley_dl_51D0", "d_course_yoshi_valley_dl_5638",
+ "d_course_yoshi_valley_dl_5778", "d_course_yoshi_valley_dl_5A80",
+ "d_course_yoshi_valley_dl_5890", "d_course_yoshi_valley_dl_5C70",
+ "d_course_yoshi_valley_dl_5D60", "d_course_yoshi_valley_dl_6070",
+ "d_course_yoshi_valley_dl_5ED8", "d_course_yoshi_valley_dl_6268",
+ "d_course_yoshi_valley_dl_6358", "d_course_yoshi_valley_dl_66B0",
+ "d_course_yoshi_valley_dl_6530", "d_course_yoshi_valley_dl_68C8",
+ "d_course_yoshi_valley_dl_69C0", "d_course_yoshi_valley_dl_6D78",
+ "d_course_yoshi_valley_dl_6BF0", "d_course_yoshi_valley_dl_6FB8",
+ "d_course_yoshi_valley_dl_7100", "d_course_yoshi_valley_dl_7400",
+ "d_course_yoshi_valley_dl_7310", "d_course_yoshi_valley_dl_75C8",
+ "d_course_yoshi_valley_dl_7770", "d_course_yoshi_valley_dl_7A08",
+ "d_course_yoshi_valley_dl_7938", "d_course_yoshi_valley_dl_7BB8",
+ "d_course_yoshi_valley_dl_7CE8", "d_course_yoshi_valley_dl_8030",
+ "d_course_yoshi_valley_dl_7F80", "d_course_yoshi_valley_dl_8218",
+ "d_course_yoshi_valley_dl_8420", "d_course_yoshi_valley_dl_8830",
+ "d_course_yoshi_valley_dl_8710", "d_course_yoshi_valley_dl_8958",
+ "d_course_yoshi_valley_dl_8C30", "d_course_yoshi_valley_dl_8FD8",
+ "d_course_yoshi_valley_dl_8D58", "d_course_yoshi_valley_dl_91D8",
+ "d_course_yoshi_valley_dl_9340", "d_course_yoshi_valley_dl_9780",
+ "d_course_yoshi_valley_dl_9548", "d_course_yoshi_valley_dl_9A00",
+ "d_course_yoshi_valley_dl_9BB0", "d_course_yoshi_valley_dl_9F70",
+ "d_course_yoshi_valley_dl_9DB8", "d_course_yoshi_valley_dl_A188",
+ "d_course_yoshi_valley_dl_A328", "d_course_yoshi_valley_dl_A6B8",
+ "d_course_yoshi_valley_dl_A518", "d_course_yoshi_valley_dl_A8A0",
+ "d_course_yoshi_valley_dl_AAC0", "d_course_yoshi_valley_dl_AE78",
+ "d_course_yoshi_valley_dl_ACF0", "d_course_yoshi_valley_dl_AFF8",
+ "d_course_yoshi_valley_dl_B220", "d_course_yoshi_valley_dl_B578",
+ "d_course_yoshi_valley_dl_B428", "d_course_yoshi_valley_dl_B778",
+ "d_course_yoshi_valley_dl_B970", "d_course_yoshi_valley_dl_BC98",
+ "d_course_yoshi_valley_dl_BAF8", "d_course_yoshi_valley_dl_BE18",
+ "d_course_yoshi_valley_dl_BFC8", "d_course_yoshi_valley_dl_C2D8",
+ "d_course_yoshi_valley_dl_C140", "d_course_yoshi_valley_dl_C470",
+ "d_course_yoshi_valley_dl_C580", "d_course_yoshi_valley_dl_C728",
+ "d_course_yoshi_valley_dl_C668", "d_course_yoshi_valley_dl_C838",
+ "d_course_yoshi_valley_dl_C8F8", "d_course_yoshi_valley_dl_CC80",
+ "d_course_yoshi_valley_dl_CAD8", "d_course_yoshi_valley_dl_CEC8",
+ "d_course_yoshi_valley_dl_D018", "d_course_yoshi_valley_dl_D3D0",
+ "d_course_yoshi_valley_dl_D1E8", "d_course_yoshi_valley_dl_D540"
+ ]
+ },
+ {
+ "file":"courses/yoshi_valley/course_displaylists.inc.c",
+ "out_dir": "tracks/yoshi_valley/collision_sections",
+ "models": [
+ "d_course_yoshi_valley_packed_dl_44C8",
+ "d_course_yoshi_valley_packed_dl_4588",
+ "d_course_yoshi_valley_packed_dl_45F0",
+ "d_course_yoshi_valley_packed_dl_4670",
+ "d_course_yoshi_valley_packed_dl_46E0",
+ "d_course_yoshi_valley_packed_dl_4810",
+ "d_course_yoshi_valley_packed_dl_4428",
+ "d_course_yoshi_valley_packed_dl_3E08",
+ "d_course_yoshi_valley_packed_dl_3F10",
+ "d_course_yoshi_valley_packed_dl_3FF0",
+ "d_course_yoshi_valley_packed_dl_4108",
+ "d_course_yoshi_valley_packed_dl_41B0",
+ "d_course_yoshi_valley_packed_dl_4258",
+ "d_course_yoshi_valley_packed_dl_4358",
+ "d_course_yoshi_valley_packed_dl_4918",
+ "d_course_yoshi_valley_packed_dl_4FD0",
+ "d_course_yoshi_valley_packed_dl_5058",
+ "d_course_yoshi_valley_packed_dl_1418",
+ "d_course_yoshi_valley_packed_dl_50E0",
+ "d_course_yoshi_valley_packed_dl_5158",
+ "d_course_yoshi_valley_packed_dl_51D8",
+ "d_course_yoshi_valley_packed_dl_52D8",
+ "d_course_yoshi_valley_packed_dl_4F48",
+ "d_course_yoshi_valley_packed_dl_49C0",
+ "d_course_yoshi_valley_packed_dl_4A58",
+ "d_course_yoshi_valley_packed_dl_4B20",
+ "d_course_yoshi_valley_packed_dl_4C18",
+ "d_course_yoshi_valley_packed_dl_4CB0",
+ "d_course_yoshi_valley_packed_dl_1580",
+ "d_course_yoshi_valley_packed_dl_4D68",
+ "d_course_yoshi_valley_packed_dl_4E88",
+ "d_course_yoshi_valley_packed_dl_5788",
+ "d_course_yoshi_valley_packed_dl_5800",
+ "d_course_yoshi_valley_packed_dl_5880",
+ "d_course_yoshi_valley_packed_dl_58F8",
+ "d_course_yoshi_valley_packed_dl_5710",
+ "d_course_yoshi_valley_packed_dl_54B0",
+ "d_course_yoshi_valley_packed_dl_5548",
+ "d_course_yoshi_valley_packed_dl_55C0",
+ "d_course_yoshi_valley_packed_dl_5628",
+ "d_course_yoshi_valley_packed_dl_56A0",
+ "d_course_yoshi_valley_packed_dl_5970",
+ "d_course_yoshi_valley_packed_dl_5C80",
+ "d_course_yoshi_valley_packed_dl_5D00",
+ "d_course_yoshi_valley_packed_dl_5D90",
+ "d_course_yoshi_valley_packed_dl_5DF8",
+ "d_course_yoshi_valley_packed_dl_5C18",
+ "d_course_yoshi_valley_packed_dl_59F0",
+ "d_course_yoshi_valley_packed_dl_75D0",
+ "d_course_yoshi_valley_packed_dl_3010",
+ "d_course_yoshi_valley_packed_dl_8050",
+ "d_course_yoshi_valley_packed_dl_13D8",
+ "d_course_yoshi_valley_packed_dl_D20"
+ ]
+ },
+ {
+ "file":"courses/yoshi_valley/course_data.c",
+ "out_dir": "tracks/yoshi_valley/preview",
+ "models": [
+ "d_course_yoshi_valley_dl_18020"
+ ]
+ }
+] \ No newline at end of file