#ifndef OBJECT_H #define OBJECT_H #include "global.h" #include "asm.h" #include "common.h" #include "sound.h" #include "flags.h" #include "effects.h" #include "room.h" #include "physics.h" #include "entity.h" #include "player.h" void AddInteractablePedestal(Entity*); void AddInteractableCheckableObject(Entity*); void sub_0808C650(Entity*, u32); u32 sub_0808C67C(void); void sub_0808C688(void); void SyncPlayerToPlatform(Entity*, bool32); void UpdateRailMovement(Entity*, u16**, u16*); void sub_080A2AF4(Entity*, s32, s32); Entity* CreateLargeWaterTrace(Entity*); void CreateSparkle(Entity*); void CreateDust(Entity* parent); void CreateDustAt(s32, s32, u32); void CreateDustSmall(Entity* parent); Entity* CreateWaterTrace(Entity*); Entity* CreateSpeechBubbleQuestionMark(Entity*, s32, s32); Entity* CreateSpeechBubbleExclamationMark(Entity*, s32, s32); Entity* CreateSpeechBubbleSleep(Entity*, s32, s32); typedef enum { GROUND_ITEM, DEATH_FX, SHOP_ITEM, BUTTON, MINISH_EMOTICON, POT, EZLO_CAP, PUSHED_BLOCK, LOCKED_DOOR, CAMERA_TARGET, OBJECT_A, LINK_HOLDING_ITEM, CHEST_SPAWNER, UNUSED_SKULL, CRACKING_GROUND, SPECIAL_FX, PLAYER_CLONE, BUSH, LIGHT_DOOR, RAILTRACK, LILYPAD_LARGE, CHUCHU_BOSS_PARTICLE, FLOATING_PLATFORM, GUST_JAR_PARTICLE, EVIL_SPIRIT, HOUSE_DOOR_EXT, RUPEE_OBJECT, GREAT_FAIRY, HOUSE_SIGN, OBJECT_1D, MOLE_MITTS_PARTICLE, OBJECT_1F, SMOKE_PARTICLE, DIRT_PARTICLE, FIGURINE_DEVICE, EYE_SWITCH, PRESSURE_PLATE, BIG_BARREL, BARREL_INSIDE, PUSHABLE_STATUE, PARALLAX_ROOM_VIEW, AMBIENT_CLOUDS, FLAME, LILYPAD_LARGE_FALLING, BEANSTALK, SMOKE, PUSHABLE_ROCK, HITTABLE_LEVER, OBJECT_30, FROZEN_FLOWER, PULLABLE_MUSHROOM, BOLLARD, WARP_POINT, CARLOV_OBJECT, BARREL_SPIDERWEB, OBJECT_37, JAR_PORTAL, BOSS_DOOR, WHITE_TRIANGLE_EFFECT, PORTAL_MUSHROOM_STALKS, PORTAL_FALLING_PLAYER, MINISH_PORTAL_CLOSEUP, MINISH_VILLAGE_OBJECT, GIANT_LEAF, FAIRY, LADDER_UP, LINK_FIRE, SWORD_PARTICLE, ROTATING_TRAPDOOR, LAMP_PARTICLE, GIANT_BOOK_LADDER, HEART_CONTAINER, FILE_SCREEN_OBJECTS, CHUCHU_BOSS_START_PARTICLE, BACKGROUND_CLOUD, CHUCHU_BOSS_CUTSCENE, PUSHABLE_FURNITURE, FURNITURE, MINISH_SIZED_ENTRANCE, ARCHWAY, GIANT_ROCK, GIANT_ROCK2, SPECIAL_CHEST, OBJECT_53, PULLABLE_LEVER, MINECART, THOUGHT_BUBBLE, HIDDEN_LADDER_DOWN, GENTARI_CURTAIN, LAVA_PLATFORM, PAPER, BED_COVER, MASK, HOUSE_DOOR_INT, WHIRLWIND, OBJECT_BLOCKING_STAIRS, SWORDSMAN_NEWSLETTER, EZLO_CAP_FLYING, GIANT_TWIG, OBJECT_63, THUNDERBOLT, LADDER_HOLE, WATER_DROP_OBJECT, GLEEROK_PARTICLE, LINK_EMPTYING_BOTTLE, CUTSCENE_ORCHESTRATOR, CUTSCENE_MISC_OBJECT, CRENEL_BEAN_SPROUT, MINECART_DOOR, OBJECT_ON_PILLAR, MINERAL_WATER_SOURCE, MINISH_SIZED_ARCHWAY, OBJECT_70, PUSHABLE_GRAVE, STONE_TABLET, LILYPAD_SMALL, MINISH_PORTAL_STONE, MACRO_CRYSTAL, MACRO_LEAF, BELL, HUGE_DECORATION, SHRINKING_HIEROGLYPHS, STEAM, PUSHABLE_LEVER, HUGE_SHOES, OBJECT_ON_BEETLE, MAZAAL_OBJECT, PICO_BLOOM, BOARD, BENCH, BIG_VORTEX, BIG_PUSHABLE_LEVER, SMALL_ICE_BLOCK, BIG_ICE_BLOCK, TRAPDOOR, OCTOROK_BOSS_OBJECT, HUGE_BOOK, MAZAAL_BOSS_OBJECT, CABIN_FURNITURE, DOUBLE_BOOKSHELF, BOOK, FIREPLACE, LIGHT_RAY, FROZEN_WATER_ELEMENT, WATER_ELEMENT, FROZEN_OCTOROK, BAKER_OVEN, LAMP, WIND_TRIBE_FLAG, BIRD, GRAVEYARD_KEY, KEY_STEALING_TAKKURI, GURUGURU_BAR, HIT_SWITCH, HUGE_ACORN, VAATI2_PARTICLE, TREE_HIDING_PORTAL, LIGHTABLE_SWITCH, TREE_THORNS, FAN, ANGRY_STATUE, PALACE_ARCHWAY, OBJECT_A2, CLOUD, MINISH_LIGHT, FIREBALL_CHAIN, SANCTUARY_STONE_TABLET, OBJECT_A7, OBJECT_A8, MULLDOZER_SPAWN_POINT, WATERFALL_OPENING, VAATI1_PORTAL, FOUR_ELEMENTS, ELEMENTS_BACKGROUND, FLOATING_BLOCK, VAATI3_ARM, METAL_DOOR, JAIL_BARS, FAN_WIND, KINSTONE_SPARK, JAPANESE_SUBTITLE, VAATI3_PLAYER_OBJECT, VAATI3_DEATH, WELL, WIND_TRIBE_TELEPORTER, CUCCO_MINIGAME, GYORG_BOSS_OBJECT, WINDCREST, LIT_AREA, TITLE_SCREEN_OBJECT, PINWHEEL, OBJECT_BF, ENEMY_ITEM, LINK_ANIMATION, } Object; void ItemOnGround(); void DeathFx(); void ItemForSale(); void Button(); void MinishEmoticon(); void Pot(); void EzloCap(); void BlockPushed(); void LockedDoor(); void CameraTarget(); void ObjectA(); void LinkHoldingItem(); void ChestSpawner(); void UnusedSkull(); void CrackingGround(); void SpecialFx(); void PlayerClone(); void Bush(); void LightDoor(); void Railtrack(); void LilypadLarge(); void ChuchuBossParticle(); void FloatingPlatform(); void GustJarParticle(); void EvilSpirit(); void HouseDoorExterior(); void Rupee(); void GreatFairy(); void HouseSign(); void Object1D(); void MoleMittsParticle(); void Object1F(); void SmokeParticle(); void DirtParticle(); void FigurineDevice(); void EyeSwitch(); void PressurePlate(); void BigBarrel(); void BarrelInside(); void PushableStatue(); void ParallaxRoomView(); void AmbientClouds(); void Flame(); void LilypadLargeFalling(); void Beanstalk(); void Smoke(); void PushableRock(); void HittableLever(); void Object30(); void FrozenFlower(); void PullableMushroom(); void Bollard(); void WarpPoint(); void CarlovObject(); void BarrelSpiderweb(); void Object37(); void JarPortal(); void BossDoor(); void WhiteTriangleEffect(); void MacroMushroomStalk(); void MacroPlayer(); void MinishPortalCloseup(); void MinishVillageObject(); void GiantLeaf(); void Fairy(); void LadderUp(); void LinkFire(); void SwordParticle(); void RotatingTrapdoor(); void LampParticle(); void GiantBookLadder(); void HeartContainer(); void FileScreenObjects(); void ChuchuBossStartParticle(); void BackgroundCloud(); void ChuchuBossCutscene(); void PushableFurniture(); void Furniture(); void MinishSizedEntrance(); void Archway(); void GiantRock(); void GiantRock2(); void SpecialChest(); void Object53(); void PullableLever(); void Minecart(); void ThoughtBubble(); void HiddenLadderDown(); void GentariCurtain(); void LavaPlatform(); void Paper(); void BedCover(); void Mask(); void HouseDoorInterior(); void Whirlwind(); void ObjectBlockingStairs(); void SwordsmanNewsletter(); void EzloCapFlying(); void GiantTwig(); void Object63(); void Thunderbolt(); void LadderHoleInBookshelf(); void WaterDropObject(); void GleerokParticle(); void LinkEmptyingBottle(); void CutsceneOrchestrator(); void CutsceneMiscObject(); void CrenelBeanSprout(); void MinecartDoor(); void ObjectOnPillar(); void MineralWaterSource(); void MinishSizedArchway(); void Object70(); void PushableGrave(); void StoneTablet(); void LilypadSmall(); void MinishPortalStone(); void MacroCrystal(); void MacroLeaf(); void Bell(); void MacroDecoration(); void ShrinkingHieroglyphs(); void Steam(); void PushableLever(); void MacroShoe(); void ObjectOnSpinyBeetle(); void MazaalObject(); void PicoBloom(); void Board(); void Bench(); void BigVortex(); void BigPushableLever(); void SmallIceBlock(); void BigIceBlock(); void Trapdoor(); void OctorokBossObject(); void MacroBook(); void MazaalBossObject(); void CabinFurniture(); void DoubleBookshelf(); void Book(); void Fireplace(); void LightRay(); void FrozenWaterElement(); void WaterElement(); void FrozenOctorok(); void BakerOven(); void Lamp(); void WindTribeFlag(); void Bird(); void GraveyardKey(); void KeyStealingTakkuri(); void GuruguruBar(); void HitSwitch(); void MacroAcorn(); void Vaati2Particle(); void TreeHidingPortal(); void LightableSwitch(); void TreeThorns(); void Fan(); void AngryStatue(); void PalaceArchway(); void ObjectA2(); void Cloud(); void MinishLight(); void FireballChain(); void SanctuaryStoneTablet(); void ObjectA7(); void ObjectA8(); void MulldozerSpawnPoint(); void WaterfallOpening(); void Vaati1Portal(); void FourElements(); void ElementsBackground(); void FloatingBlock(); void Vaati3Arm(); void MetalDoor(); void JailBars(); void FanWind(); void KinstoneSpark(); void JapaneseSubtitle(); void Vaati3PlayerObject(); void Vaati3Death(); void Well(); void WindTribeTeleporter(); void CuccoMinigame(); void GyorgBossObject(); void Windcrest(); void LitArea(); void TitleScreenObject(); void Pinwheel(); void ObjectBF(); void EnemyItem(); void LinkAnimation(); extern void (*const gObjectFunctions[194])(Entity*); #endif // OBJECT_H