Exemple #1
0
 public void setHeader(ushort room, i_roomHeader rm)
 {
     if (room <= Dungeon.maxRoomNo)
     {
         roomHeaders[room] = rm;
     }
     else
     {
         throw new ArgumentOutOfRangeException();
     }
 }
Exemple #2
0
    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));
        }
    }