mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-26 03:12:18 -05:00
Checkered room crash workaround (#615)
* Increase poly and vertex count for dyna actors * Add TODO * Only apply fix in Forest Temple * Enable globally
This commit is contained in:
parent
a1f92d76ab
commit
ee184b5a51
@ -1584,9 +1584,19 @@ void BgCheck_Allocate(CollisionContext* colCtx, GlobalContext* globalCtx, Collis
|
|||||||
BgCheck_SetSubdivisionDimension(colCtx->minBounds.z, colCtx->subdivAmount.z, &colCtx->maxBounds.z,
|
BgCheck_SetSubdivisionDimension(colCtx->minBounds.z, colCtx->subdivAmount.z, &colCtx->maxBounds.z,
|
||||||
&colCtx->subdivLength.z, &colCtx->subdivLengthInv.z);
|
&colCtx->subdivLength.z, &colCtx->subdivLengthInv.z);
|
||||||
|
|
||||||
#ifdef _SOH64 // BGCheck needs more memory on 64 bits because it crashes on some areas
|
// OTRTODO: Re-enable when the below DynaPoly workaround is removed.
|
||||||
|
// #ifdef _SOH64 // BGCheck needs more memory on 64 bits because it crashes on some areas
|
||||||
|
// colCtx->memSize *= 2;
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
// BGCheck needs a higher polygon and vertex count due to removed object dependencies.
|
||||||
|
// Otherwise Forest Temple checkered room will crash due to the hallway actor being killed a frame late.
|
||||||
|
//
|
||||||
|
// OTRTODO: This is a workaround. The proper solution to fix this crash is to manage object loading / unloading
|
||||||
|
// the same as N64.
|
||||||
colCtx->memSize *= 2;
|
colCtx->memSize *= 2;
|
||||||
#endif
|
colCtx->dyna.polyListMax *= 2;
|
||||||
|
colCtx->dyna.vtxListMax *= 2;
|
||||||
|
|
||||||
memSize = colCtx->subdivAmount.x * sizeof(StaticLookup) * colCtx->subdivAmount.y * colCtx->subdivAmount.z +
|
memSize = colCtx->subdivAmount.x * sizeof(StaticLookup) * colCtx->subdivAmount.y * colCtx->subdivAmount.z +
|
||||||
colCtx->colHeader->numPolygons * sizeof(u8) + colCtx->dyna.polyNodesMax * sizeof(SSNode) +
|
colCtx->colHeader->numPolygons * sizeof(u8) + colCtx->dyna.polyNodesMax * sizeof(SSNode) +
|
||||||
|
Loading…
Reference in New Issue
Block a user