1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 06:24:30 +00:00

Global Context And General Cleanup (#863)

* door context

* renames

* done

* fix unintended change

* all nb gone

* more nb gone

* merge fishing

* fix size commentX

* door changes suggested by dragorn

* fix accidental semicolon

* another

* change all texture pointers to void*

* error fix and format

* Update src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>

* fix ostime

* correct mistake in SkyboxContext

* probably fix nonmatching

* Update include/z64.h

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* roman's suggestions, fix incorrect type definition in z64scene.h

* typo in struct

* make typedef use u8 array

* forgot one

* pull in master and format.sh

Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
Zelllll 2021-08-15 18:15:58 -05:00 committed by GitHub
parent 1890e751b9
commit 7551dc2b71
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
105 changed files with 496 additions and 508 deletions

View file

@ -121,7 +121,7 @@ void BgDodoago_Init(Actor* thisx, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params & 0x3F))) {
BgDodoago_SetupAction(this, func_8087227C);
this->dyna.actor.shape.rot.x = 0x1333;
globalCtx->unk_11D30[0] = globalCtx->unk_11D30[1] = 0xFF;
globalCtx->roomCtx.unk_74[0] = globalCtx->roomCtx.unk_74[1] = 0xFF;
return;
}
@ -152,14 +152,14 @@ void func_80871CF4(BgDodoago* this, GlobalContext* globalCtx) {
(Math_Vec3f_Yaw(&this->dyna.actor.world.pos, &explosive->world.pos) >= this->dyna.actor.shape.rot.y) ? 1
: 0;
if (((globalCtx->unk_11D30[0] == 0xFF) && (this->unk_164 == 1)) ||
((globalCtx->unk_11D30[1] == 0xFF) && (this->unk_164 == 0))) {
if (((globalCtx->roomCtx.unk_74[0] == 0xFF) && (this->unk_164 == 1)) ||
((globalCtx->roomCtx.unk_74[1] == 0xFF) && (this->unk_164 == 0))) {
Flags_SetSwitch(globalCtx, (this->dyna.actor.params & 0x3F));
this->unk_164 = 0;
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
BgDodoago_SetupAction(this, func_80871FB8);
OnePointCutscene_Init(globalCtx, 3380, 160, &this->dyna.actor, MAIN_CAM);
} else if (globalCtx->unk_11D30[this->unk_164] == 0) {
} else if (globalCtx->roomCtx.unk_74[this->unk_164] == 0) {
OnePointCutscene_Init(globalCtx, 3065, 40, &this->dyna.actor, MAIN_CAM);
BgDodoago_SetupAction(this, func_80872288);
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
@ -204,14 +204,14 @@ void func_80871FB8(BgDodoago* this, GlobalContext* globalCtx) {
};
s32 i;
if (globalCtx->unk_11D30[0] < 0xFF) {
globalCtx->unk_11D30[0] += 5;
if (globalCtx->roomCtx.unk_74[0] < 0xFF) {
globalCtx->roomCtx.unk_74[0] += 5;
}
if (globalCtx->unk_11D30[1] < 0xFF) {
globalCtx->unk_11D30[1] += 5;
if (globalCtx->roomCtx.unk_74[1] < 0xFF) {
globalCtx->roomCtx.unk_74[1] += 5;
}
if (globalCtx->unk_11D30[0] != 0xFF || globalCtx->unk_11D30[1] != 0xFF) {
if (globalCtx->roomCtx.unk_74[0] != 0xFF || globalCtx->roomCtx.unk_74[1] != 0xFF) {
D_80872824--;
return;
}
@ -253,9 +253,9 @@ void func_8087227C(BgDodoago* this, GlobalContext* globalCtx) {
}
void func_80872288(BgDodoago* this, GlobalContext* globalCtx) {
globalCtx->unk_11D30[this->unk_164] += 5;
globalCtx->roomCtx.unk_74[this->unk_164] += 5;
if (globalCtx->unk_11D30[this->unk_164] == 0xFF) {
if (globalCtx->roomCtx.unk_74[this->unk_164] == 0xFF) {
BgDodoago_SetupAction(this, func_80871CF4);
}
}

View file

@ -195,7 +195,7 @@ void BgHidanFirewall_Update(Actor* thisx, GlobalContext* globalCtx) {
}
}
static u64* sFireballTexs[] = {
static void* sFireballTexs[] = {
gFireTempleFireball0Tex, gFireTempleFireball1Tex, gFireTempleFireball2Tex, gFireTempleFireball3Tex,
gFireTempleFireball4Tex, gFireTempleFireball5Tex, gFireTempleFireball6Tex, gFireTempleFireball7Tex,
};

View file

@ -344,7 +344,7 @@ void BgHidanRock_Update(Actor* thisx, GlobalContext* globalCtx) {
}
}
static u64* sVerticalFlamesTexs[] = {
static void* sVerticalFlamesTexs[] = {
gFireTempleBigVerticalFlame0Tex, gFireTempleBigVerticalFlame1Tex, gFireTempleBigVerticalFlame2Tex,
gFireTempleBigVerticalFlame3Tex, gFireTempleBigVerticalFlame4Tex, gFireTempleBigVerticalFlame5Tex,
gFireTempleBigVerticalFlame6Tex, gFireTempleBigVerticalFlame7Tex,

View file

@ -116,7 +116,7 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneForward, 1500, ICHAIN_STOP),
};
static u64* sFireballsTexs[] = {
static void* sFireballsTexs[] = {
gFireTempleFireball0Tex, gFireTempleFireball1Tex, gFireTempleFireball2Tex, gFireTempleFireball3Tex,
gFireTempleFireball4Tex, gFireTempleFireball5Tex, gFireTempleFireball6Tex, gFireTempleFireball7Tex,
};

View file

@ -77,7 +77,7 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
static u64* sFireballsTexs[] = {
static void* sFireballsTexs[] = {
gFireTempleFireball0Tex, gFireTempleFireball1Tex, gFireTempleFireball2Tex, gFireTempleFireball3Tex,
gFireTempleFireball4Tex, gFireTempleFireball5Tex, gFireTempleFireball6Tex, gFireTempleFireball7Tex,
};

View file

@ -288,12 +288,12 @@ void BgJyaMegami_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actionFunc(this, globalCtx);
}
static u64* sRightSideCrumbles[] = {
static void* sRightSideCrumbles[] = {
gMeagmiRightCrumble1Tex, gMeagmiRightCrumble2Tex, gMeagmiRightCrumble3Tex,
gMeagmiRightCrumble4Tex, gMeagmiRightCrumble5Tex,
};
static u64* sLeftSideCrumbles[] = {
static void* sLeftSideCrumbles[] = {
gMeagmiLeftCrumble1Tex, gMeagmiLeftCrumble2Tex, gMeagmiLeftCrumble3Tex,
gMeagmiLeftCrumble4Tex, gMeagmiLeftCrumble5Tex,
};

View file

@ -237,7 +237,7 @@ void BgMizuWater_ChangeWaterLevel(BgMizuWater* this, GlobalContext* globalCtx) {
}
if (Math_StepToF(&this->actor.world.pos.y, this->targetY, 5.0f)) {
globalCtx->unk_11D30[0] = 0;
globalCtx->roomCtx.unk_74[0] = 0;
this->actionFunc = BgMizuWater_WaitForAction;
func_80106CCC(globalCtx);
}
@ -252,7 +252,7 @@ void BgMizuWater_ChangeWaterLevel(BgMizuWater* this, GlobalContext* globalCtx) {
this->targetY = this->baseY;
}
if (Math_StepToF(&this->actor.world.pos.y, this->targetY, 1.0f)) {
globalCtx->unk_11D30[0] = 0;
globalCtx->roomCtx.unk_74[0] = 0;
this->actionFunc = BgMizuWater_WaitForAction;
}
waterBoxes[6].ySurface = this->actor.world.pos.y;
@ -264,7 +264,7 @@ void BgMizuWater_ChangeWaterLevel(BgMizuWater* this, GlobalContext* globalCtx) {
this->targetY = this->baseY;
}
if (Math_StepToF(&this->actor.world.pos.y, this->targetY, 1.0f)) {
globalCtx->unk_11D30[0] = 0;
globalCtx->roomCtx.unk_74[0] = 0;
this->actionFunc = BgMizuWater_WaitForAction;
}
waterBoxes[8].ySurface = this->actor.world.pos.y;
@ -276,7 +276,7 @@ void BgMizuWater_ChangeWaterLevel(BgMizuWater* this, GlobalContext* globalCtx) {
this->targetY = this->baseY;
}
if (Math_StepToF(&this->actor.world.pos.y, this->targetY, 1.0f)) {
globalCtx->unk_11D30[0] = 0;
globalCtx->roomCtx.unk_74[0] = 0;
this->actionFunc = BgMizuWater_WaitForAction;
}
waterBoxes[16].ySurface = this->actor.world.pos.y;
@ -320,7 +320,7 @@ void BgMizuWater_Update(Actor* thisx, GlobalContext* globalCtx) {
unk1 = 255 - (s32)((posY - WATER_TEMPLE_WATER_F2_Y) / (WATER_TEMPLE_WATER_F3_Y - WATER_TEMPLE_WATER_F2_Y) *
(255 - 160));
}
globalCtx->unk_11D30[1] = ((u8)unk0 << 8) | (unk1 & 0xFF);
globalCtx->roomCtx.unk_74[1] = ((u8)unk0 << 8) | (unk1 & 0xFF);
}
this->actionFunc(this, globalCtx);

View file

@ -32,7 +32,7 @@ extern Gfx D_060013F0[];
extern Gfx D_060126F0[];
extern Gfx D_06012D30[];
static u64* D_808AD850[] = {
static void* D_808AD850[] = {
0x060096B0, 0x0600A2B0, 0x0600AEB0, 0x0600BAB0, 0x0600C6B0, 0x0600D2B0,
0x0600DEB0, 0x0600EAB0, 0x0600F6B0, 0x060102B0, 0x06010EB0, 0x06011AB0,
};

View file

@ -116,7 +116,7 @@ void func_808BA018(BgTokiHikari* this, GlobalContext* globalCtx) {
}
void func_808BA204(BgTokiHikari* this, GlobalContext* globalCtx) {
if (globalCtx->unk_11D30[1] != 0) {
if (globalCtx->roomCtx.unk_74[1] != 0) {
this->actionFunc = func_808BA22C;
}
}

View file

@ -80,7 +80,7 @@ void BgTokiSwd_Init(Actor* thisx, GlobalContext* globalCtx) {
}
if (gSaveContext.sceneSetupIndex == 5) {
globalCtx->unk_11D30[0] = 0xFF;
globalCtx->roomCtx.unk_74[0] = 0xFF;
}
Collider_InitCylinder(globalCtx, &this->collider);
@ -122,10 +122,10 @@ void func_808BAF40(BgTokiSwd* this, GlobalContext* globalCtx) {
}
}
if (gSaveContext.sceneSetupIndex == 5) {
if (globalCtx->unk_11D30[0] > 0) {
globalCtx->unk_11D30[0]--;
if (globalCtx->roomCtx.unk_74[0] > 0) {
globalCtx->roomCtx.unk_74[0]--;
} else {
globalCtx->unk_11D30[0] = 0;
globalCtx->roomCtx.unk_74[0] = 0;
}
}
}
@ -149,8 +149,8 @@ void func_808BB0AC(BgTokiSwd* this, GlobalContext* globalCtx) {
}
void func_808BB128(BgTokiSwd* this, GlobalContext* globalCtx) {
if (Flags_GetEnv(globalCtx, 1) && (globalCtx->unk_11D30[0] < 0xFF)) {
globalCtx->unk_11D30[0] += 5;
if (Flags_GetEnv(globalCtx, 1) && (globalCtx->roomCtx.unk_74[0] < 0xFF)) {
globalCtx->roomCtx.unk_74[0] += 5;
}
}

View file

@ -238,7 +238,7 @@ void BgTreemouth_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
if (gSaveContext.sceneSetupIndex == 6) {
alpha = (globalCtx->unk_11D30[0] + 0x1F4);
alpha = (globalCtx->roomCtx.unk_74[0] + 0x1F4);
}
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, alpha * 0.1f);

View file

@ -1510,7 +1510,7 @@ void BossFd_UpdateEffects(BossFd* this, GlobalContext* globalCtx) {
}
void BossFd_DrawEffects(BossFdEffect* effect, GlobalContext* globalCtx) {
static u64* dustTex[] = {
static void* dustTex[] = {
gDust1Tex, gDust1Tex, gDust2Tex, gDust3Tex, gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex,
};
u8 flag = false;
@ -1804,7 +1804,11 @@ void BossFd_PostHeadDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, V
}
}
static u64* sEyeTextures[] = { gVolvagiaEyeOpenTex, gVolvagiaEyeHalfTex, gVolvagiaEyeClosedTex };
static void* sEyeTextures[] = {
gVolvagiaEyeOpenTex,
gVolvagiaEyeHalfTex,
gVolvagiaEyeClosedTex,
};
static Gfx* sBodyDLists[] = {
gVolvagiaBodySeg1DL, gVolvagiaBodySeg2DL, gVolvagiaBodySeg3DL, gVolvagiaBodySeg4DL, gVolvagiaBodySeg5DL,

View file

@ -1188,7 +1188,7 @@ void BossFd2_DrawMane(BossFd2* this, GlobalContext* globalCtx) {
}
void BossFd2_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* eyeTextures[] = { gHoleVolvagiaEyeOpenTex, gHoleVolvagiaEyeHalfTex, gHoleVolvagiaEyeClosedTex };
static void* eyeTextures[] = { gHoleVolvagiaEyeOpenTex, gHoleVolvagiaEyeHalfTex, gHoleVolvagiaEyeClosedTex };
s32 pad;
BossFd2* this = THIS;

View file

@ -182,22 +182,22 @@ static u8 sDecayMaskTotal[16 * 16] = {
// clang-format on
// These are Phantom Ganon's body textures, but I don't know which is which.
static u64* sLimbTex_rgba16_8x8[] = {
static void* sLimbTex_rgba16_8x8[] = {
gPhantomGanonLimbTex_00A800, gPhantomGanonLimbTex_00AE80, gPhantomGanonLimbTex_00AF00,
gPhantomGanonLimbTex_00C180, gPhantomGanonLimbTex_00C400,
};
static u64* sLimbTex_rgba16_16x8[] = {
static void* sLimbTex_rgba16_16x8[] = {
gPhantomGanonLimbTex_00B980, gPhantomGanonLimbTex_00C480, gPhantomGanonLimbTex_00BC80,
gPhantomGanonLimbTex_00BD80, gPhantomGanonLimbTex_00C080,
};
static u64* sLimbTex_rgba16_16x16[] = {
static void* sLimbTex_rgba16_16x16[] = {
gPhantomGanonLimbTex_00C200, gPhantomGanonLimbTex_00A000, gPhantomGanonLimbTex_00A200,
gPhantomGanonLimbTex_00A400, gPhantomGanonLimbTex_00A600, gPhantomGanonLimbTex_00A880,
gPhantomGanonLimbTex_00B780, gPhantomGanonLimbTex_00BA80, gPhantomGanonLimbTex_00BE80,
};
static u64* sLimbTex_rgba16_16x32[] = { gPhantomGanonLimbTex_00AA80, gPhantomGanonLimbTex_00AF80 };
static void* sLimbTex_rgba16_16x32[] = { gPhantomGanonLimbTex_00AA80, gPhantomGanonLimbTex_00AF80 };
static u64* sMouthTex_ci8_16x16[] = { gPhantomGanonMouthTex, gPhantomGanonSmileTex };
static void* sMouthTex_ci8_16x16[] = { gPhantomGanonMouthTex, gPhantomGanonSmileTex };
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE),

View file

@ -334,7 +334,7 @@ void BossMo_Init(Actor* thisx, GlobalContext* globalCtx2) {
Flags_SetSwitch(globalCtx, 0x14);
sMorphaCore = this;
MO_WATER_LEVEL(globalCtx) = this->waterLevel = MO_WATER_LEVEL(globalCtx);
globalCtx->unk_11D30[0] = 0xA0;
globalCtx->roomCtx.unk_74[0] = 0xA0;
globalCtx->specialEffects = sEffects;
for (i = 0; i < ARRAY_COUNT(sEffects); i++) {
sEffects[i].type = MO_FX_NONE;
@ -354,7 +354,7 @@ void BossMo_Init(Actor* thisx, GlobalContext* globalCtx2) {
Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_WARP1, 0.0f, -280.0f, 0.0f, 0,
0, 0, -1);
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_B_HEART, -200.0f, -280.0f, 0.0f, 0, 0, 0, 0);
globalCtx->unk_11D30[0] = 0xFF;
globalCtx->roomCtx.unk_74[0] = 0xFF;
MO_WATER_LEVEL(globalCtx) = -500;
return;
}
@ -1698,9 +1698,9 @@ void BossMo_DeathCs(BossMo* this, GlobalContext* globalCtx) {
}
}
if (sMorphaCore->waterLevel < -200.0f) {
globalCtx->unk_11D30[0]++;
if (globalCtx->unk_11D30[0] >= 0xFF) {
globalCtx->unk_11D30[0] = 0xFF;
globalCtx->roomCtx.unk_74[0]++;
if (globalCtx->roomCtx.unk_74[0] >= 0xFF) {
globalCtx->roomCtx.unk_74[0] = 0xFF;
}
}
if (sMorphaCore->waterLevel < -250.0f) {

View file

@ -19,9 +19,9 @@ static s32 sUnused = 0;
#include "z_demo_du_cutscene_data.c" EARLY
static u64* sEyeTextures[] = { gDaruniaEyeOpenTex, gDaruniaEyeOpeningTex, gDaruniaEyeShutTex, gDaruniaEyeClosingTex };
static u64* sMouthTextures[] = { gDaruniaMouthSeriousTex, gDaruniaMouthGrinningTex, gDaruniaMouthOpenTex,
gDaruniaMouthHappyTex };
static void* sEyeTextures[] = { gDaruniaEyeOpenTex, gDaruniaEyeOpeningTex, gDaruniaEyeShutTex, gDaruniaEyeClosingTex };
static void* sMouthTextures[] = { gDaruniaMouthSeriousTex, gDaruniaMouthGrinningTex, gDaruniaMouthOpenTex,
gDaruniaMouthHappyTex };
/**
* Cs => Cutscene
@ -798,10 +798,10 @@ void DemoDu_Draw_02(Actor* thisx, GlobalContext* globalCtx2) {
GlobalContext* globalCtx = globalCtx2;
DemoDu* this = THIS;
s16 eyeTexIndex = this->eyeTexIndex;
u64* eyeTexture = sEyeTextures[eyeTexIndex];
void* eyeTexture = sEyeTextures[eyeTexIndex];
s32 pad;
s16 mouthTexIndex = this->mouthTexIndex;
u64* mouthTexture = sMouthTextures[mouthTexIndex];
void* mouthTexture = sMouthTextures[mouthTexIndex];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_du_inKenjyanomaDemo02.c", 275);
@ -993,10 +993,10 @@ void DemoDu_Draw_01(Actor* thisx, GlobalContext* globalCtx2) {
GlobalContext* globalCtx = globalCtx2;
DemoDu* this = THIS;
s16 eyeTexIndex = this->eyeTexIndex;
u64* eyeTexture = sEyeTextures[eyeTexIndex];
void* eyeTexture = sEyeTextures[eyeTexIndex];
s32 pad;
s16 mouthTexIndex = this->mouthTexIndex;
u64* mouthTexture = sMouthTextures[mouthTexIndex];
void* mouthTexture = sMouthTextures[mouthTexIndex];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_du.c", 615);

View file

@ -52,7 +52,7 @@ void func_80987330(DemoIm* this, GlobalContext* globalCtx);
void func_8098764C(DemoIm* this, GlobalContext* globalCtx);
void func_80987658(DemoIm* this, GlobalContext* globalCtx);
static UNK_PTR D_80987830[] = {
static void* D_80987830[] = {
0x06007210,
0x06007D50,
0x06008150,
@ -530,7 +530,7 @@ void func_80985C94(DemoIm* this, GlobalContext* globalCtx) {
void func_80985CE8(DemoIm* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 unk_25C = this->unk_25C;
UNK_PTR sp68 = D_80987830[unk_25C];
void* sp68 = D_80987830[unk_25C];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 281);
@ -1190,7 +1190,7 @@ void func_8098764C(DemoIm* this, GlobalContext* globalCtx) {
void func_80987658(DemoIm* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 unk_25C = this->unk_25C;
UNK_PTR sp68 = D_80987830[unk_25C];
void* sp68 = D_80987830[unk_25C];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_im.c", 904);

View file

@ -245,7 +245,7 @@ void DemoKankyo_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0,
0x0000);
} else {
globalCtx->unk_11D30[1] = 0xFF;
globalCtx->roomCtx.unk_74[1] = 0xFF;
Actor_Kill(&this->actor);
}
break;

View file

@ -61,11 +61,11 @@ typedef enum {
/* 4 */ SARIA_MOUTH_FROWNING
} SariaMouthState;
static u64* sEyeTextures[] = {
static void* sEyeTextures[] = {
gSariaEyeOpenTex, gSariaEyeHalfTex, gSariaEyeClosedTex, gSariaEyeSuprisedTex, gSariaEyeSadTex,
};
static u64* sMouthTextures[] = {
static void* sMouthTextures[] = {
gSariaMouthClosed2Tex, gSariaMouthSuprisedTex, gSariaMouthClosedTex,
gSariaMouthSmilingOpenTex, gSariaMouthFrowningTex,
};
@ -457,10 +457,10 @@ void func_8098F16C(DemoSa* this, GlobalContext* globalCtx) {
void DemoSa_DrawXlu(DemoSa* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 eyeIndex = this->eyeIndex;
UNK_PTR sp78 = sEyeTextures[eyeIndex];
void* sp78 = sEyeTextures[eyeIndex];
s16 mouthIndex = this->mouthIndex;
s32 pad2;
UNK_PTR sp6C = sMouthTextures[mouthIndex];
void* sp6C = sMouthTextures[mouthIndex];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 296);
@ -795,10 +795,10 @@ void DemoSa_DrawNothing(DemoSa* this, GlobalContext* globalCtx) {
void DemoSa_DrawOpa(DemoSa* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 eyeIndex = this->eyeIndex;
UNK_PTR eyeTex = sEyeTextures[eyeIndex];
void* eyeTex = sEyeTextures[eyeIndex];
s32 pad2;
s16 mouthIndex = this->mouthIndex;
UNK_PTR mouthTex = sMouthTextures[mouthIndex];
void* mouthTex = sMouthTextures[mouthIndex];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa.c", 602);

View file

@ -496,7 +496,7 @@ void DoorKiller_Update(Actor* thisx, GlobalContext* globalCtx) {
void DoorKiller_SetTexture(Actor* thisx, GlobalContext* globalCtx) {
DoorKiller* this = THIS;
u64* doorTexture = this->texture;
void* doorTexture = this->texture;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_door_killer.c", 883);
gSPSegment(POLY_OPA_DISP++, 0x08, doorTexture);

View file

@ -11,7 +11,7 @@
typedef struct {
/* 0x00 */ s16 objectId;
/* 0x04 */ u64* texture;
/* 0x04 */ void* texture;
} DoorKillerTextureEntry; // size 0x8
struct DoorKiller;
@ -25,7 +25,7 @@ typedef struct DoorKiller {
/* 0x0191 */ u8 playerIsOpening; // Must be at same offset as playerIsOpening in EnDoor
/* 0x0192 */ Vec3s jointTable[9];
/* 0x01C8 */ ColliderCylinder colliderCylinder;
/* 0x0214 */ u64* texture;
/* 0x0214 */ void* texture;
/* 0x0218 */ u16 hasHitPlayerOrGround;
/* 0x021A */ u16 timer;
/* 0x021C */ u8 doorObjBankIndex;

View file

@ -158,7 +158,7 @@ static Gfx* sJabuDoorDLists[] = {
};
// boss door textures?
static UNK_PTR D_809982D4[] = {
static void* D_809982D4[] = {
0x060065C0, 0x060035C0, 0x060055C0, 0x060045C0, 0x06000000, 0x060025C0, 0x060015C0,
};
@ -168,7 +168,7 @@ void DoorShutter_SetupAction(DoorShutter* this, DoorShutterActionFunc actionFunc
}
s32 DoorShutter_SetupDoor(DoorShutter* this, GlobalContext* globalCtx) {
TransitionActorEntry* transitionEntry = &globalCtx->transitionActorList[(u16)this->dyna.actor.params >> 0xA];
TransitionActorEntry* transitionEntry = &globalCtx->transiActorCtx.list[(u16)this->dyna.actor.params >> 0xA];
s8 frontRoom = transitionEntry->sides[0].room;
s32 doorType = this->doorType;
ShutterObjectInfo* temp_t0 = &sObjectInfo[this->unk_16B];
@ -275,7 +275,7 @@ void DoorShutter_Destroy(Actor* thisx, GlobalContext* globalCtx) {
if (this->dyna.actor.room >= 0) {
s32 transitionActorId = (u16)this->dyna.actor.params >> 0xA;
globalCtx->transitionActorList[transitionActorId].id *= -1;
globalCtx->transiActorCtx.list[transitionActorId].id *= -1;
}
}
@ -534,7 +534,7 @@ void func_80997220(DoorShutter* this, GlobalContext* globalCtx) {
func_8002DBD0(&this->dyna.actor, &vec, &player->actor.world.pos);
this->dyna.actor.room =
globalCtx->transitionActorList[(u16)this->dyna.actor.params >> 0xA].sides[(vec.z < 0.0f) ? 0 : 1].room;
globalCtx->transiActorCtx.list[(u16)this->dyna.actor.params >> 0xA].sides[(vec.z < 0.0f) ? 0 : 1].room;
if (room != this->dyna.actor.room) {
Room tempRoom = globalCtx->roomCtx.curRoom;
@ -721,7 +721,7 @@ void DoorShutter_Draw(Actor* thisx, GlobalContext* globalCtx) {
} else {
if (sp70->b != NULL) {
TransitionActorEntry* transitionEntry =
&globalCtx->transitionActorList[(u16)this->dyna.actor.params >> 0xA];
&globalCtx->transiActorCtx.list[(u16)this->dyna.actor.params >> 0xA];
if (globalCtx->roomCtx.prevRoom.num >= 0 ||
transitionEntry->sides[0].room == transitionEntry->sides[1].room) {

View file

@ -313,13 +313,12 @@ void EnAni_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
}
}
static u64* sEyeTextures[] = {
gRoofManEyeOpenTex,
gRoofManEyeHalfTex,
gRoofManEyeClosedTex,
};
void EnAni_Draw(Actor* thisx, GlobalContext* globalCtx) {
static void* eyeTextures[] = {
gRoofManEyeOpenTex,
gRoofManEyeHalfTex,
gRoofManEyeClosedTex,
};
EnAni* this = THIS;
s32 pad;
@ -327,7 +326,7 @@ void EnAni_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_800943C8(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnAni_OverrideLimbDraw, EnAni_PostLimbDraw, this);

View file

@ -215,9 +215,10 @@ void EnAnubiceFire_Update(Actor* thisx, GlobalContext* globalCtx) {
}
}
static u64* D_809B3270[] = { gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex };
void EnAnubiceFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
static void* D_809B3270[] = {
gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex,
};
EnAnubiceFire* this = THIS;
s32 pad[2];
s32 i;

View file

@ -523,9 +523,8 @@ s32 EnBomBowlMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx**
return false;
}
static u64* eyeTextures[3] = { gChuGirlEyeOpenTex, gChuGirlEyeHalfTex, gChuGirlEyeClosedTex };
void EnBomBowlMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
static void* eyeTextures[] = { gChuGirlEyeOpenTex, gChuGirlEyeHalfTex, gChuGirlEyeClosedTex };
EnBomBowlMan* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_bom_bowl_man.c", 907);

View file

@ -198,7 +198,7 @@ void EnBx_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void EnBx_Draw(Actor* thisx, GlobalContext* globalCtx) {
static UNK_PTR D_809D2560[] = { 0x060024F0, 0x060027F0, 0x060029F0 };
static void* D_809D2560[] = { 0x060024F0, 0x060027F0, 0x060029F0 };
EnBx* this = THIS;
s32 pad;
Mtx* mtx = Graph_Alloc(globalCtx->state.gfxCtx, 4 * sizeof(Mtx));

View file

@ -448,7 +448,7 @@ void EnCs_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void EnCs_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* eyeTextures[] = {
static void* eyeTextures[] = {
gGraveyardKidEyesOpenTex,
gGraveyardKidEyesHalfTex,
gGraveyardKidEyesClosedTex,

View file

@ -70,7 +70,7 @@ static ColliderCylinderInit sCylinderInit = {
{ 10, 10, 0, { 0, 0, 0 } },
};
static u64* sEyeTextures[] = {
static void* sEyeTextures[] = {
gZoraEyeOpenTex,
gZoraEyeHalfTex,
gZoraEyeClosedTex,

View file

@ -136,7 +136,7 @@ void EnDoor_Destroy(Actor* thisx, GlobalContext* globalCtx) {
TransitionActorEntry* transitionEntry;
EnDoor* this = THIS;
transitionEntry = &globalCtx->transitionActorList[(u16)this->actor.params >> 0xA];
transitionEntry = &globalCtx->transiActorCtx.list[(u16)this->actor.params >> 0xA];
if (transitionEntry->id < 0) {
transitionEntry->id = -transitionEntry->id;
}
@ -307,7 +307,7 @@ s32 EnDoor_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
if (limbIndex == 4) {
temp_a2 = D_809FCEE4[this->dListIndex];
transitionEntry = &globalCtx->transitionActorList[(u16)this->actor.params >> 0xA];
transitionEntry = &globalCtx->transiActorCtx.list[(u16)this->actor.params >> 0xA];
rot->z += this->actor.world.rot.y;
if ((globalCtx->roomCtx.prevRoom.num >= 0) ||
(transitionEntry->sides[0].room == transitionEntry->sides[1].room)) {

View file

@ -587,19 +587,29 @@ void EnDu_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec
}
void EnDu_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* sEyeTextures[] = { gDaruniaEyeOpenTex, gDaruniaEyeOpeningTex, gDaruniaEyeShutTex,
gDaruniaEyeClosingTex };
static u64* sMouthTextures[] = { gDaruniaMouthSeriousTex, gDaruniaMouthGrinningTex, gDaruniaMouthOpenTex,
gDaruniaMouthHappyTex };
static u64* sNoseTextures[] = { gDaruniaNoseSeriousTex, gDaruniaNoseHappyTex };
static void* eyeTextures[] = {
gDaruniaEyeOpenTex,
gDaruniaEyeOpeningTex,
gDaruniaEyeShutTex,
gDaruniaEyeClosingTex,
};
static void* mouthTextures[] = {
gDaruniaMouthSeriousTex,
gDaruniaMouthGrinningTex,
gDaruniaMouthOpenTex,
gDaruniaMouthHappyTex,
};
static void* noseTextures[] = {
gDaruniaNoseSeriousTex,
gDaruniaNoseHappyTex,
};
EnDu* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_du.c", 1470);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthTextures[this->mouthTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(sNoseTextures[this->noseTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(mouthTextures[this->mouthTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(noseTextures[this->noseTexIndex]));
func_80034BA0(globalCtx, &this->skelAnime, EnDu_OverrideLimbDraw, EnDu_PostLimbDraw, &this->actor, 255);

View file

@ -377,11 +377,10 @@ void EnExRuppy_Update(Actor* thisx, GlobalContext* globalCtx) {
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, 20.0f, 50.0f, 0x1C);
}
UNK_PTR D_80A0B3B8[] = {
gRupeeGreenTex, gRupeeBlueTex, gRupeeRedTex, gRupeePinkTex, gRupeeOrangeTex,
};
void EnExRuppy_Draw(Actor* thisx, GlobalContext* globalCtx) {
static void* rupeeTextures[] = {
gRupeeGreenTex, gRupeeBlueTex, gRupeeRedTex, gRupeePinkTex, gRupeeOrangeTex,
};
s32 pad;
EnExRuppy* this = THIS;
@ -392,7 +391,7 @@ void EnExRuppy_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_8002EBCC(thisx, globalCtx, 0);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 780),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80A0B3B8[this->colorIdx]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(rupeeTextures[this->colorIdx]));
gSPDisplayList(POLY_OPA_DISP++, gRupeeDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ex_ruppy.c", 784);

View file

@ -867,7 +867,7 @@ void EnFd_UpdateDots(EnFd* this) {
}
void EnFd_DrawFlames(EnFd* this, GlobalContext* globalCtx) {
static UNK_PTR D_80A0E0F8[] = {
static void* dustTextures[] = {
gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex, gDust4Tex, gDust3Tex, gDust2Tex, gDust1Tex,
};
s32 firstDone;
@ -895,7 +895,7 @@ void EnFd_DrawFlames(EnFd* this, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fd.c", 2006),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
idx = eff->timer * (8.0f / eff->initialTimer);
gSPSegment(POLY_XLU_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(D_80A0E0F8[idx]));
gSPSegment(POLY_XLU_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(dustTextures[idx]));
gSPDisplayList(POLY_XLU_DISP++, gFlareDancerSquareParticleDL);
}
}

View file

@ -693,7 +693,7 @@ void EnFhgFire_Update(Actor* thisx, GlobalContext* globalCtx) {
this->updateFunc(this, globalCtx);
}
static u64* sDustTextures[] = {
static void* sDustTextures[] = {
gDust1Tex, gDust2Tex, gDust3Tex, gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex,
};

View file

@ -1058,7 +1058,7 @@ void EnFr_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec
}
void EnFr_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* eyeTextures[] = { 0x060059A0, 0x06005BA0 };
static void* eyeTextures[] = { 0x060059A0, 0x06005BA0 };
s16 lightRadius;
EnFr* this = THIS;
s16 frogIndex = this->actor.params - 1;

View file

@ -444,7 +444,7 @@ void EnFw_UpdateDust(EnFw* this) {
}
void EnFw_DrawDust(EnFw* this, GlobalContext* globalCtx) {
static UNK_PTR D_80A1FC18[] = {
static void* dustTextures[] = {
gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex, gDust4Tex, gDust3Tex, gDust2Tex, gDust1Tex,
};
EnFwEffect* eff = this->effects;
@ -477,7 +477,7 @@ void EnFw_DrawDust(EnFw* this, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fw.c", 1229),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
idx = eff->timer * (8.0f / eff->initialTimer);
gSPSegment(POLY_XLU_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(D_80A1FC18[idx]));
gSPSegment(POLY_XLU_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(dustTextures[idx]));
gSPDisplayList(POLY_XLU_DISP++, &gFlareDancerSquareParticleDL);
}
}

View file

@ -467,8 +467,9 @@ void EnGSwitch_DrawPot(Actor* thisx, GlobalContext* globalCtx) {
}
}
static UNK_PTR sRupeeTex[] = { gRupeeGreenTex, gRupeeBlueTex, gRupeeRedTex,
gRupeePinkTex, gRupeeOrangeTex, gRupeeSilverTex };
static void* sRupeeTextures[] = {
gRupeeGreenTex, gRupeeBlueTex, gRupeeRedTex, gRupeePinkTex, gRupeeOrangeTex, gRupeeSilverTex,
};
void EnGSwitch_DrawRupee(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
@ -481,7 +482,7 @@ void EnGSwitch_DrawRupee(Actor* thisx, GlobalContext* globalCtx) {
func_8002EBCC(&this->actor, globalCtx, 0);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 957),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRupeeTex[this->colorIdx]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRupeeTextures[this->colorIdx]));
gSPDisplayList(POLY_OPA_DISP++, gRupeeDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 961);
}
@ -565,7 +566,7 @@ void EnGSwitch_DrawEffects(EnGSwitch* this, GlobalContext* globalCtx) {
Matrix_RotateZ(effect->rot.z, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_g_switch.c", 1088),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRupeeTex[effect->colorIdx]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRupeeTextures[effect->colorIdx]));
gSPDisplayList(POLY_OPA_DISP++, gRupeeDL);
}
}

View file

@ -11,7 +11,7 @@ typedef void (*EnGbActionFunc)(struct EnGb*, GlobalContext*);
typedef struct {
/* 0x00 */ Color_RGBA8 prim;
/* 0x04 */ Color_RGBA8 env;
/* 0x08 */ u64* texture;
/* 0x08 */ void* texture;
/* 0x0C */ s16 timerMultiplier;
} EnGbCagedSoulInfo; // size = 0x10

View file

@ -81,7 +81,7 @@ static Gfx* sHairstyleDLists[] = {
static Vec3f D_80A327A8 = { 600.0f, 700.0f, 0.0f };
static u64* sEyeTextures[] = {
static void* sEyeTextures[] = {
gGerudoWhiteEyeOpenTex,
gGerudoWhiteEyeHalfTex,
gGerudoWhiteEyeClosedTex,

View file

@ -642,20 +642,15 @@ void EnGe2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
}
}
static u64* sEyeTextures[] = {
gGerudoPurpleEyeOpenTex,
gGerudoPurpleEyeHalfTex,
gGerudoPurpleEyeClosedTex,
};
void EnGe2_Draw(Actor* thisx, GlobalContext* globalCtx) {
static void* eyeTextures[] = { gGerudoPurpleEyeOpenTex, gGerudoPurpleEyeHalfTex, gGerudoPurpleEyeClosedTex };
s32 pad;
EnGe2* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ge2.c", 1274);
func_800943C8(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
func_8002EBCC(&this->actor, globalCtx, 0);
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnGe2_OverrideLimbDraw, EnGe2_PostLimbDraw, this);

View file

@ -276,20 +276,19 @@ void EnGe3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
}
}
static u64* sEyeTextures[] = {
0x06005FE8, // Half-open
0x060065A8, // Quarter-open
0x06006D28, // Closed
};
void EnGe3_Draw(Actor* thisx, GlobalContext* globalCtx2) {
static void* eyeTextures[] = {
0x06005FE8, // Half-open
0x060065A8, // Quarter-open
0x06006D28, // Closed
};
EnGe3* this = THIS;
GlobalContext* globalCtx = globalCtx2;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ge3.c", 614);
func_800943C8(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
func_8002EBCC(&this->actor, globalCtx, 0);
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnGe3_OverrideLimbDraw, EnGe3_PostLimbDraw, this);

View file

@ -1543,8 +1543,8 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
{ 3000.0f, 0.0f, 1600.0f },
{ 3000.0f, 6000.0f, 1600.0f },
};
static u64* eyeDLists[4] = { gGerudoRedEyeOpenTex, gGerudoRedEyeHalfTex, gGerudoRedEyeShutTex,
gGerudoRedEyeHalfTex };
static void* eyeTextures[] = { gGerudoRedEyeOpenTex, gGerudoRedEyeHalfTex, gGerudoRedEyeShutTex,
gGerudoRedEyeHalfTex };
s32 pad;
EnGeldB* this = THIS;
@ -1575,7 +1575,7 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
if ((this->action != GELDB_WAIT) || !this->invisible) {
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeDLists[this->blinkState]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->blinkState]));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnGeldB_OverrideLimbDraw, EnGeldB_PostLimbDraw, this);
if (this->action == GELDB_BLOCK) {

View file

@ -318,7 +318,7 @@ void func_80A3E090(EnGm* this) {
}
void EnGm_Draw(Actor* thisx, GlobalContext* globalCtx) {
static UNK_PTR eyeTextures[] = { gGoronCsEyeOpenTex, gGoronCsEyeHalfTex, gGoronCsEyeClosedTex };
static void* eyeTextures[] = { gGoronCsEyeOpenTex, gGoronCsEyeHalfTex, gGoronCsEyeClosedTex };
EnGm* this = THIS;
s32 pad;

View file

@ -1200,7 +1200,7 @@ void EnGo_UpdateDust(EnGo* this) {
}
void EnGo_DrawDust(EnGo* this, GlobalContext* globalCtx) {
static u64* dustTex[] = { gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex, gDust4Tex, gDust3Tex, gDust2Tex, gDust1Tex };
static void* dustTex[] = { gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex, gDust4Tex, gDust3Tex, gDust2Tex, gDust1Tex };
EnGoEffect* dustEffect = this->dustEffects;
s16 alpha;
s16 firstDone;

View file

@ -66,7 +66,7 @@ void EnGo2_BiggoronEyedrops(EnGo2* this, GlobalContext* globalCtx);
void EnGo2_GoronLinkStopRolling(EnGo2* this, GlobalContext* globalCtx);
void EnGo2_GoronFireGenericAction(EnGo2* this, GlobalContext* globalCtx);
static u64* sDustTex[] = { gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex, gDust4Tex, gDust3Tex, gDust2Tex, gDust1Tex };
static void* sDustTex[] = { gDust8Tex, gDust7Tex, gDust6Tex, gDust5Tex, gDust4Tex, gDust3Tex, gDust2Tex, gDust1Tex };
static Vec3f sPos = { 0.0f, 0.0f, 0.0f };
static Vec3f sVelocity = { 0.0f, 0.0f, 0.0f };
@ -2021,8 +2021,8 @@ void EnGo2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
void EnGo2_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnGo2* this = THIS;
u64* eyeTextures[] = { gGoronCsEyeClosed2Tex, gGoronCsEyeOpenTex, gGoronCsEyeHalfTex, gGoronCsEyeClosedTex };
u64* mouthTextures[] = { gGoronCsMouthNeutralTex, gGoronCsMouthSmileTex };
void* eyeTextures[] = { gGoronCsEyeClosed2Tex, gGoronCsEyeOpenTex, gGoronCsEyeHalfTex, gGoronCsEyeClosedTex };
void* mouthTextures[] = { gGoronCsMouthNeutralTex, gGoronCsMouthSmileTex };
EnGo2_UpdateDust(this);
Matrix_Push();

View file

@ -50,12 +50,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(targetArrowOffset, 500, ICHAIN_STOP),
};
static UNK_PTR D_80A50BA4[] = {
0x060005FC,
0x060006FC,
0x060007FC,
};
extern FlexSkeletonHeader D_060000F0;
extern AnimationHeader D_060042AC;
extern Gfx D_060059B0[];
@ -224,6 +218,11 @@ s32 EnGuest_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLis
}
void EnGuest_Draw(Actor* thisx, GlobalContext* globalCtx) {
static void* D_80A50BA4[] = {
0x060005FC,
0x060006FC,
0x060007FC,
};
EnGuest* this = THIS;
s32 pad;

View file

@ -118,7 +118,7 @@ void EnHoll_Init(Actor* thisx, GlobalContext* globalCtx) {
void EnHoll_Destroy(Actor* thisx, GlobalContext* globalCtx) {
s32 transitionActorIdx = (u16)thisx->params >> 0xA;
TransitionActorEntry* transitionEntry = &globalCtx->transitionActorList[transitionActorIdx];
TransitionActorEntry* transitionEntry = &globalCtx->transiActorCtx.list[transitionActorIdx];
transitionEntry->id = -transitionEntry->id;
}
@ -149,12 +149,12 @@ void func_80A58DD4(EnHoll* this, GlobalContext* globalCtx) {
transitionActorIdx = (u16)this->actor.params >> 0xA;
if (absZ > sHorizTriggerDists[phi_t0][1]) {
if (globalCtx->roomCtx.prevRoom.num >= 0 && globalCtx->roomCtx.status == 0) {
this->actor.room = globalCtx->transitionActorList[transitionActorIdx].sides[this->side].room;
this->actor.room = globalCtx->transiActorCtx.list[transitionActorIdx].sides[this->side].room;
EnHoll_SwapRooms(globalCtx);
func_80097534(globalCtx, &globalCtx->roomCtx);
}
} else {
this->actor.room = globalCtx->transitionActorList[transitionActorIdx].sides[this->side ^ 1].room;
this->actor.room = globalCtx->transiActorCtx.list[transitionActorIdx].sides[this->side ^ 1].room;
if (globalCtx->roomCtx.prevRoom.num < 0) {
func_8009728C(globalCtx, &globalCtx->roomCtx, this->actor.room);
} else {
@ -186,7 +186,7 @@ void func_80A59014(EnHoll* this, GlobalContext* globalCtx) {
(absZ = fabsf(vec.z), 100.0f > absZ && absZ > 50.0f))) {
s32 transitionActorIdx = (u16)this->actor.params >> 0xA;
s32 side = (vec.z < 0.0f) ? 0 : 1;
TransitionActorEntry* transitionEntry = &globalCtx->transitionActorList[transitionActorIdx];
TransitionActorEntry* transitionEntry = &globalCtx->transiActorCtx.list[transitionActorIdx];
s32 room = transitionEntry->sides[side].room;
this->actor.room = room;
@ -216,7 +216,7 @@ void func_80A591C0(EnHoll* this, GlobalContext* globalCtx) {
globalCtx->unk_11E18 = (s16)(605.0f - absY) * 0.5f;
}
if (absY < 95.0f) {
this->actor.room = globalCtx->transitionActorList[transitionActorIdx].sides[1].room;
this->actor.room = globalCtx->transiActorCtx.list[transitionActorIdx].sides[1].room;
Math_SmoothStepToF(&player->actor.world.pos.x, this->actor.world.pos.x, 1.0f, 50.0f, 10.0f);
Math_SmoothStepToF(&player->actor.world.pos.z, this->actor.world.pos.z, 1.0f, 50.0f, 10.0f);
if (this->actor.room != globalCtx->roomCtx.curRoom.num &&
@ -247,7 +247,7 @@ void func_80A593A4(EnHoll* this, GlobalContext* globalCtx) {
if (absY > 50.0f) {
transitionActorIdx = (u16)this->actor.params >> 0xA;
side = (0.0f < this->actor.yDistToPlayer) ? 0 : 1;
this->actor.room = globalCtx->transitionActorList[transitionActorIdx].sides[side].room;
this->actor.room = globalCtx->transiActorCtx.list[transitionActorIdx].sides[side].room;
if (this->actor.room != globalCtx->roomCtx.curRoom.num &&
func_8009728C(globalCtx, &globalCtx->roomCtx, this->actor.room) != 0) {
EnHoll_SetupAction(this, EnHoll_NextAction);
@ -271,7 +271,7 @@ void func_80A59520(EnHoll* this, GlobalContext* globalCtx) {
if (absY < 200.0f && absY > 50.0f) {
transitionActorIdx = (u16)this->actor.params >> 0xA;
side = (0.0f < this->actor.yDistToPlayer) ? 0 : 1;
this->actor.room = globalCtx->transitionActorList[transitionActorIdx].sides[side].room;
this->actor.room = globalCtx->transiActorCtx.list[transitionActorIdx].sides[side].room;
if (this->actor.room != globalCtx->roomCtx.curRoom.num &&
func_8009728C(globalCtx, &globalCtx->roomCtx, this->actor.room) != 0) {
EnHoll_SetupAction(this, EnHoll_NextAction);
@ -307,7 +307,7 @@ void func_80A59618(EnHoll* this, GlobalContext* globalCtx) {
}
if (absZ < 50.0f) {
side = (vec.z < 0.0f) ? 0 : 1;
this->actor.room = globalCtx->transitionActorList[transitionActorIdx].sides[side].room;
this->actor.room = globalCtx->transiActorCtx.list[transitionActorIdx].sides[side].room;
if (this->actor.room != globalCtx->roomCtx.curRoom.num &&
func_8009728C(globalCtx, &globalCtx->roomCtx, this->actor.room) != 0) {
EnHoll_SetupAction(this, EnHoll_NextAction);
@ -343,6 +343,7 @@ void EnHoll_Draw(Actor* thisx, GlobalContext* globalCtx) {
// Only draw the plane if not invisible
if (this->planeAlpha != 0) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_holl.c", 805);
if (this->planeAlpha == 255) {
gfxP = POLY_OPA_DISP;
setupDLIdx = 37;
@ -365,6 +366,7 @@ void EnHoll_Draw(Actor* thisx, GlobalContext* globalCtx) {
} else {
POLY_XLU_DISP = gfxP;
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_holl.c", 831);
}
}

View file

@ -3787,23 +3787,24 @@ void EnHorse_SkinCallback1(Actor* thisx, GlobalContext* globalCtx, PSkinAwb* ski
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->jntSph.base);
}
static s32 unk_80A667DC[] = { 0, 3, 7, 14 };
static u64* sEyeTextures[] = {
gEponaEyeOpenTex,
gEponaEyeHalfTex,
gEponaEyeClosedTex,
};
static u8 sBlinkTextures[] = { 0, 1, 2, 1 };
// unused
static s32 D_80A667DC[] = { 0, 3, 7, 14 };
s32 EnHorse_SkinCallback2(Actor* thisx, GlobalContext* globalCtx, s32 limbIndex, PSkinAwb* arg3) {
static void* eyeTextures[] = {
gEponaEyeOpenTex,
gEponaEyeHalfTex,
gEponaEyeClosedTex,
};
static u8 eyeBlinkIndexes[] = { 0, 1, 2, 1 };
EnHorse* this = THIS;
s32 drawOriginalLimb = true;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_horse.c", 8582);
if (limbIndex == 13 && this->type == HORSE_EPONA) {
u8 index = sBlinkTextures[this->blinkTimer];
u8 index = eyeBlinkIndexes[this->blinkTimer];
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[index]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[index]));
} else if (this->type == HORSE_HNI && this->stateFlags & ENHORSE_FLAG_18 && limbIndex == 30) {
func_800A5F60(globalCtx->state.gfxCtx, &this->skin, limbIndex, gHorseIngoGerudoSaddleDL, 0);
drawOriginalLimb = false;

View file

@ -548,7 +548,7 @@ static EnHorseLinkChildActionFunc sActionFuncs[] = {
func_80A698F4, func_80A69C18, func_80A699FC, func_80A6A068, func_80A6A7D0, func_80A6A5A4,
};
static u64* sEyeTextures[] = { gChildEponaEyeOpenTex, gChildEponaEyeHalfTex, gChildEponaEyeCloseTex };
static void* sEyeTextures[] = { gChildEponaEyeOpenTex, gChildEponaEyeHalfTex, gChildEponaEyeCloseTex };
static u8 sEyeIndexOrder[] = { 0, 1, 2, 1 };
void EnHorseLinkChild_Update(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -306,13 +306,8 @@ void EnJj_Update(Actor* thisx, GlobalContext* globalCtx) {
this->skelAnime.jointTable[10].z = this->mouthOpenAngle;
}
static u64* sEyeTextures[] = {
gJabuJabuEyeOpenTex,
gJabuJabuEyeHalfTex,
gJabuJabuEyeClosedTex,
};
void EnJj_Draw(Actor* thisx, GlobalContext* globalCtx2) {
static void* eyeTextures[] = { gJabuJabuEyeOpenTex, gJabuJabuEyeHalfTex, gJabuJabuEyeClosedTex };
GlobalContext* globalCtx = globalCtx2;
EnJj* this = THIS;
@ -321,7 +316,7 @@ void EnJj_Draw(Actor* thisx, GlobalContext* globalCtx2) {
func_800943C8(globalCtx->state.gfxCtx);
Matrix_Translate(0.0f, (cosf(this->skelAnime.curFrame * (M_PI / 41.0f)) * 10.0f) - 10.0f, 0.0f, MTXMODE_APPLY);
Matrix_Scale(10.0f, 10.0f, 10.0f, MTXMODE_APPLY);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, NULL, this);

View file

@ -485,7 +485,7 @@ void EnKz_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec
}
void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx) {
static UNK_PTR sEyeSegments[] = {
static void* sEyeSegments[] = {
0x06001470,
0x06001870,
0x06001C70,

View file

@ -61,20 +61,6 @@ static struct_D_80AA1678 D_80AA2858[] = {
{ 0x06009EE0, 1.0f, ANIMMODE_LOOP, -10.0f },
};
static Vec3f D_80AA28A8 = { 900.0f, 0.0f, 0.0f };
static UNK_PTR D_80AA28B4[] = {
0x06002970,
0x06003570,
0x06003770,
};
static UNK_PTR D_80AA28C0[] = {
0x06002570,
0x06002C70,
0x06003070,
};
extern Gfx D_06005420[];
extern FlexSkeletonHeader D_06008D90;
extern AnimationHeader D_060093BC;
@ -363,7 +349,7 @@ s32 EnMa2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
void EnMa2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
EnMa2* this = THIS;
Vec3f vec = D_80AA28A8;
Vec3f vec = { 900.0f, 0.0f, 0.0f };
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma2.c", 904);
@ -378,6 +364,16 @@ void EnMa2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
}
void EnMa2_Draw(Actor* thisx, GlobalContext* globalCtx) {
static void* D_80AA28B4[] = {
0x06002970,
0x06003570,
0x06003770,
};
static void* D_80AA28C0[] = {
0x06002570,
0x06002C70,
0x06003070,
};
EnMa2* this = THIS;
Camera* camera;
f32 someFloat;

View file

@ -65,20 +65,6 @@ static struct_D_80AA1678 D_80AA3848[] = {
{ 0x06009EE0, 1.0f, ANIMMODE_LOOP, -10.0f },
};
static Vec3f D_80AA3898 = { 900.0f, 0.0f, 0.0f };
static UNK_PTR D_80AA38A4[] = {
0x06002970,
0x06003570,
0x06003770,
};
static UNK_PTR D_80AA38B0[] = {
0x06002570,
0x06002C70,
0x06003070,
};
extern u32 D_06005420;
extern FlexSkeletonHeader D_06008D90;
extern AnimationHeader D_060093BC;
@ -345,7 +331,7 @@ s32 EnMa3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
void EnMa3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
EnMa3* this = THIS;
Vec3f vec = D_80AA3898;
Vec3f vec = { 900.0f, 0.0f, 0.0f };
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma3.c", 927);
@ -360,6 +346,16 @@ void EnMa3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
}
void EnMa3_Draw(Actor* thisx, GlobalContext* globalCtx) {
static void* D_80AA38A4[] = {
0x06002970,
0x06003570,
0x06003770,
};
static void* D_80AA38B0[] = {
0x06002570,
0x06002C70,
0x06003070,
};
EnMa3* this = THIS;
Camera* camera;
f32 someFloat;

View file

@ -522,7 +522,7 @@ void EnMm_Update(Actor* thisx, GlobalContext* globalCtx) {
extern Gfx D_0602CA38[]; // bunny hood dlist from object_link_child. replace with proper symbol later
void EnMm_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* mouthTextures[] = { gRunningManMouthOpenTex, gRunningManMouthClosedTex };
static void* mouthTextures[] = { gRunningManMouthOpenTex, gRunningManMouthClosedTex };
s32 pad;
EnMm* this = THIS;

View file

@ -318,7 +318,7 @@ void EnMm2_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void EnMm2_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* mouthTextures[] = { gRunningManMouthOpenTex, gRunningManMouthClosedTex };
static void* mouthTextures[] = { gRunningManMouthOpenTex, gRunningManMouthClosedTex };
EnMm2* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_mm2.c", 634);

View file

@ -78,7 +78,7 @@ static ColliderCylinderInitType1 sCylinderInit = {
{ 25, 80, 0, { 0, 0, 0 } },
};
static u64* sEyeTextures[] = {
static void* sEyeTextures[] = {
gNabooruEyeOpenTex,
gNabooruEyeHalfTex,
gNabooruEyeClosedTex,
@ -543,14 +543,14 @@ void EnNb_CreateLightOrb(EnNb* this, GlobalContext* globalCtx) {
void EnNb_DrawTransparency(EnNb* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 eyeSegIdx = this->eyeIdx;
UNK_PTR addr = sEyeTextures[eyeSegIdx];
void* eyeTex = sEyeTextures[eyeSegIdx];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_nb_inKenjyanomaDemo02.c", 263);
func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTex));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTex));
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, &D_80116280[0]);
POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,

View file

@ -247,7 +247,7 @@ s32 EnNiwGirlOverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLi
static Vec3f sConstVec3f = { 0.2f, 0.2f, 0.2f };
void EnNiwGirl_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* eyeTextures[] = { gNiwGirlEyeOpenTex, gNiwGirlEyeHalfTex, gNiwGirlEyeClosedTex };
static void* eyeTextures[] = { gNiwGirlEyeOpenTex, gNiwGirlEyeHalfTex, gNiwGirlEyeClosedTex };
EnNiwGirl* this = THIS;
s32 pad;
Vec3f sp4C = sConstVec3f;

View file

@ -18,7 +18,7 @@ typedef struct {
/* 0x0003 */ Color_RGB8 lightColor;
/* 0x0006 */ Color_RGB8 envColor;
/* 0x0009 */ s8 unk_9;
/* 0x000C */ u64* soulTexture;
/* 0x000C */ void* soulTexture;
} EnPoFieldInfo; // size = 0x10
typedef struct EnPoField {

View file

@ -80,7 +80,7 @@ static Vec3f D_80AD8D3C = { 0.0f, 0.0f, 0.0f };
static Vec3f D_80AD8D48 = { 0.0f, 1200.0f, 0.0f };
static u64* sEyesSegments[] = {
static void* sEyesTextures[] = {
gDampeEyeOpenTex,
gDampeEyeHalfTex,
gDampeEyeClosedTex,
@ -404,7 +404,7 @@ void EnPoRelay_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_po_relay.c", 940);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeTextureIdx]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesTextures[this->eyeTextureIdx]));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, EnPoRelay_PostLimbDraw, &this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_po_relay.c", 954);

View file

@ -28,7 +28,7 @@ void func_80AE7FD0(EnRl* this, GlobalContext* globalCtx);
void func_80AE7FDC(EnRl* this, GlobalContext* globalCtx);
void func_80AE7D94(EnRl* this, GlobalContext* globalCtx);
static UNK_PTR D_80AE81A0[] = { 0x06003620, 0x06003960, 0x06003B60 };
static void* D_80AE81A0[] = { 0x06003620, 0x06003960, 0x06003B60 };
extern FlexSkeletonHeader D_06007B38;
extern AnimationHeader D_06000A3C;
@ -304,15 +304,15 @@ void func_80AE7D40(EnRl* this, GlobalContext* globalCtx) {
void func_80AE7D94(EnRl* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 temp = this->eyeTextureIndex;
s32 addr = D_80AE81A0[temp];
void* tex = D_80AE81A0[temp];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_rl_inKenjyanomaDemo02.c", 304);
func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(tex));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(tex));
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280);
@ -353,15 +353,15 @@ void func_80AE7FD0(EnRl* this, GlobalContext* globalCtx) {
void func_80AE7FDC(EnRl* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 temp = this->eyeTextureIndex;
s32 addr = D_80AE81A0[temp];
void* tex = D_80AE81A0[temp];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_rl.c", 416);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(tex));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(tex));
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);

View file

@ -468,15 +468,15 @@ void func_80AF31C8(EnRu2* this, GlobalContext* globalCtx) {
void func_80AF321C(EnRu2* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 temp = this->unk_2A4;
UNK_PTR addr = sEyeTextures[temp];
void* tex = sEyeTextures[temp];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ru2_inKenjyanomaDemo02.c", 264);
func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(tex));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(tex));
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, &D_80116280[0]);
@ -796,15 +796,15 @@ void func_80AF3F14(EnRu2* this, GlobalContext* globalCtx) {
void func_80AF3F20(EnRu2* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 temp = this->unk_2A4;
UNK_PTR addr = sEyeTextures[temp];
void* tex = sEyeTextures[temp];
SkelAnime* skelAnime = &this->skelAnime;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ru2.c", 642);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(addr));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(tex));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(tex));
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);

View file

@ -762,24 +762,26 @@ void EnSa_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec
}
void EnSa_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* sMouthTextures[] = { gSariaMouthClosed2Tex, gSariaMouthSmilingOpenTex, gSariaMouthFrowningTex,
gSariaMouthSuprisedTex, gSariaMouthClosedTex };
static u64* sEyeTextures[] = { gSariaEyeOpenTex, gSariaEyeHalfTex, gSariaEyeClosedTex, gSariaEyeSuprisedTex,
gSariaEyeSadTex };
static void* mouthTextures[] = {
gSariaMouthClosed2Tex, gSariaMouthSmilingOpenTex, gSariaMouthFrowningTex,
gSariaMouthSuprisedTex, gSariaMouthClosedTex,
};
static void* eyeTextures[] = {
gSariaEyeOpenTex, gSariaEyeHalfTex, gSariaEyeClosedTex, gSariaEyeSuprisedTex, gSariaEyeSadTex,
};
EnSa* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_sa.c", 1444);
if (this->alpha == 255) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->rightEyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->leftEyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(sMouthTextures[this->mouthIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->rightEyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTextures[this->leftEyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(mouthTextures[this->mouthIndex]));
func_80034BA0(globalCtx, &this->skelAnime, EnSa_OverrideLimbDraw, EnSa_PostLimbDraw, &this->actor, this->alpha);
} else if (this->alpha != 0) {
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->rightEyeIndex]));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->leftEyeIndex]));
gSPSegment(POLY_XLU_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(sMouthTextures[this->mouthIndex]));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->rightEyeIndex]));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTextures[this->leftEyeIndex]));
gSPSegment(POLY_XLU_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(mouthTextures[this->mouthIndex]));
func_80034CC4(globalCtx, &this->skelAnime, EnSa_OverrideLimbDraw, EnSa_PostLimbDraw, &this->actor, this->alpha);
}

View file

@ -215,17 +215,16 @@ s32 EnTakaraMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx**
}
void EnTakaraMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
static UNK_PTR sTakaraEyeTextures[] = {
static void* eyeTextures[] = {
0x06000970,
0x06000D70,
};
EnTakaraMan* this = THIS;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_takara_man.c", 528);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTakaraEyeTextures[this->eyeTextureIdx]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTextureIdx]));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnTakaraMan_OverrideLimbDraw, NULL, this);

View file

@ -79,7 +79,7 @@ void EnTkEff_Update(EnTk* this) {
}
void EnTkEff_Draw(EnTk* this, GlobalContext* globalCtx) {
static UNK_PTR dustImages[] = {
static void* dustTextures[] = {
&gDust8Tex, &gDust7Tex, &gDust6Tex, &gDust5Tex, &gDust4Tex, &gDust3Tex, &gDust2Tex, &gDust1Tex,
};
@ -116,8 +116,8 @@ void EnTkEff_Draw(EnTk* this, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_tk_eff.c", 140),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
imageIdx = eff->timeLeft * ((f32)ARRAY_COUNT(dustImages) / eff->timeTotal);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(dustImages[imageIdx]));
imageIdx = eff->timeLeft * ((f32)ARRAY_COUNT(dustTextures) / eff->timeTotal);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(dustTextures[imageIdx]));
gSPDisplayList(POLY_XLU_DISP++, gDampeEff2DL);
}
@ -717,7 +717,7 @@ void EnTk_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec
}
void EnTk_Draw(Actor* thisx, GlobalContext* globalCtx) {
static u64* sEyesSegments[] = {
static void* sEyesSegments[] = {
gDampeEyeOpenTex,
gDampeEyeHalfTex,
gDampeEyeClosedTex,

View file

@ -75,7 +75,7 @@ static Color_RGBA8 D_80B243C0[4] = {
{ 0, 0, 255, 255 },
};
static u64* sEyeTextures[] = {
static void* sEyeTextures[] = {
0x060086D8, // Open
0x060094D8, // Half
0x060098D8, // Closed

View file

@ -48,7 +48,7 @@ static ColliderCylinderInitType1 sCylinderInit = {
{ 25, 80, 0, { 0, 0, 0 } },
};
static u64* sEyeTextures[] = {
static void* sEyeTextures[] = {
gSheikEyeOpenTex,
gSheikEyeHalfClosedTex,
gSheikEyeShutTex,
@ -1067,7 +1067,7 @@ void EnXc_DrawPullingOutHarp(Actor* thisx, GlobalContext* globalCtx) {
EnXc* this = THIS;
s32 pad;
s16 eyePattern = this->eyeIdx;
u64* eyeTexture = sEyeTextures[eyePattern];
void* eyeTexture = sEyeTextures[eyePattern];
SkelAnime* skelAnime = &this->skelAnime;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
s32 pad2;
@ -1089,7 +1089,7 @@ void EnXc_DrawHarp(Actor* thisx, GlobalContext* globalCtx) {
EnXc* this = THIS;
s32 pad;
s16 eyePattern = this->eyeIdx;
u64* eyeTexture = sEyeTextures[eyePattern];
void* eyeTexture = sEyeTextures[eyePattern];
SkelAnime* skelAnime = &this->skelAnime;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
s32 pad2;
@ -1699,7 +1699,7 @@ void EnXc_DrawTriforce(Actor* thisx, GlobalContext* globalCtx) {
EnXc* this = THIS;
s32 pad;
s16 eyeIdx = this->eyeIdx;
u64* eyeTexture = sEyeTextures[eyeIdx];
void* eyeTexture = sEyeTextures[eyeIdx];
SkelAnime* skelAnime = &this->skelAnime;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
s32 pad2;
@ -2375,7 +2375,7 @@ void EnXc_DrawDefault(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnXc* this = THIS;
s16 eyeIdx = this->eyeIdx;
u64* eyeSegment = sEyeTextures[eyeIdx];
void* eyeSegment = sEyeTextures[eyeIdx];
SkelAnime* skelAnime = &this->skelAnime;
GraphicsContext* localGfxCtx = globalCtx->state.gfxCtx;
GraphicsContext* gfxCtx = localGfxCtx;

View file

@ -59,8 +59,12 @@ static ColliderCylinderInit sCylinderInit = {
{ 20, 46, 0, { 0, 0, 0 } },
};
static void* D_80B4E61C[] = { gChildZelda1EyeOpenLookingUpRightTex, gChildZelda1EyeHalf2Tex, gChildZelda1EyeClosedTex,
gChildZelda1EyeHalf2Tex };
static void* D_80B4E61C[] = {
gChildZelda1EyeOpenLookingUpRightTex,
gChildZelda1EyeHalf2Tex,
gChildZelda1EyeClosedTex,
gChildZelda1EyeHalf2Tex,
};
static void* D_80B4E62C[] = { gChildZelda1MouthNeutralTex };
void func_80B4AB40(void) {

View file

@ -62,11 +62,11 @@ void func_80B523BC(EnZl2* this, GlobalContext* globalCtx);
void func_80B523C8(EnZl2* this, GlobalContext* globalCtx);
void func_80B525D4(EnZl2* this, GlobalContext* globalCtx);
static u64* sEyeTextures[] = { gZelda2EyeOpenTex, gZelda2EyeHalfTex, gZelda2EyeShutTex,
gZelda2Eye03Tex, gZelda2Eye04Tex, gZelda2Eye05Tex,
gZelda2Eye06Tex, gZelda2Eye07Tex, gZelda2Eye08Tex };
static void* sEyeTextures[] = { gZelda2EyeOpenTex, gZelda2EyeHalfTex, gZelda2EyeShutTex,
gZelda2Eye03Tex, gZelda2Eye04Tex, gZelda2Eye05Tex,
gZelda2Eye06Tex, gZelda2Eye07Tex, gZelda2Eye08Tex };
static u64* sMouthTextures[] = { gZelda2MouthSeriousTex, gZelda2MouthHappyTex, gZelda2MouthOpenTex };
static void* sMouthTextures[] = { gZelda2MouthSeriousTex, gZelda2MouthHappyTex, gZelda2MouthOpenTex };
static EnZl2ActionFunc sActionFuncs[] = {
func_80B521A0, func_80B50BBC, func_80B50BEC, func_80B50C40, func_80B50CA8, func_80B50CFC,
@ -1632,11 +1632,11 @@ void func_80B523C8(EnZl2* this, GlobalContext* globalCtx) {
s32 pad[3];
s16 eyeTexIndex = this->eyeTexIndex;
s16 eyeTexIndex2 = this->eyeTexIndex2;
u64* eyeTex = sEyeTextures[eyeTexIndex];
u64* eyeTex2 = sEyeTextures[eyeTexIndex2];
void* eyeTex = sEyeTextures[eyeTexIndex];
void* eyeTex2 = sEyeTextures[eyeTexIndex2];
SkelAnime* skelAnime = &this->skelAnime;
s16 mouthTexIndex = this->mouthTexIndex;
u64* mouthTex = sMouthTextures[mouthTexIndex];
void* mouthTex = sMouthTextures[mouthTexIndex];
s32 pad1;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1623);
@ -1658,10 +1658,10 @@ void func_80B523C8(EnZl2* this, GlobalContext* globalCtx) {
void func_80B525D4(EnZl2* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 eyeTexIndex = this->eyeTexIndex;
u64* eyeTex = sEyeTextures[eyeTexIndex];
void* eyeTex = sEyeTextures[eyeTexIndex];
s16 mouthTexIndex = this->mouthTexIndex;
SkelAnime* skelAnime = &this->skelAnime;
u64* mouthTex = sMouthTextures[mouthTexIndex];
void* mouthTex = sMouthTextures[mouthTexIndex];
s32 pad1;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1663);

View file

@ -41,10 +41,10 @@ static ColliderCylinderInitType1 sCylinderInit = {
{ 25, 80, 0, { 0, 0, 0 } },
};
static u64* sEyeTextures[] = { gZelda2EyeOpenTex, gZelda2EyeHalfTex, gZelda2EyeShutTex, gZelda2Eye03Tex,
gZelda2Eye04Tex, gZelda2Eye05Tex, gZelda2Eye06Tex, NULL };
static void* sEyeTextures[] = { gZelda2EyeOpenTex, gZelda2EyeHalfTex, gZelda2EyeShutTex, gZelda2Eye03Tex,
gZelda2Eye04Tex, gZelda2Eye05Tex, gZelda2Eye06Tex, NULL };
static u64* sMouthTextures[] = { gZelda2MouthSeriousTex, gZelda2MouthHappyTex, gZelda2MouthOpenTex };
static void* sMouthTextures[] = { gZelda2MouthSeriousTex, gZelda2MouthHappyTex, gZelda2MouthOpenTex };
s32 D_80B5A468 = 0;
@ -2699,10 +2699,10 @@ void func_80B59FE8(EnZl3* this, GlobalContext* globalCtx) {
void func_80B59FF4(EnZl3* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 eyeTexIndex = this->eyeTexIndex;
u64* eyeTex = sEyeTextures[eyeTexIndex];
void* eyeTex = sEyeTextures[eyeTexIndex];
s16 mouthTexIndex = this->mouthTexIndex;
SkelAnime* skelAnime = &this->skelAnime;
u64* mouthTex = sMouthTextures[mouthTexIndex];
void* mouthTex = sMouthTextures[mouthTexIndex];
s32 pad2;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_zl3.c", 2165);
@ -2724,10 +2724,10 @@ void func_80B59FF4(EnZl3* this, GlobalContext* globalCtx) {
void func_80B5A1D0(EnZl3* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 eyeTexIndex = this->eyeTexIndex;
u64* eyeTex = sEyeTextures[eyeTexIndex];
void* eyeTex = sEyeTextures[eyeTexIndex];
s16 mouthTexIndex = this->mouthTexIndex;
SkelAnime* skelAnime = &this->skelAnime;
u64* mouthTex = sMouthTextures[mouthTexIndex];
void* mouthTex = sMouthTextures[mouthTexIndex];
s32 pad2;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_zl3.c", 2205);

View file

@ -1283,9 +1283,9 @@ void EnZl4_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
void EnZl4_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnZl4* this = THIS;
u64* mouthTex[] = { gChildZeldaMouthNeutralTex, gChildZeldaMouthHappyTex, gChildZeldaMouthWorriedTex,
gChildZeldaMouthSurprisedTex };
u64* eyeTex[] = {
void* mouthTex[] = { gChildZeldaMouthNeutralTex, gChildZeldaMouthHappyTex, gChildZeldaMouthWorriedTex,
gChildZeldaMouthSurprisedTex };
void* eyeTex[] = {
gChildZeldaEyeOpenTex, gChildZeldaEyeBlinkTex, gChildZeldaEyeShutTex, gChildZeldaEyeWideTex,
gChildZeldaEyeSquintTex, gChildZeldaEyeOutTex, gChildZeldaEyeInTex,
};

View file

@ -887,10 +887,10 @@ void Fishing_Init(Actor* thisx, GlobalContext* globalCtx2) {
D_80B7E07D = (HIGH_SCORE(HS_FISHING) & 0xFF0000) >> 0x10;
if ((D_80B7E07D & 7) == 7) {
globalCtx->unk_11D30[0] = 90;
globalCtx->roomCtx.unk_74[0] = 90;
D_80B7E076 = 1;
} else {
globalCtx->unk_11D30[0] = 40;
globalCtx->roomCtx.unk_74[0] = 40;
D_80B7E076 = 0;
}

View file

@ -83,7 +83,7 @@ static ColliderJntSphInit sColliderJntSphInit = {
static CollisionCheckInfoInit sColChkInfoInit = { 0, 12, 60, MASS_IMMOVABLE };
static UNK_PTR faceTextures[] = { D_06000C20, D_06000420, D_06001420 };
static void* sFaceTextures[] = { D_06000C20, D_06000420, D_06001420 };
static Vec3f D_80B97F68 = { -1707.0f, 843.0f, -180.0f };
static Vec3f D_80B97F74 = { 0.0f, 0.0f, 0.0f };
@ -428,7 +428,7 @@ void ObjLightswitch_DrawOpa(ObjLightswitch* this, GlobalContext* globalCtx) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_obj_lightswitch.c", 841),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(faceTextures[this->faceTextureIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sFaceTextures[this->faceTextureIndex]));
gSPDisplayList(POLY_OPA_DISP++, D_06000260);
rot.x = this->actor.shape.rot.x;
@ -468,7 +468,7 @@ void ObjLightswitch_DrawXlu(ObjLightswitch* this, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_obj_lightswitch.c", 912),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(faceTextures[this->faceTextureIndex]));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sFaceTextures[this->faceTextureIndex]));
gSPDisplayList(POLY_XLU_DISP++, D_06000260);
sp60.x = this->actor.shape.rot.x;

View file

@ -723,22 +723,11 @@ void ObjSwitch_DrawFloorRusty(ObjSwitch* this, GlobalContext* globalCtx) {
Gfx_DrawDListOpa(globalCtx, gRustyFloorSwitchDL);
}
static u64* sEyeTextures[][4] = {
{
gEyeSwitchGoldOpenTex,
gEyeSwitchGoldOpeningTex,
gEyeSwitchGoldClosingTex,
gEyeSwitchGoldClosedTex,
},
{
gEyeSwitchSilverOpenTex,
gEyeSwitchSilverHalfTex,
gEyeSwitchSilverClosedTex,
gEyeSwitchSilverClosedTex,
},
};
void ObjSwitch_DrawEye(ObjSwitch* this, GlobalContext* globalCtx) {
static void* eyeTextures[][4] = {
{ gEyeSwitchGoldOpenTex, gEyeSwitchGoldOpeningTex, gEyeSwitchGoldClosingTex, gEyeSwitchGoldClosedTex },
{ gEyeSwitchSilverOpenTex, gEyeSwitchSilverHalfTex, gEyeSwitchSilverClosedTex, gEyeSwitchSilverClosedTex },
};
static Gfx* eyeDlists[] = { gEyeSwitch1DL, gEyeSwitch2DL };
s32 pad;
s32 subType = (this->dyna.actor.params >> 4 & 7);
@ -748,7 +737,7 @@ void ObjSwitch_DrawEye(ObjSwitch* this, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_obj_switch.c", 1462),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[subType][this->eyeTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[subType][this->eyeTexIndex]));
gSPDisplayList(POLY_OPA_DISP++, eyeDlists[subType]);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_obj_switch.c", 1471);

View file

@ -52,7 +52,7 @@ typedef struct ObjSwitch {
/* 0x016C */ s16 cooldownTimer;
/* 0x016E */ u8 cooldownOn;
/* 0x0170 */ s16 eyeTexIndex;
/* 0x0174 */ UNK_PTR crystalSubtype1texture;
/* 0x0174 */ void* crystalSubtype1texture;
/* 0x0178 */ u8 x1TexScroll;
/* 0x0179 */ u8 y1TexScroll;
/* 0x017A */ u8 x2TexScroll;

View file

@ -4152,7 +4152,7 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) {
}
if (doorShutter->dyna.actor.category == ACTORCAT_DOOR) {
this->unk_46A = globalCtx->transitionActorList[(u16)doorShutter->dyna.actor.params >> 10]
this->unk_46A = globalCtx->transiActorCtx.list[(u16)doorShutter->dyna.actor.params >> 10]
.sides[(doorDirection > 0) ? 0 : 1]
.effects;
@ -4224,7 +4224,7 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) {
}
} else {
Camera_ChangeDoorCam(Gameplay_GetCamera(globalCtx, 0), doorActor,
globalCtx->transitionActorList[(u16)doorActor->params >> 10]
globalCtx->transiActorCtx.list[(u16)doorActor->params >> 10]
.sides[(doorDirection > 0) ? 0 : 1]
.effects,
0, 38.0f * D_808535EC, 26.0f * D_808535EC, 10.0f * D_808535EC);
@ -4233,7 +4233,7 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) {
}
if ((this->doorType != PLAYER_DOORTYPE_FAKE) && (doorActor->category == ACTORCAT_DOOR)) {
frontRoom = globalCtx->transitionActorList[(u16)doorActor->params >> 10]
frontRoom = globalCtx->transiActorCtx.list[(u16)doorActor->params >> 10]
.sides[(doorDirection > 0) ? 0 : 1]
.room;
@ -9035,7 +9035,7 @@ static Vec3f D_80854778 = { 0.0f, 50.0f, 0.0f };
void Player_Init(Actor* thisx, GlobalContext* globalCtx2) {
Player* this = THIS;
GlobalContext* globalCtx = globalCtx2;
Scene* scene = globalCtx->loadedScene;
SceneTableEntry* scene = globalCtx->loadedScene;
u32 titleFileSize;
s32 initMode;
s32 sp50;

View file

@ -35,14 +35,13 @@ u32 EffectSsBomb_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void*
return 1;
}
static UNK_PTR sTextures[] = {
gEffBombExplosion1Tex,
gEffBombExplosion2Tex,
gEffBombExplosion3Tex,
gEffBombExplosion4Tex,
};
void EffectSsBomb_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
static void* explosionTextures[] = {
gEffBombExplosion1Tex,
gEffBombExplosion2Tex,
gEffBombExplosion3Tex,
gEffBombExplosion4Tex,
};
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
MtxF mfTrans;
MtxF mfScale;
@ -70,7 +69,7 @@ void EffectSsBomb_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
if (mtx != NULL) {
gSPMatrix(POLY_XLU_DISP++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTextures[this->rTexIdx]));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(explosionTextures[this->rTexIdx]));
gDPPipeSync(POLY_XLU_DISP++);
func_80094C50(gfxCtx);
color = this->life * 12.75f;

View file

@ -60,7 +60,7 @@ u32 EffectSsBomb2_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void
// unused in the original game. looks like EffectSsBomb but with color
void EffectSsBomb2_DrawFade(GlobalContext* globalCtx, u32 index, EffectSs* this) {
static UNK_PTR textures[] = {
static void* textures[] = {
gEffBombExplosion1Tex, gEffBombExplosion2Tex, gEffBombExplosion3Tex, gEffBombExplosion4Tex,
gEffBombExplosion5Tex, gEffBombExplosion6Tex, gEffBombExplosion7Tex, gEffBombExplosion8Tex,
};
@ -100,7 +100,7 @@ void EffectSsBomb2_DrawFade(GlobalContext* globalCtx, u32 index, EffectSs* this)
}
void EffectSsBomb2_DrawLayered(GlobalContext* globalCtx, u32 index, EffectSs* this) {
static UNK_PTR textures[] = {
static void* textures[] = {
gEffBombExplosion1Tex, gEffBombExplosion2Tex, gEffBombExplosion3Tex, gEffBombExplosion4Tex,
gEffBombExplosion5Tex, gEffBombExplosion6Tex, gEffBombExplosion7Tex, gEffBombExplosion8Tex,
};

View file

@ -56,7 +56,7 @@ u32 EffectSsDeadDb_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, voi
return 1;
}
static UNK_PTR sTextures[] = {
static void* sTextures[] = {
gEffEnemyDeathFlame1Tex, gEffEnemyDeathFlame2Tex, gEffEnemyDeathFlame3Tex, gEffEnemyDeathFlame4Tex,
gEffEnemyDeathFlame5Tex, gEffEnemyDeathFlame6Tex, gEffEnemyDeathFlame7Tex, gEffEnemyDeathFlame8Tex,
gEffEnemyDeathFlame9Tex, gEffEnemyDeathFlame10Tex,

View file

@ -76,11 +76,10 @@ u32 EffectSsDust_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void*
return 1;
}
static UNK_PTR sTextures[] = {
gDust1Tex, gDust2Tex, gDust3Tex, gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex,
};
void EffectSsDust_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
static void* dustTextures[] = {
gDust1Tex, gDust2Tex, gDust3Tex, gDust4Tex, gDust5Tex, gDust6Tex, gDust7Tex, gDust8Tex,
};
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
MtxF mfTrans;
MtxF mfScale;
@ -104,7 +103,7 @@ void EffectSsDust_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
if (mtx != NULL) {
gSPMatrix(POLY_XLU_DISP++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPPipeSync(POLY_XLU_DISP++);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTextures[this->rTexIdx]));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(dustTextures[this->rTexIdx]));
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0);
gDPPipeSync(POLY_XLU_DISP++);

View file

@ -43,13 +43,13 @@ u32 EffectSsGFire_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void
}
void EffectSsGFire_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
UNK_PTR textures[] = {
void* fireFootprintTextures[] = {
gEffFireFootprint1Tex, gEffFireFootprint2Tex, gEffFireFootprint3Tex, gEffFireFootprint4Tex,
gEffFireFootprint5Tex, gEffFireFootprint6Tex, gEffFireFootprint7Tex, gEffFireFootprint8Tex,
};
s16 texIdx = (this->rgTexIdx / 100) % 7;
EffectSs_DrawGEffect(globalCtx, this, textures[texIdx]);
EffectSs_DrawGEffect(globalCtx, this, fireFootprintTextures[texIdx]);
}
void EffectSsGFire_Update(GlobalContext* globalCtx, u32 index, EffectSs* this) {

View file

@ -75,7 +75,7 @@ void EffectSsGRipple_DrawRipple(GlobalContext* globalCtx, EffectSs* this, UNK_PT
radius = this->rRadius * 0.0025f;
if ((this->rWaterBoxNum != -1) && (this->rWaterBoxNum < globalCtx->colCtx.colHeader->nbWaterBoxes)) {
if ((this->rWaterBoxNum != -1) && (this->rWaterBoxNum < globalCtx->colCtx.colHeader->numWaterBoxes)) {
yPos = (this->rWaterBoxNum + globalCtx->colCtx.colHeader->waterBoxes)->ySurface;
} else {
yPos = this->pos.y;

View file

@ -65,14 +65,13 @@ u32 EffectSsGSpk_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void*
return 1;
}
static UNK_PTR sTextures[] = {
gEffSpark1Tex,
gEffSpark2Tex,
gEffSpark3Tex,
gEffSpark4Tex,
};
void EffectSsGSpk_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
static void* sparkTextures[] = {
gEffSpark1Tex,
gEffSpark2Tex,
gEffSpark3Tex,
gEffSpark4Tex,
};
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
MtxF mfTrans;
MtxF mfScale;
@ -94,7 +93,7 @@ void EffectSsGSpk_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
if (mtx != NULL) {
gSPMatrix(POLY_XLU_DISP++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTextures[this->rTexIdx]));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sparkTextures[this->rTexIdx]));
func_80094BC4(gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, 255);
gDPSetEnvColor(POLY_XLU_DISP++, this->rEnvColorR, this->rEnvColorG, this->rEnvColorB, this->rEnvColorA);

View file

@ -89,12 +89,11 @@ u32 EffectSsGSplash_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, vo
return 1;
}
static UNK_PTR sTextures[] = {
gEffWaterSplash1Tex, gEffWaterSplash2Tex, gEffWaterSplash3Tex, gEffWaterSplash4Tex,
gEffWaterSplash5Tex, gEffWaterSplash6Tex, gEffWaterSplash7Tex, gEffWaterSplash8Tex,
};
void EffectSsGSplash_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
static void* waterSplashTextures[] = {
gEffWaterSplash1Tex, gEffWaterSplash2Tex, gEffWaterSplash3Tex, gEffWaterSplash4Tex,
gEffWaterSplash5Tex, gEffWaterSplash6Tex, gEffWaterSplash7Tex, gEffWaterSplash8Tex,
};
s16 texIdx;
switch (this->rType) {
@ -103,7 +102,7 @@ void EffectSsGSplash_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
if (texIdx > 7) {
texIdx = 7;
}
EffectSs_DrawGEffect(globalCtx, this, sTextures[texIdx]);
EffectSs_DrawGEffect(globalCtx, this, waterSplashTextures[texIdx]);
break;
case 1:
@ -111,7 +110,7 @@ void EffectSsGSplash_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
if (texIdx > 7) {
texIdx = 7;
}
EffectSs_DrawGEffect(globalCtx, this, sTextures[texIdx]);
EffectSs_DrawGEffect(globalCtx, this, waterSplashTextures[texIdx]);
break;
case 2:
@ -119,7 +118,7 @@ void EffectSsGSplash_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
if (texIdx > 7) {
texIdx = 7;
}
EffectSs_DrawGEffect(globalCtx, this, sTextures[texIdx]);
EffectSs_DrawGEffect(globalCtx, this, waterSplashTextures[texIdx]);
break;
default:

View file

@ -27,7 +27,7 @@ static Color_RGB8 sColors[] = {
{ 255, 255, 255 }, { 0, 255, 200 }, { 255, 255, 255 }, { 150, 0, 255 },
};
static UNK_PTR sTextures[] = {
static void* sTextures[] = {
gEffHitMark1Tex, gEffHitMark2Tex, gEffHitMark3Tex, gEffHitMark4Tex, gEffHitMark5Tex, gEffHitMark6Tex,
gEffHitMark7Tex, gEffHitMark8Tex, gEffHitMark9Tex, gEffHitMark10Tex, gEffHitMark11Tex, gEffHitMark12Tex,
gEffHitMark13Tex, gEffHitMark14Tex, gEffHitMark15Tex, gEffHitMark16Tex, gEffHitMark17Tex, gEffHitMark18Tex,

View file

@ -66,12 +66,11 @@ void EffectSsLightning_NewLightning(GlobalContext* globalCtx, Vec3f* pos, s16 ya
EffectSs_Insert(globalCtx, &newLightning);
}
static UNK_PTR sTextures[] = {
gEffLightning1Tex, gEffLightning2Tex, gEffLightning3Tex, gEffLightning4Tex,
gEffLightning5Tex, gEffLightning6Tex, gEffLightning7Tex, gEffLightning8Tex,
};
void EffectSsLightning_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
static void* lightningTextures[] = {
gEffLightning1Tex, gEffLightning2Tex, gEffLightning3Tex, gEffLightning4Tex,
gEffLightning5Tex, gEffLightning6Tex, gEffLightning7Tex, gEffLightning8Tex,
};
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
MtxF mfResult;
MtxF mfTrans;
@ -108,7 +107,7 @@ void EffectSsLightning_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this)
if (mtx != NULL) {
gSPMatrix(POLY_XLU_DISP++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_80094C50(gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTextures[texIdx]));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(lightningTextures[texIdx]));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB,
this->rPrimColorA);
gDPSetEnvColor(POLY_XLU_DISP++, this->rEnvColorR, this->rEnvColorG, this->rEnvColorB, this->rEnvColorA);

View file

@ -50,12 +50,12 @@ u32 EffectSsSibuki2_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, vo
return 1;
}
static UNK_PTR sTextures[] = {
gEffUnusedBubbles1Tex, gEffUnusedBubbles1Tex, gEffUnusedBubbles2Tex, gEffUnusedBubbles3Tex, gEffUnusedBubbles4Tex,
gEffUnusedBubbles5Tex, gEffUnusedBubbles6Tex, gEffUnusedBubbles7Tex, gEffUnusedBubbles8Tex,
};
void EffectSsSibuki2_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
static void* bubbleTextures[] = {
gEffUnusedBubbles1Tex, gEffUnusedBubbles1Tex, gEffUnusedBubbles2Tex,
gEffUnusedBubbles3Tex, gEffUnusedBubbles4Tex, gEffUnusedBubbles5Tex,
gEffUnusedBubbles6Tex, gEffUnusedBubbles7Tex, gEffUnusedBubbles8Tex,
};
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
f32 scale = this->rScale / 100.0f;
@ -68,7 +68,7 @@ void EffectSsSibuki2_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
func_80093D18(gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, this->rPrimColorA);
gDPSetEnvColor(POLY_XLU_DISP++, this->rEnvColorR, this->rEnvColorG, this->rEnvColorB, this->rEnvColorA);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTextures[this->rTexIdx]));
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(bubbleTextures[this->rTexIdx]));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gEffUnusedBubblesDL));
CLOSE_DISPS(gfxCtx, "../z_eff_ss_sibuki2.c", 198);

View file

@ -410,15 +410,16 @@ void Select_PrintMenu(SelectContext* this, GfxPrint* printer) {
}
static char* sLoadingMessages[] = {
"\x8Dシバラクオマチクダサイ", // "Please wait a minute"
"\x8Dチョット マッテネ", // "Hold on a sec"
"\x8Cウェイト ア モーメント", // "Wait a moment"
"\x8Cロード\x8Dチュウ", // "Loading"
"\x8Dナウ ワーキング", // "Now working"
"\x8Dイマ ツクッテマス", // "Now creating"
"\x8Dコショウジャナイヨ", // "It's not broken"
"\x8Cコーヒー ブレイク", // "Coffee Break"
"\x8C" "Bメンヲセットシテクダサイ", // "Please set B side"
"\x8Dシバラクオマチクダサイ", // "Please wait a minute"
"\x8Dチョット マッテネ", // "Hold on a sec"
"\x8Cウェイト ア モーメント", // "Wait a moment"
"\x8Cロード\x8Dチュウ", // "Loading"
"\x8Dナウ ワーキング", // "Now working"
"\x8Dイマ ツクッテマス", // "Now creating"
"\x8Dコショウジャナイヨ", // "It's not broken"
"\x8Cコーヒー ブレイク", // "Coffee Break"
"\x8C"
"Bメンヲセットシテクダサイ", // "Please set B side"
"\x8Dジット\x8Cガマン\x8D\x8C\x8Dデアッタ", // "Be patient, now"
"\x8Dイマシバラクオマチクダサイ", // "Please wait just a minute"
"\x8Dアワテナイアワテナイ。ヒトヤスミヒトヤスミ。", // "Don't worry, don't worry. Take a break, take a break"