diff options
| author | octorock <79596758+octorock@users.noreply.github.com> | 2022-07-23 12:43:43 +0200 |
|---|---|---|
| committer | octorock <79596758+octorock@users.noreply.github.com> | 2022-07-25 22:45:55 +0200 |
| commit | 852effa474c159398014da736ade6f0fea454de7 (patch) | |
| tree | 97da22c4758ca4156dc9fb7ac123c7a3b0a9e9f5 /include | |
| parent | ccba86d292a0e4c8a0e07325ac4fb25e5a58dc89 (diff) | |
Rename objects
Diffstat (limited to 'include')
| -rw-r--r-- | include/definitions.h | 2 | ||||
| -rw-r--r-- | include/fileselect.h | 2 | ||||
| -rw-r--r-- | include/functions.h | 2 | ||||
| -rw-r--r-- | include/gba/macro.h | 6 | ||||
| -rw-r--r-- | include/gba/types.h | 6 | ||||
| -rw-r--r-- | include/main.h | 12 | ||||
| -rw-r--r-- | include/manager/lightRayManager.h | 2 | ||||
| -rw-r--r-- | include/object.h | 244 | ||||
| -rw-r--r-- | include/player.h | 46 | ||||
| -rw-r--r-- | include/save.h | 4 | ||||
| -rw-r--r-- | include/screen.h | 19 | ||||
| -rw-r--r-- | include/structures.h | 3 |
12 files changed, 193 insertions, 155 deletions
diff --git a/include/definitions.h b/include/definitions.h index 978b3a31..7764f76f 100644 --- a/include/definitions.h +++ b/include/definitions.h @@ -388,7 +388,7 @@ typedef enum { SPRITE_GHINI, SPRITE_VAATIARM_1, SPRITE_VAATIWRATH_1, - SPRITE_OBJECTAF, + SPRITE_OBJECTBF, SPRITE_WRATHEYE, SPRITE_V3HANDPROJECTILE, SPRITE_VAATIWRATH_2, diff --git a/include/fileselect.h b/include/fileselect.h index c1868b2b..78855c73 100644 --- a/include/fileselect.h +++ b/include/fileselect.h @@ -54,7 +54,7 @@ extern struct_02019EE0 gMapDataBottomSpecial; extern void sub_08056FEC(u32, struct_020227E8*); extern u32 sub_0805F46C(u32, const Font*); extern void ClearTilemaps(void); -extern void sub_0805194C(u32); +extern void ResetSaveFile(u32); extern WStruct* sub_0805F2C8(void); extern u32 sub_0805F7DC(u32, WStruct*); extern void sub_0805F300(WStruct*); diff --git a/include/functions.h b/include/functions.h index 11de5285..bd78c851 100644 --- a/include/functions.h +++ b/include/functions.h @@ -94,7 +94,7 @@ extern void sub_08059278(void); extern void sub_0805B4D0(u32); extern void sub_0805BC4C(void); extern void sub_0805EC60(Entity*); -extern void InitPlayerMacro(u32*); +extern void InitPlayerMacro(PlayerMacroEntry*); extern u32* sub_0805F25C(u32); extern void sub_0805F8E4(u32 r0, WStruct* r1); extern void sub_08060158(Entity*); diff --git a/include/gba/macro.h b/include/gba/macro.h index f142d5c0..9d34cd10 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -1,5 +1,5 @@ -#ifndef GUARD_GBA_MACRO_H -#define GUARD_GBA_MACRO_H +#ifndef MACRO_H +#define MACRO_H #define CPU_FILL(value, dest, size, bit) \ { \ @@ -184,4 +184,4 @@ REG_IME = imeTemp; \ } -#endif // GUARD_GBA_MACRO_H +#endif // MACRO_H diff --git a/include/gba/types.h b/include/gba/types.h index 4f4136ed..38540405 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -1,5 +1,5 @@ -#ifndef GUARD_GBA_TYPES_H -#define GUARD_GBA_TYPES_H +#ifndef TYPES_H +#define TYPES_H #include <stdint.h> @@ -253,4 +253,4 @@ struct RCnt { #define ST_R_IN 0 // Select input #define ST_R_OUT 1 // Select output -#endif // GUARD_GBA_TYPES_H +#endif // TYPES_H diff --git a/include/main.h b/include/main.h index 3017b9ab..4d70beb7 100644 --- a/include/main.h +++ b/include/main.h @@ -65,7 +65,7 @@ typedef struct { u8 pauseCount; /**< Number of pauses to make. */ u8 pauseInterval; /**< Number of frames to play between each pause. */ u8 pad; - union SplitHWord ticks; /**< Current time. */ + u16 ticks; /**< Current time. */ } Main; /** @@ -127,15 +127,17 @@ void DoSoftReset(void); */ void SetSleepMode(void); -extern void sub_0805622C(struct BgAffineDstData* a1, u32 a2, u32 a3); -extern void sub_08056208(void); +/** + * Sets a DMA to be performed at next VBlank. + */ +extern void SetVBlankDMA(u16* src, u16* dest, u32 size); +extern void InitVBlankDMA(void); extern void ResetPalettes(void); extern void VBlankIntrWait(); extern void VBlankInterruptWait(void); extern void DisableInterruptsAndDMA(void); extern void EnableVBlankIntr(void); -extern void sub_08056250(void); -extern void sub_08056208(void); +extern void DisableVBlankDMA(void); /** @name Task entrypoints */ ///@{ diff --git a/include/manager/lightRayManager.h b/include/manager/lightRayManager.h index c36ba862..1912eda3 100644 --- a/include/manager/lightRayManager.h +++ b/include/manager/lightRayManager.h @@ -5,7 +5,7 @@ typedef struct { Manager base; - u8 unk_20; + u8 gfxGroup; u8 unk_21; u8 unk_22; u8 unk_23; diff --git a/include/object.h b/include/object.h index a0046526..e7a20267 100644 --- a/include/object.h +++ b/include/object.h @@ -43,41 +43,41 @@ typedef enum { EZLO_CAP, PUSHED_BLOCK, LOCKED_DOOR, - OBJECT_9, + CAMERA_TARGET, OBJECT_A, - OBJECT_B, + LINK_HOLDING_ITEM, CHEST_SPAWNER, - OBJECT_D, - OBJECT_E, + UNUSED_SKULL, + CRACKING_GROUND, SPECIAL_FX, PLAYER_CLONE, - OBJECT_11, - OBJECT_12, + BUSH, + LIGHT_DOOR, RAILTRACK, LILYPAD_LARGE, - OBJECT_15, + CHUCHU_BOSS_PARTICLE, FLOATING_PLATFORM, - OBJECT_17, + GUST_JAR_PARTICLE, EVIL_SPIRIT, HOUSE_DOOR_EXT, RUPEE_OBJECT, GREAT_FAIRY, - OBJECT_1C, + HOUSE_SIGN, OBJECT_1D, - OBJECT_1E, + MOLE_MITTS_PARTICLE, OBJECT_1F, - OBJECT_20, - OBJECT_21, + SMOKE_PARTICLE, + DIRT_PARTICLE, FIGURINE_DEVICE, EYE_SWITCH, PRESSURE_PLATE, BIG_BARREL, BARREL_INSIDE, PUSHABLE_STATUE, - OBJECT_28, + PARALLAX_ROOM_VIEW, AMBIENT_CLOUDS, - OBJECT_2A, - OBJECT_2B, + FLAME, + LILYPAD_LARGE_FALLING, BEANSTALK, SMOKE, PUSHABLE_ROCK, @@ -87,36 +87,36 @@ typedef enum { PULLABLE_MUSHROOM, BOLLARD, WARP_POINT, - OBJECT_35, - OBJECT_36, + CARLOV_OBJECT, + BARREL_SPIDERWEB, OBJECT_37, JAR_PORTAL, BOSS_DOOR, - OBJECT_3A, + WHITE_TRIANGLE_EFFECT, PORTAL_MUSHROOM_STALKS, PORTAL_FALLING_PLAYER, - OBJECT_3D, - OBJECT_3E, + MINISH_PORTAL_CLOSEUP, + MINISH_VILLAGE_OBJECT, GIANT_LEAF, FAIRY, LADDER_UP, - OBJECT_42, - OBJECT_43, - OBJECT_44, - OBJECT_45, + LINK_FIRE, + SWORD_PARTICLE, + ROTATING_TRAPDOOR, + LAMP_PARTICLE, GIANT_BOOK_LADDER, HEART_CONTAINER, FILE_SCREEN_OBJECTS, - OBJECT_49, + CHUCHU_BOSS_START_PARTICLE, BACKGROUND_CLOUD, - OBJECT_4B, + CHUCHU_BOSS_CUTSCENE, PUSHABLE_FURNITURE, FURNITURE, MINISH_SIZED_ENTRANCE, ARCHWAY, GIANT_ROCK, GIANT_ROCK2, - OBJECT_52, + SPECIAL_CHEST, OBJECT_53, PULLABLE_LEVER, MINECART, @@ -125,22 +125,22 @@ typedef enum { GENTARI_CURTAIN, LAVA_PLATFORM, PAPER, - OBJECT_5B, + BED_COVER, MASK, HOUSE_DOOR_INT, WHIRLWIND, OBJECT_BLOCKING_STAIRS, SWORDSMAN_NEWSLETTER, - OBJECT_61, + EZLO_CAP_FLYING, GIANT_TWIG, OBJECT_63, - OBJECT_64, + THUNDERBOLD, LADDER_HOLE, - OBJECT_66, - OBJECT_67, - OBJECT_68, - OBJECT_69, - OBJECT_6A, + WATER_DROP_OBJECT, + GLEEROK_PARTICLE, + LINK_EMPTYING_BOTTLE, + CUTSCENE_ORCHESTRATOR, + CUTSCENE_MISC_OBJECT, CRENEL_BEAN_SPROUT, MINECART_DOOR, OBJECT_ON_PILLAR, @@ -150,25 +150,25 @@ typedef enum { PUSHABLE_GRAVE, STONE_TABLET, LILYPAD_SMALL, - OBJECT_74, - OBJECT_75, - OBJECT_76, + MINISH_PORTAL_STONE, + MACRO_CRYSTAL, + MACRO_LEAF, BELL, HUGE_DECORATION, - OBJECT_79, + SHRINKING_HIEROGLYPHS, STEAM, PUSHABLE_LEVER, HUGE_SHOES, OBJECT_ON_BEETLE, - OBJECT_7E, + MAZAAL_OBJECT, PICO_BLOOM, BOARD, - OBJECT_81, + BENCH, BIG_VORTEX, BIG_PUSHABLE_LEVER, SMALL_ICE_BLOCK, BIG_ICE_BLOCK, - OBJECT_86, + TRAPDOOR, OCTOROK_BOSS_OBJECT, HUGE_BOOK, MAZAAL_BOSS_OBJECT, @@ -176,20 +176,20 @@ typedef enum { DOUBLE_BOOKSHELF, BOOK, FIREPLACE, - OBJECT_8E, + LIGHT_RAY, FROZEN_WATER_ELEMENT, - OBJECT_90, + WATER_ELEMENT, FROZEN_OCTOROK, BAKER_OVEN, LAMP, WIND_TRIBE_FLAG, BIRD, - OBJECT_96, + GRAVEYARD_KEY, KEY_STEALING_TAKKURI, - OBJECT_98, - OBJECT_99, + GURUGURU_BAR, + HIT_SWITCH, HUGE_ACORN, - OBJECT_9B, + VAATI2_PARTICLE, TREE_HIDING_PORTAL, LIGHTABLE_SWITCH, TREE_THORNS, @@ -200,30 +200,30 @@ typedef enum { CLOUD, MINISH_LIGHT, FIREBALL_CHAIN, - OBJECT_A6, + SANCTUARY_STONE_TABLET, OBJECT_A7, OBJECT_A8, - OBJECT_A9, + MULLDOZER_SPAWN_POINT, WATERFALL_OPENING, - OBJECT_AB, + VAATI1_PORTAL, FOUR_ELEMENTS, - OBJECT_AD, + ELEMENTS_BACKGROUND, FLOATING_BLOCK, - OBJECT_AF, + VAATI3_ARM, METAL_DOOR, JAIL_BARS, - OBJECT_B2, - OBJECT_B3, - OBJECT_B4, - OBJECT_B5, - OBJECT_B6, + FAN_WIND, + KINSTONE_SPARK, + JAPANESE_SUBTITLE, + VAATI3_PLAYER_OBJECT, + VAATI3_DEATH, WELL, WIND_TRIBE_TELEPORTER, CUCCO_MINIGAME, GYORG_BOSS_OBJECT, WINDCREST, LIT_AREA, - OBJECT_BD, + TITLE_SCREEN_OBJECT, PINWHEEL, OBJECT_BF, ENEMY_ITEM, @@ -239,41 +239,41 @@ void Pot(); void EzloCap(); void BlockPushed(); void LockedDoor(); -void Object9(); +void CameraTarget(); void ObjectA(); -void ObjectB(); +void LinkHoldingItem(); void ChestSpawner(); -void ObjectD(); -void ObjectE(); +void UnusedSkull(); +void CrackingGround(); void SpecialFx(); void PlayerClone(); -void Object11(); -void Object12(); +void Bush(); +void LightDoor(); void Railtrack(); void LilypadLarge(); -void Object15(); +void ChuchuBossParticle(); void FloatingPlatform(); -void Object17(); +void GustJarParticle(); void EvilSpirit(); void HouseDoorExterior(); void Rupee(); void GreatFairy(); -void Object1C(); +void HouseSign(); void Object1D(); -void Object1E(); +void MoleMittsParticle(); void Object1F(); -void Object20(); -void Object21(); +void SmokeParticle(); +void DirtParticle(); void FigurineDevice(); void EyeSwitch(); void PressurePlate(); void BigBarrel(); void BarrelInside(); void PushableStatue(); -void Object28(); +void ParallaxRoomView(); void AmbientClouds(); -void Object2A(); -void Object2B(); +void Flame(); +void LilypadLargeFalling(); void Beanstalk(); void Smoke(); void PushableRock(); @@ -283,36 +283,36 @@ void FrozenFlower(); void PullableMushroom(); void Bollard(); void WarpPoint(); -void Object35(); -void Object36(); +void CarlovObject(); +void BarrelSpiderweb(); void Object37(); void JarPortal(); void BossDoor(); -void Object3A(); -void MacroMushroomStalks(); +void WhiteTriangleEffect(); +void MacroMushroomStalk(); void MacroPlayer(); -void Object3D(); -void Object3E(); +void MinishPortalCloseup(); +void MinishVillageObject(); void GiantLeaf(); void Fairy(); void LadderUp(); -void Object42(); -void Object43(); -void Object44(); -void Object45(); +void LinkFire(); +void SwordParticle(); +void RotatingTrapdoor(); +void LampParticle(); void GiantBookLadder(); void HeartContainer(); void FileScreenObjects(); -void Object49(); +void ChuchuBossStartParticle(); void BackgroundCloud(); -void Object4B(); +void ChuchuBossCutscene(); void PushableFurniture(); void Furniture(); void MinishSizedEntrance(); void Archway(); void GiantRock(); void GiantRock2(); -void Object52(); +void SpecialChest(); void Object53(); void PullableLever(); void Minecart(); @@ -321,22 +321,22 @@ void HiddenLadderDown(); void GentariCurtain(); void LavaPlatform(); void Paper(); -void Object5B(); +void BedCover(); void Mask(); void HouseDoorInterior(); void Whirlwind(); void ObjectBlockingStairs(); void SwordsmanNewsletter(); -void Object61(); +void EzloCapFlying(); void GiantTwig(); void Object63(); -void Object64(); +void Thunderbold(); void LadderHoleInBookshelf(); -void Object66(); -void Object67(); -void Object68(); -void Object69(); -void Object6A(); +void WaterDropObject(); +void GleerokParticle(); +void LinkEmptyingBottle(); +void CutsceneOrchestrator(); +void CutsceneMiscObject(); void CrenelBeanSprout(); void MinecartDoor(); void ObjectOnPillar(); @@ -346,25 +346,25 @@ void Object70(); void PushableGrave(); void StoneTablet(); void LilypadSmall(); -void Object74(); -void Object75(); -void Object76(); +void MinishPortalStone(); +void MacroCrystal(); +void MacroLeaf(); void Bell(); void MacroDecoration(); -void Object79(); +void ShrinkingHieroglyphs(); void Steam(); void PushableLever(); -void MacroShoes(); +void MacroShoe(); void ObjectOnSpinyBeetle(); -void Object7E(); +void MazaalObject(); void PicoBloom(); void Board(); -void Object81(); +void Bench(); void BigVortex(); void BigPushableLever(); void SmallIceBlock(); void BigIceBlock(); -void Object86(); +void Trapdoor(); void OctorokBossObject(); void MacroBook(); void MazaalBossObject(); @@ -372,20 +372,20 @@ void CabinFurniture(); void DoubleBookshelf(); void Book(); void Fireplace(); -void Object8E(); +void LightRay(); void FrozenWaterElement(); -void Object90(); +void WaterElement(); void FrozenOctorok(); void BakerOven(); void Lamp(); void WindTribeFlag(); void Bird(); -void Object96(); +void GraveyardKey(); void KeyStealingTakkuri(); -void Object98(); -void Object99(); +void GuruguruBar(); +void HitSwitch(); void MacroAcorn(); -void Object9B(); +void Vaati2Particle(); void TreeHidingPortal(); void LightableSwitch(); void TreeThorns(); @@ -396,34 +396,34 @@ void ObjectA2(); void Cloud(); void MinishLight(); void FireballChain(); -void ObjectA6(); +void SanctuaryStoneTablet(); void ObjectA7(); void ObjectA8(); -void ObjectA9(); +void MulldozerSpawnPoint(); void WaterfallOpening(); -void ObjectAB(); +void Vaati1Portal(); void FourElements(); -void ObjectAD(); +void ElementsBackground(); void FloatingBlock(); -void ObjectAF(); +void Vaati3Arm(); void MetalDoor(); void JailBars(); -void ObjectB2(); -void ObjectB3(); -void ObjectB4(); -void ObjectB5(); -void ObjectB6(); +void FanWind(); +void KinstoneSpark(); +void JapaneseSubtitle(); +void Vaati3PlayerObject(); +void Vaati3Death(); void Well(); void WindTribeTeleporter(); -void ObjectB9(); +void CuccoMinigame(); void GyorgBossObject(); void Windcrest(); void LitArea(); -void ObjectBD(); +void TitleScreenObject(); void Pinwheel(); void ObjectBF(); void EnemyItem(); -void ObjectC1(); +void LinkAnimation(); extern void (*const gObjectFunctions[194])(Entity*); diff --git a/include/player.h b/include/player.h index ad55ec05..cf36f0b7 100644 --- a/include/player.h +++ b/include/player.h @@ -94,7 +94,7 @@ typedef enum { CONTROL_DISABLED, } PlayerControlMode; -enum PlayerFlags { +typedef enum { PL_BUSY = 0x1, PL_FLAGS2 = 0x2, PL_DROWNING = 0x4, @@ -124,7 +124,7 @@ enum PlayerFlags { PL_SWORD_THRUST = 0x8000000, PL_USE_OCARINA = 0x10000000, PL_CLIMBING = 0x20000000, -}; +} PlayerFlags; enum PlayerItemId { PL_ITEM_NONE, @@ -228,6 +228,39 @@ typedef struct { } ChargeState; typedef struct { + u16 flags; + u16 keys; +} PlayerMacroEntry; + +typedef enum { + PLAYER_INPUT_1 = 0x1, // A + PLAYER_INPUT_2 = 0x2, // B + PLAYER_INPUT_8 = 0x8, // A sub_080782C0, sub_0807953C, sub_0807AE20, sub_08076518. ItemForSale_Action2 + PLAYER_INPUT_10 = 0x10, // B sub_0807953C, sub_0807ADB8, sub_08076518, ItemForSale_Action2 + PLAYER_INPUT_20 = 0x20, // R sub_0807953C + PLAYER_INPUT_40 = 0x40, // A CrenelBeanSprout_Action1 + PLAYER_INPUT_80 = 0x80, // R sub_08073584, sub_080777A0, sub_080782C0, CrenelBeanSprout_Action1, ItemForSale_Action2 + PLAYER_INPUT_RIGHT = 0x100, + PLAYER_INPUT_LEFT = 0x200, + PLAYER_INPUT_UP = 0x400, + PLAYER_INPUT_DOWN = 0x800, + PLAYER_INPUT_ANY_DIRECTION = 0xf00, + PLAYER_INPUT_1000 = 0x1000, // where is it set? sub_080782C0 + PLAYER_INPUT_8000 = 0x8000, // R, sub_080778CC, sub_08076518 + + // TODO What is the result of u32 result = (s32) - (keys & 0x200) >> 0x1f & 0x1000;? +} PlayerInputState; + +typedef struct { + /*0x90*/ u16 field_0x90; + /*0x92*/ u16 field_0x92; + /*0x94*/ u32 field_0x94; + /*0x98*/ u16 playerMacroWaiting; + /*0x9a*/ u16 playerMacroHeldKeys; + /*0x9c*/ PlayerMacroEntry* playerMacro; +} PlayerInput; + +typedef struct { /*0x00*/ u8 field_0x0[2]; /*0x02*/ u8 jump_status; /*0x03*/ u8 field_0x3[2]; @@ -279,12 +312,7 @@ typedef struct { /*0x8b*/ u8 controlMode; /*0x8c*/ u16 vel_x; /*0x8e*/ u16 vel_y; - /*0x90*/ u16 field_0x90; - /*0x92*/ u16 field_0x92; - /*0x94*/ u32 field_0x94; - /*0x98*/ u16 field_0x98; - /*0x9a*/ u16 field_0x9a; - /*0x9c*/ u32 field_0x9c; + /*0x90*/ PlayerInput playerInput; /*0xa0*/ ChargeState chargeState; /*0xa8*/ u8 framestate; /*0xa9*/ u8 framestate_last; @@ -316,7 +344,7 @@ typedef struct { /*0x1c*/ u16 charmTimer; /*0x1e*/ u16 picolyteTimer; /*0x20*/ u16 effectTimer; - /*0x22*/ u8 filler4[4]; + /*0x22*/ u8 filler4[6]; } Stats; #define SLOT_A 0 diff --git a/include/save.h b/include/save.h index 6ef5addc..2a188366 100644 --- a/include/save.h +++ b/include/save.h @@ -90,14 +90,14 @@ u32 InitSaveData(void); * * @return Success. */ -u32 Read_02000000(SaveHeader*); +u32 ReadSaveHeader(SaveHeader*); /** * Write save header. * * @return Success. */ -u32 Write_02000000(SaveHeader*); +u32 WriteSaveHeader(SaveHeader*); /** * Read save file. diff --git a/include/screen.h b/include/screen.h index 9b6b3f7a..f6eedfd4 100644 --- a/include/screen.h +++ b/include/screen.h @@ -54,17 +54,26 @@ typedef struct { } BgControls; typedef struct { + bool8 ready; + bool8 readyBackup; + u16 unused; + u16* src; + u16* dest; + u32 size; +} VBlankDMA; + +typedef struct { /*0x00*/ LcdControls lcd; /*0x08*/ BgSettings bg0; /*0x14*/ BgSettings bg1; /*0x20*/ BgAffSettings bg2; /*0x2c*/ BgAffSettings bg3; /*0x38*/ BgControls controls; - /*0x6c*/ u8 _6c; - /*0x6d*/ u8 _6d; - /*0x70*/ void* _70; - /*0x74*/ u32 _74; - /*0x78*/ u32 _78; + /*0x6c*/ VBlankDMA vBlankDMA; + // /*0x6d*/ u8 _6d; + // /*0x70*/ void* _70; + // /*0x74*/ u32 _74; + // /*0x78*/ u32 _78; } Screen; typedef struct { diff --git a/include/structures.h b/include/structures.h index 3b717180..1a880e1d 100644 --- a/include/structures.h +++ b/include/structures.h @@ -13,10 +13,9 @@ typedef struct { u8 language; u8 name[6]; u8 invalid; - u8 _f; + u8 initialized; } SaveHeader; #define gSaveHeader ((SaveHeader*)(0x2000000)) -// extern SaveHeader gSaveHeader; typedef struct { u8 unk_00; |
