mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 11:37:40 +01:00
commit
50d6e9ea34
@ -798,17 +798,21 @@ static void AnimSmallBubblePair_Step(struct Sprite *sprite)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void AnimTask_CreateSurfWave(u8 taskId)
|
||||
{
|
||||
struct BattleAnimBgData animBg;
|
||||
u8 taskId2;
|
||||
u16 *x, *y; //These pointers are needed to match
|
||||
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
|
||||
x = &gBattle_BG1_X;
|
||||
y = &gBattle_BG1_Y;
|
||||
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL | BLDCNT_TGT1_BG1);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8));
|
||||
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
|
||||
SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1);
|
||||
sub_80A6B30(&animBg);
|
||||
|
||||
if (!IsContest())
|
||||
{
|
||||
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
|
||||
@ -833,30 +837,30 @@ void AnimTask_CreateSurfWave(u8 taskId)
|
||||
gTasks[taskId2].data[2] = 0x1000;
|
||||
if (IsContest())
|
||||
{
|
||||
gBattle_BG1_X = -80;
|
||||
gBattle_BG1_Y = -48;
|
||||
*x = -80;
|
||||
*y = -48;
|
||||
gTasks[taskId].data[0] = 2;
|
||||
gTasks[taskId].data[1] = 1;
|
||||
gTasks[taskId2].data[3] = 0;
|
||||
}
|
||||
else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
|
||||
{
|
||||
gBattle_BG1_X = -224;
|
||||
gBattle_BG1_Y = 256;
|
||||
*x = -224;
|
||||
*y = 256;
|
||||
gTasks[taskId].data[0] = 2;
|
||||
gTasks[taskId].data[1] = -1;
|
||||
gTasks[taskId2].data[3] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattle_BG1_X = 0;
|
||||
gBattle_BG1_Y = -48;
|
||||
*x = 0;
|
||||
*y = -48;
|
||||
gTasks[taskId].data[0] = -2;
|
||||
gTasks[taskId].data[1] = 1;
|
||||
gTasks[taskId2].data[3] = 0;
|
||||
}
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, *x);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, *y);
|
||||
if (gTasks[taskId2].data[3] == 0)
|
||||
{
|
||||
gTasks[taskId2].data[4] = 48;
|
||||
@ -870,245 +874,16 @@ void AnimTask_CreateSurfWave(u8 taskId)
|
||||
gTasks[taskId].data[6] = 1;
|
||||
gTasks[taskId].func = AnimTask_CreateSurfWave_Step1;
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void AnimTask_CreateSurfWave(u8 taskId)
|
||||
{
|
||||
asm_unified("push {r4-r7,lr}\n\
|
||||
mov r7, r10\n\
|
||||
mov r6, r9\n\
|
||||
mov r5, r8\n\
|
||||
push {r5-r7}\n\
|
||||
sub sp, 0x10\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r0, 24\n\
|
||||
mov r10, r0\n\
|
||||
ldr r1, =0x00003f42\n\
|
||||
movs r0, 0x50\n\
|
||||
bl SetGpuReg\n\
|
||||
movs r1, 0x80\n\
|
||||
lsls r1, 5\n\
|
||||
movs r0, 0x52\n\
|
||||
bl SetGpuReg\n\
|
||||
movs r0, 0x1\n\
|
||||
movs r1, 0x4\n\
|
||||
movs r2, 0x1\n\
|
||||
bl SetAnimBgAttribute\n\
|
||||
movs r0, 0x1\n\
|
||||
movs r1, 0\n\
|
||||
movs r2, 0x1\n\
|
||||
bl SetAnimBgAttribute\n\
|
||||
mov r0, sp\n\
|
||||
bl sub_80A6B30\n\
|
||||
bl IsContest\n\
|
||||
lsls r0, 24\n\
|
||||
cmp r0, 0\n\
|
||||
bne _081079E0\n\
|
||||
movs r0, 0x1\n\
|
||||
movs r1, 0x3\n\
|
||||
movs r2, 0x1\n\
|
||||
bl SetAnimBgAttribute\n\
|
||||
ldr r0, =gBattleAnimAttacker\n\
|
||||
ldrb r0, [r0]\n\
|
||||
bl GetBattlerSide\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r0, 24\n\
|
||||
cmp r0, 0x1\n\
|
||||
bne _081079D0\n\
|
||||
mov r0, sp\n\
|
||||
ldrb r0, [r0, 0x9]\n\
|
||||
ldr r1, =gBattleAnimBgTilemap_SurfOpponent\n\
|
||||
bl AnimLoadCompressedBgTilemap\n\
|
||||
b _081079EA\n\
|
||||
.pool\n\
|
||||
_081079D0:\n\
|
||||
mov r0, sp\n\
|
||||
ldrb r0, [r0, 0x9]\n\
|
||||
ldr r1, =gBattleAnimBgTilemap_SurfPlayer\n\
|
||||
bl AnimLoadCompressedBgTilemap\n\
|
||||
b _081079EA\n\
|
||||
.pool\n\
|
||||
_081079E0:\n\
|
||||
ldr r1, =gBattleAnimBgTilemap_SurfContest\n\
|
||||
mov r0, sp\n\
|
||||
movs r2, 0x1\n\
|
||||
bl AnimLoadCompressedBgTilemapHandleContest\n\
|
||||
_081079EA:\n\
|
||||
mov r0, sp\n\
|
||||
ldrb r0, [r0, 0x9]\n\
|
||||
ldr r1, =gBattleAnimBgImage_Surf\n\
|
||||
mov r2, sp\n\
|
||||
ldrh r2, [r2, 0xA]\n\
|
||||
bl AnimLoadCompressedBgGfx\n\
|
||||
ldr r0, =gBattleAnimArgs\n\
|
||||
movs r1, 0\n\
|
||||
ldrsh r0, [r0, r1]\n\
|
||||
cmp r0, 0\n\
|
||||
bne _08107A24\n\
|
||||
ldr r0, =gBattleAnimBgPalette_Surf\n\
|
||||
mov r1, sp\n\
|
||||
ldrb r1, [r1, 0x8]\n\
|
||||
lsls r1, 4\n\
|
||||
movs r2, 0x20\n\
|
||||
bl LoadCompressedPalette\n\
|
||||
b _08107A32\n\
|
||||
.pool\n\
|
||||
_08107A24:\n\
|
||||
ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal\n\
|
||||
mov r1, sp\n\
|
||||
ldrb r1, [r1, 0x8]\n\
|
||||
lsls r1, 4\n\
|
||||
movs r2, 0x20\n\
|
||||
bl LoadCompressedPalette\n\
|
||||
_08107A32:\n\
|
||||
ldr r0, =AnimTask_SurfWaveScanlineEffect\n\
|
||||
ldr r4, =gTasks\n\
|
||||
mov r2, r10\n\
|
||||
lsls r5, r2, 2\n\
|
||||
adds r1, r5, r2\n\
|
||||
lsls r1, 3\n\
|
||||
adds r6, r1, r4\n\
|
||||
ldrb r1, [r6, 0x7]\n\
|
||||
adds r1, 0x1\n\
|
||||
lsls r1, 24\n\
|
||||
lsrs r1, 24\n\
|
||||
bl CreateTask\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r0, 24\n\
|
||||
mov r8, r0\n\
|
||||
movs r0, 0\n\
|
||||
mov r9, r0\n\
|
||||
mov r1, r8\n\
|
||||
strh r1, [r6, 0x26]\n\
|
||||
mov r2, r8\n\
|
||||
lsls r0, r2, 2\n\
|
||||
add r0, r8\n\
|
||||
lsls r0, 3\n\
|
||||
adds r7, r0, r4\n\
|
||||
mov r0, r9\n\
|
||||
strh r0, [r7, 0x8]\n\
|
||||
movs r0, 0x80\n\
|
||||
lsls r0, 5\n\
|
||||
strh r0, [r7, 0xA]\n\
|
||||
strh r0, [r7, 0xC]\n\
|
||||
bl IsContest\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r4, r0, 24\n\
|
||||
cmp r4, 0\n\
|
||||
beq _08107AB4\n\
|
||||
ldr r1, =0x0000ffb0\n\
|
||||
adds r0, r1, 0\n\
|
||||
ldr r2, =gBattle_BG1_X\n\
|
||||
strh r0, [r2]\n\
|
||||
adds r1, 0x20\n\
|
||||
adds r0, r1, 0\n\
|
||||
ldr r2, =gBattle_BG1_Y\n\
|
||||
strh r0, [r2]\n\
|
||||
movs r0, 0x2\n\
|
||||
strh r0, [r6, 0x8]\n\
|
||||
movs r0, 0x1\n\
|
||||
strh r0, [r6, 0xA]\n\
|
||||
mov r0, r9\n\
|
||||
strh r0, [r7, 0xE]\n\
|
||||
b _08107B0E\n\
|
||||
.pool\n\
|
||||
_08107AB4:\n\
|
||||
ldr r0, =gBattleAnimAttacker\n\
|
||||
ldrb r0, [r0]\n\
|
||||
bl GetBattlerSide\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r1, r0, 24\n\
|
||||
cmp r1, 0x1\n\
|
||||
bne _08107AF8\n\
|
||||
ldr r2, =0x0000ff20\n\
|
||||
adds r0, r2, 0\n\
|
||||
ldr r2, =gBattle_BG1_X\n\
|
||||
strh r0, [r2]\n\
|
||||
movs r2, 0x80\n\
|
||||
lsls r2, 1\n\
|
||||
adds r0, r2, 0\n\
|
||||
ldr r2, =gBattle_BG1_Y\n\
|
||||
strh r0, [r2]\n\
|
||||
movs r0, 0x2\n\
|
||||
strh r0, [r6, 0x8]\n\
|
||||
ldr r0, =0x0000ffff\n\
|
||||
strh r0, [r6, 0xA]\n\
|
||||
strh r1, [r7, 0xE]\n\
|
||||
b _08107B0E\n\
|
||||
.pool\n\
|
||||
_08107AF8:\n\
|
||||
ldr r0, =gBattle_BG1_X\n\
|
||||
strh r4, [r0]\n\
|
||||
ldr r1, =0x0000ffd0\n\
|
||||
adds r0, r1, 0\n\
|
||||
ldr r2, =gBattle_BG1_Y\n\
|
||||
strh r0, [r2]\n\
|
||||
ldr r0, =0x0000fffe\n\
|
||||
strh r0, [r6, 0x8]\n\
|
||||
movs r0, 0x1\n\
|
||||
strh r0, [r6, 0xA]\n\
|
||||
strh r4, [r7, 0xE]\n\
|
||||
_08107B0E:\n\
|
||||
ldr r0, =gBattle_BG1_X\n\
|
||||
ldrh r1, [r0]\n\
|
||||
movs r0, 0x14\n\
|
||||
bl SetGpuReg\n\
|
||||
ldr r2, =gBattle_BG1_Y\n\
|
||||
ldrh r1, [r2]\n\
|
||||
movs r0, 0x16\n\
|
||||
bl SetGpuReg\n\
|
||||
ldr r1, =gTasks\n\
|
||||
mov r2, r8\n\
|
||||
lsls r0, r2, 2\n\
|
||||
add r0, r8\n\
|
||||
lsls r0, 3\n\
|
||||
adds r1, r0, r1\n\
|
||||
movs r2, 0xE\n\
|
||||
ldrsh r0, [r1, r2]\n\
|
||||
cmp r0, 0\n\
|
||||
bne _08107B54\n\
|
||||
movs r0, 0x30\n\
|
||||
strh r0, [r1, 0x10]\n\
|
||||
movs r0, 0x70\n\
|
||||
b _08107B58\n\
|
||||
.pool\n\
|
||||
_08107B54:\n\
|
||||
movs r0, 0\n\
|
||||
strh r0, [r1, 0x10]\n\
|
||||
_08107B58:\n\
|
||||
strh r0, [r1, 0x12]\n\
|
||||
ldr r1, =gTasks\n\
|
||||
mov r2, r10\n\
|
||||
adds r0, r5, r2\n\
|
||||
lsls r0, 3\n\
|
||||
adds r0, r1\n\
|
||||
movs r1, 0x1\n\
|
||||
strh r1, [r0, 0x14]\n\
|
||||
ldr r1, =AnimTask_CreateSurfWave_Step1\n\
|
||||
str r1, [r0]\n\
|
||||
add sp, 0x10\n\
|
||||
pop {r3-r5}\n\
|
||||
mov r8, r3\n\
|
||||
mov r9, r4\n\
|
||||
mov r10, r5\n\
|
||||
pop {r4-r7}\n\
|
||||
pop {r0}\n\
|
||||
bx r0\n\
|
||||
.pool\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static void AnimTask_CreateSurfWave_Step1(u8 taskId)
|
||||
{
|
||||
struct BattleAnimBgData animBg;
|
||||
u8 i;
|
||||
u16 rgbBuffer;
|
||||
u16 *BGptrX = &gBattle_BG1_X;
|
||||
u16 *BGptrY = &gBattle_BG1_Y;
|
||||
s16 unkUse;
|
||||
u32 palOffset;
|
||||
u16 palNum;
|
||||
u8 i;
|
||||
u16 *BGptrX, *BGptrY;
|
||||
struct BattleAnimBgData animBg;
|
||||
|
||||
BGptrX = &gBattle_BG1_X;
|
||||
BGptrY = &gBattle_BG1_Y;
|
||||
|
||||
*BGptrX += gTasks[taskId].data[0];
|
||||
*BGptrY += gTasks[taskId].data[1];
|
||||
@ -1116,29 +891,26 @@ static void AnimTask_CreateSurfWave_Step1(u8 taskId)
|
||||
gTasks[taskId].data[2] += gTasks[taskId].data[1];
|
||||
if (++gTasks[taskId].data[5] == 4)
|
||||
{
|
||||
rgbBuffer = gPlttBufferFaded[animBg.paletteId * 16 + 7];
|
||||
for (i = 6; i != 0; i--)
|
||||
rgbBuffer = gPlttBufferFaded[16 * animBg.paletteId + 7];
|
||||
for (i = 6; i != 0; i--) // i > 0 generates the exact same code in this context
|
||||
{
|
||||
palNum = animBg.paletteId * 16;
|
||||
palOffset = 1 + i;
|
||||
gPlttBufferFaded[palNum + palOffset] = gPlttBufferFaded[palNum + palOffset - 1];
|
||||
gPlttBufferFaded[16 * animBg.paletteId + 1 + i] = gPlttBufferFaded[16 * animBg.paletteId + 1 + i - 1]; // 1 + i - 1 is needed to match for some bizarre reason
|
||||
}
|
||||
gPlttBufferFaded[animBg.paletteId * 16 + 1] = rgbBuffer;
|
||||
gPlttBufferFaded[16 * animBg.paletteId + 1] = rgbBuffer;
|
||||
gTasks[taskId].data[5] = 0;
|
||||
}
|
||||
if (++gTasks[taskId].data[6] > 1)
|
||||
{
|
||||
gTasks[taskId].data[6] = 0;
|
||||
unkUse = ++gTasks[taskId].data[3];
|
||||
if (unkUse <= 13)
|
||||
if (++gTasks[taskId].data[3] < 14)
|
||||
{
|
||||
gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256);
|
||||
gTasks[gTasks[taskId].data[15]].data[1] = (s16)((gTasks[taskId].data[3]) | ((16 - gTasks[taskId].data[3]) << 8));
|
||||
gTasks[taskId].data[4]++;
|
||||
}
|
||||
if (gTasks[taskId].data[3] > 54)
|
||||
{
|
||||
unkUse = --gTasks[taskId].data[4];
|
||||
gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256);
|
||||
gTasks[taskId].data[4]--;
|
||||
gTasks[gTasks[taskId].data[15]].data[1] = (s16)((gTasks[taskId].data[4]) | ((16 - gTasks[taskId].data[4]) << 8));
|
||||
}
|
||||
}
|
||||
if (!(gTasks[gTasks[taskId].data[15]].data[1] & 0x1F))
|
||||
@ -1147,167 +919,7 @@ static void AnimTask_CreateSurfWave_Step1(u8 taskId)
|
||||
gTasks[taskId].func = AnimTask_CreateSurfWave_Step2;
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
static void AnimTask_CreateSurfWave_Step1(u8 taskId)
|
||||
{
|
||||
asm_unified("push {r4-r7,lr}\n\
|
||||
sub sp, 0x10\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r5, r0, 24\n\
|
||||
ldr r1, =gBattle_BG1_X\n\
|
||||
ldr r2, =gBattle_BG1_Y\n\
|
||||
ldr r0, =gTasks\n\
|
||||
lsls r4, r5, 2\n\
|
||||
adds r4, r5\n\
|
||||
lsls r4, 3\n\
|
||||
adds r4, r0\n\
|
||||
ldrh r0, [r4, 0x8]\n\
|
||||
ldrh r3, [r1]\n\
|
||||
adds r0, r3\n\
|
||||
strh r0, [r1]\n\
|
||||
ldrh r0, [r4, 0xA]\n\
|
||||
ldrh r1, [r2]\n\
|
||||
adds r0, r1\n\
|
||||
strh r0, [r2]\n\
|
||||
mov r0, sp\n\
|
||||
bl sub_80A6B30\n\
|
||||
ldrh r0, [r4, 0xA]\n\
|
||||
ldrh r3, [r4, 0xC]\n\
|
||||
adds r0, r3\n\
|
||||
strh r0, [r4, 0xC]\n\
|
||||
ldrh r0, [r4, 0x12]\n\
|
||||
adds r0, 0x1\n\
|
||||
strh r0, [r4, 0x12]\n\
|
||||
lsls r0, 16\n\
|
||||
asrs r0, 16\n\
|
||||
cmp r0, 0x4\n\
|
||||
bne _08107C18\n\
|
||||
ldr r1, =gPlttBufferFaded\n\
|
||||
mov r0, sp\n\
|
||||
ldrb r0, [r0, 0x8]\n\
|
||||
lsls r0, 4\n\
|
||||
adds r0, 0x7\n\
|
||||
lsls r0, 1\n\
|
||||
adds r0, r1\n\
|
||||
ldrh r6, [r0]\n\
|
||||
movs r2, 0x6\n\
|
||||
adds r7, r1, 0\n\
|
||||
adds r3, r7, 0\n\
|
||||
mov r4, sp\n\
|
||||
_08107BDE:\n\
|
||||
ldrb r0, [r4, 0x8]\n\
|
||||
lsls r0, 4\n\
|
||||
adds r1, r2, 0x1\n\
|
||||
adds r0, r1\n\
|
||||
lsls r1, r0, 1\n\
|
||||
adds r1, r3\n\
|
||||
subs r0, 0x1\n\
|
||||
lsls r0, 1\n\
|
||||
adds r0, r3\n\
|
||||
ldrh r0, [r0]\n\
|
||||
strh r0, [r1]\n\
|
||||
subs r0, r2, 0x1\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r2, r0, 24\n\
|
||||
cmp r2, 0\n\
|
||||
bne _08107BDE\n\
|
||||
mov r0, sp\n\
|
||||
ldrb r0, [r0, 0x8]\n\
|
||||
lsls r0, 4\n\
|
||||
adds r0, 0x1\n\
|
||||
lsls r0, 1\n\
|
||||
adds r0, r7\n\
|
||||
strh r6, [r0]\n\
|
||||
ldr r1, =gTasks\n\
|
||||
lsls r0, r5, 2\n\
|
||||
adds r0, r5\n\
|
||||
lsls r0, 3\n\
|
||||
adds r0, r1\n\
|
||||
strh r2, [r0, 0x12]\n\
|
||||
_08107C18:\n\
|
||||
ldr r1, =gTasks\n\
|
||||
lsls r2, r5, 2\n\
|
||||
adds r0, r2, r5\n\
|
||||
lsls r0, 3\n\
|
||||
adds r3, r0, r1\n\
|
||||
ldrh r0, [r3, 0x14]\n\
|
||||
adds r0, 0x1\n\
|
||||
strh r0, [r3, 0x14]\n\
|
||||
lsls r0, 16\n\
|
||||
asrs r0, 16\n\
|
||||
adds r4, r1, 0\n\
|
||||
adds r6, r2, 0\n\
|
||||
cmp r0, 0x1\n\
|
||||
ble _08107C86\n\
|
||||
movs r0, 0\n\
|
||||
strh r0, [r3, 0x14]\n\
|
||||
ldrh r0, [r3, 0xE]\n\
|
||||
adds r2, r0, 0x1\n\
|
||||
strh r2, [r3, 0xE]\n\
|
||||
lsls r0, r2, 16\n\
|
||||
asrs r0, 16\n\
|
||||
cmp r0, 0xD\n\
|
||||
bgt _08107C62\n\
|
||||
movs r1, 0x26\n\
|
||||
ldrsh r0, [r3, r1]\n\
|
||||
lsls r1, r0, 2\n\
|
||||
adds r1, r0\n\
|
||||
lsls r1, 3\n\
|
||||
adds r1, r4\n\
|
||||
movs r0, 0x10\n\
|
||||
subs r0, r2\n\
|
||||
lsls r0, 8\n\
|
||||
orrs r2, r0\n\
|
||||
strh r2, [r1, 0xA]\n\
|
||||
ldrh r0, [r3, 0x10]\n\
|
||||
adds r0, 0x1\n\
|
||||
strh r0, [r3, 0x10]\n\
|
||||
_08107C62:\n\
|
||||
movs r1, 0xE\n\
|
||||
ldrsh r0, [r3, r1]\n\
|
||||
cmp r0, 0x36\n\
|
||||
ble _08107C86\n\
|
||||
ldrh r2, [r3, 0x10]\n\
|
||||
subs r2, 0x1\n\
|
||||
strh r2, [r3, 0x10]\n\
|
||||
movs r1, 0x26\n\
|
||||
ldrsh r0, [r3, r1]\n\
|
||||
lsls r1, r0, 2\n\
|
||||
adds r1, r0\n\
|
||||
lsls r1, 3\n\
|
||||
adds r1, r4\n\
|
||||
movs r0, 0x10\n\
|
||||
subs r0, r2\n\
|
||||
lsls r0, 8\n\
|
||||
orrs r2, r0\n\
|
||||
strh r2, [r1, 0xA]\n\
|
||||
_08107C86:\n\
|
||||
adds r0, r6, r5\n\
|
||||
lsls r0, 3\n\
|
||||
adds r2, r0, r4\n\
|
||||
movs r3, 0x26\n\
|
||||
ldrsh r1, [r2, r3]\n\
|
||||
lsls r0, r1, 2\n\
|
||||
adds r0, r1\n\
|
||||
lsls r0, 3\n\
|
||||
adds r0, r4\n\
|
||||
ldrh r0, [r0, 0xA]\n\
|
||||
movs r3, 0x1F\n\
|
||||
ands r3, r0\n\
|
||||
cmp r3, 0\n\
|
||||
bne _08107CA8\n\
|
||||
strh r3, [r2, 0x8]\n\
|
||||
ldr r0, =AnimTask_CreateSurfWave_Step2\n\
|
||||
str r0, [r2]\n\
|
||||
_08107CA8:\n\
|
||||
add sp, 0x10\n\
|
||||
pop {r4-r7}\n\
|
||||
pop {r0}\n\
|
||||
bx r0\n\
|
||||
.pool\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
static void AnimTask_CreateSurfWave_Step2(u8 taskId)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user