diff options
| author | Henny022p <info@henny022.de> | 2022-01-31 17:30:51 +0100 |
|---|---|---|
| committer | Henny022p <info@henny022.de> | 2022-01-31 17:30:51 +0100 |
| commit | 2a53ee4bf2ee7eea617280118c2188bffec77ae5 (patch) | |
| tree | 85ed631ab330f9ca3734bb77253a374e3ef0de21 /include | |
| parent | 9b60d9c5e24ed592524c25a9dc013417d6e7ee0c (diff) | |
| parent | 2b8d880ffc0a4548d25dc613d53a908d36362d84 (diff) | |
merge master
Diffstat (limited to 'include')
| -rw-r--r-- | include/color.h | 3 | ||||
| -rw-r--r-- | include/coord.h | 4 | ||||
| -rw-r--r-- | include/enemy.h | 6 | ||||
| -rw-r--r-- | include/entity.h | 8 | ||||
| -rw-r--r-- | include/flags.h | 1 | ||||
| -rw-r--r-- | include/functions.h | 54 | ||||
| -rw-r--r-- | include/global.h | 5 | ||||
| -rw-r--r-- | include/item.h | 4 | ||||
| -rw-r--r-- | include/object.h | 12 | ||||
| -rw-r--r-- | include/player.h | 1 | ||||
| -rw-r--r-- | include/sound.h | 4 | ||||
| -rw-r--r-- | include/sprite.h | 2 |
12 files changed, 74 insertions, 30 deletions
diff --git a/include/color.h b/include/color.h index 9ff53264..dee7171b 100644 --- a/include/color.h +++ b/include/color.h @@ -12,10 +12,11 @@ extern Palette gPaletteList[]; void ResetPaletteTable(u32 a1); void sub_0801D000(u32 a1); -void LoadObjPalette(struct Entity_*, u32); +u32 LoadObjPalette(struct Entity_*, u32); void UnloadOBJPalette(struct Entity_* entity); void sub_0801D244(u32); void sub_0801D28C(struct Entity_* entity, u32 palette); void ChangeObjPalette(struct Entity_* entity, u32 palette); +s32 FindPalette(u32 a1); #endif // COLOR_H diff --git a/include/coord.h b/include/coord.h index 85a56ce2..5ead1236 100644 --- a/include/coord.h +++ b/include/coord.h @@ -12,8 +12,8 @@ void PositionEntityOnTop(Entity*, Entity*); void PositionRelative(Entity*, Entity*, s32, s32); void CopyPositionAndSpriteOffset(Entity* param_1, Entity* param_2); void sub_0806FA90(Entity*, Entity*, s32, s32); -void ResolveEntityOnTop(Entity*, Entity*); -void ResolveEntityBelow(Entity*, Entity*); +void SortEntityAbove(Entity*, Entity*); +void SortEntityBelow(Entity*, Entity*); u32 sub_0806F5A4(u32 idx); u32 sub_0806F3E4(Entity*); diff --git a/include/enemy.h b/include/enemy.h index 49d40b28..2e04b2af 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -64,7 +64,7 @@ typedef enum { /*0x21*/ FALLING_BOULDER, /*0x22*/ BOBOMB, /*0x23*/ WALL_MASTER_2, - /*0x24*/ GLEEROCK, + /*0x24*/ GLEEROK, /*0x25*/ VAATI_EYES_MACRO, /*0x26*/ TEKTITE, /*0x27*/ WIZZROBE_WIND, @@ -101,7 +101,7 @@ typedef enum { /*0x46*/ BOW_MOBLIN, /*0x47*/ LAKITU, /*0x48*/ LAKITU_CLOUD, - /*0x49*/ ENEMY_49, + /*0x49*/ TORCH_TRAP, /*0x4a*/ VAATI_REBORN_ENEMY, /*0x4b*/ VAATI_PROJECTILE, /*0x4c*/ BALL_CHAIN_SOLIDER, @@ -206,7 +206,7 @@ void Takkuri(Entity*); void BowMoblin(Entity*); void Lakitu(Entity*); void LakituCloud(Entity*); -void Enemy49(Entity*); +void TorchTrap(Entity*); void VaatiRebornEnemy(Entity*); void VaatiProjectile(Entity*); void BallChainSoldier(Entity*); diff --git a/include/entity.h b/include/entity.h index c3477e9e..5ff5dcdc 100644 --- a/include/entity.h +++ b/include/entity.h @@ -160,14 +160,14 @@ typedef struct Entity_ { /*0x1d*/ u8 field_0x1d; /*0x1e*/ u8 frameIndex; /*0x1f*/ u8 lastFrameIndex; - /*0x20*/ s32 zVelocity; /**< Z axis speed. */ + /*0x20*/ s32 zVelocity; /**< Z axis speed, measured in px/frame */ /*0x24*/ s16 speed; /**< Magnitude of speed. */ /*0x26*/ u8 spriteAnimation[3]; /*0x29*/ SpritePriority spritePriority; /*0x2a*/ u16 collisions; - /*0x2c*/ union SplitWord x; /**< X position, fixed point. */ - /*0x30*/ union SplitWord y; /**< Y position, fixed point. */ - /*0x34*/ union SplitWord z; /**< Z position, fixed point. */ + /*0x2c*/ union SplitWord x; /**< X position, fixed point Q16.16. */ + /*0x30*/ union SplitWord y; /**< Y position, fixed point Q16.16. */ + /*0x34*/ union SplitWord z; /**< Z position, fixed point Q16.16. */ /*0x38*/ u8 collisionLayer; /**< Collision layer. */ /*0x39*/ s8 interactType; /*0x3a*/ u8 field_0x3a; diff --git a/include/flags.h b/include/flags.h index 10224374..b08a5908 100644 --- a/include/flags.h +++ b/include/flags.h @@ -31,7 +31,6 @@ extern u32 WriteBit(void*, u32); extern u32 ClearBit(void*, u32); extern u32 gGlobalFlags; -extern u32 gRoomFlags; extern const u16 gLocalFlagBanks[]; diff --git a/include/functions.h b/include/functions.h index 7709868b..c298432d 100644 --- a/include/functions.h +++ b/include/functions.h @@ -19,7 +19,7 @@ extern void TryLoadPrologueHyruleTown(void); extern void FlushSprites(void); // Unidentified -extern void sub_0805EC9C(); +extern void sub_0805EC9C(Entity*, u32, u32, u32); extern void sub_0805EC60(Entity*); extern void sub_0806D0B0(Entity*); extern void sub_0806D02C(Entity*); @@ -75,7 +75,7 @@ extern u32 sub_0806F520(); extern void sub_0806F4E8(Entity*); extern void sub_080784C8(); extern u32 sub_0808288C(Entity*, u32, u32, u32); -extern void sub_0806FDA0(Entity*); +extern bool32 sub_0806FDA0(Entity*); extern bool32 LoadSwapGFX(Entity*, u16, u32); extern void sub_0807921C(); extern void sub_0807ACCC(Entity*); @@ -86,7 +86,7 @@ extern u32 sub_080002B8(Entity*); extern u32 sub_08049F84(Entity*, u32); extern u32 sub_0800419C(Entity*, Entity*, u32, u32); extern void sub_08004542(Entity*); -extern u32 sub_08017850(Entity*); +extern u32 IsCollidingPlayer(Entity*); extern void sub_080809D4(void); extern void sub_08080CB4(Entity*); extern void sub_0807B7D8(u32, u32, u32); @@ -95,8 +95,8 @@ extern u32 sub_080040D8(Entity*, u8*, s32, s32); extern u32 sub_0805F8F8(u32); extern u32 sub_0805F7A0(u32); extern u32* sub_0805F25C(u32); -u32 sub_0806FCB8(Entity*, u32, u32, u32); -extern void sub_0806F62C(Entity*, u32, u32); +u32 EntityWithinDistance(Entity*, s32, s32, s32); +extern void LinearMoveAngle(Entity*, u32, u32); extern void sub_080A1ED0(u32, u32, u32); extern u32 sub_0806F5B0(u32); extern void sub_08078790(Entity*, u32); @@ -121,6 +121,48 @@ extern bool32 sub_08077EFC(ItemBehavior*); extern void sub_08078E84(Entity*, Entity*); extern void sub_080042D0(Entity*, u32, u16); extern u32 sub_080002A8(u32, u32, u32); -extern void sub_080806BC(u32, u32, u32, u32); +extern bool32 sub_080806BC(u32, u32, u32, u32); +extern bool32 sub_0806FC80(Entity*, Entity*, s32); +extern u32 sub_080002B4(Entity*, u32, u32); +extern u32 sub_080AF134(Entity*); +extern void LinearMoveDirection(Entity*, u32, u32); +extern void sub_080A2AF4(Entity*, u32, u32); +extern u32 sub_080002CC(Entity*, s32, s32); +extern bool32 sub_0807BD14(Entity*, u32); +extern void sub_0807A5B8(u32); +extern Entity* sub_080A2AD4(Entity*); +extern u32 sub_080040A2(Entity*); +extern Entity* sub_08049DF4(u32); +extern s32 sub_080012DC(Entity*); +extern s32 sub_08056338(void); +extern s32 sub_080AF090(Entity*); +extern u32 PlayerInRange(Entity*, u32, u32); +extern u32 sub_080002C8(u16, u8); +extern u32 sub_080002D4(s32, s32, u32); +extern u32 sub_080002E0(u32, u32); +extern u32 sub_08031E04(Entity*); +extern u32 sub_080322A4(Entity*); +extern u32 sub_08049F1C(Entity*, Entity*, u32); +extern u32 sub_08049F1C(Entity*, Entity*, u32); +extern void SoundReqClipped(Entity*, u32); +extern void SoundReqClipped(Entity*, u32); +extern void sub_08001328(Entity*); +extern void sub_08031E48(Entity*, Entity*); +extern void sub_08032290(Entity*); +extern void sub_08032338(Entity*); +extern void sub_0803C0AC(Entity*); +extern void sub_0804AA1C(Entity*); +extern u32 sub_0806F824(Entity*, Entity*, s32, s32); +extern void sub_08078930(Entity*); +extern void sub_08078954(Entity*); +extern void sub_08079BD8(Entity*); +extern void sub_080AEFB4(Entity*); +extern void UnloadOBJPalette(Entity*); +void sub_080322E8(Entity*); +extern u32 GetTileIndex(u32, u32); +extern void sub_0806FBB4(Entity*); +extern u32 sub_080002D4(s32, s32, u32); +extern void sub_08078930(Entity*); +extern void sub_080044AE(Entity*, u32, u32); #endif diff --git a/include/global.h b/include/global.h index d9d22943..8521b77c 100644 --- a/include/global.h +++ b/include/global.h @@ -59,8 +59,8 @@ // Converts a number to Q8.8 fixed-point format #define Q_8_8(n) ((s16)((n)*256)) -// Converts a number to Q4.12 fixed-point format -#define Q_4_12(n) ((s16)((n)*4096)) +// Converts a number to Q16.16 fixed-point format +#define Q_16_16(n) ((s32)((n) * (1 << 16))) #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) @@ -99,6 +99,7 @@ typedef union { union SplitWord { s32 WORD; + u32 WORD_U; struct { s16 LO, HI; } HALF; diff --git a/include/item.h b/include/item.h index c5409c29..e7460936 100644 --- a/include/item.h +++ b/include/item.h @@ -24,7 +24,7 @@ extern void ItemOcarina(ItemBehavior*, u32); extern void ItemTryPickupObject(ItemBehavior*, u32); extern void ItemJarEmpty(ItemBehavior*, u32); -enum { +typedef enum { ITEM_NONE, ITEM_SMITH_SWORD, ITEM_GREEN_SWORD, @@ -143,6 +143,6 @@ enum { ITEM_SKILL_FAST_SPIN, ITEM_SKILL_FAST_SPLIT, ITEM_SKILL_LONG_SPIN, -}; +} Item; #endif diff --git a/include/object.h b/include/object.h index f45e8393..4b3fb61c 100644 --- a/include/object.h +++ b/include/object.h @@ -246,7 +246,7 @@ void Object10(Entity*); void Object11(Entity*); void Object12(Entity*); void Railtrack(Entity*); -void LilypadLarge(Entity*); +void LilypadLarge(); void Object15(Entity*); void FloatingPlatform(Entity*); void Object17(Entity*); @@ -262,7 +262,7 @@ void Object20(Entity*); void Object21(Entity*); void FigurineDevice(Entity*); void EyeSwitch(Entity*); -void PressurePlate(Entity*); +void PressurePlate(); void BigBarrel(Entity*); void BarrelInside(Entity*); void PushableStatue(Entity*); @@ -273,7 +273,7 @@ void Object2B(Entity*); void Beanstalk(Entity*); void Smoke(Entity*); void PushableRock(Entity*); -void HittableLever(Entity*); +void HittableLever(); void Object30(Entity*); void FrozenFlower(Entity*); void PullableMushroom(Entity*); @@ -310,7 +310,7 @@ void GiantRock(Entity*); void GiantRock2(Entity*); void Object52(Entity*); void Object53(Entity*); -void PullableLever(Entity*); +void PullableLever(); void Minecart(Entity*); void ThoughtBubble(Entity*); void HiddenLadderDown(Entity*); @@ -349,7 +349,7 @@ void Bell(Entity*); void MacroDecoration(Entity*); void Object79(Entity*); void Steam(Entity*); -void PushableLever(Entity*); +void PushableLever(); void MacroShoes(Entity*); void ObjectOnSpinyBeetle(Entity*); void Object7E(Entity*); @@ -357,7 +357,7 @@ void PicoBloom(Entity*); void Board(Entity*); void Object81(Entity*); void BigVortex(Entity*); -void BigPushableLever(Entity*); +void BigPushableLever(); void SmallIceBlock(Entity*); void BigIceBlock(Entity*); void Object86(Entity*); diff --git a/include/player.h b/include/player.h index 09483161..b0658c39 100644 --- a/include/player.h +++ b/include/player.h @@ -278,6 +278,7 @@ extern void (*const gPlayerItemFunctions[])(Entity*); extern u8 gBombBagSizes[]; extern u8 gQuiverSizes[]; extern u16 gWalletSizes[]; +extern Entity* gPlayerClones[]; extern PlayerState gPlayerState; extern Entity gPlayerEntity; diff --git a/include/sound.h b/include/sound.h index 898581d3..21cab9c3 100644 --- a/include/sound.h +++ b/include/sound.h @@ -300,7 +300,7 @@ typedef enum { SFX_109, SFX_10A, SFX_10B, - SFX_10C, + SFX_BUTTON_PRESS, SFX_10D, SFX_10E, SFX_10F, @@ -395,7 +395,7 @@ typedef enum { SFX_168, SFX_169, SFX_16A, - SFX_16B, + SFX_PRESSURE_PLATE, SFX_16C, SFX_16D, SFX_16E, diff --git a/include/sprite.h b/include/sprite.h index bb2445b1..7539891f 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -22,7 +22,7 @@ typedef struct { u8 endOfAnimation : 1; } PACKED b; } PACKED frameSettings; -} Frame; +} PACKED Frame; typedef struct { u8 numGfxTiles; |
