mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-19 05:15:18 +00:00
DEGF_TO_BINANG
-> DEG_TO_BINANG_ALT
(again may even be _approx, or maybe _cam)
This commit is contained in:
parent
f978b6989e
commit
be9ba94ce3
5 changed files with 67 additions and 67 deletions
|
@ -97,7 +97,7 @@ typedef struct {
|
||||||
#define IS_ZERO(f) (fabsf(f) < 0.008f)
|
#define IS_ZERO(f) (fabsf(f) < 0.008f)
|
||||||
|
|
||||||
// Angle conversion macros
|
// Angle conversion macros
|
||||||
#define DEGF_TO_BINANG(degreesf) (s16)((degreesf) * 182.04167f + .5f)
|
#define DEG_TO_BINANG_ALT(degreesf) (s16)((degreesf) * 182.04167f + .5f)
|
||||||
#define RADF_TO_BINANG(radf) (s16)((radf) * (0x8000 / M_PI))
|
#define RADF_TO_BINANG(radf) (s16)((radf) * (0x8000 / M_PI))
|
||||||
#define RADF_TO_DEGF(radf) ((radf) * (180.0f / M_PI))
|
#define RADF_TO_DEGF(radf) ((radf) * (180.0f / M_PI))
|
||||||
#define DEG_TO_RAD(degrees) ((degrees) * (M_PI / 180.0f))
|
#define DEG_TO_RAD(degrees) ((degrees) * (M_PI / 180.0f))
|
||||||
|
|
|
@ -951,8 +951,8 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
|
||||||
} else {
|
} else {
|
||||||
temp_f0_5 = sGlobalCtx->state.input[2].rel.stick_y;
|
temp_f0_5 = sGlobalCtx->state.input[2].rel.stick_y;
|
||||||
temp_f2_2 = sGlobalCtx->state.input[2].rel.stick_x;
|
temp_f2_2 = sGlobalCtx->state.input[2].rel.stick_x;
|
||||||
pitch = DEGF_TO_BINANG((SQ(temp_f0_5) / 600.0f) * 0.8f);
|
pitch = DEG_TO_BINANG_ALT((SQ(temp_f0_5) / 600.0f) * 0.8f);
|
||||||
yaw = DEGF_TO_BINANG((SQ(temp_f2_2) / 600.0f) * 0.8f);
|
yaw = DEG_TO_BINANG_ALT((SQ(temp_f2_2) / 600.0f) * 0.8f);
|
||||||
if (!D_80161144) {
|
if (!D_80161144) {
|
||||||
sp104.pitch += (s16)((temp_f0_5 >= 0.0f) ? pitch : -pitch);
|
sp104.pitch += (s16)((temp_f0_5 >= 0.0f) ? pitch : -pitch);
|
||||||
sp104.yaw += (s16)((temp_f2_2 >= 0.0f) ? yaw : -yaw);
|
sp104.yaw += (s16)((temp_f2_2 >= 0.0f) ? yaw : -yaw);
|
||||||
|
@ -968,7 +968,7 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
|
||||||
}
|
}
|
||||||
|
|
||||||
OLib_Vec3fDiffToVecSphGeo(&spF4, sp80, sp7C);
|
OLib_Vec3fDiffToVecSphGeo(&spF4, sp80, sp7C);
|
||||||
DbCamera_CalcUpFromPitchYawRoll(&dbCamera->unk_1C, spF4.pitch, spF4.yaw, DEGF_TO_BINANG(dbCamera->rollDegrees));
|
DbCamera_CalcUpFromPitchYawRoll(&dbCamera->unk_1C, spF4.pitch, spF4.yaw, DEG_TO_BINANG_ALT(dbCamera->rollDegrees));
|
||||||
if (dbCamera->unk_00 == 1) {
|
if (dbCamera->unk_00 == 1) {
|
||||||
if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_CRIGHT)) {
|
if (CHECK_BTN_ALL(sGlobalCtx->state.input[2].cur.button, BTN_CRIGHT)) {
|
||||||
cam->inputDir = dbCamera->sub.unk_104A;
|
cam->inputDir = dbCamera->sub.unk_104A;
|
||||||
|
@ -2128,7 +2128,7 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) {
|
||||||
}
|
}
|
||||||
OLib_Vec3fDiffToVecSphGeo(&sp5C, &dbCamera->eye, &dbCamera->at);
|
OLib_Vec3fDiffToVecSphGeo(&sp5C, &dbCamera->eye, &dbCamera->at);
|
||||||
DbCamera_CalcUpFromPitchYawRoll(&dbCamera->unk_1C, sp5C.pitch, sp5C.yaw,
|
DbCamera_CalcUpFromPitchYawRoll(&dbCamera->unk_1C, sp5C.pitch, sp5C.yaw,
|
||||||
DEGF_TO_BINANG(dbCamera->rollDegrees));
|
DEG_TO_BINANG_ALT(dbCamera->rollDegrees));
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -565,7 +565,7 @@ f32 Camera_GetWaterSurface(Camera* camera, Vec3f* chkPos, s32* envProp) {
|
||||||
* Calculates the angle between points `from` and `to`
|
* Calculates the angle between points `from` and `to`
|
||||||
*/
|
*/
|
||||||
s16 Camera_XZAngle(Vec3f* to, Vec3f* from) {
|
s16 Camera_XZAngle(Vec3f* to, Vec3f* from) {
|
||||||
return DEGF_TO_BINANG(RADF_TO_DEGF(Math_FAtan2F(from->x - to->x, from->z - to->z)));
|
return DEG_TO_BINANG_ALT(RADF_TO_DEGF(Math_FAtan2F(from->x - to->x, from->z - to->z)));
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 func_80044ADC(Camera* camera, s16 yaw, s16 arg2) {
|
s16 func_80044ADC(Camera* camera, s16 yaw, s16 arg2) {
|
||||||
|
@ -630,8 +630,8 @@ s16 func_80044ADC(Camera* camera, s16 yaw, s16 arg2) {
|
||||||
}
|
}
|
||||||
phi_f16 = PCT(OREG(20)) * (D_8015CE50 - camera->playerGroundY);
|
phi_f16 = PCT(OREG(20)) * (D_8015CE50 - camera->playerGroundY);
|
||||||
phi_f18 = (1.0f - PCT(OREG(20))) * (D_8015CE54 - camera->playerGroundY);
|
phi_f18 = (1.0f - PCT(OREG(20))) * (D_8015CE54 - camera->playerGroundY);
|
||||||
temp_s0 = DEGF_TO_BINANG(RADF_TO_DEGF(Math_FAtan2F(phi_f16, sp30)));
|
temp_s0 = DEG_TO_BINANG_ALT(RADF_TO_DEGF(Math_FAtan2F(phi_f16, sp30)));
|
||||||
temp_s1 = DEGF_TO_BINANG(RADF_TO_DEGF(Math_FAtan2F(phi_f18, sp2C)));
|
temp_s1 = DEG_TO_BINANG_ALT(RADF_TO_DEGF(Math_FAtan2F(phi_f18, sp2C)));
|
||||||
return temp_s0 + temp_s1;
|
return temp_s0 + temp_s1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1440,7 +1440,7 @@ s32 Camera_Normal1(Camera* camera) {
|
||||||
norm1->yOffset = NEXTSETTING * sp94;
|
norm1->yOffset = NEXTSETTING * sp94;
|
||||||
norm1->distMin = NEXTSETTING * sp94;
|
norm1->distMin = NEXTSETTING * sp94;
|
||||||
norm1->distMax = NEXTSETTING * sp94;
|
norm1->distMax = NEXTSETTING * sp94;
|
||||||
norm1->pitchTarget = DEGF_TO_BINANG(NEXTSETTING);
|
norm1->pitchTarget = DEG_TO_BINANG_ALT(NEXTSETTING);
|
||||||
norm1->unk_0C = NEXTSETTING;
|
norm1->unk_0C = NEXTSETTING;
|
||||||
norm1->unk_10 = NEXTSETTING;
|
norm1->unk_10 = NEXTSETTING;
|
||||||
norm1->unk_14 = NEXTPCT;
|
norm1->unk_14 = NEXTPCT;
|
||||||
|
@ -1672,7 +1672,7 @@ s32 Camera_Normal2(Camera* camera) {
|
||||||
norm2->unk_00 = NEXTPCT * playerHeight * yNormal;
|
norm2->unk_00 = NEXTPCT * playerHeight * yNormal;
|
||||||
norm2->unk_04 = NEXTPCT * playerHeight * yNormal;
|
norm2->unk_04 = NEXTPCT * playerHeight * yNormal;
|
||||||
norm2->unk_08 = NEXTPCT * playerHeight * yNormal;
|
norm2->unk_08 = NEXTPCT * playerHeight * yNormal;
|
||||||
norm2->unk_1C = DEGF_TO_BINANG(NEXTSETTING);
|
norm2->unk_1C = DEG_TO_BINANG_ALT(NEXTSETTING);
|
||||||
norm2->unk_0C = NEXTSETTING;
|
norm2->unk_0C = NEXTSETTING;
|
||||||
norm2->unk_10 = NEXTPCT;
|
norm2->unk_10 = NEXTPCT;
|
||||||
norm2->unk_14 = NEXTSETTING;
|
norm2->unk_14 = NEXTSETTING;
|
||||||
|
@ -1830,7 +1830,7 @@ s32 Camera_Normal3(Camera* camera) {
|
||||||
norm3->yOffset = NEXTSETTING * PCT(playerHeight);
|
norm3->yOffset = NEXTSETTING * PCT(playerHeight);
|
||||||
norm3->distMin = NEXTSETTING * PCT(playerHeight);
|
norm3->distMin = NEXTSETTING * PCT(playerHeight);
|
||||||
norm3->distMax = NEXTSETTING * PCT(playerHeight);
|
norm3->distMax = NEXTSETTING * PCT(playerHeight);
|
||||||
norm3->pitchTarget = DEGF_TO_BINANG(NEXTSETTING);
|
norm3->pitchTarget = DEG_TO_BINANG_ALT(NEXTSETTING);
|
||||||
norm3->yawUpdateSpeed = NEXTSETTING;
|
norm3->yawUpdateSpeed = NEXTSETTING;
|
||||||
norm3->unk_10 = NEXTSETTING;
|
norm3->unk_10 = NEXTSETTING;
|
||||||
norm3->fovTarget = NEXTSETTING;
|
norm3->fovTarget = NEXTSETTING;
|
||||||
|
@ -1982,8 +1982,8 @@ s32 Camera_Parallel1(Camera* camera) {
|
||||||
|
|
||||||
para1->yOffset = NEXTPCT * playerHeight * yNormal;
|
para1->yOffset = NEXTPCT * playerHeight * yNormal;
|
||||||
para1->distTarget = NEXTPCT * playerHeight * yNormal;
|
para1->distTarget = NEXTPCT * playerHeight * yNormal;
|
||||||
para1->pitchTarget = DEGF_TO_BINANG(NEXTSETTING);
|
para1->pitchTarget = DEG_TO_BINANG_ALT(NEXTSETTING);
|
||||||
para1->yawTarget = DEGF_TO_BINANG(NEXTSETTING);
|
para1->yawTarget = DEG_TO_BINANG_ALT(NEXTSETTING);
|
||||||
para1->unk_08 = NEXTSETTING;
|
para1->unk_08 = NEXTSETTING;
|
||||||
para1->unk_0C = NEXTSETTING;
|
para1->unk_0C = NEXTSETTING;
|
||||||
para1->fovTarget = NEXTSETTING;
|
para1->fovTarget = NEXTSETTING;
|
||||||
|
@ -2544,7 +2544,7 @@ s32 Camera_Jump3(Camera* camera) {
|
||||||
jump3->yOffset = NEXTSETTING * t2;
|
jump3->yOffset = NEXTSETTING * t2;
|
||||||
jump3->distMin = NEXTSETTING * t2;
|
jump3->distMin = NEXTSETTING * t2;
|
||||||
jump3->distMax = NEXTSETTING * t2;
|
jump3->distMax = NEXTSETTING * t2;
|
||||||
jump3->pitchTarget = DEGF_TO_BINANG(NEXTSETTING);
|
jump3->pitchTarget = DEG_TO_BINANG_ALT(NEXTSETTING);
|
||||||
jump3->swingUpdateRate = NEXTSETTING;
|
jump3->swingUpdateRate = NEXTSETTING;
|
||||||
jump3->unk_10 = NEXTSETTING;
|
jump3->unk_10 = NEXTSETTING;
|
||||||
jump3->unk_14 = NEXTPCT;
|
jump3->unk_14 = NEXTPCT;
|
||||||
|
@ -2880,25 +2880,25 @@ s32 Camera_Battle1(Camera* camera) {
|
||||||
skipEyeAtCalc = true;
|
skipEyeAtCalc = true;
|
||||||
}
|
}
|
||||||
anim->animTimer--;
|
anim->animTimer--;
|
||||||
} else if (ABS(tmpAng1) > DEGF_TO_BINANG(swingAngle)) {
|
} else if (ABS(tmpAng1) > DEG_TO_BINANG_ALT(swingAngle)) {
|
||||||
spFC = BINANG_TO_DEG_ALT(tmpAng1);
|
spFC = BINANG_TO_DEG_ALT(tmpAng1);
|
||||||
temp_f2_2 = swingAngle + (spF8 - swingAngle) * (OLib_ClampMaxDist(atToTargetDir.r, spB4.r) / spB4.r);
|
temp_f2_2 = swingAngle + (spF8 - swingAngle) * (OLib_ClampMaxDist(atToTargetDir.r, spB4.r) / spB4.r);
|
||||||
temp_f12_2 = ((temp_f2_2 * temp_f2_2) - 2.0f) / (temp_f2_2 - 360.0f);
|
temp_f12_2 = ((temp_f2_2 * temp_f2_2) - 2.0f) / (temp_f2_2 - 360.0f);
|
||||||
var2 = ((temp_f12_2 * spFC) + (2.0f - (360.0f * temp_f12_2)));
|
var2 = ((temp_f12_2 * spFC) + (2.0f - (360.0f * temp_f12_2)));
|
||||||
temp_f14 = SQ(spFC) / var2;
|
temp_f14 = SQ(spFC) / var2;
|
||||||
tmpAng2 = tmpAng1 >= 0 ? DEGF_TO_BINANG(temp_f14) : (-DEGF_TO_BINANG(temp_f14));
|
tmpAng2 = tmpAng1 >= 0 ? DEG_TO_BINANG_ALT(temp_f14) : (-DEG_TO_BINANG_ALT(temp_f14));
|
||||||
spB4.yaw = BINANG_ROT180((s16)(BINANG_ROT180(atToEyeNextDir.yaw) + tmpAng2));
|
spB4.yaw = BINANG_ROT180((s16)(BINANG_ROT180(atToEyeNextDir.yaw) + tmpAng2));
|
||||||
} else {
|
} else {
|
||||||
spFC = 0.05f;
|
spFC = 0.05f;
|
||||||
spFC = (1 - camera->speedRatio) * spFC;
|
spFC = (1 - camera->speedRatio) * spFC;
|
||||||
tmpAng2 = tmpAng1 >= 0 ? DEGF_TO_BINANG(swingAngle) : -DEGF_TO_BINANG(swingAngle);
|
tmpAng2 = tmpAng1 >= 0 ? DEG_TO_BINANG_ALT(swingAngle) : -DEG_TO_BINANG_ALT(swingAngle);
|
||||||
spB4.yaw = atToEyeNextDir.yaw - (s16)((tmpAng2 - tmpAng1) * spFC);
|
spB4.yaw = atToEyeNextDir.yaw - (s16)((tmpAng2 - tmpAng1) * spFC);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!skipEyeAtCalc) {
|
if (!skipEyeAtCalc) {
|
||||||
var3 = atToTargetDir.pitch * batt1->swingPitchAdj;
|
var3 = atToTargetDir.pitch * batt1->swingPitchAdj;
|
||||||
var2 = F32_LERPIMP(sp7C, sp78, distRatio);
|
var2 = F32_LERPIMP(sp7C, sp78, distRatio);
|
||||||
tmpAng1 = DEGF_TO_BINANG(var2) - (s16)(playerToTargetDir.pitch * (0.5f + distRatio * (1.0f - 0.5f)));
|
tmpAng1 = DEG_TO_BINANG_ALT(var2) - (s16)(playerToTargetDir.pitch * (0.5f + distRatio * (1.0f - 0.5f)));
|
||||||
tmpAng1 += (s16)(var3);
|
tmpAng1 += (s16)(var3);
|
||||||
|
|
||||||
if (tmpAng1 < -0x2AA8) {
|
if (tmpAng1 < -0x2AA8) {
|
||||||
|
@ -2927,7 +2927,7 @@ s32 Camera_Battle1(Camera* camera) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
anim->roll += (((OREG(36) * camera->speedRatio) * (1.0f - distRatio)) - anim->roll) * PCT(OREG(37));
|
anim->roll += (((OREG(36) * camera->speedRatio) * (1.0f - distRatio)) - anim->roll) * PCT(OREG(37));
|
||||||
camera->roll = DEGF_TO_BINANG(anim->roll);
|
camera->roll = DEG_TO_BINANG_ALT(anim->roll);
|
||||||
camera->fov = Camera_LERPCeilF((player->meleeWeaponState != 0 ? 0.8f
|
camera->fov = Camera_LERPCeilF((player->meleeWeaponState != 0 ? 0.8f
|
||||||
: gSaveContext.health <= 0x10 ? 0.8f
|
: gSaveContext.health <= 0x10 ? 0.8f
|
||||||
: 1.0f) *
|
: 1.0f) *
|
||||||
|
@ -2967,7 +2967,7 @@ s32 Camera_Battle4(Camera* camera) {
|
||||||
|
|
||||||
batt4->yOffset = NEXTPCT * playerHeight * yNormal;
|
batt4->yOffset = NEXTPCT * playerHeight * yNormal;
|
||||||
batt4->rTarget = NEXTPCT * playerHeight * yNormal;
|
batt4->rTarget = NEXTPCT * playerHeight * yNormal;
|
||||||
batt4->pitchTarget = DEGF_TO_BINANG(NEXTSETTING);
|
batt4->pitchTarget = DEG_TO_BINANG_ALT(NEXTSETTING);
|
||||||
batt4->lerpUpdateRate = NEXTPCT;
|
batt4->lerpUpdateRate = NEXTPCT;
|
||||||
batt4->fovTarget = NEXTSETTING;
|
batt4->fovTarget = NEXTSETTING;
|
||||||
batt4->atLERPTarget = NEXTPCT;
|
batt4->atLERPTarget = NEXTPCT;
|
||||||
|
@ -3206,23 +3206,23 @@ s32 Camera_KeepOn1(Camera* camera) {
|
||||||
sp88 = 1;
|
sp88 = 1;
|
||||||
}
|
}
|
||||||
anim->unk_16--;
|
anim->unk_16--;
|
||||||
} else if (ABS(spE2) > DEGF_TO_BINANG(spEC)) {
|
} else if (ABS(spE2) > DEG_TO_BINANG_ALT(spEC)) {
|
||||||
spF4 = BINANG_TO_DEG_ALT(spE2);
|
spF4 = BINANG_TO_DEG_ALT(spE2);
|
||||||
t2 = spEC + (spF0 - spEC) * (OLib_ClampMaxDist(spD0.r, spD8.r) / spD8.r);
|
t2 = spEC + (spF0 - spEC) * (OLib_ClampMaxDist(spD0.r, spD8.r) / spD8.r);
|
||||||
temp_f12_2 = ((SQ(t2) - 2.0f) / (t2 - 360.0f));
|
temp_f12_2 = ((SQ(t2) - 2.0f) / (t2 - 360.0f));
|
||||||
t1 = (temp_f12_2 * spF4) + (2.0f - (360.0f * temp_f12_2));
|
t1 = (temp_f12_2 * spF4) + (2.0f - (360.0f * temp_f12_2));
|
||||||
temp_f14 = SQ(spF4) / t1;
|
temp_f14 = SQ(spF4) / t1;
|
||||||
spE0 = spE2 >= 0 ? (DEGF_TO_BINANG(temp_f14)) : (-DEGF_TO_BINANG(temp_f14));
|
spE0 = spE2 >= 0 ? (DEG_TO_BINANG_ALT(temp_f14)) : (-DEG_TO_BINANG_ALT(temp_f14));
|
||||||
spD8.yaw = BINANG_ROT180((s16)(BINANG_ROT180(spB8.yaw) + spE0));
|
spD8.yaw = BINANG_ROT180((s16)(BINANG_ROT180(spB8.yaw) + spE0));
|
||||||
} else {
|
} else {
|
||||||
spF4 = 0.02f;
|
spF4 = 0.02f;
|
||||||
spF4 = (1.0f - camera->speedRatio) * spF4;
|
spF4 = (1.0f - camera->speedRatio) * spF4;
|
||||||
spE0 = spE2 >= 0 ? DEGF_TO_BINANG(spEC) : -DEGF_TO_BINANG(spEC);
|
spE0 = spE2 >= 0 ? DEG_TO_BINANG_ALT(spEC) : -DEG_TO_BINANG_ALT(spEC);
|
||||||
spD8.yaw = spB8.yaw - (s16)((spE0 - spE2) * spF4);
|
spD8.yaw = spB8.yaw - (s16)((spE0 - spE2) * spF4);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sp88 == 0) {
|
if (sp88 == 0) {
|
||||||
spE2 = DEGF_TO_BINANG((f32)(keep1->unk_14 + ((keep1->unk_18 - keep1->unk_14) * sp84)));
|
spE2 = DEG_TO_BINANG_ALT((f32)(keep1->unk_14 + ((keep1->unk_18 - keep1->unk_14) * sp84)));
|
||||||
spE2 -= (s16)(spC8.pitch * (0.5f + (sp84 * 0.5f)));
|
spE2 -= (s16)(spC8.pitch * (0.5f + (sp84 * 0.5f)));
|
||||||
|
|
||||||
spE8 = spD0.pitch * keep1->unk_1C;
|
spE8 = spD0.pitch * keep1->unk_1C;
|
||||||
|
@ -3351,31 +3351,31 @@ s32 Camera_KeepOn3(Camera* camera) {
|
||||||
anim->animTimer = keep3->initTimer;
|
anim->animTimer = keep3->initTimer;
|
||||||
spBC = ((1.0f - temp_f0) * targetToPlayerDir.r) / anim->animTimer;
|
spBC = ((1.0f - temp_f0) * targetToPlayerDir.r) / anim->animTimer;
|
||||||
swingAngle = F32_LERPIMP(keep3->swingPitchInitial, keep3->swingPitchFinal, temp_f0);
|
swingAngle = F32_LERPIMP(keep3->swingPitchInitial, keep3->swingPitchFinal, temp_f0);
|
||||||
atToEyeAdj.pitch = DEGF_TO_BINANG(swingAngle) + ((s16)(-(targetToPlayerDir.pitch * keep3->swingPitchAdj)));
|
atToEyeAdj.pitch = DEG_TO_BINANG_ALT(swingAngle) + ((s16)(-(targetToPlayerDir.pitch * keep3->swingPitchAdj)));
|
||||||
swingAngle = F32_LERPIMP(keep3->swingYawInital, keep3->swingYawFinal, temp_f0);
|
swingAngle = F32_LERPIMP(keep3->swingYawInital, keep3->swingYawFinal, temp_f0);
|
||||||
if (keep3->flags & 0x10) {
|
if (keep3->flags & 0x10) {
|
||||||
if (BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw) < 0) {
|
if (BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw) < 0) {
|
||||||
atToEyeAdj.yaw = targetToPlayerDir.yaw + DEGF_TO_BINANG(swingAngle);
|
atToEyeAdj.yaw = targetToPlayerDir.yaw + DEG_TO_BINANG_ALT(swingAngle);
|
||||||
} else {
|
} else {
|
||||||
atToEyeAdj.yaw = targetToPlayerDir.yaw - DEGF_TO_BINANG(swingAngle);
|
atToEyeAdj.yaw = targetToPlayerDir.yaw - DEG_TO_BINANG_ALT(swingAngle);
|
||||||
}
|
}
|
||||||
} else if (keep3->flags & 0x20) {
|
} else if (keep3->flags & 0x20) {
|
||||||
if (BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw) < 0) {
|
if (BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw) < 0) {
|
||||||
atToEyeAdj.yaw = BINANG_ROT180(targetToPlayerDir.yaw) - DEGF_TO_BINANG(swingAngle);
|
atToEyeAdj.yaw = BINANG_ROT180(targetToPlayerDir.yaw) - DEG_TO_BINANG_ALT(swingAngle);
|
||||||
} else {
|
} else {
|
||||||
atToEyeAdj.yaw = BINANG_ROT180(targetToPlayerDir.yaw) + DEGF_TO_BINANG(swingAngle);
|
atToEyeAdj.yaw = BINANG_ROT180(targetToPlayerDir.yaw) + DEG_TO_BINANG_ALT(swingAngle);
|
||||||
}
|
}
|
||||||
} else if (ABS(BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw)) < 0x3FFF) {
|
} else if (ABS(BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw)) < 0x3FFF) {
|
||||||
if (BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw) < 0) {
|
if (BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw) < 0) {
|
||||||
atToEyeAdj.yaw = targetToPlayerDir.yaw + DEGF_TO_BINANG(swingAngle);
|
atToEyeAdj.yaw = targetToPlayerDir.yaw + DEG_TO_BINANG_ALT(swingAngle);
|
||||||
} else {
|
} else {
|
||||||
atToEyeAdj.yaw = targetToPlayerDir.yaw - DEGF_TO_BINANG(swingAngle);
|
atToEyeAdj.yaw = targetToPlayerDir.yaw - DEG_TO_BINANG_ALT(swingAngle);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw) < 0) {
|
if (BINANG_SUB(targetToPlayerDir.yaw, atToEyeNextDir.yaw) < 0) {
|
||||||
atToEyeAdj.yaw = BINANG_ROT180(targetToPlayerDir.yaw) - DEGF_TO_BINANG(swingAngle);
|
atToEyeAdj.yaw = BINANG_ROT180(targetToPlayerDir.yaw) - DEG_TO_BINANG_ALT(swingAngle);
|
||||||
} else {
|
} else {
|
||||||
atToEyeAdj.yaw = BINANG_ROT180(targetToPlayerDir.yaw) + DEGF_TO_BINANG(swingAngle);
|
atToEyeAdj.yaw = BINANG_ROT180(targetToPlayerDir.yaw) + DEG_TO_BINANG_ALT(swingAngle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
prevTargetPlayerDist = targetToPlayerDir.r;
|
prevTargetPlayerDist = targetToPlayerDir.r;
|
||||||
|
@ -3634,35 +3634,35 @@ s32 Camera_KeepOn4(Camera* camera) {
|
||||||
unk20->unk_10 = keep4->unk_1E;
|
unk20->unk_10 = keep4->unk_1E;
|
||||||
unk20->unk_08 = playerPosRot->pos.y - camera->playerPosDelta.y;
|
unk20->unk_08 = playerPosRot->pos.y - camera->playerPosDelta.y;
|
||||||
if (keep4->unk_1C & 2) {
|
if (keep4->unk_1C & 2) {
|
||||||
spA2 = DEGF_TO_BINANG(keep4->unk_08);
|
spA2 = DEG_TO_BINANG_ALT(keep4->unk_08);
|
||||||
spA0 = BINANG_SUB(BINANG_ROT180(playerPosRot->rot.y), spA8.yaw) > 0
|
spA0 = BINANG_SUB(BINANG_ROT180(playerPosRot->rot.y), spA8.yaw) > 0
|
||||||
? BINANG_ROT180(playerPosRot->rot.y) + DEGF_TO_BINANG(keep4->unk_0C)
|
? BINANG_ROT180(playerPosRot->rot.y) + DEG_TO_BINANG_ALT(keep4->unk_0C)
|
||||||
: BINANG_ROT180(playerPosRot->rot.y) - DEGF_TO_BINANG(keep4->unk_0C);
|
: BINANG_ROT180(playerPosRot->rot.y) - DEG_TO_BINANG_ALT(keep4->unk_0C);
|
||||||
} else if (keep4->unk_1C & 4) {
|
} else if (keep4->unk_1C & 4) {
|
||||||
spA2 = DEGF_TO_BINANG(keep4->unk_08);
|
spA2 = DEG_TO_BINANG_ALT(keep4->unk_08);
|
||||||
spA0 = DEGF_TO_BINANG(keep4->unk_0C);
|
spA0 = DEG_TO_BINANG_ALT(keep4->unk_0C);
|
||||||
} else if ((keep4->unk_1C & 8) && camera->target != NULL) {
|
} else if ((keep4->unk_1C & 8) && camera->target != NULL) {
|
||||||
PosRot sp60;
|
PosRot sp60;
|
||||||
|
|
||||||
Actor_GetWorldPosShapeRot(&sp60, camera->target);
|
Actor_GetWorldPosShapeRot(&sp60, camera->target);
|
||||||
spA2 = DEGF_TO_BINANG(keep4->unk_08) - sp60.rot.x;
|
spA2 = DEG_TO_BINANG_ALT(keep4->unk_08) - sp60.rot.x;
|
||||||
spA0 = BINANG_SUB(BINANG_ROT180(sp60.rot.y), spA8.yaw) > 0
|
spA0 = BINANG_SUB(BINANG_ROT180(sp60.rot.y), spA8.yaw) > 0
|
||||||
? BINANG_ROT180(sp60.rot.y) + DEGF_TO_BINANG(keep4->unk_0C)
|
? BINANG_ROT180(sp60.rot.y) + DEG_TO_BINANG_ALT(keep4->unk_0C)
|
||||||
: BINANG_ROT180(sp60.rot.y) - DEGF_TO_BINANG(keep4->unk_0C);
|
: BINANG_ROT180(sp60.rot.y) - DEG_TO_BINANG_ALT(keep4->unk_0C);
|
||||||
spCC[1] = camera->target;
|
spCC[1] = camera->target;
|
||||||
sp9C++;
|
sp9C++;
|
||||||
} else if ((keep4->unk_1C & 0x80) && camera->target != NULL) {
|
} else if ((keep4->unk_1C & 0x80) && camera->target != NULL) {
|
||||||
PosRot sp4C;
|
PosRot sp4C;
|
||||||
|
|
||||||
Actor_GetWorld(&sp4C, camera->target);
|
Actor_GetWorld(&sp4C, camera->target);
|
||||||
spA2 = DEGF_TO_BINANG(keep4->unk_08);
|
spA2 = DEG_TO_BINANG_ALT(keep4->unk_08);
|
||||||
sp9E = Camera_XZAngle(&sp4C.pos, &playerPosRot->pos);
|
sp9E = Camera_XZAngle(&sp4C.pos, &playerPosRot->pos);
|
||||||
spA0 = (BINANG_SUB(sp9E, spA8.yaw) > 0) ? sp9E + DEGF_TO_BINANG(keep4->unk_0C)
|
spA0 = (BINANG_SUB(sp9E, spA8.yaw) > 0) ? sp9E + DEG_TO_BINANG_ALT(keep4->unk_0C)
|
||||||
: sp9E - DEGF_TO_BINANG(keep4->unk_0C);
|
: sp9E - DEG_TO_BINANG_ALT(keep4->unk_0C);
|
||||||
spCC[1] = camera->target;
|
spCC[1] = camera->target;
|
||||||
sp9C++;
|
sp9C++;
|
||||||
} else if (keep4->unk_1C & 0x40) {
|
} else if (keep4->unk_1C & 0x40) {
|
||||||
spA2 = DEGF_TO_BINANG(keep4->unk_08);
|
spA2 = DEG_TO_BINANG_ALT(keep4->unk_08);
|
||||||
spA0 = spA8.yaw;
|
spA0 = spA8.yaw;
|
||||||
} else {
|
} else {
|
||||||
spA2 = spA8.pitch;
|
spA2 = spA8.pitch;
|
||||||
|
@ -4458,9 +4458,9 @@ s32 Camera_Data4(Camera* camera) {
|
||||||
|
|
||||||
atOffset.r = eyeAtOffset.r;
|
atOffset.r = eyeAtOffset.r;
|
||||||
atOffset.yaw =
|
atOffset.yaw =
|
||||||
(initParams->jfifId & 1) ? (DEGF_TO_BINANG(camera->data2) + initParams->eyePosRot.rot.y) : eyeAtOffset.yaw;
|
(initParams->jfifId & 1) ? (DEG_TO_BINANG_ALT(camera->data2) + initParams->eyePosRot.rot.y) : eyeAtOffset.yaw;
|
||||||
atOffset.pitch =
|
atOffset.pitch =
|
||||||
(initParams->jfifId & 2) ? (DEGF_TO_BINANG(camera->data3) + initParams->eyePosRot.rot.x) : eyeAtOffset.pitch;
|
(initParams->jfifId & 2) ? (DEG_TO_BINANG_ALT(camera->data3) + initParams->eyePosRot.rot.x) : eyeAtOffset.pitch;
|
||||||
|
|
||||||
Camera_Vec3fVecSphGeoAdd(at, eye, &atOffset);
|
Camera_Vec3fVecSphGeoAdd(at, eye, &atOffset);
|
||||||
|
|
||||||
|
@ -4503,7 +4503,7 @@ s32 Camera_Unique1(Camera* camera) {
|
||||||
uniq1->yOffset = NEXTPCT * playerHeight * yNormal;
|
uniq1->yOffset = NEXTPCT * playerHeight * yNormal;
|
||||||
uniq1->distMin = NEXTPCT * playerHeight * yNormal;
|
uniq1->distMin = NEXTPCT * playerHeight * yNormal;
|
||||||
uniq1->distMax = NEXTPCT * playerHeight * yNormal;
|
uniq1->distMax = NEXTPCT * playerHeight * yNormal;
|
||||||
uniq1->pitchTarget = DEGF_TO_BINANG(NEXTSETTING);
|
uniq1->pitchTarget = DEG_TO_BINANG_ALT(NEXTSETTING);
|
||||||
uniq1->fovTarget = NEXTSETTING;
|
uniq1->fovTarget = NEXTSETTING;
|
||||||
uniq1->atLERPScaleMax = NEXTPCT;
|
uniq1->atLERPScaleMax = NEXTPCT;
|
||||||
uniq1->interfaceFlags = NEXTSETTING;
|
uniq1->interfaceFlags = NEXTSETTING;
|
||||||
|
@ -5115,8 +5115,8 @@ s32 Camera_Unique9(Camera* camera) {
|
||||||
playerhead.pos.z = playerPosRot.pos.z;
|
playerhead.pos.z = playerPosRot.pos.z;
|
||||||
OLib_Vec3fDiffToVecSphGeo(&playerTargetOffset, &targethead.pos, &playerhead.pos);
|
OLib_Vec3fDiffToVecSphGeo(&playerTargetOffset, &targethead.pos, &playerhead.pos);
|
||||||
if (atInitFlags & (s16)0x8080) {
|
if (atInitFlags & (s16)0x8080) {
|
||||||
scratchSph.pitch = DEGF_TO_BINANG(anim->curKeyFrame->atTargetInit.x);
|
scratchSph.pitch = DEG_TO_BINANG_ALT(anim->curKeyFrame->atTargetInit.x);
|
||||||
scratchSph.yaw = DEGF_TO_BINANG(anim->curKeyFrame->atTargetInit.y);
|
scratchSph.yaw = DEG_TO_BINANG_ALT(anim->curKeyFrame->atTargetInit.y);
|
||||||
scratchSph.r = anim->curKeyFrame->atTargetInit.z;
|
scratchSph.r = anim->curKeyFrame->atTargetInit.z;
|
||||||
} else {
|
} else {
|
||||||
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->atTargetInit);
|
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->atTargetInit);
|
||||||
|
@ -5153,8 +5153,8 @@ s32 Camera_Unique9(Camera* camera) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (atInitFlags & (s16)0x8080) {
|
if (atInitFlags & (s16)0x8080) {
|
||||||
scratchSph.pitch = DEGF_TO_BINANG(anim->curKeyFrame->atTargetInit.x);
|
scratchSph.pitch = DEG_TO_BINANG_ALT(anim->curKeyFrame->atTargetInit.x);
|
||||||
scratchSph.yaw = DEGF_TO_BINANG(anim->curKeyFrame->atTargetInit.y);
|
scratchSph.yaw = DEG_TO_BINANG_ALT(anim->curKeyFrame->atTargetInit.y);
|
||||||
scratchSph.r = anim->curKeyFrame->atTargetInit.z;
|
scratchSph.r = anim->curKeyFrame->atTargetInit.z;
|
||||||
} else {
|
} else {
|
||||||
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->atTargetInit);
|
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->atTargetInit);
|
||||||
|
@ -5204,8 +5204,8 @@ s32 Camera_Unique9(Camera* camera) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (eyeInitFlags & (s16)0x8080) {
|
if (eyeInitFlags & (s16)0x8080) {
|
||||||
scratchSph.pitch = DEGF_TO_BINANG(anim->curKeyFrame->eyeTargetInit.x);
|
scratchSph.pitch = DEG_TO_BINANG_ALT(anim->curKeyFrame->eyeTargetInit.x);
|
||||||
scratchSph.yaw = DEGF_TO_BINANG(anim->curKeyFrame->eyeTargetInit.y);
|
scratchSph.yaw = DEG_TO_BINANG_ALT(anim->curKeyFrame->eyeTargetInit.y);
|
||||||
scratchSph.r = anim->curKeyFrame->eyeTargetInit.z;
|
scratchSph.r = anim->curKeyFrame->eyeTargetInit.z;
|
||||||
} else {
|
} else {
|
||||||
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->eyeTargetInit);
|
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->eyeTargetInit);
|
||||||
|
@ -5245,8 +5245,8 @@ s32 Camera_Unique9(Camera* camera) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (eyeInitFlags & (s16)0x8080) {
|
if (eyeInitFlags & (s16)0x8080) {
|
||||||
scratchSph.pitch = DEGF_TO_BINANG(anim->curKeyFrame->eyeTargetInit.x);
|
scratchSph.pitch = DEG_TO_BINANG_ALT(anim->curKeyFrame->eyeTargetInit.x);
|
||||||
scratchSph.yaw = DEGF_TO_BINANG(anim->curKeyFrame->eyeTargetInit.y);
|
scratchSph.yaw = DEG_TO_BINANG_ALT(anim->curKeyFrame->eyeTargetInit.y);
|
||||||
scratchSph.r = anim->curKeyFrame->eyeTargetInit.z;
|
scratchSph.r = anim->curKeyFrame->eyeTargetInit.z;
|
||||||
} else {
|
} else {
|
||||||
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->eyeTargetInit);
|
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->eyeTargetInit);
|
||||||
|
@ -5275,7 +5275,7 @@ s32 Camera_Unique9(Camera* camera) {
|
||||||
anim->rollTarget = camera->roll;
|
anim->rollTarget = camera->roll;
|
||||||
} else {
|
} else {
|
||||||
anim->fovTarget = anim->curKeyFrame->fovTargetInit;
|
anim->fovTarget = anim->curKeyFrame->fovTargetInit;
|
||||||
anim->rollTarget = DEGF_TO_BINANG(anim->curKeyFrame->rollTargetInit);
|
anim->rollTarget = DEG_TO_BINANG_ALT(anim->curKeyFrame->rollTargetInit);
|
||||||
}
|
}
|
||||||
|
|
||||||
action = anim->curKeyFrame->actionFlags & 0x1F;
|
action = anim->curKeyFrame->actionFlags & 0x1F;
|
||||||
|
@ -5391,7 +5391,7 @@ s32 Camera_Unique9(Camera* camera) {
|
||||||
camera->at.y += camera->playerPosDelta.y * anim->curKeyFrame->lerpStepScale;
|
camera->at.y += camera->playerPosDelta.y * anim->curKeyFrame->lerpStepScale;
|
||||||
camera->at.z = Camera_LERPCeilF(anim->atTarget.z, camera->at.z, anim->curKeyFrame->lerpStepScale, 1.0f);
|
camera->at.z = Camera_LERPCeilF(anim->atTarget.z, camera->at.z, anim->curKeyFrame->lerpStepScale, 1.0f);
|
||||||
OLib_Vec3fDiffToVecSphGeo(&scratchSph, at, eyeNext);
|
OLib_Vec3fDiffToVecSphGeo(&scratchSph, at, eyeNext);
|
||||||
scratchSph.yaw += DEGF_TO_BINANG(anim->curKeyFrame->eyeTargetInit.y);
|
scratchSph.yaw += DEG_TO_BINANG_ALT(anim->curKeyFrame->eyeTargetInit.y);
|
||||||
|
|
||||||
// 3A98 ~ 82.40 degrees
|
// 3A98 ~ 82.40 degrees
|
||||||
if (scratchSph.pitch >= 0x3A99) {
|
if (scratchSph.pitch >= 0x3A99) {
|
||||||
|
@ -6402,7 +6402,7 @@ s32 Camera_Special5(Camera* camera) {
|
||||||
spec5->eyeDist = NEXTSETTING;
|
spec5->eyeDist = NEXTSETTING;
|
||||||
spec5->minDistForRot = NEXTSETTING;
|
spec5->minDistForRot = NEXTSETTING;
|
||||||
spec5->timerInit = NEXTSETTING;
|
spec5->timerInit = NEXTSETTING;
|
||||||
spec5->pitch = DEGF_TO_BINANG(NEXTSETTING);
|
spec5->pitch = DEG_TO_BINANG_ALT(NEXTSETTING);
|
||||||
spec5->fovTarget = NEXTSETTING;
|
spec5->fovTarget = NEXTSETTING;
|
||||||
spec5->atMaxLERPScale = NEXTPCT;
|
spec5->atMaxLERPScale = NEXTPCT;
|
||||||
spec5->interfaceFlags = NEXTSETTING;
|
spec5->interfaceFlags = NEXTSETTING;
|
||||||
|
@ -7293,8 +7293,8 @@ void Camera_UpdateDistortion(Camera* camera) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
depthPhase += DEGF_TO_BINANG(depthPhaseStep);
|
depthPhase += DEG_TO_BINANG_ALT(depthPhaseStep);
|
||||||
screenPlanePhase += DEGF_TO_BINANG(screenPlanePhaseStep);
|
screenPlanePhase += DEG_TO_BINANG_ALT(screenPlanePhaseStep);
|
||||||
|
|
||||||
View_SetDistortionOrientation(&camera->globalCtx->view, Math_CosS(depthPhase) * 0.0f,
|
View_SetDistortionOrientation(&camera->globalCtx->view, Math_CosS(depthPhase) * 0.0f,
|
||||||
Math_SinS(depthPhase) * 0.0f, Math_SinS(screenPlanePhase) * 0.0f);
|
Math_SinS(depthPhase) * 0.0f, Math_SinS(screenPlanePhase) * 0.0f);
|
||||||
|
@ -7933,7 +7933,7 @@ s32 Camera_SetParam(Camera* camera, s32 param, void* value) {
|
||||||
camera->up = *(Vec3f*)value;
|
camera->up = *(Vec3f*)value;
|
||||||
break;
|
break;
|
||||||
case 0x40:
|
case 0x40:
|
||||||
camera->roll = DEGF_TO_BINANG(*(f32*)value);
|
camera->roll = DEG_TO_BINANG_ALT(*(f32*)value);
|
||||||
break;
|
break;
|
||||||
case 0x20:
|
case 0x20:
|
||||||
camera->fov = *(f32*)value;
|
camera->fov = *(f32*)value;
|
||||||
|
|
|
@ -117,14 +117,14 @@ VecSph* OLib_Vec3fToVecSph(VecSph* dest, Vec3f* vec) {
|
||||||
if ((dist == 0.0f) && (vec->y == 0.0f)) {
|
if ((dist == 0.0f) && (vec->y == 0.0f)) {
|
||||||
sph.pitch = 0;
|
sph.pitch = 0;
|
||||||
} else {
|
} else {
|
||||||
sph.pitch = DEGF_TO_BINANG(RADF_TO_DEGF(Math_FAtan2F(dist, vec->y)));
|
sph.pitch = DEG_TO_BINANG_ALT(RADF_TO_DEGF(Math_FAtan2F(dist, vec->y)));
|
||||||
}
|
}
|
||||||
|
|
||||||
sph.r = sqrtf(SQ(vec->y) + distSquared);
|
sph.r = sqrtf(SQ(vec->y) + distSquared);
|
||||||
if ((vec->x == 0.0f) && (vec->z == 0.0f)) {
|
if ((vec->x == 0.0f) && (vec->z == 0.0f)) {
|
||||||
sph.yaw = 0;
|
sph.yaw = 0;
|
||||||
} else {
|
} else {
|
||||||
sph.yaw = DEGF_TO_BINANG(RADF_TO_DEGF(Math_FAtan2F(vec->x, vec->z)));
|
sph.yaw = DEG_TO_BINANG_ALT(RADF_TO_DEGF(Math_FAtan2F(vec->x, vec->z)));
|
||||||
}
|
}
|
||||||
|
|
||||||
*dest = sph;
|
*dest = sph;
|
||||||
|
@ -214,8 +214,8 @@ Vec3s* OLib_Vec3fDiffBinAng(Vec3s* dest, Vec3f* a, Vec3f* b) {
|
||||||
|
|
||||||
OLib_Vec3fDiffRad(&anglesRad, a, b);
|
OLib_Vec3fDiffRad(&anglesRad, a, b);
|
||||||
|
|
||||||
anglesBinAng.x = DEGF_TO_BINANG(RADF_TO_DEGF(anglesRad.x));
|
anglesBinAng.x = DEG_TO_BINANG_ALT(RADF_TO_DEGF(anglesRad.x));
|
||||||
anglesBinAng.y = DEGF_TO_BINANG(RADF_TO_DEGF(anglesRad.y));
|
anglesBinAng.y = DEG_TO_BINANG_ALT(RADF_TO_DEGF(anglesRad.y));
|
||||||
anglesBinAng.z = 0.0f;
|
anglesBinAng.z = 0.0f;
|
||||||
|
|
||||||
*dest = anglesBinAng;
|
*dest = anglesBinAng;
|
||||||
|
|
|
@ -22,7 +22,7 @@ void OnePointCutscene_AddVecSphToVec3f(Vec3f* dst, Vec3f* src, VecSph* vecSph) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 OnePointCutscene_Vec3fYaw(Vec3f* vec1, Vec3f* vec2) {
|
s16 OnePointCutscene_Vec3fYaw(Vec3f* vec1, Vec3f* vec2) {
|
||||||
return DEGF_TO_BINANG(RADF_TO_DEGF(Math_FAtan2F(vec2->x - vec1->x, vec2->z - vec1->z)));
|
return DEG_TO_BINANG_ALT(RADF_TO_DEGF(Math_FAtan2F(vec2->x - vec1->x, vec2->z - vec1->z)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnePointCutscene_Vec3sToVec3f(Vec3f* src, Vec3s* dst) {
|
void OnePointCutscene_Vec3sToVec3f(Vec3f* src, Vec3s* dst) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue