yeet PHYSICAL_TO_VIRTUAL and VIRTUAL_TO_PHYSICAL

This commit is contained in:
angie 2023-09-03 19:33:54 -03:00
parent f8719bad77
commit b0c49f51c2
30 changed files with 67 additions and 68 deletions

View File

@ -21,10 +21,7 @@
#define ARRAY_COUNT_2D(arr) (ARRAY_COUNT(arr) * ARRAY_COUNT(arr[0]))
// TODO: After uintptr_t cast change should have an AVOID_UB target that just toggles the KSEG0 bit in the address rather than add/sub 0x80000000
#define PHYSICAL_TO_VIRTUAL(addr) ((uintptr_t)(addr) + K0BASE)
#define VIRTUAL_TO_PHYSICAL(addr) OS_K0_TO_PHYSICAL(addr)
#define SEGMENTED_TO_VIRTUAL(addr) (void*)((uintptr_t)PHYSICAL_TO_VIRTUAL(gSegments[SEGMENT_NUMBER(addr)]) + SEGMENT_OFFSET(addr))
#define SEGMENTED_TO_VIRTUAL(addr) (void*)(((uintptr_t)(gSegments[SEGMENT_NUMBER(addr)]) + K0BASE) + SEGMENT_OFFSET(addr))
#define GET_ACTIVE_CAM(play) ((play)->cameraPtrs[(play)->activeCamId])

View File

@ -1097,7 +1097,7 @@ void Actor_SetScale(Actor* actor, f32 scale) {
}
void Actor_SetObjectDependency(PlayState* play, Actor* actor) {
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[actor->objBankIndex].segment);
gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.status[actor->objBankIndex].segment);
}
void Actor_Init(Actor* actor, PlayState* play) {

View File

@ -50,7 +50,7 @@ void EffectSs_DrawGEffect(PlayState* play, EffectSs* this, TexturePtr texture) {
SkinMatrix_SetScale(&mfScale, scale, scale, scale);
SkinMatrix_MtxFMtxFMult(&mfTrans, &play->billboardMtxF, &mfTrans11DA0);
SkinMatrix_MtxFMtxFMult(&mfTrans11DA0, &mfScale, &mfResult);
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(object);
gSegments[0x06] = OS_K0_TO_PHYSICAL(object);
gSPSegment(POLY_XLU_DISP++, 0x06, object);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &mfResult);

View File

@ -133,7 +133,7 @@ EnDoor* EnHy_FindNearestDoor(Actor* actor, PlayState* play) {
}
void EnHy_ChangeObjectAndAnim(EnHy* enHy, PlayState* play, s16 animIndex) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[enHy->animObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[enHy->animObjIndex].segment);
EnHy_ChangeAnim(&enHy->skelAnime, animIndex);
}
@ -141,7 +141,7 @@ s32 EnHy_UpdateSkelAnime(EnHy* enHy, PlayState* play) {
s32 isUpdated = false;
if (enHy->actor.draw != NULL) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[enHy->animObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[enHy->animObjIndex].segment);
SkelAnime_Update(&enHy->skelAnime);
isUpdated = true;
}
@ -168,7 +168,7 @@ s32 EnHy_Init(EnHy* enHy, PlayState* play, FlexSkeletonHeader* skeletonHeaderSeg
enHy->actor.objBankIndex = enHy->skelLowerObjIndex;
isInitialized = true;
ActorShape_Init(&enHy->actor.shape, 0.0f, NULL, 0.0f);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[enHy->actor.objBankIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[enHy->actor.objBankIndex].segment);
SkelAnime_InitFlex(play, &enHy->skelAnime, skeletonHeaderSeg, NULL, enHy->jointTable, enHy->morphTable,
ENHY_LIMB_MAX);
EnHy_ChangeObjectAndAnim(enHy, play, animIndex);

View File

@ -719,7 +719,7 @@ void* Lib_VirtualToPhysical(void* ptr) {
if (ptr == NULL) {
return NULL;
} else {
return (void*)VIRTUAL_TO_PHYSICAL(ptr);
return (void*)OS_K0_TO_PHYSICAL(ptr);
}
}

View File

@ -921,9 +921,9 @@ void Play_UpdateMain(PlayState* this) {
u8 freezeFlashTimer;
s32 sp5C = false;
gSegments[4] = VIRTUAL_TO_PHYSICAL(this->objectCtx.status[this->objectCtx.mainKeepIndex].segment);
gSegments[5] = VIRTUAL_TO_PHYSICAL(this->objectCtx.status[this->objectCtx.subKeepIndex].segment);
gSegments[2] = VIRTUAL_TO_PHYSICAL(this->sceneSegment);
gSegments[4] = OS_K0_TO_PHYSICAL(this->objectCtx.status[this->objectCtx.mainKeepIndex].segment);
gSegments[5] = OS_K0_TO_PHYSICAL(this->objectCtx.status[this->objectCtx.subKeepIndex].segment);
gSegments[2] = OS_K0_TO_PHYSICAL(this->sceneSegment);
if (R_PICTO_PHOTO_STATE == PICTO_PHOTO_STATE_PROCESS) {
R_PICTO_PHOTO_STATE = PICTO_PHOTO_STATE_READY;
@ -1153,9 +1153,9 @@ void Play_DrawMain(PlayState* this) {
OPEN_DISPS(gfxCtx);
gSegments[4] = VIRTUAL_TO_PHYSICAL(this->objectCtx.status[this->objectCtx.mainKeepIndex].segment);
gSegments[5] = VIRTUAL_TO_PHYSICAL(this->objectCtx.status[this->objectCtx.subKeepIndex].segment);
gSegments[2] = VIRTUAL_TO_PHYSICAL(this->sceneSegment);
gSegments[4] = OS_K0_TO_PHYSICAL(this->objectCtx.status[this->objectCtx.mainKeepIndex].segment);
gSegments[5] = OS_K0_TO_PHYSICAL(this->objectCtx.status[this->objectCtx.subKeepIndex].segment);
gSegments[2] = OS_K0_TO_PHYSICAL(this->sceneSegment);
gSPSegment(POLY_OPA_DISP++, 0x04, this->objectCtx.status[this->objectCtx.mainKeepIndex].segment);
gSPSegment(POLY_XLU_DISP++, 0x04, this->objectCtx.status[this->objectCtx.mainKeepIndex].segment);
@ -1604,7 +1604,7 @@ void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) {
this->sceneConfig = scene->drawConfig;
this->sceneSegment = Play_LoadFile(this, &scene->segment);
scene->unk_D = 0;
gSegments[2] = VIRTUAL_TO_PHYSICAL(this->sceneSegment);
gSegments[2] = OS_K0_TO_PHYSICAL(this->sceneSegment);
Play_InitScene(this, spawn);
Room_AllocateAndLoad(this, &this->roomCtx);
}

View File

@ -2584,7 +2584,7 @@ void Player_DrawGetItemImpl(PlayState* play, Player* player, Vec3f* refPos, s32
OPEN_DISPS(play->state.gfxCtx);
gSegments[6] = VIRTUAL_TO_PHYSICAL(player->giObjectSegment);
gSegments[6] = OS_K0_TO_PHYSICAL(player->giObjectSegment);
gSPSegment(POLY_OPA_DISP++, 0x06, player->giObjectSegment);
gSPSegment(POLY_XLU_DISP++, 0x06, player->giObjectSegment);
@ -2846,7 +2846,7 @@ void func_80127488(PlayState* play, Player* player, u8 alpha) {
}
void Player_DrawCouplesMask(PlayState* play, Player* player) {
gSegments[0xA] = VIRTUAL_TO_PHYSICAL(player->maskObjectSegment);
gSegments[0xA] = OS_K0_TO_PHYSICAL(player->maskObjectSegment);
AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_meoto_Matanimheader_001CD8));
}
@ -2878,7 +2878,7 @@ void Player_DrawCircusLeadersMask(PlayState* play, Player* player) {
Matrix_Scale(scaleXZ, scaleY, scaleXZ, MTXMODE_APPLY);
gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(&gfx[1], 0x08, VIRTUAL_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(gEffBubble1Tex)));
gSPSegment(&gfx[1], 0x08, OS_K0_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(gEffBubble1Tex)));
gDPSetPrimColor(&gfx[2], 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(&gfx[3], 150, 150, 150, 0);
gSPDisplayList(&gfx[4], gEffBubbleDL);
@ -2934,7 +2934,7 @@ void Player_DrawBlastMask(PlayState* play, Player* player) {
if (player->blastMaskTimer != 0) {
s32 alpha;
gSegments[0xA] = VIRTUAL_TO_PHYSICAL(player->maskObjectSegment);
gSegments[0xA] = OS_K0_TO_PHYSICAL(player->maskObjectSegment);
AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_bakuretu_Matanimheader_0011F8));

View File

@ -574,7 +574,7 @@ s32 Room_HandleLoadCallbacks(PlayState* play, RoomContext* roomCtx) {
if (osRecvMesg(&roomCtx->loadQueue, NULL, OS_MESG_NOBLOCK) == 0) {
roomCtx->status = 0;
roomCtx->curRoom.segment = roomCtx->activeRoomVram;
gSegments[3] = VIRTUAL_TO_PHYSICAL(roomCtx->activeRoomVram);
gSegments[3] = OS_K0_TO_PHYSICAL(roomCtx->activeRoomVram);
Scene_ExecuteCommands(play, roomCtx->curRoom.segment);
func_80123140(play, GET_PLAYER(play));
@ -605,7 +605,7 @@ RoomDrawHandler sRoomDrawHandlers[] = {
void Room_Draw(PlayState* play, Room* room, u32 flags) {
if (room->segment != NULL) {
gSegments[3] = VIRTUAL_TO_PHYSICAL(room->segment);
gSegments[3] = OS_K0_TO_PHYSICAL(room->segment);
sRoomDrawHandlers[room->roomShape->base.type](play, room, flags);
}
return;

View File

@ -52,7 +52,7 @@ void Object_InitBank(GameState* gameState, ObjectContext* objectCtx) {
objectCtx->spaceEnd = (void*)((u32)objectCtx->spaceStart + spaceSize);
objectCtx->mainKeepIndex = Object_Spawn(objectCtx, GAMEPLAY_KEEP);
gSegments[0x04] = VIRTUAL_TO_PHYSICAL(objectCtx->status[objectCtx->mainKeepIndex].segment);
gSegments[0x04] = OS_K0_TO_PHYSICAL(objectCtx->status[objectCtx->mainKeepIndex].segment);
}
void Object_UpdateBank(ObjectContext* objectCtx) {
@ -227,7 +227,7 @@ void Scene_CommandSpecialFiles(PlayState* play, SceneCmd* cmd) {
if (cmd->specialFiles.subKeepIndex != 0) {
play->objectCtx.subKeepIndex = Object_Spawn(&play->objectCtx, cmd->specialFiles.subKeepIndex);
// TODO: Segment number enum?
gSegments[0x05] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[play->objectCtx.subKeepIndex].segment);
gSegments[0x05] = OS_K0_TO_PHYSICAL(play->objectCtx.status[play->objectCtx.subKeepIndex].segment);
}
if (cmd->specialFiles.naviQuestHintFileId != NAVI_QUEST_HINTS_NONE) {

View File

@ -2156,7 +2156,7 @@ void Boss03_SetObject(PlayState* play, s16 objectId) {
OPEN_DISPS(play->state.gfxCtx);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[objectIndex].segment);
gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.status[objectIndex].segment);

View File

@ -81,9 +81,9 @@ s32 DmAn_UpdateSkelAnime(DmAn* this, PlayState* play) {
}
if (objectIndex2 >= 0) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex2].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex2].segment);
isAnimFinished = SkelAnime_Update(&this->skelAnime);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
}
return isAnimFinished;
@ -101,10 +101,10 @@ s32 DmAn_ChangeAnim(DmAn* this, PlayState* play, s32 animIndex) {
}
if ((objectIndex2 >= 0) && (this->animIndex != animIndex)) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex2].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex2].segment);
this->animIndex = animIndex;
didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
}
return didAnimChange;

View File

@ -81,9 +81,9 @@ s32 DmGm_UpdateSkelAnime(DmGm* this, PlayState* play) {
}
if (objectIndex2 >= 0) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex2].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex2].segment);
isAnimFinished = SkelAnime_Update(&this->skelAnime);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
}
return isAnimFinished;
@ -101,10 +101,10 @@ s32 DmGm_ChangeAnim(DmGm* this, PlayState* play, s32 animIndex) {
}
if ((objectIndex2 >= 0) && (this->animIndex != animIndex)) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex2].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex2].segment);
this->animIndex = animIndex;
didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
}
return didAnimChange;

View File

@ -320,7 +320,7 @@ void DmStk_LoadObjectForAnimation(DmStk* this, PlayState* play) {
}
if (objectIndex >= 0) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objectIndex].segment);
}
}
@ -1968,13 +1968,13 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
(this->objectStk2ObjectIndex >= 0)) {
Matrix_Push();
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->objectStk2ObjectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->objectStk2ObjectIndex].segment);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->objectStk2ObjectIndex].segment);
AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gSkullKidMajorasMaskCurseOverlayTexAnim));
Gfx_DrawDListOpa(play, gSkullKidMajorasMaskCurseOverlayDL);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->objectStkObjectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->objectStkObjectIndex].segment);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->objectStkObjectIndex].segment);
@ -2095,7 +2095,7 @@ void DmStk_Draw(Actor* thisx, PlayState* play) {
return;
}
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->objectStkObjectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->objectStkObjectIndex].segment);
OPEN_DISPS(play->state.gfxCtx);

