private FreeSpaceManager setupFreeSpaceManager(AddressMapper addressMapper) { var freeSpaceManager = new FreeSpaceManager(); // Venture Card Table freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x80410648), addressMapper.toVersionAgnosticAddress((BSVAddr)0x80411b9b)); // Map Data String Table and Map Data Table freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x80428978), addressMapper.toVersionAgnosticAddress((BSVAddr)0x804298cf)); // Map Default Settings Table freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x804363c8), addressMapper.toVersionAgnosticAddress((BSVAddr)0x80436a87)); // Unused costume string table 1 freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x8042bc78), addressMapper.toVersionAgnosticAddress((BSVAddr)0x8042c23f)); // Unused costume string table 2 freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x8042dfc0), addressMapper.toVersionAgnosticAddress((BSVAddr)0x8042e22f)); // Unused costume string table 3 freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x8042ef30), addressMapper.toVersionAgnosticAddress((BSVAddr)0x8042f7ef)); // Unused menu id=0x06 (MapSelectScene_E3) freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x801f8520), addressMapper.toVersionAgnosticAddress((BSVAddr)0x801f94bb)); // Unused menu id=0x38 (WorldMenuScene) freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x801ed6a8), addressMapper.toVersionAgnosticAddress((BSVAddr)0x801edab7)); // Unused menu id=0x39 (FreePlayScene) freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x801edad4), addressMapper.toVersionAgnosticAddress((BSVAddr)0x801ee71f)); // Unused menu class (SelectMapUI) freeSpaceManager.addFreeSpace(addressMapper.toVersionAgnosticAddress((BSVAddr)0x801fce28), addressMapper.toVersionAgnosticAddress((BSVAddr)0x801ff777)); // used additional address: // 0x804363b4 (4 bytes): force simulated button press // 0x804363b8 (12 bytes): pointer to internal name table // 0x804363c4 (4 bytes): ForceVentureCardVariable return(freeSpaceManager); }
public void write(EndianBinaryWriter stream, AddressMapper addressMapper, List <MapDescriptor> mapDescriptors, FreeSpaceManager freeSpaceManager, IProgress <ProgressInfo> progress) { this._fsm = freeSpaceManager; this._p = progress; this._w = stream; this._am = addressMapper; writeAsm(stream, addressMapper, mapDescriptors); this._fsm = null; this._p = null; this._w = null; this._am = null; }
public MainDol(EndianBinaryReader stream, List <AddressSection> fileMappingSections, IProgress <ProgressInfo> progress) { this.addressMapper = setupAddressMapper(stream, fileMappingSections, progress); this.freeSpaceManager = setupFreeSpaceManager(addressMapper); this.patches = setupPatches(); }