mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 14:34:32 +00:00
Rumble doc (#1375)
* Rumble doc * Fixes, suggested changes * Improve padmgr retrace callback related code * Name some rumble-adjacent things, further suggested changes * Further suggested changes * Suggested changes
This commit is contained in:
parent
82e04ede5f
commit
4f65d08eb5
59 changed files with 533 additions and 393 deletions
|
@ -182,7 +182,7 @@ void func_8086C054(BgBdanObjects* this, PlayState* play) {
|
|||
player->actor.world.pos.x = -1130.0f;
|
||||
player->actor.world.pos.y = -1025.0f;
|
||||
player->actor.world.pos.z = -3300.0f;
|
||||
func_800AA000(0.0f, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(0.0f, 255, 20, 150);
|
||||
}
|
||||
} else if (this->timer != 0) {
|
||||
if (this->timer != 0) {
|
||||
|
@ -207,13 +207,13 @@ void func_8086C1A0(BgBdanObjects* this, PlayState* play) {
|
|||
this->actionFunc = func_8086C29C;
|
||||
this->timer = 30;
|
||||
BgBdanObjects_SetContactRu1(this, 2);
|
||||
func_800AA000(0.0f, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(0.0f, 255, 20, 150);
|
||||
} else {
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
if (this->timer == 0) {
|
||||
func_800AA000(0.0f, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(0.0f, 120, 20, 10);
|
||||
this->timer = 11;
|
||||
}
|
||||
func_8002F974(&this->dyna.actor, NA_SE_EV_BUYOSTAND_RISING - SFX_FLAG);
|
||||
|
@ -261,14 +261,14 @@ void func_8086C3D8(BgBdanObjects* this, PlayState* play) {
|
|||
player->actor.world.pos.z = -3500.0f;
|
||||
player->actor.shape.rot.y = 0x7530;
|
||||
player->actor.world.rot.y = player->actor.shape.rot.y;
|
||||
func_800AA000(0.0f, 0xFF, 0x1E, 0x96);
|
||||
Rumble_Request(0.0f, 255, 30, 150);
|
||||
} else {
|
||||
func_8002F974(&this->dyna.actor, NA_SE_EV_BUYOSTAND_FALL - SFX_FLAG);
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
}
|
||||
if (this->timer == 0) {
|
||||
func_800AA000(0.0f, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(0.0f, 120, 20, 10);
|
||||
this->timer = 11;
|
||||
}
|
||||
if (this->dyna.actor.child != NULL) {
|
||||
|
|
|
@ -273,7 +273,7 @@ void func_8086D694(BgBdanSwitch* this, PlayState* play) {
|
|||
if (this->unk_1C8 <= 0.1f) {
|
||||
func_8086D730(this);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_FOOT_SWITCH);
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 120, 20, 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -336,7 +336,7 @@ void func_8086D8CC(BgBdanSwitch* this, PlayState* play) {
|
|||
if (this->unk_1C8 <= 0.6f) {
|
||||
func_8086D9F8(this);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_FOOT_SWITCH);
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 120, 20, 10);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -351,7 +351,7 @@ void func_8086D95C(BgBdanSwitch* this, PlayState* play) {
|
|||
if (this->unk_1C8 <= 0.1f) {
|
||||
func_8086DB24(this);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_FOOT_SWITCH);
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 120, 20, 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -127,7 +127,7 @@ void BgDdanKd_LowerStairs(BgDdanKd* this, PlayState* play) {
|
|||
f32 effectStrength;
|
||||
|
||||
Math_SmoothStepToF(&this->dyna.actor.speedXZ, 4.0f, 0.5f, 0.025f, 0.0f);
|
||||
func_800AA000(500.0f, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(500.0f, 120, 20, 10);
|
||||
|
||||
if (Math_SmoothStepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y - 200.0f - 20.0f, 0.075f,
|
||||
this->dyna.actor.speedXZ, 0.0075f) == 0.0f) {
|
||||
|
|
|
@ -244,7 +244,7 @@ void BgDodoago_OpenJaw(BgDodoago* this, PlayState* play) {
|
|||
BgDodoago_SpawnSparkles(&pos, play);
|
||||
|
||||
Math_StepToS(&this->state, 100, 3);
|
||||
func_800AA000(500.0f, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(500.0f, 120, 20, 10);
|
||||
|
||||
if (Math_SmoothStepToS(&this->dyna.actor.shape.rot.x, 0x1333, 110 - this->state, 0x3E8, 0x32) == 0) {
|
||||
BgDodoago_SetupAction(this, BgDodoago_DoNothing);
|
||||
|
|
|
@ -189,7 +189,7 @@ void BgHeavyBlock_MovePiece(BgHeavyBlock* this, PlayState* play) {
|
|||
thisx->velocity.z = Rand_CenteredFloat(8.0f);
|
||||
BgHeavyBlock_SetPieceRandRot(this, 1.0f);
|
||||
Audio_PlayActorSfx2(thisx, NA_SE_EV_ROCK_BROKEN);
|
||||
func_800AA000(thisx->xzDistToPlayer, 0x96, 0xA, 8);
|
||||
Rumble_Request(thisx->xzDistToPlayer, 150, 10, 8);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -348,7 +348,7 @@ void BgHeavyBlock_LiftedUp(BgHeavyBlock* this, PlayState* play) {
|
|||
f32 xOffset;
|
||||
|
||||
if (this->timer == 11) {
|
||||
func_800AA000(0.0f, 0xFF, 0x14, 0x14);
|
||||
Rumble_Request(0.0f, 255, 20, 20);
|
||||
func_8002F7DC(&player->actor, NA_SE_PL_PULL_UP_BIGROCK);
|
||||
LOG_STRING("NA_SE_PL_PULL_UP_BIGROCK", "../z_bg_heavy_block.c", 691);
|
||||
}
|
||||
|
@ -390,7 +390,7 @@ void BgHeavyBlock_Fly(BgHeavyBlock* this, PlayState* play) {
|
|||
this->dyna.actor.floorHeight = yIntersect;
|
||||
|
||||
if (this->dyna.actor.home.pos.y <= yIntersect) {
|
||||
func_800AA000(0.0f, 0xFF, 0x3C, 4);
|
||||
Rumble_Request(0.0f, 255, 60, 4);
|
||||
|
||||
switch (this->dyna.actor.params & 0xFF) {
|
||||
case HEAVYBLOCK_BREAKABLE:
|
||||
|
|
|
@ -313,7 +313,7 @@ void func_80888860(BgHidanHamstep* this, PlayState* play) {
|
|||
Quake_SetQuakeValues(quakeIndex, 0, 0, 500, 0);
|
||||
Quake_SetCountdown(quakeIndex, 20);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_BLOCK_BOUND);
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 255, 20, 150);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 255, 20, 150);
|
||||
func_80888638(this, play);
|
||||
osSyncPrintf("A(%d)\n", this->dyna.actor.params);
|
||||
}
|
||||
|
@ -373,7 +373,7 @@ void func_80888A58(BgHidanHamstep* this, PlayState* play) {
|
|||
Quake_SetCountdown(quakeIndex, 7);
|
||||
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_BLOCK_BOUND);
|
||||
func_800AA000(10000.0f, 255, 20, 150);
|
||||
Rumble_Request(SQ(100.0f), 255, 20, 150);
|
||||
func_808884C8(this, play);
|
||||
|
||||
if ((this->dyna.actor.params & 0xFF) == 5) {
|
||||
|
|
|
@ -161,7 +161,7 @@ void func_808894B0(BgHidanHrock* this, PlayState* play) {
|
|||
(Math_CosS(this->dyna.actor.world.rot.y + (this->unk_168 << 0xE)) * 5.0f) + this->dyna.actor.home.pos.z;
|
||||
|
||||
if (!(this->unk_168 % 4)) {
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 180, 10, 100);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 180, 10, 100);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_BLOCK_SHAKE);
|
||||
}
|
||||
|
||||
|
|
|
@ -233,7 +233,7 @@ void func_8088B69C(BgHidanRock* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if (!(this->timer % 4)) {
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 0xB4, 0x0A, 0x64);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 180, 10, 100);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_BLOCK_SHAKE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -143,7 +143,7 @@ void func_8088E5D0(BgHidanSima* this, PlayState* play) {
|
|||
this->dyna.actor.world.pos.z = this->dyna.actor.home.pos.z;
|
||||
}
|
||||
if (!(this->timer % 4)) {
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 180, 10, 100);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 180, 10, 100);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_BLOCK_SHAKE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -128,7 +128,7 @@ void BgMizuShutter_Move(BgMizuShutter* this, PlayState* play) {
|
|||
if ((this->dyna.actor.world.pos.x == this->closedPos.x) &&
|
||||
(this->dyna.actor.world.pos.y == this->closedPos.y) &&
|
||||
(this->dyna.actor.world.pos.z == this->closedPos.z)) {
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 120, 20, 10);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_STONE_BOUND);
|
||||
this->actionFunc = BgMizuShutter_WaitForSwitch;
|
||||
}
|
||||
|
|
|
@ -282,10 +282,10 @@ void BgMizuWater_ChangeWaterLevel(BgMizuWater* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if (this->targetY < this->actor.world.pos.y) {
|
||||
func_800AA000(0.0f, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(0.0f, 120, 20, 10);
|
||||
func_8002F948(&this->actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
|
||||
} else if (this->targetY > this->actor.world.pos.y) {
|
||||
func_800AA000(0.0f, 0x78, 0x14, 0xA);
|
||||
Rumble_Request(0.0f, 120, 20, 10);
|
||||
func_8002F948(&this->actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -156,7 +156,7 @@ void BgMoriRakkatenjo_Fall(BgMoriRakkatenjo* this, PlayState* play) {
|
|||
if (this->bounceCount == 0) {
|
||||
this->fallCount++;
|
||||
func_800788CC(NA_SE_EV_STONE_BOUND);
|
||||
func_800AA000(SQ(thisx->yDistToPlayer), 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(SQ(thisx->yDistToPlayer), 255, 20, 150);
|
||||
}
|
||||
thisx->world.pos.y =
|
||||
403.0f - (thisx->world.pos.y - 403.0f) * bounceVel[this->bounceCount] / fabsf(thisx->velocity.y);
|
||||
|
|
|
@ -145,7 +145,7 @@ void func_808A91AC(BgRelayObjects* this, PlayState* play) {
|
|||
void func_808A9234(BgRelayObjects* this, PlayState* play) {
|
||||
this->dyna.actor.velocity.y += this->dyna.actor.gravity;
|
||||
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, this->dyna.actor.velocity.y)) {
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 180, 20, 100);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 180, 20, 100);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_STONE_BOUND);
|
||||
if (this->unk_169 != play->roomCtx.curRoom.num) {
|
||||
func_800788CC(NA_SE_EN_PO_LAUGH);
|
||||
|
|
|
@ -680,7 +680,7 @@ void BossDodongo_Walk(BossDodongo* this, PlayState* play) {
|
|||
func_80033E88(&this->actor, play, 4, 10);
|
||||
} else {
|
||||
this->unk_1B6 = 10;
|
||||
func_800A9F6C(0.0f, 180, 20, 100);
|
||||
Rumble_Override(0.0f, 180, 20, 100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3944,7 +3944,7 @@ void BossGanon_LightBall_Update(Actor* thisx, PlayState* play2) {
|
|||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_REFLECT_MG, &player->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
func_800AA000(this->actor.xyzDistToPlayerSq, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 255, 20, 150);
|
||||
} else {
|
||||
spBA = 1;
|
||||
this->actor.world.rot.y = Math_Atan2S(zDistFromGanondorf, xDistFromGanondorf);
|
||||
|
@ -3955,7 +3955,7 @@ void BossGanon_LightBall_Update(Actor* thisx, PlayState* play2) {
|
|||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_REFLECT_MG, &player->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
func_800AA000(this->actor.xyzDistToPlayerSq, 0xB4, 0x14, 0x64);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 180, 20, 100);
|
||||
|
||||
if (hitWithBottle == false) {
|
||||
// if ganondorf is 250 units away from link, at least 3 volleys are required
|
||||
|
@ -4424,7 +4424,7 @@ void func_808E2544(Actor* thisx, PlayState* play) {
|
|||
this->collider.base.acFlags &= ~AC_HIT;
|
||||
|
||||
if (!(acHitInfo->toucher.dmgFlags & DMG_SHIELD) || Player_HasMirrorShieldEquipped(play)) {
|
||||
func_800AA000(this->actor.xyzDistToPlayerSq, 0xB4, 0x14, 0x64);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 180, 20, 100);
|
||||
this->unk_1C2 = 0xC;
|
||||
this->actor.speedXZ = -30.0f;
|
||||
|
||||
|
|
|
@ -431,7 +431,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) {
|
|||
if (this->unk_398 == 30) {
|
||||
D_80906D78 = 1;
|
||||
this->unk_314 = 1;
|
||||
func_800A9F6C(0.0f, 0xC8, 0x14, 0x14);
|
||||
Rumble_Override(0.0f, 200, 20, 20);
|
||||
}
|
||||
if (this->unk_398 == 30) {
|
||||
func_80078884(NA_SE_EV_GRAVE_EXPLOSION);
|
||||
|
@ -643,7 +643,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) {
|
|||
this->actor.velocity.y = 0.0f;
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &gGanonUncurlAndFlailAnim, 0.0f);
|
||||
func_808FD4D4(this, play, 0, 3);
|
||||
func_800A9F6C(0.0f, 0xC8, 0x14, 0x14);
|
||||
Rumble_Override(0.0f, 200, 20, 20);
|
||||
}
|
||||
break;
|
||||
case 21:
|
||||
|
@ -720,7 +720,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) {
|
|||
if (this->unk_398 == 228) {
|
||||
func_80078884(NA_SE_IT_SHIELD_REFLECT_SW);
|
||||
func_8002DF54(play, &this->actor, 0x56);
|
||||
func_800A9F6C(0.0f, 0xFF, 0xA, 0x32);
|
||||
Rumble_Override(0.0f, 255, 10, 50);
|
||||
}
|
||||
if (this->unk_398 >= 229) {
|
||||
play->envCtx.fillScreen = true;
|
||||
|
@ -924,7 +924,7 @@ void func_808FF898(BossGanon2* this, PlayState* play) {
|
|||
sp28.z = 1.0f;
|
||||
Matrix_MultVec3f(&sp28, &gj->unk_26C);
|
||||
gj->killFlag = true;
|
||||
func_800A9F6C(0.0f, 0x96, 0x14, 0x32);
|
||||
Rumble_Override(0.0f, 150, 20, 50);
|
||||
this->unk_392 = 6;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -890,7 +890,7 @@ void BossGoma_Encounter(BossGoma* this, PlayState* play) {
|
|||
this->currentAnimFrameCount = Animation_GetLastFrame(&gGohmaInitialLandingAnim);
|
||||
BossGoma_PlayEffectsAndSfx(this, play, 0, 5);
|
||||
this->framesUntilNextAction = 15;
|
||||
func_800A9F6C(0.0f, 0xC8, 0x14, 0x14);
|
||||
Rumble_Override(0.0f, 200, 20, 20);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1000,7 +1000,7 @@ void BossGoma_Defeated(BossGoma* this, PlayState* play) {
|
|||
|
||||
if (Animation_OnFrame(&this->skelanime, 107.0f)) {
|
||||
BossGoma_PlayEffectsAndSfx(this, play, 0, 8);
|
||||
func_800A9F6C(0.0f, 0x96, 0x14, 0x14);
|
||||
Rumble_Override(0.0f, 150, 20, 20);
|
||||
}
|
||||
|
||||
this->visualState = VISUALSTATE_DEFEATED;
|
||||
|
|
|
@ -504,7 +504,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
|
|||
swingSizeAccel = 60.0f;
|
||||
if ((this->sfxTimer % 32) == 0) {
|
||||
Audio_PlaySfxIncreasinglyTransposed(&this->tentTipPos, NA_SE_EN_MOFER_WAVE, gMorphaTransposeTable);
|
||||
func_800AA000(0, 100, 5, 2);
|
||||
Rumble_Request(0, 100, 5, 2);
|
||||
func_8002F7DC(&player->actor, NA_SE_VO_LI_FREEZE + player->ageProperties->unk_92);
|
||||
}
|
||||
} else {
|
||||
|
@ -518,7 +518,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
|
|||
swingSizeAccel = 70.0f;
|
||||
if ((this->sfxTimer % 16) == 0) {
|
||||
Audio_PlaySfxIncreasinglyTransposed(&this->tentTipPos, NA_SE_EN_MOFER_WAVE, gMorphaTransposeTable);
|
||||
func_800AA000(0, 160, 5, 4);
|
||||
Rumble_Request(0, 160, 5, 4);
|
||||
func_8002F7DC(&player->actor, NA_SE_VO_LI_FREEZE + player->ageProperties->unk_92);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -433,7 +433,7 @@ void BossSst_HeadIntro(BossSst* this, PlayState* play) {
|
|||
if (!this->ready) {
|
||||
sFloor->dyna.actor.params = BONGOFLOOR_HIT;
|
||||
this->ready = true;
|
||||
func_800AA000(this->actor.xyzDistToPlayerSq, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 255, 20, 150);
|
||||
Audio_PlayActorSfx2(&sFloor->dyna.actor, NA_SE_EN_SHADEST_TAIKO_HIGH);
|
||||
} else if (GET_EVENTCHKINF(EVENTCHKINF_77)) {
|
||||
sHands[RIGHT]->actor.draw = BossSst_DrawHand;
|
||||
|
@ -1282,7 +1282,7 @@ void BossSst_HandDownbeat(BossSst* this, PlayState* play) {
|
|||
} else {
|
||||
BossSst_HandSetupDownbeatEnd(this);
|
||||
}
|
||||
func_800AA000(this->actor.xyzDistToPlayerSq, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 255, 20, 150);
|
||||
Audio_PlayActorSfx2(&this->actor, NA_SE_EN_SHADEST_TAIKO_HIGH);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1118,7 +1118,7 @@ void BossTw_ShootBeam(BossTw* this, PlayState* play) {
|
|||
this->groundBlastPos.y = 0.0f;
|
||||
this->groundBlastPos.z = 0.0f;
|
||||
play->envCtx.lightBlend = 1.0f;
|
||||
func_800AA000(0.0f, 0x64, 5, 4);
|
||||
Rumble_Request(0.0f, 100, 5, 4);
|
||||
} else if (beamReflection == 0) {
|
||||
BossTw_BeamHitPlayerCheck(this, play);
|
||||
|
||||
|
@ -4328,7 +4328,7 @@ s32 BossTw_BlastShieldCheck(BossTw* this, PlayState* play) {
|
|||
if (info->toucher.dmgFlags & DMG_SHIELD) {
|
||||
this->work[INVINC_TIMER] = 7;
|
||||
play->envCtx.lightBlend = 1.0f;
|
||||
func_800AA000(0.0f, 100, 5, 4);
|
||||
Rumble_Request(0.0f, 100, 5, 4);
|
||||
|
||||
if (Player_HasMirrorShieldEquipped(play)) {
|
||||
if (this->blastType == 1) {
|
||||
|
|
|
@ -32,7 +32,7 @@ void DemoGt_PlayExplosion2Sfx(PlayState* play, Vec3f* pos) {
|
|||
}
|
||||
|
||||
void DemoGt_Rumble(PlayState* play) {
|
||||
func_800AA000(0.0f, 0x32, 0xA, 5);
|
||||
Rumble_Request(0.0f, 50, 10, 5);
|
||||
}
|
||||
|
||||
void DemoGt_SpawnDust(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel, f32 scale, s16 scaleStep, s16 life) {
|
||||
|
|
|
@ -576,7 +576,7 @@ void func_809973E8(DoorShutter* this, PlayState* play) {
|
|||
Quake_SetSpeed(quakeId, -32536);
|
||||
Quake_SetQuakeValues(quakeId, 2, 0, 0, 0);
|
||||
Quake_SetCountdown(quakeId, 10);
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 0xB4, 0x14, 0x64);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 180, 20, 100);
|
||||
func_80997220(this, play);
|
||||
}
|
||||
}
|
||||
|
@ -769,7 +769,7 @@ void DoorShutter_Draw(Actor* thisx, PlayState* play) {
|
|||
void func_8099803C(PlayState* play, s16 y, s16 countdown, s16 camId) {
|
||||
s16 quakeId = Quake_Add(Play_GetCamera(play, camId), 3);
|
||||
|
||||
func_800A9F6C(0.0f, 180, 20, 100);
|
||||
Rumble_Override(0.0f, 180, 20, 100);
|
||||
Quake_SetSpeed(quakeId, 20000);
|
||||
Quake_SetQuakeValues(quakeId, y, 0, 0, 0);
|
||||
Quake_SetCountdown(quakeId, countdown);
|
||||
|
|
|
@ -435,7 +435,7 @@ void func_809BD8DC(EnBigokuta* this, PlayState* play) {
|
|||
EffectSsGSplash_Spawn(play, &effectPos, NULL, NULL, 1, 2000);
|
||||
Audio_PlayActorSfx2(&this->actor, NA_SE_EN_DAIOCTA_LAND_WATER);
|
||||
Audio_PlayActorSfx2(&this->actor, NA_SE_EN_GOLON_LAND_BIG);
|
||||
func_800AA000(0.0f, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(0.0f, 255, 20, 150);
|
||||
}
|
||||
} else if (this->unk_196 < -1) {
|
||||
this->actor.world.pos.y = this->actor.home.pos.y - (sinf((this->unk_196 + 1) * (M_PI / 10)) * 20.0f);
|
||||
|
|
|
@ -170,7 +170,7 @@ void EnBom_Explode(EnBom* this, PlayState* play) {
|
|||
|
||||
if (this->explosionCollider.elements[0].dim.modelSphere.radius == 0) {
|
||||
this->actor.flags |= ACTOR_FLAG_5;
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 255, 20, 150);
|
||||
}
|
||||
|
||||
this->explosionCollider.elements[0].dim.worldSphere.radius += this->actor.shape.rot.z + 8;
|
||||
|
|
|
@ -261,7 +261,7 @@ void EnBombf_Explode(EnBombf* this, PlayState* play) {
|
|||
|
||||
if (this->explosionCollider.elements[0].dim.modelSphere.radius == 0) {
|
||||
this->actor.flags |= ACTOR_FLAG_5;
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 255, 20, 150);
|
||||
}
|
||||
|
||||
this->explosionCollider.elements[0].dim.modelSphere.radius += 8;
|
||||
|
|
|
@ -496,7 +496,7 @@ void EnFhgFire_EnergyBall(EnFhgFire* this, PlayState* play) {
|
|||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_REFLECT_MG, &player->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
func_800AA000(this->actor.xyzDistToPlayerSq, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 255, 20, 150);
|
||||
} else {
|
||||
if (bossGnd->flyMode == GND_FLY_NEUTRAL) {
|
||||
angleModX = Rand_CenteredFloat(0x2000);
|
||||
|
@ -525,7 +525,7 @@ void EnFhgFire_EnergyBall(EnFhgFire* this, PlayState* play) {
|
|||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_REFLECT_MG, &player->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
func_800AA000(this->actor.xyzDistToPlayerSq, 0xB4, 0x14, 0x64);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 180, 20, 100);
|
||||
}
|
||||
} else if (sqrtf(SQ(dxL) + SQ(dyL) + SQ(dzL)) <= 25.0f) {
|
||||
killMode = BALL_BURST;
|
||||
|
|
|
@ -1312,7 +1312,7 @@ void EnHorse_MountedTrot(EnHorse* this, PlayState* play) {
|
|||
this->skin.skelAnime.playSpeed = this->actor.speedXZ * 0.375f;
|
||||
if (SkelAnime_Update(&this->skin.skelAnime)) {
|
||||
EnHorse_PlayTrottingSfx(this);
|
||||
func_800AA000(0.0f, 60, 8, 255);
|
||||
Rumble_Request(0.0f, 60, 8, 255);
|
||||
if (this->actor.speedXZ >= 6.0f) {
|
||||
EnHorse_StartGallopingInterruptable(this);
|
||||
} else if (this->actor.speedXZ < 3.0f) {
|
||||
|
@ -1380,7 +1380,7 @@ void EnHorse_MountedGallop(EnHorse* this, PlayState* play) {
|
|||
this->skin.skelAnime.playSpeed = this->actor.speedXZ * 0.3f;
|
||||
if (SkelAnime_Update(&this->skin.skelAnime)) {
|
||||
EnHorse_PlayGallopingSfx(this);
|
||||
func_800AA000(0, 120, 8, 255);
|
||||
Rumble_Request(0, 120, 8, 255);
|
||||
if (EnHorse_PlayerCanMove(this, play) == true) {
|
||||
if (stickMag >= 10.0f && Math_CosS(stickAngle) <= -0.5f) {
|
||||
EnHorse_StartBraking(this, play);
|
||||
|
@ -1404,7 +1404,7 @@ void EnHorse_StartRearing(EnHorse* this) {
|
|||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_21C, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
}
|
||||
func_800AA000(0.0f, 180, 20, 100);
|
||||
Rumble_Request(0.0f, 180, 20, 100);
|
||||
Animation_Change(&this->skin.skelAnime, sAnimationHeaders[this->type][this->animationIdx], 1.0f, 0.0f,
|
||||
Animation_GetLastFrame(sAnimationHeaders[this->type][this->animationIdx]), ANIMMODE_ONCE, -3.0f);
|
||||
}
|
||||
|
@ -1413,13 +1413,13 @@ void EnHorse_MountedRearing(EnHorse* this, PlayState* play) {
|
|||
f32 stickMag;
|
||||
s16 stickAngle;
|
||||
|
||||
this->actor.speedXZ = 0;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
if (this->curFrame > 25.0f) {
|
||||
if (!(this->stateFlags & ENHORSE_LAND2_SOUND)) {
|
||||
this->stateFlags |= ENHORSE_LAND2_SOUND;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_LAND2, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0, 180, 20, 100);
|
||||
Rumble_Request(0.0f, 180, 20, 100);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1476,7 +1476,7 @@ void EnHorse_Stopping(EnHorse* this, PlayState* play) {
|
|||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_21C, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
}
|
||||
func_800AA000(0.0f, 180, 20, 100);
|
||||
Rumble_Request(0.0f, 180, 20, 100);
|
||||
this->stateFlags &= ~ENHORSE_STOPPING_NEIGH_SOUND;
|
||||
} else {
|
||||
EnHorse_StartMountedIdleResetAnim(this);
|
||||
|
@ -1607,7 +1607,7 @@ void EnHorse_StartLowJump(EnHorse* this, PlayState* play) {
|
|||
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_JUMP, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 170, 10, 10);
|
||||
Rumble_Request(0.0f, 170, 10, 10);
|
||||
}
|
||||
|
||||
void EnHorse_Stub1(EnHorse* this) {
|
||||
|
@ -1642,7 +1642,7 @@ void EnHorse_LowJump(EnHorse* this, PlayState* play) {
|
|||
(curFrame > 17.0f && this->actor.world.pos.y < this->actor.floorHeight - this->actor.velocity.y + 80.0f)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_LAND, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 255, 10, 80);
|
||||
Rumble_Request(0.0f, 255, 10, 80);
|
||||
this->stateFlags &= ~ENHORSE_JUMPING;
|
||||
this->actor.gravity = -3.5f;
|
||||
this->actor.world.pos.y = this->actor.floorHeight;
|
||||
|
@ -1682,7 +1682,7 @@ void EnHorse_StartHighJump(EnHorse* this, PlayState* play) {
|
|||
this->stateFlags |= ENHORSE_CALC_RIDER_POS;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_JUMP, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 170, 10, 10);
|
||||
Rumble_Request(0.0f, 170, 10, 10);
|
||||
}
|
||||
|
||||
void EnHorse_Stub2(EnHorse* this) {
|
||||
|
@ -1718,7 +1718,7 @@ void EnHorse_HighJump(EnHorse* this, PlayState* play) {
|
|||
(curFrame > 23.0f && this->actor.world.pos.y < this->actor.floorHeight - this->actor.velocity.y + 80.0f)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_LAND, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 255, 10, 80);
|
||||
Rumble_Request(0.0f, 255, 10, 80);
|
||||
this->stateFlags &= ~ENHORSE_JUMPING;
|
||||
this->actor.gravity = -3.5f;
|
||||
this->actor.world.pos.y = this->actor.floorHeight;
|
||||
|
@ -2142,7 +2142,7 @@ void EnHorse_CsMoveToPoint(EnHorse* this, PlayState* play, CsCmdActorAction* act
|
|||
|
||||
if (SkelAnime_Update(&this->skin.skelAnime)) {
|
||||
EnHorse_PlayGallopingSfx(this);
|
||||
func_800AA000(0.0f, 120, 8, 255);
|
||||
Rumble_Request(0.0f, 120, 8, 255);
|
||||
Animation_PlayOnceSetSpeed(&this->skin.skelAnime, sAnimationHeaders[this->type][this->animationIdx],
|
||||
this->actor.speedXZ * 0.3f);
|
||||
}
|
||||
|
@ -2174,7 +2174,7 @@ void EnHorse_CsPlayHighJumpAnim(EnHorse* this, PlayState* play) {
|
|||
this->stateFlags |= ENHORSE_CALC_RIDER_POS;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_JUMP, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 170, 10, 10);
|
||||
Rumble_Request(0.0f, 170, 10, 10);
|
||||
}
|
||||
|
||||
void EnHorse_CsJumpInit(EnHorse* this, PlayState* play, CsCmdActorAction* action) {
|
||||
|
@ -2219,7 +2219,7 @@ void EnHorse_CsJump(EnHorse* this, PlayState* play, CsCmdActorAction* action) {
|
|||
this->cutsceneFlags |= 1;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_LAND, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 255, 10, 80);
|
||||
Rumble_Request(0.0f, 255, 10, 80);
|
||||
this->stateFlags &= ~ENHORSE_JUMPING;
|
||||
this->actor.gravity = -3.5f;
|
||||
this->actor.velocity.y = 0;
|
||||
|
@ -2303,7 +2303,7 @@ void EnHorse_CsWarpMoveToPoint(EnHorse* this, PlayState* play, CsCmdActorAction*
|
|||
|
||||
if (SkelAnime_Update(&this->skin.skelAnime)) {
|
||||
EnHorse_PlayGallopingSfx(this);
|
||||
func_800AA000(0.0f, 120, 8, 255);
|
||||
Rumble_Request(0.0f, 120, 8, 255);
|
||||
Animation_PlayOnceSetSpeed(&this->skin.skelAnime, sAnimationHeaders[this->type][this->animationIdx],
|
||||
this->actor.speedXZ * 0.3f);
|
||||
}
|
||||
|
@ -2487,12 +2487,12 @@ void EnHorse_UpdateHbaAnim(EnHorse* this) {
|
|||
animSpeed = this->actor.speedXZ * 0.25f;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_RUN, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 60, 8, 255);
|
||||
Rumble_Request(0.0f, 60, 8, 255);
|
||||
} else if (this->animationIdx == ENHORSE_ANIM_GALLOP) {
|
||||
animSpeed = this->actor.speedXZ * 0.2f;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_RUN, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 120, 8, 255);
|
||||
Rumble_Request(0.0f, 120, 8, 255);
|
||||
} else {
|
||||
animSpeed = 1.0f;
|
||||
}
|
||||
|
@ -2766,7 +2766,7 @@ void EnHorse_BridgeJumpInit(EnHorse* this, PlayState* play) {
|
|||
}
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_JUMP, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 170, 10, 10);
|
||||
Rumble_Request(0.0f, 170, 10, 10);
|
||||
this->postDrawFunc = NULL;
|
||||
}
|
||||
|
||||
|
@ -2816,7 +2816,7 @@ void EnHorse_CheckBridgeJumpLanding(EnHorse* this, PlayState* play) {
|
|||
EnHorse_JumpLanding(this, play);
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_HORSE_LAND, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
func_800AA000(0.0f, 255, 10, 80);
|
||||
Rumble_Request(0.0f, 255, 10, 80);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3321,7 +3321,7 @@ void EnHorse_CheckBoost(EnHorse* thisx, PlayState* play2) {
|
|||
if (!(this->stateFlags & ENHORSE_BOOST) && !(this->stateFlags & ENHORSE_FLAG_8) &&
|
||||
!(this->stateFlags & ENHORSE_FLAG_9)) {
|
||||
if (this->numBoosts > 0) {
|
||||
func_800AA000(0.0f, 180, 20, 100);
|
||||
Rumble_Request(0.0f, 180, 20, 100);
|
||||
this->stateFlags |= ENHORSE_BOOST;
|
||||
this->stateFlags |= ENHORSE_FIRST_BOOST_REGEN;
|
||||
this->stateFlags |= ENHORSE_FLAG_8;
|
||||
|
|
|
@ -428,7 +428,7 @@ void func_80A74EBC(EnIk* this, PlayState* play) {
|
|||
sp2C.y = this->actor.world.pos.y;
|
||||
Audio_PlayActorSfx2(&this->actor, NA_SE_EN_IRONNACK_HIT_GND);
|
||||
Camera_AddQuake(&play->mainCamera, 2, 0x19, 5);
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 255, 20, 150);
|
||||
CollisionCheck_SpawnShieldParticles(play, &sp2C);
|
||||
}
|
||||
|
||||
|
|
|
@ -436,7 +436,7 @@ void EnIshi_Fly(EnIshi* this, PlayState* play) {
|
|||
Quake_SetSpeed(quakeIdx, -0x3CB0);
|
||||
Quake_SetQuakeValues(quakeIdx, 3, 0, 0, 0);
|
||||
Quake_SetCountdown(quakeIdx, 7);
|
||||
func_800AA000(this->actor.xyzDistToPlayerSq, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 255, 20, 150);
|
||||
}
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
|
|
|
@ -173,7 +173,7 @@ void func_80A9F408(EnMThunder* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if (player->unk_858 >= 0.1f) {
|
||||
func_800AA000(0.0f, (s32)(player->unk_858 * 150.0f) & 0xFF, 2, (s32)(player->unk_858 * 150.0f) & 0xFF);
|
||||
Rumble_Request(0.0f, (s32)(player->unk_858 * 150.0f), 2, (s32)(player->unk_858 * 150.0f));
|
||||
}
|
||||
|
||||
if (player->stateFlags2 & PLAYER_STATE2_17) {
|
||||
|
|
|
@ -858,7 +858,7 @@ void EnMb_ClubAttack(EnMb* this, PlayState* play) {
|
|||
effSpawnPos = this->effSpawnPos;
|
||||
effSpawnPos.y = this->actor.floorHeight;
|
||||
Audio_PlayActorSfx2(&this->actor, NA_SE_EN_MONBLIN_HAM_LAND);
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 255, 20, 150);
|
||||
EffectSsBlast_SpawnWhiteShockwave(play, &effSpawnPos, &effWhiteShockwaveDynamics,
|
||||
&effWhiteShockwaveDynamics);
|
||||
func_80033480(play, &effSpawnPos, 2.0f, 3, 0x12C, 0xB4, 1);
|
||||
|
@ -1043,7 +1043,7 @@ void EnMb_ClubDamaged(EnMb* this, PlayState* play) {
|
|||
if (this->timer3 != 0) {
|
||||
Animation_PlayOnce(&this->skelAnime, &gEnMbClubStandUpAnim);
|
||||
this->timer3 = 0;
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 255, 20, 150);
|
||||
Camera_AddQuake(&play->mainCamera, 2, 25, 5);
|
||||
} else {
|
||||
EnMb_SetupClubWaitPlayerNear(this);
|
||||
|
@ -1102,7 +1102,7 @@ void EnMb_ClubDead(EnMb* this, PlayState* play) {
|
|||
Actor_Kill(&this->actor);
|
||||
}
|
||||
} else if ((s32)this->skelAnime.curFrame == 15 || (s32)this->skelAnime.curFrame == 22) {
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 255, 20, 150);
|
||||
Actor_SpawnFloorDustRing(play, &this->actor, &effPos, 50.0f, 10, 3.0f, 400, 60, false);
|
||||
Audio_PlayActorSfx2(&this->actor, NA_SE_EN_RIZA_DOWN);
|
||||
Camera_AddQuake(&play->mainCamera, 2, 25, 5);
|
||||
|
|
|
@ -363,7 +363,7 @@ void EnRd_WalkToPlayer(EnRd* this, PlayState* play) {
|
|||
player->actor.freezeTimer = 40;
|
||||
func_8008EEAC(play, &this->actor);
|
||||
GET_PLAYER(play)->unk_684 = &this->actor;
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 255, 20, 150);
|
||||
}
|
||||
|
||||
this->playerStunWaitTimer = 60;
|
||||
|
@ -525,7 +525,7 @@ void EnRd_Grab(EnRd* this, PlayState* play) {
|
|||
Animation_PlayLoop(&this->skelAnime, &gGibdoRedeadGrabAttackAnim);
|
||||
this->grabState++;
|
||||
play->damagePlayer(play, -8);
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 1, 0xC);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 255, 1, 12);
|
||||
this->grabDamageTimer = 20;
|
||||
FALLTHROUGH;
|
||||
case REDEAD_GRAB_START:
|
||||
|
@ -561,7 +561,7 @@ void EnRd_Grab(EnRd* this, PlayState* play) {
|
|||
this->grabDamageTimer--;
|
||||
if (this->grabDamageTimer == 0) {
|
||||
play->damagePlayer(play, -8);
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xF0, 1, 0xC);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 240, 1, 12);
|
||||
this->grabDamageTimer = 20;
|
||||
func_8002F7DC(&player->actor, NA_SE_VO_LI_DAMAGE_S + player->ageProperties->unk_92);
|
||||
}
|
||||
|
@ -603,7 +603,7 @@ void EnRd_AttemptPlayerFreeze(EnRd* this, PlayState* play) {
|
|||
if (ABS(yaw) < 0x2008) {
|
||||
if (!(this->rdFlags & 0x80)) {
|
||||
player->actor.freezeTimer = 60;
|
||||
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(this->actor.xzDistToPlayer, 255, 20, 150);
|
||||
func_8008EEAC(play, &this->actor);
|
||||
}
|
||||
|
||||
|
|
|
@ -622,7 +622,7 @@ void EnRr_Reach(EnRr* this, PlayState* play) {
|
|||
void EnRr_GrabPlayer(EnRr* this, PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
func_800AA000(this->actor.xyzDistToPlayerSq, 120, 2, 120);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 120, 2, 120);
|
||||
if ((this->frameCount % 8) == 0) {
|
||||
Audio_PlayActorSfx2(&this->actor, NA_SE_EN_LIKE_EAT);
|
||||
}
|
||||
|
|
|
@ -921,7 +921,7 @@ s32 EnZl4_CsLookWindow(EnZl4* this, PlayState* play) {
|
|||
play->csCtx.state = CS_STATE_UNSKIPPABLE_INIT;
|
||||
}
|
||||
} else {
|
||||
func_800AA000(0.0f, 0xA0, 0xA, 0x28);
|
||||
Rumble_Request(0.0f, 160, 10, 40);
|
||||
func_8002DF54(play, &this->actor, 1);
|
||||
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_30);
|
||||
EnZl4_SetActiveCamDir(play, 11);
|
||||
|
|
|
@ -3486,7 +3486,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) {
|
|||
}
|
||||
D_80B7E122 = phi_v0;
|
||||
D_80B7E0A4 = phi_v0;
|
||||
func_800A9F6C(0.0f, 60, phi_v0 * 3, 10);
|
||||
Rumble_Override(0.0f, 60, phi_v0 * 3, 10);
|
||||
} else {
|
||||
if (this->unk_1AC > 70.0f) {
|
||||
phi_v0 = (s16)Rand_ZeroFloat(5.0f) + 10;
|
||||
|
@ -3499,7 +3499,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) {
|
|||
}
|
||||
D_80B7E122 = phi_v0;
|
||||
D_80B7E0A4 = phi_v0;
|
||||
func_800A9F6C(0.0f, 180, phi_v0 * 3, 10);
|
||||
Rumble_Override(0.0f, 180, phi_v0 * 3, 10);
|
||||
}
|
||||
|
||||
D_80B7E124 = 0;
|
||||
|
@ -3541,11 +3541,11 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) {
|
|||
if (D_80B7E0B6 == 2) {
|
||||
D_80B7E122 = 30;
|
||||
D_80B7E0A4 = 100;
|
||||
func_800A9F6C(0.0f, 60, 90, 10);
|
||||
Rumble_Override(0.0f, 60, 90, 10);
|
||||
} else {
|
||||
D_80B7E122 = 30;
|
||||
D_80B7E0A4 = 40;
|
||||
func_800A9F6C(0.0f, 180, 90, 10);
|
||||
Rumble_Override(0.0f, 180, 90, 10);
|
||||
}
|
||||
|
||||
D_80B7E124 = 0;
|
||||
|
@ -3598,7 +3598,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) {
|
|||
spA4 = 255.0f;
|
||||
}
|
||||
|
||||
func_800A9F6C(0.0f, spA4, 120, 5);
|
||||
Rumble_Override(0.0f, spA4, 120, 5);
|
||||
D_80B7E0A4 = 40;
|
||||
D_80B7FDA8 = 10;
|
||||
func_80078884(NA_SE_IT_FISHING_HIT);
|
||||
|
@ -3629,7 +3629,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) {
|
|||
spA4 *= 3.0f / 4.0f;
|
||||
}
|
||||
|
||||
func_800A9F6C(0.0f, spA4, (s16)Rand_ZeroFloat(5.0f) + 10, 5);
|
||||
Rumble_Override(0.0f, spA4, (s16)Rand_ZeroFloat(5.0f) + 10, 5);
|
||||
}
|
||||
|
||||
if (this->unk_17A[1] > 30) {
|
||||
|
@ -3660,7 +3660,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) {
|
|||
} else {
|
||||
phi_a1 = 180;
|
||||
}
|
||||
func_800A9F6C(0.0f, phi_a1, 90, 2);
|
||||
Rumble_Override(0.0f, phi_a1, 90, 2);
|
||||
this->unk_17A[0] = 20;
|
||||
this->unk_17A[1] = 100;
|
||||
this->unk_17A[2] = 20;
|
||||
|
@ -3790,7 +3790,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) {
|
|||
}
|
||||
} else {
|
||||
D_80B7E086 = 0x4082;
|
||||
func_800A9F6C(0.0f, 1, 3, 1);
|
||||
Rumble_Override(0.0f, 1, 3, 1);
|
||||
Audio_QueueSeqCmd(0x1 << 28 | SEQ_PLAYER_BGM_MAIN << 24 | 0x0A00FF);
|
||||
}
|
||||
|
||||
|
@ -3813,7 +3813,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) {
|
|||
this->unk_158 = 6;
|
||||
this->unk_17A[0] = 100;
|
||||
player->unk_860 = 3;
|
||||
func_800A9F6C(0.0f, 1, 3, 1);
|
||||
Rumble_Override(0.0f, 1, 3, 1);
|
||||
D_80B7E084++;
|
||||
func_80064520(play, &play->csCtx);
|
||||
D_80B7A6CC = 100;
|
||||
|
@ -4761,7 +4761,7 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) {
|
|||
case 0:
|
||||
if (gSaveContext.rupees >= 20) {
|
||||
Rupees_ChangeBy(-20);
|
||||
if (func_800AA148() == 0) {
|
||||
if (!Rumble_Controller1HasRumblePak()) {
|
||||
this->actor.textId = 0x407C;
|
||||
} else {
|
||||
this->actor.textId = 0x407D;
|
||||
|
@ -5204,7 +5204,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
|
|||
(fabsf(player->actor.world.pos.z - sSinkingLureLocationPos[sSinkingLureLocation - 1].z) < 25.0f)) {
|
||||
sSinkingLureLocation = 0;
|
||||
D_80B7A6CC = 20;
|
||||
func_800A9F6C(0.0f, 150, 10, 10);
|
||||
Rumble_Override(0.0f, 150, 10, 10);
|
||||
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
Audio_QueueSeqCmd(0x1 << 28 | SEQ_PLAYER_BGM_MAIN << 24 | 0x1400FF);
|
||||
}
|
||||
|
@ -5213,7 +5213,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
|
|||
KREG(0) = 0;
|
||||
D_80B7E0B6 = 0;
|
||||
D_80B7A6CC = 20;
|
||||
func_800A9F6C(0.0f, 150, 10, 10);
|
||||
Rumble_Override(0.0f, 150, 10, 10);
|
||||
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
Audio_QueueSeqCmd(0x1 << 28 | SEQ_PLAYER_BGM_MAIN << 24 | 0x1400FF);
|
||||
}
|
||||
|
@ -5373,7 +5373,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
|
|||
sSubCamAt.z = mainCam->at.z;
|
||||
Message_StartTextbox(play, 0x409E, NULL);
|
||||
D_80B7A6CC = 11;
|
||||
func_800A9F6C(0.0f, 150, 10, 10);
|
||||
Rumble_Override(0.0f, 150, 10, 10);
|
||||
FALLTHROUGH;
|
||||
}
|
||||
|
||||
|
|
|
@ -426,7 +426,7 @@ void ObjSwitch_FloorPress(ObjSwitch* this, PlayState* play) {
|
|||
if (this->dyna.actor.scale.y <= 33.0f / 2000.0f) {
|
||||
ObjSwitch_FloorDownInit(this);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_FOOT_SWITCH);
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 120, 20, 10);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 120, 20, 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -484,7 +484,7 @@ void ObjSwitch_FloorRelease(ObjSwitch* this, PlayState* play) {
|
|||
ObjSwitch_FloorUpInit(this);
|
||||
Audio_PlayActorSfx2(&this->dyna.actor, NA_SE_EV_FOOT_SWITCH);
|
||||
if (subType == OBJSWITCH_SUBTYPE_TOGGLE) {
|
||||
func_800AA000(this->dyna.actor.xyzDistToPlayerSq, 120, 20, 10);
|
||||
Rumble_Request(this->dyna.actor.xyzDistToPlayerSq, 120, 20, 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,9 +58,9 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 damage;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u8 unk_02;
|
||||
/* 0x03 */ u8 unk_03;
|
||||
/* 0x01 */ u8 rumbleStrength;
|
||||
/* 0x02 */ u8 rumbleDuration;
|
||||
/* 0x03 */ u8 rumbleDecreaseRate;
|
||||
/* 0x04 */ u16 sfxId;
|
||||
} FallImpactInfo; // size = 0x06
|
||||
|
||||
|
@ -1467,9 +1467,9 @@ void func_80832630(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_8083264C(Player* this, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
void Player_RequestRumble(Player* this, s32 sourceStrength, s32 duration, s32 decreaseRate, s32 distSq) {
|
||||
if (this->actor.category == ACTORCAT_PLAYER) {
|
||||
func_800AA000(arg4, arg1, arg2, arg3);
|
||||
Rumble_Request(distSq, sourceStrength, duration, decreaseRate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2485,7 +2485,7 @@ s32 func_80834FBC(Player* this) {
|
|||
if (this->actor.child != NULL) {
|
||||
if (this->heldActor == NULL) {
|
||||
this->heldActor = this->actor.child;
|
||||
func_8083264C(this, 255, 10, 250, 0);
|
||||
Player_RequestRumble(this, 255, 10, 250, 0);
|
||||
func_8002F7DC(&this->actor, NA_SE_IT_HOOKSHOT_RECEIVE);
|
||||
}
|
||||
|
||||
|
@ -2528,9 +2528,9 @@ s32 func_808350A4(PlayState* play, Player* this) {
|
|||
play->shootingGalleryStatus = -10;
|
||||
}
|
||||
|
||||
func_8083264C(this, 150, 10, 150, 0);
|
||||
Player_RequestRumble(this, 150, 10, 150, 0);
|
||||
} else {
|
||||
func_8083264C(this, 255, 20, 150, 0);
|
||||
Player_RequestRumble(this, 255, 20, 150, 0);
|
||||
}
|
||||
|
||||
this->unk_A73 = 4;
|
||||
|
@ -3640,14 +3640,14 @@ void func_80837C0C(PlayState* play, Player* this, s32 arg2, f32 arg3, f32 arg4,
|
|||
sp2C = &gPlayerAnim_link_normal_ice_down;
|
||||
|
||||
func_80832224(this);
|
||||
func_8083264C(this, 255, 10, 40, 0);
|
||||
Player_RequestRumble(this, 255, 10, 40, 0);
|
||||
|
||||
func_8002F7DC(&this->actor, NA_SE_PL_FREEZE_S);
|
||||
func_80832698(this, NA_SE_VO_LI_FREEZE);
|
||||
} else if (arg2 == 4) {
|
||||
func_80835C58(play, this, func_8084FBF4, 0);
|
||||
|
||||
func_8083264C(this, 255, 80, 150, 0);
|
||||
Player_RequestRumble(this, 255, 80, 150, 0);
|
||||
|
||||
func_808322A4(play, this, &gPlayerAnim_link_normal_electric_shock);
|
||||
func_80832224(this);
|
||||
|
@ -3657,7 +3657,7 @@ void func_80837C0C(PlayState* play, Player* this, s32 arg2, f32 arg3, f32 arg4,
|
|||
arg5 -= this->actor.shape.rot.y;
|
||||
if (this->stateFlags1 & PLAYER_STATE1_27) {
|
||||
func_80835C58(play, this, func_8084E30C, 0);
|
||||
func_8083264C(this, 180, 20, 50, 0);
|
||||
Player_RequestRumble(this, 180, 20, 50, 0);
|
||||
|
||||
this->linearVelocity = 4.0f;
|
||||
this->actor.velocity.y = 0.0f;
|
||||
|
@ -3671,7 +3671,7 @@ void func_80837C0C(PlayState* play, Player* this, s32 arg2, f32 arg3, f32 arg4,
|
|||
|
||||
this->stateFlags3 |= PLAYER_STATE3_1;
|
||||
|
||||
func_8083264C(this, 255, 20, 150, 0);
|
||||
Player_RequestRumble(this, 255, 20, 150, 0);
|
||||
func_80832224(this);
|
||||
|
||||
if (arg2 == 2) {
|
||||
|
@ -3706,7 +3706,7 @@ void func_80837C0C(PlayState* play, Player* this, s32 arg2, f32 arg3, f32 arg4,
|
|||
} else {
|
||||
if ((this->linearVelocity > 4.0f) && !func_8008E9C4(this)) {
|
||||
this->unk_890 = 20;
|
||||
func_8083264C(this, 120, 20, 10, 0);
|
||||
Player_RequestRumble(this, 120, 20, 10, 0);
|
||||
func_80832698(this, NA_SE_VO_LI_DAMAGE_S);
|
||||
return;
|
||||
}
|
||||
|
@ -3717,9 +3717,9 @@ void func_80837C0C(PlayState* play, Player* this, s32 arg2, f32 arg3, f32 arg4,
|
|||
func_80833C3C(this);
|
||||
|
||||
if (this->actor.colChkInfo.damage < 5) {
|
||||
func_8083264C(this, 120, 20, 10, 0);
|
||||
Player_RequestRumble(this, 120, 20, 10, 0);
|
||||
} else {
|
||||
func_8083264C(this, 180, 20, 100, 0);
|
||||
Player_RequestRumble(this, 180, 20, 100, 0);
|
||||
this->linearVelocity = 23.0f;
|
||||
sp28 += 4;
|
||||
}
|
||||
|
@ -3867,7 +3867,7 @@ s32 func_808382DC(Player* this, PlayState* play) {
|
|||
if (sp64 || ((this->invincibilityTimer < 0) && (this->cylinder.base.acFlags & AC_HIT) &&
|
||||
(this->cylinder.info.atHit != NULL) && (this->cylinder.info.atHit->atFlags & 0x20000000))) {
|
||||
|
||||
func_8083264C(this, 180, 20, 100, 0);
|
||||
Player_RequestRumble(this, 180, 20, 100, 0);
|
||||
|
||||
if (!Player_IsChildWithHylianShield(this)) {
|
||||
if (this->invincibilityTimer >= 0) {
|
||||
|
@ -7704,7 +7704,7 @@ void func_808429B4(PlayState* play, s32 speed, s32 y, s32 countdown) {
|
|||
void func_80842A28(PlayState* play, Player* this) {
|
||||
func_808429B4(play, 27767, 7, 20);
|
||||
play->actorCtx.unk_02 = 4;
|
||||
func_8083264C(this, 255, 20, 150, 0);
|
||||
Player_RequestRumble(this, 255, 20, 150, 0);
|
||||
func_8002F7DC(&this->actor, NA_SE_IT_HAMMER_HIT);
|
||||
}
|
||||
|
||||
|
@ -7774,7 +7774,7 @@ void func_80842D20(PlayState* play, Player* this) {
|
|||
func_808322D0(play, this, D_808545CC[Player_HoldsTwoHandedWeapon(this) + sp28]);
|
||||
}
|
||||
|
||||
func_8083264C(this, 180, 20, 100, 0);
|
||||
Player_RequestRumble(this, 180, 20, 100, 0);
|
||||
this->linearVelocity = -18.0f;
|
||||
func_80842CF0(play, this);
|
||||
}
|
||||
|
@ -7834,7 +7834,7 @@ s32 func_80842DF4(PlayState* play, Player* this) {
|
|||
|
||||
func_80842CF0(play, this);
|
||||
this->linearVelocity = -14.0f;
|
||||
func_8083264C(this, 180, 20, 100, 0);
|
||||
Player_RequestRumble(this, 180, 20, 100, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8213,7 +8213,7 @@ s32 func_80843E64(PlayState* play, Player* this) {
|
|||
|
||||
func_80837AE0(this, 40);
|
||||
func_808429B4(play, 32967, 2, 30);
|
||||
func_8083264C(this, impactInfo->unk_01, impactInfo->unk_02, impactInfo->unk_03, 0);
|
||||
Player_RequestRumble(this, impactInfo->rumbleStrength, impactInfo->rumbleDuration, impactInfo->rumbleDecreaseRate, 0);
|
||||
func_8002F7DC(&this->actor, NA_SE_PL_BODY_HIT);
|
||||
func_80832698(this, impactInfo->sfxId);
|
||||
|
||||
|
@ -8227,7 +8227,7 @@ s32 func_80843E64(PlayState* play, Player* this) {
|
|||
sp34 = 255;
|
||||
}
|
||||
|
||||
func_8083264C(this, (u8)sp34, (u8)(sp34 * 0.1f), (u8)sp34, 0);
|
||||
Player_RequestRumble(this, (u8)sp34, (u8)(sp34 * 0.1f), (u8)sp34, 0);
|
||||
|
||||
if (D_808535E4 == FLOOR_TYPE_6) {
|
||||
func_80832698(this, NA_SE_VO_LI_CLIMB_END);
|
||||
|
@ -8418,7 +8418,7 @@ void func_80844708(Player* this, PlayState* play) {
|
|||
func_80832264(play, this, GET_PLAYER_ANIM(PLAYER_ANIMGROUP_17, this->modelAnimType));
|
||||
this->linearVelocity = -this->linearVelocity;
|
||||
func_808429B4(play, 33267, 3, 12);
|
||||
func_8083264C(this, 255, 20, 150, 0);
|
||||
Player_RequestRumble(this, 255, 20, 150, 0);
|
||||
func_8002F7DC(&this->actor, NA_SE_PL_BODY_HIT);
|
||||
func_80832698(this, NA_SE_VO_LI_CLIMB_END);
|
||||
this->unk_850 = 1;
|
||||
|
@ -10155,7 +10155,7 @@ void func_80848EF8(Player* this) {
|
|||
this->unk_6A0 += temp;
|
||||
if (this->unk_6A0 > 4000000.0f) {
|
||||
this->unk_6A0 = 0.0f;
|
||||
func_8083264C(this, 120, 20, 10, 0);
|
||||
Player_RequestRumble(this, 120, 20, 10, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -13277,7 +13277,7 @@ void func_80850AEC(Player* this, PlayState* play) {
|
|||
if ((this->skelAnime.animation != &gPlayerAnim_link_hook_fly_start) || (4.0f <= this->skelAnime.curFrame)) {
|
||||
this->actor.gravity = 0.0f;
|
||||
Math_ScaledStepToS(&this->actor.shape.rot.x, this->actor.world.rot.x, 0x800);
|
||||
func_8083264C(this, 100, 2, 100, 0);
|
||||
Player_RequestRumble(this, 100, 2, 100, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1320,7 +1320,7 @@ void FileSelect_ConfirmFile(GameState* thisx) {
|
|||
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_START) || (CHECK_BTN_ALL(input->press.button, BTN_A))) {
|
||||
if (this->confirmButtonIndex == FS_BTN_CONFIRM_YES) {
|
||||
func_800AA000(300.0f, 180, 20, 100);
|
||||
Rumble_Request(300.0f, 180, 20, 100);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_FSEL_DECIDE_L, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
this->selectMode = SM_FADE_OUT;
|
||||
|
|
|
@ -384,7 +384,7 @@ void FileSelect_CopyConfirm(GameState* thisx) {
|
|||
this->nextTitleLabel = FS_TITLE_COPY_COMPLETE;
|
||||
this->actionTimer = 8;
|
||||
this->configMode = CM_COPY_ANIM_1;
|
||||
func_800AA000(300.0f, 0xB4, 0x14, 0x64);
|
||||
Rumble_Request(300.0f, 180, 20, 100);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_FSEL_DECIDE_L, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
} else if (ABS(this->stickAdjY) >= 30) {
|
||||
|
@ -850,7 +850,7 @@ void FileSelect_EraseConfirm(GameState* thisx) {
|
|||
this->actionTimer = 8;
|
||||
this->configMode = CM_ERASE_ANIM_1;
|
||||
this->nextTitleLabel = FS_TITLE_ERASE_COMPLETE;
|
||||
func_800AA000(200.0f, 0xFF, 0x14, 0x96);
|
||||
Rumble_Request(200.0f, 255, 20, 150);
|
||||
sEraseDelayTimer = 15;
|
||||
} else if (ABS(this->stickAdjY) >= 30) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_FSEL_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
|
|
|
@ -446,7 +446,7 @@ void FileSelect_DrawNameEntry(GameState* thisx) {
|
|||
this->configMode = CM_NAME_ENTRY_TO_MAIN;
|
||||
this->nameBoxAlpha[this->buttonIndex] = this->nameAlpha[this->buttonIndex] = 200;
|
||||
this->connectorAlpha[this->buttonIndex] = 255;
|
||||
func_800AA000(300.0f, 0xB4, 0x14, 0x64);
|
||||
Rumble_Request(300.0f, 180, 20, 100);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_FSEL_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue