From 81ab3af9cf67182078e2f8b898fa4defc1ef59e3 Mon Sep 17 00:00:00 2001 From: coco875 <59367621+coco875@users.noreply.github.com> Date: Sun, 18 Aug 2024 13:59:52 -0400 Subject: [PATCH] fix compilation issue and add some model to extract --- Makefile | 3 + include/PR/ultratypes.h | 1 + models/banshee_boardwalk/models.json | 56 +++++++++++- models/bowsers_castle/models.json | 44 +++++++++- models/choco_mountain/models.json | 78 +++++++++++++++- models/dks_jungle_parkway/models.json | 122 +++++++++++++++++++++++++- models/frappe_snowland/models.json | 55 +++++++++++- models/kalimari_desert/models.json | 109 ++++++++++++++++++++++- models/koopa_troopa_beach/models.json | 115 +++++++++++++++++++++++- models/luigi_raceway/models.json | 120 ++++++++++++++++++++++++- models/mario_raceway/models.json | 7 +- models/moo_moo_farm/models.json | 7 +- models/rainbow_road/models.json | 7 +- models/royal_raceway/models.json | 7 +- models/sherbet_land/models.json | 9 +- models/toads_turnpike/models.json | 7 +- models/wario_stadium/models.json | 7 +- models/yoshi_valley/models.json | 7 +- src/code_80005FD0.c | 6 +- src/racing/render_courses.c | 8 +- tools/blender/blender_export.py | 67 ++++---------- tools/blender/fast64_run.py | 11 ++- 22 files changed, 774 insertions(+), 79 deletions(-) diff --git a/Makefile b/Makefile index 71ee2e7cd..5242fcfb4 100644 --- a/Makefile +++ b/Makefile @@ -597,6 +597,9 @@ LDFLAGS += $(foreach elf,$(COURSE_DATA_ELFS),-R $(elf)) COURSE_DATA_TARGETS := $(foreach dir,$(COURSE_DIRS),$(BUILD_DIR)/$(dir)/course_data.mio0.o) +COURSE_DISPLAYLIST_OFILES := $(foreach dir,$(COURSE_DIRS),$(BUILD_DIR)/$(dir)/course_data.o) +$(COURSE_DISPLAYLIST_OFILES): $(BUILD_DIR)/%/course_data.o: %/course_textures.linkonly.h + %/course_data.elf: %/course_data.o %/course_displaylists.inc.elf $(V)$(LD) -t -e 0 -Ttext=06000000 -Map $@.map -R $*/course_displaylists.inc.elf -o $@ $< --no-check-sections diff --git a/include/PR/ultratypes.h b/include/PR/ultratypes.h index 3bcef2544..7ed604e92 100644 --- a/include/PR/ultratypes.h +++ b/include/PR/ultratypes.h @@ -43,6 +43,7 @@ typedef s32 intptr_t; typedef s32 ptrdiff_t; #else #include +#include typedef ptrdiff_t ssize_t; #endif diff --git a/models/banshee_boardwalk/models.json b/models/banshee_boardwalk/models.json index f6b7334e8..d75f17090 100644 --- a/models/banshee_boardwalk/models.json +++ b/models/banshee_boardwalk/models.json @@ -10,7 +10,7 @@ }, { "file": "courses/banshee_boardwalk/course_data.c", - "out_dir": "banshee_boardwalk/segments", + "out_dir": "banshee_boardwalk/sections", "models": [ "d_course_banshee_boardwalk_dl_A0", "d_course_banshee_boardwalk_dl_210", @@ -113,5 +113,59 @@ "d_course_banshee_boardwalk_dl_43A8", "d_course_banshee_boardwalk_dl_4480" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "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" + ] } ] \ No newline at end of file diff --git a/models/bowsers_castle/models.json b/models/bowsers_castle/models.json index 3bdd46670..a9890a7e2 100644 --- a/models/bowsers_castle/models.json +++ b/models/bowsers_castle/models.json @@ -9,7 +9,7 @@ }, { "file": "courses/bowsers_castle/course_data.c", - "out_dir": "bowsers_castle/segments", + "out_dir": "bowsers_castle/sections", "models": [ "d_course_bowsers_castle_dl_0", "d_course_bowsers_castle_dl_230", @@ -120,5 +120,47 @@ "d_course_bowsers_castle_dl_4C00", "d_course_bowsers_castle_dl_4EA8" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/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" + ] } ] \ No newline at end of file diff --git a/models/choco_mountain/models.json b/models/choco_mountain/models.json index cc272ce62..10cc169c5 100644 --- a/models/choco_mountain/models.json +++ b/models/choco_mountain/models.json @@ -8,7 +8,7 @@ }, { "file": "courses/choco_mountain/course_data.c", - "out_dir": "choco_mountain/segments", + "out_dir": "choco_mountain/sections", "models": [ "d_course_choco_mountain_dl_0", "d_course_choco_mountain_dl_150", @@ -107,5 +107,81 @@ "d_course_choco_mountain_dl_41F8", "d_course_choco_mountain_dl_43C8" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/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" + ] } ] \ No newline at end of file diff --git a/models/dks_jungle_parkway/models.json b/models/dks_jungle_parkway/models.json index 5df3d433a..38c46538a 100644 --- a/models/dks_jungle_parkway/models.json +++ b/models/dks_jungle_parkway/models.json @@ -17,7 +17,7 @@ { "file": "courses/dks_jungle_parkway/course_data.c", - "out_dir": "dks_jungle_parkway/segments", + "out_dir": "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", @@ -72,5 +72,125 @@ "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/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/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" + ] } ] \ No newline at end of file diff --git a/models/frappe_snowland/models.json b/models/frappe_snowland/models.json index f18623293..a715dd1e0 100644 --- a/models/frappe_snowland/models.json +++ b/models/frappe_snowland/models.json @@ -8,7 +8,7 @@ }, { "file": "courses/frappe_snowland/course_data.c", - "out_dir": "frappe_snowland/segments", + "out_dir": "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", @@ -45,5 +45,58 @@ "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/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/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" + ] } ] \ No newline at end of file diff --git a/models/kalimari_desert/models.json b/models/kalimari_desert/models.json index 80992a905..8952fed08 100644 --- a/models/kalimari_desert/models.json +++ b/models/kalimari_desert/models.json @@ -30,7 +30,7 @@ }, { "file": "courses/kalimari_desert/course_data.c", - "out_dir": "kalimari_desert/segments", + "out_dir": "kalimari_desert/sections", "models": [ "d_course_kalimari_desert_dl_0", "d_course_kalimari_desert_dl_258", @@ -113,5 +113,112 @@ "d_course_kalimari_desert_dl_66F0", "d_course_kalimari_desert_dl_6940" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/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" + ] } ] \ No newline at end of file diff --git a/models/koopa_troopa_beach/models.json b/models/koopa_troopa_beach/models.json index 25eefb29f..77d9f2e46 100644 --- a/models/koopa_troopa_beach/models.json +++ b/models/koopa_troopa_beach/models.json @@ -14,7 +14,7 @@ }, { "file": "courses/koopa_troopa_beach/course_data.c", - "out_dir": "koopa_troopa_beach/segments/list2", + "out_dir": "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", @@ -94,7 +94,7 @@ }, { "file": "courses/koopa_troopa_beach/course_data.c", - "out_dir": "koopa_troopa_beach/segments/list1", + "out_dir": "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", @@ -171,5 +171,116 @@ "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/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/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" + ] } ] \ No newline at end of file diff --git a/models/luigi_raceway/models.json b/models/luigi_raceway/models.json index 937a14639..dd27e7e81 100644 --- a/models/luigi_raceway/models.json +++ b/models/luigi_raceway/models.json @@ -13,7 +13,7 @@ }, { "file": "courses/luigi_raceway/course_data.c", - "out_dir": "luigi_raceway/segments", + "out_dir": "luigi_raceway/sections", "models": [ "d_course_luigi_raceway_dl_0", "d_course_luigi_raceway_dl_328", @@ -136,5 +136,123 @@ "d_course_luigi_raceway_dl_A028", "d_course_luigi_raceway_dl_A320" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/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" + ] } ] \ No newline at end of file diff --git a/models/mario_raceway/models.json b/models/mario_raceway/models.json index 963651dc5..cff90dfe2 100644 --- a/models/mario_raceway/models.json +++ b/models/mario_raceway/models.json @@ -10,7 +10,7 @@ }, { "file": "courses/mario_raceway/course_data.c", - "out_dir": "mario_raceway/segments", + "out_dir": "mario_raceway/sections", "models": [ "d_course_mario_raceway_dl_0", "d_course_mario_raceway_dl_1D0", @@ -81,5 +81,10 @@ "d_course_mario_raceway_dl_4ED0", "d_course_mario_raceway_dl_5150" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/collision_sections", + "models": [] } ] \ No newline at end of file diff --git a/models/moo_moo_farm/models.json b/models/moo_moo_farm/models.json index 57a8861c2..b5b309cfd 100644 --- a/models/moo_moo_farm/models.json +++ b/models/moo_moo_farm/models.json @@ -13,7 +13,7 @@ }, { "file": "courses/moo_moo_farm/course_data.c", - "out_dir": "moo_moo_farm/segments", + "out_dir": "moo_moo_farm/sections", "models": [ "d_course_moo_moo_farm_dl_88", "d_course_moo_moo_farm_dl_598", @@ -108,5 +108,10 @@ "d_course_moo_moo_farm_dl_E4B0", "d_course_moo_moo_farm_dl_EA18" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/collision_sections", + "models": [] } ] \ No newline at end of file diff --git a/models/rainbow_road/models.json b/models/rainbow_road/models.json index 59074d0b6..e766a16ad 100644 --- a/models/rainbow_road/models.json +++ b/models/rainbow_road/models.json @@ -12,7 +12,7 @@ }, { "file": "courses/rainbow_road/course_data.c", - "out_dir": "rainbow_road/segments", + "out_dir": "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", @@ -39,5 +39,10 @@ "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/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/collision_sections", + "models": [] } ] \ No newline at end of file diff --git a/models/royal_raceway/models.json b/models/royal_raceway/models.json index 504d85a34..8c23918ee 100644 --- a/models/royal_raceway/models.json +++ b/models/royal_raceway/models.json @@ -10,7 +10,7 @@ }, { "file": "courses/royal_raceway/course_data.c", - "out_dir": "royal_raceway/segments", + "out_dir": "royal_raceway/sections", "models": [ "d_course_royal_raceway_dl_0", "d_course_royal_raceway_dl_360", @@ -145,5 +145,10 @@ "d_course_royal_raceway_dl_B2E0", "d_course_royal_raceway_dl_B508" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/collision_sections", + "models": [] } ] \ No newline at end of file diff --git a/models/sherbet_land/models.json b/models/sherbet_land/models.json index a00acb12f..c06218f6f 100644 --- a/models/sherbet_land/models.json +++ b/models/sherbet_land/models.json @@ -9,7 +9,7 @@ }, { "file": "courses/sherbet_land/course_data.c", - "out_dir": "sherbet_land/segments/list1", + "out_dir": "sherbet_land/sections/list1", "models": [ "d_course_sherbet_land_dl_0", "d_course_sherbet_land_dl_158", @@ -87,7 +87,7 @@ }, { "file": "courses/sherbet_land/course_data.c", - "out_dir": "sherbet_land/segments/list2", + "out_dir": "sherbet_land/sections/list2", "models": [ "d_course_sherbet_land_dl_26D0", "d_course_sherbet_land_dl_28A0", @@ -162,5 +162,10 @@ "d_course_sherbet_land_dl_4A20", "d_course_sherbet_land_dl_4B20" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/collision_sections", + "models": [] } ] \ No newline at end of file diff --git a/models/toads_turnpike/models.json b/models/toads_turnpike/models.json index 7b8581582..84f3c9e3a 100644 --- a/models/toads_turnpike/models.json +++ b/models/toads_turnpike/models.json @@ -34,7 +34,7 @@ }, { "file": "courses/toads_turnpike/course_data.c", - "out_dir": "toads_turnpike/segments", + "out_dir": "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", @@ -77,5 +77,10 @@ "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/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/collision_sections", + "models": [] } ] \ No newline at end of file diff --git a/models/wario_stadium/models.json b/models/wario_stadium/models.json index 3a95502f2..3dce265f3 100644 --- a/models/wario_stadium/models.json +++ b/models/wario_stadium/models.json @@ -8,7 +8,7 @@ }, { "file": "courses/wario_stadium/course_data.c", - "out_dir": "wario_stadium/segments", + "out_dir": "wario_stadium/sections", "models":[ "d_course_wario_stadium_dl_0", "d_course_wario_stadium_dl_158", @@ -119,5 +119,10 @@ "d_course_wario_stadium_dl_5460", "d_course_wario_stadium_dl_5588" ] + }, + { + "file":"courses/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/collision_sections", + "models": [] } ] \ No newline at end of file diff --git a/models/yoshi_valley/models.json b/models/yoshi_valley/models.json index 8cd324103..18751dd4c 100644 --- a/models/yoshi_valley/models.json +++ b/models/yoshi_valley/models.json @@ -16,7 +16,7 @@ }, { "file": "courses/yoshi_valley/course_data.c", - "out_dir": "yoshi_valley/segments", + "out_dir": "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", @@ -81,5 +81,10 @@ "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/banshee_boardwalk/course_displaylists.inc.c", + "out_dir": "banshee_boardwalk/collision_sections", + "models": [] } ] \ No newline at end of file diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index d388a204c..5d598b3af 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -2487,8 +2487,8 @@ s16 func_8000CC88(f32 posX, f32 posY, f32 posZ, Player *player, s32 playerId, s3 if ((trackSegment <= 0) || (trackSegment >= 0x33)) { trackSegment = D_80163318[playerId]; } - D_80163318[playerId] = courseSection; - ret = func_8000C0BC(posX, posY, posZ, courseSection, pathIndex); + D_80163318[playerId] = trackSegment; + ret = func_8000C0BC(posX, posY, posZ, trackSegment, pathIndex); gPathIndexByPlayerId[playerId] = *pathIndex; return ret; } @@ -3979,7 +3979,7 @@ s32 func_80011014(TrackWaypoint *pathDest, TrackWaypoint *path, s32 numPathPoint pathDest->posZ = (s16) temp_f22; - pathDest->trackSegment = get_section_id(D_80162E70.meshIndexZX); + pathDest->courseSection = get_section_id(D_80162E70.meshIndexZX); if (var_f20_2 < -500.0) { var_f20_2 = var_f28; diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c index 0e5a5067b..f13b886a4 100644 --- a/src/racing/render_courses.c +++ b/src/racing/render_courses.c @@ -74,11 +74,11 @@ extern u32 isFlycam; void render_course_segments(uintptr_t addr, struct UnkStruct_800DC5EC *arg1) { Player *player = arg1->player; Camera *camera = arg1->camera; - u32 segment = SEGMENT_NUMBER2(sectionAddr); - u32 offset = SEGMENT_OFFSET(sectionAddr); + u32 segment = SEGMENT_NUMBER2(addr); + u32 offset = SEGMENT_OFFSET(addr); //! @todo Should be Gfx* s32 *gfx = (s32 *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset); - s16 var_a3; + s16 direction; s16 index; s16 sp1E; s16 temp_v0_3; @@ -179,7 +179,7 @@ void render_course_segments(uintptr_t addr, struct UnkStruct_800DC5EC *arg1) { } arg1->pathCounter = index; - index = ((index - 1) * 4) + var_a3; + index = ((index - 1) * 4) + direction; gSPDisplayList(gDisplayListHead++, gfx[index]); } diff --git a/tools/blender/blender_export.py b/tools/blender/blender_export.py index bc68406ad..21995a87f 100644 --- a/tools/blender/blender_export.py +++ b/tools/blender/blender_export.py @@ -2,12 +2,15 @@ import bpy import os import sys + sys.path.append('tools/blender') import fast64 from fast64.fast64_internal.f3d.f3d_gbi import get_F3D_GBI from fast64.fast64_internal.f3d.f3d_material import createF3DMat from fast64.fast64_internal.f3d.f3d_parser import F3DContext, getImportData, importMeshC -from fast64.fast64_internal.mk64.f3d_course_parser import MK64F3DContext, parseCourseVtx +from fast64.fast64_internal.mk64 import MK64_Properties +from fast64.fast64_internal.mk64.f3d.operators import MK64_ImportCourseDL +from fast64.fast64_internal.mk64.f3d.properties import MK64CourseDLImportSettings from clean_scene import clean_scene @@ -20,62 +23,26 @@ print(dir_path) fast64.register() +class FakeOperator: + def __init__(self): + self.report = lambda x, y: print(y) + argv = sys.argv argv = argv[argv.index("--") + 1:] # get all args after "--" -bpy.context.scene.f3d_type = "F3DEX/LX" -basePath = bpy.path.abspath(dir_path) -scaleValue = bpy.context.scene.blenderF3DScale -removeDoubles = bpy.context.scene.DLRemoveDoubles -importNormals = bpy.context.scene.DLImportNormals -drawLayer = bpy.context.scene.DLImportDrawLayer +bpy.context.scene.gameEditorMode = "MK64" +mk64_settings: MK64_Properties = bpy.context.scene.fast64.mk64 +course_DL_import_settings: MK64CourseDLImportSettings = mk64_settings.course_DL_import_settings +base_path = bpy.path.abspath(dir_path) file = argv[0] obj = argv[1] out_file = argv[2] +course_DL_import_settings.name = obj +course_DL_import_settings.path = file +course_DL_import_settings.base_path = base_path + clean_scene() -if bpy.context.mode != "OBJECT": - bpy.ops.object.mode_set(mode="OBJECT") - -importPath = bpy.path.abspath(dir_path+"/"+file) - -paths = [importPath] -if "segment" in out_file: - - if "course_data" in importPath: - paths += [importPath.replace("course_data", "course_displaylists.inc")] - - paths += [ - importPath.replace("course_data", "course_textures.linkonly").replace( - "course_displaylists.inc", "course_textures.linkonly" - ) - ] - - material = createF3DMat(None) - - # material.f3d_mat.rdp_settings.set_rendermode = context.scene.fast64.mk64.EnableRenderModeDefault - - f3d_context = MK64F3DContext(get_F3D_GBI(), basePath, material) - if "course_displaylists" in importPath or "course_data" in importPath: - vertexPath = importPath.replace("course_displaylists.inc", "course_vertices.inc").replace( - "course_data", "course_vertices.inc" - ) - print(vertexPath) - f3d_context.vertexData["0x4000000"] = parseCourseVtx(vertexPath, f3d_context.f3d) - -else: - f3d_context = F3DContext(get_F3D_GBI(), basePath, createF3DMat(None)) - -data = getImportData(paths) - -importMeshC( - data, - obj, - scaleValue, - removeDoubles, - importNormals, - drawLayer, - f3d_context, -) +MK64_ImportCourseDL.execute(FakeOperator(),bpy.context) bpy.ops.wm.save_as_mainfile(filepath=out_file) \ No newline at end of file diff --git a/tools/blender/fast64_run.py b/tools/blender/fast64_run.py index 6345a8e7b..963d4caff 100644 --- a/tools/blender/fast64_run.py +++ b/tools/blender/fast64_run.py @@ -3,14 +3,17 @@ import os import bpy sys.path.append('tools/blender') import fast64 +from fast64.fast64_internal.mk64 import MK64_Properties +from fast64.fast64_internal.mk64.f3d.properties import MK64CourseDLImportSettings fast64.register() dir_path = os.path.dirname(os.path.realpath(__file__)) dir_path = dir_path.replace("\\", "/") dir_path = os.path.dirname(dir_path) dir_path = os.path.dirname(dir_path) -print(dir_path) bpy.context.scene.gameEditorMode = "MK64" -bpy.context.scene.DLImportName = "d_course_rainbow_road_dl_D8" -bpy.context.scene.DLImportPath = dir_path+"/courses/rainbow_road/course_data.c" -bpy.context.scene.DLImportBasePath = dir_path \ No newline at end of file +mk64_settings: MK64_Properties = bpy.context.scene.fast64.mk64 +import_settings: MK64CourseDLImportSettings = mk64_settings.course_DL_import_settings +import_settings.name = "d_course_rainbow_road_dl_D8" +import_settings.path = dir_path+"/courses/rainbow_road/course_data.c" +import_settings.base_path = dir_path \ No newline at end of file