mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 06:24:30 +00:00
Doc misc 1 (#1160)
* Misc documentation 1 * Add parentheses Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Move the parentheses to the right place * `curByte`(2) -> `curChar`(2) Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com> * Revert `isMaterialSet` boolean usage * Fix misplaced line (how did that happen) * Fixup Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
This commit is contained in:
parent
dfbc356cdf
commit
ed6ec5bceb
11 changed files with 265 additions and 262 deletions
|
@ -86,17 +86,17 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
|
|||
struct_80095D04 spB8[SHAPE_SORT_MAX];
|
||||
struct_80095D04* spB4 = NULL;
|
||||
struct_80095D04* spB0 = NULL;
|
||||
struct_80095D04* phi_v0;
|
||||
struct_80095D04* iter;
|
||||
s32 pad;
|
||||
struct_80095D04* spA4;
|
||||
s32 phi_v1;
|
||||
s32 sp9C;
|
||||
Vec3f sp90;
|
||||
Vec3f sp84;
|
||||
f32 sp80;
|
||||
s32 j;
|
||||
s32 i;
|
||||
Vec3f pos;
|
||||
Vec3f projectedPos;
|
||||
f32 projectedW;
|
||||
s32 pad2;
|
||||
PolygonDlist2* sp78;
|
||||
PolygonDlist2* temp;
|
||||
PolygonDlist2* polygonDlistFirst;
|
||||
PolygonDlist2* polygonDlistIter;
|
||||
f32 temp_f2;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 287);
|
||||
|
@ -119,44 +119,44 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
|
|||
spA4 = spB8;
|
||||
|
||||
ASSERT(polygon2->num <= SHAPE_SORT_MAX, "polygon2->num <= SHAPE_SORT_MAX", "../z_room.c", 317);
|
||||
sp78 = polygonDlist;
|
||||
polygonDlistFirst = polygonDlist;
|
||||
|
||||
for (sp9C = 0; sp9C < polygon2->num; sp9C++, polygonDlist++) {
|
||||
sp90.x = polygonDlist->pos.x;
|
||||
sp90.y = polygonDlist->pos.y;
|
||||
sp90.z = polygonDlist->pos.z;
|
||||
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->viewProjectionMtxF, &sp90, &sp84, &sp80);
|
||||
if (-(f32)polygonDlist->unk_06 < sp84.z) {
|
||||
temp_f2 = sp84.z - polygonDlist->unk_06;
|
||||
for (i = 0; i < polygon2->num; i++, polygonDlist++) {
|
||||
pos.x = polygonDlist->pos.x;
|
||||
pos.y = polygonDlist->pos.y;
|
||||
pos.z = polygonDlist->pos.z;
|
||||
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->viewProjectionMtxF, &pos, &projectedPos, &projectedW);
|
||||
if (-(f32)polygonDlist->unk_06 < projectedPos.z) {
|
||||
temp_f2 = projectedPos.z - polygonDlist->unk_06;
|
||||
if (temp_f2 < globalCtx->lightCtx.fogFar) {
|
||||
phi_v0 = spB4;
|
||||
spA4->unk_00 = polygonDlist;
|
||||
spA4->unk_04 = temp_f2;
|
||||
if (phi_v0 == NULL) {
|
||||
iter = spB4;
|
||||
if (iter == NULL) {
|
||||
spB4 = spB0 = spA4;
|
||||
spA4->unk_08 = spA4->unk_0C = NULL;
|
||||
} else {
|
||||
do {
|
||||
if (spA4->unk_04 < phi_v0->unk_04) {
|
||||
if (spA4->unk_04 < iter->unk_04) {
|
||||
break;
|
||||
}
|
||||
phi_v0 = phi_v0->unk_0C;
|
||||
} while (phi_v0 != NULL);
|
||||
iter = iter->unk_0C;
|
||||
} while (iter != NULL);
|
||||
|
||||
if (phi_v0 == NULL) {
|
||||
if (iter == NULL) {
|
||||
spA4->unk_08 = spB0;
|
||||
spA4->unk_0C = NULL;
|
||||
spB0->unk_0C = spA4;
|
||||
spB0 = spA4;
|
||||
} else {
|
||||
spA4->unk_08 = phi_v0->unk_08;
|
||||
spA4->unk_08 = iter->unk_08;
|
||||
if (spA4->unk_08 == NULL) {
|
||||
spB4 = spA4;
|
||||
} else {
|
||||
spA4->unk_08->unk_0C = spA4;
|
||||
}
|
||||
phi_v0->unk_08 = spA4;
|
||||
spA4->unk_0C = phi_v0;
|
||||
iter->unk_08 = spA4;
|
||||
spA4->unk_0C = iter;
|
||||
}
|
||||
}
|
||||
spA4++;
|
||||
|
@ -166,51 +166,51 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
|
|||
|
||||
iREG(87) = polygon2->num & 0xFFFF & 0xFFFF & 0xFFFF; // if this is real then I might not be
|
||||
|
||||
for (sp9C = 1; spB4 != NULL; spB4 = spB4->unk_0C, sp9C++) {
|
||||
Gfx* temp2;
|
||||
for (i = 1; spB4 != NULL; spB4 = spB4->unk_0C, i++) {
|
||||
Gfx* displayList;
|
||||
|
||||
polygonDlist = spB4->unk_00;
|
||||
if (iREG(86) != 0) {
|
||||
temp = sp78;
|
||||
for (phi_v1 = 0; phi_v1 < polygon2->num; phi_v1++, temp++) {
|
||||
if (polygonDlist == temp) {
|
||||
polygonDlistIter = polygonDlistFirst;
|
||||
for (j = 0; j < polygon2->num; j++, polygonDlistIter++) {
|
||||
if (polygonDlist == polygonDlistIter) {
|
||||
break; // This loop does nothing?
|
||||
}
|
||||
}
|
||||
|
||||
if (((iREG(86) == 1) && (iREG(89) >= sp9C)) || ((iREG(86) == 2) && (iREG(89) == sp9C))) {
|
||||
if (((iREG(86) == 1) && (iREG(89) >= i)) || ((iREG(86) == 2) && (iREG(89) == i))) {
|
||||
if (flags & 1) {
|
||||
temp2 = polygonDlist->opa;
|
||||
if (temp2 != NULL) {
|
||||
gSPDisplayList(POLY_OPA_DISP++, temp2);
|
||||
displayList = polygonDlist->opa;
|
||||
if (displayList != NULL) {
|
||||
gSPDisplayList(POLY_OPA_DISP++, displayList);
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & 2) {
|
||||
temp2 = polygonDlist->xlu;
|
||||
if (temp2 != NULL) {
|
||||
gSPDisplayList(POLY_XLU_DISP++, temp2);
|
||||
displayList = polygonDlist->xlu;
|
||||
if (displayList != NULL) {
|
||||
gSPDisplayList(POLY_XLU_DISP++, displayList);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (flags & 1) {
|
||||
temp2 = polygonDlist->opa;
|
||||
if (temp2 != NULL) {
|
||||
gSPDisplayList(POLY_OPA_DISP++, temp2);
|
||||
displayList = polygonDlist->opa;
|
||||
if (displayList != NULL) {
|
||||
gSPDisplayList(POLY_OPA_DISP++, displayList);
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & 2) {
|
||||
temp2 = polygonDlist->xlu;
|
||||
if (temp2 != NULL) {
|
||||
gSPDisplayList(POLY_XLU_DISP++, temp2);
|
||||
displayList = polygonDlist->xlu;
|
||||
if (displayList != NULL) {
|
||||
gSPDisplayList(POLY_XLU_DISP++, displayList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
iREG(88) = sp9C - 1;
|
||||
iREG(88) = i - 1;
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 430);
|
||||
}
|
||||
|
@ -250,7 +250,6 @@ void func_8009638C(Gfx** displayList, void* source, void* tlut, u16 width, u16 h
|
|||
u16 tlutCount, f32 frameX, f32 frameY) {
|
||||
Gfx* displayListHead;
|
||||
uObjBg* bg;
|
||||
s32 temp;
|
||||
|
||||
displayListHead = *displayList;
|
||||
func_80096238(SEGMENTED_TO_VIRTUAL(source));
|
||||
|
@ -312,31 +311,31 @@ void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags) {
|
|||
Gfx* spA8;
|
||||
PolygonType1* polygon1;
|
||||
PolygonDlist* polygonDlist;
|
||||
u32 sp9C;
|
||||
u32 sp98;
|
||||
u32 sp94;
|
||||
u32 sp90;
|
||||
u32 isFixedCamera;
|
||||
u32 drawBg;
|
||||
u32 drawOpa;
|
||||
u32 drawXlu;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 628);
|
||||
|
||||
camera = GET_ACTIVE_CAM(globalCtx);
|
||||
sp9C = (camera->setting == CAM_SET_PREREND_FIXED);
|
||||
isFixedCamera = camera->setting == CAM_SET_PREREND_FIXED;
|
||||
polygon1 = &room->mesh->polygon1;
|
||||
polygonDlist = SEGMENTED_TO_VIRTUAL(polygon1->dlist);
|
||||
sp98 = (flags & 1) && sp9C && polygon1->single.source && !(SREG(25) & 1);
|
||||
sp94 = (flags & 1) && polygonDlist->opa && !(SREG(25) & 2);
|
||||
sp90 = (flags & 2) && polygonDlist->xlu && !(SREG(25) & 4);
|
||||
drawBg = (flags & 1) && isFixedCamera && polygon1->single.source && !(SREG(25) & 1);
|
||||
drawOpa = (flags & 1) && (polygonDlist->opa != NULL) && !(SREG(25) & 2);
|
||||
drawXlu = (flags & 2) && (polygonDlist->xlu != NULL) && !(SREG(25) & 4);
|
||||
|
||||
if (sp94 || sp98) {
|
||||
if (drawOpa || drawBg) {
|
||||
gSPSegment(POLY_OPA_DISP++, 0x03, room->segment);
|
||||
|
||||
if (sp94) {
|
||||
if (drawOpa) {
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPMatrix(POLY_OPA_DISP++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
gSPDisplayList(POLY_OPA_DISP++, polygonDlist->opa);
|
||||
}
|
||||
|
||||
if (sp98) {
|
||||
if (drawBg) {
|
||||
// gSPLoadUcodeL(POLY_OPA_DISP++, rspS2DEX)?
|
||||
gSPLoadUcodeEx(POLY_OPA_DISP++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800);
|
||||
|
||||
|
@ -356,7 +355,7 @@ void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags) {
|
|||
}
|
||||
}
|
||||
|
||||
if (sp90) {
|
||||
if (drawXlu) {
|
||||
gSPSegment(POLY_XLU_DISP++, 0x03, room->segment);
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
gSPMatrix(POLY_XLU_DISP++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
|
@ -403,47 +402,49 @@ BgImage* func_80096A74(PolygonType1* polygon1, GlobalContext* globalCtx) {
|
|||
// Room Draw Polygon Type 1 - Multi Format
|
||||
void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags) {
|
||||
Camera* camera;
|
||||
Gfx* spA8;
|
||||
Gfx* gfx;
|
||||
PolygonType1* polygon1;
|
||||
BgImage* bgImage;
|
||||
PolygonDlist* polygonDlist;
|
||||
u32 sp98;
|
||||
u32 sp94;
|
||||
u32 sp90;
|
||||
u32 sp8C;
|
||||
u32 isFixedCamera;
|
||||
u32 drawBg;
|
||||
u32 drawOpa;
|
||||
u32 drawXlu;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 752);
|
||||
|
||||
camera = GET_ACTIVE_CAM(globalCtx);
|
||||
sp98 = (camera->setting == CAM_SET_PREREND_FIXED);
|
||||
isFixedCamera = camera->setting == CAM_SET_PREREND_FIXED;
|
||||
polygon1 = &room->mesh->polygon1;
|
||||
polygonDlist = SEGMENTED_TO_VIRTUAL(polygon1->dlist);
|
||||
bgImage = func_80096A74(polygon1, globalCtx);
|
||||
sp94 = (flags & 1) && sp98 && bgImage->source && !(SREG(25) & 1);
|
||||
sp90 = (flags & 1) && polygonDlist->opa && !(SREG(25) & 2);
|
||||
sp8C = (flags & 2) && polygonDlist->xlu && !(SREG(25) & 4);
|
||||
drawBg = (flags & 1) && isFixedCamera && bgImage->source && !(SREG(25) & 1);
|
||||
drawOpa = (flags & 1) && (polygonDlist->opa != NULL) && !(SREG(25) & 2);
|
||||
drawXlu = (flags & 2) && (polygonDlist->xlu != NULL) && !(SREG(25) & 4);
|
||||
|
||||
if (sp90 || sp94) {
|
||||
if (drawOpa || drawBg) {
|
||||
gSPSegment(POLY_OPA_DISP++, 0x03, room->segment);
|
||||
|
||||
if (sp90) {
|
||||
if (drawOpa) {
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPMatrix(POLY_OPA_DISP++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
gSPDisplayList(POLY_OPA_DISP++, polygonDlist->opa);
|
||||
}
|
||||
|
||||
if (sp94) {
|
||||
if (drawBg) {
|
||||
// gSPLoadUcodeL(POLY_OPA_DISP++, rspS2DEX)?
|
||||
gSPLoadUcodeEx(POLY_OPA_DISP++, OS_K0_TO_PHYSICAL(D_80113070), OS_K0_TO_PHYSICAL(D_801579A0), 0x800);
|
||||
|
||||
{
|
||||
Vec3f sp5C;
|
||||
spA8 = POLY_OPA_DISP;
|
||||
Camera_GetSkyboxOffset(&sp5C, camera);
|
||||
func_8009638C(&spA8, bgImage->source, bgImage->tlut, bgImage->width, bgImage->height, bgImage->fmt,
|
||||
Vec3f skyboxOffset;
|
||||
|
||||
gfx = POLY_OPA_DISP;
|
||||
Camera_GetSkyboxOffset(&skyboxOffset, camera);
|
||||
func_8009638C(&gfx, bgImage->source, bgImage->tlut, bgImage->width, bgImage->height, bgImage->fmt,
|
||||
bgImage->siz, bgImage->mode0, bgImage->tlutCount,
|
||||
(sp5C.x + sp5C.z) * 1.2f + sp5C.y * 0.6f, sp5C.y * 2.4f + (sp5C.x + sp5C.z) * 0.3f);
|
||||
POLY_OPA_DISP = spA8;
|
||||
(skyboxOffset.x + skyboxOffset.z) * 1.2f + skyboxOffset.y * 0.6f,
|
||||
skyboxOffset.y * 2.4f + (skyboxOffset.x + skyboxOffset.z) * 0.3f);
|
||||
POLY_OPA_DISP = gfx;
|
||||
}
|
||||
|
||||
// gSPLoadUcode(POLY_OPA_DISP++, SysUcode_GetUCode(), SysUcode_GetUCodeData())?
|
||||
|
@ -451,7 +452,7 @@ void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags) {
|
|||
}
|
||||
}
|
||||
|
||||
if (sp8C) {
|
||||
if (drawXlu) {
|
||||
gSPSegment(POLY_XLU_DISP++, 0x03, room->segment);
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
gSPMatrix(POLY_XLU_DISP++, &gMtxClear, G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue