mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-12 19:04:38 +00:00
Introduce OPEN_DISPS/CLOSE_DISPS macros (#360)
This commit is contained in:
parent
1f1b5e39f5
commit
2a2fdf7f3e
134 changed files with 3133 additions and 3775 deletions
|
@ -223,18 +223,18 @@ void Gameplay_Init(GlobalContext* globalCtx) {
|
|||
globalCtx->cameraPtrs[i] = NULL;
|
||||
}
|
||||
|
||||
func_80057C6C(&globalCtx->cameras[0], &globalCtx->view, &globalCtx->colCtx, globalCtx);
|
||||
Camera_ChangeStatus(&globalCtx->cameras[0], 7);
|
||||
func_80057C6C(&globalCtx->mainCamera, &globalCtx->view, &globalCtx->colCtx, globalCtx);
|
||||
Camera_ChangeStatus(&globalCtx->mainCamera, 7);
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
func_80057C6C(&globalCtx->cameras[i + 1], &globalCtx->view, &globalCtx->colCtx, globalCtx);
|
||||
Camera_ChangeStatus(&globalCtx->cameras[i + 1], 0x100);
|
||||
func_80057C6C(&globalCtx->subCameras[i], &globalCtx->view, &globalCtx->colCtx, globalCtx);
|
||||
Camera_ChangeStatus(&globalCtx->subCameras[i], 0x100);
|
||||
}
|
||||
|
||||
globalCtx->cameraPtrs[0] = &globalCtx->cameras[0];
|
||||
globalCtx->cameraPtrs[0] = &globalCtx->mainCamera;
|
||||
globalCtx->cameraPtrs[0]->uid = 0;
|
||||
globalCtx->activeCamera = 0;
|
||||
func_8005AC48(&globalCtx->cameras[0], 0xFF);
|
||||
func_8005AC48(&globalCtx->mainCamera, 0xFF);
|
||||
func_800A9D28(globalCtx, &globalCtx->sub_1F74);
|
||||
func_80112098(globalCtx);
|
||||
func_80110F68(globalCtx);
|
||||
|
@ -385,13 +385,13 @@ void Gameplay_Init(GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
player = PLAYER;
|
||||
func_80058148(&globalCtx->cameras[0], player);
|
||||
func_8005A444(&globalCtx->cameras[0], 0);
|
||||
func_80058148(&globalCtx->mainCamera, player);
|
||||
func_8005A444(&globalCtx->mainCamera, 0);
|
||||
|
||||
playerStartCamId = player->actor.params & 0xFF;
|
||||
if (playerStartCamId != 0xFF) {
|
||||
osSyncPrintf("player has start camera ID (" VT_FGCOL(BLUE) "%d" VT_RST ")\n", playerStartCamId);
|
||||
func_8005A7A8(&globalCtx->cameras[0], playerStartCamId);
|
||||
func_8005A7A8(&globalCtx->mainCamera, playerStartCamId);
|
||||
}
|
||||
|
||||
if (YREG(15) == 0x20) {
|
||||
|
@ -1070,39 +1070,37 @@ void Gameplay_DrawOverlayElements(GlobalContext* globalCtx) {
|
|||
#ifdef NON_MATCHING
|
||||
// regalloc, stack usage and minor ordering differences
|
||||
void Gameplay_Draw(GlobalContext* globalCtx) {
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
LightMapper* sp228;
|
||||
Vec3f sp21C;
|
||||
GraphicsContext* gfxCtx;
|
||||
Gfx* dispRefs[4]; // 0x208
|
||||
|
||||
gfxCtx = globalCtx->state.gfxCtx;
|
||||
Graph_OpenDisps(dispRefs, gfxCtx, "../z_play.c", 3907);
|
||||
OPEN_DISPS(gfxCtx, "../z_play.c", 3907);
|
||||
|
||||
gSegments[4] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
|
||||
gSegments[5] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
|
||||
gSegments[2] = PHYSICAL_TO_VIRTUAL(globalCtx->sceneSegment);
|
||||
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL);
|
||||
gSPSegment(gfxCtx->polyXlu.p++, 0x00, NULL);
|
||||
gSPSegment(gfxCtx->overlay.p++, 0x00, NULL);
|
||||
gSPSegment(oGfxCtx->polyOpa.p++, 0x00, NULL);
|
||||
gSPSegment(oGfxCtx->polyXlu.p++, 0x00, NULL);
|
||||
gSPSegment(oGfxCtx->overlay.p++, 0x00, NULL);
|
||||
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
|
||||
gSPSegment(gfxCtx->polyXlu.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
|
||||
gSPSegment(gfxCtx->overlay.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
|
||||
gSPSegment(oGfxCtx->polyOpa.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
|
||||
gSPSegment(oGfxCtx->polyXlu.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
|
||||
gSPSegment(oGfxCtx->overlay.p++, 0x04, globalCtx->objectCtx.status[globalCtx->objectCtx.mainKeepIndex].segment);
|
||||
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
|
||||
gSPSegment(gfxCtx->polyXlu.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
|
||||
gSPSegment(gfxCtx->overlay.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
|
||||
gSPSegment(oGfxCtx->polyOpa.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
|
||||
gSPSegment(oGfxCtx->polyXlu.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
|
||||
gSPSegment(oGfxCtx->overlay.p++, 0x05, globalCtx->objectCtx.status[globalCtx->objectCtx.subKeepIndex].segment);
|
||||
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x02, globalCtx->sceneSegment);
|
||||
gSPSegment(gfxCtx->polyXlu.p++, 0x02, globalCtx->sceneSegment);
|
||||
gSPSegment(gfxCtx->overlay.p++, 0x02, globalCtx->sceneSegment);
|
||||
gSPSegment(oGfxCtx->polyOpa.p++, 0x02, globalCtx->sceneSegment);
|
||||
gSPSegment(oGfxCtx->polyXlu.p++, 0x02, globalCtx->sceneSegment);
|
||||
gSPSegment(oGfxCtx->overlay.p++, 0x02, globalCtx->sceneSegment);
|
||||
|
||||
func_80095248(gfxCtx, 0, 0, 0);
|
||||
|
||||
if ((HREG(80) != 10) || (HREG(82) != 0)) {
|
||||
gfxCtx->polyOpa.p = func_800BC8A0(globalCtx, gfxCtx->polyOpa.p);
|
||||
gfxCtx->polyXlu.p = func_800BC8A0(globalCtx, gfxCtx->polyXlu.p);
|
||||
oGfxCtx->polyOpa.p = func_800BC8A0(globalCtx, oGfxCtx->polyOpa.p);
|
||||
oGfxCtx->polyXlu.p = func_800BC8A0(globalCtx, oGfxCtx->polyXlu.p);
|
||||
|
||||
func_800AA460(&globalCtx->view, globalCtx->view.fovy, globalCtx->view.zNear, globalCtx->lightCtx.unk_0C);
|
||||
func_800AAA50(&globalCtx->view, 15);
|
||||
|
@ -1122,12 +1120,12 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
|
|||
globalCtx->unk_11DE0 = Matrix_MtxFToMtx(Matrix_CheckFloats(&globalCtx->mf_11DA0, "../z_play.c", 4005),
|
||||
Graph_Alloc(gfxCtx, sizeof(Mtx)));
|
||||
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x01, globalCtx->unk_11DE0);
|
||||
gSPSegment(oGfxCtx->polyOpa.p++, 0x01, globalCtx->unk_11DE0);
|
||||
|
||||
if ((HREG(80) != 10) || (HREG(92) != 0)) {
|
||||
Gfx* sp1CC = gfxCtx->polyOpa.p;
|
||||
Gfx* gfxP = Graph_GfxPlusOne(gfxCtx->polyOpa.p);
|
||||
gSPDisplayList(gfxCtx->overlay.p++, gfxP);
|
||||
Gfx* sp1CC = oGfxCtx->polyOpa.p;
|
||||
Gfx* gfxP = Graph_GfxPlusOne(oGfxCtx->polyOpa.p);
|
||||
gSPDisplayList(oGfxCtx->overlay.p++, gfxP);
|
||||
|
||||
if ((globalCtx->transitionMode == 3) || (globalCtx->transitionMode == 11) ||
|
||||
(globalCtx->transitionCtx.transitionType >= 56)) {
|
||||
|
@ -1151,13 +1149,13 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
|
|||
|
||||
gSPEndDisplayList(gfxP++);
|
||||
Graph_BranchDlist(sp1CC, gfxP);
|
||||
gfxCtx->polyOpa.p = gfxP;
|
||||
oGfxCtx->polyOpa.p = gfxP;
|
||||
}
|
||||
|
||||
if (gTrnsnUnkState == 3) {
|
||||
Gfx* sp88 = gfxCtx->polyOpa.p;
|
||||
Gfx* sp88 = oGfxCtx->polyOpa.p;
|
||||
TransitionUnk_Draw(&sTrnsnUnk, &sp88);
|
||||
gfxCtx->polyOpa.p = sp88;
|
||||
oGfxCtx->polyOpa.p = sp88;
|
||||
goto Gameplay_Draw_DrawOverlayElements;
|
||||
} else {
|
||||
func_800C0ED8(&globalCtx->preRenderCtx, 0x140, 0xF0, gfxCtx->curFrameBuffer, gZBuffer);
|
||||
|
@ -1171,9 +1169,9 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
if (R_PAUSE_MENU_MODE == 3) {
|
||||
Gfx* sp84 = gfxCtx->polyOpa.p;
|
||||
Gfx* sp84 = oGfxCtx->polyOpa.p;
|
||||
func_800C24BC(&globalCtx->preRenderCtx, &sp84);
|
||||
gfxCtx->polyOpa.p = sp84;
|
||||
oGfxCtx->polyOpa.p = sp84;
|
||||
goto Gameplay_Draw_DrawOverlayElements;
|
||||
} else {
|
||||
s32 sp80;
|
||||
|
@ -1288,7 +1286,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
if ((R_PAUSE_MENU_MODE == 1) || (gTrnsnUnkState == 1)) {
|
||||
Gfx* sp70 = gfxCtx->overlay.p;
|
||||
Gfx* sp70 = oGfxCtx->overlay.p;
|
||||
globalCtx->preRenderCtx.unk_10 = gfxCtx->curFrameBuffer;
|
||||
globalCtx->preRenderCtx.unk_14 = gZBuffer;
|
||||
func_800C1F20(&globalCtx->preRenderCtx, &sp70);
|
||||
|
@ -1299,7 +1297,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
|
|||
} else {
|
||||
gTrnsnUnkState = 2;
|
||||
}
|
||||
gfxCtx->overlay.p = sp70;
|
||||
oGfxCtx->overlay.p = sp70;
|
||||
globalCtx->preRenderCtx.unk_A3 = 2;
|
||||
SREG(33) |= 1;
|
||||
} else {
|
||||
|
@ -1325,7 +1323,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
|
|||
|
||||
func_80059EC8(ACTIVE_CAM);
|
||||
|
||||
Graph_CloseDisps(dispRefs, gfxCtx, "../z_play.c", 4508);
|
||||
CLOSE_DISPS(gfxCtx, "../z_play.c", 4508);
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Gameplay_Draw.s")
|
||||
|
@ -1531,7 +1529,7 @@ s16 Gameplay_CreateSubCamera(GlobalContext* globalCtx) {
|
|||
CYAN) " " VT_RST "\n",
|
||||
i);
|
||||
|
||||
globalCtx->cameraPtrs[i] = &globalCtx->cameras[i];
|
||||
globalCtx->cameraPtrs[i] = &globalCtx->subCameras[i - 1];
|
||||
func_80057C6C(globalCtx->cameraPtrs[i], &globalCtx->view, &globalCtx->colCtx, globalCtx);
|
||||
globalCtx->cameraPtrs[i]->unk_164 = i;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue