mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-10 19:20:13 +00:00
object_bg and object_mir_ray OK (#714)
* object_bg and object_mir_ray * remove externs in mir_ray * newline at end of xml * fix a couple of warnings in Obj_Tsubo
This commit is contained in:
parent
e48e565ffe
commit
77ec4d4916
7 changed files with 112 additions and 40 deletions
50
assets/xml/objects/object_bg.xml
Normal file
50
assets/xml/objects/object_bg.xml
Normal file
|
@ -0,0 +1,50 @@
|
|||
<Root>
|
||||
<File Name="object_bg" Segment="6">
|
||||
|
||||
<!-- Bombchu Bowling Girl skeleton -->
|
||||
<Skeleton Name="gChuGirlSkel" Type="Flex" LimbType="Standard" Offset="0x6EB0"/>
|
||||
|
||||
<!-- Bombchu Bowling Girl animations -->
|
||||
<Animation Name="gChuGirlWakeUpAnim" Offset="0x80"/>
|
||||
<Animation Name="gChuGirlNoddingOffAnim" Offset="0x710"/>
|
||||
<Animation Name="gChuGirlLeanOverCounterAnim" Offset="0x72AC"/>
|
||||
|
||||
<!-- Bombchu Bowling Girl limb displaylists -->
|
||||
<DList Name="gChuGirlWaistDL" Offset="0x4038"/>
|
||||
<DList Name="gChuGirlTorsoDL" Offset="0x3DB0"/>
|
||||
<DList Name="gChuGirlNeckDL" Offset="0x33C8"/>
|
||||
<DList Name="gChuGirlHeadDL" Offset="0x2EE0"/>
|
||||
<DList Name="gChuGirlLeftUpperArmDL" Offset="0x3780"/>
|
||||
<DList Name="gChuGirlLeftForearmDL" Offset="0x3670"/>
|
||||
<DList Name="gChuGirlLeftHandDL" Offset="0x3520"/>
|
||||
<DList Name="gChuGirlRightUpperArmDL" Offset="0x3BC8"/>
|
||||
<DList Name="gChuGirlRightForearmDL" Offset="0x3AB8"/>
|
||||
<DList Name="gChuGirlRightHandDL" Offset="0x3968"/>
|
||||
|
||||
<!-- Bombchu Bowling Girl limbs -->
|
||||
<Limb Name="gChuGirlWaistLimb" Type="Standard" Offset="0x6E10"/>
|
||||
<Limb Name="gChuGirlTorsoLimb" Type="Standard" Offset="0x6E1C"/>
|
||||
<Limb Name="gChuGirlNeckLimb" Type="Standard" Offset="0x6E28"/>
|
||||
<Limb Name="gChuGirlHeadLimb" Type="Standard" Offset="0x6E34"/>
|
||||
<Limb Name="gChuGirlLeftUpperArmLimb" Type="Standard" Offset="0x6E40"/>
|
||||
<Limb Name="gChuGirlLeftForearmLimb" Type="Standard" Offset="0x6E4C"/>
|
||||
<Limb Name="gChuGirlLeftHandLimb" Type="Standard" Offset="0x6E58"/>
|
||||
<Limb Name="gChuGirlRightUpperArmLimb" Type="Standard" Offset="0x6E64"/>
|
||||
<Limb Name="gChuGirlRightForearmLimb" Type="Standard" Offset="0x6E70"/>
|
||||
<Limb Name="gChuGirlRightHandLimb" Type="Standard" Offset="0x6E7C"/>
|
||||
|
||||
<!-- Bombchu Bowling Girl limb textures -->
|
||||
<Texture Name="gChuGirlMouthTex" OutName="chu_girl_mouth" Format="rgb5a1" Width="32" Height="32" Offset="0x5910"/>
|
||||
<Texture Name="gChuGirlSkinGradientTex" OutName="chu_girl_skin_gradient" Format="rgb5a1" Width="16" Height="16" Offset="0x6110"/>
|
||||
<Texture Name="gChuGirlSweaterTex" OutName="chu_girl_sweater" Format="rgb5a1" Width="32" Height="32" Offset="0x6510"/>
|
||||
<Texture Name="gChuGirlUmbEarLicusTex" OutName="chu_girl_umb_ear_licus" Format="rgb5a1" Width="16" Height="16" Offset="0x6310"/>
|
||||
<Texture Name="gChuGirlHairTex" OutName="chu_girl_hair" Format="rgb5a1" Width="8" Height="16" Offset="0x6D10"/>
|
||||
|
||||
<!-- Bombchu Bowling Girl eye textures -->
|
||||
<Texture Name="gChuGirlEyeOpenTex" OutName="chu_girl_eye_open" Format="rgb5a1" Width="32" Height="32" Offset="0x4110"/>
|
||||
<Texture Name="gChuGirlEyeHalfTex" OutName="chu_girl_eye_half" Format="rgb5a1" Width="32" Height="32" Offset="0x4910"/>
|
||||
<Texture Name="gChuGirlEyeClosedTex" OutName="chu_girl_eye_closed" Format="rgb5a1" Width="32" Height="32" Offset="0x5110"/>
|
||||
|
||||
|
||||
</File>
|
||||
</Root>
|
13
assets/xml/objects/object_mir_ray.xml
Normal file
13
assets/xml/objects/object_mir_ray.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<Root>
|
||||
<File Name="object_mir_ray" Segment="6">
|
||||
|
||||
<!-- Shield beam displaylists -->
|
||||
<DList Name="gShieldBeamImageDL" Offset="0xB0"/>
|
||||
<DList Name="gShieldBeamGlowDL" Offset="0xC50"/>
|
||||
|
||||
<!-- Shield beam textures -->
|
||||
<Texture Name="gShieldBeamImageCircleTex" OutName="shield_beam_image_circle" Format="ia16" Width="16" Height="16" Offset="0x188"/>
|
||||
<Texture Name="gShieldBeamImageGerudoSymbolNewTex" OutName="shield_beam_image_gerudo_symbol_new" Format="ia16" Width="32" Height="32" Offset="0x388"/>
|
||||
<Texture Name="gShieldBeamGlowRayTex" OutName="shield_beam_glow_ray" Format="ia16" Width="8" Height="256" Offset="0xCF8"/>
|
||||
</File>
|
||||
</Root>
|
6
spec
6
spec
|
@ -4417,7 +4417,8 @@ endseg
|
|||
beginseg
|
||||
name "object_mir_ray"
|
||||
romalign 0x1000
|
||||
include "build/baserom/object_mir_ray.o"
|
||||
include "build/assets/objects/object_mir_ray/object_mir_ray.o"
|
||||
number 6
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
@ -5546,7 +5547,8 @@ endseg
|
|||
beginseg
|
||||
name "object_bg"
|
||||
romalign 0x1000
|
||||
include "build/baserom/object_bg.o"
|
||||
include "build/assets/objects/object_bg/object_bg.o"
|
||||
number 6
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include "vt.h"
|
||||
#include "overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.h"
|
||||
#include "overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h"
|
||||
#include "objects/object_bg/object_bg.h"
|
||||
|
||||
#define FLAGS 0x08000039
|
||||
|
||||
|
@ -35,11 +36,6 @@ void EnBomBowMan_SetupChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalC
|
|||
void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalCtx);
|
||||
void EnBomBowlMan_BeginPlayGame(EnBomBowlMan* this, GlobalContext* globalCtx);
|
||||
|
||||
extern FlexSkeletonHeader D_06006EB0;
|
||||
extern AnimationHeader D_06000710;
|
||||
extern AnimationHeader D_06000080;
|
||||
extern AnimationHeader D_060072AC;
|
||||
|
||||
const ActorInit En_Bom_Bowl_Man_InitVars = {
|
||||
ACTOR_EN_BOM_BOWL_MAN,
|
||||
ACTORCAT_NPC,
|
||||
|
@ -62,7 +58,8 @@ void EnBomBowlMan_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
GlobalContext* globalCtx2 = globalCtx;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f);
|
||||
SkelAnime_InitFlex(globalCtx2, &this->skelAnime, &D_06006EB0, &D_06000710, this->jointTable, this->morphTable, 11);
|
||||
SkelAnime_InitFlex(globalCtx2, &this->skelAnime, &gChuGirlSkel, &gChuGirlNoddingOffAnim, this->jointTable,
|
||||
this->morphTable, 11);
|
||||
// ☆ Man, my shoulders hurt~ ☆
|
||||
osSyncPrintf(VT_FGCOL(GREEN) "☆ もー 肩こっちゃうよねぇ〜 \t\t ☆ \n" VT_RST);
|
||||
// ☆ Isn't there some sort of job that will pay better and be more relaxing? ☆ %d
|
||||
|
@ -75,6 +72,7 @@ void EnBomBowlMan_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
for (i = 0; i < 2; i++) {
|
||||
cucco = (EnSyatekiNiw*)Actor_Spawn(&globalCtx2->actorCtx, globalCtx2, ACTOR_EN_SYATEKI_NIW, cuccoSpawnPos[i].x,
|
||||
cuccoSpawnPos[i].y, cuccoSpawnPos[i].z, 0, 0, 0, 1);
|
||||
|
||||
if (cucco != NULL) {
|
||||
cucco->unk_2F4 = cuccoScales[i];
|
||||
cucco->collider.dim.radius = (s16)cuccoColliderDims[i][0];
|
||||
|
@ -91,8 +89,8 @@ void EnBomBowlMan_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnBomBowMan_SetupWaitAsleep(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
||||
this->frameCount = (f32)Animation_GetLastFrame(&D_06000710);
|
||||
Animation_Change(&this->skelAnime, &D_06000710, 1.0f, 0.0f, this->frameCount, ANIMMODE_LOOP, -10.0f);
|
||||
this->frameCount = (f32)Animation_GetLastFrame(&gChuGirlNoddingOffAnim);
|
||||
Animation_Change(&this->skelAnime, &gChuGirlNoddingOffAnim, 1.0f, 0.0f, this->frameCount, ANIMMODE_LOOP, -10.0f);
|
||||
this->actor.textId = 0xC0;
|
||||
this->dialogState = 5;
|
||||
this->actionFunc = EnBomBowMan_WaitAsleep;
|
||||
|
@ -124,8 +122,8 @@ void EnBomBowMan_TalkAsleep(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void EnBomBowMan_WakeUp(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
||||
this->frameCount = (f32)Animation_GetLastFrame(&D_06000080);
|
||||
Animation_Change(&this->skelAnime, &D_06000080, 1.0f, 0.0f, this->frameCount, ANIMMODE_ONCE, -10.0f);
|
||||
this->frameCount = (f32)Animation_GetLastFrame(&gChuGirlWakeUpAnim);
|
||||
Animation_Change(&this->skelAnime, &gChuGirlWakeUpAnim, 1.0f, 0.0f, this->frameCount, ANIMMODE_ONCE, -10.0f);
|
||||
this->eyeMode = CHU_GIRL_EYES_OPEN_SLOWLY;
|
||||
this->actionFunc = EnBomBowMan_BlinkAwake;
|
||||
}
|
||||
|
@ -136,6 +134,7 @@ void EnBomBowMan_BlinkAwake(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
SkelAnime_Update(&this->skelAnime);
|
||||
if (frameCount == 30.0f) {
|
||||
this->dialogState = 5;
|
||||
|
||||
// Check for beaten Dodongo's Cavern
|
||||
if ((gSaveContext.eventChkInf[2] & 0x20) || BREG(2)) {
|
||||
this->actor.textId = 0xBF;
|
||||
|
@ -160,10 +159,12 @@ void EnBomBowMan_CheckBeatenDC(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
|
||||
if ((func_8010BDBC(&globalCtx->msgCtx) == this->dialogState) && (func_80106BC8(globalCtx) != 0)) {
|
||||
func_80106CCC(globalCtx);
|
||||
this->frameCount = (f32)Animation_GetLastFrame(&D_060072AC);
|
||||
Animation_Change(&this->skelAnime, &D_060072AC, 1.0f, 0.0f, this->frameCount, ANIMMODE_LOOP, -10.0f);
|
||||
this->frameCount = (f32)Animation_GetLastFrame(&gChuGirlLeanOverCounterAnim);
|
||||
Animation_Change(&this->skelAnime, &gChuGirlLeanOverCounterAnim, 1.0f, 0.0f, this->frameCount, ANIMMODE_LOOP,
|
||||
-10.0f);
|
||||
this->eyeMode = CHU_GIRL_EYES_AWAKE;
|
||||
this->blinkTimer = (s16)Rand_ZeroFloat(60.0f) + 20;
|
||||
|
||||
// Check for beaten Dodongo's Cavern
|
||||
if (!((gSaveContext.eventChkInf[2] & 0x20) || BREG(2))) {
|
||||
this->actionFunc = EnBomBowMan_WaitNotBeatenDC;
|
||||
|
@ -204,11 +205,13 @@ void EnBomBowMan_SetupRunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
} else {
|
||||
this->actor.textId = 0x1A;
|
||||
}
|
||||
|
||||
this->dialogState = 4;
|
||||
} else {
|
||||
this->actor.textId = 0x19;
|
||||
this->dialogState = 5;
|
||||
}
|
||||
|
||||
this->actionFunc = EnBomBowMan_RunGame;
|
||||
}
|
||||
|
||||
|
@ -230,13 +233,14 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
|
||||
this->gameResult = 0;
|
||||
|
||||
if (this->bowlPit != 0) {
|
||||
if (this->bowlPit != NULL) {
|
||||
if ((this->wallStatus[0] != 1) && (this->wallStatus[1] != 1) && (this->bowlPit->status == 2)) {
|
||||
this->gameResult = 1; // Won
|
||||
this->bowlPit->status = 0;
|
||||
// Center HIT!
|
||||
osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ 中央HIT!!!! ☆☆☆☆☆ \n" VT_RST);
|
||||
}
|
||||
|
||||
if ((globalCtx->bombchuBowlingStatus == -1) &&
|
||||
(globalCtx->actorCtx.actorLists[ACTORCAT_EXPLOSIVE].length == 0) && (this->bowlPit->status == 0) &&
|
||||
(this->wallStatus[0] != 1) && (this->wallStatus[1] != 1)) {
|
||||
|
@ -250,13 +254,16 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
this->actor.textId = 0x1A;
|
||||
this->dialogState = 4;
|
||||
this->minigamePlayStatus = 0;
|
||||
|
||||
if ((this->exItem != NULL) && (this->exItem->actor.update != NULL)) {
|
||||
this->exItem->killItem = true;
|
||||
this->exItem = NULL;
|
||||
}
|
||||
|
||||
globalCtx->bombchuBowlingStatus = 0;
|
||||
this->playingAgain = true;
|
||||
func_8010B680(globalCtx, this->actor.textId, NULL);
|
||||
|
||||
if (this->gameResult == 2) {
|
||||
func_8002DF54(globalCtx, NULL, 8);
|
||||
}
|
||||
|
@ -270,6 +277,7 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
} else {
|
||||
yawDiff = ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y));
|
||||
|
||||
if (!(this->actor.xzDistToPlayer > 120.0f) && (yawDiff < 0x4300)) {
|
||||
func_8002F2CC(&this->actor, globalCtx, 120.0f);
|
||||
}
|
||||
|
@ -291,6 +299,7 @@ void EnBomBowlMan_HandlePlayChoice(EnBomBowlMan* this, GlobalContext* globalCtx)
|
|||
this->wallStatus[0] = this->wallStatus[1] = 0;
|
||||
globalCtx->bombchuBowlingStatus = 10;
|
||||
Flags_SetSwitch(globalCtx, 0x38);
|
||||
|
||||
if (!this->startedPlaying && !this->playingAgain) {
|
||||
this->actor.textId = 0x19;
|
||||
func_8010B720(globalCtx, this->actor.textId);
|
||||
|
@ -312,6 +321,7 @@ void EnBomBowlMan_HandlePlayChoice(EnBomBowlMan* this, GlobalContext* globalCtx)
|
|||
this->actionFunc = func_809C41FC;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1: // No
|
||||
this->playingAgain = false;
|
||||
this->actor.textId = 0x2D;
|
||||
|
@ -326,11 +336,11 @@ void func_809C41FC(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
SkelAnime_Update(&this->skelAnime);
|
||||
if ((func_8010BDBC(&globalCtx->msgCtx) == this->dialogState) && (func_80106BC8(globalCtx) != 0)) {
|
||||
func_80106CCC(globalCtx);
|
||||
if ((this->actor.textId == 0x2D) || (this->actor.textId == 0x85)) {
|
||||
if (Flags_GetSwitch(globalCtx, 0x38)) {
|
||||
Flags_UnsetSwitch(globalCtx, 0x38);
|
||||
}
|
||||
|
||||
if (((this->actor.textId == 0x2D) || (this->actor.textId == 0x85)) && Flags_GetSwitch(globalCtx, 0x38)) {
|
||||
Flags_UnsetSwitch(globalCtx, 0x38);
|
||||
}
|
||||
|
||||
if (this->minigamePlayStatus == 1) {
|
||||
this->actor.textId = 0x1B;
|
||||
func_8010B720(globalCtx, this->actor.textId);
|
||||
|
@ -401,15 +411,19 @@ void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
prizeTemp = EXITEM_BOMBS_BOWLING;
|
||||
break;
|
||||
}
|
||||
|
||||
this->prizeIndex = prizeTemp;
|
||||
|
||||
if (BREG(7)) {
|
||||
this->prizeIndex = BREG(7) - 1;
|
||||
}
|
||||
|
||||
this->exItem = (EnExItem*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_EX_ITEM,
|
||||
sPrizePosOffset[this->prizeIndex].x + 148.0f,
|
||||
sPrizePosOffset[this->prizeIndex].y + 40.0f,
|
||||
sPrizePosOffset[this->prizeIndex].z + 300.0f, 0,
|
||||
sPrizeRot[this->prizeIndex], 0, this->prizeIndex + EXITEM_COUNTER);
|
||||
|
||||
if (!this->startedPlaying) {
|
||||
this->bowlPit = (EnBomBowlPit*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx,
|
||||
ACTOR_EN_BOM_BOWL_PIT, 0.0f, 90.0f, -860.0f, 0, 0, 0, 0);
|
||||
|
@ -419,11 +433,13 @@ void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
} else {
|
||||
this->bowlPit->prizeIndex = this->prizeIndex;
|
||||
}
|
||||
|
||||
this->bowlPit->start = 1;
|
||||
this->minigamePlayStatus = 2;
|
||||
this->actor.textId = 0x405A;
|
||||
func_8010B720(globalCtx, this->actor.textId);
|
||||
this->dialogState = 5;
|
||||
|
||||
// Cycle through prizes in order
|
||||
this->prizeSelect++;
|
||||
if (this->prizeSelect >= 5) {
|
||||
|
@ -440,9 +456,11 @@ void EnBomBowlMan_BeginPlayGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
|
|||
func_80106CCC(globalCtx);
|
||||
func_8005B1A4(ACTIVE_CAM);
|
||||
this->startedPlaying = true;
|
||||
|
||||
if (BREG(2)) {
|
||||
BREG(2) = 0;
|
||||
}
|
||||
|
||||
// "Wow"
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆ わー ☆ %d\n" VT_RST, globalCtx->bombchuBowlingStatus);
|
||||
func_8002DF54(globalCtx, NULL, 7);
|
||||
|
@ -497,7 +515,7 @@ s32 EnBomBowlMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx**
|
|||
void* thisx) {
|
||||
EnBomBowlMan* this = THIS;
|
||||
|
||||
if (limbIndex == 4) {
|
||||
if (limbIndex == 4) { // head
|
||||
rot->x += this->unk_218.y;
|
||||
rot->z += this->unk_218.z;
|
||||
}
|
||||
|
@ -505,8 +523,9 @@ 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 UNK_PTR eyeTextures[] = { 0x06004110, 0x06004910, 0x06005110 };
|
||||
EnBomBowlMan* this = THIS;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_bom_bowl_man.c", 907);
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_mir_ray.h"
|
||||
#include "objects/object_mir_ray/object_mir_ray.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
|
@ -112,9 +113,6 @@ static InitChainEntry sInitChain[] = {
|
|||
ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
extern Gfx D_060000B0[];
|
||||
extern Gfx D_06000C50[];
|
||||
|
||||
void MirRay_SetupCollider(MirRay* this) {
|
||||
Vec3f colliderOffset;
|
||||
MirRayDataEntry* dataEntry = &sMirRayData[this->actor.params];
|
||||
|
@ -505,7 +503,7 @@ void MirRay_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_mir_ray.c", 972),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 150, (s16)(temp = this->reflectIntensity * 100.0f));
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_06000C50);
|
||||
gSPDisplayList(POLY_XLU_DISP++, &gShieldBeamGlowDL);
|
||||
MirRay_SetupReflectionPolys(this, globalCtx, reflection);
|
||||
MirRay_RemoveSimilarReflections(reflection);
|
||||
MirRay_ReflectedBeam(this, globalCtx, reflection);
|
||||
|
@ -529,7 +527,7 @@ void MirRay_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetRenderMode(POLY_XLU_DISP++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 150, reflection[0].opacity);
|
||||
gSPDisplayList(POLY_XLU_DISP++, D_060000B0);
|
||||
gSPDisplayList(POLY_XLU_DISP++, &gShieldBeamImageDL);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
void ObjTsubo_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void ObjTsubo_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void ObjTsubo_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void ObjTsubo_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
void ObjTsubo_SpawnCollectible(ObjTsubo* this, GlobalContext* globalCtx);
|
||||
void ObjTsubo_ApplyGravity(ObjTsubo* this);
|
||||
|
@ -30,7 +31,6 @@ void ObjTsubo_SetupLiftedUp(ObjTsubo* this);
|
|||
void ObjTsubo_LiftedUp(ObjTsubo* this, GlobalContext* globalCtx);
|
||||
void ObjTsubo_SetupThrown(ObjTsubo* this);
|
||||
void ObjTsubo_Thrown(ObjTsubo* this, GlobalContext* globalCtx);
|
||||
void ObjTsubo_Draw(ObjTsubo* this, GlobalContext* globalCtx);
|
||||
|
||||
s16 D_80BA1B50 = 0;
|
||||
s16 D_80BA1B54 = 0;
|
||||
|
@ -132,7 +132,7 @@ void ObjTsubo_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
ObjTsubo_InitCollider(&this->actor, globalCtx);
|
||||
CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
|
||||
CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, sColChkInfoInit);
|
||||
if (!ObjTsubo_SnapToFloor(this, globalCtx)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
|
@ -333,6 +333,6 @@ void ObjTsubo_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
void ObjTsubo_Draw(ObjTsubo* this, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, D_80BA1B84[(this->actor.params >> 8) & 1]);
|
||||
void ObjTsubo_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, D_80BA1B84[(thisx->params >> 8) & 1]);
|
||||
}
|
||||
|
|
|
@ -1429,12 +1429,6 @@ D_060000E8 = 0x060000E8;
|
|||
D_060023B0 = 0x060023B0;
|
||||
D_06002428 = 0x06002428;
|
||||
|
||||
// z_en_bom_bowl_man
|
||||
D_06006EB0 = 0x06006EB0;
|
||||
D_06000710 = 0x06000710;
|
||||
D_06000080 = 0x06000080;
|
||||
D_060072AC = 0x060072AC;
|
||||
|
||||
// z_bg_ice_turara
|
||||
D_060023D0 = 0x060023D0;
|
||||
D_06002594 = 0x06002594;
|
||||
|
@ -2542,10 +2536,6 @@ D_06015470 = 0x06015470;
|
|||
// z_item_shield
|
||||
D_060224F8 = 0x060224F8;
|
||||
|
||||
// z_mir_ray
|
||||
D_060000B0 = 0x060000B0;
|
||||
D_06000C50 = 0x06000C50;
|
||||
|
||||
// z_object_kankyo
|
||||
D_01000000 = 0x01000000;
|
||||
D_06005FF0 = 0x06005FF0;
|
||||
|
|
Loading…
Reference in a new issue