private static void CutRegion(ROM rom, List <Region> regions, RegionParseState state, int regionEnd, RegionState newState) { // Trim 0x1008000000000000 commands from beginning int regionStart = state.start; if (rom.PRead64(regionStart) == 0x1008000000000000) { regionStart += 8; } if (regionStart == regionEnd) { return; } Region region = new LevelScriptRegion(regionStart, regionEnd - regionStart, state.regionState); region.area = state.area; regions.Add(region); state.regionState = newState; state.start = regionEnd; }