From 0ee319a3003d900be6fcf7f73d7a073392a9a85c Mon Sep 17 00:00:00 2001 From: someone2639 Date: Thu, 27 May 2021 00:34:53 -0400 Subject: [PATCH] more modularity; fixed an assert in sm64.ld so it doesnt trip if ext ram is defined --- include/level_commands.h | 5 +++-- sm64.ld | 4 +++- src/engine/level_script.c | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/level_commands.h b/include/level_commands.h index a4dcabda..c7804aa8 100644 --- a/include/level_commands.h +++ b/include/level_commands.h @@ -210,9 +210,10 @@ CMD_BBH(0x20, 0x04, 0x0000) #define LOAD_MODEL_FROM_DL(model, dl, layer) \ - CMD_BBH(0x21, 0x0C, 0), \ + CMD_BBH(0x21, 0x10, 0), \ CMD_PTR(dl), \ - CMD_HH(layer, model) + CMD_W(layer), \ + CMD_W(model) #define LOAD_MODEL_FROM_GEO(model, geo) \ CMD_BBH(0x22, 0x0C, 0), \ diff --git a/sm64.ld b/sm64.ld index 32537a49..976b232d 100755 --- a/sm64.ld +++ b/sm64.ld @@ -231,7 +231,9 @@ SECTIONS __mainPoolSize = RAM_END - .; __expansionRamStart = 0x80400000; - ASSERT((. <= __expansionRamStart), "Error: RDRAM expanded into Expansion RAM, despite Expansion RAM not being defined.") + #ifndef USE_EXT_RAM + ASSERT((. <= __expansionRamStart), "Error: RDRAM expanded into Expansion RAM, despite Expansion RAM not being defined.") + #endif BEGIN_SEG(entry, 0x10000000) diff --git a/src/engine/level_script.c b/src/engine/level_script.c index 84aa69f4..cb8598ba 100644 --- a/src/engine/level_script.c +++ b/src/engine/level_script.c @@ -375,8 +375,8 @@ static void level_cmd_end_area(void) { } static void level_cmd_load_model_from_dl(void) { - ModelID model = CMD_GET(ModelID, 0xA); - s16 layer = CMD_GET(u16, 0x8); + ModelID model = CMD_GET(ModelID, 0xC); + s16 layer = CMD_GET(u32, 0x8); void *dl_ptr = CMD_GET(void *, 4); if (model < ARRAY_COUNT(gGraphNodePointers)) {