General Cleanup 3 (#1543)

* voicestopread -> voicestopreaddata

* PadMgr_ThreadEntry

* PointLight_t

* OS_VI_UNK28

* print stuff

* Remove OS_PRIORITY_THREADTAIL

* sBoeDlists -> sBoeModelInfo

* Prerender_DrawBackground2D

* segments

* Revert "print stuff"

This reverts commit 1d833e2f0d.

* format

* Update src/overlays/actors/ovl_En_Mkk/z_en_mkk.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
This commit is contained in:
Derek Hensley 2024-01-29 05:51:59 -08:00 committed by GitHub
parent 0729b150a3
commit 6fb4a07325
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
41 changed files with 160 additions and 152 deletions

View File

@ -1279,12 +1279,12 @@ typedef struct {
// Added in MM // Added in MM
typedef struct { typedef struct {
unsigned char col[3]; unsigned char col[3];
unsigned char unk3; unsigned char kc;
unsigned char colc[3]; unsigned char colc[3];
unsigned char unk7; unsigned char kl;
short pos[3]; short pos[3];
unsigned char unkE; unsigned char kq;
} PointLight_t; } PointLight_t;
typedef struct { typedef struct {

View File

@ -70,9 +70,6 @@ typedef struct OSThread {
#define OS_PRIORITY_VIMGR 254 #define OS_PRIORITY_VIMGR 254
#define OS_PRIORITY_MAX 255 #define OS_PRIORITY_MAX 255
#define OS_PRIORITY_THREADTAIL -1
void osCreateThread(OSThread* thread, OSId id, void* entry, void* arg, void* sp, OSPri p); void osCreateThread(OSThread* thread, OSId id, void* entry, void* arg, void* sp, OSPri p);
void osDestroyThread(OSThread* t); void osDestroyThread(OSThread* t);
void osYieldThread(void); void osYieldThread(void);

View File

@ -103,8 +103,6 @@ typedef struct {
#define OS_VI_FPAL_HPN2 54 #define OS_VI_FPAL_HPN2 54
#define OS_VI_FPAL_HPF2 55 #define OS_VI_FPAL_HPF2 55
#define OS_VI_UNK28 28
extern OSViMode osViModeNtscHpf1; extern OSViMode osViModeNtscHpf1;
extern OSViMode osViModePalLan1; extern OSViMode osViModePalLan1;
extern OSViMode osViModeNtscHpn1; extern OSViMode osViModeNtscHpn1;

View File

@ -1,10 +1,12 @@
#ifndef GFXPRINT_H #ifndef GFXPRINT_H
#define GFXPRINT_H #define GFXPRINT_H
#include "color.h" #include "ultra64.h"
#include "PR/gbi.h"
#include "PR/ultratypes.h" #include "libc64/aprintf.h"
#include "PR/xstdio.h" #include "PR/xstdio.h"
#include "color.h"
#include "unk.h" #include "unk.h"
#define GFXP_UNUSED "\x8E" #define GFXP_UNUSED "\x8E"

2
spec
View File

@ -184,7 +184,7 @@ beginseg
include "build/src/libultra/io/visetspecial.o" include "build/src/libultra/io/visetspecial.o"
include "build/src/libultra/gu/coss.o" include "build/src/libultra/gu/coss.o"
include "build/src/libultra/os/settime.o" include "build/src/libultra/os/settime.o"
include "build/src/libultra/voice/voicestopread.o" include "build/src/libultra/voice/voicestopreaddata.o"
include "build/src/libultra/io/visetevent.o" include "build/src/libultra/io/visetevent.o"
include "build/src/libultra/io/pfsisplug.o" include "build/src/libultra/io/pfsisplug.o"
include "build/src/libultra/voice/voicegetstatus.o" include "build/src/libultra/voice/voicegetstatus.o"

View File

@ -1,5 +1,4 @@
#include "global.h" #include "gfxprint.h"
#include "libc64/aprintf.h"
#define GFXP_FLAG_HIRAGANA (1 << 0) #define GFXP_FLAG_HIRAGANA (1 << 0)
#define GFXP_FLAG_RAINBOW (1 << 1) #define GFXP_FLAG_RAINBOW (1 << 1)
@ -127,30 +126,37 @@ void GfxPrint_PrintChar(GfxPrint* this, u8 c) {
switch (c) { switch (c) {
case '\0': case '\0':
break; break;
case '\n': case '\n':
this->posY += 32; this->posY += 32;
case '\r': case '\r':
this->posX = this->baseX; this->posX = this->baseX;
break; break;
case '\t': case '\t':
do { do {
GfxPrint_PrintCharImpl(this, ' '); GfxPrint_PrintCharImpl(this, ' ');
} while ((this->posX - this->baseX) % 256); } while ((this->posX - this->baseX) % 256);
break; break;
case GFXP_HIRAGANA_CHAR: case GFXP_HIRAGANA_CHAR:
this->flags |= GFXP_FLAG_HIRAGANA; this->flags |= GFXP_FLAG_HIRAGANA;
break; break;
case GFXP_KATAKANA_CHAR: case GFXP_KATAKANA_CHAR:
this->flags &= ~GFXP_FLAG_HIRAGANA; this->flags &= ~GFXP_FLAG_HIRAGANA;
break; break;
case GFXP_RAINBOW_ON_CHAR: case GFXP_RAINBOW_ON_CHAR:
this->flags |= GFXP_FLAG_RAINBOW; this->flags |= GFXP_FLAG_RAINBOW;
this->flags |= GFXP_FLAG_UPDATE; this->flags |= GFXP_FLAG_UPDATE;
break; break;
case GFXP_RAINBOW_OFF_CHAR: case GFXP_RAINBOW_OFF_CHAR:
this->flags &= ~GFXP_FLAG_RAINBOW; this->flags &= ~GFXP_FLAG_RAINBOW;
this->flags |= GFXP_FLAG_UPDATE; this->flags |= GFXP_FLAG_UPDATE;
break; break;
case GFXP_UNUSED_CHAR: case GFXP_UNUSED_CHAR:
default: default:
break; break;

View File

@ -530,7 +530,8 @@ void osSyncPrintfThreadContext(OSThread* thread) {
OSThread* Fault_FindFaultedThread(void) { OSThread* Fault_FindFaultedThread(void) {
OSThread* iter = __osGetActiveQueue(); OSThread* iter = __osGetActiveQueue();
while (iter->priority != OS_PRIORITY_THREADTAIL) { // -1 indicates the end of the thread queue
while (iter->priority != -1) {
if ((iter->priority > OS_PRIORITY_IDLE) && (iter->priority < OS_PRIORITY_APPMAX) && if ((iter->priority > OS_PRIORITY_IDLE) && (iter->priority < OS_PRIORITY_APPMAX) &&
(iter->flags & (OS_FLAG_CPU_BREAK | OS_FLAG_FAULT))) { (iter->flags & (OS_FLAG_CPU_BREAK | OS_FLAG_FAULT))) {
return iter; return iter;

View File

@ -734,7 +734,7 @@ void PadMgr_GetInput2(Input* inputs, s32 gameRequest) {
PadMgr_UnlockPadData(); PadMgr_UnlockPadData();
} }
void PadMgr_ThreadEntry() { void PadMgr_ThreadEntry(void) {
s16* interruptMsg = NULL; s16* interruptMsg = NULL;
s32 actionBits; s32 actionBits;
s32 exit; s32 exit;
@ -798,6 +798,6 @@ void PadMgr_Init(OSMesgQueue* siEvtQ, IrqMgr* irqMgr, OSId threadId, OSPri pri,
osContSetCh(sPadMgrInstance->nControllers); osContSetCh(sPadMgrInstance->nControllers);
PadMgr_ReleaseSerialEventQueue(siEvtQ); PadMgr_ReleaseSerialEventQueue(siEvtQ);
osCreateThread(&sPadMgrInstance->thread, threadId, PadMgr_ThreadEntry, sPadMgrInstance, stack, pri); osCreateThread(&sPadMgrInstance->thread, threadId, (void*)PadMgr_ThreadEntry, sPadMgrInstance, stack, pri);
osStartThread(&sPadMgrInstance->thread); osStartThread(&sPadMgrInstance->thread);
} }

View File

@ -3394,10 +3394,10 @@ Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, PlayState* play, s1
Actor_AddToCategory(actorCtx, actor, actorInit->type); Actor_AddToCategory(actorCtx, actor, actorInit->type);
{ {
u32 sp20 = gSegments[6]; uintptr_t prevSeg = gSegments[0x06];
Actor_Init(actor, play); Actor_Init(actor, play);
gSegments[6] = sp20; gSegments[0x06] = prevSeg;
} }
return actor; return actor;

View File

@ -133,7 +133,7 @@ EnDoor* EnHy_FindNearestDoor(Actor* actor, PlayState* play) {
} }
void EnHy_ChangeObjectAndAnim(EnHy* enHy, PlayState* play, s16 animIndex) { void EnHy_ChangeObjectAndAnim(EnHy* enHy, PlayState* play, s16 animIndex) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment);
EnHy_ChangeAnim(&enHy->skelAnime, animIndex); EnHy_ChangeAnim(&enHy->skelAnime, animIndex);
} }
@ -141,7 +141,7 @@ s32 EnHy_UpdateSkelAnime(EnHy* enHy, PlayState* play) {
s32 isUpdated = false; s32 isUpdated = false;
if (enHy->actor.draw != NULL) { if (enHy->actor.draw != NULL) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->animObjectSlot].segment);
SkelAnime_Update(&enHy->skelAnime); SkelAnime_Update(&enHy->skelAnime);
isUpdated = true; isUpdated = true;
} }
@ -168,7 +168,7 @@ s32 EnHy_Init(EnHy* enHy, PlayState* play, FlexSkeletonHeader* skeletonHeaderSeg
enHy->actor.objectSlot = enHy->skelLowerObjectSlot; enHy->actor.objectSlot = enHy->skelLowerObjectSlot;
isInitialized = true; isInitialized = true;
ActorShape_Init(&enHy->actor.shape, 0.0f, NULL, 0.0f); ActorShape_Init(&enHy->actor.shape, 0.0f, NULL, 0.0f);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->actor.objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[enHy->actor.objectSlot].segment);
SkelAnime_InitFlex(play, &enHy->skelAnime, skeletonHeaderSeg, NULL, enHy->jointTable, enHy->morphTable, SkelAnime_InitFlex(play, &enHy->skelAnime, skeletonHeaderSeg, NULL, enHy->jointTable, enHy->morphTable,
ENHY_LIMB_MAX); ENHY_LIMB_MAX);
EnHy_ChangeObjectAndAnim(enHy, play, animIndex); EnHy_ChangeObjectAndAnim(enHy, play, animIndex);

View File

@ -187,8 +187,8 @@ void TransitionTile_Draw(TransitionTile* this, Gfx** gfxP) {
TransitionTile_SetVtx(this); TransitionTile_SetVtx(this);
gSPMatrix(gfx++, &this->projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(gfx++, &this->projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gfx++, &this->modelView, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(gfx++, &this->modelView, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfx++, 0xA, this->frame == 0 ? this->vtxFrame1 : this->vtxFrame2); gSPSegment(gfx++, 0x0A, this->frame == 0 ? this->vtxFrame1 : this->vtxFrame2);
gSPSegment(gfx++, 0xB, this->zBuffer); gSPSegment(gfx++, 0x0B, this->zBuffer);
gSPDisplayList(gfx++, sTransTileSetupDL); gSPDisplayList(gfx++, sTransTileSetupDL);
gSPDisplayList(gfx++, this->gfx); gSPDisplayList(gfx++, this->gfx);
gDPPipeSync(gfx++); gDPPipeSync(gfx++);

View File

@ -132,39 +132,43 @@ void Lights_BindPointWithReference(Lights* lights, LightParams* params, Vec3f* p
void Lights_BindPoint(Lights* lights, LightParams* params, PlayState* play) { void Lights_BindPoint(Lights* lights, LightParams* params, PlayState* play) {
Light* light; Light* light;
f32 radiusF = params->point.radius; f32 kq = params->point.radius;
Vec3f posF; Vec3f pos;
Vec3f adjustedPos; Vec3f adjustedPos;
s32 pad; s32 pad;
if (radiusF > 0) { if (kq > 0.0f) {
posF.x = params->point.x; pos.x = params->point.x;
posF.y = params->point.y; pos.y = params->point.y;
posF.z = params->point.z; pos.z = params->point.z;
SkinMatrix_Vec3fMtxFMultXYZ(&play->viewProjectionMtxF, &posF, &adjustedPos); SkinMatrix_Vec3fMtxFMultXYZ(&play->viewProjectionMtxF, &pos, &adjustedPos);
if ((adjustedPos.z > -radiusF) && (600 + radiusF > adjustedPos.z) && (400 > fabsf(adjustedPos.x) - radiusF) && if ((-kq < adjustedPos.z) && ((600.0f + kq) > adjustedPos.z) && ((fabsf(adjustedPos.x) - kq) < 400.0f) &&
(400 > fabsf(adjustedPos.y) - radiusF)) { ((fabsf(adjustedPos.y) - kq) < 400.0f)) {
light = Lights_FindSlot(lights); light = Lights_FindSlot(lights);
if (light != NULL) { if (light != NULL) {
radiusF = 4500000.0f / (radiusF * radiusF); kq = 4500000.0f / SQ(kq);
if (radiusF > 255) { if (kq > 255.0f) {
radiusF = 255; kq = 255.0f;
} else if (20 > radiusF) { } else if (20.0f > kq) {
radiusF = 20; kq = 20.0f;
} }
light->p.col[0] = params->point.color[0]; light->p.col[0] = params->point.color[0];
light->p.colc[0] = light->p.col[0]; light->p.colc[0] = light->p.col[0];
light->p.col[1] = params->point.color[1]; light->p.col[1] = params->point.color[1];
light->p.colc[1] = light->p.col[1]; light->p.colc[1] = light->p.col[1];
light->p.col[2] = params->point.color[2]; light->p.col[2] = params->point.color[2];
light->p.colc[2] = light->p.col[2]; light->p.colc[2] = light->p.col[2];
light->p.pos[0] = params->point.x; light->p.pos[0] = params->point.x;
light->p.pos[1] = params->point.y; light->p.pos[1] = params->point.y;
light->p.pos[2] = params->point.z; light->p.pos[2] = params->point.z;
light->p.unk3 = 0x8;
light->p.unk7 = 0xFF; light->p.kc = 8;
light->p.unkE = (s32)radiusF; light->p.kl = -1;
light->p.kq = (s32)kq;
} }
} }
} }

View File

@ -6231,8 +6231,8 @@ void Interface_Draw(PlayState* play) {
gSPLoadUcodeL(OVERLAY_DISP++, gspS2DEX2_fifo); gSPLoadUcodeL(OVERLAY_DISP++, gspS2DEX2_fifo);
gfx = OVERLAY_DISP; gfx = OVERLAY_DISP;
Prerender_DrawBackground2D(&gfx, sStoryTextures[interfaceCtx->storyType], Prerender_DrawBackground2D(&gfx, sStoryTextures[interfaceCtx->storyType],
sStoryTLUTs[interfaceCtx->storyType], SCREEN_WIDTH, SCREEN_HEIGHT, 2, 1, 0x8000, sStoryTLUTs[interfaceCtx->storyType], SCREEN_WIDTH, SCREEN_HEIGHT, G_IM_FMT_CI,
0x100, 0.0f, 0.0f, 1.0f, 1.0f, 0); G_IM_SIZ_8b, G_TT_RGBA16, 256, 0.0f, 0.0f, 1.0f, 1.0f, 0);
OVERLAY_DISP = gfx; OVERLAY_DISP = gfx;
gSPLoadUcode(OVERLAY_DISP++, SysUcode_GetUCode(), SysUcode_GetUCodeData()); gSPLoadUcode(OVERLAY_DISP++, SysUcode_GetUCode(), SysUcode_GetUCodeData());

View File

@ -922,9 +922,9 @@ void Play_UpdateMain(PlayState* this) {
s32 sp5C = false; s32 sp5C = false;
u8 freezeFlashTimer; u8 freezeFlashTimer;
gSegments[4] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); gSegments[0x04] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment);
gSegments[5] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.subKeepSlot].segment); gSegments[0x05] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.subKeepSlot].segment);
gSegments[2] = OS_K0_TO_PHYSICAL(this->sceneSegment); gSegments[0x02] = OS_K0_TO_PHYSICAL(this->sceneSegment);
if (R_PICTO_PHOTO_STATE == PICTO_PHOTO_STATE_PROCESS) { if (R_PICTO_PHOTO_STATE == PICTO_PHOTO_STATE_PROCESS) {
R_PICTO_PHOTO_STATE = PICTO_PHOTO_STATE_READY; R_PICTO_PHOTO_STATE = PICTO_PHOTO_STATE_READY;
@ -1153,9 +1153,9 @@ void Play_DrawMain(PlayState* this) {
OPEN_DISPS(gfxCtx); OPEN_DISPS(gfxCtx);
gSegments[4] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); gSegments[0x04] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment);
gSegments[5] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.subKeepSlot].segment); gSegments[0x05] = OS_K0_TO_PHYSICAL(this->objectCtx.slots[this->objectCtx.subKeepSlot].segment);
gSegments[2] = OS_K0_TO_PHYSICAL(this->sceneSegment); gSegments[0x02] = OS_K0_TO_PHYSICAL(this->sceneSegment);
gSPSegment(POLY_OPA_DISP++, 0x04, this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x04, this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment);
gSPSegment(POLY_XLU_DISP++, 0x04, this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment); gSPSegment(POLY_XLU_DISP++, 0x04, this->objectCtx.slots[this->objectCtx.mainKeepSlot].segment);
@ -1595,7 +1595,7 @@ void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) {
this->sceneConfig = scene->drawConfig; this->sceneConfig = scene->drawConfig;
this->sceneSegment = Play_LoadFile(this, &scene->segment); this->sceneSegment = Play_LoadFile(this, &scene->segment);
scene->unk_D = 0; scene->unk_D = 0;
gSegments[2] = OS_K0_TO_PHYSICAL(this->sceneSegment); gSegments[0x02] = OS_K0_TO_PHYSICAL(this->sceneSegment);
Play_InitScene(this, spawn); Play_InitScene(this, spawn);
Room_AllocateAndLoad(this, &this->roomCtx); Room_AllocateAndLoad(this, &this->roomCtx);
} }

View File

@ -2589,7 +2589,7 @@ void Player_DrawGetItemImpl(PlayState* play, Player* player, Vec3f* refPos, s32
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);
gSegments[6] = OS_K0_TO_PHYSICAL(player->giObjectSegment); gSegments[0x06] = OS_K0_TO_PHYSICAL(player->giObjectSegment);
gSPSegment(POLY_OPA_DISP++, 0x06, player->giObjectSegment); gSPSegment(POLY_OPA_DISP++, 0x06, player->giObjectSegment);
gSPSegment(POLY_XLU_DISP++, 0x06, player->giObjectSegment); gSPSegment(POLY_XLU_DISP++, 0x06, player->giObjectSegment);
@ -2851,7 +2851,7 @@ void func_80127488(PlayState* play, Player* player, u8 alpha) {
} }
void Player_DrawCouplesMask(PlayState* play, Player* player) { void Player_DrawCouplesMask(PlayState* play, Player* player) {
gSegments[0xA] = OS_K0_TO_PHYSICAL(player->maskObjectSegment); gSegments[0x0A] = OS_K0_TO_PHYSICAL(player->maskObjectSegment);
AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_meoto_Matanimheader_001CD8)); AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_meoto_Matanimheader_001CD8));
} }
@ -2939,7 +2939,7 @@ void Player_DrawBlastMask(PlayState* play, Player* player) {
if (player->blastMaskTimer != 0) { if (player->blastMaskTimer != 0) {
s32 alpha; s32 alpha;
gSegments[0xA] = OS_K0_TO_PHYSICAL(player->maskObjectSegment); gSegments[0x0A] = OS_K0_TO_PHYSICAL(player->maskObjectSegment);
AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_bakuretu_Matanimheader_0011F8)); AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_bakuretu_Matanimheader_0011F8));

View File

@ -1522,7 +1522,7 @@ void func_8012CF0C(GraphicsContext* gfxCtx, s32 clearFb, s32 clearZb, u8 r, u8 g
masterGfx = gGfxMasterDL->syncSegments; masterGfx = gGfxMasterDL->syncSegments;
for (i = 0; i < ARRAY_COUNT(gSegments); i++) { for (i = 0; i < NUM_SEGMENTS; i++) {
if (i == 0x0E) { if (i == 0x0E) {
gSPNoOp(&masterGfx[i]); gSPNoOp(&masterGfx[i]);
} else { } else {

View File

@ -575,7 +575,7 @@ s32 Room_HandleLoadCallbacks(PlayState* play, RoomContext* roomCtx) {
if (osRecvMesg(&roomCtx->loadQueue, NULL, OS_MESG_NOBLOCK) == 0) { if (osRecvMesg(&roomCtx->loadQueue, NULL, OS_MESG_NOBLOCK) == 0) {
roomCtx->status = 0; roomCtx->status = 0;
roomCtx->curRoom.segment = roomCtx->activeRoomVram; roomCtx->curRoom.segment = roomCtx->activeRoomVram;
gSegments[3] = OS_K0_TO_PHYSICAL(roomCtx->activeRoomVram); gSegments[0x03] = OS_K0_TO_PHYSICAL(roomCtx->activeRoomVram);
Scene_ExecuteCommands(play, roomCtx->curRoom.segment); Scene_ExecuteCommands(play, roomCtx->curRoom.segment);
func_80123140(play, GET_PLAYER(play)); func_80123140(play, GET_PLAYER(play));
@ -606,7 +606,7 @@ RoomDrawHandler sRoomDrawHandlers[] = {
void Room_Draw(PlayState* play, Room* room, u32 flags) { void Room_Draw(PlayState* play, Room* room, u32 flags) {
if (room->segment != NULL) { if (room->segment != NULL) {
gSegments[3] = OS_K0_TO_PHYSICAL(room->segment); gSegments[0x03] = OS_K0_TO_PHYSICAL(room->segment);
sRoomDrawHandlers[room->roomShape->base.type](play, room, flags); sRoomDrawHandlers[room->roomShape->base.type](play, room, flags);
} }
return; return;

View File

@ -66,7 +66,7 @@ void Object_InitContext(GameState* gameState, ObjectContext* objectCtx) {
objectCtx->spaceEnd = (void*)((u32)objectCtx->spaceStart + spaceSize); objectCtx->spaceEnd = (void*)((u32)objectCtx->spaceStart + spaceSize);
objectCtx->mainKeepSlot = Object_SpawnPersistent(objectCtx, GAMEPLAY_KEEP); objectCtx->mainKeepSlot = Object_SpawnPersistent(objectCtx, GAMEPLAY_KEEP);
gSegments[4] = OS_K0_TO_PHYSICAL(objectCtx->slots[objectCtx->mainKeepSlot].segment); gSegments[0x04] = OS_K0_TO_PHYSICAL(objectCtx->slots[objectCtx->mainKeepSlot].segment);
} }
void Object_UpdateEntries(ObjectContext* objectCtx) { void Object_UpdateEntries(ObjectContext* objectCtx) {

View File

@ -362,7 +362,7 @@ void ViMode_Update(ViMode* viMode, Input* input) {
} }
} }
ViMode_Configure(&viMode->customViMode, OS_VI_UNK28, osTvType, viMode->loRes, viMode->antialiasOff, ViMode_Configure(&viMode->customViMode, OS_VI_MPAL_LPN1, osTvType, viMode->loRes, viMode->antialiasOff,
viMode->modeN, viMode->fb16Bit, viMode->viWidth, viMode->viHeight, viMode->leftAdjust, viMode->modeN, viMode->fb16Bit, viMode->viWidth, viMode->viHeight, viMode->leftAdjust,
viMode->rightAdjust, viMode->upperAdjust, viMode->lowerAdjust); viMode->rightAdjust, viMode->upperAdjust, viMode->lowerAdjust);
ViMode_ConfigureFeatures(viMode, viMode->viFeatures); ViMode_ConfigureFeatures(viMode, viMode->viFeatures);

View File

@ -1,6 +1,6 @@
#include "ultra64.h" #include "ultra64.h"
__OSThreadTail __osThreadTail = { NULL, OS_PRIORITY_THREADTAIL }; __OSThreadTail __osThreadTail = { NULL, -1 };
OSThread* __osRunQueue = (OSThread*)&__osThreadTail; OSThread* __osRunQueue = (OSThread*)&__osThreadTail;
OSThread* __osActiveQueue = (OSThread*)&__osThreadTail; OSThread* __osActiveQueue = (OSThread*)&__osThreadTail;
OSThread* __osRunningThread = NULL; OSThread* __osRunningThread = NULL;

View File

@ -1,5 +1,5 @@
/** /**
* File: voicestopread.c * File: voicestopreaddata.c
* *
* Forcibly stops voice recognition processing by the Voice Recognition System * Forcibly stops voice recognition processing by the Voice Recognition System
*/ */

View File

@ -2158,7 +2158,7 @@ void Boss03_SetObject(PlayState* play, s16 objectId) {
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment);
gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment); gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[objectSlot].segment);

View File

@ -92,9 +92,9 @@ s32 DmAn_UpdateSkelAnime(DmAn* this, PlayState* play) {
} }
if (objectSlot2 > OBJECT_SLOT_NONE) { if (objectSlot2 > OBJECT_SLOT_NONE) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment);
isAnimFinished = SkelAnime_Update(&this->skelAnime); isAnimFinished = SkelAnime_Update(&this->skelAnime);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
} }
return isAnimFinished; return isAnimFinished;
@ -112,10 +112,10 @@ s32 DmAn_ChangeAnim(DmAn* this, PlayState* play, DmAnAnimation animIndex) {
} }
if ((objectSlot2 > OBJECT_SLOT_NONE) && (this->animIndex != animIndex)) { if ((objectSlot2 > OBJECT_SLOT_NONE) && (this->animIndex != animIndex)) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot2].segment);
this->animIndex = animIndex; this->animIndex = animIndex;
didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex); didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
} }
return didAnimChange; return didAnimChange;

View File

@ -92,9 +92,9 @@ s32 DmGm_UpdateSkelAnime(DmGm* this, PlayState* play) {
} }
if (objectIndex2 > OBJECT_SLOT_NONE) { if (objectIndex2 > OBJECT_SLOT_NONE) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment);
isAnimFinished = SkelAnime_Update(&this->skelAnime); isAnimFinished = SkelAnime_Update(&this->skelAnime);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
} }
return isAnimFinished; return isAnimFinished;
@ -112,10 +112,10 @@ s32 DmGm_ChangeAnim(DmGm* this, PlayState* play, DmGmAnimation animIndex) {
} }
if ((objectIndex2 > OBJECT_SLOT_NONE) && (this->animIndex != animIndex)) { if ((objectIndex2 > OBJECT_SLOT_NONE) && (this->animIndex != animIndex)) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectIndex2].segment);
this->animIndex = animIndex; this->animIndex = animIndex;
didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex); didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
} }
return didAnimChange; return didAnimChange;