View File

@ -265,8 +265,8 @@ s32 EnBba01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
OPEN_DISPS(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.headObjIndex].segment);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.headObjIndex].segment);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->enHy.headObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment);
CLOSE_DISPS(play->state.gfxCtx);
}
@ -304,7 +304,7 @@ void EnBba01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
OPEN_DISPS(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -255,9 +255,9 @@ s32 EnCne01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
OPEN_DISPS(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.headObjIndex].segment);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.headObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->enHy.headObjIndex].segment);
*dList = gCneHeadBrownHairDL;
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelLowerObjIndex].segment);
CLOSE_DISPS(play->state.gfxCtx);
}
@ -295,7 +295,7 @@ void EnCne01_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
OPEN_DISPS(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->enHy.skelUpperObjIndex].segment);
CLOSE_DISPS(play->state.gfxCtx);
}

View File

@ -210,7 +210,7 @@ s32 func_80A515C4(EnDnk* this) {
void func_80A51648(EnDnk* this, PlayState* play) {
if (SubS_IsObjectLoaded(this->unk_28E, play) == true) {
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->unk_28E].segment);
gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->unk_28E].segment);
this->actor.draw = func_80A52018;
this->actor.objBankIndex = this->unk_28E;
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 18.0f);

View File

@ -1120,7 +1120,7 @@ void func_80B2ADB0(EnFish2* this, Vec3f* vec, s16 arg2) {
phi_v0 = gEffBubble1Tex;
}
ptr->unk_20 = VIRTUAL_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(phi_v0));
ptr->unk_20 = OS_K0_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(phi_v0));
ptr->unk_00 = true;
ptr->unk_04 = *vec;
ptr->unk_04.x += Rand_CenteredFloat(ptr->unk_00 + (this->unk_330 * 4000.0f));

View File

@ -373,12 +373,12 @@ s32 func_80BB1D64(EnGeg* this, PlayState* play) {
}
void func_80BB1FCC(EnGeg* this, PlayState* play) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->unk_248].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->unk_248].segment);
SkelAnime_Update(&this->skelAnime);
}
void func_80BB2020(EnGeg* this, PlayState* play) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->unk_248].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->unk_248].segment);
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->unk_4AC);
}

View File

