src/physics.c file

Functions

static void sub_0806FEE8(struct_gUnk_020000C0_1*, u32, u32, u32)
static void sub_0806FEFC(struct_gUnk_020000C0_1*, Entity*)
static auto sub_0807007C(struct_gUnk_020000C0*, u32) -> bool32
void sub_0806F364(void)
void sub_0806F38C(void)
auto sub_0806F39C(Entity* ent) -> u32
auto sub_0806F3E4(Entity* ent) -> bool32
void sub_0806F4E8(Entity* ent)
auto sub_0806F520(Entity* ent) -> bool32
auto sub_0806F548(Entity* a, Entity* b, u32 x, u32 y) -> u32
auto sub_0806F564(Entity* ent, u32 b, u32 c) -> u32
auto sub_0806F58C(Entity* a, Entity* b) -> u32
auto GetAnimationStateForDirection4(u32 direction) -> u32
Maps the direction to an animation state 0 to 3.
auto GetAnimationStateForDirection8(u32 idx) -> u32
Maps the direction to an animation state 0 to 8.
void LinearMoveDirection(Entity* ent, u32 a, u32 b)
void LinearMoveAngle(Entity* ent, u32 a, u32 b)
void LinearMoveUpdate(Entity* ent)
void sub_0806F704(Entity* this, u32 tilePos)
auto sub_0806F730(Entity* ent) -> u32
Calculates the tile position of the player but modifies it by the hitbox depending on the animation state.
auto sub_0806F798(Entity* ent) -> u32
auto sub_0806F7D0(Entity* ent) -> u32
auto sub_0806F7EC(Entity* ent) -> u32
auto sub_0806F804(u32 x, u32 y) -> u32
auto sub_0806F824(Entity* a, Entity* b, s32 x, s32 y) -> u32
auto sub_0806F854(Entity* ent, s32 x, s32 y) -> bool32
auto sub_0806F8DC(Entity* ent) -> bool32
auto sub_0806F948(Entity* ent) -> u32
auto sub_0806F998(Entity* ent) -> u32
auto FixedMul(s16 r0, s16 r1) -> s16
auto FixedDiv(s16 r0, s16 r1) -> s16
void CopyPosition(Entity* source, Entity* target)
void PositionEntityOnTop(Entity* source, Entity* target)
void PositionRelative(Entity* source, Entity* target, s32 offsetX, s32 offsetY)
void CopyPositionAndSpriteOffset(Entity* source, Entity* target)
void sub_0806FA90(Entity* source, Entity* target, s32 offsetX, s32 offsetY)
void SortEntityAbove(Entity* below_ent, Entity* above_ent)
void SortEntityBelow(Entity* above_ent, Entity* below_ent)
void sub_0806FB00(GenericEntity* ent, u32 param_1, u32 param_2, u32 param_3)
auto sub_0806FB38(GenericEntity* ent) -> bool32
void sub_0806FBB4(Entity* ent)
auto AllocMutableHitbox(Entity* ent) -> void*
void UnloadHitbox(Entity* ent)
auto CheckPlayerProximity(u32 x, u32 y, u32 distX, u32 DistY) -> bool32
auto sub_0806FC24(u32 param_1, u32 param_2) -> bool32
auto sub_0806FC50(u32 param_1, u32 param_2) -> const u16*
auto sub_0806FC80(Entity* ent, Entity* ent2, s32 param_3) -> bool32
auto sub_0806FCA0(Entity* this, Entity* other) -> u32
auto sub_0806FCAC(Entity* this, Entity* other) -> u32
auto EntityWithinDistance(Entity* entity, s32 x, s32 y, s32 distance) -> bool32
auto PointInsideRadius(s32 x, s32 y, s32 distance) -> bool32
void sub_0806FCF4(Entity* ent, s32 param_2, s32 param_3, s32 param_4)
void sub_0806FD3C(Entity* this)
auto sub_0806FD54(Entity* this) -> bool32
void sub_0806FD8C()
auto sub_0806FDA0(Entity* this) -> bool32
auto LoadExtraSpriteData(Entity* entity, const SpriteLoadData* spriteData) -> bool32
void UnloadOBJPalette2(Entity* ent)
void sub_0806FEBC(Entity* ent, u32 param_2, Entity* param_3)
void sub_0806FF10(Entity* this, u32 param_2, u32 param_3)
void sub_0806FF48(Entity* this, u32 param_2, u32 param_3)
void SetExtraSpriteFrame(Entity* this, u32 param_2, u32 param_3)
void SetSpriteSubEntryOffsetData1(Entity* this, u32 param_2, u32 param_3)
void sub_0806FFBC(Entity* this, u32 param_2, u32 param_3, u32 param_4)
void SetSpriteSubEntryOffsetData2(Entity* this, u32 param_2, u32 param_3)
void sub_0807000C(Entity* this)
auto GetSpriteSubEntryOffsetDataPointer(u32 param_1, u32 param_2) -> u8*

Variables

const u8 gSpriteSortAboveTable
const u8 gSpriteSortBelowTable
const u8 gMapDirectionToAnimationState8
const u8 gMapDirectionToAnimationState4
u16 gExtraFrameOffsets
s8 gUnk_08126EE4
const KeyValuePair gUnk_080046A4
const u16 gUnk_080047F6

Defines

#define CDIR_DIAGONAL
#define CDirectionSouth
#define CDirectionWest