1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-25 09:45:02 +00:00

Match some overlay effects files (#1705)

This commit is contained in:
cadmic 2024-02-03 14:36:35 -08:00 committed by GitHub
parent 178e95ae50
commit 0cbcebfded
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 29 additions and 24 deletions

View file

@ -58,10 +58,7 @@ void EffectSsBubble_Draw(PlayState* play, u32 index, EffectSs* this) {
void EffectSsBubble_Update(PlayState* play, u32 index, EffectSs* this) { void EffectSsBubble_Update(PlayState* play, u32 index, EffectSs* this) {
WaterBox* waterBox; WaterBox* waterBox;
f32 waterSurfaceY; f32 waterSurfaceY = this->pos.y;
Vec3f ripplePos;
waterSurfaceY = this->pos.y;
// kill bubble if it's out of range of a water box // kill bubble if it's out of range of a water box
if (!WaterBox_GetSurface1(play, &play->colCtx, this->pos.x, this->pos.z, &waterSurfaceY, &waterBox)) { if (!WaterBox_GetSurface1(play, &play->colCtx, this->pos.x, this->pos.z, &waterSurfaceY, &waterBox)) {
@ -70,6 +67,8 @@ void EffectSsBubble_Update(PlayState* play, u32 index, EffectSs* this) {
} }
if (waterSurfaceY < this->pos.y) { if (waterSurfaceY < this->pos.y) {
Vec3f ripplePos;
ripplePos.x = this->pos.x; ripplePos.x = this->pos.x;
ripplePos.y = waterSurfaceY; ripplePos.y = waterSurfaceY;
ripplePos.z = this->pos.z; ripplePos.z = this->pos.z;

View file

@ -29,7 +29,6 @@ EffectSsInit Effect_Ss_Dead_Dd_InitVars = {
}; };
u32 EffectSsDeadDd_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx) { u32 EffectSsDeadDd_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx) {
s32 i;
EffectSsDeadDdInitParams* initParams = (EffectSsDeadDdInitParams*)initParamsx; EffectSsDeadDdInitParams* initParams = (EffectSsDeadDdInitParams*)initParamsx;
if (initParams->type == 0) { if (initParams->type == 0) {
@ -58,6 +57,8 @@ u32 EffectSsDeadDd_Init(PlayState* play, u32 index, EffectSs* this, void* initPa
this->rEnvColorB = initParams->envColor.b; this->rEnvColorB = initParams->envColor.b;
} else if (initParams->type == 1) { } else if (initParams->type == 1) {
s32 i;
this->life = initParams->life; this->life = initParams->life;
this->rScaleStep = initParams->scaleStep; this->rScaleStep = initParams->scaleStep;
this->rAlphaMode = 0; this->rAlphaMode = 0;

View file

@ -37,7 +37,6 @@ static EffectSsUpdateFunc sUpdateFuncs[] = {
}; };
u32 EffectSsDust_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx) { u32 EffectSsDust_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx) {
s32 randColorOffset;
EffectSsDustInitParams* initParams = (EffectSsDustInitParams*)initParamsx; EffectSsDustInitParams* initParams = (EffectSsDustInitParams*)initParamsx;
Math_Vec3f_Copy(&this->pos, &initParams->pos); Math_Vec3f_Copy(&this->pos, &initParams->pos);
@ -49,7 +48,8 @@ u32 EffectSsDust_Init(PlayState* play, u32 index, EffectSs* this, void* initPara
this->draw = EffectSsDust_Draw; this->draw = EffectSsDust_Draw;
if (initParams->drawFlags & 4) { if (initParams->drawFlags & 4) {
randColorOffset = Rand_ZeroOne() * 20.0f - 10.0f; s32 randColorOffset = Rand_ZeroOne() * 20.0f - 10.0f;
this->rPrimColorR = initParams->primColor.r + randColorOffset; this->rPrimColorR = initParams->primColor.r + randColorOffset;
this->rPrimColorG = initParams->primColor.g + randColorOffset; this->rPrimColorG = initParams->primColor.g + randColorOffset;
this->rPrimColorB = initParams->primColor.b + randColorOffset; this->rPrimColorB = initParams->primColor.b + randColorOffset;

View file

@ -26,13 +26,11 @@ EffectSsInit Effect_Ss_Extra_InitVars = {
u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx) { u32 EffectSsExtra_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx) {
EffectSsExtraInitParams* initParams = (EffectSsExtraInitParams*)initParamsx; EffectSsExtraInitParams* initParams = (EffectSsExtraInitParams*)initParamsx;
s32 pad; s32 pad;
s32 objectSlot; s32 objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_YABUSAME_POINT);
uintptr_t oldSeg6;
objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_YABUSAME_POINT);
if ((objectSlot >= 0) && Object_IsLoaded(&play->objectCtx, objectSlot)) { if ((objectSlot >= 0) && Object_IsLoaded(&play->objectCtx, objectSlot)) {
oldSeg6 = gSegments[6]; uintptr_t oldSeg6 = gSegments[6];
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
this->pos = initParams->pos; this->pos = initParams->pos;
this->velocity = initParams->velocity; this->velocity = initParams->velocity;

View file

@ -172,21 +172,20 @@ void EffectSsFhgFlash_UpdateLightBall(PlayState* play, u32 index, EffectSs* this
void EffectSsFhgFlash_UpdateShock(PlayState* play, u32 index, EffectSs* this) { void EffectSsFhgFlash_UpdateShock(PlayState* play, u32 index, EffectSs* this) {
s16 randBodyPart; s16 randBodyPart;
Player* player; s16 rotStep = Rand_ZeroOne() * 20000.0f;
BossGanondrof* phantomGanon;
s16 rotStep;
rotStep = Rand_ZeroOne() * 20000.0f;
this->rXZRot += rotStep + 0x4000; this->rXZRot += rotStep + 0x4000;
if (this->rParam == FHGFLASH_SHOCK_PLAYER) { if (this->rParam == FHGFLASH_SHOCK_PLAYER) {
player = GET_PLAYER(play); Player* player = GET_PLAYER(play);
randBodyPart = Rand_ZeroFloat(PLAYER_BODYPART_MAX - 0.1f); randBodyPart = Rand_ZeroFloat(PLAYER_BODYPART_MAX - 0.1f);
this->pos.x = player->bodyPartsPos[randBodyPart].x + Rand_CenteredFloat(10.0f); this->pos.x = player->bodyPartsPos[randBodyPart].x + Rand_CenteredFloat(10.0f);
this->pos.y = player->bodyPartsPos[randBodyPart].y + Rand_CenteredFloat(15.0f); this->pos.y = player->bodyPartsPos[randBodyPart].y + Rand_CenteredFloat(15.0f);
this->pos.z = player->bodyPartsPos[randBodyPart].z + Rand_CenteredFloat(10.0f); this->pos.z = player->bodyPartsPos[randBodyPart].z + Rand_CenteredFloat(10.0f);
} else if (this->rParam == FHGFLASH_SHOCK_PG) { } else if (this->rParam == FHGFLASH_SHOCK_PG) {
phantomGanon = (BossGanondrof*)this->actor; BossGanondrof* phantomGanon = (BossGanondrof*)this->actor;
randBodyPart = Rand_ZeroFloat(23.9f); randBodyPart = Rand_ZeroFloat(23.9f);
this->pos.x = phantomGanon->bodyPartsPos[randBodyPart].x + Rand_CenteredFloat(15.0f); this->pos.x = phantomGanon->bodyPartsPos[randBodyPart].x + Rand_CenteredFloat(15.0f);
this->pos.y = phantomGanon->bodyPartsPos[randBodyPart].y + Rand_CenteredFloat(20.0f); this->pos.y = phantomGanon->bodyPartsPos[randBodyPart].y + Rand_CenteredFloat(20.0f);
@ -194,6 +193,8 @@ void EffectSsFhgFlash_UpdateShock(PlayState* play, u32 index, EffectSs* this) {
} }
if (this->life < 100) { if (this->life < 100) {
s32 pad;
this->rAlpha -= 50; this->rAlpha -= 50;
if (this->rAlpha < 0) { if (this->rAlpha < 0) {

View file

@ -24,12 +24,12 @@ u32 EffectSsIceSmoke_Init(PlayState* play, u32 index, EffectSs* this, void* init
EffectSsIceSmokeInitParams* initParams = (EffectSsIceSmokeInitParams*)initParamsx; EffectSsIceSmokeInitParams* initParams = (EffectSsIceSmokeInitParams*)initParamsx;
s32 pad; s32 pad;
s32 objectSlot; s32 objectSlot;
uintptr_t prevSeg6;
objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_FZ); objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_FZ);
if ((objectSlot >= 0) && Object_IsLoaded(&play->objectCtx, objectSlot)) { if ((objectSlot >= 0) && Object_IsLoaded(&play->objectCtx, objectSlot)) {
prevSeg6 = gSegments[6]; uintptr_t prevSeg6 = gSegments[6];
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment); gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[objectSlot].segment);
Math_Vec3f_Copy(&this->pos, &initParams->pos); Math_Vec3f_Copy(&this->pos, &initParams->pos);
Math_Vec3f_Copy(&this->velocity, &initParams->velocity); Math_Vec3f_Copy(&this->velocity, &initParams->velocity);
@ -61,6 +61,10 @@ void EffectSsIceSmoke_Draw(PlayState* play, u32 index, EffectSs* this) {
OPEN_DISPS(play->state.gfxCtx, "../z_eff_ss_ice_smoke.c", 155); OPEN_DISPS(play->state.gfxCtx, "../z_eff_ss_ice_smoke.c", 155);
#if !OOT_DEBUG
if (1) {}
#endif
objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_FZ); objectSlot = Object_GetSlot(&play->objectCtx, OBJECT_FZ);
if ((objectSlot >= 0) && Object_IsLoaded(&play->objectCtx, objectSlot)) { if ((objectSlot >= 0) && Object_IsLoaded(&play->objectCtx, objectSlot)) {

View file

@ -78,9 +78,11 @@ u32 EffectSsKakera_Init(PlayState* play, u32 index, EffectSs* this, void* initPa
f32 func_809A9818(f32 arg0, f32 arg1) { f32 func_809A9818(f32 arg0, f32 arg1) {
f32 temp_f2; f32 temp_f2;
#if OOT_DEBUG
if (arg1 < 0.0f) { if (arg1 < 0.0f) {
PRINTF("範囲がマイナス!!(randomD_sectionUniformity)\n"); PRINTF("範囲がマイナス!!(randomD_sectionUniformity)\n");
} }
#endif
temp_f2 = Rand_ZeroOne() * arg1; temp_f2 = Rand_ZeroOne() * arg1;
return ((temp_f2 * 2.0f) - arg1) + arg0; return ((temp_f2 * 2.0f) - arg1) + arg0;

View file

@ -79,10 +79,9 @@ void EffectSsSibuki_Draw(PlayState* play, u32 index, EffectSs* this) {
} }
void EffectSsSibuki_Update(PlayState* play, u32 index, EffectSs* this) { void EffectSsSibuki_Update(PlayState* play, u32 index, EffectSs* this) {
s32 pad[3];
f32 xzVelScale;
s16 yaw;
Player* player = GET_PLAYER(play); Player* player = GET_PLAYER(play);
s32 pad[2];
f32 xzVelScale;
if (this->pos.y <= player->actor.floorHeight) { if (this->pos.y <= player->actor.floorHeight) {
this->life = 0; this->life = 0;
@ -92,7 +91,8 @@ void EffectSsSibuki_Update(PlayState* play, u32 index, EffectSs* this) {
this->rMoveDelay--; this->rMoveDelay--;
if (this->rMoveDelay == 0) { if (this->rMoveDelay == 0) {
yaw = Camera_GetInputDirYaw(Play_GetCamera(play, CAM_ID_MAIN)); s16 yaw = Camera_GetInputDirYaw(Play_GetCamera(play, CAM_ID_MAIN));
xzVelScale = ((200.0f + KREG(20)) * 0.01f) + ((0.1f * Rand_ZeroOne()) * (KREG(23) + 20.0f)); xzVelScale = ((200.0f + KREG(20)) * 0.01f) + ((0.1f * Rand_ZeroOne()) * (KREG(23) + 20.0f));
if (this->rDirection != 0) { if (this->rDirection != 0) {