diff options
| author | Pepe20129 <72659707+Pepe20129@users.noreply.github.com> | 2026-09-06 17:01:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-06 15:01:46 +0000 |
| commit | 61523391e29be22c85d6efbabc0c08820783f0a5 (patch) | |
| tree | bcaf8f7326aa5ee3f3b3def1a5a8ec309cb806a4 | |
| parent | 17a4c2cf89a9b34c8b1b6db9bf17cd46ddb3c93b (diff) | |
Expand the main `GfxPool` buffers to 1MiB
| -rw-r--r-- | soh/include/z64.h | 13 | ||||
| -rw-r--r-- | soh/soh/Enhancements/ExtraModes/EnemyRandomizer.cpp | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/soh/include/z64.h b/soh/include/z64.h index 254b7e966..e47f8386e 100644 --- a/soh/include/z64.h +++ b/soh/include/z64.h @@ -93,15 +93,16 @@ typedef struct { /* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; // 0xAE0 entries } GameInfo; // size = 0x15D4 +// Changed the main buffers to be 1MiB to make them basically impossible to overflow typedef struct { /* 0x00000 */ u16 headMagic; // GFXPOOL_HEAD_MAGIC - /* 0x00008 */ Gfx polyOpaBuffer[0x2FC0]; - /* 0x0BF08 */ Gfx polyXluBuffer[0x1000]; - /* 0x0FF08 */ Gfx overlayBuffer[0x800]; - /* 0x11F08 */ Gfx workBuffer[0x100]; - /* 0x11308 */ Gfx unusedBuffer[0x40]; + /* 0x00008 */ Gfx polyOpaBuffer[1 * 1024 * 1024]; // original size was 0x17E0 + /* 0x0BF08 */ Gfx polyXluBuffer[1 * 1024 * 1024]; // original size was 0x800 + /* 0x0FF08 */ Gfx overlayBuffer[1 * 1024 * 1024]; // original size was 0x400 + /* 0x11F08 */ Gfx workBuffer[0x80]; + /* 0x11308 */ Gfx unusedBuffer[0x20]; /* 0x12408 */ u16 tailMagic; // GFXPOOL_TAIL_MAGIC -} GfxPool; // size = 0x24820 +} GfxPool; // size = 0x12410 typedef struct { /* 0x0000 */ u32 size; diff --git a/soh/soh/Enhancements/ExtraModes/EnemyRandomizer.cpp b/soh/soh/Enhancements/ExtraModes/EnemyRandomizer.cpp index 07341235f..98f1304fe 100644 --- a/soh/soh/Enhancements/ExtraModes/EnemyRandomizer.cpp +++ b/soh/soh/Enhancements/ExtraModes/EnemyRandomizer.cpp @@ -64,7 +64,7 @@ static EnemyEntry randomizedEnemySpawnTable[] = { { CVAR_ENHANCEMENT("RandomizedEnemyList.Dinolfos"), "Dinolfos", ACTOR_EN_ZF, -2 }, // Dinolfos { CVAR_ENHANCEMENT("RandomizedEnemyList.Dodongo"), "Dodongo", ACTOR_EN_DODONGO, -1 }, // Dodongo { CVAR_ENHANCEMENT("RandomizedEnemyList.FireKeese"), "Fire Keese", ACTOR_EN_FIREFLY, 1 }, // Fire Keese - // { CVAR_ENHANCEMENT("RandomizedEnemyList.FlareDancer"), "Flare Dancer", ACTOR_EN_FD, 0 }, // Flare Dancer (possible cause of crashes because of spawning flame actors on sloped ground or overloading) + { CVAR_ENHANCEMENT("RandomizedEnemyList.FlareDancer"), "Flare Dancer", ACTOR_EN_FD, 0 }, // Flare Dancer { CVAR_ENHANCEMENT("RandomizedEnemyList.FloorTile"), "Floor Tile", ACTOR_EN_YUKABYUN, 0 }, // Flying Floor Tile { CVAR_ENHANCEMENT("RandomizedEnemyList.Floormaster"), "Floormaster", ACTOR_EN_FLOORMAS, 0 }, // Floormaster { CVAR_ENHANCEMENT("RandomizedEnemyList.FlyingPeahat"), "Flying Peahat", ACTOR_EN_PEEHAT, -1 }, // Flying Peahat (big grounded, doesn't spawn larva) |