View File

@ -320,7 +320,7 @@ void DmStk_LoadObjectForAnimation(DmStk* this, PlayState* play) {
} }
if (objectSlot > OBJECT_SLOT_NONE) { if (objectSlot > OBJECT_SLOT_NONE) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
} }
} }
@ -1967,13 +1967,13 @@ void DmStk_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
(this->objectStk2ObjectSlot > OBJECT_SLOT_NONE)) { (this->objectStk2ObjectSlot > OBJECT_SLOT_NONE)) {
Matrix_Push(); Matrix_Push();
Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY); Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStk2ObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStk2ObjectSlot].segment);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStk2ObjectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStk2ObjectSlot].segment);
AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gSkullKidMajorasMaskCurseOverlayTexAnim)); AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gSkullKidMajorasMaskCurseOverlayTexAnim));
Gfx_DrawDListOpa(play, gSkullKidMajorasMaskCurseOverlayDL); Gfx_DrawDListOpa(play, gSkullKidMajorasMaskCurseOverlayDL);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStkObjectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->objectStkObjectSlot].segment);
@ -2094,7 +2094,7 @@ void DmStk_Draw(Actor* thisx, PlayState* play) {
return; return;
} }
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectStkObjectSlot].segment);
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);

View File

@ -1037,10 +1037,10 @@ s32 EnAn_UpdateSkelAnime(EnAn* this, PlayState* play) {
} }
if (otherObjectSlot > OBJECT_SLOT_NONE) { if (otherObjectSlot > OBJECT_SLOT_NONE) {
gSegments[0x6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[otherObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[otherObjectSlot].segment);
this->skelAnime.playSpeed = this->animPlaySpeed; this->skelAnime.playSpeed = this->animPlaySpeed;
ret = SkelAnime_Update(&this->skelAnime); ret = SkelAnime_Update(&this->skelAnime);
gSegments[0x6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[originalObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[originalObjectSlot].segment);
} }
return ret; return ret;
@ -1096,11 +1096,11 @@ s32 EnAn_ChangeAnim(EnAn* this, PlayState* play, EnAnAnimation animIndex) {
} }
if (changeAnim && (otherObjectSlot > OBJECT_SLOT_NONE)) { if (changeAnim && (otherObjectSlot > OBJECT_SLOT_NONE)) {
gSegments[0x6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[otherObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[otherObjectSlot].segment);
this->animIndex = animIndex; this->animIndex = animIndex;
didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex); didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
this->animPlaySpeed = this->skelAnime.playSpeed; this->animPlaySpeed = this->skelAnime.playSpeed;
gSegments[0x6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[originalObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[originalObjectSlot].segment);
} }
return didAnimChange; return didAnimChange;

View File

@ -266,8 +266,8 @@ s32 EnBba01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment);
CLOSE_DISPS(play->state.gfxCtx); CLOSE_DISPS(play->state.gfxCtx);
} }

