public void setHeader(ushort room, i_roomHeader rm) { if (room <= Dungeon.maxRoomNo) { roomHeaders[room] = rm; } else { throw new ArgumentOutOfRangeException(); } }
private void readPointer() { if (ROM.Read(primaryPointer + bankOffset1) != ROM.Read(primaryPointer + bankOffset2)) { throw new Exception(); } secondaryPointer = PointerRead.LongRead_LoHiBank(primaryPointer); secondaryPointer = PointerRead.LongRead_LoHiBank(primaryPointer, primaryPointer + 1, pointer_bank); roomHeaderPointers = new int[numberOfHeaders]; for (int i = 0; i < numberOfHeaders; i++) { int temp = secondaryPointer + i * 2; roomHeaderPointers[i] = AddressLoROM.SnesToPc( ROM.Read(temp + 0), ROM.Read(temp + 1), AddressLoROM.PcToSnes_Bank(secondaryPointer)); roomHeaders[i] = new i_roomHeader(ROM.Read(roomHeaderPointers[i], sizeOfEachHeader)); } }