예제 #1
0
 def SetStartRoomDataForLevel(self, level_num: LevelNum,
                              start_room: RoomNum,
                              entrance_direction: Direction) -> None:
     level_offset = level_num * self.LEVEL_METADATA_OFFSET
     if start_room:
         self.level_metadata[level_offset +
                             self.START_ROOM_OFFSET] = start_room
     if entrance_direction:
         self.level_metadata[
             level_offset + self.
             ENTRANCE_DIRECTION_OFFSET] = entrance_direction.GetRomValue()
     if start_room and entrance_direction:
         formatted_gateway = (start_room + int(entrance_direction) +
                              0x80) % 0x100
         self.level_metadata[level_offset +
                             self.GATEWAY_OFFSET] = formatted_gateway