View File

@ -1293,30 +1293,30 @@ void EnBigpo_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
void EnBigpo_DrawMainBigpo(Actor* thisx, PlayState* play) { void EnBigpo_DrawMainBigpo(Actor* thisx, PlayState* play) {
EnBigpo* this = THIS; EnBigpo* this = THIS;
Gfx* dispHead; Gfx* gfx;
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);
if ((this->mainColor.a == 255) || (this->mainColor.a == 0)) { if ((this->mainColor.a == 255) || (this->mainColor.a == 0)) {
// fully visible OR fully transparent // fully visible OR fully transparent
dispHead = POLY_OPA_DISP; gfx = POLY_OPA_DISP;
gSPDisplayList(dispHead, gSetupDLs[SETUPDL_25]); gSPDisplayList(gfx, gSetupDLs[SETUPDL_25]);
gSPSegment(&dispHead[1], 0x0C, &D_801AEFA0); // empty display list for no transparency gSPSegment(&gfx[1], 0x0C, D_801AEFA0); // empty display list for no transparency
gSPSegment(&dispHead[2], 0x08, gSPSegment(&gfx[2], 0x08,
Gfx_EnvColor(play->state.gfxCtx, this->mainColor.r, this->mainColor.g, this->mainColor.b, Gfx_EnvColor(play->state.gfxCtx, this->mainColor.r, this->mainColor.g, this->mainColor.b,
this->mainColor.a)); this->mainColor.a));
POLY_OPA_DISP = SkelAnime_Draw(play, this->skelAnime.skeleton, this->skelAnime.jointTable, POLY_OPA_DISP = SkelAnime_Draw(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnBigpo_OverrideLimbDraw, EnBigpo_PostLimbDraw, &this->actor, &dispHead[3]); EnBigpo_OverrideLimbDraw, EnBigpo_PostLimbDraw, &this->actor, &gfx[3]);
} else { } else {
dispHead = POLY_XLU_DISP; gfx = POLY_XLU_DISP;
gSPDisplayList(dispHead, gSetupDLs[SETUPDL_25]); gSPDisplayList(gfx, gSetupDLs[SETUPDL_25]);
gSPSegment(&dispHead[1], 0x0C, &D_801AEF88); // transparency display list gSPSegment(&gfx[1], 0x0C, D_801AEF88); // transparency display list
gSPSegment(&dispHead[2], 0x08, gSPSegment(&gfx[2], 0x08,
Gfx_EnvColor(play->state.gfxCtx, this->mainColor.r, this->mainColor.g, this->mainColor.b, Gfx_EnvColor(play->state.gfxCtx, this->mainColor.r, this->mainColor.g, this->mainColor.b,
this->mainColor.a)); this->mainColor.a));
POLY_XLU_DISP = SkelAnime_Draw(play, this->skelAnime.skeleton, this->skelAnime.jointTable, POLY_XLU_DISP = SkelAnime_Draw(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnBigpo_OverrideLimbDraw, EnBigpo_PostLimbDraw, &this->actor, &dispHead[3]); EnBigpo_OverrideLimbDraw, EnBigpo_PostLimbDraw, &this->actor, &gfx[3]);
} }
// 71.428566f might be 500/7 context unknown // 71.428566f might be 500/7 context unknown
@ -1366,7 +1366,7 @@ void EnBigpo_DrawLantern(Actor* thisx, PlayState* play) {
EnBigpo* this = THIS; EnBigpo* this = THIS;
f32 magnitude; f32 magnitude;
f32 magnitude2; f32 magnitude2;
Gfx* dispHead; Gfx* gfx;
Vec3f vec1; Vec3f vec1;
Vec3f vec2; Vec3f vec2;
Camera* cam = GET_ACTIVE_CAM(play); Camera* cam = GET_ACTIVE_CAM(play);
@ -1385,33 +1385,33 @@ void EnBigpo_DrawLantern(Actor* thisx, PlayState* play) {
// fully visible OR fully transparent // fully visible OR fully transparent
if ((this->mainColor.a == 255) || (this->mainColor.a == 0)) { if ((this->mainColor.a == 255) || (this->mainColor.a == 0)) {
Scene_SetRenderModeXlu(play, 0, 1); Scene_SetRenderModeXlu(play, 0, 1);
dispHead = POLY_OPA_DISP; gfx = POLY_OPA_DISP;
} else { } else {
Scene_SetRenderModeXlu(play, 1, 2); Scene_SetRenderModeXlu(play, 1, 2);
dispHead = POLY_XLU_DISP; gfx = POLY_XLU_DISP;
} }
gSPDisplayList(&dispHead[0], gSetupDLs[SETUPDL_25]); gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]);
gSPSegment(&dispHead[1], 0x0A, Gfx_EnvColor(play->state.gfxCtx, 160, 0, 255, this->mainColor.a)); gSPSegment(&gfx[1], 0x0A, Gfx_EnvColor(play->state.gfxCtx, 160, 0, 255, this->mainColor.a));
Matrix_MultVecY(1400.0f, &vec2); Matrix_MultVecY(1400.0f, &vec2);
Lights_PointGlowSetInfo(&this->fires[0].info, vec2.x + vec1.x, vec2.y + vec1.y, vec2.z + vec1.z, Lights_PointGlowSetInfo(&this->fires[0].info, vec2.x + vec1.x, vec2.y + vec1.y, vec2.z + vec1.z,
this->lanternColor.r, this->lanternColor.g, this->lanternColor.b, this->lanternColor.a); this->lanternColor.r, this->lanternColor.g, this->lanternColor.b, this->lanternColor.a);
gDPSetEnvColor(&dispHead[2], this->lanternColor.r, this->lanternColor.g, this->lanternColor.b, this->mainColor.a); gDPSetEnvColor(&gfx[2], this->lanternColor.r, this->lanternColor.g, this->lanternColor.b, this->mainColor.a);
gSPMatrix(&dispHead[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&dispHead[4], &gBigPoeLanternMainDL); gSPDisplayList(&gfx[4], &gBigPoeLanternMainDL);
gSPDisplayList(&dispHead[5], &gBigPoeLanternPurpleTopDL); gSPDisplayList(&gfx[5], &gBigPoeLanternPurpleTopDL);
// fully transparent OR fully invisible // fully transparent OR fully invisible
if ((this->mainColor.a == 255) || (this->mainColor.a == 0)) { if ((this->mainColor.a == 255) || (this->mainColor.a == 0)) {
POLY_OPA_DISP = &dispHead[6]; POLY_OPA_DISP = &gfx[6];
} else { } else {
POLY_XLU_DISP = &dispHead[6]; POLY_XLU_DISP = &gfx[6];
} }
CLOSE_DISPS(play->state.gfxCtx); CLOSE_DISPS(play->state.gfxCtx);

View File

@ -256,9 +256,9 @@ s32 EnCne01_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->enHy.headObjectSlot].segment);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.headObjectSlot].segment);
*dList = gCneHeadBrownHairDL; *dList = gCneHeadBrownHairDL;
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->enHy.skelLowerObjectSlot].segment);
CLOSE_DISPS(play->state.gfxCtx); CLOSE_DISPS(play->state.gfxCtx);
} }

