keep only actual tz zones

This commit is contained in:
guiyomu-dev
2025-10-17 17:49:36 +02:00
parent d4ef3b0308
commit 56601ab9ce

View File

@@ -5,10 +5,12 @@ import (
)
func (gd *GameReader) TerrorZones() (areas []area.ID) {
tzPtr := uintptr(gd.ReadUInt(gd.moduleBaseAddressPtr+tzOnline, Uint64))
structPtr := gd.moduleBaseAddressPtr + tzOnline
zonesPtr := uintptr(gd.ReadUInt(structPtr, Uint64))
actualActiveZoneCount := int(gd.ReadUInt(structPtr+0x8, Uint8))
for i := 0; i < 8; i++ {
tzArea := gd.ReadUInt(tzPtr+uintptr(i*Uint32), Uint32)
for i := 0; i < actualActiveZoneCount; i++ {
tzArea := gd.ReadUInt(zonesPtr+uintptr(i*Uint32), Uint32)
if tzArea != 0 {
areas = append(areas, area.ID(tzArea))
}