mirror of
https://github.com/zeldaret/oot
synced 2026-05-25 23:35:18 -04:00
fire arrow almost done, draw func regalloc
This commit is contained in:
+13
-18
@@ -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;
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)) {
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
@@ -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")
|
||||
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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++;
|
||||
|
||||
@@ -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
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,
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user