View File

@ -413,12 +413,12 @@ s32 func_80BB1D64(EnGeg* this, PlayState* play) {
} }
void EnGeg_UpdateSkelAnime(EnGeg* this, PlayState* play) { void EnGeg_UpdateSkelAnime(EnGeg* this, PlayState* play) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
SkelAnime_Update(&this->skelAnime); SkelAnime_Update(&this->skelAnime);
} }
void EnGeg_ChangeAnim(EnGeg* this, PlayState* play) { void EnGeg_ChangeAnim(EnGeg* this, PlayState* play) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex); SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex);
} }

View File

@ -991,10 +991,10 @@ s32 EnGo_UpdateSkelAnime(EnGo* this, PlayState* play) {
} }
if (extraObjIndex >= 0) { if (extraObjIndex >= 0) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[extraObjIndex].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[extraObjIndex].segment);
this->skelAnime.playSpeed = this->animPlaySpeed; this->skelAnime.playSpeed = this->animPlaySpeed;
isAnimFinished = SkelAnime_Update(&this->skelAnime); isAnimFinished = SkelAnime_Update(&this->skelAnime);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
} }
return isAnimFinished; return isAnimFinished;
@ -1051,11 +1051,11 @@ s32 EnGo_ChangeAnim(EnGo* this, PlayState* play, EnGoAnimation animIndex) {
} }
if (extraObjIndex >= 0) { if (extraObjIndex >= 0) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[extraObjIndex].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[extraObjIndex].segment);
this->animIndex = animIndex; this->animIndex = animIndex;
didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex); didAnimChange = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
this->animPlaySpeed = this->skelAnime.playSpeed; this->animPlaySpeed = this->skelAnime.playSpeed;
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
} }
return didAnimChange; return didAnimChange;

