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 /soh/include | |
| parent | 17a4c2cf89a9b34c8b1b6db9bf17cd46ddb3c93b (diff) | |
Fix flare dancer crash (#7122)
Expand the main `GfxPool` buffers to 1MiB
Diffstat (limited to 'soh/include')
| -rw-r--r-- | soh/include/z64.h | 13 |
1 files changed, 7 insertions, 6 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; |
