port moar fixes and documentation
This commit is contained in:
@@ -525,7 +525,7 @@ void GetIsDoomDesireHitTurn(u8 taskId);
|
|||||||
|
|
||||||
// flying.c
|
// flying.c
|
||||||
void AnimTask_AnimateGustTornadoPalette(u8 taskId);
|
void AnimTask_AnimateGustTornadoPalette(u8 taskId);
|
||||||
void sub_80B1D3C(struct Sprite *sprite);
|
void DestroyAnimSpriteAfterTimer(struct Sprite *sprite);
|
||||||
void AnimTask_DrillPeckHitSplats(u8 taskId);
|
void AnimTask_DrillPeckHitSplats(u8 taskId);
|
||||||
|
|
||||||
// poison.c
|
// poison.c
|
||||||
|
|||||||
@@ -3464,7 +3464,7 @@ void AnimSmokeBallEscapeCloud(struct Sprite *sprite)
|
|||||||
|
|
||||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||||
sprite->callback = sub_80B1D3C;
|
sprite->callback = DestroyAnimSpriteAfterTimer;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80E1990(u8 taskId)
|
static void sub_80E1990(u8 taskId)
|
||||||
|
|||||||
@@ -675,7 +675,7 @@ static void sub_81543C4(u8 spriteId)
|
|||||||
#define sKeepPosX data[1]
|
#define sKeepPosX data[1]
|
||||||
#else
|
#else
|
||||||
#define sKeepPosX data[10]
|
#define sKeepPosX data[10]
|
||||||
#endif // NONMATCHING
|
#endif // BUGFIX
|
||||||
|
|
||||||
static void sub_81543E8(struct Sprite * sprite)
|
static void sub_81543E8(struct Sprite * sprite)
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -552,7 +552,7 @@ static void sub_80ADD4C(struct Sprite *sprite)
|
|||||||
gOamMatrices[matrixNum].b = sineVal;
|
gOamMatrices[matrixNum].b = sineVal;
|
||||||
gOamMatrices[matrixNum].c = -sineVal;
|
gOamMatrices[matrixNum].c = -sineVal;
|
||||||
sprite->data[0] = gBattleAnimArgs[3];
|
sprite->data[0] = gBattleAnimArgs[3];
|
||||||
sprite->callback = sub_80B1D3C;
|
sprite->callback = DestroyAnimSpriteAfterTimer;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimZapCannonSpark(struct Sprite *sprite)
|
static void AnimZapCannonSpark(struct Sprite *sprite)
|
||||||
|
|||||||
+20
-19
@@ -26,7 +26,7 @@ static void sub_80B198C(u8 taskId);
|
|||||||
static void sub_80B1A9C(struct Sprite *sprite);
|
static void sub_80B1A9C(struct Sprite *sprite);
|
||||||
static void sub_80B1BF8(struct Sprite *sprite);
|
static void sub_80B1BF8(struct Sprite *sprite);
|
||||||
static void sub_80B1CC0(struct Sprite *sprite);
|
static void sub_80B1CC0(struct Sprite *sprite);
|
||||||
static void sub_80B1F94(struct Sprite *sprite);
|
static void AnimFallingFeather_Step(struct Sprite *sprite);
|
||||||
static void sub_80B268C(struct Sprite *sprite);
|
static void sub_80B268C(struct Sprite *sprite);
|
||||||
static void sub_80B2820(struct Sprite *sprite);
|
static void sub_80B2820(struct Sprite *sprite);
|
||||||
static void sub_80B2A50(struct Sprite *sprite);
|
static void sub_80B2A50(struct Sprite *sprite);
|
||||||
@@ -532,7 +532,7 @@ static void sub_80B1CC0(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80B1D3C(struct Sprite *sprite)
|
void DestroyAnimSpriteAfterTimer(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[0]-- <= 0)
|
if (sprite->data[0]-- <= 0)
|
||||||
{
|
{
|
||||||
@@ -631,15 +631,14 @@ static void AnimFallingFeather(struct Sprite *sprite)
|
|||||||
gOamMatrices[matrixNum].b = sinVal;
|
gOamMatrices[matrixNum].b = sinVal;
|
||||||
gOamMatrices[matrixNum].c = -sinVal;
|
gOamMatrices[matrixNum].c = -sinVal;
|
||||||
}
|
}
|
||||||
sprite->callback = sub_80B1F94;
|
sprite->callback = AnimFallingFeather_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80B1F94(struct Sprite *sprite)
|
static void AnimFallingFeather_Step(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
u8 matrixNum, sinIndex;
|
u8 matrixNum, sinIndex;
|
||||||
s16 sinVal = 0;
|
s16 sinVal = 0;
|
||||||
struct FeatherDanceData *data = (struct FeatherDanceData *)sprite->data;
|
struct FeatherDanceData *data = (struct FeatherDanceData *)sprite->data;
|
||||||
|
|
||||||
if (data->unk0_0a)
|
if (data->unk0_0a)
|
||||||
{
|
{
|
||||||
if (data->unk1-- % 256 == 0)
|
if (data->unk1-- % 256 == 0)
|
||||||
@@ -653,13 +652,13 @@ static void sub_80B1F94(struct Sprite *sprite)
|
|||||||
switch (data->unk2 / 64)
|
switch (data->unk2 / 64)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
if (data->unk0_1 << 24 >> 24 == 1) // the shifts have to be here
|
if ((u8)data->unk0_1 == 1) //casts to u8 here are necessary for matching
|
||||||
{
|
{
|
||||||
data->unk0_0d = 1;
|
data->unk0_0d = 1;
|
||||||
data->unk0_0a = 1;
|
data->unk0_0a = 1;
|
||||||
data->unk1 = 0;
|
data->unk1 = 0;
|
||||||
}
|
}
|
||||||
else if (data->unk0_1 << 24 >> 24 == 3)
|
else if ((u8)data->unk0_1 == 3)
|
||||||
{
|
{
|
||||||
data->unk0_0b ^= 1;
|
data->unk0_0b ^= 1;
|
||||||
data->unk0_0a = 1;
|
data->unk0_0a = 1;
|
||||||
@@ -706,13 +705,13 @@ static void sub_80B1F94(struct Sprite *sprite)
|
|||||||
data->unk0_1 = 0;
|
data->unk0_1 = 0;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if (data->unk0_1 << 24 >> 24 == 0)
|
if ((u8)data->unk0_1 == 0)
|
||||||
{
|
{
|
||||||
data->unk0_0d = 1;
|
data->unk0_0d = 1;
|
||||||
data->unk0_0a = 1;
|
data->unk0_0a = 1;
|
||||||
data->unk1 = 0;
|
data->unk1 = 0;
|
||||||
}
|
}
|
||||||
else if (data->unk0_1 << 24 >> 24 == 2)
|
else if ((u8)data->unk0_1 == 2)
|
||||||
{
|
{
|
||||||
data->unk0_0a = 1;
|
data->unk0_0a = 1;
|
||||||
data->unk1 = 0;
|
data->unk1 = 0;
|
||||||
@@ -757,13 +756,13 @@ static void sub_80B1F94(struct Sprite *sprite)
|
|||||||
data->unk0_1 = 1;
|
data->unk0_1 = 1;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (data->unk0_1 << 24 >> 24 == 3)
|
if ((u8)data->unk0_1 == 3)
|
||||||
{
|
{
|
||||||
data->unk0_0d = 1;
|
data->unk0_0d = 1;
|
||||||
data->unk0_0a = 1;
|
data->unk0_0a = 1;
|
||||||
data->unk1 = 0;
|
data->unk1 = 0;
|
||||||
}
|
}
|
||||||
else if (data->unk0_1 << 24 >> 24 == 1)
|
else if ((u8)data->unk0_1 == 1)
|
||||||
{
|
{
|
||||||
data->unk0_0a = 1;
|
data->unk0_0a = 1;
|
||||||
data->unk1 = 0;
|
data->unk1 = 0;
|
||||||
@@ -808,11 +807,11 @@ static void sub_80B1F94(struct Sprite *sprite)
|
|||||||
data->unk0_1 = 2;
|
data->unk0_1 = 2;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (data->unk0_1 << 24 >> 24 == 2)
|
if ((u8)data->unk0_1 == 2)
|
||||||
{
|
{
|
||||||
data->unk0_0d = 1;
|
data->unk0_0d = 1;
|
||||||
}
|
}
|
||||||
else if (data->unk0_1 << 24 >> 24 == 0)
|
else if ((u8)data->unk0_1 == 0)
|
||||||
{
|
{
|
||||||
data->unk0_0b ^= 1;
|
data->unk0_0b ^= 1;
|
||||||
data->unk0_0a = 1;
|
data->unk0_0a = 1;
|
||||||
@@ -858,26 +857,28 @@ static void sub_80B1F94(struct Sprite *sprite)
|
|||||||
data->unk0_1 = 3;
|
data->unk0_1 = 3;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#ifndef NONMATCHING
|
|
||||||
asm("":::"r8");
|
sprite->pos2.x = ((s32)data->unkC[data->unk0_0b] * gSineTable[data->unk2]) >> 8;
|
||||||
#endif
|
|
||||||
sprite->pos2.x = (data->unkC[data->unk0_0b] * gSineTable[data->unk2]) >> 8;
|
|
||||||
matrixNum = sprite->oam.matrixNum;
|
matrixNum = sprite->oam.matrixNum;
|
||||||
|
|
||||||
sinIndex = (-sprite->pos2.x >> 1) + data->unkA;
|
sinIndex = (-sprite->pos2.x >> 1) + data->unkA;
|
||||||
sinVal = gSineTable[sinIndex];
|
sinVal = gSineTable[sinIndex];
|
||||||
|
|
||||||
gOamMatrices[matrixNum].a = gOamMatrices[matrixNum].d = gSineTable[sinIndex + 64];
|
gOamMatrices[matrixNum].a = gOamMatrices[matrixNum].d = gSineTable[sinIndex + 64];
|
||||||
gOamMatrices[matrixNum].b = sinVal;
|
gOamMatrices[matrixNum].b = sinVal;
|
||||||
gOamMatrices[matrixNum].c = -sinVal;
|
gOamMatrices[matrixNum].c = -sinVal;
|
||||||
|
|
||||||
data->unk8 += data->unk6;
|
data->unk8 += data->unk6;
|
||||||
sprite->pos1.y = data->unk8 >> 8;
|
sprite->pos1.y = data->unk8 >> 8;
|
||||||
if (data->unk4 & 0x8000)
|
if (data->unk4 & 0x8000)
|
||||||
data->unk2 = (data->unk2 - (data->unk4 & 0x7FFF)) & 0xFF;
|
data->unk2 = (data->unk2 - (data->unk4 & 0x7FFF)) & 0xFF;
|
||||||
else
|
else
|
||||||
data->unk2 = (data->unk2 + (data->unk4 & 0x7FFF)) & 0xFF;
|
data->unk2 = (data->unk2 + (data->unk4 & 0x7FFF)) & 0xFF;
|
||||||
|
|
||||||
if (sprite->pos1.y + sprite->pos2.y >= data->unkE_1)
|
if (sprite->pos1.y + sprite->pos2.y >= data->unkE_1)
|
||||||
{
|
{
|
||||||
sprite->data[0] = 0;
|
sprite->data[0] = 0;
|
||||||
sprite->callback = sub_80B1D3C;
|
sprite->callback = DestroyAnimSpriteAfterTimer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -983,7 +984,7 @@ static void sub_80B268C(struct Sprite *sprite)
|
|||||||
x = (((u16 *)&fData)[7] << 1);
|
x = (((u16 *)&fData)[7] << 1);
|
||||||
y = (((u16 *)tData)[7] & 1);
|
y = (((u16 *)tData)[7] & 1);
|
||||||
((u16 *)tData)[7] = y | x;
|
((u16 *)tData)[7] = y | x;
|
||||||
sprite->callback = sub_80B1F94;
|
sprite->callback = AnimFallingFeather_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimWhirlwindLine(struct Sprite *sprite)
|
static void AnimWhirlwindLine(struct Sprite *sprite)
|
||||||
|
|||||||
+1
-1
@@ -850,7 +850,7 @@ static void AnimHitSplatPersistent(struct Sprite *sprite)
|
|||||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||||
sprite->data[0] = gBattleAnimArgs[4];
|
sprite->data[0] = gBattleAnimArgs[4];
|
||||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||||
StoreSpriteCallbackInData6(sprite, sub_80B1D3C);
|
StoreSpriteCallbackInData6(sprite, DestroyAnimSpriteAfterTimer);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimHitSplatHandleInvert(struct Sprite *sprite)
|
static void AnimHitSplatHandleInvert(struct Sprite *sprite)
|
||||||
|
|||||||
Reference in New Issue
Block a user