View File

@ -67,13 +67,6 @@ static ColliderSphereInit sSphereInit = {
{ 1, { { 0, 0, 0 }, 15 }, 100 }, { 1, { { 0, 0, 0 }, 15 }, 100 },
}; };
typedef struct EnMkkDlists {
/* 0x00 */ Gfx* unk0;
/* 0x04 */ Gfx* unk4;
/* 0x08 */ Gfx* unk8;
/* 0x0C */ Gfx* unkC;
} EnMkkDlists; // size = 0x10
static CollisionCheckInfoInit sColChkInfoInit = { 1, 15, 30, 10 }; static CollisionCheckInfoInit sColChkInfoInit = { 1, 15, 30, 10 };
static DamageTable sDamageTable = { static DamageTable sDamageTable = {
@ -127,7 +120,14 @@ static Color_RGBA8 sEffPrimColors[] = { { 50, 50, 50, 255 }, { 255, 255, 255, 25
static Color_RGBA8 sEffEnvColors[] = { { 200, 200, 200, 255 }, { 255, 255, 255, 255 } }; static Color_RGBA8 sEffEnvColors[] = { { 200, 200, 200, 255 }, { 255, 255, 255, 255 } };
static EnMkkDlists sBoeDLists[] = { typedef struct EnMkkModelInfo {
/* 0x0 */ Gfx* materialDL;
/* 0x4 */ Gfx* modelDL;
/* 0x8 */ Gfx* endDL;
/* 0xC */ Gfx* eyesDL;
} EnMkkModelInfo; // size = 0x10
static EnMkkModelInfo sBoeModelInfo[] = {
{ gBlackBoeBodyMaterialDL, gBlackBoeBodyModelDL, gBlackBoeEndDL, gBlackBoeEyesDL }, { gBlackBoeBodyMaterialDL, gBlackBoeBodyModelDL, gBlackBoeEndDL, gBlackBoeEyesDL },
{ gWhiteBoeBodyMaterialDL, gWhiteBoeBodyModelDL, gWhiteBoeEndDL, gWhiteBoeEyesDL }, { gWhiteBoeBodyMaterialDL, gWhiteBoeBodyModelDL, gWhiteBoeEndDL, gWhiteBoeEyesDL },
}; };
@ -511,7 +511,7 @@ void func_80A4F16C(Actor* thisx, PlayState* play) {
} }
void EnMkk_Draw(Actor* thisx, PlayState* play) { void EnMkk_Draw(Actor* thisx, PlayState* play) {
EnMkkDlists* dLists = &sBoeDLists[thisx->params]; EnMkkModelInfo* modelInfo = &sBoeModelInfo[thisx->params];
Gfx* gfx; Gfx* gfx;
Color_RGBA8* primColors; Color_RGBA8* primColors;
EnMkk* this = THIS; EnMkk* this = THIS;
@ -528,16 +528,16 @@ void EnMkk_Draw(Actor* thisx, PlayState* play) {
gDPSetPrimColor(&gfx[1], 0, 0xFF, primColors->r, primColors->g, primColors->b, primColors->a); gDPSetPrimColor(&gfx[1], 0, 0xFF, primColors->r, primColors->g, primColors->b, primColors->a);
gSPSegment(&gfx[2], 0x08, D_801AEFA0); gSPSegment(&gfx[2], 0x08, D_801AEFA0);
gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[4], dLists->unkC); gSPDisplayList(&gfx[4], modelInfo->eyesDL);
POLY_OPA_DISP = &gfx[5]; POLY_OPA_DISP = &gfx[5];
} }
gfx = POLY_XLU_DISP; gfx = POLY_XLU_DISP;
gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]); gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]);
gDPSetEnvColor(&gfx[1], 255, 255, 255, this->alpha); gDPSetEnvColor(&gfx[1], 255, 255, 255, this->alpha);
gSPDisplayList(&gfx[2], dLists->unk0); gSPDisplayList(&gfx[2], modelInfo->materialDL);
Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_ReplaceRotation(&play->billboardMtxF);
gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[4], dLists->unk4); gSPDisplayList(&gfx[4], modelInfo->modelDL);
if (thisx->params == 0) { if (thisx->params == 0) {
matrix = Matrix_GetCurrent(); matrix = Matrix_GetCurrent();
matrix->mf[3][0] = this->unk_154.x; matrix->mf[3][0] = this->unk_154.x;
@ -546,7 +546,7 @@ void EnMkk_Draw(Actor* thisx, PlayState* play) {
Matrix_Scale(0.85f, 0.85f, 0.85f, MTXMODE_APPLY); Matrix_Scale(0.85f, 0.85f, 0.85f, MTXMODE_APPLY);
gSPMatrix(&gfx[5], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(&gfx[5], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[6], dLists->unk4); gSPDisplayList(&gfx[6], modelInfo->modelDL);
matrix->mf[3][0] = this->unk_160.x; matrix->mf[3][0] = this->unk_160.x;
matrix->mf[3][1] = this->unk_160.y + 7.2250004f; matrix->mf[3][1] = this->unk_160.y + 7.2250004f;
@ -554,12 +554,12 @@ void EnMkk_Draw(Actor* thisx, PlayState* play) {
Matrix_Scale(0.85f, 0.85f, 0.85f, MTXMODE_APPLY); Matrix_Scale(0.85f, 0.85f, 0.85f, MTXMODE_APPLY);
gSPMatrix(&gfx[7], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(&gfx[7], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[8], dLists->unk4); gSPDisplayList(&gfx[8], modelInfo->modelDL);
gSPDisplayList(&gfx[9], dLists->unk8); gSPDisplayList(&gfx[9], modelInfo->endDL);
POLY_XLU_DISP = &gfx[10]; POLY_XLU_DISP = &gfx[10];
} else { } else {
gSPDisplayList(&gfx[5], dLists->unk8); gSPDisplayList(&gfx[5], modelInfo->endDL);
POLY_XLU_DISP = &gfx[6]; POLY_XLU_DISP = &gfx[6];
} }
} }
@ -570,7 +570,7 @@ void func_80A4F4C8(Actor* thisx, PlayState* play) {
s32 pad; s32 pad;
Gfx* gfx; Gfx* gfx;
MtxF* matrix; MtxF* matrix;
EnMkkDlists* dLists = &sBoeDLists[thisx->params]; EnMkkModelInfo* modelInfo = &sBoeModelInfo[thisx->params];
EnMkk* this = THIS; EnMkk* this = THIS;
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);
@ -578,10 +578,10 @@ void func_80A4F4C8(Actor* thisx, PlayState* play) {
gfx = POLY_XLU_DISP; gfx = POLY_XLU_DISP;
gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]); gSPDisplayList(&gfx[0], gSetupDLs[SETUPDL_25]);
gDPSetEnvColor(&gfx[1], 255, 255, 255, this->alpha); gDPSetEnvColor(&gfx[1], 255, 255, 255, this->alpha);
gSPDisplayList(&gfx[2], dLists->unk0); gSPDisplayList(&gfx[2], modelInfo->materialDL);
Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_ReplaceRotation(&play->billboardMtxF);
gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(&gfx[3], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[4], dLists->unk4); gSPDisplayList(&gfx[4], modelInfo->modelDL);
matrix = Matrix_GetCurrent(); matrix = Matrix_GetCurrent();
matrix->mf[3][0] = this->unk_154.x; matrix->mf[3][0] = this->unk_154.x;
@ -589,22 +589,22 @@ void func_80A4F4C8(Actor* thisx, PlayState* play) {
matrix->mf[3][2] = this->unk_154.z; matrix->mf[3][2] = this->unk_154.z;
gSPMatrix(&gfx[5], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(&gfx[5], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[6], dLists->unk4); gSPDisplayList(&gfx[6], modelInfo->modelDL);
matrix->mf[3][0] = this->unk_160.x; matrix->mf[3][0] = this->unk_160.x;
matrix->mf[3][1] = this->unk_160.y + 5.0f; matrix->mf[3][1] = this->unk_160.y + 5.0f;
matrix->mf[3][2] = this->unk_160.z; matrix->mf[3][2] = this->unk_160.z;
gSPMatrix(&gfx[7], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(&gfx[7], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[8], dLists->unk4); gSPDisplayList(&gfx[8], modelInfo->modelDL);
matrix->mf[3][0] = this->unk_16C.x; matrix->mf[3][0] = this->unk_16C.x;
matrix->mf[3][1] = this->unk_16C.y + 5.0f; matrix->mf[3][1] = this->unk_16C.y + 5.0f;
matrix->mf[3][2] = this->unk_16C.z; matrix->mf[3][2] = this->unk_16C.z;
gSPMatrix(&gfx[9], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(&gfx[9], Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(&gfx[10], dLists->unk4); gSPDisplayList(&gfx[10], modelInfo->modelDL);
gSPDisplayList(&gfx[11], dLists->unk8); gSPDisplayList(&gfx[11], modelInfo->endDL);
POLY_XLU_DISP = &gfx[12]; POLY_XLU_DISP = &gfx[12];
CLOSE_DISPS(play->state.gfxCtx); CLOSE_DISPS(play->state.gfxCtx);

View File

@ -245,14 +245,14 @@ void EnNwc_CheckFound(EnNwc* this, PlayState* play) {
void EnNwc_LoadNiwSkeleton(EnNwc* this, PlayState* play) { void EnNwc_LoadNiwSkeleton(EnNwc* this, PlayState* play) {
if (Object_IsLoaded(&play->objectCtx, this->niwObjectSlot)) { if (Object_IsLoaded(&play->objectCtx, this->niwObjectSlot)) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->niwObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->niwObjectSlot].segment);
SkelAnime_InitFlex(play, &this->niwSkeleton, &gNiwSkel, &gNiwIdleAnim, this->jointTable, this->morphTable, SkelAnime_InitFlex(play, &this->niwSkeleton, &gNiwSkel, &gNiwIdleAnim, this->jointTable, this->morphTable,
NIW_LIMB_MAX); NIW_LIMB_MAX);
Animation_Change(&this->niwSkeleton, &gNiwIdleAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gNiwIdleAnim), Animation_Change(&this->niwSkeleton, &gNiwIdleAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gNiwIdleAnim),
ANIMMODE_LOOP, 0.0f); ANIMMODE_LOOP, 0.0f);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->nwcObjectIndex].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->nwcObjectIndex].segment);
this->state = NWC_STATE_NIW_LOADED; this->state = NWC_STATE_NIW_LOADED;
EnNwc_ToggleState(this); EnNwc_ToggleState(this);
} }

View File

@ -768,7 +768,7 @@ s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play) {
if (((EnJg*)this->otherGoron)->flags & 1) { if (((EnJg*)this->otherGoron)->flags & 1) {
this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_TAISOU); this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_TAISOU);
if (this->objectSlot > OBJECT_SLOT_NONE) { if (this->objectSlot > OBJECT_SLOT_NONE) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
this->animIndex = EN_S_GORO_ANIM_TAISOU_CHEER; this->animIndex = EN_S_GORO_ANIM_TAISOU_CHEER;
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex); SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex);
return true; return true;
@ -777,7 +777,7 @@ s32 EnSGoro_UpdateCheerAnimation(EnSGoro* this, PlayState* play) {
} else if ((this->animIndex == EN_S_GORO_ANIM_TAISOU_CHEER) && !(((EnJg*)this->otherGoron)->flags & 1)) { } else if ((this->animIndex == EN_S_GORO_ANIM_TAISOU_CHEER) && !(((EnJg*)this->otherGoron)->flags & 1)) {
this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP); this->objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_OF1D_MAP);
if (this->objectSlot > OBJECT_SLOT_NONE) { if (this->objectSlot > OBJECT_SLOT_NONE) {
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
this->animIndex = EN_S_GORO_ANIM_IDLE_STAND; this->animIndex = EN_S_GORO_ANIM_IDLE_STAND;
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex); SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animIndex);
this->skelAnime.curFrame = this->skelAnime.endFrame; this->skelAnime.curFrame = this->skelAnime.endFrame;
@ -1309,7 +1309,7 @@ void EnSGoro_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play); this->actionFunc(this, play);
Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 12.0f, 0.0f, UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4); Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 12.0f, 0.0f, UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_4);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
SkelAnime_Update(&this->skelAnime); SkelAnime_Update(&this->skelAnime);
if (this->animIndex != EN_S_GORO_ANIM_SLEEPY) { if (this->animIndex != EN_S_GORO_ANIM_SLEEPY) {
EnSGoro_UpdateAttentionTarget(this, play); EnSGoro_UpdateAttentionTarget(this, play);

View File

@ -1178,7 +1178,7 @@ void EnSlime_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL25_Xlu(play->state.gfxCtx); Gfx_SetupDL25_Xlu(play->state.gfxCtx);
func_800B8118(&this->actor, play, 0); func_800B8118(&this->actor, play, 0);
if (this->iceBlockTimer != ICE_BLOCK_UNUSED) { if (this->iceBlockTimer != ICE_BLOCK_UNUSED) {
gSPSegment(POLY_XLU_DISP++, 10, D_801AEFA0); gSPSegment(POLY_XLU_DISP++, 0x0A, D_801AEFA0);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 170, 255, 255, 255, 255); gDPSetPrimColor(POLY_XLU_DISP++, 0, 170, 255, 255, 255, 255);
gDPSetEnvColor(POLY_XLU_DISP++, 150, 255, 255, this->iceBlockTimer); gDPSetEnvColor(POLY_XLU_DISP++, 150, 255, 255, this->iceBlockTimer);
} else { } else {

View File

@ -1366,7 +1366,7 @@ s32 EnSob1_AreObjectsLoaded(EnSob1* this, PlayState* play) {
void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) { void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) {
SkelAnime_InitFlex(play, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable, ZORA_LIMB_MAX); SkelAnime_InitFlex(play, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable, ZORA_LIMB_MAX);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment);
Animation_Change(&this->skelAnime, &gZoraShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gZoraShopkeeperAnim), Animation_Change(&this->skelAnime, &gZoraShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gZoraShopkeeperAnim),
ANIMMODE_LOOP, 0.0f); ANIMMODE_LOOP, 0.0f);
this->actor.draw = EnSob1_ZoraShopkeeper_Draw; this->actor.draw = EnSob1_ZoraShopkeeper_Draw;
@ -1375,7 +1375,7 @@ void EnSob1_ZoraShopkeeper_Init(EnSob1* this, PlayState* play) {
void EnSob1_GoronShopkeeper_Init(EnSob1* this, PlayState* play) { void EnSob1_GoronShopkeeper_Init(EnSob1* this, PlayState* play) {
SkelAnime_InitFlex(play, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable, GORON_LIMB_MAX); SkelAnime_InitFlex(play, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable, GORON_LIMB_MAX);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->shopkeeperAnimObjectSlot].segment);
Animation_Change(&this->skelAnime, &gGoronShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gGoronShopkeeperAnim), Animation_Change(&this->skelAnime, &gGoronShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gGoronShopkeeperAnim),
ANIMMODE_LOOP, 0.0f); ANIMMODE_LOOP, 0.0f);
this->actor.draw = EnSob1_GoronShopkeeper_Draw; this->actor.draw = EnSob1_GoronShopkeeper_Draw;

