diff options
| author | Kevin Alexis Contreras <36680385+KiritoDv@users.noreply.github.com> | 2022-06-15 09:09:17 -0500 |
|---|---|---|
| committer | Kevin Alexis Contreras <36680385+KiritoDv@users.noreply.github.com> | 2022-06-15 09:09:17 -0500 |
| commit | 19ac30b918f601799fd5519cf6c176a13faa2af8 (patch) | |
| tree | f603d8696bc34469bd32d398c516fb1bd97ea449 /soh/src/code | |
| parent | 3dc33b6f84fc0d2019df37aebdbc367a1e3f767a (diff) | |
Fixed Ganondorf's lair and Spirit Temple crashes on 64 bits
Diffstat (limited to 'soh/src/code')
| -rw-r--r-- | soh/src/code/z_bgcheck.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/soh/src/code/z_bgcheck.c b/soh/src/code/z_bgcheck.c index 0fca4a29d..f305eab23 100644 --- a/soh/src/code/z_bgcheck.c +++ b/soh/src/code/z_bgcheck.c @@ -1516,11 +1516,7 @@ void BgCheck_Allocate(CollisionContext* colCtx, GlobalContext* globalCtx, Collis if (globalCtx->sceneNum == SCENE_MALON_STABLE) { // "/* BGCheck LonLon Size %dbyte */\n" osSyncPrintf("/* BGCheck LonLonサイズ %dbyte */\n", 0x3520); - #ifdef _SOH64 - colCtx->memSize = 0x3520 * (sizeof(void*) / 4); - #else colCtx->memSize = 0x3520; - #endif } else { // "/* BGCheck Mini Size %dbyte */\n" osSyncPrintf("/* BGCheck ミニサイズ %dbyte */\n", 0x4E20); @@ -1588,6 +1584,11 @@ void BgCheck_Allocate(CollisionContext* colCtx, GlobalContext* globalCtx, Collis &colCtx->subdivLength.y, &colCtx->subdivLengthInv.y); BgCheck_SetSubdivisionDimension(colCtx->minBounds.z, colCtx->subdivAmount.z, &colCtx->maxBounds.z, &colCtx->subdivLength.z, &colCtx->subdivLengthInv.z); + +#ifdef _SOH64 + colCtx->memSize *= (sizeof(void*) / 4); +#endif + memSize = colCtx->subdivAmount.x * sizeof(StaticLookup) * colCtx->subdivAmount.y * colCtx->subdivAmount.z + colCtx->colHeader->numPolygons * sizeof(u8) + colCtx->dyna.polyNodesMax * sizeof(SSNode) + colCtx->dyna.polyListMax * sizeof(CollisionPoly) + colCtx->dyna.vtxListMax * sizeof(Vec3s) + |
