From 7df16608a77b478d9414b2cb90604f9d6facfa8b Mon Sep 17 00:00:00 2001 From: someone2639 Date: Thu, 14 Dec 2023 23:26:43 -0500 Subject: [PATCH] Add relevant model ID asserts to level script load commands (#722) Co-authored-by: someone2639 --- src/engine/level_script.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/engine/level_script.c b/src/engine/level_script.c index 3dad0c35..927c6494 100644 --- a/src/engine/level_script.c +++ b/src/engine/level_script.c @@ -9,6 +9,7 @@ #include "buffers/framebuffers.h" #include "buffers/zbuffer.h" #include "game/area.h" +#include "game/debug.h" #include "game/game_init.h" #include "game/mario.h" #include "game/memory.h" @@ -431,6 +432,7 @@ static void level_cmd_load_model_from_dl(void) { s16 layer = CMD_GET(u16, 0x8); void *dl_ptr = CMD_GET(void *, 4); + assert(model < MODEL_ID_COUNT, "Tried to load an invalid model ID."); if (model < MODEL_ID_COUNT) { gLoadedGraphNodes[model] = (struct GraphNode *) init_graph_node_display_list(sLevelPool, 0, layer, dl_ptr); @@ -443,6 +445,7 @@ static void level_cmd_load_model_from_geo(void) { ModelID16 model = CMD_GET(ModelID16, 2); void *geo = CMD_GET(void *, 4); + assert(model < MODEL_ID_COUNT, "Tried to load an invalid model ID."); if (model < MODEL_ID_COUNT) { gLoadedGraphNodes[model] = process_geo_layout(sLevelPool, geo); } @@ -456,6 +459,7 @@ static void level_cmd_23(void) { void *dl = CMD_GET(void *, 4); s32 scale = CMD_GET(s32, 8); + assert(model < MODEL_ID_COUNT, "Tried to load an invalid model ID."); if (model < MODEL_ID_COUNT) { // GraphNodeScale has a GraphNode at the top. This // is being stored to the array, so cast the pointer.