private static void RegionParse_cmd24(ROM rom, List <Region> regions, RegionParseState state) { int behaviour = rom.Read32(0x14); if (behaviour == scrollBehaviour || behaviour == scrollBehaviourLegacy || behaviour == scrollF2) { EditorScroll scroll = new EditorScroll(rom); if (scroll.acts != 0) { if (state.scrolls.TryGetValue(state.area, out List <ScrollObject> scrolls)) { scrolls.Add(scroll); } else { state.scrolls[state.area] = new List <ScrollObject> { scroll }; } if (state.regionState != RegionState.AreaScrolls) { CutRegion(rom, regions, state, rom.offset, RegionState.AreaScrolls); } return; } } if (state.regionState != RegionState.AreaData) { CutRegion(rom, regions, state, rom.offset, RegionState.AreaData); } }
public void RegisterScroll(EditorScroll scr) { if (scr == null) { return; } scrollRegions.AddRegion(scr.segmentedAddress, scr.vertexCount * 0x10); }