fire arrow almost done, draw func regalloc

This commit is contained in:
fig02
2020-03-28 02:41:49 -04:00
1219 changed files with 33806 additions and 37613 deletions
+13 -18
View File
@@ -51,10 +51,6 @@ void* Yaz0_NextDMA(void* curSrcPos) {
return dst;
}
#ifdef NON_MATCHING
// has an extra check at the start of the small compressed loop
// along with an extra move instruction
// maybe some regalloc differences besides these issues
void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst) {
u32 bitIdx;
u8* src;
@@ -63,46 +59,45 @@ void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst) {
u32 nibble;
u8* backPtr;
s32 chunkSize;
u32 curDecBit;
u32 off;
bitIdx = 0;
src = hdr->data;
src = (u8*)hdr->data;
dstEnd = dst + hdr->decSize;
do {
if (bitIdx == 0) {
if ((sYaz0MaxPtr < (u32)src) && (sYaz0CurSize != 0))
if ((sYaz0MaxPtr < (u32)src) && (sYaz0CurSize != 0)) {
src = Yaz0_NextDMA(src);
}
chunkHeader = *src++;
bitIdx = 8;
}
curDecBit = chunkHeader & (1 << 7);
chunkHeader <<= 1;
if (curDecBit) { // uncompressed
*dst++ = *src++;
if (chunkHeader & (1 << 7)) { // uncompressed
*dst = *src;
dst++;
src++;
} else { // compressed
off = ((*src & 0xF) << 8 | *(src + 1));
nibble = *src >> 4;
backPtr = dst - (*(src + 1) | (*src & 0xF) << 8);
backPtr = dst - off;
src += 2;
chunkSize = (nibble == 0) // N = chunkSize; B = back offset
? *src++ + 0x12 // 3 bytes 0B BB NN
: nibble + 2; // 2 bytes NB BB
for (off = chunkSize; off > 0; off--)
do {
*dst++ = *(backPtr++ - 1);
chunkSize--;
} while (chunkSize != 0);
}
chunkHeader <<= 1;
bitIdx--;
} while (dst != dstEnd);
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/boot/yaz0/Yaz0_DecompressImpl.s")
#endif
void Yaz0_Decompress(u32 romStart, void* dst, u32 size) {
sYaz0CurRomStart = romStart;
-26
View File
@@ -1,26 +0,0 @@
#include <ultra64.h>
#include <global.h>
GlobalContext* func_80026B00(void) {
return D_80157DA0;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026B0C.s")
void func_80026C1C(u8* arg0) {
arg0[0] = 0;
arg0[1] = 0;
arg0[2] = 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026C2C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/Effect_Add.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026E74.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026F70.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_8002709C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_800271A8.s")
+50 -26
View File
@@ -137,8 +137,9 @@ void Fault_AddClient(FaultClient* client, void* callback, void* param0, void* pa
end:
osSetIntMask(mask);
if (alreadyExists)
if (alreadyExists) {
osSyncPrintf(VT_COL(RED, WHITE) "fault_AddClient: %08x は既にリスト中にある\n" VT_RST, client);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/fault/Fault_AddClient.s")
@@ -270,27 +271,34 @@ u32 Fault_WaitForInputImpl() {
kDown = curInput->padPressed;
if (kDown == 0x20)
if (kDown == 0x20) {
sFaultStructPtr->faultActive = !sFaultStructPtr->faultActive;
}
if (!sFaultStructPtr->faultActive)
if (!sFaultStructPtr->faultActive) {
break;
}
if (count-- < 1)
if (count-- < 1) {
return false;
}
}
if (kDown == 0x8000 || kDown == 0x100)
if (kDown == 0x8000 || kDown == 0x100) {
return false;
}
if (kDown == 0x200)
if (kDown == 0x200) {
return true;
}
if (kDown == 0x800)
if (kDown == 0x800) {
FaultDrawer_SetOsSyncPrintfEnabled(true);
}
if (kDown == 0x400)
if (kDown == 0x400) {
FaultDrawer_SetOsSyncPrintfEnabled(false);
}
}
return false;
@@ -555,24 +563,28 @@ void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) {
s32 off;
while (true) {
if (addr < 0x80000000)
if (addr < 0x80000000) {
addr = 0x80000000;
if (addr > 0x807fff00)
}
if (addr > 0x807fff00) {
addr = 0x807fff00;
}
addr &= ~0xF;
Fault_DrawMemDumpPage("Dump", (u32*)addr, 0);
count = 600;
while (sFaultStructPtr->faultActive) {
if (count == 0)
if (count == 0) {
return;
}
count--;
Fault_Sleep(0x10);
Fault_UpdatePadImpl();
if (!~(curInput->padPressed | ~0x20))
if (!~(curInput->padPressed | ~0x20)) {
sFaultStructPtr->faultActive = false;
}
}
do {
@@ -580,31 +592,42 @@ void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) {
Fault_UpdatePadImpl();
} while (curInput->padPressed == 0);
if (!~(curInput->padPressed | ~0x1000))
if (!~(curInput->padPressed | ~0x1000)) {
return;
}
if (!~(curInput->raw.pad | ~0x8000))
if (!~(curInput->raw.pad | ~0x8000)) {
return;
}
off = 0x10;
if (!~(curInput->raw.pad | ~0x2000))
if (!~(curInput->raw.pad | ~0x2000)) {
off = 0x100;
if (!~(curInput->raw.pad | ~0x4000))
}
if (!~(curInput->raw.pad | ~0x4000)) {
off <<= 8;
if (!~(curInput->raw.pad | ~0x800))
}
if (!~(curInput->raw.pad | ~0x800)) {
addr -= off;
if (!~(curInput->raw.pad | ~0x400))
}
if (!~(curInput->raw.pad | ~0x400)) {
addr += off;
if (!~(curInput->raw.pad | ~0x8))
}
if (!~(curInput->raw.pad | ~0x8)) {
addr = pc;
if (!~(curInput->raw.pad | ~0x4))
}
if (!~(curInput->raw.pad | ~0x4)) {
addr = sp;
if (!~(curInput->raw.pad | ~0x2))
}
if (!~(curInput->raw.pad | ~0x2)) {
addr = unk0;
if (!~(curInput->raw.pad | ~0x1))
}
if (!~(curInput->raw.pad | ~0x1)) {
addr = unk1;
if (!~(curInput->raw.pad | ~0x20))
}
if (!~(curInput->raw.pad | ~0x20)) {
break;
}
}
sFaultStructPtr->faultActive = true;
@@ -715,15 +738,16 @@ void Fault_ThreadEntry(void* arg) {
__osSetFpcCsr(__osGetFpcCsr() & -0xf81);
sFaultStructPtr->faultedThread = faultedThread;
while (!sFaultStructPtr->faultHandlerEnabled)
while (!sFaultStructPtr->faultHandlerEnabled) {
Fault_Sleep(1000);
}
Fault_Sleep(500);
Fault_CommitFB();
if (sFaultStructPtr->faultActive)
if (sFaultStructPtr->faultActive) {
Fault_Wait5Seconds();
else {
} else {
Fault_DrawCornerRec(0xF801);
Fault_WaitForButtonCombo();
}
+10 -11
View File
@@ -94,30 +94,32 @@ void FaultDrawer_DrawRecImpl(s32 xStart, s32 yStart, s32 xEnd, s32 yEnd, u16 col
}
}
#ifdef NON_MATCHING
// regalloc and minor ordering differences
void FaultDrawer_DrawChar(char c) {
u16* fb;
s32 x, y;
u32* dataPtr;
u32 data;
s32 cursorX = sFaultDrawerStruct.cursorX;
s32 cursorY = sFaultDrawerStruct.cursorY;
u32** fontData = &sFaultDrawerStruct.fontData;
s32 shift = c % 4;
dataPtr = &sFaultDrawerStruct.fontData[((c & 4) >> 2) + ((c / 8) * 16)];
fb = sFaultDrawerStruct.fb + sFaultDrawerStruct.w * cursorY + cursorX;
dataPtr = &fontData[0][(((c / 8) * 16) + ((c & 4) >> 2))];
fb = sFaultDrawerStruct.fb + (sFaultDrawerStruct.w * cursorY) + cursorX;
if ((sFaultDrawerStruct.xStart <= cursorX) &&
((sFaultDrawerStruct.charW + cursorX - 1) <= sFaultDrawerStruct.xEnd) &&
(sFaultDrawerStruct.yStart <= cursorY) &&
((sFaultDrawerStruct.charH + cursorY - 1) <= sFaultDrawerStruct.yEnd)) {
for (y = 0; y < sFaultDrawerStruct.charH; y++) {
u32 mask = 0x10000000 << (c % 4);
u32 data = *dataPtr;
u32 mask = 0x10000000 << shift;
data = *dataPtr;
for (x = 0; x < sFaultDrawerStruct.charW; x++) {
if (mask & data)
if (mask & data) {
fb[x] = sFaultDrawerStruct.foreColor;
else if (sFaultDrawerStruct.backColor & 1)
} else if (sFaultDrawerStruct.backColor & 1) {
fb[x] = sFaultDrawerStruct.backColor;
}
mask >>= 4;
}
fb += sFaultDrawerStruct.w;
@@ -125,9 +127,6 @@ void FaultDrawer_DrawChar(char c) {
}
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/fault_drawer/FaultDrawer_DrawChar.s")
#endif
s32 FaultDrawer_ColorToPrintColor(u16 color) {
s32 i;
+7 -5
View File
@@ -223,7 +223,7 @@ void GfxPrint_SetBasePosPx(GfxPrint* this, s32 x, s32 y) {
#ifdef NON_MATCHING
// regalloc and ordering differences
void GfxPrint_PrintCharImpl(GfxPrint* this, char c) {
void GfxPrint_PrintCharImpl(GfxPrint* this, u8 c) {
if (this->flag & GFXPRINT_UPDATE_MODE) {
this->flag &= ~GFXPRINT_UPDATE_MODE;
@@ -246,22 +246,24 @@ void GfxPrint_PrintCharImpl(GfxPrint* this, char c) {
if (this->flag & GFXPRINT_FLAG4) {
gDPSetPrimColorMod(this->dlist++, 0, 0, 0);
if (this->flag & GFXPRINT_FLAG64)
if (this->flag & GFXPRINT_FLAG64) {
gSPTextureRectangle(this->dlist++, (this->posX + 4) << 1, (this->posY + 4) << 1, (this->posX + 4 + 32) << 1,
(this->posY + 4 + 32) << 1, c * 2, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 512, 512);
else
} else {
gSPTextureRectangle(this->dlist++, this->posX + 4, this->posY + 4, this->posX + 4 + 32, this->posY + 4 + 32,
c * 2, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1024, 1024);
}
gDPSetPrimColorMod(this->dlist++, 0, 0, *(u32*)&this->color);
}
if (this->flag & GFXPRINT_FLAG64)
if (this->flag & GFXPRINT_FLAG64) {
gSPTextureRectangle(this->dlist++, (this->posX) << 1, (this->posY) << 1, (this->posX + 32) << 1,
(this->posY + 32) << 1, c * 2, (u16)(c & 4) * 64, (u16)(c >> 3) * 256, 512, 512);
else
} else {
gSPTextureRectangle(this->dlist++, this->posX, this->posY, this->posX + 32, this->posY + 32, c * 2,
(u16)(c & 4) * 64, (u16)(c >> 3) * 256, 1024, 1024);
}
this->posX += 32;
}
+9 -10
View File
@@ -1,14 +1,15 @@
#include <global.h>
volatile u32 sSysCfbFbPtr[2]; // may not be volatile but it currently gets SysCfb_Init closer from matching
u32 sSysCfbFbPtr[2];
u32 sSysCfbEnd;
// small reaordering
#ifdef NON_MATCHING
void SysCfb_Init(s32 n64dd) {
u32 screenSize;
u32 tmpFbEnd;
if (osMemSize >= 0x800000U) {
// 8MB or more memory is installed
osSyncPrintf("8Mバイト以上のメモリが搭載されています\n");
tmpFbEnd = 0x8044BE80;
if (n64dd == 1) {
// RAM 8M mode (N64DD compatible)
osSyncPrintf("RAM 8M mode (N64DD対応)\n");
@@ -16,26 +17,24 @@ void SysCfb_Init(s32 n64dd) {
} else {
// The margin for this version is% dK bytes
osSyncPrintf("このバージョンのマージンは %dK バイトです\n", (0x4BC00 / 1024));
sSysCfbEnd = 0x8044BE80;
sSysCfbEnd = tmpFbEnd;
}
} else if (osMemSize >= 0x400000U) {
sSysCfbEnd = 0x80400000;
osSyncPrintf("RAM4M mode\n");
sSysCfbEnd = 0x80400000;
} else {
LogUtils_HungupThread("../sys_cfb.c", 0x162);
}
screenSize = SCREEN_WIDTH * SCREEN_HEIGHT;
sSysCfbEnd &= ~0x3f;
// The final address used by the system is% 08x
osSyncPrintf("システムが使用する最終アドレスは %08x です\n", sSysCfbEnd);
sSysCfbFbPtr[0] = sSysCfbEnd - (SCREEN_WIDTH * SCREEN_HEIGHT * 4);
sSysCfbFbPtr[1] = sSysCfbEnd - (SCREEN_WIDTH * SCREEN_HEIGHT * 2);
sSysCfbFbPtr[0] = sSysCfbEnd - (screenSize * 4);
sSysCfbFbPtr[1] = sSysCfbEnd - (screenSize * 2);
// Frame buffer addresses are% 08x and% 08x
osSyncPrintf("フレームバッファのアドレスは %08x と %08x です\n", sSysCfbFbPtr[0], sSysCfbFbPtr[1]);
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cfb/SysCfb_Init.s")
#endif
void SysCfb_Reset() {
sSysCfbFbPtr[0] = 0;
+45 -27
View File
@@ -8,6 +8,7 @@ Mtx gMtxClear = {
0, 0, 0, 0,
0, 0, 0, 0,
};
MtxF gMtxFClear = {
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
@@ -58,23 +59,28 @@ void Matrix_Mult(MtxF* mf, u8 mode) {
}
}
#ifdef NON_MATCHING
// minor ordering and regalloc differences
void Matrix_Translate(f32 x, f32 y, f32 z, u8 mode) {
MtxF* cmf = sCurrentMatrix;
f32 tx;
f32 ty;
if (mode == MTXMODE_APPLY) {
cmf->wx += cmf->xx * x + cmf->yx * y + cmf->zx * z;
cmf->wy += cmf->xy * x + cmf->yy * y + cmf->zy * z;
cmf->wz += cmf->xz * x + cmf->yz * y + cmf->zz * z;
cmf->ww += cmf->xw * x + cmf->yw * y + cmf->zw * z;
tx = cmf->xx;
ty = cmf->yx;
cmf->wx += tx * x + ty * y + cmf->zx * z;
tx = cmf->xy;
ty = cmf->yy;
cmf->wy += tx * x + ty * y + cmf->zy * z;
tx = cmf->xz;
ty = cmf->yz;
cmf->wz += tx * x + ty * y + cmf->zz * z;
tx = cmf->xw;
ty = cmf->yw;
cmf->ww += tx * x + ty * y + cmf->zw * z;
} else {
func_800A7A24(cmf, x, y, z);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/Matrix_Translate.s")
#endif
void Matrix_Scale(f32 x, f32 y, f32 z, u8 mode) {
MtxF* cmf = sCurrentMatrix;
@@ -289,7 +295,13 @@ void Matrix_RotateZ(f32 z, u8 mode) {
}
}
void Matrix_RotateXYZ(s16 x, s16 y, s16 z, u8 mode) {
/*
* Rotates the top of the matrix stack by `z` degrees, then
* rotates that matrix by `y` degrees, then rotates that matrix
* by `x` degrees.
* Original Name: Matrix_RotateXYZ, changed to reflect rotation order.
*/
void Matrix_RotateZYX(s16 x, s16 y, s16 z, u8 mode) {
MtxF* cmf = sCurrentMatrix;
f32 temp1;
f32 temp2;
@@ -374,43 +386,47 @@ void Matrix_RotateXYZ(s16 x, s16 y, s16 z, u8 mode) {
}
}
void func_800D1340(Vec3f* arg0, Vec3s* arg1) {
/*
* Translates the top of the matrix stack by `translation` units,
* then rotates that matrix by `rotation` in Z-Y-X order
*/
void Matrix_TranslateThenRotateZYX(Vec3f* translation, Vec3s* rotation) {
MtxF* cmf = sCurrentMatrix;
f32 sin;
f32 cos;
f32 temp1;
f32 temp2;
sin = Math_Sins(arg1->z);
cos = Math_Coss(arg1->z);
sin = Math_Sins(rotation->z);
cos = Math_Coss(rotation->z);
temp1 = cmf->xx;
temp2 = cmf->yx;
cmf->wx += temp1 * arg0->x + temp2 * arg0->y + cmf->zx * arg0->z;
cmf->wx += temp1 * translation->x + temp2 * translation->y + cmf->zx * translation->z;
cmf->xx = temp1 * cos + temp2 * sin;
cmf->yx = temp2 * cos - temp1 * sin;
temp1 = cmf->xy;
temp2 = cmf->yy;
cmf->wy += temp1 * arg0->x + temp2 * arg0->y + cmf->zy * arg0->z;
cmf->wy += temp1 * translation->x + temp2 * translation->y + cmf->zy * translation->z;
cmf->xy = temp1 * cos + temp2 * sin;
cmf->yy = temp2 * cos - temp1 * sin;
temp1 = cmf->xz;
temp2 = cmf->yz;
cmf->wz += temp1 * arg0->x + temp2 * arg0->y + cmf->zz * arg0->z;
cmf->wz += temp1 * translation->x + temp2 * translation->y + cmf->zz * translation->z;
cmf->xz = temp1 * cos + temp2 * sin;
cmf->yz = temp2 * cos - temp1 * sin;
temp1 = cmf->xw;
temp2 = cmf->yw;
cmf->ww += temp1 * arg0->x + temp2 * arg0->y + cmf->zw * arg0->z;
cmf->ww += temp1 * translation->x + temp2 * translation->y + cmf->zw * translation->z;
cmf->xw = temp1 * cos + temp2 * sin;
cmf->yw = temp2 * cos - temp1 * sin;
if (arg1->y != 0) {
sin = Math_Sins(arg1->y);
cos = Math_Coss(arg1->y);
if (rotation->y != 0) {
sin = Math_Sins(rotation->y);
cos = Math_Coss(rotation->y);
temp1 = cmf->xx;
temp2 = cmf->zx;
@@ -433,9 +449,9 @@ void func_800D1340(Vec3f* arg0, Vec3s* arg1) {
cmf->zw = temp1 * sin + temp2 * cos;
}
if (arg1->x != 0) {
sin = Math_Sins(arg1->x);
cos = Math_Coss(arg1->x);
if (rotation->x != 0) {
sin = Math_Sins(rotation->x);
cos = Math_Coss(rotation->x);
temp1 = cmf->yx;
temp2 = cmf->zx;
@@ -738,12 +754,13 @@ void func_800D20CC(MtxF* mf, Vec3s* vec, s32 flag) {
vec->y = Math_atan2f(mf->zx, mf->zz) * (32768 / M_PI);
if (!flag)
if (!flag) {
vec->z = Math_atan2f(mf->xy, mf->yy) * (32768 / M_PI);
else
} else {
vec->z = Math_atan2f(mf->xy / sqrtf(SQ(mf->xx) + SQ(mf->xz) + SQ(mf->xy)),
mf->yy / sqrtf(SQ(mf->yx) + SQ(mf->yz) + SQ(mf->yy))) *
(32768 / M_PI);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D20CC.s")
@@ -762,12 +779,13 @@ void func_800D2264(MtxF* mf, Vec3s* vec, s32 flag) {
vec->z = Math_atan2f(mf->xy, mf->xx) * (32768 / M_PI);
if (!flag)
if (!flag) {
vec->x = Math_atan2f(mf->yz, mf->zz) * (32768 / M_PI);
else
} else {
vec->x = Math_atan2f(mf->yz / sqrtf(SQ(mf->yx) + SQ(mf->yy) + SQ(mf->yz)),
mf->zz / sqrtf(SQ(mf->zx) + SQ(mf->zy) + SQ(mf->zz))) *
(32768 / M_PI);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D2264.s")
+39 -27
View File
@@ -9,7 +9,7 @@ void ActorShape_Init(ActorShape* shape, f32 arg1, void* shadowDrawFunc, f32 arg3
shape->unk_14 = -1;
}
void func_8002B200(Actor* actor, LightMapper* lightMapper, GlobalContext* globalCtx, u32 dlist, Color_RGBA8* color) {
void func_8002B200(Actor* actor, LightMapper* lightMapper, GlobalContext* globalCtx, Gfx* dlist, Color_RGBA8* color) {
f32 temp1;
f32 temp2;
MtxF sp60;
@@ -41,7 +41,7 @@ void func_8002B200(Actor* actor, LightMapper* lightMapper, GlobalContext* global
func_80038A28(actor->floorPoly, actor->posRot.pos.x, actor->unk_80, actor->posRot.pos.z, &sp60);
Matrix_Put(&sp60);
if (dlist != (u32)&D_04049210) {
if (dlist != D_04049210) {
Matrix_RotateY(actor->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
}
@@ -156,16 +156,19 @@ void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, Globa
if ((phi_f2 >= -1.0f) && (phi_f2 < 500.0f)) {
phi_s0 = lightMapper->lights;
if (phi_f2 <= 0.0f)
if (phi_f2 <= 0.0f) {
actor->shape.unk_15++;
}
if (30.0f < phi_f2)
if (30.0f < phi_f2) {
phi_f2 = 30.0f;
}
temp_f24 = actor->shape.unk_14 * (1.0f - (phi_f2 * (1.0f / 30)));
if (30.0f < phi_f2)
if (30.0f < phi_f2) {
phi_f2 = 30.0f;
}
temp_f20_2 = 1.0f - (phi_f2 * (1.0f / 70));
temp_f22_2 = (actor->shape.unk_10 * temp_f20_2) * actor->scale.x;
@@ -187,8 +190,9 @@ void ActorShadow_DrawFunc_Teardrop(Actor* actor, LightMapper* lightMapper, Globa
if (phi_s0->l.dir[1] > 0) {
temp_a3 = (ABS(phi_s0->l.dir[1]) * ((phi_s0->l.col[0] + phi_s0->l.col[1]) + phi_s0->l.col[2])) -
(phi_s2 * 8);
if (temp_a3 > 0)
if (temp_a3 > 0) {
func_8002B66C(globalCtx, phi_s0, &spE8, temp_a3, temp_f24, temp_f22_2, temp_f20_2);
}
}
phi_s0++;
}
@@ -335,18 +339,20 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
spCE = 0xFF;
var1 = 1.0f;
if (targetCtx->unk_4B != 0)
if (targetCtx->unk_4B != 0) {
spB8 = 1;
else
} else {
spB8 = 3;
}
if (actor != NULL) {
Math_Vec3f_Copy(&targetCtx->targetCenterPos, &actor->posRot2.pos);
var1 = (500.0f - targetCtx->unk_44) / 420.0f;
} else {
targetCtx->unk_48 -= 120;
if (targetCtx->unk_48 < 0)
if (targetCtx->unk_48 < 0) {
targetCtx->unk_48 = 0;
}
spCE = targetCtx->unk_48;
}
@@ -361,8 +367,9 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
spBC.z = spBC.z * var1;
targetCtx->unk_4C--;
if (targetCtx->unk_4C < 0)
if (targetCtx->unk_4C < 0) {
targetCtx->unk_4C = 2;
}
func_8002BE64(targetCtx, targetCtx->unk_4C, spBC.x, spBC.y, spBC.z);
@@ -373,10 +380,11 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
entry = &targetCtx->arr_50[spAC];
if (entry->unk_0C < 500.0f) {
if (entry->unk_0C <= 120.0f)
if (entry->unk_0C <= 120.0f) {
var2 = 0.15f;
else
} else {
var2 = ((entry->unk_0C - 120.0f) * 0.001f) + 0.15f;
}
Matrix_Translate(entry->pos.x, entry->pos.y, 0.0f, MTXMODE_NEW);
Matrix_Scale(var2, 0.15f, 1.0f, MTXMODE_APPLY);
@@ -398,8 +406,9 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
}
spCE = spCE - (0xFF / 3);
if (spCE < 0)
if (spCE < 0) {
spCE = 0;
}
spAC = (spAC + 1) % 3;
}
}
@@ -900,7 +909,7 @@ void func_8002D9A4(Actor* actor, f32 arg1) {
void func_8002D9F8(Actor* actor, UNK_PTR arg1) {
Vec3f sp1C;
func_800A54FC(arg1, &sp1C, actor->shape.rot.y, actor);
func_800A54FC(arg1, &sp1C, actor->shape.rot.y);
actor->posRot.pos.x += sp1C.x * actor->scale.x;
actor->posRot.pos.y += sp1C.y * actor->scale.y;
actor->posRot.pos.z += sp1C.z * actor->scale.z;
@@ -1437,14 +1446,16 @@ f32 func_8002EFC0(Actor* actor, Player* player, s16 arg2) {
abs_var = ABS(var);
if (player->unk_664 != NULL) {
if ((abs_var > 0x4000) || (actor->flags & 0x8000000))
if ((abs_var > 0x4000) || (actor->flags & 0x8000000)) {
return FLT_MAX;
else
} else {
return actor->waterSurfaceDist - actor->waterSurfaceDist * 0.8f * ((0x4000 - abs_var) * 3.0517578125e-05f);
}
}
if (abs_var > 0x2AAA)
if (abs_var > 0x2AAA) {
return FLT_MAX;
}
return actor->waterSurfaceDist;
}
@@ -1822,10 +1833,11 @@ void func_8002FBAC(GlobalContext* globalCtx) {
func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_actor.c", 5308);
if (gSaveContext.respawn[RESPAWN_MODE_TOP].data != 0) {
if (LINK_IS_ADULT)
if (LINK_IS_ADULT) {
spD8 = 80.0f;
else
} else {
spD8 = 60.0f;
}
spD0 = 0xFF;
spD4 = 1.0f;
@@ -3872,8 +3884,8 @@ Gfx* func_80034B54(GraphicsContext* gfxCtx) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_80034B54.s")
#endif
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor,
s16 alpha) {
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, SkelAnime_LimbUpdateMatrix2 unkFunc1,
SkelAnime_LimbAppendDlist2 unkFunc2, Actor* actor, s16 alpha) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* gfxArr[4];
@@ -3886,14 +3898,14 @@ void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc
gDPPipeSync(gfxCtx->polyOpa.p++);
gSPSegment(gfxCtx->polyOpa.p++, 0x0C, func_80034B28(globalCtx->state.gfxCtx));
gfxCtx->polyOpa.p = func_800A273C(globalCtx, skelAnime->limbIndex, skelAnime->actorDrawTbl, skelAnime->dListCount,
unkFunc1, unkFunc2, actor, gfxCtx->polyOpa.p);
gfxCtx->polyOpa.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->actorDrawTbl,
skelAnime->dListCount, unkFunc1, unkFunc2, actor, gfxCtx->polyOpa.p);
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_actor.c", 8860);
}
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor,
s16 alpha) {
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, SkelAnime_LimbUpdateMatrix2 unkFunc1,
SkelAnime_LimbAppendDlist2 unkFunc2, Actor* actor, s16 alpha) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* gfxArr[4];
@@ -3905,8 +3917,8 @@ void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0x00, 0x00, 0x00, alpha);
gSPSegment(gfxCtx->polyXlu.p++, 0x0C, func_80034B54(globalCtx->state.gfxCtx));
gfxCtx->polyXlu.p = func_800A273C(globalCtx, skelAnime->limbIndex, skelAnime->actorDrawTbl, skelAnime->dListCount,
unkFunc1, unkFunc2, actor, gfxCtx->polyXlu.p);
gfxCtx->polyXlu.p = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->actorDrawTbl,
skelAnime->dListCount, unkFunc1, unkFunc2, actor, gfxCtx->polyXlu.p);
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_actor.c", 8904);
}
+8 -5
View File
@@ -224,8 +224,9 @@ s32 func_800443A0(Camera* camera, Vec3f* b, Vec3f* c) {
sp34 = NULL; // this is moved to the top when it should be done in the middle of the function args being loaded
if (func_8003DD6C(&camera->globalCtx->colCtx, b, c, &sp40, &sp34, 1, 1, 1, 0, &sp38) != 0) {
if (func_80038B7C(sp34, b) < 0.0f)
if (func_80038B7C(sp34, b) < 0.0f) {
return 1;
}
}
return 0;
}
@@ -461,18 +462,20 @@ s32 func_800458D4(Camera* camera, struct_80045714* b, f32 c, f32* d, s16 e) {
sp60.z = 0.0f;
temp_s1 = &camera->unk_94;
if (e != 0)
if (e != 0) {
sp60.y -= func_80045714(&camera->unk_108, temp_s1->rot.y, b->unk_06, OREG(9));
}
sp48 = temp_s1->pos.y - *d;
temp_ret = Math_atan2f(sp48, func_8007C028(&camera->unk_50, &camera->unk_5C)); // f2 and f14 are swapped
if (OREG(32) * (M_PI / 180) < temp_ret)
if (OREG(32) * (M_PI / 180) < temp_ret) {
phi_f2 = 1.0f - sinf(temp_ret - OREG(32) * (M_PI / 180));
else if (OREG(33) * (M_PI / 180) > temp_ret)
} else if (OREG(33) * (M_PI / 180) > temp_ret) {
phi_f2 = 1.0f - sinf(OREG(33) * (M_PI / 180) - temp_ret);
else
} else {
phi_f2 = 1.0f;
}
sp60.y -= sp48 * phi_f2;
func_80043A3C(&sp60, &camera->unk_E4, OREG(29) * 0.01f, OREG(30) * 0.01f, 0.1f);
+29 -18
View File
@@ -44,8 +44,9 @@ void func_801109B0(GlobalContext* globalCtx) {
osSyncPrintf("parameter->parameterSegment=%x", interfaceCtx->parameterSegment);
if (interfaceCtx->parameterSegment == NULL)
if (interfaceCtx->parameterSegment == NULL) {
__assert("parameter->parameterSegment != NULL", "../z_construct.c", 161);
}
DmaMgr_SendRequest1(interfaceCtx->parameterSegment, parameterStart, parameterSize, "../z_construct.c", 162);
@@ -55,27 +56,30 @@ void func_801109B0(GlobalContext* globalCtx) {
osSyncPrintf("DOアクション テクスチャ初期=%x\n", 0x480);
osSyncPrintf("parameter->do_actionSegment=%x", interfaceCtx->do_actionSegment);
if (interfaceCtx->do_actionSegment == NULL)
if (interfaceCtx->do_actionSegment == NULL) {
__assert("parameter->do_actionSegment != NULL", "../z_construct.c", 169);
}
do_actionStart = _do_action_staticSegmentRomStart;
if (gSaveContext.language == 0)
if (gSaveContext.language == 0) {
do_actionOffset = 0;
else if (gSaveContext.language == 1)
} else if (gSaveContext.language == 1) {
do_actionOffset = 0x2B80;
else
} else {
do_actionOffset = 0x5700;
}
DmaMgr_SendRequest1(interfaceCtx->do_actionSegment, do_actionStart + do_actionOffset, 0x300, "../z_construct.c",
174);
if (gSaveContext.language == 0)
if (gSaveContext.language == 0) {
do_actionOffset = 0x480;
else if (gSaveContext.language == 1)
} else if (gSaveContext.language == 1) {
do_actionOffset = 0x3000;
else
} else {
do_actionOffset = 0x5B80;
}
DmaMgr_SendRequest1((void*)((u32)interfaceCtx->do_actionSegment + 0x300), do_actionStart + do_actionOffset, 0x180,
"../z_construct.c", 178);
@@ -86,36 +90,41 @@ void func_801109B0(GlobalContext* globalCtx) {
osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", 0x4000);
osSyncPrintf("parameter->icon_itemSegment=%x\n", interfaceCtx->icon_itemSegment);
if (interfaceCtx->icon_itemSegment == NULL)
if (interfaceCtx->icon_itemSegment == NULL) {
__assert("parameter->icon_itemSegment != NULL", "../z_construct.c", 193);
}
osSyncPrintf("Register_Item[%x, %x, %x, %x]\n", gSaveContext.equips.button_items[0],
gSaveContext.equips.button_items[1], gSaveContext.equips.button_items[2],
gSaveContext.equips.button_items[3]);
if (gSaveContext.equips.button_items[0] < 0xF0)
if (gSaveContext.equips.button_items[0] < 0xF0) {
DmaMgr_SendRequest1(interfaceCtx->icon_itemSegment,
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[0] * 0x80, 0x1000,
"../z_construct.c", 198);
else if (gSaveContext.equips.button_items[0] != 0xFF)
} else if (gSaveContext.equips.button_items[0] != 0xFF) {
DmaMgr_SendRequest1(interfaceCtx->icon_itemSegment,
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[0] * 0x80, 0x1000,
"../z_construct.c", 203);
}
if (gSaveContext.equips.button_items[1] < 0xF0)
if (gSaveContext.equips.button_items[1] < 0xF0) {
DmaMgr_SendRequest1((void*)((u32)interfaceCtx->icon_itemSegment + 0x1000),
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[1] * 0x80, 0x1000,
"../z_construct.c", 209);
}
if (gSaveContext.equips.button_items[2] < 0xF0)
if (gSaveContext.equips.button_items[2] < 0xF0) {
DmaMgr_SendRequest1((void*)((u32)interfaceCtx->icon_itemSegment + 0x2000),
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[2] * 0x80, 0x1000,
"../z_construct.c", 214);
}
if (gSaveContext.equips.button_items[3] < 0xF0)
if (gSaveContext.equips.button_items[3] < 0xF0) {
DmaMgr_SendRequest1((void*)((u32)interfaceCtx->icon_itemSegment + 0x3000),
_icon_item_staticSegmentRomStart + gSaveContext.equips.button_items[3] * 0x80, 0x1000,
"../z_construct.c", 219);
}
osSyncPrintf("EVENT=%d\n", gSaveContext.timer_1_state);
@@ -131,17 +140,19 @@ void func_801109B0(GlobalContext* globalCtx) {
}
}
if ((gSaveContext.timer_1_state == 4) || (gSaveContext.timer_1_state == 8))
if ((gSaveContext.timer_1_state == 4) || (gSaveContext.timer_1_state == 8)) {
temp = 0;
else
} else {
temp = 1;
}
gSaveContext.timer_x[temp] = 26;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[temp] = 54;
else
} else {
gSaveContext.timer_y[temp] = 46;
}
}
if ((gSaveContext.timer_1_state >= 11) && (gSaveContext.timer_1_state < 16)) {
+1 -1
View File
@@ -83,7 +83,7 @@ static void DebugDisplay_DrawSpriteI8(DebugDispObject* dispObj, u32 texture, Glo
Matrix_Translate(dispObj->pos.x, dispObj->pos.y, dispObj->pos.z, MTXMODE_NEW);
Matrix_Scale(dispObj->scale.x, dispObj->scale.y, dispObj->scale.z, MTXMODE_APPLY);
Matrix_Mult(&globalCtx->mf_11DA0, MTXMODE_APPLY);
Matrix_RotateXYZ(dispObj->rot.x, dispObj->rot.y, dispObj->rot.z, MTXMODE_APPLY);
Matrix_RotateZYX(dispObj->rot.x, dispObj->rot.y, dispObj->rot.z, MTXMODE_APPLY);
gDPLoadTextureBlock(gfxCtx->polyXlu.p++, texture, G_IM_FMT_I, G_IM_SIZ_8b, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
+42 -23
View File
@@ -114,8 +114,9 @@ void func_800645A0(GlobalContext* globalCtx, CutsceneContext* csCtx) {
gSaveContext.cutscene_trigger = 1;
}
if ((gSaveContext.cutscene_trigger != 0) && (globalCtx->sceneLoadFlag == 0x14))
if ((gSaveContext.cutscene_trigger != 0) && (globalCtx->sceneLoadFlag == 0x14)) {
gSaveContext.cutscene_trigger = 0;
}
if ((gSaveContext.cutscene_trigger != 0) && (csCtx->state == CS_STATE_IDLE)) {
// Translates to: "CUTSCENE START REQUEST ANNOUNCEMENT!"
@@ -172,13 +173,15 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
sp3F = 0;
if ((csCtx->frames < cmd->startFrame) || (csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame))
if ((csCtx->frames < cmd->startFrame) || (csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame)) {
return;
}
temp = func_8006F93C(cmd->endFrame - 1, cmd->startFrame, csCtx->frames);
if (csCtx->frames == cmd->startFrame)
if (csCtx->frames == cmd->startFrame) {
sp3F = 1;
}
switch (cmd->base) {
case 1:
@@ -198,13 +201,15 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
case 3:
if (sp3F != 0) {
func_8006C3D0(globalCtx, 0);
if (gSaveContext.entrance_index == 0x0053)
if (gSaveContext.entrance_index == 0x0053) {
func_8006C3D0(globalCtx, 2);
}
}
break;
case 6:
if (globalCtx->unk_10AC4 < 0x3200)
if (globalCtx->unk_10AC4 < 0x3200) {
globalCtx->unk_10AC4 += 0x23;
}
break;
case 7:
if (sp3F != 0) {
@@ -219,8 +224,9 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
}
break;
case 8:
if (globalCtx->unk_11D30[0] < 0x80)
if (globalCtx->unk_11D30[0] < 0x80) {
globalCtx->unk_11D30[0] += 4;
}
break;
case 9:
globalCtx->unk_10B12[3] = 0x10;
@@ -229,33 +235,40 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
func_8006C3D0(globalCtx, 1);
break;
case 11:
if (globalCtx->unk_11D30[0] < 0x672)
if (globalCtx->unk_11D30[0] < 0x672) {
globalCtx->unk_11D30[0] += 0x14;
if (csCtx->frames == 0x30F)
}
if (csCtx->frames == 0x30F) {
func_80078884(NA_SE_EV_DEKU_DEATH);
else if (csCtx->frames == 0x2CD)
} else if (csCtx->frames == 0x2CD) {
globalCtx->unk_11D30[0] = 0;
}
break;
case 12:
if (sp3F != 0) {
if (csCtx->state != CS_STATE_UNSKIPPABLE_EXEC)
if (csCtx->state != CS_STATE_UNSKIPPABLE_EXEC) {
csCtx->state = CS_STATE_UNSKIPPABLE_INIT;
}
}
break;
case 13:
if (globalCtx->unk_11D30[1] == 0)
if (globalCtx->unk_11D30[1] == 0) {
func_80078884(NA_SE_EV_TRIFORCE_FLASH);
if (globalCtx->unk_11D30[1] < 0xFF)
}
if (globalCtx->unk_11D30[1] < 0xFF) {
globalCtx->unk_11D30[1] += 5;
}
break;
case 14:
if (sp3F != 0)
if (sp3F != 0) {
func_800BC490(globalCtx, 1);
}
break;
case 15:
if (sp3F != 0)
if (sp3F != 0) {
TitleCard_InitPlaceName(globalCtx, &globalCtx->actorCtx.titleCtx, player->unk_1B0, 0xA0, 0x78, 0x90,
0x18, 0x14);
}
break;
case 16:
if (sp3F != 0) {
@@ -266,14 +279,16 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
}
break;
case 17:
if (sp3F != 0)
if (sp3F != 0) {
func_80092FAC(D_8015FCCA);
}
break;
case 18:
globalCtx->unk_10B12[0] = 0;
globalCtx->gloomySkyEvent = 2;
if (gSaveContext.day_time < 0x4AAB)
if (gSaveContext.day_time < 0x4AAB) {
gSaveContext.day_time += 30;
}
if (globalCtx->unk_10B12[1] == 0) {
D_8011FB30 = 0;
func_800F6D58(14, 1, 0);
@@ -305,17 +320,19 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
break;
case 25:
gSaveContext.day_time += 30;
if ((gSaveContext.day_time & 0xFFFF) > 0xCAAA)
if ((gSaveContext.day_time & 0xFFFF) > 0xCAAA) {
gSaveContext.day_time = 0xCAAA;
}
break;
case 26:
if ((gSaveContext.day_time < 0x3000) || (gSaveContext.day_time >= 0x4555)) {
if ((gSaveContext.day_time >= 0x4555) && (gSaveContext.day_time < 0xAAAB))
if ((gSaveContext.day_time >= 0x4555) && (gSaveContext.day_time < 0xAAAB)) {
globalCtx->unk_10AE3 = 1;
else if ((gSaveContext.day_time >= 0xAAAB) && (gSaveContext.day_time < 0xC556))
} else if ((gSaveContext.day_time >= 0xAAAB) && (gSaveContext.day_time < 0xC556)) {
globalCtx->unk_10AE3 = 2;
else
} else {
globalCtx->unk_10AE3 = 3;
}
}
break;
case 27:
@@ -346,18 +363,20 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
func_8006C3D0(globalCtx, 4);
break;
case 32:
if (sp3F != 0)
if (sp3F != 0) {
globalCtx->unk_10B0A = 1;
}
func_800788CC(0x20C0);
break;
case 33:
gSaveContext.unk_1422 = 1;
break;
case 34:
if (!gSaveContext.night_flag)
if (!gSaveContext.night_flag) {
gSaveContext.day_time -= D_8011FB40;
else
} else {
gSaveContext.day_time -= D_8011FB40 * 2;
}
break;
case 35:
func_800EE824(csCtx);
+26
View File
@@ -0,0 +1,26 @@
#include <ultra64.h>
#include <global.h>
GlobalContext* func_80026B00(void) {
return D_80157DA0;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026B0C.s")
void func_80026C1C(u8* arg0) {
arg0[0] = 0;
arg0[1] = 0;
arg0[2] = 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026C2C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/Effect_Add.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026E74.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_80026F70.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_8002709C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect/func_800271A8.s")
+4 -2
View File
@@ -94,8 +94,9 @@ void En_A_Obj_Init(ActorEnAObj* this, GlobalContext* globalCtx) {
break;
}
if (this->actor.params >= 9)
if (this->actor.params >= 9) {
sp28 = 12.0f;
}
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, sp28);
@@ -154,8 +155,9 @@ void En_A_Obj_Init(ActorEnAObj* this, GlobalContext* globalCtx) {
break;
}
if (this->actor.params < 5)
if (this->actor.params < 5) {
this->actor.sub_98.mass = 0xFF;
}
if (this->dynaPolyId != -1) {
DynaPolyInfo_Alloc(D_8011546C[this->dynaPolyId], &sp34);
+19 -10
View File
@@ -289,8 +289,9 @@ void En_Item00_Init(ActorEnItem00* this, GlobalContext* globalCtx) {
break;
}
if ((sp2C != 0) && !func_8002F410(&this->actor, globalCtx))
if ((sp2C != 0) && !func_8002F410(&this->actor, globalCtx)) {
func_8002F554(&this->actor, globalCtx, sp2C);
}
En_Item00_SetNewUpdate(this, (ActorFunc)func_8001E5C8);
this->updateFunc(this, globalCtx);
@@ -480,11 +481,13 @@ void En_Item00_Update(ActorEnItem00* this, GlobalContext* globalCtx) {
sp3C = 0;
sp3A = 0;
if (this->unk_15A > 0)
if (this->unk_15A > 0) {
this->unk_15A--;
}
if ((this->unk_15A > 0) && (this->unk_15A < 41) && (this->unk_154 <= 0))
if ((this->unk_15A > 0) && (this->unk_15A < 41) && (this->unk_154 <= 0)) {
this->unk_156 = this->unk_15A;
}
this->updateFunc(this, globalCtx);
@@ -533,23 +536,28 @@ void En_Item00_Update(ActorEnItem00* this, GlobalContext* globalCtx) {
(this->actor.params == DROP_TUNIC_ZORA) || (this->actor.params == DROP_TUNIC_GORON)) {
f32 newUnkBC = Math_Coss(this->actor.shape.rot.x) * 37.0f;
this->actor.shape.unk_08 = newUnkBC;
if (newUnkBC >= 0.0f)
if (newUnkBC >= 0.0f) {
this->actor.shape.unk_08 = this->actor.shape.unk_08;
else
} else {
this->actor.shape.unk_08 = -this->actor.shape.unk_08;
}
}
if (this->unk_154 > 0)
if (this->unk_154 > 0) {
return;
}
// MISMATCH: The first function argument is loaded too early here
if (!((this->actor.xzDistanceFromLink <= 30.0f) && (this->actor.yDistanceFromLink >= -50.0f) &&
(this->actor.yDistanceFromLink <= 50.0f)))
if (!func_8002F410(&this->actor, globalCtx))
(this->actor.yDistanceFromLink <= 50.0f))) {
if (!func_8002F410(&this->actor, globalCtx)) {
return;
}
}
if (globalCtx->unk_10A20 != 0)
if (globalCtx->unk_10A20 != 0) {
return;
}
switch (this->actor.params) {
case DROP_RUPEE_GREEN:
@@ -630,8 +638,9 @@ void En_Item00_Update(ActorEnItem00* this, GlobalContext* globalCtx) {
}
// MISMATCH: The first function argument is also loaded too early here
if ((sp3C != 0) && !func_8002F410(&this->actor, globalCtx))
if ((sp3C != 0) && !func_8002F410(&this->actor, globalCtx)) {
func_8002F554(&this->actor, globalCtx, sp3C);
}
switch (this->actor.params) {
case DROP_HEART_PIECE:
@@ -1,7 +1,7 @@
#include <ultra64.h>
#include <global.h>
u16 D_8011F3F0[60][9] = {
u16 sReactionTextIds[60][9] = {
{ 0x0000, 0x7124, 0x7127, 0x7126, 0x7125, 0x7127, 0x7124, 0x7125, 0x7127 },
{ 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B },
{ 0x0000, 0x7128, 0x712B, 0x7128, 0x7128, 0x7129, 0x7128, 0x712B, 0x7128 },
@@ -64,7 +64,7 @@ u16 D_8011F3F0[60][9] = {
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x710C, 0x7105, 0x7107, 0x7107 },
};
u16 func_8006C360(GlobalContext* globalCtx, u32 idx) {
u8 mask = func_8008F080(globalCtx);
return D_8011F3F0[idx][mask];
u16 Text_GetFaceReaction(GlobalContext* globalCtx, u32 reactionSet) {
u8 currentMask = func_8008F080(globalCtx);
return sReactionTextIds[reactionSet][currentMask];
}
+17 -10
View File
@@ -159,19 +159,21 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
{ 0xF6F7, 0x0139, 0x1766 },
};
if (gSaveContext.entrance_index == 0x028A)
if (gSaveContext.entrance_index == 0x028A) {
spawnPos = spawnPositions[0];
else if (gSaveContext.entrance_index == 0x028E)
} else if (gSaveContext.entrance_index == 0x028E) {
spawnPos = spawnPositions[1];
else if (gSaveContext.entrance_index == 0x0292)
} else if (gSaveContext.entrance_index == 0x0292) {
spawnPos = spawnPositions[2];
else
} else {
spawnPos = spawnPositions[3];
}
player->rideActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, spawnPos.x, spawnPos.y,
spawnPos.z, 0, player->actor.posRot.rot.y, 0, 7);
if (player->rideActor == NULL)
if (player->rideActor == NULL) {
__assert("player->ride.actor != NULL", "../z_horse.c", 561);
}
func_8002DECC(globalCtx, player, player->rideActor);
func_8002DE74(globalCtx, player);
@@ -180,15 +182,17 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
(Flags_GetEventChkInf(0x18) == 0) && (DREG(1) == 0)) {
player->rideActor =
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, 894.0f, 0.0f, -2084.0f, 0, -0x7FFF, 0, 5);
if (player->rideActor == NULL)
if (player->rideActor == NULL) {
__assert("player->ride.actor != NULL", "../z_horse.c", 582);
}
func_8002DECC(globalCtx, player, player->rideActor);
func_8002DE74(globalCtx, player);
gSaveContext.horse_data.scene = globalCtx->sceneNum;
if (globalCtx->sceneNum == SCENE_SPOT12)
if (globalCtx->sceneNum == SCENE_SPOT12) {
player->rideActor->room = -1;
}
} else {
static struct_8011F9B8 D_8011F9B8[] = {
{ 93, 0xFFF0, 0x0E10, 0x0585, 0x0168, 0x8001, 8 }, { 99, 0xFFF0, 0xFF06, 0x0001, 0xF9D4, 0x4000, 6 },
@@ -210,8 +214,9 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
player->rideActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE,
D_8011F9B8[i].pos.x, D_8011F9B8[i].pos.y, D_8011F9B8[i].pos.z, 0,
player->actor.posRot.rot.y, 0, D_8011F9B8[i].type);
if (player->rideActor == NULL)
if (player->rideActor == NULL) {
__assert("player->ride.actor != NULL", "../z_horse.c", 628);
}
func_8002DECC(globalCtx, player, player->rideActor);
func_8002DE74(globalCtx, player);
@@ -221,14 +226,16 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
s32 pad2;
temp = 0;
if (((gSaveContext.event_inf[0] & 0x10) >> 4) && D_8011F9B8[i].type == 6)
if (((gSaveContext.event_inf[0] & 0x10) >> 4) && D_8011F9B8[i].type == 6) {
temp = 0x8000;
}
player->rideActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE,
D_8011F9B8[i].pos.x, D_8011F9B8[i].pos.y, D_8011F9B8[i].pos.z, 0,
D_8011F9B8[i].angle, 0, D_8011F9B8[i].type | temp);
if (player->rideActor == NULL)
if (player->rideActor == NULL) {
__assert("player->ride.actor != NULL", "../z_horse.c", 667);
}
player->actor.posRot.pos.x = D_8011F9B8[i].pos.x;
player->actor.posRot.pos.y = D_8011F9B8[i].pos.y;
+2 -1
View File
@@ -75,8 +75,9 @@ void KaleidoScopeCall_Update(GlobalContext* globalCtx) {
pauseCtx->state++;
} else if (pauseCtx->state == 2 || pauseCtx->state == 9) {
osSyncPrintf("R_PAUSE_MENU_MODE=%d\n", R_PAUSE_MENU_MODE);
if (R_PAUSE_MENU_MODE >= 3)
if (R_PAUSE_MENU_MODE >= 3) {
pauseCtx->state++;
}
} else if (pauseCtx->state != 0) {
if (&gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE] != gKaleidoMgrCurOvl) {
if (gKaleidoMgrCurOvl) {
+225 -131
View File
@@ -1141,13 +1141,15 @@ void Inventory_SwapAgeEquipment(void) {
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
for (i = 0; i < 4; i++) {
if (i != 0)
if (i != 0) {
gSaveContext.child_equips.button_items[i] = gSaveContext.equips.button_items[i];
else
} else {
gSaveContext.child_equips.button_items[i] = ITEM_SWORD_KOKIRI;
}
if (i != 0)
if (i != 0) {
gSaveContext.child_equips.c_button_slots[i - 1] = gSaveContext.equips.c_button_slots[i - 1];
}
}
gSaveContext.child_equips.equipment = gSaveContext.equips.equipment;
@@ -1172,8 +1174,9 @@ void Inventory_SwapAgeEquipment(void) {
for (i = 0; i < 4; i++) {
gSaveContext.equips.button_items[i] = gSaveContext.adult_equips.button_items[i];
if (i != 0)
if (i != 0) {
gSaveContext.equips.c_button_slots[i - 1] = gSaveContext.adult_equips.c_button_slots[i - 1];
}
if (((gSaveContext.equips.button_items[i] >= ITEM_BOTTLE) &&
(gSaveContext.equips.button_items[i] <= ITEM_POE)) ||
@@ -1190,8 +1193,9 @@ void Inventory_SwapAgeEquipment(void) {
for (i = 0; i < 4; i++) {
gSaveContext.adult_equips.button_items[i] = gSaveContext.equips.button_items[i];
if (i != 0)
if (i != 0) {
gSaveContext.adult_equips.c_button_slots[i - 1] = gSaveContext.equips.c_button_slots[i - 1];
}
}
gSaveContext.adult_equips.equipment = gSaveContext.equips.equipment;
@@ -1200,8 +1204,9 @@ void Inventory_SwapAgeEquipment(void) {
for (i = 0; i < 4; i++) {
gSaveContext.equips.button_items[i] = gSaveContext.child_equips.button_items[i];
if (i != 0)
if (i != 0) {
gSaveContext.equips.c_button_slots[i - 1] = gSaveContext.child_equips.c_button_slots[i - 1];
}
if (((gSaveContext.equips.button_items[i] >= ITEM_BOTTLE) &&
(gSaveContext.equips.button_items[i] <= ITEM_POE)) ||
@@ -1221,8 +1226,9 @@ void Inventory_SwapAgeEquipment(void) {
temp = gEquipMasks[EQUIP_SHIELD] & gSaveContext.equips.equipment;
if (temp != 0) {
temp >>= gEquipShifts[EQUIP_SHIELD];
if (!(gBitFlags[temp + 3] & gSaveContext.equipment))
if (!(gBitFlags[temp + 3] & gSaveContext.equipment)) {
gSaveContext.equips.equipment &= gEquipNegMasks[EQUIP_SHIELD];
}
}
}
#else
@@ -1315,8 +1321,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
s8 bombCount;
slot = SLOT(item);
if (item >= ITEM_STICKS_5)
if (item >= ITEM_STICKS_5) {
slot = SLOT(sExtraItemBases[item - ITEM_STICKS_5]);
}
osSyncPrintf(VT_FGCOL(YELLOW));
osSyncPrintf("item_get_setting=%d pt=%d z=%x\n", item, slot, gSaveContext.items[slot]);
@@ -1330,8 +1337,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
osSyncPrintf("封印 = %x\n", gSaveContext.quest_items);
osSyncPrintf(VT_RST);
if (item == ITEM_MEDALLION_WATER)
if (item == ITEM_MEDALLION_WATER) {
func_8006D0AC(globalCtx);
}
return ITEM_NONE;
} else if ((item >= ITEM_SONG_MINUET) && (item <= ITEM_SONG_STORMS)) {
@@ -1423,8 +1431,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return ITEM_NONE;
} else {
AMMO(ITEM_BOW)++;
if (AMMO(ITEM_BOW) > CUR_CAPACITY(UPG_QUIVER))
if (AMMO(ITEM_BOW) > CUR_CAPACITY(UPG_QUIVER)) {
AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER);
}
}
} else if (item == ITEM_QUIVER_40) {
Inventory_ChangeUpgrade(UPG_QUIVER, 2);
@@ -1450,8 +1459,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return ITEM_NONE;
} else {
AMMO(ITEM_BOMB)++;
if (AMMO(ITEM_BOMB) > CUR_CAPACITY(UPG_BOMB_BAG))
if (AMMO(ITEM_BOMB) > CUR_CAPACITY(UPG_BOMB_BAG)) {
AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG);
}
}
} else if (item == ITEM_BOMB_BAG_30) {
Inventory_ChangeUpgrade(UPG_BOMB_BAG, 2);
@@ -1483,26 +1493,30 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
Inventory_ChangeUpgrade(UPG_WALLET, 2);
return ITEM_NONE;
} else if (item == ITEM_STICK_UPGRADE_20) {
if (gSaveContext.items[slot] == ITEM_NONE)
if (gSaveContext.items[slot] == ITEM_NONE) {
INV_CONTENT(ITEM_STICK) = ITEM_STICK;
}
Inventory_ChangeUpgrade(UPG_STICKS, 2);
AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 2);
return ITEM_NONE;
} else if (item == ITEM_STICK_UPGRADE_30) {
if (gSaveContext.items[slot] == ITEM_NONE)
if (gSaveContext.items[slot] == ITEM_NONE) {
INV_CONTENT(ITEM_STICK) = ITEM_STICK;
}
Inventory_ChangeUpgrade(UPG_STICKS, 3);
AMMO(ITEM_STICK) = CAPACITY(UPG_STICKS, 3);
return ITEM_NONE;
} else if (item == ITEM_NUT_UPGRADE_30) {
if (gSaveContext.items[slot] == ITEM_NONE)
if (gSaveContext.items[slot] == ITEM_NONE) {
INV_CONTENT(ITEM_NUT) = ITEM_NUT;
}
Inventory_ChangeUpgrade(UPG_NUTS, 2);
AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 2);
return ITEM_NONE;
} else if (item == ITEM_NUT_UPGRADE_40) {
if (gSaveContext.items[slot] == ITEM_NONE)
if (gSaveContext.items[slot] == ITEM_NONE) {
INV_CONTENT(ITEM_NUT) = ITEM_NUT;
}
Inventory_ChangeUpgrade(UPG_NUTS, 3);
AMMO(ITEM_NUT) = CAPACITY(UPG_NUTS, 3);
return ITEM_NONE;
@@ -1521,8 +1535,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
AMMO(ITEM_STICK) = 1;
} else {
AMMO(ITEM_STICK)++;
if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS))
if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS)) {
AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS);
}
}
} else if ((item == ITEM_STICKS_5) || (item == ITEM_STICKS_10)) {
if (gSaveContext.items[slot] == ITEM_NONE) {
@@ -1530,8 +1545,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
AMMO(ITEM_STICK) = sAmmoRefillCounts[item - ITEM_STICKS_5];
} else {
AMMO(ITEM_STICK) += sAmmoRefillCounts[item - ITEM_STICKS_5];
if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS))
if (AMMO(ITEM_STICK) > CUR_CAPACITY(UPG_STICKS)) {
AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS);
}
}
item = ITEM_STICK;
} else if (item == ITEM_NUT) {
@@ -1540,8 +1556,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
AMMO(ITEM_NUT) = ITEM_NUT;
} else {
AMMO(ITEM_NUT)++;
if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS))
if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS)) {
AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS);
}
}
} else if ((item == ITEM_NUTS_5) || (item == ITEM_NUTS_10)) {
if (gSaveContext.items[slot] == ITEM_NONE) {
@@ -1552,8 +1569,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
sAmmoRefillCounts[item - ITEM_NUTS_5]);
} else {
AMMO(ITEM_NUT) += sAmmoRefillCounts[item - ITEM_NUTS_5];
if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS))
if (AMMO(ITEM_NUT) > CUR_CAPACITY(UPG_NUTS)) {
AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS);
}
}
item = ITEM_NUT;
} else if (item == ITEM_BOMB) {
@@ -1561,14 +1579,16 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
osSyncPrintf(" 爆弾 爆弾 爆弾 爆弾 爆弾 爆弾 爆弾 \n");
bombCount = AMMO(ITEM_BOMB) + 1;
AMMO(ITEM_BOMB) = bombCount;
if (bombCount > CUR_CAPACITY(UPG_BOMB_BAG))
if (bombCount > CUR_CAPACITY(UPG_BOMB_BAG)) {
AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG);
}
return ITEM_NONE;
} else if ((item >= ITEM_BOMBS_5) && (item <= ITEM_BOMBS_30)) {
bombCount = AMMO(ITEM_BOMB) + sAmmoRefillCounts[item - ITEM_BOMBS_5];
AMMO(ITEM_BOMB) = bombCount;
if (bombCount > CUR_CAPACITY(UPG_BOMB_BAG))
if (bombCount > CUR_CAPACITY(UPG_BOMB_BAG)) {
AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG);
}
return ITEM_NONE;
} else if (item == ITEM_BOMBCHU) {
if (gSaveContext.items[slot] == ITEM_NONE) {
@@ -1577,8 +1597,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return ITEM_NONE;
} else {
AMMO(ITEM_BOMBCHU) += 10;
if (AMMO(ITEM_BOMBCHU) > 50)
if (AMMO(ITEM_BOMBCHU) > 50) {
AMMO(ITEM_BOMBCHU) = 50;
}
return ITEM_NONE;
}
} else if ((item == ITEM_BOMBCHUS_5) || (item == ITEM_BOMBCHUS_20)) {
@@ -1588,15 +1609,17 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return ITEM_NONE;
} else {
AMMO(ITEM_BOMBCHU) += sAmmoRefillCounts[item - ITEM_BOMBCHUS_5 + 8];
if (AMMO(ITEM_BOMBCHU) > 50)
if (AMMO(ITEM_BOMBCHU) > 50) {
AMMO(ITEM_BOMBCHU) = 50;
}
return ITEM_NONE;
}
} else if ((item >= ITEM_ARROWS_SMALL) && (item <= ITEM_ARROWS_LARGE)) {
AMMO(ITEM_BOW) += sAmmoRefillCounts[item - ITEM_ARROWS_SMALL + 4];
if ((AMMO(ITEM_BOW) >= CUR_CAPACITY(UPG_QUIVER)) || (AMMO(ITEM_BOW) < 0))
if ((AMMO(ITEM_BOW) >= CUR_CAPACITY(UPG_QUIVER)) || (AMMO(ITEM_BOW) < 0)) {
AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER);
}
osSyncPrintf("%d本 Item_MaxGet=%d\n", AMMO(ITEM_BOW), CUR_CAPACITY(UPG_QUIVER));
@@ -1609,8 +1632,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
} else if (item == ITEM_SEEDS) {
AMMO(ITEM_SLINGSHOT) += 5;
if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG))
if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) {
AMMO(ITEM_SLINGSHOT) = CUR_CAPACITY(UPG_BULLET_BAG);
}
if (!(gSaveContext.item_get_inf[1] & 8)) {
gSaveContext.item_get_inf[1] |= 8;
@@ -1621,8 +1645,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
} else if (item == ITEM_SEEDS_30) {
AMMO(ITEM_SLINGSHOT) += 30;
if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG))
if (AMMO(ITEM_SLINGSHOT) >= CUR_CAPACITY(UPG_BULLET_BAG)) {
AMMO(ITEM_SLINGSHOT) = CUR_CAPACITY(UPG_BULLET_BAG);
}
if (!(gSaveContext.item_get_inf[1] & 8)) {
gSaveContext.item_get_inf[1] |= 8;
@@ -1665,8 +1690,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
Health_ChangeBy(globalCtx, 0x10);
return item;
} else if (item == ITEM_MAGIC_SMALL) {
if (gSaveContext.unk_13F0 != 10)
if (gSaveContext.unk_13F0 != 10) {
func_80087680(globalCtx);
}
func_80087708(globalCtx, 12, 5);
@@ -1677,8 +1703,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
return item;
} else if (item == ITEM_MAGIC_LARGE) {
if (gSaveContext.unk_13F0 != 10)
if (gSaveContext.unk_13F0 != 10) {
func_80087680(globalCtx);
}
func_80087708(globalCtx, 24, 5);
@@ -1741,8 +1768,9 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) {
}
}
} else if ((item >= ITEM_WEIRD_EGG) && (item <= ITEM_CLAIM_CHECK)) {
if (item == ITEM_SAW)
if (item == ITEM_SAW) {
gSaveContext.item_get_inf[1] |= 0x8000;
}
prevTradeItem = INV_CONTENT(item);
INV_CONTENT(item) = item;
@@ -1990,8 +2018,9 @@ void Inventory_UpdateBottleItem(GlobalContext* globalCtx, u8 item, u8 cButton) {
// Special case to only empty half of a Lon Lon Milk Bottle
if ((gSaveContext.items[gSaveContext.equips.c_button_slots[cButton - 1]] == ITEM_MILK_BOTTLE) &&
(item == ITEM_BOTTLE))
(item == ITEM_BOTTLE)) {
item = ITEM_MILK_HALF;
}
gSaveContext.items[gSaveContext.equips.c_button_slots[cButton - 1]] = item;
gSaveContext.equips.button_items[cButton] = item;
@@ -2052,14 +2081,17 @@ u32 sDoActionTextures[] = { 0x07000000, 0x07000180 };
#ifdef NON_MATCHING
// 0x80000000 is reused in the 2 *_TO_VIRTUAL macros when it shouldn't
void Interface_LoadActionLabel(InterfaceContext* interfaceCtx, u16 action, s16 arg2) {
if (action >= 0x1D)
if (action >= 0x1D) {
action = 0x0A;
}
if (gSaveContext.language != 0)
if (gSaveContext.language != 0) {
action += 0x1D;
}
if (gSaveContext.language == 2)
if (gSaveContext.language == 2) {
action += 0x1D;
}
if ((action != 0x0A) && (action != 0x27) && (action != 0x44)) {
osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, OS_MESG_BLOCK);
@@ -2375,12 +2407,14 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
if (gSaveContext.unk_13F4 != maxMagic) {
if (gSaveContext.unk_13F4 < maxMagic) {
gSaveContext.unk_13F4 += 8;
if (gSaveContext.unk_13F4 > maxMagic)
if (gSaveContext.unk_13F4 > maxMagic) {
gSaveContext.unk_13F4 = maxMagic;
}
} else {
gSaveContext.unk_13F4 -= 8;
if (gSaveContext.unk_13F4 <= maxMagic)
if (gSaveContext.unk_13F4 <= maxMagic) {
gSaveContext.unk_13F4 = maxMagic;
}
}
} else {
gSaveContext.unk_13F0 = 9;
@@ -2389,8 +2423,9 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
case 9:
gSaveContext.magic += 4;
if (gSaveContext.game_mode == 0 && gSaveContext.scene_setup_index < 4)
if (gSaveContext.game_mode == 0 && gSaveContext.scene_setup_index < 4) {
Audio_PlaySoundGeneral(0x401F, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
// Translates to: "Storage MAGIC_NOW=%d (%d)"
osSyncPrintf("蓄電 MAGIC_NOW=%d (%d)\n", gSaveContext.magic, gSaveContext.unk_13F6);
@@ -2423,20 +2458,23 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
case 6:
color = sMagicBorderColors[sMagicBorderIndexes[sMagicBorderStep]];
if (sMagicBorderR >= color[0])
if (sMagicBorderR >= color[0]) {
sMagicBorderR -= ABS(sMagicBorderR - color[0]) / sMagicBorderRatio;
else
} else {
sMagicBorderR += ABS(sMagicBorderR - color[0]) / sMagicBorderRatio;
}
if (sMagicBorderG >= color[1])
if (sMagicBorderG >= color[1]) {
sMagicBorderG -= ABS(sMagicBorderG - color[1]) / sMagicBorderRatio;
else
} else {
sMagicBorderG += ABS(sMagicBorderG - color[1]) / sMagicBorderRatio;
}
if (sMagicBorderB >= color[2])
if (sMagicBorderB >= color[2]) {
sMagicBorderB -= ABS(sMagicBorderB - color[2]) / sMagicBorderRatio;
else
} else {
sMagicBorderB += ABS(sMagicBorderB - color[2]) / sMagicBorderRatio;
}
sMagicBorderRatio--;
if (sMagicBorderRatio == 0) {
@@ -2445,8 +2483,9 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
sMagicBorderB = color[2];
sMagicBorderRatio = YREG(40 + sMagicBorderStep);
sMagicBorderStep++;
if (sMagicBorderStep >= 4)
if (sMagicBorderStep >= 4) {
sMagicBorderStep = 0;
}
}
break;
case 5:
@@ -2481,20 +2520,23 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
color = sMagicBorderColors[sMagicBorderIndexes[sMagicBorderStep]];
if (sMagicBorderR >= color[0])
if (sMagicBorderR >= color[0]) {
sMagicBorderR -= ABS(sMagicBorderR - color[0]) / sMagicBorderRatio;
else
} else {
sMagicBorderR += ABS(sMagicBorderR - color[0]) / sMagicBorderRatio;
}
if (sMagicBorderG >= color[1])
if (sMagicBorderG >= color[1]) {
sMagicBorderG -= ABS(sMagicBorderG - color[1]) / sMagicBorderRatio;
else
} else {
sMagicBorderG += ABS(sMagicBorderG - color[1]) / sMagicBorderRatio;
}
if (sMagicBorderB >= color[2])
if (sMagicBorderB >= color[2]) {
sMagicBorderB -= ABS(sMagicBorderB - color[2]) / sMagicBorderRatio;
else
} else {
sMagicBorderB += ABS(sMagicBorderB - color[2]) / sMagicBorderRatio;
}
sMagicBorderRatio--;
if (sMagicBorderRatio == 0) {
@@ -2503,8 +2545,9 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
sMagicBorderB = color[2];
sMagicBorderRatio = YREG(40 + sMagicBorderStep);
sMagicBorderStep++;
if (sMagicBorderStep >= 4)
if (sMagicBorderStep >= 4) {
sMagicBorderStep = 0;
}
}
break;
case 10:
@@ -2772,13 +2815,14 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
// C-Up Button Texture, Color & Label (Navi Text)
gDPPipeSync(gfxCtx->overlay.p++);
if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5))
if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5)) {
cUpAlpha = 0;
else if ((player->stateFlags2 & 0x00200000) || (func_8008F2F8(globalCtx) == 4) ||
(player->stateFlags2 & 0x00040000))
} else if ((player->stateFlags2 & 0x00200000) || (func_8008F2F8(globalCtx) == 4) ||
(player->stateFlags2 & 0x00040000)) {
cUpAlpha = 0x46;
else
} else {
cUpAlpha = interfaceCtx->healthAlpha;
}
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2), cUpAlpha);
gDPSetCombineLERP(gfxCtx->overlay.p++, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0,
@@ -2820,15 +2864,16 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
// Empty C Button Arrows
for (i = 1; i < 4; i++) {
if (gSaveContext.equips.button_items[i] > 0xF0) {
if (i == 1)
if (i == 1) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cLeftAlpha);
else if (i == 2)
} else if (i == 2) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cDownAlpha);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, R_C_BTN_COLOR(0), R_C_BTN_COLOR(1), R_C_BTN_COLOR(2),
interfaceCtx->cRightAlpha);
}
gfxCtx->overlay.p =
Draw_TextureIA8(gfxCtx->overlay.p, &D_02000A00[i + 1], 0x20, 0x20, R_ITEM_BTN_X(i), R_ITEM_BTN_Y(i),
@@ -3188,12 +3233,13 @@ void Interface_Draw(GlobalContext* globalCtx) {
// Rupee Counter
gDPPipeSync(gfxCtx->overlay.p++);
if (gSaveContext.rupees == CUR_CAPACITY(UPG_WALLET))
if (gSaveContext.rupees == CUR_CAPACITY(UPG_WALLET)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0x78, 0xFF, 0x00, interfaceCtx->magicAlpha);
else if (gSaveContext.rupees != 0)
} else if (gSaveContext.rupees != 0) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0xFF, 0xFF, interfaceCtx->magicAlpha);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0x64, 0x64, 0x64, interfaceCtx->magicAlpha);
}
gDPSetCombineLERP(gfxCtx->overlay.p++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0,
0, PRIMITIVE, 0);
@@ -3201,8 +3247,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
interfaceCtx->counterDigits[0] = interfaceCtx->counterDigits[1] = 0;
interfaceCtx->counterDigits[2] = gSaveContext.rupees;
if ((interfaceCtx->counterDigits[2] >= 10000) || (interfaceCtx->counterDigits[2] < 0))
if ((interfaceCtx->counterDigits[2] >= 10000) || (interfaceCtx->counterDigits[2] < 0)) {
interfaceCtx->counterDigits[2] &= 0xDDD;
}
while (interfaceCtx->counterDigits[2] >= 100) {
interfaceCtx->counterDigits[2] -= 100;
@@ -3225,8 +3272,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
Interface_DrawMagicBar(globalCtx);
Interface_DrawMinimap(globalCtx);
if ((R_PAUSE_MENU_MODE != 2) && (R_PAUSE_MENU_MODE != 3))
if ((R_PAUSE_MENU_MODE != 2) && (R_PAUSE_MENU_MODE != 3)) {
func_8002C124(&globalCtx->actorCtx.targetCtx, globalCtx); // Draw Z-Target
}
func_80094520(globalCtx->state.gfxCtx);
@@ -3343,10 +3391,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
G_MTX_MODELVIEW | G_MTX_LOAD);
gSPVertex(gfxCtx->overlay.p++, &interfaceCtx->vtx_128[4], 4, 0);
if ((interfaceCtx->unk_1EC < 2) || (interfaceCtx->unk_1EC == 3))
if ((interfaceCtx->unk_1EC < 2) || (interfaceCtx->unk_1EC == 3)) {
Interface_DrawActionLabel(globalCtx->state.gfxCtx, (void*)(u32)interfaceCtx->do_actionSegment);
else
} else {
Interface_DrawActionLabel(globalCtx->state.gfxCtx, (void*)((u32)interfaceCtx->do_actionSegment + 0x180));
}
gDPPipeSync(gfxCtx->overlay.p++);
@@ -3441,10 +3490,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s1 = ZREG(14);
for (phi_s3 = 1; phi_s3 < 7; phi_s3++) {
// Carrot Color (based on availability)
if ((interfaceCtx->unk_23A == 0) || (interfaceCtx->unk_23A < phi_s3))
if ((interfaceCtx->unk_23A == 0) || (interfaceCtx->unk_23A < phi_s3)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0x00, 0x96, 0xFF, interfaceCtx->aAlpha);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0xFF, 0xFF, interfaceCtx->aAlpha);
}
gSPTextureRectangle(gfxCtx->overlay.p++, phi_s1 << 2, ZREG(15) << 2, (phi_s1 + 16) << 2,
(ZREG(15) + 16) << 2, G_TX_RENDERTILE, 0, 0, 1024, 1024);
@@ -3507,10 +3557,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
(gSaveContext.equips.button_items[0] != ITEM_SWORD_MASTER) &&
(gSaveContext.equips.button_items[0] != ITEM_SWORD_BGS) &&
(gSaveContext.equips.button_items[0] != ITEM_SWORD_KNIFE)) {
if (gSaveContext.button_status[0] != BTN_ENABLED)
if (gSaveContext.button_status[0] != BTN_ENABLED) {
gSaveContext.equips.button_items[0] = gSaveContext.button_status[0];
else
} else {
gSaveContext.equips.button_items[0] = ITEM_NONE;
}
}
// Revert any spoiling trade quest items
@@ -3553,20 +3604,22 @@ void Interface_Draw(GlobalContext* globalCtx) {
case 5:
case 11:
D_8015FFE0 = D_8015FFE2 = 20;
if (gSaveContext.timer_1_state == 5)
if (gSaveContext.timer_1_state == 5) {
gSaveContext.timer_1_state = 6;
else
} else {
gSaveContext.timer_1_state = 12;
}
break;
case 6:
case 12:
D_8015FFE2--;
if (D_8015FFE2 == 0) {
D_8015FFE2 = 20;
if (gSaveContext.timer_1_state == 6)
if (gSaveContext.timer_1_state == 6) {
gSaveContext.timer_1_state = 7;
else
} else {
gSaveContext.timer_1_state = 13;
}
}
break;
case 3:
@@ -3574,10 +3627,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s3 = (gSaveContext.timer_x[0] - 26) / D_8015FFE2;
gSaveContext.timer_x[0] -= phi_s3;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
phi_s3 = (gSaveContext.timer_y[0] - 54) / D_8015FFE2;
else
} else {
phi_s3 = (gSaveContext.timer_y[0] - 46) / D_8015FFE2;
}
gSaveContext.timer_y[0] -= phi_s3;
D_8015FFE2--;
@@ -3585,30 +3639,34 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_x[0] = 26;
D_8015FFE2 = 20;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[0] = 54;
else
} else {
gSaveContext.timer_y[0] = 46;
}
if (gSaveContext.timer_1_state == 3)
if (gSaveContext.timer_1_state == 3) {
gSaveContext.timer_1_state = 4;
else
} else {
gSaveContext.timer_1_state = 8;
}
}
case 4:
case 8:
if ((gSaveContext.timer_1_state == 4) || (gSaveContext.timer_1_state == 8)) {
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[0] = 54;
else
} else {
gSaveContext.timer_y[0] = 46;
}
}
if ((gSaveContext.timer_1_state >= 3) && (msgCtx->unk_E300 == 0)) {
D_8015FFE0--;
if (D_8015FFE0 == 0) {
if (gSaveContext.timer_1_value != 0)
if (gSaveContext.timer_1_value != 0) {
gSaveContext.timer_1_value--;
}
D_8015FFE0 = 20;
@@ -3620,13 +3678,15 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
D_80125A5C = 0;
} else if (gSaveContext.timer_1_value > 60) {
if (sTimerDigits[4] == 1)
if (sTimerDigits[4] == 1) {
Audio_PlaySoundGeneral(NA_SE_SY_MESSAGE_WOMAN, &D_801333D4, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
}
} else if (gSaveContext.timer_1_value >= 11) {
if (sTimerDigits[4] & 1)
if (sTimerDigits[4] & 1) {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_N, &D_801333D4, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
}
} else {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_E, &D_801333D4, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
@@ -3638,10 +3698,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s3 = (gSaveContext.timer_x[0] - 26) / D_8015FFE2;
gSaveContext.timer_x[0] -= phi_s3;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
phi_s3 = (gSaveContext.timer_y[0] - 54) / D_8015FFE2;
else
} else {
phi_s3 = (gSaveContext.timer_y[0] - 46) / D_8015FFE2;
}
gSaveContext.timer_y[0] -= phi_s3;
D_8015FFE2--;
@@ -3649,19 +3710,21 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_x[0] = 26;
D_8015FFE2 = 20;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[0] = 54;
else
} else {
gSaveContext.timer_y[0] = 46;
}
gSaveContext.timer_1_state = 14;
}
case 14:
if (gSaveContext.timer_1_state == 14) {
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[0] = 54;
else
} else {
gSaveContext.timer_y[0] = 46;
}
}
if (gSaveContext.timer_1_state >= 3) {
@@ -3686,10 +3749,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_y[1] = 80;
D_8015FFE4 = D_8015FFE6 = 20;
if (gSaveContext.timer_2_state < 7)
if (gSaveContext.timer_2_state < 7) {
gSaveContext.timer_2_state = 2;
else
} else {
gSaveContext.timer_2_state = 8;
}
gSaveContext.timer_1_state = 0;
} else {
@@ -3706,20 +3770,22 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_x[1] = 140;
gSaveContext.timer_y[1] = 80;
D_8015FFE4 = D_8015FFE6 = 20;
if (gSaveContext.timer_2_state == 1)
if (gSaveContext.timer_2_state == 1) {
gSaveContext.timer_2_state = 2;
else
} else {
gSaveContext.timer_2_state = 8;
}
break;
case 2:
case 8:
D_8015FFE6--;
if (D_8015FFE6 == 0) {
D_8015FFE6 = 20;
if (gSaveContext.timer_2_state == 2)
if (gSaveContext.timer_2_state == 2) {
gSaveContext.timer_2_state = 3;
else
} else {
gSaveContext.timer_2_state = 9;
}
}
break;
case 3:
@@ -3730,10 +3796,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s3 = (gSaveContext.timer_x[1] - 26) / D_8015FFE2;
gSaveContext.timer_x[1] -= phi_s3;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
phi_s3 = (gSaveContext.timer_y[1] - 54) / D_8015FFE6;
else
} else {
phi_s3 = (gSaveContext.timer_y[1] - 46) / D_8015FFE6;
}
gSaveContext.timer_y[1] -= phi_s3;
D_8015FFE6--;
@@ -3741,23 +3808,26 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer_x[1] = 26;
D_8015FFE6 = 20;
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[1] = 54;
else
} else {
gSaveContext.timer_y[1] = 46;
}
if (gSaveContext.timer_2_state == 3)
if (gSaveContext.timer_2_state == 3) {
gSaveContext.timer_2_state = 4;
else
} else {
gSaveContext.timer_2_state = 10;
}
}
case 4:
case 10:
if ((gSaveContext.timer_2_state == 4) || (gSaveContext.timer_2_state == 10)) {
if (gSaveContext.health_capacity > 0xA0)
if (gSaveContext.health_capacity > 0xA0) {
gSaveContext.timer_y[1] = 54;
else
} else {
gSaveContext.timer_y[1] = 46;
}
}
if (gSaveContext.timer_2_state >= 3) {
@@ -3785,13 +3855,15 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
} else {
if (gSaveContext.timer_2_value > 60) {
if (sTimerDigits[4] == 1)
if (sTimerDigits[4] == 1) {
Audio_PlaySoundGeneral(NA_SE_SY_MESSAGE_WOMAN, &D_801333D4, 4,
&D_801333E0, &D_801333E0, &D_801333E8);
}
} else if (gSaveContext.timer_2_value > 10) {
if (sTimerDigits[4] & 1)
if (sTimerDigits[4] & 1) {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_N, &D_801333D4, 4,
&D_801333E0, &D_801333E0, &D_801333E8);
}
} else {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_E, &D_801333D4, 4,
&D_801333E0, &D_801333E0, &D_801333E8);
@@ -3817,8 +3889,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
break;
case 6:
D_8015FFE6--;
if (D_8015FFE6 == 0)
if (D_8015FFE6 == 0) {
gSaveContext.timer_2_state = 0;
}
break;
}
}
@@ -3828,10 +3901,11 @@ void Interface_Draw(GlobalContext* globalCtx) {
sTimerDigits[0] = sTimerDigits[1] = sTimerDigits[3] = 0;
sTimerDigits[2] = 10; // digit 10 is used as ':' (colon)
if (gSaveContext.timer_1_state != 0)
if (gSaveContext.timer_1_state != 0) {
sTimerDigits[4] = gSaveContext.timer_1_value;
else
} else {
sTimerDigits[4] = gSaveContext.timer_2_value;
}
while (sTimerDigits[4] >= 60) {
sTimerDigits[1]++;
@@ -3860,15 +3934,17 @@ void Interface_Draw(GlobalContext* globalCtx) {
TEXEL0, 0, PRIMITIVE, 0);
if (gSaveContext.timer_1_state != 0) {
if ((gSaveContext.timer_1_value < 10) && (gSaveContext.timer_1_state < 11))
if ((gSaveContext.timer_1_value < 10) && (gSaveContext.timer_1_state < 11)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0x32, 0x00, 0xFF);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF);
}
} else {
if ((gSaveContext.timer_2_value < 10) && (gSaveContext.timer_2_state < 6))
if ((gSaveContext.timer_2_value < 10) && (gSaveContext.timer_2_state < 6)) {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0x32, 0x00, 0xFF);
else
} else {
gDPSetPrimColor(gfxCtx->overlay.p++, 0, 0, 0xFF, 0xFF, 0x00, 0xFF);
}
}
for (phi_s3 = 0; phi_s3 < 5; phi_s3++) {
@@ -3881,8 +3957,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
}
if (pauseCtx->flag == 3)
if (pauseCtx->flag == 3) {
func_8002AAB0(globalCtx);
}
if (interfaceCtx->unk_244 != 0) {
gDPPipeSync(gfxCtx->overlay.p++);
@@ -3952,32 +4029,38 @@ void Interface_Update(GlobalContext* globalCtx) {
case 12:
case 13:
alpha = 0xFF - (gSaveContext.unk_13EC << 5);
if (alpha < 0)
if (alpha < 0) {
alpha = 0;
}
func_80082850(globalCtx, alpha);
gSaveContext.unk_13EC++;
if (alpha == 0)
if (alpha == 0) {
gSaveContext.unk_13E8 = 0;
}
break;
case 50:
alpha = 0xFF - (gSaveContext.unk_13EC << 5);
if (alpha < 0)
if (alpha < 0) {
alpha = 0;
}
alpha1 = 0xFF - alpha;
if (alpha1 >= 0xFF)
if (alpha1 >= 0xFF) {
alpha1 = 0xFF;
}
osSyncPrintf("case 50 : alpha=%d alpha1=%d\n", alpha, alpha1);
func_80082644(globalCtx, alpha1);
if (interfaceCtx->healthAlpha != 0xFF)
if (interfaceCtx->healthAlpha != 0xFF) {
interfaceCtx->healthAlpha = alpha1;
}
if (interfaceCtx->magicAlpha != 0xFF)
if (interfaceCtx->magicAlpha != 0xFF) {
interfaceCtx->magicAlpha = alpha1;
}
switch (globalCtx->sceneNum) {
case SCENE_SPOT00:
@@ -4000,20 +4083,23 @@ void Interface_Update(GlobalContext* globalCtx) {
case SCENE_SPOT18:
case SCENE_SPOT20:
case SCENE_GANON_TOU:
if (interfaceCtx->minimapAlpha < 0xAA)
if (interfaceCtx->minimapAlpha < 0xAA) {
interfaceCtx->minimapAlpha = alpha1;
else
} else {
interfaceCtx->minimapAlpha = 0xAA;
}
break;
default:
if (interfaceCtx->minimapAlpha != 0xFF)
if (interfaceCtx->minimapAlpha != 0xFF) {
interfaceCtx->minimapAlpha = alpha1;
}
break;
}
gSaveContext.unk_13EC++;
if (alpha1 == 0xFF)
if (alpha1 == 0xFF) {
gSaveContext.unk_13E8 = 0;
}
break;
case 52:
@@ -4030,8 +4116,9 @@ void Interface_Update(GlobalContext* globalCtx) {
gSaveContext.health_accumulator -= 4;
gSaveContext.health += 4;
if ((gSaveContext.health & 0xF) < 4)
if ((gSaveContext.health & 0xF) < 4) {
Audio_PlaySoundGeneral(NA_SE_SY_HP_RECOVER, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
osSyncPrintf("now_life=%d max_life=%d\n", gSaveContext.health, gSaveContext.health_capacity);
@@ -4079,8 +4166,9 @@ void Interface_Update(GlobalContext* globalCtx) {
gSaveContext.rupee_accumulator += 10;
gSaveContext.rupees -= 10;
if (gSaveContext.rupees < 0)
if (gSaveContext.rupees < 0) {
gSaveContext.rupees = 0;
}
Audio_PlaySoundGeneral(NA_SE_SY_RUPY_COUNT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else {
@@ -4108,8 +4196,9 @@ void Interface_Update(GlobalContext* globalCtx) {
interfaceCtx->unk_1EC = 0;
interfaceCtx->unk_1EE = interfaceCtx->unk_1F0;
action = interfaceCtx->unk_1EE;
if ((action == 0x1D) || (action == 0x1E))
if ((action == 0x1D) || (action == 0x1E)) {
action = 0xA;
}
Interface_LoadActionLabel(interfaceCtx, action, 0);
}
break;
@@ -4127,8 +4216,9 @@ void Interface_Update(GlobalContext* globalCtx) {
interfaceCtx->unk_1EC = 0;
interfaceCtx->unk_1EE = interfaceCtx->unk_1F0;
action = interfaceCtx->unk_1EE;
if ((action == 0x1D) || (action == 0x1E))
if ((action == 0x1D) || (action == 0x1E)) {
action = 0xA;
}
Interface_LoadActionLabel(interfaceCtx, action, 0);
}
break;
@@ -4173,11 +4263,13 @@ void Interface_Update(GlobalContext* globalCtx) {
interfaceCtx->unk_23C = 0;
if (sHBAScoreTier == 0) {
if (gSaveContext.minigame_score >= 1000)
if (gSaveContext.minigame_score >= 1000) {
sHBAScoreTier++;
}
} else if (sHBAScoreTier == 1) {
if (gSaveContext.minigame_score >= 1500)
if (gSaveContext.minigame_score >= 1500) {
sHBAScoreTier++;
}
}
sHBAScoreDigits[1] = 0;
@@ -4202,14 +4294,16 @@ void Interface_Update(GlobalContext* globalCtx) {
}
if (gSaveContext.unk_1422 != 0) {
if ((msgCtx->unk_E3F0 != 0x31) && (gSaveContext.unk_1422 == 1))
if ((msgCtx->unk_E3F0 != 0x31) && (gSaveContext.unk_1422 == 1)) {
globalCtx->msgCtx.unk_E3EE = 4;
}
if (globalCtx->unk_10A26 != 0) {
if (gSaveContext.unk_1422 != 2) {
D_80125B60 = 0;
if ((gSaveContext.day_time >= 0x4555) && (gSaveContext.day_time <= 0xC001))
if ((gSaveContext.day_time >= 0x4555) && (gSaveContext.day_time <= 0xC001)) {
D_80125B60 = 1;
}
gSaveContext.unk_1422 = 2;
D_80125B64 = D_8011FB40;
+46
View File
@@ -0,0 +1,46 @@
#include <ultra64.h>
#include <global.h>
Path* Path_GetByIndex(GlobalContext* globalCtx, s16 index, s16 max) {
Path* path;
if (index != max) {
path = &globalCtx->setupPathList[index];
} else {
path = NULL;
}
return path;
}
f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw) {
f32 dx;
f32 dz;
Vec3s* pointPos;
if (path == NULL) {
return -1.0;
}
pointPos = SEGMENTED_TO_VIRTUAL(path->points);
pointPos = &pointPos[waypoint];
dx = pointPos->x - actor->posRot.pos.x;
dz = pointPos->z - actor->posRot.pos.z;
*yaw = Math_atan2f(dx, dz) * (32768 / M_PI);
return SQ(dx) + SQ(dz);
}
void Path_CopyLastPoint(Path* path, Vec3f* dest) {
Vec3s* pointPos;
if (path != NULL) {
pointPos = &((Vec3s*)SEGMENTED_TO_VIRTUAL(path->points))[path->count - 1];
dest->x = pointPos->x;
dest->y = pointPos->y;
dest->z = pointPos->z;
}
}
+24 -13
View File
@@ -129,8 +129,9 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
spA4 = &spB8[0];
polygonDlist = SEGMENTED_TO_VIRTUAL(room->mesh->polygon2.start);
polygon2 = &room->mesh->polygon2;
if (polygon2->num > SHAPE_SORT_MAX)
if (polygon2->num > SHAPE_SORT_MAX) {
__assert("polygon2->num <= SHAPE_SORT_MAX", "../z_room.c", 317);
}
sp78 = polygonDlist;
for (sp9C = 0; sp9C < polygon2->num; sp9C++) {
@@ -152,8 +153,9 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
spA4->unk_08 = NULL;
} else {
do {
if (spA4->unk_04 < phi_v0->unk_04)
if (spA4->unk_04 < phi_v0->unk_04) {
break;
}
phi_v0 = phi_v0->unk_0C;
} while (phi_v0 != NULL);
@@ -165,10 +167,11 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
} else {
phi_a0 = phi_v0->unk_08;
spA4->unk_08 = phi_a0;
if (phi_a0 == NULL)
if (phi_a0 == NULL) {
spB4 = spA4;
else
} else {
phi_a0->unk_0C = spA4;
}
phi_v0->unk_08 = spA4;
spA4->unk_0C = (void*)phi_v0;
}
@@ -187,25 +190,30 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
if (iREG(86) != 0) {
phi_v1 = 0;
while (phi_v1 < polygon2->num) {
if (phi_s0 == sp78)
if (phi_s0 == sp78) {
break;
}
phi_v1++;
sp78++;
}
if (((iREG(86) == 1) && (iREG(89) > sp9C)) || ((iREG(86) == 2) && (iREG(89) == sp9C))) {
if ((flags & 1) && (phi_s0->opa != NULL))
if ((flags & 1) && (phi_s0->opa != NULL)) {
gSPDisplayList(gfxCtx->polyOpa.p++, phi_s0->opa);
}
if ((flags & 2) && (phi_s0->xlu != NULL))
if ((flags & 2) && (phi_s0->xlu != NULL)) {
gSPDisplayList(gfxCtx->polyXlu.p++, phi_s0->xlu);
}
}
} else {
if ((flags & 1) && (phi_s0->opa != NULL))
if ((flags & 1) && (phi_s0->opa != NULL)) {
gSPDisplayList(gfxCtx->polyOpa.p++, phi_s0->opa);
}
if ((flags & 2) && (phi_s0->xlu != NULL))
if ((flags & 2) && (phi_s0->xlu != NULL)) {
gSPDisplayList(gfxCtx->polyXlu.p++, phi_s0->xlu);
}
}
spB4 = spB4->unk_0C;
@@ -541,8 +549,9 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
for (i = 0; i < globalCtx->nbRooms; i++) {
roomSize = roomList[i].vromEnd - roomList[i].vromStart;
osSyncPrintf("ROOM%d size=%d\n", i, roomSize);
if (maxRoomSize < roomSize)
if (maxRoomSize < roomSize) {
maxRoomSize = roomSize;
}
}
if (globalCtx->nbTransitionActors != 0) {
@@ -559,8 +568,9 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
cumulRoomSize = (frontRoom != backRoom) ? frontRoomSize + backRoomSize : frontRoomSize;
osSyncPrintf("DOOR%d=<%d> ROOM1=<%d, %d> ROOM2=<%d, %d>\n", j, cumulRoomSize, frontRoom, frontRoomSize,
backRoom, backRoomSize);
if (maxRoomSize < cumulRoomSize)
if (maxRoomSize < cumulRoomSize) {
maxRoomSize = cumulRoomSize;
}
transitionActor++;
}
}
@@ -578,10 +588,11 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
roomCtx->unk_30 = 0;
roomCtx->status = 0;
if (gSaveContext.respawn_flag > 0)
if (gSaveContext.respawn_flag > 0) {
nextRoomNum = gSaveContext.respawn[gSaveContext.respawn_flag - 1].room_index;
else
} else {
nextRoomNum = globalCtx->setupEntranceList[globalCtx->curSpawn].room;
}
func_8009728C(globalCtx, roomCtx, nextRoomNum);
return maxRoomSize;
+5 -4
View File
@@ -20,8 +20,8 @@ void Sample_Draw(SampleContext* this) {
func_800C6AC4(gfxArr, gfxCtx, "../z_sample.c", 62);
gSPSegment(gfxCtx->polyOpa.p++, 0, NULL;
gSPSegment(gfxCtx->polyOpa.p++, 1, this->staticSegment);
gSPSegment(gfxCtx->polyOpa.p++, 0x00, NULL);
gSPSegment(gfxCtx->polyOpa.p++, 0x01, this->staticSegment);
func_80095248(gfxCtx, 0, 0, 0);
@@ -34,10 +34,11 @@ void Sample_Draw(SampleContext* this) {
gfxCtx->polyOpa.p = func_80093708(gfxCtx->polyOpa.p, 0xFF, 0xFF, 0xFF, 0, 0, 0);
func_80093D18(gfxCtx);
gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_1CYCLE);
gDPSetRenderMode(gfxCtx->polyOpa.p++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
gDPSetCombineLERP(gfxCtx->polyOpa.p++, 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE);
gDPSetCombineLERP(gfxCtx->polyOpa.p++, 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE, 0, 0, 0,
PRIMITIVE);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 0xFF, 0xFF, 0x00, 0x00);
func_800C6B54(gfxArr, gfxCtx, "../z_sample.c", 111);
+4 -2
View File
@@ -312,13 +312,15 @@ void func_8009899C(GlobalContext* globalCtx, SceneCmd* cmd) {
}
}
if (cmd->objectList.num > OBJECT_EXCHANGE_BANK_MAX)
if (cmd->objectList.num > OBJECT_EXCHANGE_BANK_MAX) {
__assert("scene_info->object_bank.num <= OBJECT_EXCHANGE_BANK_MAX", "../z_scene.c", 705);
}
while (k < cmd->objectList.num) {
nextPtr = func_800982FC(&globalCtx->objectCtx, i, *objectEntry);
if (i < OBJECT_EXCHANGE_BANK_MAX - 1)
if (i < OBJECT_EXCHANGE_BANK_MAX - 1) {
globalCtx->objectCtx.status[i + 1].segment = nextPtr;
}
k++;
objectEntry++;
status++;
+3 -2
View File
@@ -2271,10 +2271,11 @@ void func_8009FE58(GlobalContext* globalCtx) {
D_8012A398 += 0.15f + (globalCtx->unk_11D30[1] * 0.001f);
}
if (globalCtx->roomCtx.curRoom.num == 2)
if (globalCtx->roomCtx.curRoom.num == 2) {
Matrix_Scale(1, sinf(D_8012A398) * 0.8f, 1, MTXMODE_NEW);
else
} else {
Matrix_Scale(1.005f, sinf(D_8012A398) * 0.8f, 1.005f, MTXMODE_NEW);
}
gSPSegment(gfxCtx->polyOpa.p++, 0x0D, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_scene_table.c", 7809));
+1600 -82
View File
File diff suppressed because it is too large Load Diff
@@ -9,8 +9,7 @@ void ArmsHook_Update(ArmsHook* this, GlobalContext* globalCtx);
void ArmsHook_Draw(ArmsHook* this, GlobalContext* globalCtx);
/*
const ActorInit Arms_Hook_InitVars =
{
const ActorInit Arms_Hook_InitVars = {
ACTOR_ARMS_HOOK,
ACTORTYPE_ITEMACTION,
ROOM,
@@ -13,8 +13,7 @@ void func_80865DD8(ArrowFire* this, GlobalContext* globalCtx);
void func_808660E8(ArrowFire* this, GlobalContext* globalCtx);
void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx);
/*
const ActorInit Arrow_Fire_InitVars =
{
const ActorInit Arrow_Fire_InitVars = {
ACTOR_ARROW_FIRE,
ACTORTYPE_ITEMACTION,
ROOM,
@@ -32,6 +31,9 @@ static InitChainEntry initChain[] = {
ICHAIN_VEC3F(unk_F4, 2000, ICHAIN_STOP),
};
extern Gfx D_80867990;
extern Gfx D_80867A40;
// EnFire_SetupAction
void func_80865D10(ArrowFire* this, ActorFunc* actionFunc) {
this->actionFunc = actionFunc;
@@ -43,7 +45,7 @@ void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx) {
this->unk_158 = 1.0f;
func_80865D10(this, func_80865DD8);
Actor_SetScale(this, 0.01);
this->opacity = 0xA0;
this->alpha = 0xA0;
this->timer = 0;
this->unk_15C = 0.0f;
}
@@ -78,7 +80,7 @@ void func_80865DD8(ArrowFire* this, GlobalContext* globalCtx) {
this->translatedPos = this->actor.posRot.pos;
this->fireRadius = 10;
func_80865D10(this, &func_808660E8);
this->opacity = 0xFF;
this->alpha = 0xFF;
}
}
@@ -115,8 +117,8 @@ void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx) {
this->fireRadius = (((1.0f - offset) * scale) + 10.0f);
this->unk_158 += ((2.0f - this->unk_158) * 0.1f);
if (this->timer < 0x10) {
if (this->timer){} // needed for regalloc
this->opacity = ((this->timer * 0x23) - 0x118);
if (1){} // needed for regalloc
this->alpha = ((this->timer * 0x23) - 0x118);
}
}
}
@@ -132,7 +134,7 @@ void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx) {
}
if (this->timer < 8) {
this->opacity = 0;
this->alpha = 0;
}
if (this->timer == 0) {
@@ -141,7 +143,6 @@ void func_80865F1C(ArrowFire* this, GlobalContext* globalCtx) {
}
}
// ArrowFire_Fly
void func_808660E8(ArrowFire* this, GlobalContext* globalCtx) {
EnArrow* arrow;
@@ -167,12 +168,12 @@ void func_808660E8(ArrowFire* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_FRAME);
func_80865D10(this, &func_80865F1C);
this->timer = 32;
this->opacity = 0xFF;
this->alpha = 0xFF;
} else if (arrow->timer < 0x22) {
if (this->opacity < 0x23) {
if (this->alpha < 0x23) {
Actor_Kill(&this->actor);
} else {
this->opacity -= 0x19;
this->alpha -= 0x19;
}
}
}
@@ -186,23 +187,61 @@ void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx) {
}
//#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s")
void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx){
u32 gameplayFrames; //8c
s32 pad1;
s32 pad2;
u32 stateFrames;
GraphicsContext* gfxCtx;
Actor* tranform;
Gfx* gfxArr[2]; //70
EnArrow* arrow; //if this messes up the stack i need to cast
EnArrow* arrow;
s32 pad3;
s32 pad4;
Gfx* gfxArr[2];
gameplayFrames = globalCtx->state.frames;
arrow = this->actor.attachedA; // may need to assign elsewhere
stateFrames = globalCtx->state.frames;
arrow = this->actor.attachedA;
if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 0xFF)) {
if (arrow->hitWall & 2){
tranform = &this->actor;
} else {
tranform = &arrow->actor;
}
func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618);
}
func_800C6AC4(gfxArr, gfxCtx = globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618);
Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW);
Matrix_RotateY(tranform->shape.rot.y * 9.58738E-05f, MTXMODE_APPLY); // 2*PI/65536, do we have a pi define?
Matrix_RotateX(tranform->shape.rot.x * 9.58738E-05f, MTXMODE_APPLY); // 2*PI/65536, do we have a pi define?
Matrix_RotateZ(tranform->shape.rot.z * 9.58738E-05f, MTXMODE_APPLY); // 2*PI/65536, do we have a pi define?
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
// Draw red effect over the screen when arrow hits
if (this->unk_15C > 0) {
gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(40.0f * this->unk_15C) & 0xFF, 0x00, 0x00,
(s32)(150.0f * this->unk_15C) & 0xFF);
gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE);
gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE);
gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
}
// Draw fire on the arrow
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0xFF, 0xC8, 0x00, this->alpha);
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xFF, 0x00, 0x00, 0x80);
Matrix_RotateZYX(0x4000, 0x0, 0x0, MTXMODE_APPLY);
if (this->timer != 0) {
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY);
} else {
Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY);
}
Matrix_Scale(this->fireRadius * 0.2f, this->unk_158 * 4.0f, this->fireRadius * 0.2f, MTXMODE_APPLY);
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 666), G_MTX_NOPUSH |
G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, &D_80867990);
gSPDisplayList(gfxCtx->polyXlu.p++, Draw_TwoTexScroll(globalCtx->state.gfxCtx, 0,
255 - (stateFrames * 2) % 256, 0, 64, 32, 1, 255 - stateFrames % 256,
511 - (stateFrames * 10) % 512, 64, 64));
gSPDisplayList(gfxCtx->polyXlu.p++, &D_80867A40);
func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682);
}
}
@@ -12,7 +12,7 @@ typedef struct {
/* 0x0160 */ ActorFunc actionFunc;
/* 0x0164 */ s16 fireRadius;
/* 0x0166 */ u16 timer;
/* 0x0168 */ u8 opacity;
/* 0x0168 */ u8 alpha;
} ArrowFire; // size = 0x016C
extern const ActorInit Arrow_Fire_InitVars;
@@ -9,8 +9,7 @@ void ArrowIce_Update(ArrowIce* this, GlobalContext* globalCtx);
void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx);
/*
const ActorInit Arrow_Ice_InitVars =
{
const ActorInit Arrow_Ice_InitVars = {
ACTOR_ARROW_ICE,
ACTORTYPE_ITEMACTION,
ROOM,
@@ -9,8 +9,7 @@ void ArrowLight_Update(ArrowLight* this, GlobalContext* globalCtx);
void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx);
/*
const ActorInit Arrow_Light_InitVars =
{
const ActorInit Arrow_Light_InitVars = {
ACTOR_ARROW_LIGHT,
ACTORTYPE_ITEMACTION,
ROOM,
@@ -9,8 +9,7 @@ void BgBdanObjects_Update(BgBdanObjects* this, GlobalContext* globalCtx);
void BgBdanObjects_Draw(BgBdanObjects* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Bdan_Objects_InitVars =
{
const ActorInit Bg_Bdan_Objects_InitVars = {
ACTOR_BG_BDAN_OBJECTS,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgBombwall_Update(BgBombwall* this, GlobalContext* globalCtx);
void BgBombwall_Draw(BgBombwall* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Bombwall_InitVars =
{
const ActorInit Bg_Bombwall_InitVars = {
ACTOR_BG_BOMBWALL,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgBowlWall_Update(BgBowlWall* this, GlobalContext* globalCtx);
void BgBowlWall_Draw(BgBowlWall* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Bowl_Wall_InitVars =
{
const ActorInit Bg_Bowl_Wall_InitVars = {
ACTOR_BG_BOWL_WALL,
ACTORTYPE_PROP,
ROOM,
@@ -8,8 +8,7 @@ void BgBreakwall_Destroy(BgBreakwall* this, GlobalContext* globalCtx);
void BgBreakwall_Update(BgBreakwall* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Breakwall_InitVars =
{
const ActorInit Bg_Breakwall_InitVars = {
ACTOR_BG_BREAKWALL,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgDdanJd_Update(BgDdanJd* this, GlobalContext* globalCtx);
void BgDdanJd_Draw(BgDdanJd* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Ddan_Jd_InitVars =
{
const ActorInit Bg_Ddan_Jd_InitVars = {
ACTOR_BG_DDAN_JD,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgDdanKd_Update(BgDdanKd* this, GlobalContext* globalCtx);
void BgDdanKd_Draw(BgDdanKd* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Ddan_Kd_InitVars =
{
const ActorInit Bg_Ddan_Kd_InitVars = {
ACTOR_BG_DDAN_KD,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgDodoago_Update(BgDodoago* this, GlobalContext* globalCtx);
void BgDodoago_Draw(BgDodoago* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Dodoago_InitVars =
{
const ActorInit Bg_Dodoago_InitVars = {
ACTOR_BG_DODOAGO,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgDyYoseizo_Destroy(BgDyYoseizo* this, GlobalContext* globalCtx);
void BgDyYoseizo_Update(BgDyYoseizo* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Dy_Yoseizo_InitVars =
{
const ActorInit Bg_Dy_Yoseizo_InitVars = {
ACTOR_BG_DY_YOSEIZO,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgGanonOtyuka_Update(BgGanonOtyuka* this, GlobalContext* globalCtx);
void BgGanonOtyuka_Draw(BgGanonOtyuka* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Ganon_Otyuka_InitVars =
{
const ActorInit Bg_Ganon_Otyuka_InitVars = {
ACTOR_BG_GANON_OTYUKA,
ACTORTYPE_PROP,
ROOM,
@@ -70,12 +70,10 @@ static void func_8087828C(BgGateShutter* this, GlobalContext* globalCtx) {
if (this->unk_168 == 1 && !(gSaveContext.inf_table[7] & 0x40)) {
this->unk_178 = 2;
this->actionFunc = (ActorFunc)func_80878300;
}
else if (this->unk_168 == 2) {
} else if (this->unk_168 == 2) {
this->unk_178 = 2;
this->actionFunc = (ActorFunc)func_80878300;
}
else if (this->unk_168 < 0) {
} else if (this->unk_168 < 0) {
this->unk_178 = 2;
this->actionFunc = (ActorFunc)func_808783D4;
}
@@ -9,8 +9,7 @@ void BgGjyoBridge_Update(BgGjyoBridge* this, GlobalContext* globalCtx);
void BgGjyoBridge_Draw(BgGjyoBridge* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Gjyo_Bridge_InitVars =
{
const ActorInit Bg_Gjyo_Bridge_InitVars = {
ACTOR_BG_GJYO_BRIDGE,
ACTORTYPE_PROP,
ROOM,
@@ -8,8 +8,7 @@ void BgGndDarkmeiro_Destroy(BgGndDarkmeiro* this, GlobalContext* globalCtx);
void BgGndDarkmeiro_Update(BgGndDarkmeiro* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Gnd_Darkmeiro_InitVars =
{
const ActorInit Bg_Gnd_Darkmeiro_InitVars = {
ACTOR_BG_GND_DARKMEIRO,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgGndFiremeiro_Update(BgGndFiremeiro* this, GlobalContext* globalCtx);
void BgGndFiremeiro_Draw(BgGndFiremeiro* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Gnd_Firemeiro_InitVars =
{
const ActorInit Bg_Gnd_Firemeiro_InitVars = {
ACTOR_BG_GND_FIREMEIRO,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgGndIceblock_Update(BgGndIceblock* this, GlobalContext* globalCtx);
void BgGndIceblock_Draw(BgGndIceblock* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Gnd_Iceblock_InitVars =
{
const ActorInit Bg_Gnd_Iceblock_InitVars = {
ACTOR_BG_GND_ICEBLOCK,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgGndSoulmeiro_Update(BgGndSoulmeiro* this, GlobalContext* globalCtx);
void BgGndSoulmeiro_Draw(BgGndSoulmeiro* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Gnd_Soulmeiro_InitVars =
{
const ActorInit Bg_Gnd_Soulmeiro_InitVars = {
ACTOR_BG_GND_SOULMEIRO,
ACTORTYPE_PROP,
ROOM,
+1 -2
View File
@@ -9,8 +9,7 @@ void BgHaka_Update(BgHaka* this, GlobalContext* globalCtx);
void BgHaka_Draw(BgHaka* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_InitVars =
{
const ActorInit Bg_Haka_InitVars = {
ACTOR_BG_HAKA,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHakaGate_Update(BgHakaGate* this, GlobalContext* globalCtx);
void BgHakaGate_Draw(BgHakaGate* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_Gate_InitVars =
{
const ActorInit Bg_Haka_Gate_InitVars = {
ACTOR_BG_HAKA_GATE,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgHakaHuta_Update(BgHakaHuta* this, GlobalContext* globalCtx);
void BgHakaHuta_Draw(BgHakaHuta* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_Huta_InitVars =
{
const ActorInit Bg_Haka_Huta_InitVars = {
ACTOR_BG_HAKA_HUTA,
ACTORTYPE_BG,
ROOM,
@@ -1,15 +1,24 @@
/*
* File: z_bg_haka_megane.c
* Overlay: ovl_Bg_Haka_Megane
* Description:
*/
#include "z_bg_haka_megane.h"
#define ROOM 0x00
#define FLAGS 0x000000B0
void BgHakaMegane_Init(BgHakaMegane* this, GlobalContext* globalCtx);
void BgHakaMegane_Destroy(BgHakaMegane* this, GlobalContext* globalCtx);
void BgHakaMegane_Update(BgHakaMegane* this, GlobalContext* globalCtx);
static void BgHakaMegane_Init(BgHakaMegane* this, GlobalContext* globalCtx);
static void BgHakaMegane_Destroy(BgHakaMegane* this, GlobalContext* globalCtx);
static void BgHakaMegane_Update(BgHakaMegane* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_Megane_InitVars =
{
static void func_8087DB24(BgHakaMegane* this, GlobalContext* globalCtx);
static void func_8087DBF0(BgHakaMegane* this, GlobalContext* globalCtx);
static void func_8087DC64(BgHakaMegane* this, GlobalContext* globalCtx);
static void func_8087DC94(BgHakaMegane* this, GlobalContext* globalCtx);
const ActorInit Bg_Haka_Megane_InitVars = {
ACTOR_BG_HAKA_MEGANE,
ACTORTYPE_PROP,
ROOM,
@@ -21,17 +30,96 @@ const ActorInit Bg_Haka_Megane_InitVars =
(ActorFunc)BgHakaMegane_Update,
NULL,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Megane/BgHakaMegane_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Megane/BgHakaMegane_Destroy.s")
static InitChainEntry initChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Megane/func_8087DB24.s")
static UNK_TYPE collisions[] = {
0x06001830, 0x06001AB8, 0x00000000, 0x06004330, 0x060044D0, 0x00000000, 0x06004780,
0x06004940, 0x00000000, 0x06004B00, 0x00000000, 0x06004CC0, 0x00000000,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Megane/func_8087DBF0.s")
static UNK_TYPE dlists[] = {
0x06001060, 0x06001920, 0x060003F0, 0x060040F0, 0x060043B0, 0x06001120, 0x060045A0,
0x060047F0, 0x060018F0, 0x060049B0, 0x06003CF0, 0x06004B70, 0x06002ED0,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Megane/func_8087DC64.s")
extern UNK_TYPE D_06001250;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Megane/BgHakaMegane_Update.s")
static void BgHakaMegane_Init(BgHakaMegane* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Megane/func_8087DC94.s")
Actor_ProcessInitChain(thisx, initChain);
DynaPolyInfo_SetActorMove(thisx, 0);
if (thisx->params < 3) {
this->objBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_HAKACH_OBJECTS);
} else {
this->objBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_HAKA_OBJECTS);
}
if (this->objBankIndex < 0) {
Actor_Kill(thisx);
} else {
this->actionFunc = (ActorFunc)func_8087DB24;
}
}
static void BgHakaMegane_Destroy(BgHakaMegane* this, GlobalContext* globalCtx) {
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
}
static void func_8087DB24(BgHakaMegane* this, GlobalContext* globalCtx) {
s32 localC;
UNK_TYPE collision;
if (Object_IsLoaded(&globalCtx->objectCtx, this->objBankIndex)) {
this->dyna.actor.objBankIndex = this->objBankIndex;
this->dyna.actor.draw = (ActorFunc)func_8087DC94;
Actor_SetObjectDependency(globalCtx, &this->dyna.actor);
if (globalCtx->roomCtx.curRoom.showInvisActors) {
this->actionFunc = (ActorFunc)func_8087DBF0;
collision = collisions[this->dyna.actor.params];
if (collision != 0) {
DynaPolyInfo_Alloc(collision, &localC);
this->dyna.dynaPolyId =
DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, localC);
}
} else {
this->actionFunc = (ActorFunc)func_8087DC64;
}
}
}
static void func_8087DBF0(BgHakaMegane* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
if (globalCtx->actorCtx.unk_03 != 0) {
thisx->flags |= 0x80;
func_8003EBF8(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
} else {
thisx->flags &= ~0x80;
func_8003EC50(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
}
}
static void func_8087DC64(BgHakaMegane* this, GlobalContext* globalCtx) {
}
static void BgHakaMegane_Update(BgHakaMegane* this, GlobalContext* globalCtx) {
this->actionFunc(this, globalCtx);
}
static void func_8087DC94(BgHakaMegane* this, GlobalContext* globalCtx) {
Actor* thisx = &this->dyna.actor;
if ((thisx->flags & 0x80) == 0x80) {
Draw_DListXlu(globalCtx, dlists[thisx->params]);
} else {
Draw_DListOpa(globalCtx, dlists[thisx->params]);
}
if (thisx->params == 0) {
Draw_DListXlu(globalCtx, &D_06001250);
}
}
@@ -5,8 +5,11 @@
#include <global.h>
typedef struct {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ ActorFunc actionFunc;
/* 0x0168 */ char unk_168[0x1];
/* 0x0169 */ s8 objBankIndex;
/* 0x016A */ char unk_16A[0x2];
} BgHakaMegane; // size = 0x016C
extern const ActorInit Bg_Haka_Megane_InitVars;
@@ -9,8 +9,7 @@ void BgHakaMeganeBG_Update(BgHakaMeganeBG* this, GlobalContext* globalCtx);
void BgHakaMeganeBG_Draw(BgHakaMeganeBG* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_MeganeBG_InitVars =
{
const ActorInit Bg_Haka_MeganeBG_InitVars = {
ACTOR_BG_HAKA_MEGANEBG,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgHakaSgami_Destroy(BgHakaSgami* this, GlobalContext* globalCtx);
void BgHakaSgami_Update(BgHakaSgami* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_Sgami_InitVars =
{
const ActorInit Bg_Haka_Sgami_InitVars = {
ACTOR_BG_HAKA_SGAMI,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgHakaShip_Update(BgHakaShip* this, GlobalContext* globalCtx);
void BgHakaShip_Draw(BgHakaShip* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_Ship_InitVars =
{
const ActorInit Bg_Haka_Ship_InitVars = {
ACTOR_BG_HAKA_SHIP,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHakaTrap_Update(BgHakaTrap* this, GlobalContext* globalCtx);
void BgHakaTrap_Draw(BgHakaTrap* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_Trap_InitVars =
{
const ActorInit Bg_Haka_Trap_InitVars = {
ACTOR_BG_HAKA_TRAP,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHakaTubo_Update(BgHakaTubo* this, GlobalContext* globalCtx);
void BgHakaTubo_Draw(BgHakaTubo* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_Tubo_InitVars =
{
const ActorInit Bg_Haka_Tubo_InitVars = {
ACTOR_BG_HAKA_TUBO,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHakaWater_Update(BgHakaWater* this, GlobalContext* globalCtx);
void BgHakaWater_Draw(BgHakaWater* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_Water_InitVars =
{
const ActorInit Bg_Haka_Water_InitVars = {
ACTOR_BG_HAKA_WATER,
ACTORTYPE_PROP,
ROOM,
@@ -8,8 +8,7 @@ void BgHakaZou_Destroy(BgHakaZou* this, GlobalContext* globalCtx);
void BgHakaZou_Update(BgHakaZou* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Haka_Zou_InitVars =
{
const ActorInit Bg_Haka_Zou_InitVars = {
ACTOR_BG_HAKA_ZOU,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgHeavyBlock_Update(BgHeavyBlock* this, GlobalContext* globalCtx);
void BgHeavyBlock_Draw(BgHeavyBlock* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Heavy_Block_InitVars =
{
const ActorInit Bg_Heavy_Block_InitVars = {
ACTOR_BG_HEAVY_BLOCK,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanCurtain_Update(BgHidanCurtain* this, GlobalContext* globalCtx);
void BgHidanCurtain_Draw(BgHidanCurtain* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Curtain_InitVars =
{
const ActorInit Bg_Hidan_Curtain_InitVars = {
ACTOR_BG_HIDAN_CURTAIN,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanDalm_Update(BgHidanDalm* this, GlobalContext* globalCtx);
void BgHidanDalm_Draw(BgHidanDalm* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Dalm_InitVars =
{
const ActorInit Bg_Hidan_Dalm_InitVars = {
ACTOR_BG_HIDAN_DALM,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgHidanFirewall_Destroy(BgHidanFirewall* this, GlobalContext* globalCtx);
void BgHidanFirewall_Update(BgHidanFirewall* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Firewall_InitVars =
{
const ActorInit Bg_Hidan_Firewall_InitVars = {
ACTOR_BG_HIDAN_FIREWALL,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanFwbig_Update(BgHidanFwbig* this, GlobalContext* globalCtx);
void BgHidanFwbig_Draw(BgHidanFwbig* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Fwbig_InitVars =
{
const ActorInit Bg_Hidan_Fwbig_InitVars = {
ACTOR_BG_HIDAN_FWBIG,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanHamstep_Update(BgHidanHamstep* this, GlobalContext* globalCtx);
void BgHidanHamstep_Draw(BgHidanHamstep* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Hamstep_InitVars =
{
const ActorInit Bg_Hidan_Hamstep_InitVars = {
ACTOR_BG_HIDAN_HAMSTEP,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanHrock_Update(BgHidanHrock* this, GlobalContext* globalCtx);
void BgHidanHrock_Draw(BgHidanHrock* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Hrock_InitVars =
{
const ActorInit Bg_Hidan_Hrock_InitVars = {
ACTOR_BG_HIDAN_HROCK,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanKousi_Update(BgHidanKousi* this, GlobalContext* globalCtx);
void BgHidanKousi_Draw(BgHidanKousi* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Kousi_InitVars =
{
const ActorInit Bg_Hidan_Kousi_InitVars = {
ACTOR_BG_HIDAN_KOUSI,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanKowarerukabe_Update(BgHidanKowarerukabe* this, GlobalContext* global
void BgHidanKowarerukabe_Draw(BgHidanKowarerukabe* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Kowarerukabe_InitVars =
{
const ActorInit Bg_Hidan_Kowarerukabe_InitVars = {
ACTOR_BG_HIDAN_KOWARERUKABE,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanRock_Update(BgHidanRock* this, GlobalContext* globalCtx);
void BgHidanRock_Draw(BgHidanRock* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Rock_InitVars =
{
const ActorInit Bg_Hidan_Rock_InitVars = {
ACTOR_BG_HIDAN_ROCK,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanRsekizou_Update(BgHidanRsekizou* this, GlobalContext* globalCtx);
void BgHidanRsekizou_Draw(BgHidanRsekizou* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Rsekizou_InitVars =
{
const ActorInit Bg_Hidan_Rsekizou_InitVars = {
ACTOR_BG_HIDAN_RSEKIZOU,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanSekizou_Update(BgHidanSekizou* this, GlobalContext* globalCtx);
void BgHidanSekizou_Draw(BgHidanSekizou* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Sekizou_InitVars =
{
const ActorInit Bg_Hidan_Sekizou_InitVars = {
ACTOR_BG_HIDAN_SEKIZOU,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgHidanSima_Update(BgHidanSima* this, GlobalContext* globalCtx);
void BgHidanSima_Draw(BgHidanSima* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Hidan_Sima_InitVars =
{
const ActorInit Bg_Hidan_Sima_InitVars = {
ACTOR_BG_HIDAN_SIMA,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgIceObjects_Update(BgIceObjects* this, GlobalContext* globalCtx);
void BgIceObjects_Draw(BgIceObjects* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Ice_Objects_InitVars =
{
const ActorInit Bg_Ice_Objects_InitVars = {
ACTOR_BG_ICE_OBJECTS,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgIceShelter_Update(BgIceShelter* this, GlobalContext* globalCtx);
void BgIceShelter_Draw(BgIceShelter* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Ice_Shelter_InitVars =
{
const ActorInit Bg_Ice_Shelter_InitVars = {
ACTOR_BG_ICE_SHELTER,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgIceShutter_Update(BgIceShutter* this, GlobalContext* globalCtx);
void BgIceShutter_Draw(BgIceShutter* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Ice_Shutter_InitVars =
{
const ActorInit Bg_Ice_Shutter_InitVars = {
ACTOR_BG_ICE_SHUTTER,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgIceTurara_Update(BgIceTurara* this, GlobalContext* globalCtx);
void BgIceTurara_Draw(BgIceTurara* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Ice_Turara_InitVars =
{
const ActorInit Bg_Ice_Turara_InitVars = {
ACTOR_BG_ICE_TURARA,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgIngate_Update(BgIngate* this, GlobalContext* globalCtx);
void BgIngate_Draw(BgIngate* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Ingate_InitVars =
{
const ActorInit Bg_Ingate_InitVars = {
ACTOR_BG_INGATE,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgJya1flift_Update(BgJya1flift* this, GlobalContext* globalCtx);
void BgJya1flift_Draw(BgJya1flift* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_1flift_InitVars =
{
const ActorInit Bg_Jya_1flift_InitVars = {
ACTOR_BG_JYA_1FLIFT,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaBigmirror_Update(BgJyaBigmirror* this, GlobalContext* globalCtx);
void BgJyaBigmirror_Draw(BgJyaBigmirror* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Bigmirror_InitVars =
{
const ActorInit Bg_Jya_Bigmirror_InitVars = {
ACTOR_BG_JYA_BIGMIRROR,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaBlock_Update(BgJyaBlock* this, GlobalContext* globalCtx);
void BgJyaBlock_Draw(BgJyaBlock* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Block_InitVars =
{
const ActorInit Bg_Jya_Block_InitVars = {
ACTOR_BG_JYA_BLOCK,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaBombchuiwa_Update(BgJyaBombchuiwa* this, GlobalContext* globalCtx);
void BgJyaBombchuiwa_Draw(BgJyaBombchuiwa* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Bombchuiwa_InitVars =
{
const ActorInit Bg_Jya_Bombchuiwa_InitVars = {
ACTOR_BG_JYA_BOMBCHUIWA,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaBombiwa_Update(BgJyaBombiwa* this, GlobalContext* globalCtx);
void BgJyaBombiwa_Draw(BgJyaBombiwa* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Bombiwa_InitVars =
{
const ActorInit Bg_Jya_Bombiwa_InitVars = {
ACTOR_BG_JYA_BOMBIWA,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaCobra_Update(BgJyaCobra* this, GlobalContext* globalCtx);
void BgJyaCobra_Draw(BgJyaCobra* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Cobra_InitVars =
{
const ActorInit Bg_Jya_Cobra_InitVars = {
ACTOR_BG_JYA_COBRA,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaGoroiwa_Update(BgJyaGoroiwa* this, GlobalContext* globalCtx);
void BgJyaGoroiwa_Draw(BgJyaGoroiwa* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Goroiwa_InitVars =
{
const ActorInit Bg_Jya_Goroiwa_InitVars = {
ACTOR_BG_JYA_GOROIWA,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaHaheniron_Update(BgJyaHaheniron* this, GlobalContext* globalCtx);
void BgJyaHaheniron_Draw(BgJyaHaheniron* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Haheniron_InitVars =
{
const ActorInit Bg_Jya_Haheniron_InitVars = {
ACTOR_BG_JYA_HAHENIRON,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaIronobj_Update(BgJyaIronobj* this, GlobalContext* globalCtx);
void BgJyaIronobj_Draw(BgJyaIronobj* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Ironobj_InitVars =
{
const ActorInit Bg_Jya_Ironobj_InitVars = {
ACTOR_BG_JYA_IRONOBJ,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaLift_Update(BgJyaLift* this, GlobalContext* globalCtx);
void BgJyaLift_Draw(BgJyaLift* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Lift_InitVars =
{
const ActorInit Bg_Jya_Lift_InitVars = {
ACTOR_BG_JYA_LIFT,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaMegami_Update(BgJyaMegami* this, GlobalContext* globalCtx);
void BgJyaMegami_Draw(BgJyaMegami* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Megami_InitVars =
{
const ActorInit Bg_Jya_Megami_InitVars = {
ACTOR_BG_JYA_MEGAMI,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgJyaZurerukabe_Update(BgJyaZurerukabe* this, GlobalContext* globalCtx);
void BgJyaZurerukabe_Draw(BgJyaZurerukabe* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Jya_Zurerukabe_InitVars =
{
const ActorInit Bg_Jya_Zurerukabe_InitVars = {
ACTOR_BG_JYA_ZURERUKABE,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgMenkuriEye_Update(BgMenkuriEye* this, GlobalContext* globalCtx);
void BgMenkuriEye_Draw(BgMenkuriEye* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Menkuri_Eye_InitVars =
{
const ActorInit Bg_Menkuri_Eye_InitVars = {
ACTOR_BG_MENKURI_EYE,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgMizuBwall_Update(BgMizuBwall* this, GlobalContext* globalCtx);
void BgMizuBwall_Draw(BgMizuBwall* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mizu_Bwall_InitVars =
{
const ActorInit Bg_Mizu_Bwall_InitVars = {
ACTOR_BG_MIZU_BWALL,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgMizuMovebg_Update(BgMizuMovebg* this, GlobalContext* globalCtx);
void BgMizuMovebg_Draw(BgMizuMovebg* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mizu_Movebg_InitVars =
{
const ActorInit Bg_Mizu_Movebg_InitVars = {
ACTOR_BG_MIZU_MOVEBG,
ACTORTYPE_BG,
ROOM,
@@ -9,8 +9,7 @@ void BgMizuShutter_Update(BgMizuShutter* this, GlobalContext* globalCtx);
void BgMizuShutter_Draw(BgMizuShutter* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mizu_Shutter_InitVars =
{
const ActorInit Bg_Mizu_Shutter_InitVars = {
ACTOR_BG_MIZU_SHUTTER,
ACTORTYPE_PROP,
ROOM,
@@ -9,8 +9,7 @@ void BgMizuWater_Update(BgMizuWater* this, GlobalContext* globalCtx);
void BgMizuWater_Draw(BgMizuWater* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mizu_Water_InitVars =
{
const ActorInit Bg_Mizu_Water_InitVars = {
ACTOR_BG_MIZU_WATER,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgMoriBigst_Destroy(BgMoriBigst* this, GlobalContext* globalCtx);
void BgMoriBigst_Update(BgMoriBigst* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mori_Bigst_InitVars =
{
const ActorInit Bg_Mori_Bigst_InitVars = {
ACTOR_BG_MORI_BIGST,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgMoriElevator_Destroy(BgMoriElevator* this, GlobalContext* globalCtx);
void BgMoriElevator_Update(BgMoriElevator* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mori_Elevator_InitVars =
{
const ActorInit Bg_Mori_Elevator_InitVars = {
ACTOR_BG_MORI_ELEVATOR,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgMoriHashigo_Destroy(BgMoriHashigo* this, GlobalContext* globalCtx);
void BgMoriHashigo_Update(BgMoriHashigo* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mori_Hashigo_InitVars =
{
const ActorInit Bg_Mori_Hashigo_InitVars = {
ACTOR_BG_MORI_HASHIGO,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgMoriHashira4_Destroy(BgMoriHashira4* this, GlobalContext* globalCtx);
void BgMoriHashira4_Update(BgMoriHashira4* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mori_Hashira4_InitVars =
{
const ActorInit Bg_Mori_Hashira4_InitVars = {
ACTOR_BG_MORI_HASHIRA4,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgMoriHineri_Destroy(BgMoriHineri* this, GlobalContext* globalCtx);
void BgMoriHineri_Update(BgMoriHineri* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mori_Hineri_InitVars =
{
const ActorInit Bg_Mori_Hineri_InitVars = {
ACTOR_BG_MORI_HINERI,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgMoriIdomizu_Destroy(BgMoriIdomizu* this, GlobalContext* globalCtx);
void BgMoriIdomizu_Update(BgMoriIdomizu* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mori_Idomizu_InitVars =
{
const ActorInit Bg_Mori_Idomizu_InitVars = {
ACTOR_BG_MORI_IDOMIZU,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgMoriKaitenkabe_Destroy(BgMoriKaitenkabe* this, GlobalContext* globalCtx);
void BgMoriKaitenkabe_Update(BgMoriKaitenkabe* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mori_Kaitenkabe_InitVars =
{
const ActorInit Bg_Mori_Kaitenkabe_InitVars = {
ACTOR_BG_MORI_KAITENKABE,
ACTORTYPE_BG,
ROOM,
@@ -8,8 +8,7 @@ void BgMoriRakkatenjo_Destroy(BgMoriRakkatenjo* this, GlobalContext* globalCtx);
void BgMoriRakkatenjo_Update(BgMoriRakkatenjo* this, GlobalContext* globalCtx);
/*
const ActorInit Bg_Mori_Rakkatenjo_InitVars =
{
const ActorInit Bg_Mori_Rakkatenjo_InitVars = {
ACTOR_BG_MORI_RAKKATENJO,
ACTORTYPE_BG,
ROOM,

Some files were not shown because too many files have changed in this diff Show More