diff --git a/src/ship/map/object.rs b/src/ship/map/object.rs index 81bce6a..5c48a68 100644 --- a/src/ship/map/object.rs +++ b/src/ship/map/object.rs @@ -124,6 +124,285 @@ pub enum MapObjectType { EmptyFixedBox(FixedBoxDropType), RuinsEmptyBox, RuinsEmptyFixedBox, + PlayerSet, + Particle, + Teleporter, + Warp, + LightCollision, + Item, + EnvSound, + FogCollision, + EventCollision, + CharaCollision, + ElementalTrap, + StatusTrap, + HealTrap, + LargeElementalTrap, + ObjRoomID, + Sensor, + UnknownItem16, + LensFlare, + ScriptCollision, + HealRing, + MapCollision, + ScriptCollisionA, + ItemLight, + RadarCollision, + FogCollisionSW, + BossTeleporter, + ImageBoard, + QuestWarp, + Epilogue, + UnknownItem29, + UnknownItem30, + UnknownItem31, + BoxDetectObject, + SymbolChatObject, + TouchPlateObject, + TargetableObject, + EffectObject, + CountDownObject, + UnknownItem38, + UnknownItem39, + UnknownItem40, + UnknownItem41, + MenuActivation, + TelepipeLocation, + BGMCollision, + MainRagolTeleporter, + LobbyTeleporter, + PrincipalWarp, + ShopDoor, + HuntersGuildDoor, + TeleporterDoor, + MedicalCenterDoor, + Elevator, + EasterEgg, + ValentinesHeart, + ChristmasTree, + ChristmasWreath, + HalloweenPumpkin, + TwentyFirstCentury, + Sonic, + WelcomeBoard, + Firework, + LobbyScreenDoor, + MainRagolTeleporterBattleInNextArea, + LabTeleporterDoor, + Pioneer2InvisibleTouchplate, + ForestDoor, + ForestSwitch, + LaserFence, + LaserSquareFence, + ForestLaserFenceSwitch, + LightRays, + BlueButterfly, + Probe, + // RandomTypeBox1, + ForestWeatherStation, + Battery, + ForestConsole, + BlackSlidingDoor, + RicoMessagePod, + EnergyBarrier, + ForestRisingBridge, + SwitchNoneDoor, + // EnemyBoxGrey, + // FixedTypeBox, + // EnemyBoxBrown, + // EmptyTypeBox, + LaserFenceEx, + LaserSquareFenceEx, + FloorPanel1, + Caves4ButtonDoor, + CavesNormalDoor, + CavesSmashingPillar, + CavesSign1, + CavesSign2, + CavesSign3, + HexagonalTank, + BrownPlatform, + WarningLightObject, + Rainbow, + FloatingJellyfish, + FloatingDragonfly, + CavesSwitchDoor, + RobotRechargeStation, + CavesCakeShop, + Caves1SmallRedRock, + Caves1MediumRedRock, + Caves1LargeRedRock, + Caves2SmallRock1, + Caves2MediumRock1, + Caves2LargeRock1, + Caves2SmallRock2, + Caves2MediumRock2, + Caves2LargeRock2, + Caves3SmallRock, + Caves3MediumRock, + Caves3LargeRock, + FloorPanel2, + DestructableRockCaves1, + DestructableRockCaves2, + DestructableRockCaves3, + MinesDoor, + FloorPanel3, + MinesSwitchDoor, + LargeCryoTube, + ComputerLikeCalus, + GreenScreenOpeningAndClosing, + FloatingRobot, + FloatingBlueLight, + SelfDestructingObject1, + SelfDestructingObject2, + SelfDestructingObject3, + SparkMachine, + MinesLargeFlashingCrate, + RuinsSeal, + RuinsTeleporter, + RuinsWarpSiteToSite, + RuinsSwitch, + FloorPanel4, + Ruins1Door, + Ruins3Door, + Ruins2Door, + Ruins11ButtonDoor, + Ruins21ButtonDoor, + Ruins31ButtonDoor, + Ruins4ButtonDoor, + Ruins2ButtonDoor, + RuinsSensor, + RuinsFenceSwitch, + RuinsLaserFence4x2, + RuinsLaserFence6x2, + RuinsLaserFence4x4, + RuinsLaserFence6x4, + RuinsPoisonBlob, + RuinsPillarTrap, + PopupTrapNoTech, + RuinsCrystal, + Monument, + RuinsRock1, + RuinsRock2, + RuinsRock3, + RuinsRock4, + RuinsRock5, + RuinsRock6, + RuinsRock7, + Poison, + // FixedBoxTypeRuins, + // RandomBoxTypeRuins, + // EnemyTypeBoxYellow, + // EnemyTypeBoxBlue, + // EmptyTypeBoxBlue, + DestructableRock, + PopupTrapsTechs, + FlyingWhiteBird, + Tower, + FloatingRocks, + FloatingSoul, + Butterfly, + LobbyGameMenu, + LobbyWarpObject, + Lobby1EventObjectDefaultTree, + UnknownItem387, + UnknownItem388, + UnknownItem389, + LobbyEventObjectStaticPumpkin, + LobbyEventObject3ChristmasWindows, + LobbyEventObjectRedAndWhiteCurtain, + UnknownItem393, + UnknownItem394, + LobbyFishTank, + LobbyEventObjectButterflies, + UnknownItem400, + GreyWallLow, + SpaceshipDoor, + GreyWallHigh, + TempleNormalDoor, + BreakableWallWallButUnbreakable, + BrokenCylinderAndRubble, + ThreeBrokenWallPiecesOnFloor, + HighBrickCylinder, + LyingCylinder, + BrickConeWithFlatTop, + BreakableTempleWall, + TempleMapDetect, + SmallBrownBrickRisingBridge, + LongRisingBridgeWithPinkHighEdges, + FourSwitchTempleDoor, + FourButtonSpaceshipDoor, + // ItemBoxCca, + TeleporterEp2, + CcaDoor, + // SpecialBoxCca, + BigCcaDoor, + BigCcaDoorSwitch, + LittleRock, + Little3StoneWall, + Medium3StoneWall, + SpiderPlant, + CcaAreaTeleporter, + UnknownItem523, + WhiteBird, + OrangeBird, + Saw, + LaserDetect, + UnknownItem529, + UnknownItem530, + Seagull, + Fish, + SeabedDoorWithBlueEdges, + SeabedDoorAlwaysOpenNonTriggerable, + LittleCryotube, + WideGlassWallBreakable, + BlueFloatingRobot, + RedFloatingRobot, + Dolphin, + CaptureTrap, + VRLink, + UnknownItem576, + WarpInBarbaRayRoom, + UnknownItem672, + GeeNest, + LabComputerConsole, + LabComputerConsoleGreenScreen, + ChairYellowPillow, + OrangeWallWithHoleInMiddle, + GreyWallWithHoleInMiddle, + LongTable, + GBAStation, + TalkLinkToSupport, + InstaWarp, + LabInvisibleObject, + LabGlassWindowDoor, + UnknownItem700, + LabCeilingWarp, + Ep4LightSource, + Cactus, + BigBrownRock, + BreakableBrownRock, + UnknownItem832, + UnknownItem833, + PoisonPlant, + UnknownItem897, + UnknownItem898, + OozingDesertPlant, + UnknownItem901, + BigBlackRocks, + UnknownItem903, + UnknownItem904, + UnknownItem905, + UnknownItem906, + FallingRock, + DesertPlantHasCollision, + DesertFixedTypeBoxBreakableCrystals, + UnknownItem910, + BeeHive, + UnknownItem912, + Heat, + TopOfSaintMillionEgg, + UnknownItem961, } #[derive(Debug, Copy, Clone)] @@ -155,6 +434,286 @@ impl MapObject { (RawMapObject {otype: 357, ..}, _) => MapObjectType::RuinsEmptyBox, (RawMapObject {otype: 512, ..}, _) => MapObjectType::CcaBox, (RawMapObject {otype: 515, ..}, _) => MapObjectType::CcaFixedBox(FixedBoxDropType::from_object(raw.field1, raw.field2, raw.field3, raw.field4)), + + (RawMapObject {otype: 0, ..}, _) => MapObjectType::PlayerSet, + (RawMapObject {otype: 1, ..}, _) => MapObjectType::Particle, + (RawMapObject {otype: 2, ..}, _) => MapObjectType::Teleporter, + (RawMapObject {otype: 3, ..}, _) => MapObjectType::Warp, + (RawMapObject {otype: 4, ..}, _) => MapObjectType::LightCollision, + (RawMapObject {otype: 5, ..}, _) => MapObjectType::Item, + (RawMapObject {otype: 6, ..}, _) => MapObjectType::EnvSound, + (RawMapObject {otype: 7, ..}, _) => MapObjectType::FogCollision, + (RawMapObject {otype: 8, ..}, _) => MapObjectType::EventCollision, + (RawMapObject {otype: 9, ..}, _) => MapObjectType::CharaCollision, + (RawMapObject {otype: 10, ..}, _) => MapObjectType::ElementalTrap, + (RawMapObject {otype: 11, ..}, _) => MapObjectType::StatusTrap, + (RawMapObject {otype: 12, ..}, _) => MapObjectType::HealTrap, + (RawMapObject {otype: 13, ..}, _) => MapObjectType::LargeElementalTrap, + (RawMapObject {otype: 14, ..}, _) => MapObjectType::ObjRoomID, + (RawMapObject {otype: 15, ..}, _) => MapObjectType::Sensor, + (RawMapObject {otype: 16, ..}, _) => MapObjectType::UnknownItem16, + (RawMapObject {otype: 17, ..}, _) => MapObjectType::LensFlare, + (RawMapObject {otype: 18, ..}, _) => MapObjectType::ScriptCollision, + (RawMapObject {otype: 19, ..}, _) => MapObjectType::HealRing, + (RawMapObject {otype: 20, ..}, _) => MapObjectType::MapCollision, + (RawMapObject {otype: 21, ..}, _) => MapObjectType::ScriptCollisionA, + (RawMapObject {otype: 22, ..}, _) => MapObjectType::ItemLight, + (RawMapObject {otype: 23, ..}, _) => MapObjectType::RadarCollision, + (RawMapObject {otype: 24, ..}, _) => MapObjectType::FogCollisionSW, + (RawMapObject {otype: 25, ..}, _) => MapObjectType::BossTeleporter, + (RawMapObject {otype: 26, ..}, _) => MapObjectType::ImageBoard, + (RawMapObject {otype: 27, ..}, _) => MapObjectType::QuestWarp, + (RawMapObject {otype: 28, ..}, _) => MapObjectType::Epilogue, + (RawMapObject {otype: 29, ..}, _) => MapObjectType::UnknownItem29, + (RawMapObject {otype: 30, ..}, _) => MapObjectType::UnknownItem30, + (RawMapObject {otype: 31, ..}, _) => MapObjectType::UnknownItem31, + (RawMapObject {otype: 32, ..}, _) => MapObjectType::BoxDetectObject, + (RawMapObject {otype: 33, ..}, _) => MapObjectType::SymbolChatObject, + (RawMapObject {otype: 34, ..}, _) => MapObjectType::TouchPlateObject, + (RawMapObject {otype: 35, ..}, _) => MapObjectType::TargetableObject, + (RawMapObject {otype: 36, ..}, _) => MapObjectType::EffectObject, + (RawMapObject {otype: 37, ..}, _) => MapObjectType::CountDownObject, + (RawMapObject {otype: 38, ..}, _) => MapObjectType::UnknownItem38, + (RawMapObject {otype: 39, ..}, _) => MapObjectType::UnknownItem39, + (RawMapObject {otype: 40, ..}, _) => MapObjectType::UnknownItem40, + (RawMapObject {otype: 41, ..}, _) => MapObjectType::UnknownItem41, + (RawMapObject {otype: 64, ..}, _) => MapObjectType::MenuActivation, + (RawMapObject {otype: 65, ..}, _) => MapObjectType::TelepipeLocation, + (RawMapObject {otype: 66, ..}, _) => MapObjectType::BGMCollision, + (RawMapObject {otype: 67, ..}, _) => MapObjectType::MainRagolTeleporter, + (RawMapObject {otype: 68, ..}, _) => MapObjectType::LobbyTeleporter, + (RawMapObject {otype: 69, ..}, _) => MapObjectType::PrincipalWarp, + (RawMapObject {otype: 70, ..}, _) => MapObjectType::ShopDoor, + (RawMapObject {otype: 71, ..}, _) => MapObjectType::HuntersGuildDoor, + (RawMapObject {otype: 72, ..}, _) => MapObjectType::TeleporterDoor, + (RawMapObject {otype: 73, ..}, _) => MapObjectType::MedicalCenterDoor, + (RawMapObject {otype: 74, ..}, _) => MapObjectType::Elevator, + (RawMapObject {otype: 75, ..}, _) => MapObjectType::EasterEgg, + (RawMapObject {otype: 76, ..}, _) => MapObjectType::ValentinesHeart, + (RawMapObject {otype: 77, ..}, _) => MapObjectType::ChristmasTree, + (RawMapObject {otype: 78, ..}, _) => MapObjectType::ChristmasWreath, + (RawMapObject {otype: 79, ..}, _) => MapObjectType::HalloweenPumpkin, + (RawMapObject {otype: 80, ..}, _) => MapObjectType::TwentyFirstCentury, + (RawMapObject {otype: 81, ..}, _) => MapObjectType::Sonic, + (RawMapObject {otype: 82, ..}, _) => MapObjectType::WelcomeBoard, + (RawMapObject {otype: 83, ..}, _) => MapObjectType::Firework, + (RawMapObject {otype: 84, ..}, _) => MapObjectType::LobbyScreenDoor, + (RawMapObject {otype: 85, ..}, _) => MapObjectType::MainRagolTeleporterBattleInNextArea, + (RawMapObject {otype: 86, ..}, _) => MapObjectType::LabTeleporterDoor, + (RawMapObject {otype: 87, ..}, _) => MapObjectType::Pioneer2InvisibleTouchplate, + (RawMapObject {otype: 128, ..}, _) => MapObjectType::ForestDoor, + (RawMapObject {otype: 129, ..}, _) => MapObjectType::ForestSwitch, + (RawMapObject {otype: 130, ..}, _) => MapObjectType::LaserFence, + (RawMapObject {otype: 131, ..}, _) => MapObjectType::LaserSquareFence, + (RawMapObject {otype: 132, ..}, _) => MapObjectType::ForestLaserFenceSwitch, + (RawMapObject {otype: 133, ..}, _) => MapObjectType::LightRays, + (RawMapObject {otype: 134, ..}, _) => MapObjectType::BlueButterfly, + (RawMapObject {otype: 135, ..}, _) => MapObjectType::Probe, + // (RawMapObject {otype: 136, ..}, _) => MapObjectType::RandomTypeBox1, + (RawMapObject {otype: 137, ..}, _) => MapObjectType::ForestWeatherStation, + (RawMapObject {otype: 138, ..}, _) => MapObjectType::Battery, + (RawMapObject {otype: 139, ..}, _) => MapObjectType::ForestConsole, + (RawMapObject {otype: 140, ..}, _) => MapObjectType::BlackSlidingDoor, + (RawMapObject {otype: 141, ..}, _) => MapObjectType::RicoMessagePod, + (RawMapObject {otype: 142, ..}, _) => MapObjectType::EnergyBarrier, + (RawMapObject {otype: 143, ..}, _) => MapObjectType::ForestRisingBridge, + (RawMapObject {otype: 144, ..}, _) => MapObjectType::SwitchNoneDoor, + // (RawMapObject {otype: 145, ..}, _) => MapObjectType::EnemyBoxGrey, + // (RawMapObject {otype: 146, ..}, _) => MapObjectType::FixedTypeBox, + // (RawMapObject {otype: 147, ..}, _) => MapObjectType::EnemyBoxBrown, + // (RawMapObject {otype: 149, ..}, _) => MapObjectType::EmptyTypeBox, + (RawMapObject {otype: 150, ..}, _) => MapObjectType::LaserFenceEx, + (RawMapObject {otype: 151, ..}, _) => MapObjectType::LaserSquareFenceEx, + (RawMapObject {otype: 192, ..}, _) => MapObjectType::FloorPanel1, + (RawMapObject {otype: 193, ..}, _) => MapObjectType::Caves4ButtonDoor, + (RawMapObject {otype: 194, ..}, _) => MapObjectType::CavesNormalDoor, + (RawMapObject {otype: 195, ..}, _) => MapObjectType::CavesSmashingPillar, + (RawMapObject {otype: 196, ..}, _) => MapObjectType::CavesSign1, + (RawMapObject {otype: 197, ..}, _) => MapObjectType::CavesSign2, + (RawMapObject {otype: 198, ..}, _) => MapObjectType::CavesSign3, + (RawMapObject {otype: 199, ..}, _) => MapObjectType::HexagonalTank, + (RawMapObject {otype: 200, ..}, _) => MapObjectType::BrownPlatform, + (RawMapObject {otype: 201, ..}, _) => MapObjectType::WarningLightObject, + (RawMapObject {otype: 203, ..}, _) => MapObjectType::Rainbow, + (RawMapObject {otype: 204, ..}, _) => MapObjectType::FloatingJellyfish, + (RawMapObject {otype: 205, ..}, _) => MapObjectType::FloatingDragonfly, + (RawMapObject {otype: 206, ..}, _) => MapObjectType::CavesSwitchDoor, + (RawMapObject {otype: 207, ..}, _) => MapObjectType::RobotRechargeStation, + (RawMapObject {otype: 208, ..}, _) => MapObjectType::CavesCakeShop, + (RawMapObject {otype: 209, ..}, _) => MapObjectType::Caves1SmallRedRock, + (RawMapObject {otype: 210, ..}, _) => MapObjectType::Caves1MediumRedRock, + (RawMapObject {otype: 211, ..}, _) => MapObjectType::Caves1LargeRedRock, + (RawMapObject {otype: 212, ..}, _) => MapObjectType::Caves2SmallRock1, + (RawMapObject {otype: 213, ..}, _) => MapObjectType::Caves2MediumRock1, + (RawMapObject {otype: 214, ..}, _) => MapObjectType::Caves2LargeRock1, + (RawMapObject {otype: 215, ..}, _) => MapObjectType::Caves2SmallRock2, + (RawMapObject {otype: 216, ..}, _) => MapObjectType::Caves2MediumRock2, + (RawMapObject {otype: 217, ..}, _) => MapObjectType::Caves2LargeRock2, + (RawMapObject {otype: 218, ..}, _) => MapObjectType::Caves3SmallRock, + (RawMapObject {otype: 219, ..}, _) => MapObjectType::Caves3MediumRock, + (RawMapObject {otype: 220, ..}, _) => MapObjectType::Caves3LargeRock, + (RawMapObject {otype: 222, ..}, _) => MapObjectType::FloorPanel2, + (RawMapObject {otype: 223, ..}, _) => MapObjectType::DestructableRockCaves1, + (RawMapObject {otype: 224, ..}, _) => MapObjectType::DestructableRockCaves2, + (RawMapObject {otype: 225, ..}, _) => MapObjectType::DestructableRockCaves3, + (RawMapObject {otype: 256, ..}, _) => MapObjectType::MinesDoor, + (RawMapObject {otype: 257, ..}, _) => MapObjectType::FloorPanel3, + (RawMapObject {otype: 258, ..}, _) => MapObjectType::MinesSwitchDoor, + (RawMapObject {otype: 259, ..}, _) => MapObjectType::LargeCryoTube, + (RawMapObject {otype: 260, ..}, _) => MapObjectType::ComputerLikeCalus, + (RawMapObject {otype: 261, ..}, _) => MapObjectType::GreenScreenOpeningAndClosing, + (RawMapObject {otype: 262, ..}, _) => MapObjectType::FloatingRobot, + (RawMapObject {otype: 263, ..}, _) => MapObjectType::FloatingBlueLight, + (RawMapObject {otype: 264, ..}, _) => MapObjectType::SelfDestructingObject1, + (RawMapObject {otype: 265, ..}, _) => MapObjectType::SelfDestructingObject2, + (RawMapObject {otype: 266, ..}, _) => MapObjectType::SelfDestructingObject3, + (RawMapObject {otype: 267, ..}, _) => MapObjectType::SparkMachine, + (RawMapObject {otype: 268, ..}, _) => MapObjectType::MinesLargeFlashingCrate, + (RawMapObject {otype: 304, ..}, _) => MapObjectType::RuinsSeal, + (RawMapObject {otype: 320, ..}, _) => MapObjectType::RuinsTeleporter, + (RawMapObject {otype: 321, ..}, _) => MapObjectType::RuinsWarpSiteToSite, + (RawMapObject {otype: 322, ..}, _) => MapObjectType::RuinsSwitch, + (RawMapObject {otype: 323, ..}, _) => MapObjectType::FloorPanel4, + (RawMapObject {otype: 324, ..}, _) => MapObjectType::Ruins1Door, + (RawMapObject {otype: 325, ..}, _) => MapObjectType::Ruins3Door, + (RawMapObject {otype: 326, ..}, _) => MapObjectType::Ruins2Door, + (RawMapObject {otype: 327, ..}, _) => MapObjectType::Ruins11ButtonDoor, + (RawMapObject {otype: 328, ..}, _) => MapObjectType::Ruins21ButtonDoor, + (RawMapObject {otype: 329, ..}, _) => MapObjectType::Ruins31ButtonDoor, + (RawMapObject {otype: 330, ..}, _) => MapObjectType::Ruins4ButtonDoor, + (RawMapObject {otype: 331, ..}, _) => MapObjectType::Ruins2ButtonDoor, + (RawMapObject {otype: 332, ..}, _) => MapObjectType::RuinsSensor, + (RawMapObject {otype: 333, ..}, _) => MapObjectType::RuinsFenceSwitch, + (RawMapObject {otype: 334, ..}, _) => MapObjectType::RuinsLaserFence4x2, + (RawMapObject {otype: 335, ..}, _) => MapObjectType::RuinsLaserFence6x2, + (RawMapObject {otype: 336, ..}, _) => MapObjectType::RuinsLaserFence4x4, + (RawMapObject {otype: 337, ..}, _) => MapObjectType::RuinsLaserFence6x4, + (RawMapObject {otype: 338, ..}, _) => MapObjectType::RuinsPoisonBlob, + (RawMapObject {otype: 339, ..}, _) => MapObjectType::RuinsPillarTrap, + (RawMapObject {otype: 340, ..}, _) => MapObjectType::PopupTrapNoTech, + (RawMapObject {otype: 341, ..}, _) => MapObjectType::RuinsCrystal, + (RawMapObject {otype: 342, ..}, _) => MapObjectType::Monument, + (RawMapObject {otype: 345, ..}, _) => MapObjectType::RuinsRock1, + (RawMapObject {otype: 346, ..}, _) => MapObjectType::RuinsRock2, + (RawMapObject {otype: 347, ..}, _) => MapObjectType::RuinsRock3, + (RawMapObject {otype: 348, ..}, _) => MapObjectType::RuinsRock4, + (RawMapObject {otype: 349, ..}, _) => MapObjectType::RuinsRock5, + (RawMapObject {otype: 350, ..}, _) => MapObjectType::RuinsRock6, + (RawMapObject {otype: 351, ..}, _) => MapObjectType::RuinsRock7, + (RawMapObject {otype: 352, ..}, _) => MapObjectType::Poison, + // (RawMapObject {otype: 353, ..}, _) => MapObjectType::FixedBoxTypeRuins, + // (RawMapObject {otype: 354, ..}, _) => MapObjectType::RandomBoxTypeRuins, + // (RawMapObject {otype: 355, ..}, _) => MapObjectType::EnemyTypeBoxYellow, + // (RawMapObject {otype: 356, ..}, _) => MapObjectType::EnemyTypeBoxBlue, + // (RawMapObject {otype: 357, ..}, _) => MapObjectType::EmptyTypeBoxBlue, + (RawMapObject {otype: 358, ..}, _) => MapObjectType::DestructableRock, + (RawMapObject {otype: 359, ..}, _) => MapObjectType::PopupTrapsTechs, + (RawMapObject {otype: 368, ..}, _) => MapObjectType::FlyingWhiteBird, + (RawMapObject {otype: 369, ..}, _) => MapObjectType::Tower, + (RawMapObject {otype: 370, ..}, _) => MapObjectType::FloatingRocks, + (RawMapObject {otype: 371, ..}, _) => MapObjectType::FloatingSoul, + (RawMapObject {otype: 372, ..}, _) => MapObjectType::Butterfly, + (RawMapObject {otype: 384, ..}, _) => MapObjectType::LobbyGameMenu, + (RawMapObject {otype: 385, ..}, _) => MapObjectType::LobbyWarpObject, + (RawMapObject {otype: 386, ..}, _) => MapObjectType::Lobby1EventObjectDefaultTree, + (RawMapObject {otype: 387, ..}, _) => MapObjectType::UnknownItem387, + (RawMapObject {otype: 388, ..}, _) => MapObjectType::UnknownItem388, + (RawMapObject {otype: 389, ..}, _) => MapObjectType::UnknownItem389, + (RawMapObject {otype: 390, ..}, _) => MapObjectType::LobbyEventObjectStaticPumpkin, + (RawMapObject {otype: 391, ..}, _) => MapObjectType::LobbyEventObject3ChristmasWindows, + (RawMapObject {otype: 392, ..}, _) => MapObjectType::LobbyEventObjectRedAndWhiteCurtain, + (RawMapObject {otype: 393, ..}, _) => MapObjectType::UnknownItem393, + (RawMapObject {otype: 394, ..}, _) => MapObjectType::UnknownItem394, + (RawMapObject {otype: 395, ..}, _) => MapObjectType::LobbyFishTank, + (RawMapObject {otype: 396, ..}, _) => MapObjectType::LobbyEventObjectButterflies, + (RawMapObject {otype: 400, ..}, _) => MapObjectType::UnknownItem400, + (RawMapObject {otype: 401, ..}, _) => MapObjectType::GreyWallLow, + (RawMapObject {otype: 402, ..}, _) => MapObjectType::SpaceshipDoor, + (RawMapObject {otype: 403, ..}, _) => MapObjectType::GreyWallHigh, + (RawMapObject {otype: 416, ..}, _) => MapObjectType::TempleNormalDoor, + (RawMapObject {otype: 417, ..}, _) => MapObjectType::BreakableWallWallButUnbreakable, + (RawMapObject {otype: 418, ..}, _) => MapObjectType::BrokenCylinderAndRubble, + (RawMapObject {otype: 419, ..}, _) => MapObjectType::ThreeBrokenWallPiecesOnFloor, + (RawMapObject {otype: 420, ..}, _) => MapObjectType::HighBrickCylinder, + (RawMapObject {otype: 421, ..}, _) => MapObjectType::LyingCylinder, + (RawMapObject {otype: 422, ..}, _) => MapObjectType::BrickConeWithFlatTop, + (RawMapObject {otype: 423, ..}, _) => MapObjectType::BreakableTempleWall, + (RawMapObject {otype: 424, ..}, _) => MapObjectType::TempleMapDetect, + (RawMapObject {otype: 425, ..}, _) => MapObjectType::SmallBrownBrickRisingBridge, + (RawMapObject {otype: 426, ..}, _) => MapObjectType::LongRisingBridgeWithPinkHighEdges, + (RawMapObject {otype: 427, ..}, _) => MapObjectType::FourSwitchTempleDoor, + (RawMapObject {otype: 448, ..}, _) => MapObjectType::FourButtonSpaceshipDoor, + // (RawMapObject {otype: 512, ..}, _) => MapObjectType::ItemBoxCca, + (RawMapObject {otype: 513, ..}, _) => MapObjectType::TeleporterEp2, + (RawMapObject {otype: 514, ..}, _) => MapObjectType::CcaDoor, + // (RawMapObject {otype: 515, ..}, _) => MapObjectType::SpecialBoxCca, + (RawMapObject {otype: 516, ..}, _) => MapObjectType::BigCcaDoor, + (RawMapObject {otype: 517, ..}, _) => MapObjectType::BigCcaDoorSwitch, + (RawMapObject {otype: 518, ..}, _) => MapObjectType::LittleRock, + (RawMapObject {otype: 519, ..}, _) => MapObjectType::Little3StoneWall, + (RawMapObject {otype: 520, ..}, _) => MapObjectType::Medium3StoneWall, + (RawMapObject {otype: 521, ..}, _) => MapObjectType::SpiderPlant, + (RawMapObject {otype: 522, ..}, _) => MapObjectType::CcaAreaTeleporter, + (RawMapObject {otype: 523, ..}, _) => MapObjectType::UnknownItem523, + (RawMapObject {otype: 524, ..}, _) => MapObjectType::WhiteBird, + (RawMapObject {otype: 525, ..}, _) => MapObjectType::OrangeBird, + (RawMapObject {otype: 527, ..}, _) => MapObjectType::Saw, + (RawMapObject {otype: 528, ..}, _) => MapObjectType::LaserDetect, + (RawMapObject {otype: 529, ..}, _) => MapObjectType::UnknownItem529, + (RawMapObject {otype: 530, ..}, _) => MapObjectType::UnknownItem530, + (RawMapObject {otype: 531, ..}, _) => MapObjectType::Seagull, + (RawMapObject {otype: 544, ..}, _) => MapObjectType::Fish, + (RawMapObject {otype: 545, ..}, _) => MapObjectType::SeabedDoorWithBlueEdges, + (RawMapObject {otype: 546, ..}, _) => MapObjectType::SeabedDoorAlwaysOpenNonTriggerable, + (RawMapObject {otype: 547, ..}, _) => MapObjectType::LittleCryotube, + (RawMapObject {otype: 548, ..}, _) => MapObjectType::WideGlassWallBreakable, + (RawMapObject {otype: 549, ..}, _) => MapObjectType::BlueFloatingRobot, + (RawMapObject {otype: 550, ..}, _) => MapObjectType::RedFloatingRobot, + (RawMapObject {otype: 551, ..}, _) => MapObjectType::Dolphin, + (RawMapObject {otype: 552, ..}, _) => MapObjectType::CaptureTrap, + (RawMapObject {otype: 553, ..}, _) => MapObjectType::VRLink, + (RawMapObject {otype: 576, ..}, _) => MapObjectType::UnknownItem576, + (RawMapObject {otype: 640, ..}, _) => MapObjectType::WarpInBarbaRayRoom, + (RawMapObject {otype: 672, ..}, _) => MapObjectType::UnknownItem672, + (RawMapObject {otype: 688, ..}, _) => MapObjectType::GeeNest, + (RawMapObject {otype: 689, ..}, _) => MapObjectType::LabComputerConsole, + (RawMapObject {otype: 690, ..}, _) => MapObjectType::LabComputerConsoleGreenScreen, + (RawMapObject {otype: 691, ..}, _) => MapObjectType::ChairYellowPillow, + (RawMapObject {otype: 692, ..}, _) => MapObjectType::OrangeWallWithHoleInMiddle, + (RawMapObject {otype: 693, ..}, _) => MapObjectType::GreyWallWithHoleInMiddle, + (RawMapObject {otype: 694, ..}, _) => MapObjectType::LongTable, + (RawMapObject {otype: 695, ..}, _) => MapObjectType::GBAStation, + (RawMapObject {otype: 696, ..}, _) => MapObjectType::TalkLinkToSupport, + (RawMapObject {otype: 697, ..}, _) => MapObjectType::InstaWarp, + (RawMapObject {otype: 698, ..}, _) => MapObjectType::LabInvisibleObject, + (RawMapObject {otype: 699, ..}, _) => MapObjectType::LabGlassWindowDoor, + (RawMapObject {otype: 700, ..}, _) => MapObjectType::UnknownItem700, + (RawMapObject {otype: 701, ..}, _) => MapObjectType::LabCeilingWarp, + (RawMapObject {otype: 768, ..}, _) => MapObjectType::Ep4LightSource, + (RawMapObject {otype: 769, ..}, _) => MapObjectType::Cactus, + (RawMapObject {otype: 770, ..}, _) => MapObjectType::BigBrownRock, + (RawMapObject {otype: 771, ..}, _) => MapObjectType::BreakableBrownRock, + (RawMapObject {otype: 832, ..}, _) => MapObjectType::UnknownItem832, + (RawMapObject {otype: 833, ..}, _) => MapObjectType::UnknownItem833, + (RawMapObject {otype: 896, ..}, _) => MapObjectType::PoisonPlant, + (RawMapObject {otype: 897, ..}, _) => MapObjectType::UnknownItem897, + (RawMapObject {otype: 898, ..}, _) => MapObjectType::UnknownItem898, + (RawMapObject {otype: 899, ..}, _) => MapObjectType::OozingDesertPlant, + (RawMapObject {otype: 901, ..}, _) => MapObjectType::UnknownItem901, + (RawMapObject {otype: 902, ..}, _) => MapObjectType::BigBlackRocks, + (RawMapObject {otype: 903, ..}, _) => MapObjectType::UnknownItem903, + (RawMapObject {otype: 904, ..}, _) => MapObjectType::UnknownItem904, + (RawMapObject {otype: 905, ..}, _) => MapObjectType::UnknownItem905, + (RawMapObject {otype: 906, ..}, _) => MapObjectType::UnknownItem906, + (RawMapObject {otype: 907, ..}, _) => MapObjectType::FallingRock, + (RawMapObject {otype: 908, ..}, _) => MapObjectType::DesertPlantHasCollision, + (RawMapObject {otype: 909, ..}, _) => MapObjectType::DesertFixedTypeBoxBreakableCrystals, + (RawMapObject {otype: 910, ..}, _) => MapObjectType::UnknownItem910, + (RawMapObject {otype: 911, ..}, _) => MapObjectType::BeeHive, + (RawMapObject {otype: 912, ..}, _) => MapObjectType::UnknownItem912, + (RawMapObject {otype: 913, ..}, _) => MapObjectType::Heat, + (RawMapObject {otype: 960, ..}, _) => MapObjectType::TopOfSaintMillionEgg, + (RawMapObject {otype: 961, ..}, _) => MapObjectType::UnknownItem961, _ => return Err(MapObjectError::UnknownObjectType(raw.otype, raw)) };