summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHenny022p <info@henny022.de>2021-03-09 04:22:03 +0100
committerHenny022p <info@henny022.de>2021-03-09 04:22:03 +0100
commitd6c379cb3e9dfe45a87e9531573e3397083099f6 (patch)
tree3459fc32962a56b3e0ff3f30ecad1dbd40ea4315 /include
parentcdb6f5a17e19abe270e2bf7cd35255a3801c068b (diff)
big cleanup part 1
Diffstat (limited to 'include')
-rw-r--r--include/dma.h9
-rw-r--r--include/enemy.h1
-rw-r--r--include/entity.h17
-rw-r--r--include/functions.h23
-rw-r--r--include/gba/macro.h14
-rw-r--r--include/global.h8
-rw-r--r--include/greatFairy.h25
-rw-r--r--include/item.h17
-rw-r--r--include/npc.h4
-rw-r--r--include/structures.h3
10 files changed, 33 insertions, 88 deletions
diff --git a/include/dma.h b/include/dma.h
new file mode 100644
index 00000000..168c870e
--- /dev/null
+++ b/include/dma.h
@@ -0,0 +1,9 @@
+#ifndef DMA_H
+#define DMA_H
+
+void MemFill16(u32 value, void* dest, u32 size);
+void MemFill32(u32 value, void* dest, u32 size);
+void MemClear(void* dest, u32 size);
+void MemCopy(const void* src, void* dest, u32 size);
+
+#endif // DMA_H
diff --git a/include/enemy.h b/include/enemy.h
index b12a54e8..22a62f78 100644
--- a/include/enemy.h
+++ b/include/enemy.h
@@ -89,7 +89,6 @@ extern void VaatiWrath(Entity*);
extern void VaatiArm(Entity*);
extern void Dust(Entity*);
extern void VaatiBall(Entity*);
-extern void Octorok(Entity*);
extern void Slime(Entity*);
extern void MiniSlime(Entity*);
extern void FireballGuy(Entity*);
diff --git a/include/entity.h b/include/entity.h
index a1dd6d93..6f1b5e72 100644
--- a/include/entity.h
+++ b/include/entity.h
@@ -166,14 +166,14 @@ extern LinkedList gUnk_03003D90;
extern LinkedList gUnk_03003DA0;
#define TILE(x, y) \
- ((((x - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \
- (((y - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
+ (((((x) - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \
+ ((((y) - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
#define COORD_TO_TILE(entity) \
- TILE(entity->x.HALF.HI, entity->y.HALF.HI)
+ TILE((entity)->x.HALF.HI, (entity)->y.HALF.HI)
#define COORD_TO_TILE_OFFSET(entity, xOff, yOff) \
- TILE(entity->x.HALF.HI - xOff, entity->y.HALF.HI - yOff)
+ TILE((entity)->x.HALF.HI - (xOff), (entity)->y.HALF.HI - (yOff))
extern Entity* CreateEnemy(u32 subtype, u32 form);
extern Entity* CreateObject(u32 subtype, u32 form, u32 parameter);
@@ -194,9 +194,10 @@ extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32);
extern u32 GetFacingDirection(Entity*, Entity*);
extern void DeleteThisEntity(void);
-extern void CopyPosition(Entity*, Entity*);
extern void DeleteEntity(Entity*);
-extern void PositionRelative(Entity*, Entity*, s32, s32);
+
+Entity* FindEntityInListBySubtype(u32 type, u32 subtype, u32 listIndex);
+Entity* FindEntityInListByForm(u32 type, u32 subtype, u32 listIndex, u32 form, u32 parameter);
enum {
DirectionNorth = 0x00,
@@ -211,12 +212,12 @@ enum {
#define DirectionIsVertical(expr) ((expr) & 0x10)
#define DirectionTurnAround(expr) (DirectionRoundUp(expr) ^ 0x10)
#define DirectionToAnimationState(expr) (DirectionRoundUp(expr) >> 3)
-#define DirectionFromAnimationState(expr) (expr << 3)
+#define DirectionFromAnimationState(expr) ((expr) << 3)
#define Direction8Round(expr) ((expr) & 0x1c)
#define Direction8RoundUp(expr) Direction8Round((expr) + 2)
#define Direction8TurnAround(expr) (Direction8RoundUp(expr) ^ 0x10)
#define Direction8ToAnimationState(expr) (Direction8RoundUp(expr) >> 2)
-#define Direction8FromAnimationState(expr) (expr << 2)
+#define Direction8FromAnimationState(expr) (((expr) << 2)
#endif
diff --git a/include/functions.h b/include/functions.h
index ecf438fb..34e79e08 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -15,24 +15,18 @@ extern u32 Random(void);
extern void SoundReq(u32);
extern void ShowNPCDialogue(Entity*, Dialog*);
extern u32 UpdateFuseInteraction();
-extern void DeleteEntity(Entity*);
extern u32 __modsi3(u32, u32);
extern void DoFade(u32, u32);
-extern u32 GetInventoryValue(u32);
extern u32 CheckKinstoneFused(u32);
extern void ForceEquipItem(u32, u8);
extern void LoadRoomEntityList();
-void CopyPosition(Entity*, Entity*);
-extern void ResolveEntityOnTop(Entity*, Entity*);
extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*));
extern u32 GetAnimationState(Entity*);
extern void SetChildOffset(Entity*, s32, s32, s32);
-extern u32 GetFacingDirection(Entity*, Entity*);
extern Entity* CreatePlayerItem(u32, u32, u32, u32);
extern Entity* GetEmptyEntity(void);
extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer);
extern u32 GetTileType(u32 pos, u32 layer);
-extern void MemClear32(void* src, u32 count);
extern void EraseAllEntities(void);
extern void SetTile(u32, u32, u32);
extern void SetDirtTile(u32);
@@ -42,13 +36,8 @@ extern void UpdateAnimationVariableFrames(Entity*, u32);
extern void CopyPositionAndSpriteOffset(Entity*, Entity*);
extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32);
extern u32 LoadFixedGFX(Entity*, u32);
-extern void MemFill32(u32, void*, u32);
extern Entity* CreateItemEntity(u32, u32, u32);
-void MemCopy(const void* src, void* dst, u32 size);
extern u32 ProcessMovement(Entity*);
-extern Entity* FindEntityInListBySubtype(u32, u32, u32);
-extern Entity* FindEntityInListByForm(u32, u32, u32, u32, u32);
-extern void MemClear32(void*, u32);
extern void MenuFadeIn(u32, u32);
extern void LoadResourceAsync(const void*, u32, u32);
extern void LoadPaletteGroup(u32);
@@ -78,7 +67,6 @@ extern void sub_0806F118(Entity*);
extern void sub_080791D0();
extern void sub_0805EC9C();
extern void sub_0805EC60();
-extern void sub_080873D0();
extern u32 sub_080045D4(s16, s16, u32, u32);
extern void sub_0806F69C(Entity*);
extern void sub_0805E3A0(void*, u32);
@@ -94,17 +82,11 @@ extern void sub_0807000C(Entity*);
extern void sub_0805E47C(Entity*);
extern void sub_0805E584(Entity*);
extern void sub_08068BEC(Entity*, u32);
-extern void sub_08078778(Entity*);
-extern s32 sub_0806ED9C(Entity*, u32, u32);
extern s32 sub_0806F078(Entity*, s32);
extern void sub_0801D2B4(Entity*, u32);
extern void sub_0806FD3C(Entity*);
-extern u32 sub_0801E99C(Entity*);
-extern void sub_0807DD50(Entity*);
-extern void sub_0806F118(Entity*);
extern void sub_0805ED14(u32*);
extern void sub_080A7C18(u32, u32, u32);
-extern void sub_08068BEC(Entity*, u32);
extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*));
extern Entity* sub_0804A9FC(Entity*, u32);
extern void sub_0804A720(Entity*);
@@ -159,8 +141,6 @@ extern void sub_080530C8(void);
extern void sub_0805B4D0(u32);
extern void sub_0804D0B4(void);
extern void sub_0805308C(u32);
-extern void sub_0805AF60();
-extern void sub_0805D3C8(u32);
extern void sub_080534AC();
extern void sub_0807BA8C(u32, u32);
extern void sub_0804D9B0();
@@ -174,7 +154,6 @@ extern void sub_08054564();
extern void sub_0801DD58(u32, u32);
extern void sub_0804ED18();
extern void sub_080AF2E4(void);
-extern void sub_0805ADD8(u32);
extern void sub_0804F578(void);
extern void sub_08059994(void);
extern s32 sub_0801CFA8(u32);
@@ -266,7 +245,6 @@ u32 sub_0806FCB8(Entity*, u32, u32, u32);
extern Entity* sub_080A7EE0(u32);
extern void sub_080A1D70(Entity*, u32);
extern void sub_0806F62C(Entity*, u32, u32);
-extern u32 sub_08079F8C(void);
extern void sub_080A1ED0(u32, u32, u32);
extern u32 sub_0806F5B0(u32);
extern void sub_0801DFB4(Entity*, u32, u32, u32);
@@ -292,7 +270,6 @@ extern void sub_080791BC9();
extern void sub_080791BC();
extern void sub_08056360();
extern u32 sub_080542AC(u32);
-extern void sub_0807A108();
extern u32 sub_08079FC4(u32);
extern void sub_0800455E(Entity*);
extern void sub_08008790(Entity*, u32);
diff --git a/include/gba/macro.h b/include/gba/macro.h
index b08ed921..53f03071 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -4,13 +4,13 @@
#define CPU_FILL(value, dest, size, bit) \
{ \
vu##bit tmp = (vu##bit)(value); \
- CpuSet((void*)&tmp, dest, CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size) / (bit / 8) & 0x1FFFFF)); \
+ CpuSet((void*)&tmp, dest, CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size) / ((bit) / 8) & 0x1FFFFF)); \
}
#define CpuFill16(value, dest, size) CPU_FILL(value, dest, size, 16)
#define CpuFill32(value, dest, size) CPU_FILL(value, dest, size, 32)
-#define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size) / (bit / 8) & 0x1FFFFF))
+#define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size) / ((bit) / 8) & 0x1FFFFF))
#define CpuCopy16(src, dest, size) CPU_COPY(src, dest, size, 16)
#define CpuCopy32(src, dest, size) CPU_COPY(src, dest, size, 32)
@@ -42,7 +42,7 @@
vu##bit tmp = (vu##bit)(value); \
DmaSet(dmaNum, &tmp, dest, \
(DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_FIXED | DMA_DEST_INC) << 16 | \
- ((size) / (bit / 8))); \
+ ((size) / ((bit) / 8))); \
}
#define DmaFill16(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 16)
@@ -65,7 +65,7 @@
#define DMA_COPY(dmaNum, src, dest, size, bit) \
DmaSet(dmaNum, src, dest, \
- (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 | ((size) / (bit / 8)))
+ (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 | ((size) / ((bit) / 8)))
#define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16)
#define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32)
@@ -112,7 +112,7 @@
#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \
{ \
- void* _dest = (void*)dest; \
+ void* _dest = (void*)(dest); \
u32 _size = size; \
while (1) { \
DmaFill##bit(dmaNum, value, _dest, (block)); \
@@ -149,7 +149,7 @@
#define DmaFillDefvars(dmaNum, value, dest, size, bit) \
{ \
- void* _dest = (void*)dest; \
+ void* _dest = (void*)(dest); \
u32 _size = size; \
DmaFill##bit(dmaNum, value, _dest, _size); \
}
@@ -180,7 +180,7 @@
\
imeTemp = REG_IME; \
REG_IME = 0; \
- REG_IE |= flags; \
+ REG_IE |= (flags); \
REG_IME = imeTemp; \
}
diff --git a/include/global.h b/include/global.h
index de47c6ac..f45ee218 100644
--- a/include/global.h
+++ b/include/global.h
@@ -31,9 +31,9 @@
#define SWAP(a, b, temp) \
{ \
- temp = a; \
- a = b; \
- b = temp; \
+ (temp) = a; \
+ (a) = b; \
+ (b) = temp; \
}
// useful math macros
@@ -47,7 +47,7 @@
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))
-#define BOOLCAST(x) ((-x | x) >> 31)
+#define BOOLCAST(x) ((-(x) | (x)) >> 31)
#define static_assert(cond) extern char assertion[(cond) ? 1 : -1]
#if NON_MATCHING
diff --git a/include/greatFairy.h b/include/greatFairy.h
index 31a37c99..e9c5dfb9 100644
--- a/include/greatFairy.h
+++ b/include/greatFairy.h
@@ -3,23 +3,9 @@
#include "screen.h"
-extern u32 __modsi3(u32, u32);
-extern void InitializeAnimation(Entity*, u32);
-extern void GreatFairy_InitializeAnimation(Entity*);
-extern u32 CheckRoomFlag();
-extern Entity* GreatFairy_CreateForm(Entity*, u32, u32);
-extern void PositionRelative();
-extern void CopyPosition();
-extern void DoFade();
-extern void SoundReq();
-extern void GetNextFrame();
-extern void sub_0805EC9C();
-extern void sub_0805EC60();
-extern void sub_080873D0();
-extern void DeleteEntity();
-extern void sub_0806F69C();
-extern Entity* FindEntityInListBySubtype(u32, u32, u32);
-extern void sub_080791D0();
+void GreatFairy_InitializeAnimation(Entity*);
+Entity* GreatFairy_CreateForm(Entity*, u32, u32);
+void sub_080873D0();
extern void (*const GreatFairy_Main[])(Entity*);
extern void (*const GreatFairy_Behaviors[])(Entity*);
extern void (*const GreatFairy_WingsBehaviors[])(Entity*);
@@ -35,13 +21,8 @@ extern void (*const GreatFairy_Form2Behaviors[])(Entity*);
extern void (*const gUnk_081207A4[])(Entity*);
extern u32 gUnk_0810C2E4;
-extern RoomControls gRoomControls;
-extern Entity gPlayerEntity;
extern const s16 GreatFairy_RippleOffsets[10];
extern u32 gUnk_02034350;
-extern RoomVars gRoomVars;
-extern Screen gScreen;
-extern struct_02033280 gUnk_02033280;
extern u8 gUnk_0812079C[8];
extern s16 gSineTable[];
extern s8 gUnk_081207AC[];
diff --git a/include/item.h b/include/item.h
index e0dc4bbb..0f9fd6f2 100644
--- a/include/item.h
+++ b/include/item.h
@@ -7,36 +7,19 @@
extern void DebugItem(ItemBehavior*, u32);
extern void Sword(ItemBehavior*, u32);
-extern void Sword(ItemBehavior*, u32);
-extern void Sword(ItemBehavior*, u32);
-extern void Sword(ItemBehavior*, u32);
-extern void Sword(ItemBehavior*, u32);
-extern void Sword(ItemBehavior*, u32);
extern void Bomb(ItemBehavior*, u32);
-extern void Bomb(ItemBehavior*, u32);
-extern void Bow(ItemBehavior*, u32);
extern void Bow(ItemBehavior*, u32);
extern void sub_08075D14(ItemBehavior*, u32);
-extern void sub_08075D14(ItemBehavior*, u32);
-extern void Shield(ItemBehavior*, u32);
extern void Shield(ItemBehavior*, u32);
extern void Lantern(ItemBehavior*, u32);
-extern void Lantern(ItemBehavior*, u32);
extern void GustJar(ItemBehavior*, u32);
extern void PacciCane(ItemBehavior*, u32);
extern void MoleMitts(ItemBehavior*, u32);
extern void RocsCape(ItemBehavior*, u32);
extern void sub_08076800(ItemBehavior*, u32);
-extern void DebugItem(ItemBehavior*, u32);
extern void Ocarina(ItemBehavior*, u32);
-extern void DebugItem(ItemBehavior*, u32);
-extern void DebugItem(ItemBehavior*, u32);
-extern void DebugItem(ItemBehavior*, u32);
extern void TryPickupObject(ItemBehavior*, u32);
extern void JarEmpty(ItemBehavior*, u32);
-extern void JarEmpty(ItemBehavior*, u32);
-extern void JarEmpty(ItemBehavior*, u32);
-extern void JarEmpty(ItemBehavior*, u32);
/* On hold until naming conflicts are resolved */
/*
diff --git a/include/npc.h b/include/npc.h
index b27a82f9..ec7fc861 100644
--- a/include/npc.h
+++ b/include/npc.h
@@ -42,10 +42,6 @@ extern void SittingPerson_Head(Entity*);
extern void SittingPerson_Fusion(Entity*);
extern void Pina(Entity*);
extern void Pina_Fusion(Entity*);
-extern void Guard(Entity*);
-extern void Guard_Head(Entity*);
-extern void Maid(Entity*);
-extern void Maid_Head(Entity*);
extern void Din(Entity*);
extern void Din_Fusion(Entity*);
extern void Nayru(Entity*);
diff --git a/include/structures.h b/include/structures.h
index 59811d6f..a7e4902f 100644
--- a/include/structures.h
+++ b/include/structures.h
@@ -39,8 +39,7 @@ typedef struct {
u8 field_0x4[0x4];
bool8 transitioningOut;
u8 transitionType; // transition when changing areas
- u8 field_0xa; // seems to be a tile type
- u8 field_0xb;
+ u16 field_0xa; // seems to be a tile type
u8 areaID;
u8 roomID;
u8 playerState;