diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_anim_effects_2.c | 14 | ||||
-rw-r--r-- | src/berry_crush.c | 46 | ||||
-rw-r--r-- | src/math_util.c | 18 | ||||
-rw-r--r-- | src/oak_speech.c | 4 |
4 files changed, 41 insertions, 41 deletions
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index b2342a0c9..e24434a0e 100644 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -1532,7 +1532,7 @@ void AnimAirWaveProjectile(struct Sprite *sprite) { sprite->data[0] = 8; task->data[5] = 4; - a = invfx16(0x1000); + a = Q_8_8_inv(0x1000); sprite->pos1.x += sprite->pos2.x; sprite->pos1.y += sprite->pos2.y; sprite->pos2.y = 0; @@ -1551,8 +1551,8 @@ void AnimAirWaveProjectile(struct Sprite *sprite) sprite->data[1] = 0; sprite->data[6] = 0; sprite->data[5] = 0; - sprite->data[3] = mulfx16(mulfx16(b, a), invfx16(0x1C0)); - sprite->data[4] = mulfx16(mulfx16(c, a), invfx16(0x1C0)); + sprite->data[3] = Q_8_8_mul(Q_8_8_mul(b, a), Q_8_8_inv(0x1C0)); + sprite->data[4] = Q_8_8_mul(Q_8_8_mul(c, a), Q_8_8_inv(0x1C0)); sprite->callback = AnimAirWaveProjectile_Step1; } } @@ -1643,18 +1643,18 @@ void AnimTask_AirCutterProjectile(u8 taskId) else xDiff = attackerX - targetX; - gTasks[taskId].data[5] = mulfx16(xDiff, invfx16(gBattleAnimArgs[2] & ~1)); - gTasks[taskId].data[6] = mulfx16(gTasks[taskId].data[5], 0x80); + gTasks[taskId].data[5] = Q_8_8_mul(xDiff, Q_8_8_inv(gBattleAnimArgs[2] & ~1)); + gTasks[taskId].data[6] = Q_8_8_mul(gTasks[taskId].data[5], 0x80); gTasks[taskId].data[7] = gBattleAnimArgs[2]; if (targetY >= attackerY) { yDiff = targetY - attackerY; - gTasks[taskId].data[8] = mulfx16(yDiff, invfx16(gTasks[taskId].data[5])) & ~1; + gTasks[taskId].data[8] = Q_8_8_mul(yDiff, Q_8_8_inv(gTasks[taskId].data[5])) & ~1; } else { yDiff = attackerY - targetY; - gTasks[taskId].data[8] = mulfx16(yDiff, invfx16(gTasks[taskId].data[5])) | 1; + gTasks[taskId].data[8] = Q_8_8_mul(yDiff, Q_8_8_inv(gTasks[taskId].data[5])) | 1; } gTasks[taskId].data[3] = gBattleAnimArgs[3]; diff --git a/src/berry_crush.c b/src/berry_crush.c index f291892fe..f2c54297b 100644 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -1052,10 +1052,10 @@ static void SaveResults(void) time = sGame->results.time; time = Q_24_8(time); - time = divfx32(time, Q_24_8(60)); + time = Q_24_8_div(time, Q_24_8(60)); presses = sGame->results.totalAPresses; presses = Q_24_8(presses); - presses = divfx32(presses, time) & 0xFFFF; + presses = Q_24_8_div(presses, time) & 0xFFFF; sGame->pressingSpeed = presses; switch (sGame->playerCount) @@ -1402,7 +1402,7 @@ static u32 Cmd_WaitForOthersToPickBerries(struct BerryCrushGame * game, u8 *args } game->cmdTimer = 0; ResetBlockReceivedFlags(); - game->targetDepth = divfx32(Q_24_8(game->targetAPresses), Q_24_8(32)); + game->targetDepth = Q_24_8_div(Q_24_8(game->targetAPresses), Q_24_8(32)); break; case 5: ClearDialogWindowAndFrame(0, TRUE); @@ -1630,7 +1630,7 @@ static void HandlePartnerInput(struct BerryCrushGame * game) { temp = game->totalAPresses; temp = Q_24_8(temp); - temp = divfx32(temp, game->targetDepth); + temp = Q_24_8_div(temp, game->targetDepth); temp = Q_24_8_TO_INT(temp); game->newDepth = (u8)temp; return; @@ -2030,16 +2030,16 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame * game, UNUSED u8 *args) // Silkiness is the percentage of times big sparkles were produced when possible, // which itself depends on the number of A presses every 30 frames // (numBigSparkles * 50 / numBigSparkleChecks) + 50 - temp1 = mulfx32(Q_24_8(game->numBigSparkles), Q_24_8(50)); - temp1 = divfx32(temp1, Q_24_8(game->numBigSparkleChecks)) + Q_24_8(50); + temp1 = Q_24_8_mul(Q_24_8(game->numBigSparkles), Q_24_8(50)); + temp1 = Q_24_8_div(temp1, Q_24_8(game->numBigSparkleChecks)) + Q_24_8(50); temp1 = Q_24_8_TO_INT(temp1); game->results.silkiness = temp1 & 0x7F; // Calculate amount of powder temp1 = Q_24_8(temp1); - temp1 = divfx32(temp1, Q_24_8(100)); + temp1 = Q_24_8_div(temp1, Q_24_8(100)); temp2 = Q_24_8(game->powder * game->playerCount); - temp2 = mulfx32(temp2, temp1); + temp2 = Q_24_8_mul(temp2, temp1); game->results.powder = Q_24_8_TO_INT(temp2); // Choose random second results page @@ -2061,10 +2061,10 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame * game, UNUSED u8 *args) // "Neat" inputs are those done at a regular interval temp1 = game->players[i].maxNeatInputStreak; temp1 = Q_24_8(temp1); - temp1 = mulfx32(temp1, Q_24_8(100)); + temp1 = Q_24_8_mul(temp1, Q_24_8(100)); temp2 = game->players[i].numAPresses; temp2 = Q_24_8(temp2); - temp2 = divfx32(temp1, temp2); + temp2 = Q_24_8_div(temp1, temp2); } else { @@ -2078,10 +2078,10 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame * game, UNUSED u8 *args) // done at the same time as another player temp1 = game->players[i].numSyncedAPresses; temp1 = Q_24_8(temp1); - temp1 = mulfx32(temp1, Q_24_8(100)); + temp1 = Q_24_8_mul(temp1, Q_24_8(100)); temp2 = game->players[i].numAPresses; temp2 = Q_24_8(temp2); - temp2 = divfx32(temp1, temp2); + temp2 = Q_24_8_div(temp1, temp2); } else { @@ -2104,10 +2104,10 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame * game, UNUSED u8 *args) // player spent pressing A temp1 = game->players[i].timePressingA; temp1 = Q_24_8(temp1); - temp1 = mulfx32(temp1, Q_24_8(100)); + temp1 = Q_24_8_mul(temp1, Q_24_8(100)); temp2 = game->timer; temp2 = Q_24_8(temp2); - temp2 = divfx32(temp1, temp2); + temp2 = Q_24_8_div(temp1, temp2); } break; } @@ -2716,12 +2716,12 @@ static void CreateBerrySprites(struct BerryCrushGame * game, struct BerryCrushGa distance = Q_N_S(7, distance); var2 = speed + Q_8_8(0.125); var2 = var2 / 2; // go from Q8.8 to Q9.7 - var1 = divfxn16(7, Q_N_S(7, 127), var2); + var1 = Q_N_S_div(7, Q_N_S(7, 127), var2); sX = Q_N_S(7, (u16)spritesManager->berrySprites[i]->pos1.x); - sXSpeed = divfxn16(7, distance, var1); - var1 = mulfxn16(7, var1, Q_N_S(7, 0.666666667)); + sXSpeed = Q_N_S_div(7, distance, var1); + var1 = Q_N_S_mul(7, var1, Q_N_S(7, 0.666666667)); sSinIdx = 0; - sSinSpeed = divfxn16(7, Q_N_S(7, 127), var1); + sSinSpeed = Q_N_S_div(7, Q_N_S(7, 127), var1); sBitfield |= F_MOVE_HORIZ; if (spritesManager->playerCoords[i]->berryXOffset < 0) StartSpriteAffineAnim(spritesManager->berrySprites[i], 1); @@ -2883,7 +2883,7 @@ static void FramesToMinSec(struct BerryCrushGame_Gfx * gfx, u16 frames) gfx->minutes = frames / 3600; gfx->secondsInt = (frames % 3600) / 60; - frac_secs = mulfx16(Q_8_8(frames % 60), Q_8_8(0.016666667)); + frac_secs = Q_8_8_mul(Q_8_8(frames % 60), Q_8_8(0.016666667)); for (i = 0; i < 8; i++) { @@ -3461,12 +3461,12 @@ static void SpriteCB_Sparkle_Init(struct Sprite * sprite) targetY = 168; sBitfield = targetY; xMult = Q_N_S(7, sprite->pos2.x); - var = divfxn16(7, Q_N_S(7, targetY - (u16)sprite->pos1.y), (speed + Q_8_8(0.125)) >> 1); + var = Q_N_S_div(7, Q_N_S(7, targetY - (u16) sprite->pos1.y), (speed + Q_8_8(0.125)) >> 1); sprite->sX = Q_N_S(7, (u16)sprite->pos1.x); - sXSpeed = divfxn16(7, xMult, var); - speed = mulfxn16(7, var, Q_N_S(7, 0.666666667)); + sXSpeed = Q_N_S_div(7, xMult, var); + speed = Q_N_S_mul(7, var, Q_N_S(7, 0.666666667)); sSinIdx = zero; - sSinSpeed = divfxn16(7, Q_N_S(7, 127), speed); + sSinSpeed = Q_N_S_div(7, Q_N_S(7, 127), speed); sAmplitude = sprite->pos2.x / 4; sBitfield |= F_MOVE_HORIZ; sprite->pos2.y = zero; diff --git a/src/math_util.c b/src/math_util.c index e13c36ea6..eff2fd7c0 100644 --- a/src/math_util.c +++ b/src/math_util.c @@ -1,7 +1,7 @@ #include "global.h" #include "math_util.h" -fx16 mulfx16(fx16 x, fx16 y) +fx16 Q_8_8_mul(fx16 x, fx16 y) { s32 result; @@ -11,7 +11,7 @@ fx16 mulfx16(fx16 x, fx16 y) return result; } -fxn16 mulfxn16(u8 s, fxn16 x, fxn16 y) +fxn16 Q_N_S_mul(u8 s, fxn16 x, fxn16 y) { s32 result; @@ -21,7 +21,7 @@ fxn16 mulfxn16(u8 s, fxn16 x, fxn16 y) return result; } -fx32 mulfx32(fx32 x, fx32 y) +fx32 Q_24_8_mul(fx32 x, fx32 y) { s64 result; @@ -31,7 +31,7 @@ fx32 mulfx32(fx32 x, fx32 y) return result; } -fx16 divfx16(fx16 x, fx16 y) +fx16 Q_8_8_div(fx16 x, fx16 y) { if (y == 0) { @@ -40,7 +40,7 @@ fx16 divfx16(fx16 x, fx16 y) return (x << 8) / y; } -fxn16 divfxn16(u8 s, fxn16 x, fxn16 y) +fxn16 Q_N_S_div(u8 s, fxn16 x, fxn16 y) { if (y == 0) { @@ -49,7 +49,7 @@ fxn16 divfxn16(u8 s, fxn16 x, fxn16 y) return (x << s) / y; } -fx32 divfx32(fx32 x, fx32 y) +fx32 Q_24_8_div(fx32 x, fx32 y) { s64 _x; @@ -62,7 +62,7 @@ fx32 divfx32(fx32 x, fx32 y) return _x / y; } -fx16 invfx16(fx16 y) +fx16 Q_8_8_inv(fx16 y) { s32 x; @@ -70,7 +70,7 @@ fx16 invfx16(fx16 y) return x / y; } -fxn16 invfxn16(u8 s, fxn16 y) +fxn16 Q_N_S_inv(u8 s, fxn16 y) { s32 x; @@ -78,7 +78,7 @@ fxn16 invfxn16(u8 s, fxn16 y) return x / y; } -fx32 invfx32(fx32 y) +fx32 Q_24_8_inv(fx32 y) { s64 x; diff --git a/src/oak_speech.c b/src/oak_speech.c index 63cb35806..3779090a3 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -1418,8 +1418,8 @@ static void Task_OakSpeech39(u8 taskId) PlaySE(SE_WARP_IN); r0 = data[2]; data[2] -= 32; - x = invfx16(r0 - 8); - y = invfx16(data[2] - 16); + x = Q_8_8_inv(r0 - 8); + y = Q_8_8_inv(data[2] - 16); SetBgAffine(2, 0x7800, 0x5400, 0x78, 0x54, x, y, 0); if (data[2] <= 96) { |