mirror of https://github.com/zeldaret/tmc.git
Document two fields in PlayerState
This commit is contained in:
parent
0123ca26bd
commit
dbe2cd55b2
|
@ -154,7 +154,7 @@ enum PlayerItemId {
|
||||||
PL_ITEM_CELL_OVERWRITE_SET2,
|
PL_ITEM_CELL_OVERWRITE_SET2,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum SurfaceType {
|
typedef enum {
|
||||||
SURFACE_NORMAL,
|
SURFACE_NORMAL,
|
||||||
SURFACE_PIT,
|
SURFACE_PIT,
|
||||||
SURFACE_2,
|
SURFACE_2,
|
||||||
|
@ -200,7 +200,7 @@ enum SurfaceType {
|
||||||
SURFACE_AUTO_LADDER,
|
SURFACE_AUTO_LADDER,
|
||||||
SURFACE_CLIMB_WALL,
|
SURFACE_CLIMB_WALL,
|
||||||
SURFACE_2C,
|
SURFACE_2C,
|
||||||
};
|
} SurfaceType;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
SKILL_NONE = 0,
|
SKILL_NONE = 0,
|
||||||
|
@ -255,7 +255,8 @@ typedef struct {
|
||||||
/*0x1d*/ u8 gustJarSpeed;
|
/*0x1d*/ u8 gustJarSpeed;
|
||||||
/*0x1e*/ u8 dash_state;
|
/*0x1e*/ u8 dash_state;
|
||||||
/*0x1f*/ u8 field_0x1f[3];
|
/*0x1f*/ u8 field_0x1f[3];
|
||||||
/*0x22*/ u16 field_0x22[2];
|
/*0x22*/ u16 tilePosition;
|
||||||
|
/*0x24*/ u16 tileType;
|
||||||
/*0x26*/ u8 swim_state;
|
/*0x26*/ u8 swim_state;
|
||||||
/*0x27*/ u8 field_0x27[5];
|
/*0x27*/ u8 field_0x27[5];
|
||||||
/*0x2c*/ Entity* item;
|
/*0x2c*/ Entity* item;
|
||||||
|
@ -376,7 +377,7 @@ void sub_08077728(u32);
|
||||||
void PutAwayItems(void);
|
void PutAwayItems(void);
|
||||||
void sub_08079E58(s32 speed, u32 direction);
|
void sub_08079E58(s32 speed, u32 direction);
|
||||||
void RespawnPlayer(void);
|
void RespawnPlayer(void);
|
||||||
u32 GetSurfaceCalcType(Entity*, s32, s32);
|
SurfaceType GetSurfaceCalcType(Entity*, s32, s32);
|
||||||
void UpdatePlayerMovement(void);
|
void UpdatePlayerMovement(void);
|
||||||
void EnablePlayerDraw(Entity*);
|
void EnablePlayerDraw(Entity*);
|
||||||
void sub_080797EC(void);
|
void sub_080797EC(void);
|
||||||
|
|
|
@ -3705,7 +3705,7 @@ void SurfaceAction_20(Entity* this) {
|
||||||
if (e != NULL) {
|
if (e != NULL) {
|
||||||
e->timer = 1;
|
e->timer = 1;
|
||||||
UpdateSpriteForCollisionLayer(e);
|
UpdateSpriteForCollisionLayer(e);
|
||||||
CloneTile(57, gPlayerState.field_0x22[0], this->collisionLayer);
|
CloneTile(57, gPlayerState.tilePosition, this->collisionLayer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SurfaceAction_Water(this);
|
SurfaceAction_Water(this);
|
||||||
|
|
|
@ -56,7 +56,7 @@ void* sub_08077C54(ItemBehavior*);
|
||||||
u32 sub_08079FD4(Entity*, u32);
|
u32 sub_08079FD4(Entity*, u32);
|
||||||
void LoadRoomGfx(void);
|
void LoadRoomGfx(void);
|
||||||
u32 sub_0807A094(u32);
|
u32 sub_0807A094(u32);
|
||||||
u32 GetSurfaceCalcType(Entity*, s32, s32);
|
SurfaceType GetSurfaceCalcType(Entity*, s32, s32);
|
||||||
void sub_0807AAF8(Entity*, u32);
|
void sub_0807AAF8(Entity*, u32);
|
||||||
|
|
||||||
extern struct_0811BE48 gUnk_0811BE48[];
|
extern struct_0811BE48 gUnk_0811BE48[];
|
||||||
|
@ -243,7 +243,7 @@ bool32 sub_080777A0(void) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
default:
|
default:
|
||||||
if ((((gUnk_0200AF00.unk_2c == 0xc) && (gPlayerState.field_0x1c == 0)) &&
|
if ((((gUnk_0200AF00.unk_2c == 0xc) && (gPlayerState.field_0x1c == 0)) &&
|
||||||
(gPlayerState.floor_type != 0x11)) &&
|
(gPlayerState.floor_type != SURFACE_SWAMP)) &&
|
||||||
((((gPlayerState.field_0x90 & 0xf00) != 0 &&
|
((((gPlayerState.field_0x90 & 0xf00) != 0 &&
|
||||||
((gPlayerState.flags & (PL_BURNING | PL_ROLLING)) == 0)) &&
|
((gPlayerState.flags & (PL_BURNING | PL_ROLLING)) == 0)) &&
|
||||||
((gPlayerState.jump_status == 0 && (gPlayerState.field_0x3[1] == 0)))))) {
|
((gPlayerState.jump_status == 0 && (gPlayerState.field_0x3[1] == 0)))))) {
|
||||||
|
@ -1192,8 +1192,8 @@ void ClearPlayerState(void) {
|
||||||
gPlayerState.field_0x1f[0] = 0;
|
gPlayerState.field_0x1f[0] = 0;
|
||||||
gPlayerState.field_0x1f[1] = 0;
|
gPlayerState.field_0x1f[1] = 0;
|
||||||
gPlayerState.field_0x1f[2] = 0;
|
gPlayerState.field_0x1f[2] = 0;
|
||||||
gPlayerState.field_0x22[0] = 0;
|
gPlayerState.tilePosition = 0;
|
||||||
gPlayerState.field_0x22[1] = 0;
|
gPlayerState.tileType = 0;
|
||||||
gPlayerState.swim_state = 0;
|
gPlayerState.swim_state = 0;
|
||||||
gPlayerState.item = NULL;
|
gPlayerState.item = NULL;
|
||||||
gPlayerState.speed_modifier = 0;
|
gPlayerState.speed_modifier = 0;
|
||||||
|
@ -1863,15 +1863,15 @@ void UpdateFloorType(void) {
|
||||||
gUnk_0811C120[gPlayerState.floor_type](&gPlayerEntity);
|
gUnk_0811C120[gPlayerState.floor_type](&gPlayerEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 GetSurfaceCalcType(Entity* param_1, s32 x, s32 y) {
|
SurfaceType GetSurfaceCalcType(Entity* param_1, s32 x, s32 y) {
|
||||||
u32 position = TILE(param_1->x.HALF.HI + (u32)x, param_1->y.HALF.HI + y);
|
u32 position = TILE(param_1->x.HALF.HI + (u32)x, param_1->y.HALF.HI + y);
|
||||||
u32 tileType = GetTileTypeByPos(param_1->x.HALF.HI + x, param_1->y.HALF.HI + y, gPlayerEntity.collisionLayer);
|
u32 tileType = GetTileTypeByPos(param_1->x.HALF.HI + x, param_1->y.HALF.HI + y, gPlayerEntity.collisionLayer);
|
||||||
if (tileType != gPlayerState.field_0x22[1]) {
|
if (tileType != gPlayerState.tileType) {
|
||||||
gPlayerState.field_0x37 = 0;
|
gPlayerState.field_0x37 = 0;
|
||||||
}
|
}
|
||||||
if ((tileType != gPlayerState.field_0x22[1]) || (position != gPlayerState.field_0x22[0])) {
|
if ((tileType != gPlayerState.tileType) || (position != gPlayerState.tilePosition)) {
|
||||||
gPlayerState.field_0x22[0] = position;
|
gPlayerState.tilePosition = position;
|
||||||
gPlayerState.field_0x22[1] = tileType;
|
gPlayerState.tileType = tileType;
|
||||||
gPlayerState.field_0x11 = 0;
|
gPlayerState.field_0x11 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue