mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-15 20:35:13 +00:00
Updated Texture Asset Handling (#478)
* Auto stash before rebase of "upstream/master" * A large number of scenes have been decompiled. * Fixed makefile * Decompiled around 40 scenes. * Removed old file * Finished matching remaining scenes. * Removed old commented out spec lines * Decompiled a few object files. * Reorganized xmls a bit. Updated pu_box overlay to use proper symbol. * Updated texture and object file decomp * Fixed newline issue with ZAPD * Moved scenes/ into the assets/ folder * Fixed a few compile errors * Auto stash before rebase of "upstream/master" * A large number of scenes have been decompiled. * Fixed makefile * Decompiled around 40 scenes. * Removed old file * Finished matching remaining scenes. * Removed old commented out spec lines * Decompiled a few object files. * Reorganized xmls a bit. Updated pu_box overlay to use proper symbol. * Updated texture and object file decomp * Moved scenes/ into the assets/ folder * Fixed a few compile errors * Fixed merge issues. * Fixed makefile merge error * Fixed additional merge error * Fixed several more merge issues * Commented out gameplay_keep and sk2 extraction, since currently unused. * Reenabled gameplay_keep extraction since it's used in the spec * Fixed build error * Removed test struct * Fixed makefile error that would happen on fresh builds * Fixed merge issue * Removed relative paths * Multithreading on extraction, spec uses numbers, few changes to XMLs * Removed redundant code from the extract_assets script * object_sk2 and object_spot09_obj OK * object_spot11_obj OK * object_spot17_obj OK * Test: One of the gameplay_keep dlists given a proper symbol * Updated asset symbol names based on new naming scheme * XMLs use "Offset" instead of "Address" now * Fixed merge issues, updated ovl_Magic_Dark xml and gfx file * Updated to use latest build of ZAPD * Updated ZAPD again * Updated ZAP to remove assimp dependency * Jenkins Test: Added .gitkeep file * Updated ZAP once more * Updated png file name to comply with new naming scheme. * Fixed bad include Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
This commit is contained in:
parent
8fa6cb6ff9
commit
b95643b397
182 changed files with 2249 additions and 1472 deletions
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "overlays/actors/ovl_Arms_Hook/z_arms_hook.h"
|
||||
#include "overlays/actors/ovl_En_Part/z_en_part.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
void ActorShape_Init(ActorShape* shape, f32 arg1, void* shadowDrawFunc, f32 arg3) {
|
||||
shape->unk_08 = arg1;
|
||||
|
@ -1909,7 +1910,7 @@ void func_8002FBAC(GlobalContext* globalCtx) {
|
|||
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 5458),
|
||||
G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
gSPDisplayList(POLY_XLU_DISP++, &D_04010130);
|
||||
gSPDisplayList(POLY_XLU_DISP++, &gGameKeepMoteDL0);
|
||||
|
||||
Matrix_Pull();
|
||||
phi_f6 = ~((globalCtx->gameplayFrames * 1200) & 0xFFFF);
|
||||
|
@ -1917,7 +1918,7 @@ void func_8002FBAC(GlobalContext* globalCtx) {
|
|||
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_actor.c", 5463),
|
||||
G_MTX_MODELVIEW | G_MTX_LOAD);
|
||||
gSPDisplayList(POLY_XLU_DISP++, &D_04010130);
|
||||
gSPDisplayList(POLY_XLU_DISP++, &gGameKeepMoteDL0);
|
||||
}
|
||||
|
||||
lightPos.x = gSaveContext.respawn[RESPAWN_MODE_TOP].pos.x;
|
||||
|
|
|
@ -437,8 +437,8 @@ s32 func_80042108(CollisionContext* a0, CollisionPoly* a1, u32 a2) {
|
|||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_80042244.s")
|
||||
|
||||
u32 func_80042538(CollisionContext* colCtx, WaterBox* arg1) {
|
||||
u32 unk0C = arg1->unk_0C;
|
||||
return unk0C & 0xFF;
|
||||
u32 properties = arg1->properties;
|
||||
return properties & 0xFF;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_80042548.s")
|
||||
|
|
|
@ -107,7 +107,7 @@ void BgBdanObjects_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
thisx->params &= 0xFF;
|
||||
if (thisx->params == 2) {
|
||||
thisx->flags |= 0x30;
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[7].unk_02 = thisx->posRot.pos.y;
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[7].ySurface = thisx->posRot.pos.y;
|
||||
this->actionFunc = func_8086C9A8;
|
||||
return;
|
||||
}
|
||||
|
@ -394,7 +394,7 @@ void func_8086C9F0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
func_8002F948(this, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
|
||||
}
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[7].unk_02 = this->dyna.actor.posRot.pos.y;
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[7].ySurface = this->dyna.actor.posRot.pos.y;
|
||||
}
|
||||
|
||||
void func_8086CABC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
|
|
|
@ -60,7 +60,7 @@ void func_80881D94(BgHakaWater* this, GlobalContext* globalCtx) {
|
|||
s32 i;
|
||||
|
||||
for (i = 0; i < 9; i++) {
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[i].unk_02 = (s16)this->actor.posRot.pos.y - 8;
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[i].ySurface = (s16)this->actor.posRot.pos.y - 8;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ void BgMizuWater_SetWaterBoxesHeight(WaterBox* waterBoxes, s16 height) {
|
|||
u32 i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
waterBoxes[sWaterBoxIndexes[i]].unk_02 = height;
|
||||
waterBoxes[sWaterBoxIndexes[i]].ySurface = height;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -139,7 +139,7 @@ void BgMizuWater_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
|
||||
this->actor.posRot.pos.y = this->baseY + 85.0f;
|
||||
}
|
||||
waterBoxes[6].unk_02 = this->actor.posRot.pos.y;
|
||||
waterBoxes[6].ySurface = this->actor.posRot.pos.y;
|
||||
break;
|
||||
case 3:
|
||||
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
|
||||
|
@ -147,7 +147,7 @@ void BgMizuWater_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
if (1) {}
|
||||
this->targetY = this->actor.posRot.pos.y;
|
||||
}
|
||||
waterBoxes[8].unk_02 = this->actor.posRot.pos.y;
|
||||
waterBoxes[8].ySurface = this->actor.posRot.pos.y;
|
||||
break;
|
||||
case 4:
|
||||
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
|
||||
|
@ -155,7 +155,7 @@ void BgMizuWater_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
if (1) {}
|
||||
this->targetY = this->actor.posRot.pos.y;
|
||||
}
|
||||
waterBoxes[16].unk_02 = this->actor.posRot.pos.y;
|
||||
waterBoxes[16].ySurface = this->actor.posRot.pos.y;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -255,7 +255,7 @@ void BgMizuWater_ChangeWaterLevel(BgMizuWater* this, GlobalContext* globalCtx) {
|
|||
globalCtx->unk_11D30[0] = 0;
|
||||
this->actionFunc = BgMizuWater_WaitForAction;
|
||||
}
|
||||
waterBoxes[6].unk_02 = this->actor.posRot.pos.y;
|
||||
waterBoxes[6].ySurface = this->actor.posRot.pos.y;
|
||||
break;
|
||||
case 3:
|
||||
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
|
||||
|
@ -267,7 +267,7 @@ void BgMizuWater_ChangeWaterLevel(BgMizuWater* this, GlobalContext* globalCtx) {
|
|||
globalCtx->unk_11D30[0] = 0;
|
||||
this->actionFunc = BgMizuWater_WaitForAction;
|
||||
}
|
||||
waterBoxes[8].unk_02 = this->actor.posRot.pos.y;
|
||||
waterBoxes[8].ySurface = this->actor.posRot.pos.y;
|
||||
break;
|
||||
case 4:
|
||||
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
|
||||
|
@ -279,7 +279,7 @@ void BgMizuWater_ChangeWaterLevel(BgMizuWater* this, GlobalContext* globalCtx) {
|
|||
globalCtx->unk_11D30[0] = 0;
|
||||
this->actionFunc = BgMizuWater_WaitForAction;
|
||||
}
|
||||
waterBoxes[16].unk_02 = this->actor.posRot.pos.y;
|
||||
waterBoxes[16].ySurface = this->actor.posRot.pos.y;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -43,9 +43,9 @@ void BgMoriIdomizu_SetupAction(BgMoriIdomizu* this, BgMoriIdomizuActionFunc acti
|
|||
void BgMoriIdomizu_SetWaterLevel(GlobalContext* globalCtx, s16 waterLevel) {
|
||||
WaterBox* waterBox = globalCtx->colCtx.stat.colHeader->waterBoxes;
|
||||
|
||||
waterBox[2].unk_02 = waterLevel;
|
||||
waterBox[3].unk_02 = waterLevel;
|
||||
waterBox[4].unk_02 = waterLevel;
|
||||
waterBox[2].ySurface = waterLevel;
|
||||
waterBox[3].ySurface = waterLevel;
|
||||
waterBox[4].ySurface = waterLevel;
|
||||
}
|
||||
|
||||
void BgMoriIdomizu_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
|
|
@ -55,7 +55,7 @@ void func_808ABB84(BgSpot01Idomizu* this, GlobalContext* globalCtx) {
|
|||
if (gSaveContext.eventChkInf[6] & 0x80) {
|
||||
this->waterHeight = -550.0f;
|
||||
}
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[0].unk_02 = this->actor.posRot.pos.y;
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[0].ySurface = this->actor.posRot.pos.y;
|
||||
if (this->waterHeight < this->actor.posRot.pos.y) {
|
||||
Audio_PlaySoundGeneral(NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG, &D_801333D4, 4, &D_801333E0, &D_801333E0,
|
||||
&D_801333E8);
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_bg_spot09_obj.h"
|
||||
#include "objects/object_spot09_obj/object_spot09_obj.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
|
@ -31,7 +32,7 @@ const ActorInit Bg_Spot09_Obj_InitVars = {
|
|||
(ActorFunc)BgSpot09Obj_Draw,
|
||||
};
|
||||
|
||||
static UNK_PTR D_808B1F90[] = { NULL, 0x06005520, 0x0600283C, 0x06008458, 0x06007580 };
|
||||
static UNK_PTR D_808B1F90[] = { NULL, gBgSpot09Col1, gBgSpot09Col2, gBgSpot09Col3, gBgSpot09Col4 };
|
||||
|
||||
static s32 (*D_808B1FA4[])(BgSpot09Obj* this, GlobalContext* globalCtx) = {
|
||||
func_808B1BEC,
|
||||
|
@ -51,9 +52,7 @@ static InitChainEntry sInitChain2[] = {
|
|||
ICHAIN_F32(uncullZoneDownward, 1500, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
static Gfx* sDLists[] = { 0x06000100, 0x06003970, 0x06001120, 0x06007D40, 0x06006210 };
|
||||
|
||||
extern Gfx D_06008010[];
|
||||
static Gfx* sDLists[] = { gBgSpot09DL1, gBgSpot09DL2, gBgSpot09DL3, gBgSpot09DL4, gBgSpot09DL5 };
|
||||
|
||||
s32 func_808B1AE0(BgSpot09Obj* this, GlobalContext* globalCtx) {
|
||||
s32 carpentersRescued;
|
||||
|
@ -176,7 +175,7 @@ void BgSpot09Obj_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 391),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_06008010);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gBgSpot09DL6);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot09_obj.c", 396);
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_bg_spot11_bakudankabe.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
#include "objects/object_spot11_obj/object_spot11_obj.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
|
@ -37,8 +38,6 @@ static ColliderCylinderInit sCylinderInit = {
|
|||
static Vec3f D_808B272C = { 2259.0f, 108.0f, -1550.0f };
|
||||
static Vec3f D_808B2738 = { 2259.0f, 108.0f, -1550.0f };
|
||||
|
||||
extern UNK_TYPE D_06001A58;
|
||||
extern Gfx D_06001980[];
|
||||
extern Gfx D_0500A880[];
|
||||
|
||||
void func_808B2180(BgSpot11Bakudankabe* this, GlobalContext* globalCtx) {
|
||||
|
@ -109,7 +108,7 @@ void BgSpot11Bakudankabe_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
return;
|
||||
}
|
||||
func_808B2180(this, globalCtx);
|
||||
DynaPolyInfo_Alloc(&D_06001A58, &sp24);
|
||||
DynaPolyInfo_Alloc(gBgSpot11Col, &sp24);
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, sp24);
|
||||
Actor_SetScale(&this->dyna.actor, 1.0f);
|
||||
osSyncPrintf("(spot11 爆弾壁)(arg_data 0x%04x)\n", this->dyna.actor.params);
|
||||
|
@ -139,5 +138,5 @@ void BgSpot11Bakudankabe_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
void BgSpot11Bakudankabe_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot11Bakudankabe* this = THIS;
|
||||
|
||||
Gfx_DrawDListOpa(globalCtx, D_06001980);
|
||||
Gfx_DrawDListOpa(globalCtx, gBgSpot11DL1);
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ extern Gfx D_06000870[];
|
|||
void func_808B27F0(GlobalContext* globalCtx, s16 arg1) {
|
||||
WaterBox* waterBox = &globalCtx->colCtx.stat.colHeader->waterBoxes[0];
|
||||
|
||||
waterBox->unk_02 = arg1;
|
||||
waterBox->ySurface = arg1;
|
||||
}
|
||||
|
||||
s32 func_808B280C(GlobalContext* globalCtx) {
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_bg_spot17_funen.h"
|
||||
#include "objects/object_spot17_obj/object_spot17_obj.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
|
@ -32,8 +33,6 @@ static InitChainEntry sInitChain[] = {
|
|||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
extern Gfx D_06000B40[];
|
||||
|
||||
void BgSpot17Funen_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgSpot17Funen* this = THIS;
|
||||
|
||||
|
@ -68,7 +67,7 @@ void func_808B7478(Actor* thisx, GlobalContext* globalCtx) {
|
|||
gSPSegment(POLY_XLU_DISP++, 0x08,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, (0 - globalCtx->gameplayFrames) & 0x7F, 0x20, 0x20, 1, 0,
|
||||
(0 - globalCtx->gameplayFrames) & 0x7F, 0x20, 0x20));
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_06000B40);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gBgSpot17DL1);
|
||||
|
||||
if (1) {}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ void BgYdanHasi_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
// Water the moving platform floats on in B1. Never runs in Master Quest
|
||||
thisx->initPosRot.pos.y = (thisx->initPosRot.pos.y + -5.0f);
|
||||
thisx->posRot.pos.y = thisx->initPosRot.pos.y;
|
||||
waterBox->unk_02 = thisx->initPosRot.pos.y;
|
||||
waterBox->ySurface = thisx->initPosRot.pos.y;
|
||||
this->actionFunc = BgYdanHasi_InitWater;
|
||||
} else {
|
||||
if (thisx->params == 0) {
|
||||
|
@ -68,7 +68,7 @@ void BgYdanHasi_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
DynaPolyInfo_Alloc(&D_06007798, &localConst);
|
||||
thisx->scale.z = 0.15f;
|
||||
thisx->scale.x = 0.15f;
|
||||
thisx->posRot.pos.y = (waterBox->unk_02 + 20.0f);
|
||||
thisx->posRot.pos.y = (waterBox->ySurface + 20.0f);
|
||||
this->actionFunc = BgYdanHasi_UpdateFloatingBlock;
|
||||
} else {
|
||||
// 3 platforms on 2F
|
||||
|
@ -100,7 +100,7 @@ void BgYdanHasi_UpdateFloatingBlock(BgYdanHasi* this, GlobalContext* globalCtx)
|
|||
this->dyna.actor.posRot.pos.z =
|
||||
((Math_CosS(this->dyna.actor.posRot.rot.y) * framesAfterMath) + this->dyna.actor.initPosRot.pos.z);
|
||||
waterBox = &globalCtx->colCtx.stat.colHeader->waterBoxes[1];
|
||||
this->dyna.actor.posRot.pos.y = waterBox->unk_02 + 20.0f;
|
||||
this->dyna.actor.posRot.pos.y = waterBox->ySurface + 20.0f;
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ WaterBox* BgYdanHasi_MoveWater(BgYdanHasi* this, GlobalContext* globalCtx) {
|
|||
func_8002F948(&this->dyna.actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
|
||||
}
|
||||
waterBox = globalCtx->colCtx.stat.colHeader->waterBoxes;
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[1].unk_02 = this->dyna.actor.posRot.pos.y;
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[1].ySurface = this->dyna.actor.posRot.pos.y;
|
||||
if (1) {}
|
||||
return waterBox + 0x1;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "z_demo_effect.h"
|
||||
#include "vt.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
|
@ -55,8 +56,6 @@ void DemoEffect_InitPositionFromCsAction(DemoEffect* this, GlobalContext* global
|
|||
void DemoEffect_MoveToCsEndpoint(DemoEffect* this, GlobalContext* globalCtx, s32 csActionId, s32 shouldUpdateFacing);
|
||||
void DemoEffect_MoveGetItem(DemoEffect* this, GlobalContext* globalCtx, s32 csActionId, f32 speed);
|
||||
|
||||
extern Gfx D_04010130[]; // lightBall
|
||||
|
||||
extern Gfx D_06001240[]; // kokiriJewel
|
||||
extern Gfx D_060010E0[]; // kokiriJewelHolder
|
||||
extern Gfx D_060020A0[]; // goronJewel
|
||||
|
@ -1882,7 +1881,7 @@ void DemoEffect_DrawLightEffect(Actor* thisx, GlobalContext* globalCtx) {
|
|||
if (this->light.flicker == 0) {
|
||||
this->light.flicker = 1;
|
||||
} else {
|
||||
disp = (u32)D_04010130; // necessary to match, should be able to remove after fake matches are fixed
|
||||
disp = (u32)gGameKeepMoteDL0; // necessary to match, should be able to remove after fake matches are fixed
|
||||
alpha = &this->light.alpha;
|
||||
func_80093D84(globalCtx->state.gfxCtx);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 128, this->primXluColor[0], this->primXluColor[1],
|
||||
|
@ -1925,7 +1924,7 @@ void DemoEffect_DrawBlueOrb(Actor* thisx, GlobalContext* globalCtx) {
|
|||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2901),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
this->blueOrb.rotation += 0x01F4;
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_04010130);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gGameKeepMoteDL0);
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2907);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_en_butte.h"
|
||||
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
|
@ -122,7 +123,7 @@ void EnButte_DrawTransformationEffect(EnButte* this, GlobalContext* globalCtx) {
|
|||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 200, 200, 180, alpha);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 200, 200, 210, 255);
|
||||
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(&D_04010130));
|
||||
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(&gGameKeepMoteDL0));
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_choo.c", 326);
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_pu_box.h"
|
||||
#include "objects/object_pu_box/object_pu_box.h"
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
|
@ -27,9 +28,6 @@ const ActorInit En_Pu_box_InitVars = {
|
|||
(ActorFunc)EnPubox_Draw,
|
||||
};
|
||||
|
||||
extern Gfx D_06000380[];
|
||||
extern UNK_TYPE D_060006D0;
|
||||
|
||||
void EnPubox_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
u32 local_c = 0;
|
||||
EnPubox* this = THIS;
|
||||
|
@ -59,7 +57,7 @@ void EnPubox_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
this->dyna.unk_15C = 0;
|
||||
thisx->unk_1F = 1;
|
||||
thisx->gravity = -2.0f;
|
||||
DynaPolyInfo_Alloc(&D_060006D0, &local_c);
|
||||
DynaPolyInfo_Alloc(&gPuBoxCol, &local_c);
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, local_c);
|
||||
}
|
||||
|
||||
|
@ -88,5 +86,5 @@ void EnPubox_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnPubox_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, &D_06000380);
|
||||
Gfx_DrawDListOpa(globalCtx, gPuBoxDL2);
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_vase.h"
|
||||
#include "objects/object_vase/object_vase.h"
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
|
@ -26,8 +27,6 @@ const ActorInit En_Vase_InitVars = {
|
|||
(ActorFunc)EnVase_Draw,
|
||||
};
|
||||
|
||||
extern Gfx D_06000000[];
|
||||
|
||||
void EnVase_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnVase* this = THIS;
|
||||
|
||||
|
@ -40,5 +39,5 @@ void EnVase_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnVase_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, &D_06000000);
|
||||
Gfx_DrawDListOpa(globalCtx, &gVaseDL);
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_magic_dark.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS 0x02000010
|
||||
|
||||
|
@ -269,12 +270,12 @@ void MagicDark_OrbDraw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_magic_dark.c", 632),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
Matrix_RotateZ(sp6C * (M_PI / 32), MTXMODE_APPLY);
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_04010130);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gGameKeepMoteDL0);
|
||||
Matrix_Pull();
|
||||
Matrix_RotateZ(-sp6C * (M_PI / 32), MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_magic_dark.c", 639),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_04010130);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gGameKeepMoteDL0);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_magic_dark.c", 643);
|
||||
}
|
||||
|
|
|
@ -1,67 +1,11 @@
|
|||
#include "z_magic_dark.h"
|
||||
|
||||
extern UNK_TYPE D_04032490[];
|
||||
|
||||
static UNK_TYPE sDiamondTexture[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000,
|
||||
0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001,
|
||||
0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000,
|
||||
0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C,
|
||||
0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103,
|
||||
0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001,
|
||||
0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102,
|
||||
0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503,
|
||||
0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F,
|
||||
0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801,
|
||||
0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001,
|
||||
0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19,
|
||||
0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403,
|
||||
0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304,
|
||||
0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29,
|
||||
0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223,
|
||||
0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25,
|
||||
0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F,
|
||||
0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520,
|
||||
0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F,
|
||||
0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15,
|
||||
0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741,
|
||||
0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B,
|
||||
0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76,
|
||||
0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53,
|
||||
0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F,
|
||||
0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791,
|
||||
0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90,
|
||||
0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C,
|
||||
0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE,
|
||||
0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5,
|
||||
0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1,
|
||||
0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB,
|
||||
0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC,
|
||||
0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5,
|
||||
0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5,
|
||||
0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC,
|
||||
0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0,
|
||||
0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE,
|
||||
0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6,
|
||||
0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA,
|
||||
0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE,
|
||||
0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD,
|
||||
0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5,
|
||||
0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE,
|
||||
0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC,
|
||||
0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF,
|
||||
0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
|
||||
static u64 sDiamondTexture[] = {
|
||||
#include "assets/overlays/ovl_Magic_Dark/diamond_texture.i8.inc.c"
|
||||
};
|
||||
|
||||
extern UNK_TYPE D_04032490[];
|
||||
|
||||
static Vtx sDiamondVerts[] = {
|
||||
VTX(0, 0, 64, 1024, 512, 0x00, 0x00, 0x78, 0xFF), VTX(55, 0, 32, 1707, 512, 0x67, 0x00, 0x3C, 0xFF),
|
||||
VTX(0, 108, 0, 1365, 0, 0x00, 0x78, 0x00, 0xFF), VTX(55, 0, -32, 2389, 512, 0x67, 0x00, 0xC4, 0xFF),
|
||||
|
|
|
@ -78,7 +78,7 @@ void EffectSsGRipple_DrawRipple(GlobalContext* globalCtx, EffectSs* this, UNK_PT
|
|||
radius = this->rRadius * 0.0025f;
|
||||
|
||||
if ((this->rWaterBoxNum != -1) && (this->rWaterBoxNum < globalCtx->colCtx.stat.colHeader->nbWaterBoxes)) {
|
||||
yPos = (this->rWaterBoxNum + globalCtx->colCtx.stat.colHeader->waterBoxes)->unk_02;
|
||||
yPos = (this->rWaterBoxNum + globalCtx->colCtx.stat.colHeader->waterBoxes)->ySurface;
|
||||
} else {
|
||||
yPos = this->pos.y;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue