mirror of
https://github.com/HackerN64/HackerOoT.git
synced 2026-01-21 10:37:37 -08:00
gameplay_dangeon_keep (#665)
* xml done * add references in * missed a few * newline * review
This commit is contained in:
@@ -314,8 +314,8 @@ glabel EnGoma_Draw
|
||||
/* 023FC 80A4B2BC 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
|
||||
/* 02400 80A4B2C0 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
|
||||
/* 02404 80A4B2C4 8E2202C0 */ lw $v0, 0x02C0($s1) ## 000002C0
|
||||
/* 02408 80A4B2C8 3C0A0500 */ lui $t2, %hi(D_05000530) ## $t2 = 05000000
|
||||
/* 0240C 80A4B2CC 254A0530 */ addiu $t2, $t2, %lo(D_05000530) ## $t2 = 05000530
|
||||
/* 02408 80A4B2C8 3C0A0500 */ lui $t2, %hi(gBrownFragmentDL) ## $t2 = 05000000
|
||||
/* 0240C 80A4B2CC 254A0530 */ addiu $t2, $t2, %lo(gBrownFragmentDL) ## $t2 = 05000530
|
||||
/* 02410 80A4B2D0 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
|
||||
/* 02414 80A4B2D4 AE2802C0 */ sw $t0, 0x02C0($s1) ## 000002C0
|
||||
/* 02418 80A4B2D8 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
|
||||
|
||||
50
assets/xml/objects/gameplay_dangeon_keep.xml
Normal file
50
assets/xml/objects/gameplay_dangeon_keep.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<Root>
|
||||
<File Name="gameplay_dangeon_keep" Segment="5">
|
||||
<DList Name="gUnusedCandleDL" Offset="0x440"/>
|
||||
<DList Name="gBrownFragmentDL" Offset="0x530"/>
|
||||
<Texture Name="gUnusedStoneTex" OutName="unused_stone" Format="rgb5a1" Width="32" Height="32" Offset="0x7C0"/>
|
||||
<DList Name="gDoorLockDL" Offset="0x1100"/>
|
||||
<DList Name="gDoorChainsDL" Offset="0x11F0"/>
|
||||
<Texture Name="gUnusedGoldLockTex" OutName="unused_gold_lock" Format="rgb5a1" Width="32" Height="32" Offset="0x1A80"/>
|
||||
<DList Name="gUnusedBombBagDL" Offset="0x32C0"/>
|
||||
<Texture Name="gPushBlockSilverTex" OutName="block_silver" Format="i4" Width="64" Height="64" Offset="0x3350"/>
|
||||
<Texture Name="gPushBlockBaseTex" OutName="block_base" Format="i4" Width="64" Height="64" Offset="0x3B50"/>
|
||||
<Texture Name="gPushBlockGrayTex" OutName="block_gray" Format="i4" Width="64" Height="64" Offset="0x4350"/>
|
||||
<DList Name="gPushBlockDL" Offset="0x4CD0"/>
|
||||
<Collision Name="gPushBlockCol" Offset="0x4E98"/>
|
||||
<DList Name="gWoodenPlatofrmDL" Offset="0x5050"/>
|
||||
<DList Name="gSmallWoodenBoxDL" Offset="0x5290"/>
|
||||
<DList Name="gSmallWoodenBoxFragmentDL" Offset="0x5380"/>
|
||||
<DList Name="gBetaKokiriSwordSpriteDL" Offset="0x5450"/>
|
||||
<DList Name="gMagicJarSpriteDL" Offset="0x5520"/>
|
||||
<DList Name="gBetaSlingshotSpriteDL" Offset="0x55F0"/>
|
||||
<DList Name="gFloorSwitch1DL" Offset="0x5800"/>
|
||||
<DList Name="gRustyFloorSwitchDL" Offset="0x5AD0"/>
|
||||
<DList Name="gFloorSwitch2DL" Offset="0x5D50"/>
|
||||
<Collision Name="gFloorSwitchCol" Offset="0x5FB8"/>
|
||||
<DList Name="gFloorSwitch3DL" Offset="0x6170"/>
|
||||
<DList Name="gBetaFloorSwitchDL" Offset="0x63F0"/>
|
||||
<DList Name="gEyeSwitch1DL" Offset="0x6610"/>
|
||||
<DList Name="gEyeSwitch2DL" Offset="0x6810"/>
|
||||
<DList Name="gCrystalSwitchCoreOpaDL" Offset="0x6D10"/>
|
||||
<DList Name="gCrystalSwitchCoreXluDL" Offset="0x6E60"/>
|
||||
<DList Name="gCrystalSwitchDiamondOpaDL" Offset="0x7340"/>
|
||||
<DList Name="gCrystalSwitchDiamondXluDL" Offset="0x7488"/>
|
||||
<DList Name="gBetaCrystalSwitchDL" Offset="0x77B0"/>
|
||||
<Texture Name="gEyeSwitchGoldClosedTex" OutName="eye_gold_closed" Format="rgb5a1" Width="32" Height="32" Offset="0x90A0"/>
|
||||
<Texture Name="gEyeSwitchGoldOpeningTex" OutName="eye_gold_opening" Format="rgb5a1" Width="32" Height="32" Offset="0x98A0"/>
|
||||
<Texture Name="gEyeSwitchGoldClosingTex" OutName="eye_gold_closing" Format="rgb5a1" Width="32" Height="32" Offset="0xA0A0"/>
|
||||
<Texture Name="gEyeSwitchGoldOpenTex" OutName="eye_gold_open" Format="rgb5a1" Width="32" Height="32" Offset="0xA8A0"/>
|
||||
<Texture Name="gEyeSwitchSilverOpenTex" OutName="eye_silver_open" Format="rgb5a1" Width="32" Height="32" Offset="0xB0A0"/>
|
||||
<Texture Name="gEyeSwitchSilverHalfTex" OutName="eye_silver_half" Format="rgb5a1" Width="32" Height="32" Offset="0xB8A0"/>
|
||||
<Texture Name="gEyeSwitchSilverClosedTex" OutName="eye_silver_closed" Format="rgb5a1" Width="32" Height="32" Offset="0xC0A0"/>
|
||||
<Texture Name="gDungeonKeepTex_00C8A0" OutName="dungeon_keep_tex_00C8A0" Format="rgb5a1" Width="32" Height="32" Offset="0xC8A0"/>
|
||||
<Texture Name="gDungeonKeepTex_00E8A0" OutName="dungeon_keep_tex_00E8A0" Format="i8" Width="32" Height="32" Offset="0xE8A0"/>
|
||||
<Texture Name="gDungeonKeepTex_00ECA0" OutName="dungeon_keep_tex_00ECA0" Format="i8" Width="32" Height="32" Offset="0xECA0"/>
|
||||
<Texture Name="gDungeonKeepTex_00F0A0" OutName="dungeon_keep_tex_00F0A0" Format="rgb5a1" Width="32" Height="32" Offset="0xF0A0"/>
|
||||
<Texture Name="gCrstalSwitchRedTex" OutName="crystal_red" Format="rgb5a1" Width="32" Height="32" Offset="0x144B0"/>
|
||||
<Texture Name="gCrstalSwitchBlueTex" OutName="crystal_blue" Format="rgb5a1" Width="32" Height="32" Offset="0x14CB0"/>
|
||||
<DList Name="gPotDL" Offset="0x17870"/>
|
||||
<DList Name="gPotFragmentDL" Offset="0x17A60"/>
|
||||
</File>
|
||||
</Root>
|
||||
3
spec
3
spec
@@ -3513,7 +3513,8 @@ endseg
|
||||
beginseg
|
||||
name "gameplay_dangeon_keep"
|
||||
romalign 0x1000
|
||||
include "build/baserom/gameplay_dangeon_keep.o"
|
||||
include "build/assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.o"
|
||||
number 5
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
||||
@@ -314,7 +314,7 @@ void func_800C213C(PreRenderContext* this, Gfx** gfxp) {
|
||||
s32 y2;
|
||||
s32 add;
|
||||
s32 uls;
|
||||
s32 yinc; // vertical increment amount
|
||||
s32 yinc; // vertical increment amount
|
||||
s32 ult;
|
||||
s32 lrx;
|
||||
s32 lry;
|
||||
@@ -357,12 +357,14 @@ void func_800C213C(PreRenderContext* this, Gfx** gfxp) {
|
||||
this->height, uls, ult, lrx, lry, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
do {} while(0); // force register allocation behavior
|
||||
gDPLoadMultiTile(gfx++, this->cvgSave, 0x0160, yinc, G_IM_FMT_I, G_IM_SIZ_8b, this->width, this->height, uls, ult,
|
||||
lrx, lry, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
|
||||
G_TX_NOLOD, G_TX_NOLOD);
|
||||
do {
|
||||
} while (0); // force register allocation behavior
|
||||
gDPLoadMultiTile(gfx++, this->cvgSave, 0x0160, yinc, G_IM_FMT_I, G_IM_SIZ_8b, this->width, this->height, uls,
|
||||
ult, lrx, lry, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
|
||||
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
do {} while(0); // force register allocation behavior
|
||||
do {
|
||||
} while (0); // force register allocation behavior
|
||||
gSPTextureRectangle(gfx++, uls << 2, ult << 2, (lrx + yinc) << 2, (lry + yinc) << 2, G_TX_RENDERTILE, uls << 5,
|
||||
ult << 5, 1 << 10, 1 << 10);
|
||||
|
||||
|
||||
@@ -4091,7 +4091,7 @@ void func_80035844(Vec3f* arg0, Vec3f* arg1, s16* arg2, s32 arg3) {
|
||||
* Spawns En_Part (Dissipating Flames) actor as a child of the given actor.
|
||||
*/
|
||||
Actor* func_800358DC(Actor* actor, Vec3f* spawnPos, Vec3s* spawnRot, f32* arg3, s32 timer, s16* unused,
|
||||
GlobalContext* globalCtx, s16 params, s32 arg8) {
|
||||
GlobalContext* globalCtx, s16 params, s32 arg8) {
|
||||
EnPart* spawnedEnPart;
|
||||
|
||||
spawnedEnPart =
|
||||
|
||||
@@ -334,25 +334,30 @@ DrawItemTableEntry sDrawItemTable[] = {
|
||||
// butterfly, OBJECT_GI_BUTTERFLY
|
||||
{ GetItem_DrawOpa0Xlu1, { gGiButterflyContainerDL, gGiButterflyGlassDL } },
|
||||
// poe, OBJECT_GI_GHOST
|
||||
{ GetItem_DrawPoes, { gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiPoeColorDL } },
|
||||
{ GetItem_DrawPoes,
|
||||
{ gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiPoeColorDL } },
|
||||
// fairy, OBJECT_GI_SOUL
|
||||
{ GetItem_DrawFairy, { gGiFairyContainerBaseCapDL, gGiFairyContainerGlassDL, gGiFairyContainerContentsDL } },
|
||||
// bullet bag 40, OBJECT_GI_DEKUPOUCH
|
||||
{ GetItem_DrawBulletBag,
|
||||
{ gGiBulletBagDL, gGiBulletBagColorDL, gGiBulletBagStringDL, gGiBulletBagStringColorDL, gGiBulletBagWritingDL } },
|
||||
// green rupee, OBJECT_GI_RUPY
|
||||
{ GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiGreenRupeeInnerColorDL, gGiRupeeOuterDL, gGiGreenRupeeOuterColorDL } },
|
||||
{ GetItem_DrawSmallRupee,
|
||||
{ gGiRupeeInnerDL, gGiGreenRupeeInnerColorDL, gGiRupeeOuterDL, gGiGreenRupeeOuterColorDL } },
|
||||
// blue rupee, OBJECT_GI_RUPY
|
||||
{ GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiBlueRupeeInnerColorDL, gGiRupeeOuterDL, gGiBlueRupeeOuterColorDL } },
|
||||
{ GetItem_DrawSmallRupee,
|
||||
{ gGiRupeeInnerDL, gGiBlueRupeeInnerColorDL, gGiRupeeOuterDL, gGiBlueRupeeOuterColorDL } },
|
||||
// red rupee, OBJECT_GI_RUPY
|
||||
{ GetItem_DrawSmallRupee, { gGiRupeeInnerDL, gGiRedRupeeInnerColorDL, gGiRupeeOuterDL, gGiRedRupeeOuterColorDL } },
|
||||
// big poe, OBJECT_GI_GHOST
|
||||
{ GetItem_DrawPoes,
|
||||
{ gGiGhostContainerLidDL, gGiGhostContainerGlassDL, gGiGhostContainerContentsDL, gGiBigPoeColorDL } },
|
||||
// purple rupee, OBJECT_GI_RUPY
|
||||
{ GetItem_DrawOpa10Xlu32, { gGiRupeeInnerDL, gGiPurpleRupeeInnerColorDL, gGiRupeeOuterDL, gGiPurpleRupeeOuterColorDL } },
|
||||
{ GetItem_DrawOpa10Xlu32,
|
||||
{ gGiRupeeInnerDL, gGiPurpleRupeeInnerColorDL, gGiRupeeOuterDL, gGiPurpleRupeeOuterColorDL } },
|
||||
// gold rupee, OBJECT_GI_RUPY
|
||||
{ GetItem_DrawOpa10Xlu32, { gGiRupeeInnerDL, gGiGoldRupeeInnerColorDL, gGiRupeeOuterDL, gGiGoldRupeeOuterColorDL } },
|
||||
{ GetItem_DrawOpa10Xlu32,
|
||||
{ gGiRupeeInnerDL, gGiGoldRupeeInnerColorDL, gGiRupeeOuterDL, gGiGoldRupeeOuterColorDL } },
|
||||
// bullet bag 50, OBJECT_GI_DEKUPOUCH
|
||||
{ GetItem_DrawBulletBag,
|
||||
{ gGiBulletBagDL, gGiBulletBag50ColorDL, gGiBulletBagStringDL, gGiBulletBag50StringColorDL,
|
||||
|
||||
@@ -151,8 +151,8 @@ void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx) {
|
||||
vecA.x = 4.0f * temp_3 * distXZ;
|
||||
vecA.y = 0.0f;
|
||||
vecA.z = 4.0f * temp_4 * distXZ;
|
||||
EffectSsDeadDb_Spawn(globalCtx, &thisx->home.pos, &vecA, &zeroVec, 60, 6, 255, 255, 150, 170, 255, 0,
|
||||
0, 1, 14, true);
|
||||
EffectSsDeadDb_Spawn(globalCtx, &thisx->home.pos, &vecA, &zeroVec, 60, 6, 255, 255, 150, 170, 255, 0, 0, 1,
|
||||
14, true);
|
||||
temp_2 += 0x2AAA;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,7 +194,8 @@ void BgHakaTrap_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
if (this->dyna.actor.params != HAKA_TRAP_PROPELLER) {
|
||||
if (this->dyna.actor.params != HAKA_TRAP_GUILLOTINE_SLOW) {
|
||||
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
|
||||
if ((this->dyna.actor.params == HAKA_TRAP_SPIKED_WALL) || (this->dyna.actor.params == HAKA_TRAP_SPIKED_WALL_2)) {
|
||||
if ((this->dyna.actor.params == HAKA_TRAP_SPIKED_WALL) ||
|
||||
(this->dyna.actor.params == HAKA_TRAP_SPIKED_WALL_2)) {
|
||||
Collider_DestroyTris(globalCtx, &this->colliderSpikes);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ void func_80886F24(BgHidanFslift* this) {
|
||||
this->dyna.actor.child->world.pos.y = this->dyna.actor.world.pos.y + 40.0f;
|
||||
this->dyna.actor.child->world.pos.z = this->dyna.actor.world.pos.z + -28.0f;
|
||||
} else {
|
||||
this->dyna.actor.child = NULL;
|
||||
this->dyna.actor.child = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_bg_hidan_kowarerukabe.h"
|
||||
#include "objects/gameplay_dangeon_keep/gameplay_dangeon_keep.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
@@ -22,8 +23,6 @@ void BgHidanKowarerukabe_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgHidanKowarerukabe_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgHidanKowarerukabe_Draw(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern Gfx D_05000530[];
|
||||
|
||||
const ActorInit Bg_Hidan_Kowarerukabe_InitVars = {
|
||||
ACTOR_BG_HIDAN_KOWARERUKABE,
|
||||
ACTORCAT_BG,
|
||||
@@ -190,7 +189,7 @@ void BgHidanKowarerukabe_FloorBreak(BgHidanKowarerukabe* this, GlobalContext* gl
|
||||
arg5 = (((i == 0) || (i == 4)) && ((j == 0) || (j == 4))) ? 65 : 64;
|
||||
|
||||
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &thisx->world.pos, -550, arg5, 15, 15, 0, arg9, 2, 16, 100,
|
||||
KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_DANGEON_KEEP, D_05000530);
|
||||
KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_DANGEON_KEEP, gBrownFragmentDL);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -231,7 +230,7 @@ void func_8088A67C(BgHidanKowarerukabe* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &thisx->world.pos, -540, arg5, 20, 20, 0, arg9, 2, 32, 100,
|
||||
KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_DANGEON_KEEP, D_05000530);
|
||||
KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_DANGEON_KEEP, gBrownFragmentDL);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -242,7 +241,7 @@ void BgHidanKowarerukabe_LargeWallBreak(BgHidanKowarerukabe* this, GlobalContext
|
||||
Vec3f velocity;
|
||||
Vec3f pos;
|
||||
s16 arg5;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
f32 sin = Math_SinS(thisx->shape.rot.y);
|
||||
f32 cos = Math_CosS(thisx->shape.rot.y);
|
||||
f32 tmp1;
|
||||
@@ -272,7 +271,7 @@ void BgHidanKowarerukabe_LargeWallBreak(BgHidanKowarerukabe* this, GlobalContext
|
||||
}
|
||||
|
||||
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, &thisx->world.pos, -650, arg5, 20, 20, 0, arg9, 2, 32, 100,
|
||||
KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_DANGEON_KEEP, D_05000530);
|
||||
KAKERA_COLOR_NONE, OBJECT_GAMEPLAY_DANGEON_KEEP, gBrownFragmentDL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_bg_jya_block.h"
|
||||
#include "objects/gameplay_dangeon_keep/gameplay_dangeon_keep.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
@@ -34,17 +35,13 @@ static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_F32(uncullZoneDownward, 1500, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
extern UNK_TYPE D_05004350;
|
||||
extern Gfx D_05004CD0[];
|
||||
extern CollisionHeader D_05004E98;
|
||||
|
||||
void BgJyaBlock_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgJyaBlock* this = THIS;
|
||||
CollisionHeader* colHeader = NULL;
|
||||
|
||||
DynaPolyActor_Init(&this->dyna, 0);
|
||||
CollisionHeader_GetVirtual(&D_05004E98, &colHeader);
|
||||
CollisionHeader_GetVirtual(&gPushBlockCol, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
|
||||
@@ -72,11 +69,11 @@ void BgJyaBlock_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(&D_05004350));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gPushBlockGrayTex));
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 153),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 232, 210, 176, 255);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_05004CD0);
|
||||
gSPDisplayList(POLY_OPA_DISP++, gPushBlockDL);
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_jya_block.c", 158);
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@ static InitChainEntry sInitChain[] = {
|
||||
|
||||
extern CollisionHeader D_060074EC;
|
||||
|
||||
|
||||
void BgMizuUzu_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
BgMizuUzu* this = THIS;
|
||||
|
||||
@@ -62,7 +62,9 @@ void BgPushbox_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
void func_808A8BAC(BgPushbox* this, GlobalContext* globalCtx) {
|
||||
this->dyna.actor.speedXZ += this->dyna.unk_150 * 0.2f;
|
||||
this->dyna.actor.speedXZ = (this->dyna.actor.speedXZ < -1.0f) ? -1.0f : ((this->dyna.actor.speedXZ > 1.0f) ? 1.0f : this->dyna.actor.speedXZ);
|
||||
this->dyna.actor.speedXZ = (this->dyna.actor.speedXZ < -1.0f)
|
||||
? -1.0f
|
||||
: ((this->dyna.actor.speedXZ > 1.0f) ? 1.0f : this->dyna.actor.speedXZ);
|
||||
Math_StepToF(&this->dyna.actor.speedXZ, 0.0f, 0.2f);
|
||||
this->dyna.actor.world.rot.y = this->dyna.unk_158;
|
||||
Actor_MoveForward(&this->dyna.actor);
|
||||
|
||||
@@ -92,7 +92,8 @@ void func_808AE5B4(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_808AE630(BgSpot05Soko* this, GlobalContext* globalCtx) {
|
||||
this->dyna.actor.speedXZ *= 1.5f;
|
||||
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y - 120.0f, this->dyna.actor.speedXZ) != 0) {
|
||||
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y - 120.0f, this->dyna.actor.speedXZ) !=
|
||||
0) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,7 +282,8 @@ void BgSpot06Objects_LockSpawnWaterRipples(BgSpot06Objects* this, GlobalContext*
|
||||
|
||||
void BgSpot06Objects_LockSpawnBubbles(BgSpot06Objects* this, GlobalContext* globalCtx, s32 flag) {
|
||||
if (!(globalCtx->gameplayFrames % 7) || flag) {
|
||||
EffectSsBubble_Spawn(globalCtx, &this->dyna.actor.world.pos, 0.0f, 40.0f, 30.0f, (Rand_ZeroOne() * 0.05f) + 0.175f);
|
||||
EffectSsBubble_Spawn(globalCtx, &this->dyna.actor.world.pos, 0.0f, 40.0f, 30.0f,
|
||||
(Rand_ZeroOne() * 0.05f) + 0.175f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -316,7 +316,7 @@ void BgSpot08Iceblock_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
|
||||
switch (this->dyna.actor.params & 0xF0) {
|
||||
|
||||
@@ -46,7 +46,8 @@ static InitChainEntry sInitChain[] = {
|
||||
extern Gfx D_06001080[];
|
||||
extern CollisionHeader D_060011EC;
|
||||
|
||||
void BgSpot12Gate_InitDynaPoly(BgSpot12Gate* this, GlobalContext* globalCtx, CollisionHeader* collision, DynaPolyMoveFlag flags) {
|
||||
void BgSpot12Gate_InitDynaPoly(BgSpot12Gate* this, GlobalContext* globalCtx, CollisionHeader* collision,
|
||||
DynaPolyMoveFlag flags) {
|
||||
s32 pad;
|
||||
CollisionHeader* colHeader = NULL;
|
||||
s32 pad2;
|
||||
@@ -111,7 +112,8 @@ void func_808B318C(BgSpot12Gate* this, GlobalContext* globalCtx) {
|
||||
s32 var;
|
||||
|
||||
Math_StepToF(&this->dyna.actor.velocity.y, 1.6f, 0.03f);
|
||||
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 200.0f, this->dyna.actor.velocity.y)) {
|
||||
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 200.0f,
|
||||
this->dyna.actor.velocity.y)) {
|
||||
func_808B3274(this);
|
||||
var = Quake_Add(ACTIVE_CAM, 3);
|
||||
Quake_SetSpeed(var, -0x3CB0);
|
||||
|
||||
@@ -116,8 +116,10 @@ void func_808B3604(BgSpot12Saku* this, GlobalContext* globalCtx) {
|
||||
void func_808B3714(BgSpot12Saku* this) {
|
||||
this->actionFunc = func_808B37AC;
|
||||
this->dyna.actor.scale.x = 0.001f / 0.14f;
|
||||
this->dyna.actor.world.pos.x = this->dyna.actor.home.pos.x - (Math_SinS(this->dyna.actor.shape.rot.y + 0x4000) * 78.0f);
|
||||
this->dyna.actor.world.pos.z = this->dyna.actor.home.pos.z - (Math_CosS(this->dyna.actor.shape.rot.y + 0x4000) * 78.0f);
|
||||
this->dyna.actor.world.pos.x =
|
||||
this->dyna.actor.home.pos.x - (Math_SinS(this->dyna.actor.shape.rot.y + 0x4000) * 78.0f);
|
||||
this->dyna.actor.world.pos.z =
|
||||
this->dyna.actor.home.pos.z - (Math_CosS(this->dyna.actor.shape.rot.y + 0x4000) * 78.0f);
|
||||
}
|
||||
|
||||
void func_808B37AC(BgSpot12Saku* this, GlobalContext* globalCtx) {
|
||||
|
||||
@@ -87,8 +87,9 @@ void func_808B3A34(BgSpot15Rrbox* this) {
|
||||
s32 func_808B3A40(BgSpot15Rrbox* this, GlobalContext* globalCtx) {
|
||||
DynaPolyActor* dynaPolyActor = DynaPoly_GetActor(&globalCtx->colCtx, this->bgId);
|
||||
|
||||
if ((dynaPolyActor != NULL) && Math3D_Dist2DSq(dynaPolyActor->actor.world.pos.x, dynaPolyActor->actor.world.pos.z,
|
||||
this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.z) < 0.01f) {
|
||||
if ((dynaPolyActor != NULL) &&
|
||||
Math3D_Dist2DSq(dynaPolyActor->actor.world.pos.x, dynaPolyActor->actor.world.pos.z,
|
||||
this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.z) < 0.01f) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -93,7 +93,7 @@ void BgSpot15Saku_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user