@ -991,10 +991,10 @@ s32 EnGo_UpdateAnimationToCurrent(EnGo* this, PlayState* play) {
}
if (extraObjIndex >= 0) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[extraObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[extraObjIndex].segment);
this->skelAnime.playSpeed = this->curAnimPlaySpeed;
ret = SkelAnime_Update(&this->skelAnime);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objIndex].segment);
}
return ret;
@ -1051,11 +1051,11 @@ s32 EnGo_ChangeAnim(EnGo* this, PlayState* play, EnGoAnimationIndex animIndex) {
}
if (extraObjIndex >= 0) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[extraObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[extraObjIndex].segment);
this->curAnimIndex = animIndex;
ret = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
this->curAnimPlaySpeed = this->skelAnime.playSpeed;
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objIndex].segment);
}
return ret;

View File

@ -248,14 +248,14 @@ void EnNwc_CheckFound(EnNwc* this, PlayState* play) {
void EnNwc_LoadNiwSkeleton(EnNwc* this, PlayState* play) {
if (Object_IsLoaded(&play->objectCtx, this->niwObjectIndex)) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->niwObjectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->niwObjectIndex].segment);
SkelAnime_InitFlex(play, &this->niwSkeleton, &gNiwSkeleton, &gNiwIdleAnim, this->jointTable, this->morphTable,
NIW_LIMB_MAX);
Animation_Change(&this->niwSkeleton, &gNiwIdleAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gNiwIdleAnim),
ANIMMODE_LOOP, 0.0f);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->nwcObjectIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->nwcObjectIndex].segment);
this->state = NWC_STATE_NIW_LOADED;
EnNwc_ToggleState(this);
}

View File

