Simplify weirdly matching division/substraction code

This commit is contained in:
DizzyEggg
2024-03-08 16:19:04 +01:00
parent 82c3e4af14
commit 9e67594dce
6 changed files with 14 additions and 38 deletions
Executable → Regular
+2 -11
View File
@@ -3673,7 +3673,6 @@ static void AnimTask_UproarDistortion_Step(u8 taskId)
static void AnimJaggedMusicNote(struct Sprite *sprite) static void AnimJaggedMusicNote(struct Sprite *sprite)
{ {
int var1;
u8 battler = !gBattleAnimArgs[0] ? gBattleAnimAttacker : gBattleAnimTarget; u8 battler = !gBattleAnimArgs[0] ? gBattleAnimAttacker : gBattleAnimTarget;
if (GetBattlerSide(battler) == B_SIDE_OPPONENT) if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
@@ -3684,16 +3683,8 @@ static void AnimJaggedMusicNote(struct Sprite *sprite)
sprite->data[0] = 0; sprite->data[0] = 0;
sprite->data[1] = (u16)sprite->x << 3; sprite->data[1] = (u16)sprite->x << 3;
sprite->data[2] = (u16)sprite->y << 3; sprite->data[2] = (u16)sprite->y << 3;
sprite->data[3] = (gBattleAnimArgs[1] << 3) / 8;
var1 = gBattleAnimArgs[1] << 3; sprite->data[4] = (gBattleAnimArgs[2] << 3) / 8;
if (var1 < 0)
var1 += 7;
sprite->data[3] = var1 >> 3;
var1 = gBattleAnimArgs[2] << 3;
if (var1 < 0)
var1 += 7;
sprite->data[4] = var1 >> 3;
sprite->oam.tileNum += gBattleAnimArgs[3] * 16; sprite->oam.tileNum += gBattleAnimArgs[3] * 16;
sprite->callback = AnimJaggedMusicNote_Step; sprite->callback = AnimJaggedMusicNote_Step;
+1 -1
View File
@@ -493,7 +493,7 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite)
y *= -1; y *= -1;
if (GET_BATTLER_SIDE2(battler) == B_SIDE_PLAYER) if (GET_BATTLER_SIDE2(battler) == B_SIDE_PLAYER)
y += 0xFFF0; y -= 16;
sprite->x += x; sprite->x += x;
sprite->y += y; sprite->y += y;
+1 -8
View File
@@ -558,7 +558,6 @@ void AnimTask_Rollout(u8 taskId)
{ {
u16 var0, var1, var2, var3; u16 var0, var1, var2, var3;
u8 rolloutCounter; u8 rolloutCounter;
int var5;
s16 pan1, pan2; s16 pan1, pan2;
struct Task *task; struct Task *task;
@@ -582,13 +581,7 @@ void AnimTask_Rollout(u8 taskId)
task->data[11] = 0; task->data[11] = 0;
task->data[9] = 0; task->data[9] = 0;
task->data[12] = 1; task->data[12] = 1;
task->data[10] = (task->data[8] / 8) - 1;
var5 = task->data[8];
if (var5 < 0)
var5 += 7;
task->data[10] = (var5 >> 3) - 1;
task->data[2] = var0 * 8; task->data[2] = var0 * 8;
task->data[3] = var1 * 8; task->data[3] = var1 * 8;
task->data[4] = ((var2 - var0) * 8) / task->data[8]; task->data[4] = ((var2 - var0) * 8) / task->data[8];
+2 -2
View File
@@ -196,12 +196,12 @@ static void BattleIntroSlide1(u8 taskId)
{ {
if (gTasks[taskId].tTerrain == BATTLE_TERRAIN_LONG_GRASS) if (gTasks[taskId].tTerrain == BATTLE_TERRAIN_LONG_GRASS)
{ {
if (gBattle_BG1_Y != 0xFFB0) if (gBattle_BG1_Y != (u16)(-80))
gBattle_BG1_Y -= 2; gBattle_BG1_Y -= 2;
} }
else else
{ {
if (gBattle_BG1_Y != 0xFFC8) if (gBattle_BG1_Y != (u16)(-56))
gBattle_BG1_Y -= 1; gBattle_BG1_Y -= 1;
} }
} }
+1 -4
View File
@@ -76,10 +76,7 @@ int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu)
} }
finalWidth = maxWidth + listMenu->item_X + 9; finalWidth = maxWidth + listMenu->item_X + 9;
if (finalWidth < 0) finalWidth /= 8;
finalWidth += 7;
finalWidth >>= 3;
if (finalWidth > 28) if (finalWidth > 28)
finalWidth = 28; finalWidth = 28;
+7 -12
View File
@@ -4969,29 +4969,24 @@ static void ShrinkGrowVibrate(struct Sprite *sprite)
} }
else else
{ {
u8 posY_unsigned; s8 sinY;
s8 posY_signed; u16 y;
s32 posY; s16 index = ((u16)(sprite->data[2] % sprite->data[6] * 256) / sprite->data[6]) % 256;
s16 index = (u16)(sprite->data[2] % sprite->data[6] * 256) / sprite->data[6] % 256;
if (sprite->data[2] % 2 == 0) if (sprite->data[2] % 2 == 0)
{ {
sprite->data[4] = Sin(index, 32) + 256; sprite->data[4] = Sin(index, 32) + 256;
sprite->data[5] = Sin(index, 32) + 256; sprite->data[5] = Sin(index, 32) + 256;
posY_unsigned = Sin(index, 32); sinY = Sin(index, 32);
posY_signed = posY_unsigned;
} }
else else
{ {
sprite->data[4] = Sin(index, 8) + 256; sprite->data[4] = Sin(index, 8) + 256;
sprite->data[5] = Sin(index, 8) + 256; sprite->data[5] = Sin(index, 8) + 256;
posY_unsigned = Sin(index, 8); sinY = Sin(index, 8);
posY_signed = posY_unsigned;
} }
posY = posY_signed; y = sinY / 8;
if (posY < 0) sprite->y2 = y;
posY += 7;
sprite->y2 = (u32)(posY) >> 3;
HandleSetAffineData(sprite, sprite->data[4], sprite->data[5], 0); HandleSetAffineData(sprite, sprite->data[4], sprite->data[5], 0);
} }