From 091a859104fd5f8db24742a3d0fdd6a5eac83064 Mon Sep 17 00:00:00 2001 From: MysterD Date: Tue, 22 Feb 2022 18:04:12 -0800 Subject: [PATCH] Added level models to Lua API --- docs/lua/constants.md | 312 ++++++++++++++++++++++----- src/pc/lua/smlua_constants_autogen.c | 312 ++++++++++++++++++++++----- src/pc/lua/smlua_model_utils.c | 228 +++++++++++++++++++- src/pc/lua/smlua_model_utils.h | 207 +++++++++++++++++- 4 files changed, 937 insertions(+), 122 deletions(-) diff --git a/docs/lua/constants.md b/docs/lua/constants.md index 2098035cb..7b5608c1c 100644 --- a/docs/lua/constants.md +++ b/docs/lua/constants.md @@ -2055,43 +2055,43 @@ ### [enum ModelExtendedId](#ModelExtendedId) | Identifier | Value | | :--------- | :---- | -| E_MODEL_MARIO | 0 | -| E_MODEL_SMOKE | 1 | -| E_MODEL_SPARKLES | 2 | -| E_MODEL_BUBBLE | 3 | -| E_MODEL_SMALL_WATER_SPLASH | 4 | -| E_MODEL_IDLE_WATER_WAVE | 5 | -| E_MODEL_WATER_SPLASH | 6 | -| E_MODEL_WAVE_TRAIL | 7 | -| E_MODEL_YELLOW_COIN | 8 | -| E_MODEL_STAR | 9 | -| E_MODEL_TRANSPARENT_STAR | 10 | -| E_MODEL_WOODEN_SIGNPOST | 11 | -| E_MODEL_WHITE_PARTICLE_SMALL | 12 | -| E_MODEL_RED_FLAME | 13 | -| E_MODEL_BLUE_FLAME | 14 | -| E_MODEL_BURN_SMOKE | 15 | -| E_MODEL_LEAVES | 16 | -| E_MODEL_PURPLE_MARBLE | 17 | -| E_MODEL_FISH | 18 | -| E_MODEL_FISH_SHADOW | 19 | -| E_MODEL_SPARKLES_ANIMATION | 20 | -| E_MODEL_SAND_DUST | 21 | -| E_MODEL_BUTTERFLY | 22 | -| E_MODEL_BURN_SMOKE_UNUSED | 23 | -| E_MODEL_PEBBLE | 24 | -| E_MODEL_MIST | 25 | -| E_MODEL_WHITE_PUFF | 26 | -| E_MODEL_WHITE_PARTICLE_DL | 27 | -| E_MODEL_WHITE_PARTICLE | 28 | -| E_MODEL_YELLOW_COIN_NO_SHADOW | 29 | -| E_MODEL_BLUE_COIN | 30 | -| E_MODEL_BLUE_COIN_NO_SHADOW | 31 | -| E_MODEL_MARIOS_WINGED_METAL_CAP | 32 | -| E_MODEL_MARIOS_METAL_CAP | 33 | -| E_MODEL_MARIOS_WING_CAP | 34 | -| E_MODEL_MARIOS_CAP | 35 | -| E_MODEL_MARIOS_CAP2 | 36 | +| E_MODEL_NONE | 0 | +| E_MODEL_MARIO | 1 | +| E_MODEL_SMOKE | 2 | +| E_MODEL_SPARKLES | 3 | +| E_MODEL_BUBBLE | 4 | +| E_MODEL_SMALL_WATER_SPLASH | 5 | +| E_MODEL_IDLE_WATER_WAVE | 6 | +| E_MODEL_WATER_SPLASH | 7 | +| E_MODEL_WAVE_TRAIL | 8 | +| E_MODEL_YELLOW_COIN | 9 | +| E_MODEL_STAR | 10 | +| E_MODEL_TRANSPARENT_STAR | 11 | +| E_MODEL_WOODEN_SIGNPOST | 12 | +| E_MODEL_WHITE_PARTICLE_SMALL | 13 | +| E_MODEL_RED_FLAME | 14 | +| E_MODEL_BLUE_FLAME | 15 | +| E_MODEL_BURN_SMOKE | 16 | +| E_MODEL_LEAVES | 17 | +| E_MODEL_PURPLE_MARBLE | 18 | +| E_MODEL_FISH | 19 | +| E_MODEL_FISH_SHADOW | 20 | +| E_MODEL_SPARKLES_ANIMATION | 21 | +| E_MODEL_SAND_DUST | 22 | +| E_MODEL_BUTTERFLY | 23 | +| E_MODEL_BURN_SMOKE_UNUSED | 24 | +| E_MODEL_PEBBLE | 25 | +| E_MODEL_MIST | 26 | +| E_MODEL_WHITE_PUFF | 27 | +| E_MODEL_WHITE_PARTICLE_DL | 28 | +| E_MODEL_WHITE_PARTICLE | 29 | +| E_MODEL_YELLOW_COIN_NO_SHADOW | 30 | +| E_MODEL_BLUE_COIN | 31 | +| E_MODEL_BLUE_COIN_NO_SHADOW | 32 | +| E_MODEL_MARIOS_WINGED_METAL_CAP | 33 | +| E_MODEL_MARIOS_METAL_CAP | 34 | +| E_MODEL_MARIOS_WING_CAP | 35 | +| E_MODEL_MARIOS_CAP | 36 | | E_MODEL_BOWSER_KEY_CUTSCENE | 37 | | E_MODEL_BOWSER_KEY | 38 | | E_MODEL_RED_FLAME_SHADOW | 39 | @@ -2211,27 +2211,223 @@ | E_MODEL_MR_I | 153 | | E_MODEL_DORRIE | 154 | | E_MODEL_SNUFIT | 155 | -| E_MODEL_BUBBLE_PLAYER | 156 | -| E_MODEL_LUIGI | 157 | -| E_MODEL_LUIGIS_CAP | 158 | -| E_MODEL_LUIGIS_METAL_CAP | 159 | -| E_MODEL_LUIGIS_WING_CAP | 160 | -| E_MODEL_LUIGIS_WINGED_METAL_CAP | 161 | -| E_MODEL_TOAD_PLAYER | 162 | -| E_MODEL_TOADS_CAP | 163 | -| E_MODEL_TOADS_METAL_CAP | 164 | -| E_MODEL_TOADS_WING_CAP | 165 | -| E_MODEL_WALUIGI | 166 | -| E_MODEL_WALUIGIS_CAP | 167 | -| E_MODEL_WALUIGIS_METAL_CAP | 168 | -| E_MODEL_WALUIGIS_WING_CAP | 169 | -| E_MODEL_WALUIGIS_WINGED_METAL_CAP | 170 | -| E_MODEL_WARIO | 171 | -| E_MODEL_WARIOS_CAP | 172 | -| E_MODEL_WARIOS_METAL_CAP | 173 | -| E_MODEL_WARIOS_WING_CAP | 174 | -| E_MODEL_WARIOS_WINGED_METAL_CAP | 175 | -| E_MODEL_MAX | 176 | +| E_MODEL_BUBBLY_TREE | 156 | +| E_MODEL_COURTYARD_SPIKY_TREE | 157 | +| E_MODEL_SNOW_TREE | 158 | +| E_MODEL_PALM_TREE | 159 | +| E_MODEL_CASTLE_CASTLE_DOOR | 160 | +| E_MODEL_BBH_HAUNTED_DOOR | 161 | +| E_MODEL_HMC_WOODEN_DOOR | 162 | +| E_MODEL_HMC_METAL_DOOR | 163 | +| E_MODEL_HMC_HAZY_MAZE_DOOR | 164 | +| E_MODEL_CASTLE_DOOR_0_STARS | 165 | +| E_MODEL_CASTLE_DOOR_1_STAR | 166 | +| E_MODEL_CASTLE_DOOR_3_STARS | 167 | +| E_MODEL_CASTLE_KEY_DOOR | 168 | +| E_MODEL_CCM_CABIN_DOOR | 169 | +| E_MODEL_CASTLE_METAL_DOOR | 170 | +| E_MODEL_CASTLE_GROUNDS_METAL_DOOR | 171 | +| E_MODEL_WF_TOWER_TRAPEZOID_PLATORM | 172 | +| E_MODEL_WF_TOWER_SQUARE_PLATORM | 173 | +| E_MODEL_WF_TOWER_SQUARE_PLATORM_UNUSED | 174 | +| E_MODEL_WF_TOWER_SQUARE_PLATORM_ELEVATOR | 175 | +| E_MODEL_BBH_STAIRCASE_STEP | 176 | +| E_MODEL_BBH_TILTING_FLOOR_PLATFORM | 177 | +| E_MODEL_BBH_TUMBLING_PLATFORM | 178 | +| E_MODEL_BBH_TUMBLING_PLATFORM_PART | 179 | +| E_MODEL_BBH_MOVING_BOOKSHELF | 180 | +| E_MODEL_BBH_MESH_ELEVATOR | 181 | +| E_MODEL_BBH_MERRY_GO_ROUND | 182 | +| E_MODEL_BBH_WOODEN_TOMB | 183 | +| E_MODEL_CCM_ROPEWAY_LIFT | 184 | +| E_MODEL_CCM_SNOWMAN_HEAD | 185 | +| E_MODEL_CASTLE_BOWSER_TRAP | 186 | +| E_MODEL_CASTLE_WATER_LEVEL_PILLAR | 187 | +| E_MODEL_CASTLE_CLOCK_MINUTE_HAND | 188 | +| E_MODEL_CASTLE_CLOCK_HOUR_HAND | 189 | +| E_MODEL_CASTLE_CLOCK_PENDULUM | 190 | +| E_MODEL_HMC_METAL_PLATFORM | 191 | +| E_MODEL_HMC_METAL_ARROW_PLATFORM | 192 | +| E_MODEL_HMC_ELEVATOR_PLATFORM | 193 | +| E_MODEL_HMC_ROLLING_ROCK | 194 | +| E_MODEL_HMC_ROCK_PIECE | 195 | +| E_MODEL_HMC_ROCK_SMALL_PIECE | 196 | +| E_MODEL_HMC_RED_GRILLS | 197 | +| E_MODEL_SSL_PYRAMID_TOP | 198 | +| E_MODEL_SSL_GRINDEL | 199 | +| E_MODEL_SSL_SPINDEL | 200 | +| E_MODEL_SSL_MOVING_PYRAMID_WALL | 201 | +| E_MODEL_SSL_PYRAMID_ELEVATOR | 202 | +| E_MODEL_BOB_CHAIN_CHOMP_GATE | 203 | +| E_MODEL_BOB_SEESAW_PLATFORM | 204 | +| E_MODEL_BOB_BARS_GRILLS | 205 | +| E_MODEL_SL_SNOW_TRIANGLE | 206 | +| E_MODEL_SL_CRACKED_ICE | 207 | +| E_MODEL_SL_CRACKED_ICE_CHUNK | 208 | +| E_MODEL_WDW_SQUARE_FLOATING_PLATFORM | 209 | +| E_MODEL_WDW_ARROW_LIFT | 210 | +| E_MODEL_WDW_WATER_LEVEL_DIAMOND | 211 | +| E_MODEL_WDW_HIDDEN_PLATFORM | 212 | +| E_MODEL_WDW_EXPRESS_ELEVATOR | 213 | +| E_MODEL_WDW_RECTANGULAR_FLOATING_PLATFORM | 214 | +| E_MODEL_WDW_ROTATING_PLATFORM | 215 | +| E_MODEL_JRB_SHIP_LEFT_HALF_PART | 216 | +| E_MODEL_JRB_SHIP_BACK_LEFT_PART | 217 | +| E_MODEL_JRB_SHIP_RIGHT_HALF_PART | 218 | +| E_MODEL_JRB_SHIP_BACK_RIGHT_PART | 219 | +| E_MODEL_JRB_SUNKEN_SHIP | 220 | +| E_MODEL_JRB_SUNKEN_SHIP_BACK | 221 | +| E_MODEL_JRB_ROCK | 222 | +| E_MODEL_JRB_SLIDING_BOX | 223 | +| E_MODEL_JRB_FALLING_PILLAR | 224 | +| E_MODEL_JRB_FALLING_PILLAR_BASE | 225 | +| E_MODEL_JRB_FLOATING_PLATFORM | 226 | +| E_MODEL_THI_HUGE_ISLAND_TOP | 227 | +| E_MODEL_THI_TINY_ISLAND_TOP | 228 | +| E_MODEL_TTC_ROTATING_CUBE | 229 | +| E_MODEL_TTC_ROTATING_PRISM | 230 | +| E_MODEL_TTC_PENDULUM | 231 | +| E_MODEL_TTC_LARGE_TREADMILL | 232 | +| E_MODEL_TTC_SMALL_TREADMILL | 233 | +| E_MODEL_TTC_PUSH_BLOCK | 234 | +| E_MODEL_TTC_ROTATING_HEXAGON | 235 | +| E_MODEL_TTC_ROTATING_TRIANGLE | 236 | +| E_MODEL_TTC_PIT_BLOCK | 237 | +| E_MODEL_TTC_PIT_BLOCK_UNUSED | 238 | +| E_MODEL_TTC_ELEVATOR_PLATFORM | 239 | +| E_MODEL_TTC_CLOCK_HAND | 240 | +| E_MODEL_TTC_SPINNER | 241 | +| E_MODEL_TTC_SMALL_GEAR | 242 | +| E_MODEL_TTC_LARGE_GEAR | 243 | +| E_MODEL_RR_SLIDING_PLATFORM | 244 | +| E_MODEL_RR_FLYING_CARPET | 245 | +| E_MODEL_RR_OCTAGONAL_PLATFORM | 246 | +| E_MODEL_RR_ROTATING_BRIDGE_PLATFORM | 247 | +| E_MODEL_RR_TRIANGLE_PLATFORM | 248 | +| E_MODEL_RR_CRUISER_WING | 249 | +| E_MODEL_RR_SEESAW_PLATFORM | 250 | +| E_MODEL_RR_L_SHAPED_PLATFORM | 251 | +| E_MODEL_RR_SWINGING_PLATFORM | 252 | +| E_MODEL_RR_DONUT_PLATFORM | 253 | +| E_MODEL_RR_ELEVATOR_PLATFORM | 254 | +| E_MODEL_RR_TRICKY_TRIANGLES | 255 | +| E_MODEL_RR_TRICKY_TRIANGLES_FRAME1 | 256 | +| E_MODEL_RR_TRICKY_TRIANGLES_FRAME2 | 257 | +| E_MODEL_RR_TRICKY_TRIANGLES_FRAME3 | 258 | +| E_MODEL_RR_TRICKY_TRIANGLES_FRAME4 | 259 | +| E_MODEL_BITDW_SQUARE_PLATFORM | 260 | +| E_MODEL_BITDW_SEESAW_PLATFORM | 261 | +| E_MODEL_BITDW_SLIDING_PLATFORM | 262 | +| E_MODEL_BITDW_FERRIS_WHEEL_AXLE | 263 | +| E_MODEL_BITDW_BLUE_PLATFORM | 264 | +| E_MODEL_BITDW_STAIRCASE_FRAME4 | 265 | +| E_MODEL_BITDW_STAIRCASE_FRAME3 | 266 | +| E_MODEL_BITDW_STAIRCASE_FRAME2 | 267 | +| E_MODEL_BITDW_STAIRCASE_FRAME1 | 268 | +| E_MODEL_BITDW_STAIRCASE | 269 | +| E_MODEL_BITFS_PLATFORM_ON_TRACK | 270 | +| E_MODEL_BITFS_TILTING_SQUARE_PLATFORM | 271 | +| E_MODEL_BITFS_SINKING_PLATFORMS | 272 | +| E_MODEL_BITFS_BLUE_POLE | 273 | +| E_MODEL_BITFS_SINKING_CAGE_PLATFORM | 274 | +| E_MODEL_BITFS_ELEVATOR | 275 | +| E_MODEL_BITFS_STRETCHING_PLATFORMS | 276 | +| E_MODEL_BITFS_SEESAW_PLATFORM | 277 | +| E_MODEL_BITFS_MOVING_SQUARE_PLATFORM | 278 | +| E_MODEL_BITFS_SLIDING_PLATFORM | 279 | +| E_MODEL_BITFS_TUMBLING_PLATFORM_PART | 280 | +| E_MODEL_BITFS_TUMBLING_PLATFORM | 281 | +| E_MODEL_BITS_SLIDING_PLATFORM | 282 | +| E_MODEL_BITS_TWIN_SLIDING_PLATFORMS | 283 | +| E_MODEL_BITS_OCTAGONAL_PLATFORM | 284 | +| E_MODEL_BITS_BLUE_PLATFORM | 285 | +| E_MODEL_BITS_FERRIS_WHEEL_AXLE | 286 | +| E_MODEL_BITS_ARROW_PLATFORM | 287 | +| E_MODEL_BITS_SEESAW_PLATFORM | 288 | +| E_MODEL_BITS_TILTING_W_PLATFORM | 289 | +| E_MODEL_BITS_STAIRCASE | 290 | +| E_MODEL_BITS_STAIRCASE_FRAME1 | 291 | +| E_MODEL_BITS_STAIRCASE_FRAME2 | 292 | +| E_MODEL_BITS_STAIRCASE_FRAME3 | 293 | +| E_MODEL_BITS_STAIRCASE_FRAME4 | 294 | +| E_MODEL_BITS_WARP_PIPE | 295 | +| E_MODEL_LLL_DRAWBRIDGE_PART | 296 | +| E_MODEL_LLL_ROTATING_BLOCK_FIRE_BARS | 297 | +| E_MODEL_LLL_ROTATING_HEXAGONAL_RING | 298 | +| E_MODEL_LLL_SINKING_RECTANGULAR_PLATFORM | 299 | +| E_MODEL_LLL_SINKING_SQUARE_PLATFORMS | 300 | +| E_MODEL_LLL_TILTING_SQUARE_PLATFORM | 301 | +| E_MODEL_LLL_BOWSER_PIECE_1 | 302 | +| E_MODEL_LLL_BOWSER_PIECE_2 | 303 | +| E_MODEL_LLL_BOWSER_PIECE_3 | 304 | +| E_MODEL_LLL_BOWSER_PIECE_4 | 305 | +| E_MODEL_LLL_BOWSER_PIECE_5 | 306 | +| E_MODEL_LLL_BOWSER_PIECE_6 | 307 | +| E_MODEL_LLL_BOWSER_PIECE_7 | 308 | +| E_MODEL_LLL_BOWSER_PIECE_8 | 309 | +| E_MODEL_LLL_BOWSER_PIECE_9 | 310 | +| E_MODEL_LLL_BOWSER_PIECE_10 | 311 | +| E_MODEL_LLL_BOWSER_PIECE_11 | 312 | +| E_MODEL_LLL_BOWSER_PIECE_12 | 313 | +| E_MODEL_LLL_BOWSER_PIECE_13 | 314 | +| E_MODEL_LLL_BOWSER_PIECE_14 | 315 | +| E_MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM | 316 | +| E_MODEL_LLL_SINKING_ROCK_BLOCK | 317 | +| E_MODEL_LLL_ROLLING_LOG | 318 | +| E_MODEL_LLL_WOOD_BRIDGE | 319 | +| E_MODEL_LLL_LARGE_WOOD_BRIDGE | 320 | +| E_MODEL_LLL_FALLING_PLATFORM | 321 | +| E_MODEL_LLL_LARGE_FALLING_PLATFORM | 322 | +| E_MODEL_LLL_VOLCANO_FALLING_TRAP | 323 | +| E_MODEL_DDD_BOWSER_SUB_DOOR | 324 | +| E_MODEL_DDD_BOWSER_SUB | 325 | +| E_MODEL_DDD_POLE | 326 | +| E_MODEL_WF_BREAKABLE_WALL_RIGHT | 327 | +| E_MODEL_WF_BREAKABLE_WALL_LEFT | 328 | +| E_MODEL_WF_KICKABLE_BOARD | 329 | +| E_MODEL_WF_TOWER_DOOR | 330 | +| E_MODEL_WF_KICKABLE_BOARD_FELLED | 331 | +| E_MODEL_CASTLE_GROUNDS_VCUTM_GRILL | 332 | +| E_MODEL_CASTLE_GROUNDS_FLAG | 333 | +| E_MODEL_CASTLE_GROUNDS_CANNON_GRILL | 334 | +| E_MODEL_BOWSER_2_TILTING_ARENA | 335 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_1 | 336 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_2 | 337 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_3 | 338 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_4 | 339 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_5 | 340 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_6 | 341 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_7 | 342 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_8 | 343 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_9 | 344 | +| E_MODEL_BOWSER_3_FALLING_PLATFORM_10 | 345 | +| E_MODEL_TTM_ROLLING_LOG | 346 | +| E_MODEL_TTM_STAR_CAGE | 347 | +| E_MODEL_TTM_BLUE_SMILEY | 348 | +| E_MODEL_TTM_YELLOW_SMILEY | 349 | +| E_MODEL_TTM_STAR_SMILEY | 350 | +| E_MODEL_TTM_MOON_SMILEY | 351 | +| E_MODEL_BUBBLE_PLAYER | 352 | +| E_MODEL_LUIGI | 353 | +| E_MODEL_LUIGIS_CAP | 354 | +| E_MODEL_LUIGIS_METAL_CAP | 355 | +| E_MODEL_LUIGIS_WING_CAP | 356 | +| E_MODEL_LUIGIS_WINGED_METAL_CAP | 357 | +| E_MODEL_TOAD_PLAYER | 358 | +| E_MODEL_TOADS_CAP | 359 | +| E_MODEL_TOADS_METAL_CAP | 360 | +| E_MODEL_TOADS_WING_CAP | 361 | +| E_MODEL_WALUIGI | 362 | +| E_MODEL_WALUIGIS_CAP | 363 | +| E_MODEL_WALUIGIS_METAL_CAP | 364 | +| E_MODEL_WALUIGIS_WING_CAP | 365 | +| E_MODEL_WALUIGIS_WINGED_METAL_CAP | 366 | +| E_MODEL_WARIO | 367 | +| E_MODEL_WARIOS_CAP | 368 | +| E_MODEL_WARIOS_METAL_CAP | 369 | +| E_MODEL_WARIOS_WING_CAP | 370 | +| E_MODEL_WARIOS_WINGED_METAL_CAP | 371 | +| E_MODEL_MAX | 372 |
diff --git a/src/pc/lua/smlua_constants_autogen.c b/src/pc/lua/smlua_constants_autogen.c index b1e22e2ad..cc0a882c3 100644 --- a/src/pc/lua/smlua_constants_autogen.c +++ b/src/pc/lua/smlua_constants_autogen.c @@ -2076,43 +2076,43 @@ char gSmluaConstants[] = "" "HOOK_ON_HUD_RENDER = 8\n" "HOOK_ON_INTERACT = 9\n" "HOOK_MAX = 10\n" -"E_MODEL_MARIO = 0\n" -"E_MODEL_SMOKE = 1\n" -"E_MODEL_SPARKLES = 2\n" -"E_MODEL_BUBBLE = 3\n" -"E_MODEL_SMALL_WATER_SPLASH = 4\n" -"E_MODEL_IDLE_WATER_WAVE = 5\n" -"E_MODEL_WATER_SPLASH = 6\n" -"E_MODEL_WAVE_TRAIL = 7\n" -"E_MODEL_YELLOW_COIN = 8\n" -"E_MODEL_STAR = 9\n" -"E_MODEL_TRANSPARENT_STAR = 10\n" -"E_MODEL_WOODEN_SIGNPOST = 11\n" -"E_MODEL_WHITE_PARTICLE_SMALL = 12\n" -"E_MODEL_RED_FLAME = 13\n" -"E_MODEL_BLUE_FLAME = 14\n" -"E_MODEL_BURN_SMOKE = 15\n" -"E_MODEL_LEAVES = 16\n" -"E_MODEL_PURPLE_MARBLE = 17\n" -"E_MODEL_FISH = 18\n" -"E_MODEL_FISH_SHADOW = 19\n" -"E_MODEL_SPARKLES_ANIMATION = 20\n" -"E_MODEL_SAND_DUST = 21\n" -"E_MODEL_BUTTERFLY = 22\n" -"E_MODEL_BURN_SMOKE_UNUSED = 23\n" -"E_MODEL_PEBBLE = 24\n" -"E_MODEL_MIST = 25\n" -"E_MODEL_WHITE_PUFF = 26\n" -"E_MODEL_WHITE_PARTICLE_DL = 27\n" -"E_MODEL_WHITE_PARTICLE = 28\n" -"E_MODEL_YELLOW_COIN_NO_SHADOW = 29\n" -"E_MODEL_BLUE_COIN = 30\n" -"E_MODEL_BLUE_COIN_NO_SHADOW = 31\n" -"E_MODEL_MARIOS_WINGED_METAL_CAP = 32\n" -"E_MODEL_MARIOS_METAL_CAP = 33\n" -"E_MODEL_MARIOS_WING_CAP = 34\n" -"E_MODEL_MARIOS_CAP = 35\n" -"E_MODEL_MARIOS_CAP2 = 36\n" +"E_MODEL_NONE = 0\n" +"E_MODEL_MARIO = 1\n" +"E_MODEL_SMOKE = 2\n" +"E_MODEL_SPARKLES = 3\n" +"E_MODEL_BUBBLE = 4\n" +"E_MODEL_SMALL_WATER_SPLASH = 5\n" +"E_MODEL_IDLE_WATER_WAVE = 6\n" +"E_MODEL_WATER_SPLASH = 7\n" +"E_MODEL_WAVE_TRAIL = 8\n" +"E_MODEL_YELLOW_COIN = 9\n" +"E_MODEL_STAR = 10\n" +"E_MODEL_TRANSPARENT_STAR = 11\n" +"E_MODEL_WOODEN_SIGNPOST = 12\n" +"E_MODEL_WHITE_PARTICLE_SMALL = 13\n" +"E_MODEL_RED_FLAME = 14\n" +"E_MODEL_BLUE_FLAME = 15\n" +"E_MODEL_BURN_SMOKE = 16\n" +"E_MODEL_LEAVES = 17\n" +"E_MODEL_PURPLE_MARBLE = 18\n" +"E_MODEL_FISH = 19\n" +"E_MODEL_FISH_SHADOW = 20\n" +"E_MODEL_SPARKLES_ANIMATION = 21\n" +"E_MODEL_SAND_DUST = 22\n" +"E_MODEL_BUTTERFLY = 23\n" +"E_MODEL_BURN_SMOKE_UNUSED = 24\n" +"E_MODEL_PEBBLE = 25\n" +"E_MODEL_MIST = 26\n" +"E_MODEL_WHITE_PUFF = 27\n" +"E_MODEL_WHITE_PARTICLE_DL = 28\n" +"E_MODEL_WHITE_PARTICLE = 29\n" +"E_MODEL_YELLOW_COIN_NO_SHADOW = 30\n" +"E_MODEL_BLUE_COIN = 31\n" +"E_MODEL_BLUE_COIN_NO_SHADOW = 32\n" +"E_MODEL_MARIOS_WINGED_METAL_CAP = 33\n" +"E_MODEL_MARIOS_METAL_CAP = 34\n" +"E_MODEL_MARIOS_WING_CAP = 35\n" +"E_MODEL_MARIOS_CAP = 36\n" "E_MODEL_BOWSER_KEY_CUTSCENE = 37\n" "E_MODEL_BOWSER_KEY = 38\n" "E_MODEL_RED_FLAME_SHADOW = 39\n" @@ -2232,27 +2232,223 @@ char gSmluaConstants[] = "" "E_MODEL_MR_I = 153\n" "E_MODEL_DORRIE = 154\n" "E_MODEL_SNUFIT = 155\n" -"E_MODEL_BUBBLE_PLAYER = 156\n" -"E_MODEL_LUIGI = 157\n" -"E_MODEL_LUIGIS_CAP = 158\n" -"E_MODEL_LUIGIS_METAL_CAP = 159\n" -"E_MODEL_LUIGIS_WING_CAP = 160\n" -"E_MODEL_LUIGIS_WINGED_METAL_CAP = 161\n" -"E_MODEL_TOAD_PLAYER = 162\n" -"E_MODEL_TOADS_CAP = 163\n" -"E_MODEL_TOADS_METAL_CAP = 164\n" -"E_MODEL_TOADS_WING_CAP = 165\n" -"E_MODEL_WALUIGI = 166\n" -"E_MODEL_WALUIGIS_CAP = 167\n" -"E_MODEL_WALUIGIS_METAL_CAP = 168\n" -"E_MODEL_WALUIGIS_WING_CAP = 169\n" -"E_MODEL_WALUIGIS_WINGED_METAL_CAP = 170\n" -"E_MODEL_WARIO = 171\n" -"E_MODEL_WARIOS_CAP = 172\n" -"E_MODEL_WARIOS_METAL_CAP = 173\n" -"E_MODEL_WARIOS_WING_CAP = 174\n" -"E_MODEL_WARIOS_WINGED_METAL_CAP = 175\n" -"E_MODEL_MAX = 176\n" +"E_MODEL_BUBBLY_TREE = 156\n" +"E_MODEL_COURTYARD_SPIKY_TREE = 157\n" +"E_MODEL_SNOW_TREE = 158\n" +"E_MODEL_PALM_TREE = 159\n" +"E_MODEL_CASTLE_CASTLE_DOOR = 160\n" +"E_MODEL_BBH_HAUNTED_DOOR = 161\n" +"E_MODEL_HMC_WOODEN_DOOR = 162\n" +"E_MODEL_HMC_METAL_DOOR = 163\n" +"E_MODEL_HMC_HAZY_MAZE_DOOR = 164\n" +"E_MODEL_CASTLE_DOOR_0_STARS = 165\n" +"E_MODEL_CASTLE_DOOR_1_STAR = 166\n" +"E_MODEL_CASTLE_DOOR_3_STARS = 167\n" +"E_MODEL_CASTLE_KEY_DOOR = 168\n" +"E_MODEL_CCM_CABIN_DOOR = 169\n" +"E_MODEL_CASTLE_METAL_DOOR = 170\n" +"E_MODEL_CASTLE_GROUNDS_METAL_DOOR = 171\n" +"E_MODEL_WF_TOWER_TRAPEZOID_PLATORM = 172\n" +"E_MODEL_WF_TOWER_SQUARE_PLATORM = 173\n" +"E_MODEL_WF_TOWER_SQUARE_PLATORM_UNUSED = 174\n" +"E_MODEL_WF_TOWER_SQUARE_PLATORM_ELEVATOR = 175\n" +"E_MODEL_BBH_STAIRCASE_STEP = 176\n" +"E_MODEL_BBH_TILTING_FLOOR_PLATFORM = 177\n" +"E_MODEL_BBH_TUMBLING_PLATFORM = 178\n" +"E_MODEL_BBH_TUMBLING_PLATFORM_PART = 179\n" +"E_MODEL_BBH_MOVING_BOOKSHELF = 180\n" +"E_MODEL_BBH_MESH_ELEVATOR = 181\n" +"E_MODEL_BBH_MERRY_GO_ROUND = 182\n" +"E_MODEL_BBH_WOODEN_TOMB = 183\n" +"E_MODEL_CCM_ROPEWAY_LIFT = 184\n" +"E_MODEL_CCM_SNOWMAN_HEAD = 185\n" +"E_MODEL_CASTLE_BOWSER_TRAP = 186\n" +"E_MODEL_CASTLE_WATER_LEVEL_PILLAR = 187\n" +"E_MODEL_CASTLE_CLOCK_MINUTE_HAND = 188\n" +"E_MODEL_CASTLE_CLOCK_HOUR_HAND = 189\n" +"E_MODEL_CASTLE_CLOCK_PENDULUM = 190\n" +"E_MODEL_HMC_METAL_PLATFORM = 191\n" +"E_MODEL_HMC_METAL_ARROW_PLATFORM = 192\n" +"E_MODEL_HMC_ELEVATOR_PLATFORM = 193\n" +"E_MODEL_HMC_ROLLING_ROCK = 194\n" +"E_MODEL_HMC_ROCK_PIECE = 195\n" +"E_MODEL_HMC_ROCK_SMALL_PIECE = 196\n" +"E_MODEL_HMC_RED_GRILLS = 197\n" +"E_MODEL_SSL_PYRAMID_TOP = 198\n" +"E_MODEL_SSL_GRINDEL = 199\n" +"E_MODEL_SSL_SPINDEL = 200\n" +"E_MODEL_SSL_MOVING_PYRAMID_WALL = 201\n" +"E_MODEL_SSL_PYRAMID_ELEVATOR = 202\n" +"E_MODEL_BOB_CHAIN_CHOMP_GATE = 203\n" +"E_MODEL_BOB_SEESAW_PLATFORM = 204\n" +"E_MODEL_BOB_BARS_GRILLS = 205\n" +"E_MODEL_SL_SNOW_TRIANGLE = 206\n" +"E_MODEL_SL_CRACKED_ICE = 207\n" +"E_MODEL_SL_CRACKED_ICE_CHUNK = 208\n" +"E_MODEL_WDW_SQUARE_FLOATING_PLATFORM = 209\n" +"E_MODEL_WDW_ARROW_LIFT = 210\n" +"E_MODEL_WDW_WATER_LEVEL_DIAMOND = 211\n" +"E_MODEL_WDW_HIDDEN_PLATFORM = 212\n" +"E_MODEL_WDW_EXPRESS_ELEVATOR = 213\n" +"E_MODEL_WDW_RECTANGULAR_FLOATING_PLATFORM = 214\n" +"E_MODEL_WDW_ROTATING_PLATFORM = 215\n" +"E_MODEL_JRB_SHIP_LEFT_HALF_PART = 216\n" +"E_MODEL_JRB_SHIP_BACK_LEFT_PART = 217\n" +"E_MODEL_JRB_SHIP_RIGHT_HALF_PART = 218\n" +"E_MODEL_JRB_SHIP_BACK_RIGHT_PART = 219\n" +"E_MODEL_JRB_SUNKEN_SHIP = 220\n" +"E_MODEL_JRB_SUNKEN_SHIP_BACK = 221\n" +"E_MODEL_JRB_ROCK = 222\n" +"E_MODEL_JRB_SLIDING_BOX = 223\n" +"E_MODEL_JRB_FALLING_PILLAR = 224\n" +"E_MODEL_JRB_FALLING_PILLAR_BASE = 225\n" +"E_MODEL_JRB_FLOATING_PLATFORM = 226\n" +"E_MODEL_THI_HUGE_ISLAND_TOP = 227\n" +"E_MODEL_THI_TINY_ISLAND_TOP = 228\n" +"E_MODEL_TTC_ROTATING_CUBE = 229\n" +"E_MODEL_TTC_ROTATING_PRISM = 230\n" +"E_MODEL_TTC_PENDULUM = 231\n" +"E_MODEL_TTC_LARGE_TREADMILL = 232\n" +"E_MODEL_TTC_SMALL_TREADMILL = 233\n" +"E_MODEL_TTC_PUSH_BLOCK = 234\n" +"E_MODEL_TTC_ROTATING_HEXAGON = 235\n" +"E_MODEL_TTC_ROTATING_TRIANGLE = 236\n" +"E_MODEL_TTC_PIT_BLOCK = 237\n" +"E_MODEL_TTC_PIT_BLOCK_UNUSED = 238\n" +"E_MODEL_TTC_ELEVATOR_PLATFORM = 239\n" +"E_MODEL_TTC_CLOCK_HAND = 240\n" +"E_MODEL_TTC_SPINNER = 241\n" +"E_MODEL_TTC_SMALL_GEAR = 242\n" +"E_MODEL_TTC_LARGE_GEAR = 243\n" +"E_MODEL_RR_SLIDING_PLATFORM = 244\n" +"E_MODEL_RR_FLYING_CARPET = 245\n" +"E_MODEL_RR_OCTAGONAL_PLATFORM = 246\n" +"E_MODEL_RR_ROTATING_BRIDGE_PLATFORM = 247\n" +"E_MODEL_RR_TRIANGLE_PLATFORM = 248\n" +"E_MODEL_RR_CRUISER_WING = 249\n" +"E_MODEL_RR_SEESAW_PLATFORM = 250\n" +"E_MODEL_RR_L_SHAPED_PLATFORM = 251\n" +"E_MODEL_RR_SWINGING_PLATFORM = 252\n" +"E_MODEL_RR_DONUT_PLATFORM = 253\n" +"E_MODEL_RR_ELEVATOR_PLATFORM = 254\n" +"E_MODEL_RR_TRICKY_TRIANGLES = 255\n" +"E_MODEL_RR_TRICKY_TRIANGLES_FRAME1 = 256\n" +"E_MODEL_RR_TRICKY_TRIANGLES_FRAME2 = 257\n" +"E_MODEL_RR_TRICKY_TRIANGLES_FRAME3 = 258\n" +"E_MODEL_RR_TRICKY_TRIANGLES_FRAME4 = 259\n" +"E_MODEL_BITDW_SQUARE_PLATFORM = 260\n" +"E_MODEL_BITDW_SEESAW_PLATFORM = 261\n" +"E_MODEL_BITDW_SLIDING_PLATFORM = 262\n" +"E_MODEL_BITDW_FERRIS_WHEEL_AXLE = 263\n" +"E_MODEL_BITDW_BLUE_PLATFORM = 264\n" +"E_MODEL_BITDW_STAIRCASE_FRAME4 = 265\n" +"E_MODEL_BITDW_STAIRCASE_FRAME3 = 266\n" +"E_MODEL_BITDW_STAIRCASE_FRAME2 = 267\n" +"E_MODEL_BITDW_STAIRCASE_FRAME1 = 268\n" +"E_MODEL_BITDW_STAIRCASE = 269\n" +"E_MODEL_BITFS_PLATFORM_ON_TRACK = 270\n" +"E_MODEL_BITFS_TILTING_SQUARE_PLATFORM = 271\n" +"E_MODEL_BITFS_SINKING_PLATFORMS = 272\n" +"E_MODEL_BITFS_BLUE_POLE = 273\n" +"E_MODEL_BITFS_SINKING_CAGE_PLATFORM = 274\n" +"E_MODEL_BITFS_ELEVATOR = 275\n" +"E_MODEL_BITFS_STRETCHING_PLATFORMS = 276\n" +"E_MODEL_BITFS_SEESAW_PLATFORM = 277\n" +"E_MODEL_BITFS_MOVING_SQUARE_PLATFORM = 278\n" +"E_MODEL_BITFS_SLIDING_PLATFORM = 279\n" +"E_MODEL_BITFS_TUMBLING_PLATFORM_PART = 280\n" +"E_MODEL_BITFS_TUMBLING_PLATFORM = 281\n" +"E_MODEL_BITS_SLIDING_PLATFORM = 282\n" +"E_MODEL_BITS_TWIN_SLIDING_PLATFORMS = 283\n" +"E_MODEL_BITS_OCTAGONAL_PLATFORM = 284\n" +"E_MODEL_BITS_BLUE_PLATFORM = 285\n" +"E_MODEL_BITS_FERRIS_WHEEL_AXLE = 286\n" +"E_MODEL_BITS_ARROW_PLATFORM = 287\n" +"E_MODEL_BITS_SEESAW_PLATFORM = 288\n" +"E_MODEL_BITS_TILTING_W_PLATFORM = 289\n" +"E_MODEL_BITS_STAIRCASE = 290\n" +"E_MODEL_BITS_STAIRCASE_FRAME1 = 291\n" +"E_MODEL_BITS_STAIRCASE_FRAME2 = 292\n" +"E_MODEL_BITS_STAIRCASE_FRAME3 = 293\n" +"E_MODEL_BITS_STAIRCASE_FRAME4 = 294\n" +"E_MODEL_BITS_WARP_PIPE = 295\n" +"E_MODEL_LLL_DRAWBRIDGE_PART = 296\n" +"E_MODEL_LLL_ROTATING_BLOCK_FIRE_BARS = 297\n" +"E_MODEL_LLL_ROTATING_HEXAGONAL_RING = 298\n" +"E_MODEL_LLL_SINKING_RECTANGULAR_PLATFORM = 299\n" +"E_MODEL_LLL_SINKING_SQUARE_PLATFORMS = 300\n" +"E_MODEL_LLL_TILTING_SQUARE_PLATFORM = 301\n" +"E_MODEL_LLL_BOWSER_PIECE_1 = 302\n" +"E_MODEL_LLL_BOWSER_PIECE_2 = 303\n" +"E_MODEL_LLL_BOWSER_PIECE_3 = 304\n" +"E_MODEL_LLL_BOWSER_PIECE_4 = 305\n" +"E_MODEL_LLL_BOWSER_PIECE_5 = 306\n" +"E_MODEL_LLL_BOWSER_PIECE_6 = 307\n" +"E_MODEL_LLL_BOWSER_PIECE_7 = 308\n" +"E_MODEL_LLL_BOWSER_PIECE_8 = 309\n" +"E_MODEL_LLL_BOWSER_PIECE_9 = 310\n" +"E_MODEL_LLL_BOWSER_PIECE_10 = 311\n" +"E_MODEL_LLL_BOWSER_PIECE_11 = 312\n" +"E_MODEL_LLL_BOWSER_PIECE_12 = 313\n" +"E_MODEL_LLL_BOWSER_PIECE_13 = 314\n" +"E_MODEL_LLL_BOWSER_PIECE_14 = 315\n" +"E_MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM = 316\n" +"E_MODEL_LLL_SINKING_ROCK_BLOCK = 317\n" +"E_MODEL_LLL_ROLLING_LOG = 318\n" +"E_MODEL_LLL_WOOD_BRIDGE = 319\n" +"E_MODEL_LLL_LARGE_WOOD_BRIDGE = 320\n" +"E_MODEL_LLL_FALLING_PLATFORM = 321\n" +"E_MODEL_LLL_LARGE_FALLING_PLATFORM = 322\n" +"E_MODEL_LLL_VOLCANO_FALLING_TRAP = 323\n" +"E_MODEL_DDD_BOWSER_SUB_DOOR = 324\n" +"E_MODEL_DDD_BOWSER_SUB = 325\n" +"E_MODEL_DDD_POLE = 326\n" +"E_MODEL_WF_BREAKABLE_WALL_RIGHT = 327\n" +"E_MODEL_WF_BREAKABLE_WALL_LEFT = 328\n" +"E_MODEL_WF_KICKABLE_BOARD = 329\n" +"E_MODEL_WF_TOWER_DOOR = 330\n" +"E_MODEL_WF_KICKABLE_BOARD_FELLED = 331\n" +"E_MODEL_CASTLE_GROUNDS_VCUTM_GRILL = 332\n" +"E_MODEL_CASTLE_GROUNDS_FLAG = 333\n" +"E_MODEL_CASTLE_GROUNDS_CANNON_GRILL = 334\n" +"E_MODEL_BOWSER_2_TILTING_ARENA = 335\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_1 = 336\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_2 = 337\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_3 = 338\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_4 = 339\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_5 = 340\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_6 = 341\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_7 = 342\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_8 = 343\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_9 = 344\n" +"E_MODEL_BOWSER_3_FALLING_PLATFORM_10 = 345\n" +"E_MODEL_TTM_ROLLING_LOG = 346\n" +"E_MODEL_TTM_STAR_CAGE = 347\n" +"E_MODEL_TTM_BLUE_SMILEY = 348\n" +"E_MODEL_TTM_YELLOW_SMILEY = 349\n" +"E_MODEL_TTM_STAR_SMILEY = 350\n" +"E_MODEL_TTM_MOON_SMILEY = 351\n" +"E_MODEL_BUBBLE_PLAYER = 352\n" +"E_MODEL_LUIGI = 353\n" +"E_MODEL_LUIGIS_CAP = 354\n" +"E_MODEL_LUIGIS_METAL_CAP = 355\n" +"E_MODEL_LUIGIS_WING_CAP = 356\n" +"E_MODEL_LUIGIS_WINGED_METAL_CAP = 357\n" +"E_MODEL_TOAD_PLAYER = 358\n" +"E_MODEL_TOADS_CAP = 359\n" +"E_MODEL_TOADS_METAL_CAP = 360\n" +"E_MODEL_TOADS_WING_CAP = 361\n" +"E_MODEL_WALUIGI = 362\n" +"E_MODEL_WALUIGIS_CAP = 363\n" +"E_MODEL_WALUIGIS_METAL_CAP = 364\n" +"E_MODEL_WALUIGIS_WING_CAP = 365\n" +"E_MODEL_WALUIGIS_WINGED_METAL_CAP = 366\n" +"E_MODEL_WARIO = 367\n" +"E_MODEL_WARIOS_CAP = 368\n" +"E_MODEL_WARIOS_METAL_CAP = 369\n" +"E_MODEL_WARIOS_WING_CAP = 370\n" +"E_MODEL_WARIOS_WINGED_METAL_CAP = 371\n" +"E_MODEL_MAX = 372\n" "SPTASK_STATE_NOT_STARTED = 0\n" "SPTASK_STATE_RUNNING = 1\n" "SPTASK_STATE_INTERRUPTED = 2\n" diff --git a/src/pc/lua/smlua_model_utils.c b/src/pc/lua/smlua_model_utils.c index 86cefbd7d..40f56ae80 100644 --- a/src/pc/lua/smlua_model_utils.c +++ b/src/pc/lua/smlua_model_utils.c @@ -28,6 +28,28 @@ #include "actors/group16.h" #include "actors/group17.h" #include "actors/zcustom0.h" +#include "levels/wf/header.h" +#include "levels/bbh/header.h" +#include "levels/ccm/header.h" +#include "levels/castle_inside/header.h" +#include "levels/castle_grounds/header.h" +#include "levels/hmc/header.h" +#include "levels/ssl/header.h" +#include "levels/bob/header.h" +#include "levels/sl/header.h" +#include "levels/wdw/header.h" +#include "levels/jrb/header.h" +#include "levels/thi/header.h" +#include "levels/ttc/header.h" +#include "levels/rr/header.h" +#include "levels/bitdw/header.h" +#include "levels/bitfs/header.h" +#include "levels/bits/header.h" +#include "levels/lll/header.h" +#include "levels/ddd/header.h" +#include "levels/bowser_2/header.h" +#include "levels/bowser_3/header.h" +#include "levels/ttm/header.h" #include "smlua_model_utils.h" #include "pc/debuglog.h" @@ -44,6 +66,9 @@ struct ModelUtilsInfo { #define MODEL_UTIL_DL(x, y, z) [x] = { .id = x, .asset = y, .layer = z, .isDisplayList = true, .cacheId = 0xFF } struct ModelUtilsInfo sModels[] = { + MODEL_UTIL_GEO(E_MODEL_NONE, NULL), + + // actors MODEL_UTIL_GEO(E_MODEL_MARIO, mario_geo), MODEL_UTIL_GEO(E_MODEL_SMOKE, smoke_geo), MODEL_UTIL_GEO(E_MODEL_SPARKLES, sparkles_geo), @@ -80,7 +105,6 @@ struct ModelUtilsInfo sModels[] = { MODEL_UTIL_GEO(E_MODEL_MARIOS_METAL_CAP, marios_metal_cap_geo), MODEL_UTIL_GEO(E_MODEL_MARIOS_WING_CAP, marios_wing_cap_geo), MODEL_UTIL_GEO(E_MODEL_MARIOS_CAP, marios_cap_geo), - MODEL_UTIL_GEO(E_MODEL_MARIOS_CAP2, marios_cap_geo), // repeated MODEL_UTIL_GEO(E_MODEL_BOWSER_KEY_CUTSCENE, bowser_key_cutscene_geo), MODEL_UTIL_GEO(E_MODEL_BOWSER_KEY, bowser_key_geo), MODEL_UTIL_GEO(E_MODEL_RED_FLAME_SHADOW, red_flame_shadow_geo), @@ -201,7 +225,205 @@ struct ModelUtilsInfo sModels[] = { MODEL_UTIL_GEO(E_MODEL_DORRIE, dorrie_geo), MODEL_UTIL_GEO(E_MODEL_SNUFIT, snufit_geo), - // CUSTOM MODELS BEGIN + // level + MODEL_UTIL_GEO(E_MODEL_BUBBLY_TREE, bubbly_tree_geo), + MODEL_UTIL_GEO(E_MODEL_COURTYARD_SPIKY_TREE, spiky_tree_geo), + MODEL_UTIL_GEO(E_MODEL_SNOW_TREE, snow_tree_geo), + MODEL_UTIL_GEO(E_MODEL_PALM_TREE, palm_tree_geo), + MODEL_UTIL_GEO(E_MODEL_CASTLE_CASTLE_DOOR, castle_door_geo), + MODEL_UTIL_GEO(E_MODEL_BBH_HAUNTED_DOOR, haunted_door_geo), + MODEL_UTIL_GEO(E_MODEL_HMC_WOODEN_DOOR, wooden_door_geo), + MODEL_UTIL_GEO(E_MODEL_HMC_METAL_DOOR, metal_door_geo), + MODEL_UTIL_GEO(E_MODEL_HMC_HAZY_MAZE_DOOR, hazy_maze_door_geo), + MODEL_UTIL_GEO(E_MODEL_CASTLE_DOOR_0_STARS, castle_door_0_star_geo), + MODEL_UTIL_GEO(E_MODEL_CASTLE_DOOR_1_STAR, castle_door_1_star_geo), + MODEL_UTIL_GEO(E_MODEL_CASTLE_DOOR_3_STARS, castle_door_3_stars_geo), + MODEL_UTIL_GEO(E_MODEL_CASTLE_KEY_DOOR, key_door_geo), + MODEL_UTIL_GEO(E_MODEL_CCM_CABIN_DOOR, cabin_door_geo), + MODEL_UTIL_GEO(E_MODEL_CASTLE_METAL_DOOR, metal_door_geo), + MODEL_UTIL_GEO(E_MODEL_CASTLE_GROUNDS_METAL_DOOR, metal_door_geo), + MODEL_UTIL_GEO(E_MODEL_WF_TOWER_TRAPEZOID_PLATORM, wf_geo_000AF8), + MODEL_UTIL_GEO(E_MODEL_WF_TOWER_SQUARE_PLATORM, wf_geo_000B10), + MODEL_UTIL_GEO(E_MODEL_WF_TOWER_SQUARE_PLATORM_UNUSED, wf_geo_000B38), + MODEL_UTIL_GEO(E_MODEL_WF_TOWER_SQUARE_PLATORM_ELEVATOR, wf_geo_000B60), + MODEL_UTIL_GEO(E_MODEL_BBH_STAIRCASE_STEP, geo_bbh_0005B0), + MODEL_UTIL_GEO(E_MODEL_BBH_TILTING_FLOOR_PLATFORM, geo_bbh_0005C8), + MODEL_UTIL_GEO(E_MODEL_BBH_TUMBLING_PLATFORM, geo_bbh_0005E0), + MODEL_UTIL_GEO(E_MODEL_BBH_TUMBLING_PLATFORM_PART, geo_bbh_0005F8), + MODEL_UTIL_GEO(E_MODEL_BBH_MOVING_BOOKSHELF, geo_bbh_000610), + MODEL_UTIL_GEO(E_MODEL_BBH_MESH_ELEVATOR, geo_bbh_000628), + MODEL_UTIL_GEO(E_MODEL_BBH_MERRY_GO_ROUND, geo_bbh_000640), + MODEL_UTIL_GEO(E_MODEL_BBH_WOODEN_TOMB, geo_bbh_000658), + MODEL_UTIL_GEO(E_MODEL_CCM_ROPEWAY_LIFT, ccm_geo_0003D0), + MODEL_UTIL_GEO(E_MODEL_CCM_SNOWMAN_HEAD, ccm_geo_00040C), + MODEL_UTIL_GEO(E_MODEL_CASTLE_BOWSER_TRAP, castle_geo_000F18), + MODEL_UTIL_GEO(E_MODEL_CASTLE_WATER_LEVEL_PILLAR, castle_geo_001940), + MODEL_UTIL_GEO(E_MODEL_CASTLE_CLOCK_MINUTE_HAND, castle_geo_001530), + MODEL_UTIL_GEO(E_MODEL_CASTLE_CLOCK_HOUR_HAND, castle_geo_001548), + MODEL_UTIL_GEO(E_MODEL_CASTLE_CLOCK_PENDULUM, castle_geo_001518), + MODEL_UTIL_GEO(E_MODEL_HMC_METAL_PLATFORM, hmc_geo_0005A0), + MODEL_UTIL_GEO(E_MODEL_HMC_METAL_ARROW_PLATFORM, hmc_geo_0005B8), + MODEL_UTIL_GEO(E_MODEL_HMC_ELEVATOR_PLATFORM, hmc_geo_0005D0), + MODEL_UTIL_GEO(E_MODEL_HMC_ROLLING_ROCK, hmc_geo_000548), + MODEL_UTIL_GEO(E_MODEL_HMC_ROCK_PIECE, hmc_geo_000570), + MODEL_UTIL_GEO(E_MODEL_HMC_ROCK_SMALL_PIECE, hmc_geo_000588), + MODEL_UTIL_GEO(E_MODEL_HMC_RED_GRILLS, hmc_geo_000530), + MODEL_UTIL_GEO(E_MODEL_SSL_PYRAMID_TOP, ssl_geo_000618), + MODEL_UTIL_GEO(E_MODEL_SSL_GRINDEL, ssl_geo_000734), + MODEL_UTIL_GEO(E_MODEL_SSL_SPINDEL, ssl_geo_000764), + MODEL_UTIL_GEO(E_MODEL_SSL_MOVING_PYRAMID_WALL, ssl_geo_000794), + MODEL_UTIL_GEO(E_MODEL_SSL_PYRAMID_ELEVATOR, ssl_geo_0007AC), + MODEL_UTIL_GEO(E_MODEL_BOB_CHAIN_CHOMP_GATE, bob_geo_000440), + MODEL_UTIL_GEO(E_MODEL_BOB_SEESAW_PLATFORM, bob_geo_000458), + MODEL_UTIL_GEO(E_MODEL_BOB_BARS_GRILLS, bob_geo_000470), + MODEL_UTIL_GEO(E_MODEL_SL_SNOW_TRIANGLE, sl_geo_000390), + MODEL_UTIL_GEO(E_MODEL_SL_CRACKED_ICE, sl_geo_000360), + MODEL_UTIL_GEO(E_MODEL_SL_CRACKED_ICE_CHUNK, sl_geo_000378), + MODEL_UTIL_GEO(E_MODEL_WDW_SQUARE_FLOATING_PLATFORM, wdw_geo_000580), + MODEL_UTIL_GEO(E_MODEL_WDW_ARROW_LIFT, wdw_geo_000598), + MODEL_UTIL_GEO(E_MODEL_WDW_WATER_LEVEL_DIAMOND, wdw_geo_0005C0), + MODEL_UTIL_GEO(E_MODEL_WDW_HIDDEN_PLATFORM, wdw_geo_0005E8), + MODEL_UTIL_GEO(E_MODEL_WDW_EXPRESS_ELEVATOR, wdw_geo_000610), + MODEL_UTIL_GEO(E_MODEL_WDW_RECTANGULAR_FLOATING_PLATFORM, wdw_geo_000628), + MODEL_UTIL_GEO(E_MODEL_WDW_ROTATING_PLATFORM, wdw_geo_000640), + MODEL_UTIL_GEO(E_MODEL_JRB_SHIP_LEFT_HALF_PART, jrb_geo_000978), + MODEL_UTIL_GEO(E_MODEL_JRB_SHIP_BACK_LEFT_PART, jrb_geo_0009B0), + MODEL_UTIL_GEO(E_MODEL_JRB_SHIP_RIGHT_HALF_PART, jrb_geo_0009E8), + MODEL_UTIL_GEO(E_MODEL_JRB_SHIP_BACK_RIGHT_PART, jrb_geo_000A00), + MODEL_UTIL_GEO(E_MODEL_JRB_SUNKEN_SHIP, jrb_geo_000990), + MODEL_UTIL_GEO(E_MODEL_JRB_SUNKEN_SHIP_BACK, jrb_geo_0009C8), + MODEL_UTIL_GEO(E_MODEL_JRB_ROCK, jrb_geo_000930), + MODEL_UTIL_GEO(E_MODEL_JRB_SLIDING_BOX, jrb_geo_000960), + MODEL_UTIL_GEO(E_MODEL_JRB_FALLING_PILLAR, jrb_geo_000900), + MODEL_UTIL_GEO(E_MODEL_JRB_FALLING_PILLAR_BASE, jrb_geo_000918), + MODEL_UTIL_GEO(E_MODEL_JRB_FLOATING_PLATFORM, jrb_geo_000948), + MODEL_UTIL_GEO(E_MODEL_THI_HUGE_ISLAND_TOP, thi_geo_0005B0), + MODEL_UTIL_GEO(E_MODEL_THI_TINY_ISLAND_TOP, thi_geo_0005C8), + MODEL_UTIL_GEO(E_MODEL_TTC_ROTATING_CUBE, ttc_geo_000240), + MODEL_UTIL_GEO(E_MODEL_TTC_ROTATING_PRISM, ttc_geo_000258), + MODEL_UTIL_GEO(E_MODEL_TTC_PENDULUM, ttc_geo_000270), + MODEL_UTIL_GEO(E_MODEL_TTC_LARGE_TREADMILL, ttc_geo_000288), + MODEL_UTIL_GEO(E_MODEL_TTC_SMALL_TREADMILL, ttc_geo_0002A8), + MODEL_UTIL_GEO(E_MODEL_TTC_PUSH_BLOCK, ttc_geo_0002C8), + MODEL_UTIL_GEO(E_MODEL_TTC_ROTATING_HEXAGON, ttc_geo_0002E0), + MODEL_UTIL_GEO(E_MODEL_TTC_ROTATING_TRIANGLE, ttc_geo_0002F8), + MODEL_UTIL_GEO(E_MODEL_TTC_PIT_BLOCK, ttc_geo_000310), + MODEL_UTIL_GEO(E_MODEL_TTC_PIT_BLOCK_UNUSED, ttc_geo_000328), + MODEL_UTIL_GEO(E_MODEL_TTC_ELEVATOR_PLATFORM, ttc_geo_000340), + MODEL_UTIL_GEO(E_MODEL_TTC_CLOCK_HAND, ttc_geo_000358), + MODEL_UTIL_GEO(E_MODEL_TTC_SPINNER, ttc_geo_000370), + MODEL_UTIL_GEO(E_MODEL_TTC_SMALL_GEAR, ttc_geo_000388), + MODEL_UTIL_GEO(E_MODEL_TTC_LARGE_GEAR, ttc_geo_0003A0), + MODEL_UTIL_GEO(E_MODEL_RR_SLIDING_PLATFORM, rr_geo_0008C0), + MODEL_UTIL_GEO(E_MODEL_RR_FLYING_CARPET, rr_geo_000848), + MODEL_UTIL_GEO(E_MODEL_RR_OCTAGONAL_PLATFORM, rr_geo_0008A8), + MODEL_UTIL_GEO(E_MODEL_RR_ROTATING_BRIDGE_PLATFORM, rr_geo_000878), + MODEL_UTIL_GEO(E_MODEL_RR_TRIANGLE_PLATFORM, rr_geo_0008D8), + MODEL_UTIL_GEO(E_MODEL_RR_CRUISER_WING, rr_geo_000890), + MODEL_UTIL_GEO(E_MODEL_RR_SEESAW_PLATFORM, rr_geo_000908), + MODEL_UTIL_GEO(E_MODEL_RR_L_SHAPED_PLATFORM, rr_geo_000940), + MODEL_UTIL_GEO(E_MODEL_RR_SWINGING_PLATFORM, rr_geo_000860), + MODEL_UTIL_GEO(E_MODEL_RR_DONUT_PLATFORM, rr_geo_000920), + MODEL_UTIL_GEO(E_MODEL_RR_ELEVATOR_PLATFORM, rr_geo_0008F0), + MODEL_UTIL_GEO(E_MODEL_RR_TRICKY_TRIANGLES, rr_geo_000958), + MODEL_UTIL_GEO(E_MODEL_RR_TRICKY_TRIANGLES_FRAME1, rr_geo_000970), + MODEL_UTIL_GEO(E_MODEL_RR_TRICKY_TRIANGLES_FRAME2, rr_geo_000988), + MODEL_UTIL_GEO(E_MODEL_RR_TRICKY_TRIANGLES_FRAME3, rr_geo_0009A0), + MODEL_UTIL_GEO(E_MODEL_RR_TRICKY_TRIANGLES_FRAME4, rr_geo_0009B8), + MODEL_UTIL_GEO(E_MODEL_BITDW_SQUARE_PLATFORM, geo_bitdw_000558), + MODEL_UTIL_GEO(E_MODEL_BITDW_SEESAW_PLATFORM, geo_bitdw_000540), + MODEL_UTIL_GEO(E_MODEL_BITDW_SLIDING_PLATFORM, geo_bitdw_000528), + MODEL_UTIL_GEO(E_MODEL_BITDW_FERRIS_WHEEL_AXLE, geo_bitdw_000570), + MODEL_UTIL_GEO(E_MODEL_BITDW_BLUE_PLATFORM, geo_bitdw_000588), + MODEL_UTIL_GEO(E_MODEL_BITDW_STAIRCASE_FRAME4, geo_bitdw_0005A0), + MODEL_UTIL_GEO(E_MODEL_BITDW_STAIRCASE_FRAME3, geo_bitdw_0005B8), + MODEL_UTIL_GEO(E_MODEL_BITDW_STAIRCASE_FRAME2, geo_bitdw_0005D0), + MODEL_UTIL_GEO(E_MODEL_BITDW_STAIRCASE_FRAME1, geo_bitdw_0005E8), + MODEL_UTIL_GEO(E_MODEL_BITDW_STAIRCASE, geo_bitdw_000600), + MODEL_UTIL_GEO(E_MODEL_BITFS_PLATFORM_ON_TRACK, bitfs_geo_000758), + MODEL_UTIL_GEO(E_MODEL_BITFS_TILTING_SQUARE_PLATFORM, bitfs_geo_0006C0), + MODEL_UTIL_GEO(E_MODEL_BITFS_SINKING_PLATFORMS, bitfs_geo_000770), + MODEL_UTIL_GEO(E_MODEL_BITFS_BLUE_POLE, bitfs_geo_0006A8), + MODEL_UTIL_GEO(E_MODEL_BITFS_SINKING_CAGE_PLATFORM, bitfs_geo_000690), + MODEL_UTIL_GEO(E_MODEL_BITFS_ELEVATOR, bitfs_geo_000678), + MODEL_UTIL_GEO(E_MODEL_BITFS_STRETCHING_PLATFORMS, bitfs_geo_000708), + MODEL_UTIL_GEO(E_MODEL_BITFS_SEESAW_PLATFORM, bitfs_geo_000788), + MODEL_UTIL_GEO(E_MODEL_BITFS_MOVING_SQUARE_PLATFORM, bitfs_geo_000728), + MODEL_UTIL_GEO(E_MODEL_BITFS_SLIDING_PLATFORM, bitfs_geo_000740), + MODEL_UTIL_GEO(E_MODEL_BITFS_TUMBLING_PLATFORM_PART, bitfs_geo_0006D8), + MODEL_UTIL_GEO(E_MODEL_BITFS_TUMBLING_PLATFORM, bitfs_geo_0006F0), + MODEL_UTIL_GEO(E_MODEL_BITS_SLIDING_PLATFORM, bits_geo_0005E0), + MODEL_UTIL_GEO(E_MODEL_BITS_TWIN_SLIDING_PLATFORMS, bits_geo_0005F8), + MODEL_UTIL_GEO(E_MODEL_BITS_OCTAGONAL_PLATFORM, bits_geo_000610), + MODEL_UTIL_GEO(E_MODEL_BITS_BLUE_PLATFORM, bits_geo_000628), + MODEL_UTIL_GEO(E_MODEL_BITS_FERRIS_WHEEL_AXLE, bits_geo_000640), + MODEL_UTIL_GEO(E_MODEL_BITS_ARROW_PLATFORM, bits_geo_000658), + MODEL_UTIL_GEO(E_MODEL_BITS_SEESAW_PLATFORM, bits_geo_000670), + MODEL_UTIL_GEO(E_MODEL_BITS_TILTING_W_PLATFORM, bits_geo_000688), + MODEL_UTIL_GEO(E_MODEL_BITS_STAIRCASE, bits_geo_0006A0), + MODEL_UTIL_GEO(E_MODEL_BITS_STAIRCASE_FRAME1, bits_geo_0006B8), + MODEL_UTIL_GEO(E_MODEL_BITS_STAIRCASE_FRAME2, bits_geo_0006D0), + MODEL_UTIL_GEO(E_MODEL_BITS_STAIRCASE_FRAME3, bits_geo_0006E8), + MODEL_UTIL_GEO(E_MODEL_BITS_STAIRCASE_FRAME4, bits_geo_000700), + MODEL_UTIL_GEO(E_MODEL_BITS_WARP_PIPE, warp_pipe_geo), + MODEL_UTIL_GEO(E_MODEL_LLL_DRAWBRIDGE_PART, lll_geo_000B20), + MODEL_UTIL_GEO(E_MODEL_LLL_ROTATING_BLOCK_FIRE_BARS, lll_geo_000B38), + MODEL_UTIL_GEO(E_MODEL_LLL_ROTATING_HEXAGONAL_RING, lll_geo_000BB0), + MODEL_UTIL_GEO(E_MODEL_LLL_SINKING_RECTANGULAR_PLATFORM, lll_geo_000BC8), + MODEL_UTIL_GEO(E_MODEL_LLL_SINKING_SQUARE_PLATFORMS, lll_geo_000BE0), + MODEL_UTIL_GEO(E_MODEL_LLL_TILTING_SQUARE_PLATFORM, lll_geo_000BF8), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_1, lll_geo_000C10), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_2, lll_geo_000C30), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_3, lll_geo_000C50), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_4, lll_geo_000C70), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_5, lll_geo_000C90), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_6, lll_geo_000CB0), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_7, lll_geo_000CD0), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_8, lll_geo_000CF0), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_9, lll_geo_000D10), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_10, lll_geo_000D30), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_11, lll_geo_000D50), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_12, lll_geo_000D70), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_13, lll_geo_000D90), + MODEL_UTIL_GEO(E_MODEL_LLL_BOWSER_PIECE_14, lll_geo_000DB0), + MODEL_UTIL_GEO(E_MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM, lll_geo_000B08), + MODEL_UTIL_GEO(E_MODEL_LLL_SINKING_ROCK_BLOCK, lll_geo_000DD0), + MODEL_UTIL_GEO(E_MODEL_LLL_ROLLING_LOG, lll_geo_000DE8), + MODEL_UTIL_GEO(E_MODEL_LLL_WOOD_BRIDGE, lll_geo_000B50), + MODEL_UTIL_GEO(E_MODEL_LLL_LARGE_WOOD_BRIDGE, lll_geo_000B68), + MODEL_UTIL_GEO(E_MODEL_LLL_FALLING_PLATFORM, lll_geo_000B80), + MODEL_UTIL_GEO(E_MODEL_LLL_LARGE_FALLING_PLATFORM, lll_geo_000B98), + MODEL_UTIL_GEO(E_MODEL_LLL_VOLCANO_FALLING_TRAP, lll_geo_000EA8), + MODEL_UTIL_GEO(E_MODEL_DDD_BOWSER_SUB_DOOR, ddd_geo_000478), + MODEL_UTIL_GEO(E_MODEL_DDD_BOWSER_SUB, ddd_geo_0004A0), + MODEL_UTIL_GEO(E_MODEL_DDD_POLE, ddd_geo_000450), + MODEL_UTIL_GEO(E_MODEL_WF_BREAKABLE_WALL_RIGHT, wf_geo_000B78), + MODEL_UTIL_GEO(E_MODEL_WF_BREAKABLE_WALL_LEFT, wf_geo_000B90), + MODEL_UTIL_GEO(E_MODEL_WF_KICKABLE_BOARD, wf_geo_000BA8), + MODEL_UTIL_GEO(E_MODEL_WF_TOWER_DOOR, wf_geo_000BE0), + MODEL_UTIL_GEO(E_MODEL_WF_KICKABLE_BOARD_FELLED, wf_geo_000BC8), + MODEL_UTIL_GEO(E_MODEL_CASTLE_GROUNDS_VCUTM_GRILL, castle_grounds_geo_00070C), + MODEL_UTIL_GEO(E_MODEL_CASTLE_GROUNDS_FLAG, castle_grounds_geo_000660), + MODEL_UTIL_GEO(E_MODEL_CASTLE_GROUNDS_CANNON_GRILL, castle_grounds_geo_000724), + MODEL_UTIL_GEO(E_MODEL_BOWSER_2_TILTING_ARENA, bowser_2_geo_000170), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_1, bowser_3_geo_000290), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_2, bowser_3_geo_0002A8), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_3, bowser_3_geo_0002C0), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_4, bowser_3_geo_0002D8), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_5, bowser_3_geo_0002F0), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_6, bowser_3_geo_000308), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_7, bowser_3_geo_000320), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_8, bowser_3_geo_000338), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_9, bowser_3_geo_000350), + MODEL_UTIL_GEO(E_MODEL_BOWSER_3_FALLING_PLATFORM_10, bowser_3_geo_000368), + MODEL_UTIL_GEO(E_MODEL_TTM_ROLLING_LOG, ttm_geo_000730), + MODEL_UTIL_GEO(E_MODEL_TTM_STAR_CAGE, ttm_geo_000710), + MODEL_UTIL_GEO(E_MODEL_TTM_BLUE_SMILEY, ttm_geo_000D14), + MODEL_UTIL_GEO(E_MODEL_TTM_YELLOW_SMILEY, ttm_geo_000D4C), + MODEL_UTIL_GEO(E_MODEL_TTM_STAR_SMILEY, ttm_geo_000D84), + MODEL_UTIL_GEO(E_MODEL_TTM_MOON_SMILEY, ttm_geo_000DBC), + + // custom models MODEL_UTIL_GEO(E_MODEL_BUBBLE_PLAYER, water_bomb_geo), MODEL_UTIL_GEO(E_MODEL_LUIGI, luigi_geo), MODEL_UTIL_GEO(E_MODEL_LUIGIS_CAP, luigis_cap_geo), @@ -222,7 +444,6 @@ struct ModelUtilsInfo sModels[] = { MODEL_UTIL_GEO(E_MODEL_WARIOS_METAL_CAP, warios_metal_cap_geo), MODEL_UTIL_GEO(E_MODEL_WARIOS_WING_CAP, warios_wing_cap_geo), MODEL_UTIL_GEO(E_MODEL_WARIOS_WINGED_METAL_CAP, warios_winged_metal_cap_geo), - // CUSTOM MODELS END }; struct ModelUtilsInfo sCachedAssets[256] = { 0 }; @@ -246,6 +467,7 @@ void smlua_model_util_clear(void) { } u8 smlua_model_util_load(enum ModelExtendedId id) { + if (id == E_MODEL_NONE) { return MODEL_NONE; } if (id >= E_MODEL_MAX) { LOG_ERROR("id invalid"); return 0xFF; diff --git a/src/pc/lua/smlua_model_utils.h b/src/pc/lua/smlua_model_utils.h index 8c493a813..8d4867da7 100644 --- a/src/pc/lua/smlua_model_utils.h +++ b/src/pc/lua/smlua_model_utils.h @@ -2,6 +2,9 @@ #define SMLUA_MODEL_UTILS_H enum ModelExtendedId { + E_MODEL_NONE, + + // actors E_MODEL_MARIO, E_MODEL_SMOKE, E_MODEL_SPARKLES, @@ -38,7 +41,6 @@ enum ModelExtendedId { E_MODEL_MARIOS_METAL_CAP, E_MODEL_MARIOS_WING_CAP, E_MODEL_MARIOS_CAP, - E_MODEL_MARIOS_CAP2, E_MODEL_BOWSER_KEY_CUTSCENE, E_MODEL_BOWSER_KEY, E_MODEL_RED_FLAME_SHADOW, @@ -158,7 +160,206 @@ enum ModelExtendedId { E_MODEL_MR_I, E_MODEL_DORRIE, E_MODEL_SNUFIT, - // CUSTOM MODELS BEGIN + + // level + E_MODEL_BUBBLY_TREE, + E_MODEL_COURTYARD_SPIKY_TREE, + E_MODEL_SNOW_TREE, + E_MODEL_PALM_TREE, + E_MODEL_CASTLE_CASTLE_DOOR, + E_MODEL_BBH_HAUNTED_DOOR, + E_MODEL_HMC_WOODEN_DOOR, + E_MODEL_HMC_METAL_DOOR, + E_MODEL_HMC_HAZY_MAZE_DOOR, + E_MODEL_CASTLE_DOOR_0_STARS, + E_MODEL_CASTLE_DOOR_1_STAR, + E_MODEL_CASTLE_DOOR_3_STARS, + E_MODEL_CASTLE_KEY_DOOR, + E_MODEL_CCM_CABIN_DOOR, + E_MODEL_CASTLE_METAL_DOOR, + E_MODEL_CASTLE_GROUNDS_METAL_DOOR, + E_MODEL_WF_TOWER_TRAPEZOID_PLATORM, + E_MODEL_WF_TOWER_SQUARE_PLATORM, + E_MODEL_WF_TOWER_SQUARE_PLATORM_UNUSED, + E_MODEL_WF_TOWER_SQUARE_PLATORM_ELEVATOR, + E_MODEL_BBH_STAIRCASE_STEP, + E_MODEL_BBH_TILTING_FLOOR_PLATFORM, + E_MODEL_BBH_TUMBLING_PLATFORM, + E_MODEL_BBH_TUMBLING_PLATFORM_PART, + E_MODEL_BBH_MOVING_BOOKSHELF, + E_MODEL_BBH_MESH_ELEVATOR, + E_MODEL_BBH_MERRY_GO_ROUND, + E_MODEL_BBH_WOODEN_TOMB, + E_MODEL_CCM_ROPEWAY_LIFT, + E_MODEL_CCM_SNOWMAN_HEAD, + E_MODEL_CASTLE_BOWSER_TRAP, + E_MODEL_CASTLE_WATER_LEVEL_PILLAR, + E_MODEL_CASTLE_CLOCK_MINUTE_HAND, + E_MODEL_CASTLE_CLOCK_HOUR_HAND, + E_MODEL_CASTLE_CLOCK_PENDULUM, + E_MODEL_HMC_METAL_PLATFORM, + E_MODEL_HMC_METAL_ARROW_PLATFORM, + E_MODEL_HMC_ELEVATOR_PLATFORM, + E_MODEL_HMC_ROLLING_ROCK, + E_MODEL_HMC_ROCK_PIECE, + E_MODEL_HMC_ROCK_SMALL_PIECE, + E_MODEL_HMC_RED_GRILLS, + E_MODEL_SSL_PYRAMID_TOP, + E_MODEL_SSL_GRINDEL, + E_MODEL_SSL_SPINDEL, + E_MODEL_SSL_MOVING_PYRAMID_WALL, + E_MODEL_SSL_PYRAMID_ELEVATOR, + E_MODEL_BOB_CHAIN_CHOMP_GATE, + E_MODEL_BOB_SEESAW_PLATFORM, + E_MODEL_BOB_BARS_GRILLS, + E_MODEL_SL_SNOW_TRIANGLE, + E_MODEL_SL_CRACKED_ICE, + E_MODEL_SL_CRACKED_ICE_CHUNK, + E_MODEL_WDW_SQUARE_FLOATING_PLATFORM, + E_MODEL_WDW_ARROW_LIFT, + E_MODEL_WDW_WATER_LEVEL_DIAMOND, + E_MODEL_WDW_HIDDEN_PLATFORM, + E_MODEL_WDW_EXPRESS_ELEVATOR, + E_MODEL_WDW_RECTANGULAR_FLOATING_PLATFORM, + E_MODEL_WDW_ROTATING_PLATFORM, + E_MODEL_JRB_SHIP_LEFT_HALF_PART, + E_MODEL_JRB_SHIP_BACK_LEFT_PART, + E_MODEL_JRB_SHIP_RIGHT_HALF_PART, + E_MODEL_JRB_SHIP_BACK_RIGHT_PART, + E_MODEL_JRB_SUNKEN_SHIP, + E_MODEL_JRB_SUNKEN_SHIP_BACK, + E_MODEL_JRB_ROCK, + E_MODEL_JRB_SLIDING_BOX, + E_MODEL_JRB_FALLING_PILLAR, + E_MODEL_JRB_FALLING_PILLAR_BASE, + E_MODEL_JRB_FLOATING_PLATFORM, + E_MODEL_THI_HUGE_ISLAND_TOP, + E_MODEL_THI_TINY_ISLAND_TOP, + E_MODEL_TTC_ROTATING_CUBE, + E_MODEL_TTC_ROTATING_PRISM, + E_MODEL_TTC_PENDULUM, + E_MODEL_TTC_LARGE_TREADMILL, + E_MODEL_TTC_SMALL_TREADMILL, + E_MODEL_TTC_PUSH_BLOCK, + E_MODEL_TTC_ROTATING_HEXAGON, + E_MODEL_TTC_ROTATING_TRIANGLE, + E_MODEL_TTC_PIT_BLOCK, + E_MODEL_TTC_PIT_BLOCK_UNUSED, + E_MODEL_TTC_ELEVATOR_PLATFORM, + E_MODEL_TTC_CLOCK_HAND, + E_MODEL_TTC_SPINNER, + E_MODEL_TTC_SMALL_GEAR, + E_MODEL_TTC_LARGE_GEAR, + E_MODEL_RR_SLIDING_PLATFORM, + E_MODEL_RR_FLYING_CARPET, + E_MODEL_RR_OCTAGONAL_PLATFORM, + E_MODEL_RR_ROTATING_BRIDGE_PLATFORM, + E_MODEL_RR_TRIANGLE_PLATFORM, + E_MODEL_RR_CRUISER_WING, + E_MODEL_RR_SEESAW_PLATFORM, + E_MODEL_RR_L_SHAPED_PLATFORM, + E_MODEL_RR_SWINGING_PLATFORM, + E_MODEL_RR_DONUT_PLATFORM, + E_MODEL_RR_ELEVATOR_PLATFORM, + E_MODEL_RR_TRICKY_TRIANGLES, + E_MODEL_RR_TRICKY_TRIANGLES_FRAME1, + E_MODEL_RR_TRICKY_TRIANGLES_FRAME2, + E_MODEL_RR_TRICKY_TRIANGLES_FRAME3, + E_MODEL_RR_TRICKY_TRIANGLES_FRAME4, + E_MODEL_BITDW_SQUARE_PLATFORM, + E_MODEL_BITDW_SEESAW_PLATFORM, + E_MODEL_BITDW_SLIDING_PLATFORM, + E_MODEL_BITDW_FERRIS_WHEEL_AXLE, + E_MODEL_BITDW_BLUE_PLATFORM, + E_MODEL_BITDW_STAIRCASE_FRAME4, + E_MODEL_BITDW_STAIRCASE_FRAME3, + E_MODEL_BITDW_STAIRCASE_FRAME2, + E_MODEL_BITDW_STAIRCASE_FRAME1, + E_MODEL_BITDW_STAIRCASE, + E_MODEL_BITFS_PLATFORM_ON_TRACK, + E_MODEL_BITFS_TILTING_SQUARE_PLATFORM, + E_MODEL_BITFS_SINKING_PLATFORMS, + E_MODEL_BITFS_BLUE_POLE, + E_MODEL_BITFS_SINKING_CAGE_PLATFORM, + E_MODEL_BITFS_ELEVATOR, + E_MODEL_BITFS_STRETCHING_PLATFORMS, + E_MODEL_BITFS_SEESAW_PLATFORM, + E_MODEL_BITFS_MOVING_SQUARE_PLATFORM, + E_MODEL_BITFS_SLIDING_PLATFORM, + E_MODEL_BITFS_TUMBLING_PLATFORM_PART, + E_MODEL_BITFS_TUMBLING_PLATFORM, + E_MODEL_BITS_SLIDING_PLATFORM, + E_MODEL_BITS_TWIN_SLIDING_PLATFORMS, + E_MODEL_BITS_OCTAGONAL_PLATFORM, + E_MODEL_BITS_BLUE_PLATFORM, + E_MODEL_BITS_FERRIS_WHEEL_AXLE, + E_MODEL_BITS_ARROW_PLATFORM, + E_MODEL_BITS_SEESAW_PLATFORM, + E_MODEL_BITS_TILTING_W_PLATFORM, + E_MODEL_BITS_STAIRCASE, + E_MODEL_BITS_STAIRCASE_FRAME1, + E_MODEL_BITS_STAIRCASE_FRAME2, + E_MODEL_BITS_STAIRCASE_FRAME3, + E_MODEL_BITS_STAIRCASE_FRAME4, + E_MODEL_BITS_WARP_PIPE, + E_MODEL_LLL_DRAWBRIDGE_PART, + E_MODEL_LLL_ROTATING_BLOCK_FIRE_BARS, + E_MODEL_LLL_ROTATING_HEXAGONAL_RING, + E_MODEL_LLL_SINKING_RECTANGULAR_PLATFORM, + E_MODEL_LLL_SINKING_SQUARE_PLATFORMS, + E_MODEL_LLL_TILTING_SQUARE_PLATFORM, + E_MODEL_LLL_BOWSER_PIECE_1, + E_MODEL_LLL_BOWSER_PIECE_2, + E_MODEL_LLL_BOWSER_PIECE_3, + E_MODEL_LLL_BOWSER_PIECE_4, + E_MODEL_LLL_BOWSER_PIECE_5, + E_MODEL_LLL_BOWSER_PIECE_6, + E_MODEL_LLL_BOWSER_PIECE_7, + E_MODEL_LLL_BOWSER_PIECE_8, + E_MODEL_LLL_BOWSER_PIECE_9, + E_MODEL_LLL_BOWSER_PIECE_10, + E_MODEL_LLL_BOWSER_PIECE_11, + E_MODEL_LLL_BOWSER_PIECE_12, + E_MODEL_LLL_BOWSER_PIECE_13, + E_MODEL_LLL_BOWSER_PIECE_14, + E_MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM, + E_MODEL_LLL_SINKING_ROCK_BLOCK, + E_MODEL_LLL_ROLLING_LOG, + E_MODEL_LLL_WOOD_BRIDGE, + E_MODEL_LLL_LARGE_WOOD_BRIDGE, + E_MODEL_LLL_FALLING_PLATFORM, + E_MODEL_LLL_LARGE_FALLING_PLATFORM, + E_MODEL_LLL_VOLCANO_FALLING_TRAP, + E_MODEL_DDD_BOWSER_SUB_DOOR, + E_MODEL_DDD_BOWSER_SUB, + E_MODEL_DDD_POLE, + E_MODEL_WF_BREAKABLE_WALL_RIGHT, + E_MODEL_WF_BREAKABLE_WALL_LEFT, + E_MODEL_WF_KICKABLE_BOARD, + E_MODEL_WF_TOWER_DOOR, + E_MODEL_WF_KICKABLE_BOARD_FELLED, + E_MODEL_CASTLE_GROUNDS_VCUTM_GRILL, + E_MODEL_CASTLE_GROUNDS_FLAG, + E_MODEL_CASTLE_GROUNDS_CANNON_GRILL, + E_MODEL_BOWSER_2_TILTING_ARENA, + E_MODEL_BOWSER_3_FALLING_PLATFORM_1, + E_MODEL_BOWSER_3_FALLING_PLATFORM_2, + E_MODEL_BOWSER_3_FALLING_PLATFORM_3, + E_MODEL_BOWSER_3_FALLING_PLATFORM_4, + E_MODEL_BOWSER_3_FALLING_PLATFORM_5, + E_MODEL_BOWSER_3_FALLING_PLATFORM_6, + E_MODEL_BOWSER_3_FALLING_PLATFORM_7, + E_MODEL_BOWSER_3_FALLING_PLATFORM_8, + E_MODEL_BOWSER_3_FALLING_PLATFORM_9, + E_MODEL_BOWSER_3_FALLING_PLATFORM_10, + E_MODEL_TTM_ROLLING_LOG, + E_MODEL_TTM_STAR_CAGE, + E_MODEL_TTM_BLUE_SMILEY, + E_MODEL_TTM_YELLOW_SMILEY, + E_MODEL_TTM_STAR_SMILEY, + E_MODEL_TTM_MOON_SMILEY, + + // custom models E_MODEL_BUBBLE_PLAYER, E_MODEL_LUIGI, E_MODEL_LUIGIS_CAP, @@ -179,7 +380,7 @@ enum ModelExtendedId { E_MODEL_WARIOS_METAL_CAP, E_MODEL_WARIOS_WING_CAP, E_MODEL_WARIOS_WINGED_METAL_CAP, - // CUSTOM MODELS END + E_MODEL_MAX };