@ -788,7 +788,7 @@ s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play) {
if (((EnJg*)this->otherGoron)->flags & 1) {
this->loadedObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_TAISOU);
if (this->loadedObjIndex >= 0) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->loadedObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->loadedObjIndex].segment);
this->animInfoIndex = EN_S_GORO_ANIM_TAISOU_CHEER;
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animInfoIndex);
return true;
@ -797,7 +797,7 @@ s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play) {
} else if ((this->animInfoIndex == EN_S_GORO_ANIM_TAISOU_CHEER) && !(((EnJg*)this->otherGoron)->flags & 1)) {
this->loadedObjIndex = Object_GetIndex(&play->objectCtx, OBJECT_OF1D_MAP);
if (this->loadedObjIndex >= 0) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->loadedObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->loadedObjIndex].segment);
this->animInfoIndex = EN_S_GORO_ANIM_IDLE_STAND;
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animInfoIndex);
this->skelAnime.curFrame = this->skelAnime.endFrame;
@ -1329,7 +1329,7 @@ void EnSGoro_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 12.0f, 0.0f, UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->loadedObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->loadedObjIndex].segment);
SkelAnime_Update(&this->skelAnime);
if (this->animInfoIndex != EN_S_GORO_ANIM_SLEEPY) {
EnSGoro_UpdateAttentionTarget(this, play);

View File

@ -1345,7 +1345,7 @@ void EnSob1_Blink(EnSob1* this) {
}
void EnSob1_ChangeObject(EnSob1* this, PlayState* play) {
gSegments[0x06] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
}
s32 EnSob1_AreObjectsLoaded(EnSob1* this, PlayState* play) {
@ -1363,7 +1363,7 @@ s32 EnSob1_AreObjectsLoaded(EnSob1* this, PlayState* play) {
void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) {
SkelAnime_InitFlex(play, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable, ZORA_LIMB_MAX);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
Animation_Change(&this->skelAnime, &gZoraShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gZoraShopkeeperAnim),
ANIMMODE_LOOP, 0.0f);
this->actor.draw = EnSob1_ZoraShopkeeper_Draw;
@ -1372,7 +1372,7 @@ void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) {
void EnSob1_GoronShopkeeper_Init(EnSob1* this, PlayState* play) {
SkelAnime_InitFlex(play, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable, GORON_LIMB_MAX);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
Animation_Change(&this->skelAnime, &gGoronShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gGoronShopkeeperAnim),
ANIMMODE_LOOP, 0.0f);
this->actor.draw = EnSob1_GoronShopkeeper_Draw;

View File

@ -245,7 +245,7 @@ void func_808A54B0(EnSt* this, PlayState* play) {
if ((this->unk_18C & 1) && (this->actor.colChkInfo.health != 0)) {
OPEN_DISPS(play->state.gfxCtx);
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[this->unk_2C0].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[this->unk_2C0].segment);
gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.status[this->unk_2C0].segment);

View File

@ -34,7 +34,7 @@ u32 EffectSsBubble_Init(PlayState* play, u32 index, EffectSs* this, void* initPa
{
TexturePtr tex = (Rand_ZeroOne() < 0.5f) ? gEffBubble1Tex : gEffBubble2Tex;
this->gfx = VIRTUAL_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(tex));
this->gfx = OS_K0_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(tex));
}
this->pos.x = ((Rand_ZeroOne() - 0.5f) * initParams->xzPosRandScale) + initParams->pos.x;

View File

@ -73,7 +73,7 @@ void EffectSsDFire_Draw(PlayState* play, u32 index, EffectSs* this) {
OPEN_DISPS(gfxCtx);
gSegments[6] = VIRTUAL_TO_PHYSICAL(object);
gSegments[6] = OS_K0_TO_PHYSICAL(object);
gSPSegment(POLY_XLU_DISP++, 0x06, object);
scale = this->rScale / 100.0f;

View File

@ -50,7 +50,7 @@ u32 EffectSsDtBubble_Init(PlayState* play, u32 index, EffectSs* this, void* init
{
TexturePtr tex = (Rand_ZeroOne() < 0.5f) ? gEffBubble1Tex : gEffBubble2Tex;
this->gfx = VIRTUAL_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(tex));
this->gfx = OS_K0_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(tex));
}
Math_Vec3f_Copy(&this->pos, &initParams->pos);

View File

@ -37,7 +37,7 @@ u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
if ((objIndex >= 0) && (Object_IsLoaded(&play->objectCtx, objIndex))) {
void* segBackup = gSegments[6];
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.status[objIndex].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.status[objIndex].segment);
this->pos = params->pos;
this->velocity = params->velocity;
@ -66,7 +66,7 @@ void EffectSsExtra_Draw(PlayState* play, u32 index, EffectSs* this) {
OPEN_DISPS(play->state.gfxCtx);
gSegments[6] = VIRTUAL_TO_PHYSICAL(storedSegment);
gSegments[6] = OS_K0_TO_PHYSICAL(storedSegment);
gSPSegment(POLY_XLU_DISP++, 0x06, storedSegment);

View File

@ -40,7 +40,7 @@ u32 EffectSsSibuki_Init(PlayState* play, u32 index, EffectSs* this, void* initPa
{
TexturePtr tex = (KREG(2) != 0) ? gEffBubble2Tex : gEffBubble1Tex;
this->gfx = VIRTUAL_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(tex));
this->gfx = OS_K0_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(tex));
}
this->life = ((s32)((Rand_ZeroOne() * (500.0f + KREG(64))) * 0.01f)) + KREG(65) + 10;

View File

@ -2857,7 +2857,7 @@ void KaleidoScope_Update(PlayState* play) {
size0 = SEGMENT_ROM_SIZE(icon_item_static_syms);
CmpDma_LoadAllFiles((uintptr_t)SEGMENT_ROM_START(icon_item_static_yar), pauseCtx->iconItemSegment, size0);
gSegments[0x08] = VIRTUAL_TO_PHYSICAL(pauseCtx->iconItemSegment);
gSegments[0x08] = OS_K0_TO_PHYSICAL(pauseCtx->iconItemSegment);
for (itemId = 0; itemId <= ITEM_BOW_FIRE; itemId++) {
if (!gPlayerFormItemRestrictions[GET_PLAYER_FORM][(s32)itemId]) {

View File

@ -1206,6 +1206,8 @@ wordReplace = {
"WEEKEVENTREG_52_20": "WEEKEVENTREG_CLEARED_STONE_TOWER_TEMPLE",
"WEEKEVENTREG_55_80": "WEEKEVENTREG_CLEARED_GREAT_BAY_TEMPLE",
"VIRTUAL_TO_PHYSICAL": "OS_K0_TO_PHYSICAL",
# Enums
"TRANS_TYPE_00": "TRANS_TYPE_WIPE",
"TRANS_TYPE_01": "TRANS_TYPE_TRIFORCE",