1
0
mirror of https://github.com/blawar/ooot.git synced 2024-06-30 16:29:55 +00:00

Documentation (#180)

* Some documentation for horse riding and swimming.

* Added more documentation.

Co-authored-by: DaMarkov <DaMarkovZED@gmail.com>
This commit is contained in:
DaMarkov 2022-02-23 08:25:07 +01:00 committed by GitHub
parent fd368f425c
commit e27a9a29df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 59 additions and 59 deletions

View File

@ -1000,6 +1000,7 @@ f32 Actor_HeightDiff(Actor* actorA, Actor* actorB) {
}
f32 Player_GetHeight(Player* player) {
//Mounted on a horse?
f32 offset = (player->stateFlags1 & 0x800000) ? 32.0f : 0.0f;
if (LINK_IS_ADULT) {
@ -1010,9 +1011,9 @@ f32 Player_GetHeight(Player* player) {
}
f32 func_8002DCE4(Player* player) {
if (player->stateFlags1 & 0x800000) {
if (player->stateFlags1 & 0x800000) {//When mounted on a horse
return 8.0f;
} else if (player->stateFlags1 & 0x8000000) {
} else if (player->stateFlags1 & 0x8000000) {//When swimming
return (R_RUN_SPEED_LIMIT / 100.0f) * 0.6f;
} else {
return R_RUN_SPEED_LIMIT / 100.0f;

View File

@ -3601,7 +3601,7 @@ s32 Camera_KeepOn4(Camera* camera) {
keep4->unk_04 = playerHeight * 1.6f * yNormal;
keep4->unk_08 = -2.0f;
keep4->unk_0C = 120.0f;
keep4->unk_10 = player->stateFlags1 & 0x8000000 ? 0.0f : 20.0f;
keep4->unk_10 = player->stateFlags1 & 0x8000000 ? 0.0f : 20.0f;//Swimming?
keep4->unk_1C = 0x3212;
keep4->unk_1E = 0x1E;
keep4->unk_18 = 50.0f;
@ -5109,6 +5109,7 @@ s32 Camera_Unique9(Camera* camera) {
D_8011D3AC = anim->curKeyFrame->unk_01 & 0xF;
} else if ((anim->curKeyFrame->unk_01 & 0xF0) == 0xC0) {
Camera_UpdateInterface(0xF000 | ((anim->curKeyFrame->unk_01 & 0xF) << 8));
//Swimming without iron boots?
} else if (camera->player->stateFlags1 & 0x8000000 && player->currentBoots != PLAYER_BOOTS_IRON) {
func_8002DF38(camera->globalCtx, camera->target, 8);
osSyncPrintf("camera: demo: player demo set WAIT\n");
@ -5485,6 +5486,7 @@ s32 Camera_Unique9(Camera* camera) {
// Set the player's position
camera->player->actor.world.pos.x = anim->playerPos.x;
camera->player->actor.world.pos.z = anim->playerPos.z;
//Swimming without iron boots?
if (camera->player->stateFlags1 & 0x8000000 && player->currentBoots != PLAYER_BOOTS_IRON) {
camera->player->actor.world.pos.y = anim->playerPos.y;
}
@ -6929,9 +6931,6 @@ void func_80057FC4(Camera* camera) {
}
}
void Camera_Stub80058140(Camera* camera) {
}
void Camera_InitPlayerSettings(Camera* camera, Player* player) {
PosRot playerPosShape;
VecSph eyeNextAtOffset;

View File

@ -984,7 +984,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
if (func_800C0CB8(globalCtx)) {
D_801231B4[0].eyeTargetInit.z = D_801231B4[1].eyeTargetInit.z = !LINK_IS_ADULT ? 100.0f : 120.0f;
if (player->stateFlags1 & 0x08000000) {
if (player->stateFlags1 & 0x08000000) {//Swimming?
D_801231B4[2].atTargetInit.z = 0.0f;
}
Actor_GetWorldPosShapeRot(&spA0, &player->actor);

View File

@ -698,11 +698,11 @@ void func_80083108(GlobalContext* globalCtx) {
Interface_ChangeAlpha(8);
} else if ((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38)) {
Interface_ChangeAlpha(8);
} else if (player->stateFlags1 & 0x00800000) {
} else if (player->stateFlags1 & 0x00800000) {//Mounted on a horse?
Interface_ChangeAlpha(12);
}
} else {
if (player->stateFlags1 & 0x00800000) {
if (player->stateFlags1 & 0x00800000) {//Mounted on a horse?
Interface_ChangeAlpha(12);
}
}
@ -790,7 +790,7 @@ void func_80083108(GlobalContext* globalCtx) {
Interface_ChangeAlpha(50);
}
} else if ((gSaveContext.eventInf[0] & 0xF) == 1) {
if (player->stateFlags1 & 0x00800000) {
if (player->stateFlags1 & 0x00800000) {//Mounted on a horse?
if ((gSaveContext.equips.buttonItems[0] != ITEM_NONE) &&
(gSaveContext.equips.buttonItems[0] != ITEM_BOW)) {
if (gSaveContext.inventory.items[SLOT_BOW] == ITEM_NONE) {

View File

@ -325,7 +325,7 @@ void Player_SetBootData(GlobalContext* globalCtx, Player* pthis) {
currentBoots = PLAYER_BOOTS_NORMAL_CHILD;
}
} else if (currentBoots == PLAYER_BOOTS_IRON) {
if (pthis->stateFlags1 & 0x8000000) {
if (pthis->stateFlags1 & 0x8000000) {//Swimming?
currentBoots = PLAYER_BOOTS_IRON_UNDERWATER;
}
REG(27) = 500;
@ -488,7 +488,7 @@ void func_8008EEAC(GlobalContext* globalCtx, Actor* actor) {
Camera_ChangeMode(Gameplay_GetCamera(globalCtx, 0), 2);
}
s32 func_8008EF30(GlobalContext* globalCtx) {
s32 Player_MountedOnHorse(GlobalContext* globalCtx) {
Player* pthis = GET_PLAYER(globalCtx);
return (pthis->stateFlags1 & 0x800000);

View File

@ -211,7 +211,7 @@ void EnDoor_Idle(EnDoor* pthis, GlobalContext* globalCtx) {
if (pthis->playerIsOpening != 0) {
pthis->actionFunc = EnDoor_Open;
Animation_PlayOnceSetSpeed(&pthis->skelAnime, D_809FCECC[pthis->animStyle],
(player->stateFlags1 & 0x8000000) ? 0.75f : 1.5f);
(player->stateFlags1 & 0x8000000) ? 0.75f : 1.5f);//Swimming?
if (pthis->lockTimer != 0) {
gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex]--;
Flags_SetSwitch(globalCtx, pthis->actor.params & 0x3F);

View File

@ -251,7 +251,7 @@ void EnEncount1_SpawnStalchildOrWolfos(EnEncount1* pthis, GlobalContext* globalC
while ((pthis->curNumSpawn < pthis->maxCurSpawns) && (pthis->totalNumSpawn < pthis->maxTotalSpawns)) {
if (globalCtx->sceneNum == SCENE_SPOT00) {
if ((player->unk_89E == 0) || (player->actor.floorBgId != BGCHECK_SCENE) ||
!(player->actor.bgCheckFlags & 1) || (player->stateFlags1 & 0x08000000)) {
!(player->actor.bgCheckFlags & 1) || (player->stateFlags1 & 0x08000000)) {//Swimming?
pthis->fieldSpawnTimer = 60;
break;

View File

@ -597,7 +597,7 @@ void EnGe1_BeginGame_Archery(EnGe1* pthis, GlobalContext* globalCtx) {
gSaveContext.eventInf[0] |= 0x100;
gSaveContext.eventChkInf[6] |= 0x100;
if (!(player->stateFlags1 & 0x800000)) {
if (!(player->stateFlags1 & 0x800000)) {//Mounted on a horse?
func_8002DF54(globalCtx, &pthis->actor, 1);
} else {
horse = Actor_FindNearby(globalCtx, &player->actor, ACTOR_EN_HORSE, ACTORCAT_BG, 1200.0f);
@ -677,7 +677,7 @@ void EnGe1_Wait_Archery(EnGe1* pthis, GlobalContext* globalCtx) {
Player* player = GET_PLAYER(globalCtx);
u16 textId;
if (!(player->stateFlags1 & 0x800000)) {
if (!(player->stateFlags1 & 0x800000)) {//Not mounted on a horse?
EnGe1_SetTalkAction(pthis, globalCtx, 0x603F, 100.0f, EnGe1_TalkNoHorse_Archery);
} else {
if (gSaveContext.eventChkInf[6] & 0x100) {

View File

@ -154,7 +154,7 @@ u16 func_80A79010(GlobalContext* globalCtx) {
}
switch (gSaveContext.eventInf[0] & 0xF) {
case 1:
if (!(player->stateFlags1 & 0x800000)) {
if (!(player->stateFlags1 & 0x800000)) {//Not mounted on a horse?
return 0x2036;
} else if (gSaveContext.eventChkInf[1] & 0x800) {
if (gSaveContext.infTable[10] & 4) {

View File

@ -109,7 +109,7 @@ u16 func_80AA2AA0(GlobalContext* globalCtx, Actor* thisx) {
return 0x2004;
}
}
if ((!(player->stateFlags1 & 0x800000)) &&
if ((!(player->stateFlags1 & 0x800000)) &&//Not mounted on a horse?
(Actor_FindNearby(globalCtx, thisx, ACTOR_EN_HORSE, 1, 1200.0f) == NULL)) {
return 0x2001;
}

View File

@ -2144,7 +2144,7 @@ void Fishing_UpdateLure(Fishing* pthis, GlobalContext* globalCtx) {
Math_ApproachF(&D_80B7E144, 195.0f, 1.0f, 1.0f);
if (player->stateFlags1 & 0x8000000) {
if (player->stateFlags1 & 0x8000000) {//Swimming?
D_80B7E0B4 = 0;
player->unk_860 = 0;
}

View File

@ -1528,7 +1528,7 @@ void func_8083328C(GlobalContext* globalCtx, Player* pthis, LinkAnimationHeader*
LinkAnimation_PlayOnceSetSpeed(globalCtx, &pthis->skelAnime, linkAnim, D_808535E8);
}
s32 func_808332B8(Player* pthis) {
s32 Player_IsSwimmingWithoutIronBoots(Player* pthis) {
return (pthis->stateFlags1 & 0x8000000) && (pthis->currentBoots != PLAYER_BOOTS_IRON);
}
@ -1958,7 +1958,7 @@ void func_80834298(Player* pthis, GlobalContext* globalCtx) {
s32 func_80834380(GlobalContext* globalCtx, Player* pthis, s32* itemPtr, s32* typePtr) {
if (LINK_IS_ADULT) {
*itemPtr = ITEM_BOW;
if (pthis->stateFlags1 & 0x800000) {
if (pthis->stateFlags1 & 0x800000) {//Mounted on a horse?
*typePtr = ARROW_NORMAL_HORSE;
} else {
*typePtr = pthis->heldItemActionParam - 6;
@ -2213,7 +2213,7 @@ s32 func_80834D2C(Player* pthis, GlobalContext* globalCtx) {
LinkAnimation_PlayOnce(globalCtx, &pthis->skelAnime2, &gPlayerAnim_002628);
}
if (pthis->stateFlags1 & 0x800000) {
if (pthis->stateFlags1 & 0x800000) {//Mounted on a horse?
func_80832284(globalCtx, pthis, &gPlayerAnim_003380);
} else if ((pthis->actor.bgCheckFlags & 1) && !func_80833B54(pthis)) {
func_80832284(globalCtx, pthis, D_80853914[pthis->modelAnimType]);
@ -2768,7 +2768,7 @@ void func_80835F44(GlobalContext* globalCtx, Player* pthis, s32 item) {
}
void func_80836448(GlobalContext* globalCtx, Player* pthis, LinkAnimationHeader* anim) {
s32 cond = func_808332B8(pthis);
s32 cond = Player_IsSwimmingWithoutIronBoots(pthis);
func_80832564(globalCtx, pthis);
@ -3426,7 +3426,7 @@ void func_80837C0C(GlobalContext* globalCtx, Player* pthis, s32 arg2, f32 arg3,
pthis->unk_850 = 20;
} else {
arg5 -= pthis->actor.shape.rot.y;
if (pthis->stateFlags1 & 0x8000000) {
if (pthis->stateFlags1 & 0x8000000) {//Swimming?
func_80835C58(globalCtx, pthis, func_8084E30C, 0);
func_8083264C(pthis, 180, 20, 50, 0);
@ -3643,7 +3643,7 @@ s32 func_808382DC(Player* pthis, GlobalContext* globalCtx) {
LinkAnimationHeader* anim;
s32 sp54 = func_80843188 == pthis->func_674;
if (!func_808332B8(pthis)) {
if (!Player_IsSwimmingWithoutIronBoots(pthis)) {
func_80835C58(globalCtx, pthis, func_808435C4, 0);
}
@ -3688,7 +3688,7 @@ s32 func_808382DC(Player* pthis, GlobalContext* globalCtx) {
func_8002F7DC(&pthis->actor, NA_SE_PL_BODY_HIT);
}
if (pthis->stateFlags1 & 0x8000000) {
if (pthis->stateFlags1 & 0x8000000) {//Swimming?
sp4C = 0;
} else if (pthis->actor.colChkInfo.acHitEffect == 2) {
sp4C = 3;
@ -3762,7 +3762,7 @@ s32 func_80838A14(Player* pthis, GlobalContext* globalCtx) {
(!(pthis->stateFlags1 & 0x8000000) || (pthis->ageProperties->unk_14 > pthis->wallHeight))) {
sp3C = 0;
if (func_808332B8(pthis)) {
if (Player_IsSwimmingWithoutIronBoots(pthis)) {
if (pthis->actor.yDistToWater < 50.0f) {
if ((pthis->unk_88C < 2) || (pthis->wallHeight > pthis->ageProperties->unk_10)) {
return 0;
@ -3803,7 +3803,7 @@ s32 func_80838A14(Player* pthis, GlobalContext* globalCtx) {
pthis->stateFlags1 |= 0x4000;
if (func_808332B8(pthis)) {
if (Player_IsSwimmingWithoutIronBoots(pthis)) {
sp38 = &gPlayerAnim_0032E8;
sp34 -= (60.0f * pthis->ageProperties->unk_08);
pthis->stateFlags1 &= ~0x8000000;
@ -3949,7 +3949,7 @@ s32 func_80839034(GlobalContext* globalCtx, Player* pthis, CollisionPoly* poly,
globalCtx->sceneLoadFlag = 0x14;
}
if (!(pthis->stateFlags1 & 0x20800000) && !(pthis->stateFlags2 & 0x40000) && !func_808332B8(pthis) &&
if (!(pthis->stateFlags1 & 0x20800000) && !(pthis->stateFlags2 & 0x40000) && !Player_IsSwimmingWithoutIronBoots(pthis) &&
(temp = func_80041D4C(&globalCtx->colCtx, poly, bgId), (temp != 10)) &&
((sp34 < 100) || (pthis->actor.bgCheckFlags & 1))) {
@ -4580,7 +4580,7 @@ void func_8083AA10(Player* pthis, GlobalContext* globalCtx) {
s32 func_8083AD4C(GlobalContext* globalCtx, Player* pthis) {
s32 cameraMode;
if (pthis->unk_6AD == 2) {
if (func_8002DD6C(pthis)) {
if (LINK_IS_ADULT) {
@ -4670,9 +4670,9 @@ s32 func_8083B040(Player* pthis, GlobalContext* globalCtx) {
s32 sp28;
GetItemEntry* giEntry;
Actor* targetActor;
if ((pthis->unk_6AD != 0) &&
(func_808332B8(pthis) || (pthis->actor.bgCheckFlags & 1) || (pthis->stateFlags1 & 0x800000))) {
(Player_IsSwimmingWithoutIronBoots(pthis) || (pthis->actor.bgCheckFlags & 1) || (pthis->stateFlags1 & 0x800000))) {
if (!func_8083ADD4(globalCtx, pthis)) {
if (pthis->unk_6AD == 4) {
@ -4784,7 +4784,7 @@ s32 func_8083B040(Player* pthis, GlobalContext* globalCtx) {
}
}
} else if (func_8083AD4C(globalCtx, pthis)) {
if (!(pthis->stateFlags1 & 0x800000)) {
if (!(pthis->stateFlags1 & 0x800000)) {//Not mounted on a horse
func_80835C58(globalCtx, pthis, func_8084B1D8, 1);
pthis->unk_850 = 13;
func_8083B010(pthis);
@ -4837,7 +4837,7 @@ s32 func_8083B644(Player* pthis, GlobalContext* globalCtx) {
((pthis->heldActor != NULL) && (sp28 || (sp34 == pthis->heldActor) || (sp2C == pthis->heldActor) ||
((sp34 != NULL) && (sp34->flags & ACTOR_FLAG_16))))) {
if ((pthis->actor.bgCheckFlags & 1) || (pthis->stateFlags1 & 0x800000) ||
(func_808332B8(pthis) && !(pthis->stateFlags2 & 0x400))) {
(Player_IsSwimmingWithoutIronBoots(pthis) && !(pthis->stateFlags2 & 0x400))) {
if (sp34 != NULL) {
pthis->stateFlags2 |= 2;
@ -4887,7 +4887,7 @@ s32 func_8083B644(Player* pthis, GlobalContext* globalCtx) {
s32 func_8083B8F4(Player* pthis, GlobalContext* globalCtx) {
if (!(pthis->stateFlags1 & 0x800800) && Camera_CheckValidMode(Gameplay_GetCamera(globalCtx, 0), 6)) {
if ((pthis->actor.bgCheckFlags & 1) ||
(func_808332B8(pthis) && (pthis->actor.yDistToWater < pthis->ageProperties->unk_2C))) {
(Player_IsSwimmingWithoutIronBoots(pthis) && (pthis->actor.yDistToWater < pthis->ageProperties->unk_2C))) {
pthis->unk_6AD = 1;
return 1;
}
@ -5058,7 +5058,7 @@ void func_8083C0E8(Player* pthis, GlobalContext* globalCtx) {
void func_8083C148(Player* pthis, GlobalContext* globalCtx) {
if (!(pthis->stateFlags3 & 0x80)) {
func_8083B010(pthis);
if (pthis->stateFlags1 & 0x8000000) {
if (pthis->stateFlags1 & 0x8000000) {//Swimming?
func_80838F18(globalCtx, pthis);
} else {
func_80839F90(pthis, globalCtx);
@ -5500,7 +5500,7 @@ void func_8083D36C(GlobalContext* globalCtx, Player* pthis) {
}
}
pthis->stateFlags1 |= 0x8000000;
pthis->stateFlags1 |= 0x8000000;//Swimming
pthis->stateFlags2 |= 0x400;
pthis->stateFlags1 &= ~0xC0000;
pthis->unk_854 = 0.0f;
@ -5606,7 +5606,7 @@ void func_8083D6EC(GlobalContext* globalCtx, Player* pthis) {
ripplePos.z = (Rand_ZeroOne() * 10.0f) + pthis->actor.world.pos.z;
EffectSsGRipple_Spawn(globalCtx, &ripplePos, 100, 500, 0);
if ((pthis->linearVelocity > 4.0f) && !func_808332B8(pthis) &&
if ((pthis->linearVelocity > 4.0f) && !Player_IsSwimmingWithoutIronBoots(pthis) &&
((pthis->actor.world.pos.y + pthis->actor.yDistToWater) < pthis->bodyPartsPos[0].y)) {
func_8083CFA8(globalCtx, pthis, 20.0f,
(fabsf(pthis->linearVelocity) * 50.0f) + (pthis->actor.yDistToWater * 5.0f));
@ -5744,7 +5744,7 @@ s32 func_8083E0FC(Player* pthis, GlobalContext* globalCtx) {
func_80836898(globalCtx, pthis, func_8083A360);
pthis->stateFlags1 |= 0x800000;
pthis->stateFlags1 |= 0x800000;//Mounted on a horse
pthis->actor.bgCheckFlags &= ~0x20;
if (pthis->mountSide < 0) {
@ -6273,7 +6273,7 @@ s32 func_8083F7BC(Player* pthis, GlobalContext* globalCtx) {
return 1;
}
if (!func_808332B8(pthis) && ((pthis->linearVelocity == 0.0f) || !(pthis->stateFlags2 & 4)) &&
if (!Player_IsSwimmingWithoutIronBoots(pthis) && ((pthis->linearVelocity == 0.0f) || !(pthis->stateFlags2 & 4)) &&
(D_808535F0 & 0x40) && (pthis->actor.bgCheckFlags & 1) && (pthis->wallHeight >= 39.0f)) {
pthis->stateFlags2 |= 1;
@ -9199,7 +9199,7 @@ void func_808473D4(GlobalContext* globalCtx, Player* pthis) {
Actor* interactRangeActor = pthis->interactRangeActor;
s32 sp24;
s32 sp20 = pthis->unk_84B[pthis->unk_846];
s32 sp1C = func_808332B8(pthis);
s32 sp1C = Player_IsSwimmingWithoutIronBoots(pthis);
s32 doAction = DO_ACTION_NONE;
if (!Player_InBlockingCsMode(globalCtx, pthis)) {
@ -9666,7 +9666,7 @@ void Player_UpdateCamAndSeqModes(GlobalContext* globalCtx, Player* pthis) {
seqMode = SEQ_MODE_STILL;
}
}
Camera_ChangeMode(Gameplay_GetCamera(globalCtx, 0), camMode);
} else {
// First person mode
@ -9929,7 +9929,7 @@ void Player_UpdateCommon(Player* pthis, GlobalContext* globalCtx, Input* input)
if ((pthis->actor.parent == NULL) && (pthis->stateFlags1 & 0x800000)) {
pthis->actor.parent = pthis->rideActor;
func_8083A360(globalCtx, pthis);
pthis->stateFlags1 |= 0x800000;
pthis->stateFlags1 |= 0x800000;//Mounted on a horse
func_80832264(globalCtx, pthis, &gPlayerAnim_0033B8);
func_80832F54(globalCtx, pthis, 0x9B);
pthis->unk_850 = 99;
@ -10050,7 +10050,7 @@ void Player_UpdateCommon(Player* pthis, GlobalContext* globalCtx, Input* input)
Math_ScaledStepToS(&pthis->windDirection, D_808535FC,
((pthis->stateFlags1 & 0x8000000) ? 400.0f : 800.0f) * sp48);
} else if (pthis->windSpeed != 0.0f) {
Math_StepToF(&pthis->windSpeed, 0.0f, (pthis->stateFlags1 & 0x8000000) ? 0.5f : 1.0f);
Math_StepToF(&pthis->windSpeed, 0.0f, (pthis->stateFlags1 & 0x8000000) ? 0.5f : 1.0f);//Swimming?
}
if (!Player_InBlockingCsMode(globalCtx, pthis) && !(pthis->stateFlags2 & 0x40000)) {
@ -10062,7 +10062,7 @@ void Player_UpdateCommon(Player* pthis, GlobalContext* globalCtx, Input* input)
func_80837B9C(pthis, globalCtx);
} else if ((pthis->actor.bgCheckFlags & 1) || (pthis->stateFlags1 & 0x8000000)) {
func_80836448(globalCtx, pthis,
func_808332B8(pthis) ? &gPlayerAnim_003310
Player_IsSwimmingWithoutIronBoots(pthis) ? &gPlayerAnim_003310
: (pthis->shockTimer != 0) ? &gPlayerAnim_002F08
: &gPlayerAnim_002878);
}
@ -10486,7 +10486,7 @@ s16 func_8084ABD8(GlobalContext* globalCtx, Player* pthis, s32 arg2, s16 arg3) {
temp2 = CLAMP(temp2, -3000, 3000);
pthis->actor.focus.rot.y += temp2;
} else {
temp1 = (pthis->stateFlags1 & 0x800000) ? 3500 : 14000;
temp1 = (pthis->stateFlags1 & 0x800000) ? 3500 : 14000;//Riding a horse?
temp3 = ((sControlInput->rel.stick_y >= 0) ? 1 : -1) *
(s32)((1.0f - Math_CosS(sControlInput->rel.stick_y * 200)) * 1500.0f);
pthis->actor.focus.rot.x += temp3;
@ -10678,11 +10678,11 @@ void func_8084B530(Player* pthis, GlobalContext* globalCtx) {
if (!func_8084B4D4(globalCtx, pthis) && !func_8084B3CC(globalCtx, pthis) && !func_8083ADD4(globalCtx, pthis)) {
if ((pthis->targetActor != pthis->interactRangeActor) || !func_8083E5A8(pthis, globalCtx)) {
if (pthis->stateFlags1 & 0x800000) {
if (pthis->stateFlags1 & 0x800000) {//When mounted on a horse
s32 sp24 = pthis->unk_850;
func_8083A360(globalCtx, pthis);
pthis->unk_850 = sp24;
} else if (func_808332B8(pthis)) {
} else if (Player_IsSwimmingWithoutIronBoots(pthis)) {
func_80838F18(globalCtx, pthis);
} else {
func_80853080(pthis, globalCtx);
@ -10694,9 +10694,9 @@ void func_8084B530(Player* pthis, GlobalContext* globalCtx) {
return;
}
if (pthis->stateFlags1 & 0x800000) {
if (pthis->stateFlags1 & 0x800000) {//When mounted on a horse
func_8084CC98(pthis, globalCtx);
} else if (func_808332B8(pthis)) {
} else if (Player_IsSwimmingWithoutIronBoots(pthis)) {
func_8084D610(pthis, globalCtx);
} else if (!func_8008E9C4(pthis) && LinkAnimation_Update(globalCtx, &pthis->skelAnime)) {
if (pthis->skelAnime.moveFlags != 0) {
@ -11446,7 +11446,7 @@ void func_8084CC98(Player* pthis, GlobalContext* globalCtx) {
}
return;
}
if ((pthis->csMode != 0) || (!func_8084C9BC(pthis, globalCtx) && !func_8083B040(pthis, globalCtx))) {
if (pthis->unk_664 != NULL) {
if (func_8002DD78(pthis) != 0) {
@ -13298,7 +13298,7 @@ void func_80851314(Player* pthis) {
}
void func_80851368(GlobalContext* globalCtx, Player* pthis, CsCmdActorAction* arg2) {
pthis->stateFlags1 |= 0x8000000;
pthis->stateFlags1 |= 0x8000000;//Swimming
pthis->stateFlags2 |= 0x400;
pthis->stateFlags1 &= ~0xC0000;
@ -13334,7 +13334,7 @@ void func_808513BC(GlobalContext* globalCtx, Player* pthis, CsCmdActorAction* ar
void func_808514C0(GlobalContext* globalCtx, Player* pthis, CsCmdActorAction* arg2) {
func_80851314(pthis);
if (func_808332B8(pthis)) {
if (Player_IsSwimmingWithoutIronBoots(pthis)) {
func_808513BC(globalCtx, pthis, 0);
return;
}
@ -13358,7 +13358,7 @@ void func_8085157C(GlobalContext* globalCtx, Player* pthis, CsCmdActorAction* ar
void func_808515A4(GlobalContext* globalCtx, Player* pthis, CsCmdActorAction* arg2) {
LinkAnimationHeader* anim;
if (func_808332B8(pthis)) {
if (Player_IsSwimmingWithoutIronBoots(pthis)) {
func_80851368(globalCtx, pthis, 0);
return;
}
@ -13383,7 +13383,7 @@ void func_80851688(GlobalContext* globalCtx, Player* pthis, CsCmdActorAction* ar
return;
}
if (func_808332B8(pthis) != 0) {
if (Player_IsSwimmingWithoutIronBoots(pthis) != 0) {
func_808513BC(globalCtx, pthis, 0);
return;
}
@ -13885,7 +13885,7 @@ void func_808528C8(GlobalContext* globalCtx, Player* pthis, CsCmdActorAction* ar
}
void func_80852944(GlobalContext* globalCtx, Player* pthis, CsCmdActorAction* arg2) {
if (func_808332B8(pthis)) {
if (Player_IsSwimmingWithoutIronBoots(pthis)) {
func_80838F18(globalCtx, pthis);
func_80832340(globalCtx, pthis);
} else {
@ -14087,7 +14087,7 @@ void func_80853148(GlobalContext* globalCtx, Actor* actor) {
pthis->actor.textId = actor->textId;
}
if (pthis->stateFlags1 & 0x800000) {
if (pthis->stateFlags1 & 0x800000) {//Mounted on a horse?
s32 sp24 = pthis->unk_850;
func_80832528(globalCtx, pthis);
@ -14095,7 +14095,7 @@ void func_80853148(GlobalContext* globalCtx, Actor* actor) {
pthis->unk_850 = sp24;
} else {
if (func_808332B8(pthis)) {
if (Player_IsSwimmingWithoutIronBoots(pthis)) {
func_80836898(globalCtx, pthis, func_8083A2F8);
func_80832C6C(globalCtx, pthis, &gPlayerAnim_003328);
} else if ((actor->category != ACTORCAT_NPC) || (pthis->heldItemActionParam == PLAYER_AP_FISHING_POLE)) {

View File

@ -186,7 +186,7 @@ struct Player {
/* 0x0670 */ s32 swordEffectIndex;
/* 0x0674 */ PlayerFunc674 func_674;
/* 0x0678 */ PlayerAgeProperties* ageProperties;
/* 0x067C */ u32 stateFlags1;
/* 0x067C */ u32 stateFlags1;//0x8000000 when swimming, 0x800000 when mounted on a horse
/* 0x0680 */ u32 stateFlags2;
/* 0x0684 */ Actor* unk_684;
/* 0x0688 */ Actor* boomerangActor;