mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-02-07 02:40:30 -05:00
Fixed z_player_lib corruption on 64 bit
This commit is contained in:
parent
e4ce541fcf
commit
ca6f8f8963
@ -361,13 +361,13 @@ void Player_SetModelsForHoldingShield(Player* this) {
|
||||
((this->itemActionParam < 0) || (this->itemActionParam == this->heldItemActionParam))) {
|
||||
if (!Player_HoldsTwoHandedWeapon(this) && !Player_IsChildWithHylianShield(this)) {
|
||||
this->rightHandType = 10;
|
||||
this->rightHandDLists = &sPlayerDListGroups[10][(void)0, gSaveContext.linkAge];
|
||||
this->rightHandDLists = &sPlayerDListGroups[10][gSaveContext.linkAge];
|
||||
if (this->sheathType == 18) {
|
||||
this->sheathType = 16;
|
||||
} else if (this->sheathType == 19) {
|
||||
this->sheathType = 17;
|
||||
}
|
||||
this->sheathDLists = &sPlayerDListGroups[this->sheathType][(void)0, gSaveContext.linkAge];
|
||||
this->sheathDLists = &sPlayerDListGroups[this->sheathType][gSaveContext.linkAge];
|
||||
this->modelAnimType = 2;
|
||||
this->itemActionParam = -1;
|
||||
}
|
||||
@ -379,10 +379,10 @@ void Player_SetModels(Player* this, s32 modelGroup) {
|
||||
this->rightHandType = gPlayerModelTypes[modelGroup][2];
|
||||
this->sheathType = gPlayerModelTypes[modelGroup][3];
|
||||
|
||||
this->leftHandDLists = &sPlayerDListGroups[gPlayerModelTypes[modelGroup][1]][(void)0, gSaveContext.linkAge];
|
||||
this->rightHandDLists = &sPlayerDListGroups[gPlayerModelTypes[modelGroup][2]][(void)0, gSaveContext.linkAge];
|
||||
this->sheathDLists = &sPlayerDListGroups[gPlayerModelTypes[modelGroup][3]][(void)0, gSaveContext.linkAge];
|
||||
this->waistDLists = &sPlayerDListGroups[gPlayerModelTypes[modelGroup][4]][(void)0, gSaveContext.linkAge];
|
||||
this->leftHandDLists = &sPlayerDListGroups[gPlayerModelTypes[modelGroup][1]][gSaveContext.linkAge];
|
||||
this->rightHandDLists = &sPlayerDListGroups[gPlayerModelTypes[modelGroup][2]][gSaveContext.linkAge];
|
||||
this->sheathDLists = &sPlayerDListGroups[gPlayerModelTypes[modelGroup][3]][gSaveContext.linkAge];
|
||||
this->waistDLists = &sPlayerDListGroups[gPlayerModelTypes[modelGroup][4]][gSaveContext.linkAge];
|
||||
|
||||
Player_SetModelsForHoldingShield(this);
|
||||
}
|
||||
@ -844,15 +844,15 @@ void func_8008F87C(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime,
|
||||
(Player_ActionToMagicSpell(this, this->itemActionParam) < 0)) {
|
||||
s32 pad;
|
||||
|
||||
sp7C = D_80126058[(void)0, gSaveContext.linkAge];
|
||||
sp78 = D_80126060[(void)0, gSaveContext.linkAge];
|
||||
sp74 = D_80126068[(void)0, gSaveContext.linkAge] - this->unk_6C4;
|
||||
sp7C = D_80126058[gSaveContext.linkAge];
|
||||
sp78 = D_80126060[gSaveContext.linkAge];
|
||||
sp74 = D_80126068[gSaveContext.linkAge] - this->unk_6C4;
|
||||
|
||||
Matrix_Push();
|
||||
Matrix_TranslateRotateZYX(pos, rot);
|
||||
Matrix_MultVec3f(&D_8012602C, &spA4);
|
||||
Matrix_TranslateRotateZYX(&D_80126038[(void)0, gSaveContext.linkAge], &skelAnime->jointTable[shinLimbIndex]);
|
||||
Matrix_Translate(D_80126050[(void)0, gSaveContext.linkAge], 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
Matrix_TranslateRotateZYX(&D_80126038[gSaveContext.linkAge], &skelAnime->jointTable[shinLimbIndex]);
|
||||
Matrix_Translate(D_80126050[gSaveContext.linkAge], 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
Matrix_MultVec3f(&D_8012602C, &sp98);
|
||||
Matrix_MultVec3f(&D_80126070, &footprintPos);
|
||||
Matrix_Pop();
|
||||
@ -1040,16 +1040,16 @@ s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
|
||||
if (this->unk_6AD != 2) {
|
||||
*dList = NULL;
|
||||
} else if (limbIndex == PLAYER_LIMB_L_FOREARM) {
|
||||
*dList = sArmOutDLs[(void)0, gSaveContext.linkAge];
|
||||
*dList = sArmOutDLs[gSaveContext.linkAge];
|
||||
} else if (limbIndex == PLAYER_LIMB_L_HAND) {
|
||||
*dList = sHandOutDLs[(void)0, gSaveContext.linkAge];
|
||||
*dList = sHandOutDLs[gSaveContext.linkAge];
|
||||
} else if (limbIndex == PLAYER_LIMB_R_SHOULDER) {
|
||||
*dList = sRightShoulderNearDLs[(void)0, gSaveContext.linkAge];
|
||||
*dList = sRightShoulderNearDLs[gSaveContext.linkAge];
|
||||
} else if (limbIndex == PLAYER_LIMB_R_FOREARM) {
|
||||
*dList = D_80125F30[(void)0, gSaveContext.linkAge];
|
||||
*dList = D_80125F30[gSaveContext.linkAge];
|
||||
} else if (limbIndex == PLAYER_LIMB_R_HAND) {
|
||||
*dList = Player_HoldsHookshot(this) ? gLinkAdultRightHandHoldingHookshotFarDL
|
||||
: sHoldingFirstPersonWeaponDLs[(void)0, gSaveContext.linkAge];
|
||||
: sHoldingFirstPersonWeaponDLs[gSaveContext.linkAge];
|
||||
} else {
|
||||
*dList = NULL;
|
||||
}
|
||||
@ -1333,7 +1333,7 @@ void func_80090D20(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s*
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_player_lib.c", 2712),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, bottleColor->r, bottleColor->g, bottleColor->b, 0);
|
||||
gSPDisplayList(POLY_XLU_DISP++, sBottleDLists[((void)0, gSaveContext.linkAge)]);
|
||||
gSPDisplayList(POLY_XLU_DISP++, sBottleDLists[(gSaveContext.linkAge)]);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 2717);
|
||||
}
|
||||
@ -1464,7 +1464,7 @@ void func_80090D20(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s*
|
||||
} else if (limbIndex == PLAYER_LIMB_HEAD) {
|
||||
Matrix_MultVec3f(&D_801260D4, &this->actor.focus.pos);
|
||||
} else {
|
||||
Vec3f* vec = &D_801261E0[((void)0, gSaveContext.linkAge)];
|
||||
Vec3f* vec = &D_801261E0[(gSaveContext.linkAge)];
|
||||
|
||||
Actor_SetFeetPos(&this->actor, limbIndex, PLAYER_LIMB_L_FOOT, vec, PLAYER_LIMB_R_FOOT, vec);
|
||||
}
|
||||
@ -1472,7 +1472,7 @@ void func_80090D20(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s*
|
||||
}
|
||||
|
||||
u32 func_80091738(GlobalContext* globalCtx, u8* segment, SkelAnime* skelAnime) {
|
||||
s16 linkObjectId = gLinkObjectIds[(void)0, gSaveContext.linkAge];
|
||||
s16 linkObjectId = gLinkObjectIds[gSaveContext.linkAge];
|
||||
size_t size;
|
||||
void* ptr;
|
||||
|
||||
@ -1489,7 +1489,7 @@ u32 func_80091738(GlobalContext* globalCtx, u8* segment, SkelAnime* skelAnime) {
|
||||
gSegments[4] = VIRTUAL_TO_PHYSICAL(segment + 0x3800);
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(segment + 0x8800);
|
||||
|
||||
SkelAnime_InitLink(globalCtx, skelAnime, gPlayerSkelHeaders[(void)0, gSaveContext.linkAge], &gPlayerAnim_003238, 9,
|
||||
SkelAnime_InitLink(globalCtx, skelAnime, gPlayerSkelHeaders[gSaveContext.linkAge], &gPlayerAnim_003238, 9,
|
||||
ptr, ptr, PLAYER_LIMB_MAX);
|
||||
|
||||
return size + 0x8800 + 0x90;
|
||||
@ -1503,6 +1503,7 @@ s32 func_80091880(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
|
||||
s32 type;
|
||||
s32 dListOffset = 0;
|
||||
Gfx** dLists;
|
||||
size_t ptrSize = sizeof(uint32_t);
|
||||
|
||||
if ((modelGroup == 2) && !LINK_IS_ADULT && (ptr[1] == 2)) {
|
||||
modelGroup = 1;
|
||||
@ -1522,12 +1523,12 @@ s32 func_80091880(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
|
||||
type = gPlayerModelTypes[modelGroup][2];
|
||||
D_80160018 = type;
|
||||
if (type == 10) {
|
||||
dListOffset = ptr[1] * sizeof(uintptr_t);
|
||||
dListOffset = ptr[1] * ptrSize;
|
||||
}
|
||||
} else if (limbIndex == PLAYER_LIMB_SHEATH) {
|
||||
type = gPlayerModelTypes[modelGroup][3];
|
||||
if ((type == 18) || (type == 19)) {
|
||||
dListOffset = ptr[1] * sizeof(uintptr_t);
|
||||
dListOffset = ptr[1] * ptrSize;
|
||||
} else if (type == 16 && CVar_GetS32("gPauseLiveLink", 0)) {
|
||||
//if (ptr[0] == 1)
|
||||
//dListOffset = 4;
|
||||
@ -1538,7 +1539,7 @@ s32 func_80091880(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
|
||||
return 0;
|
||||
}
|
||||
|
||||
dLists = &sPlayerDListGroups[type][(void)0, gSaveContext.linkAge];
|
||||
dLists = &sPlayerDListGroups[type][gSaveContext.linkAge];
|
||||
*dList = dLists[dListOffset];
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user