View File

@ -257,7 +257,7 @@ void func_808A54B0(EnSt* this, PlayState* play) {
if ((this->unk_18C & 1) && (this->actor.colChkInfo.health != 0)) { if ((this->unk_18C & 1) && (this->actor.colChkInfo.health != 0)) {
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[this->objectSlot].segment);
gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->objectSlot].segment); gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->objectSlot].segment);

View File

@ -62,8 +62,8 @@ void EffectEnIceBlock_Draw(PlayState* play, u32 index, EffectSs* this) {
OPEN_DISPS(gfxCtx); OPEN_DISPS(gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x06, // object: OBJECT_ICE_BLOCK
play->objectCtx.slots[this->rObjectSlot].segment); // object: OBJECT_ICE_BLOCK gSPSegment(POLY_XLU_DISP++, 0x06, play->objectCtx.slots[this->rObjectSlot].segment);
Gfx_SetupDL25_Xlu(play->state.gfxCtx); Gfx_SetupDL25_Xlu(play->state.gfxCtx);
Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW); Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW);

View File

@ -73,7 +73,7 @@ void EffectSsDFire_Draw(PlayState* play, u32 index, EffectSs* this) {
OPEN_DISPS(gfxCtx); OPEN_DISPS(gfxCtx);
gSegments[6] = OS_K0_TO_PHYSICAL(objectPtr); gSegments[0x06] = OS_K0_TO_PHYSICAL(objectPtr);
gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr); gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr);
scale = this->rScale / 100.0f; scale = this->rScale / 100.0f;

View File

@ -35,9 +35,9 @@ u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_YABUSAME_POINT); objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_YABUSAME_POINT);
if ((objectSlot > OBJECT_SLOT_NONE) && Object_IsLoaded(&play->objectCtx, objectSlot)) { if ((objectSlot > OBJECT_SLOT_NONE) && Object_IsLoaded(&play->objectCtx, objectSlot)) {
uintptr_t segBackup = gSegments[6]; uintptr_t segBackup = gSegments[0x06];
gSegments[6] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[0x06] = OS_K0_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
this->pos = params->pos; this->pos = params->pos;
this->velocity = params->velocity; this->velocity = params->velocity;
@ -50,7 +50,7 @@ u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initPar
this->rTimer = 5; this->rTimer = 5;
this->rObjectSlot = objectSlot; this->rObjectSlot = objectSlot;
gSegments[6] = segBackup; gSegments[0x06] = segBackup;
return 1; return 1;
} }
return 0; return 0;
@ -66,7 +66,7 @@ void EffectSsExtra_Draw(PlayState* play, u32 index, EffectSs* this) {
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);
gSegments[6] = OS_K0_TO_PHYSICAL(objectPtr); gSegments[0x06] = OS_K0_TO_PHYSICAL(objectPtr);
gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr); gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr);

View File

@ -90,7 +90,7 @@ void TransitionWipe1_Draw(void* thisx, Gfx** gfxP) {
guTranslate(&modelView[2], 0.0f, 0.0f, 0.0f); guTranslate(&modelView[2], 0.0f, 0.0f, 0.0f);
gDPPipeSync(gfx++); gDPPipeSync(gfx++);
texScroll = Gfx_BranchTexScroll(&gfx, this->texX, this->texY, 0, 0); texScroll = Gfx_BranchTexScroll(&gfx, this->texX, this->texY, 0, 0);
gSPSegment(gfx++, 8, texScroll); gSPSegment(gfx++, 0x08, texScroll);
gDPSetPrimColor(gfx++, 0, 0x80, this->primColor.r, this->primColor.g, this->primColor.b, 255); gDPSetPrimColor(gfx++, 0, 0x80, this->primColor.r, this->primColor.g, this->primColor.b, 255);
gSPMatrix(gfx++, &this->projection, G_MTX_LOAD | G_MTX_PROJECTION); gSPMatrix(gfx++, &this->projection, G_MTX_LOAD | G_MTX_PROJECTION);
gSPPerspNormalize(gfx++, this->normal); gSPPerspNormalize(gfx++, this->normal);