Merge branch 'master' into doc-slotmachine

This commit is contained in:
GriffinR 2020-07-28 17:41:34 -04:00 committed by GitHub
commit 5eecaf92ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 119 additions and 134 deletions

View File

@ -52,8 +52,8 @@ void CancelMultiTurnMoves(u8 battlerId);
bool8 WasUnableToUseMove(u8 battlerId); bool8 WasUnableToUseMove(u8 battlerId);
void PrepareStringBattle(u16 stringId, u8 battlerId); void PrepareStringBattle(u16 stringId, u8 battlerId);
void ResetSentPokesToOpponentValue(void); void ResetSentPokesToOpponentValue(void);
void sub_803F9EC(u8 battlerId); void OpponentSwitchInResetSentPokesToOpponentValue(u8 battlerId);
void sub_803FA70(u8 battlerId); void UpdateSentPokesToOpponentValue(u8 battlerId);
void BattleScriptPush(const u8* bsPtr); void BattleScriptPush(const u8* bsPtr);
void BattleScriptPushCursor(void); void BattleScriptPushCursor(void);
void BattleScriptPop(void); void BattleScriptPop(void);

View File

@ -918,7 +918,7 @@ static void rfu_LMAN_REQ_callback(u16 reqCommandId, u16 reqResult)
{ {
lman.reserveDisconnectSlot_flag = 0; lman.reserveDisconnectSlot_flag = 0;
lman.acceptCount = 0; lman.acceptCount = 0;
lman.acceptSlot_flag = 0;; lman.acceptSlot_flag = 0;
lman.parent_child = MODE_NEUTRAL; lman.parent_child = MODE_NEUTRAL;
rfu_LMAN_managerChangeAgbClockMaster(); rfu_LMAN_managerChangeAgbClockMaster();
if (reqCommandId == ID_STOP_MODE_REQ) if (reqCommandId == ID_STOP_MODE_REQ)

View File

@ -41,7 +41,7 @@ u16 ReadFlashId(void)
u8 (*readFlash1)(u8 *); u8 (*readFlash1)(u8 *);
SetReadFlash1(readFlash1Buffer); SetReadFlash1(readFlash1Buffer);
readFlash1 = (u8 (*)(u8 *))((s32)readFlash1Buffer + 1); readFlash1 = (u8 (*)(u8 *))((uintptr_t)readFlash1Buffer + 1);
// Enter ID mode. // Enter ID mode.
FLASH_WRITE(0x5555, 0xAA); FLASH_WRITE(0x5555, 0xAA);
@ -113,12 +113,12 @@ void SetReadFlash1(u16 *dest)
u16 *src; u16 *src;
u16 i; u16 i;
PollFlashStatus = (u8 (*)(u8 *))((s32)dest + 1); PollFlashStatus = (u8 (*)(u8 *))((uintptr_t)dest + 1);
src = (u16 *)ReadFlash1; src = (u16 *)ReadFlash1;
src = (u16 *)((s32)src ^ 1); src = (u16 *)((uintptr_t)src ^ 1);
i = ((s32)SetReadFlash1 - (s32)ReadFlash1) >> 1; i = ((uintptr_t)SetReadFlash1 - (uintptr_t)ReadFlash1) >> 1;
while (i != 0) while (i != 0)
{ {
@ -154,10 +154,10 @@ void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size)
} }
funcSrc = (u16 *)ReadFlash_Core; funcSrc = (u16 *)ReadFlash_Core;
funcSrc = (u16 *)((s32)funcSrc ^ 1); funcSrc = (u16 *)((uintptr_t)funcSrc ^ 1);
funcDest = readFlash_Core_Buffer; funcDest = readFlash_Core_Buffer;
i = ((s32)ReadFlash - (s32)ReadFlash_Core) >> 1; i = ((uintptr_t)ReadFlash - (uintptr_t)ReadFlash_Core) >> 1;
while (i != 0) while (i != 0)
{ {
@ -165,7 +165,7 @@ void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size)
i--; i--;
} }
readFlash_Core = (void (*)(vu8 *, u8 *, u32))((s32)readFlash_Core_Buffer + 1); readFlash_Core = (void (*)(vu8 *, u8 *, u32))((uintptr_t)readFlash_Core_Buffer + 1);
src = FLASH_BASE + (sectorNum << gFlash->sector.shift) + offset; src = FLASH_BASE + (sectorNum << gFlash->sector.shift) + offset;
@ -202,10 +202,10 @@ u32 VerifyFlashSector(u16 sectorNum, u8 *src)
} }
funcSrc = (u16 *)VerifyFlashSector_Core; funcSrc = (u16 *)VerifyFlashSector_Core;
funcSrc = (u16 *)((s32)funcSrc ^ 1); funcSrc = (u16 *)((uintptr_t)funcSrc ^ 1);
funcDest = verifyFlashSector_Core_Buffer; funcDest = verifyFlashSector_Core_Buffer;
i = ((s32)VerifyFlashSector - (s32)VerifyFlashSector_Core) >> 1; i = (u16)(((uintptr_t)VerifyFlashSector - (uintptr_t)VerifyFlashSector_Core) >> 1);
while (i != 0) while (i != 0)
{ {
@ -213,7 +213,7 @@ u32 VerifyFlashSector(u16 sectorNum, u8 *src)
i--; i--;
} }
verifyFlashSector_Core = (u32 (*)(u8 *, u8 *, u32))((s32)verifyFlashSector_Core_Buffer + 1); verifyFlashSector_Core = (u32 (*)(u8 *, u8 *, u32))((uintptr_t)verifyFlashSector_Core_Buffer + 1);
tgt = FLASH_BASE + (sectorNum << gFlash->sector.shift); tgt = FLASH_BASE + (sectorNum << gFlash->sector.shift);
size = gFlash->sector.size; size = gFlash->sector.size;
@ -239,10 +239,10 @@ u32 VerifyFlashSectorNBytes(u16 sectorNum, u8 *src, u32 n)
REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8; REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8;
funcSrc = (u16 *)VerifyFlashSector_Core; funcSrc = (u16 *)VerifyFlashSector_Core;
funcSrc = (u16 *)((s32)funcSrc ^ 1); funcSrc = (u16 *)((uintptr_t)funcSrc ^ 1);
funcDest = verifyFlashSector_Core_Buffer; funcDest = verifyFlashSector_Core_Buffer;
i = ((s32)VerifyFlashSector - (s32)VerifyFlashSector_Core) >> 1; i = ((uintptr_t)VerifyFlashSector - (uintptr_t)VerifyFlashSector_Core) >> 1;
while (i != 0) while (i != 0)
{ {
@ -250,7 +250,7 @@ u32 VerifyFlashSectorNBytes(u16 sectorNum, u8 *src, u32 n)
i--; i--;
} }
verifyFlashSector_Core = (u32 (*)(u8 *, u8 *, u32))((s32)verifyFlashSector_Core_Buffer + 1); verifyFlashSector_Core = (u32 (*)(u8 *, u8 *, u32))((uintptr_t)verifyFlashSector_Core_Buffer + 1);
tgt = FLASH_BASE + (sectorNum << gFlash->sector.shift); tgt = FLASH_BASE + (sectorNum << gFlash->sector.shift);
@ -293,4 +293,4 @@ u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n)
} }
return result; return result;
} }

View File

@ -372,14 +372,11 @@ static void AnimTranslateStinger(struct Sprite *sprite)
{ {
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[2] = -gBattleAnimArgs[2];
} }
else else if (GetBattlerSide(gBattleAnimAttacker))
{ {
if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2];
{ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[3] = -gBattleAnimArgs[3];
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
}
} }
if (!IsContest() && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) if (!IsContest() && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
@ -387,13 +384,8 @@ static void AnimTranslateStinger(struct Sprite *sprite)
if (GetBattlerPosition(gBattleAnimTarget) == B_POSITION_PLAYER_LEFT if (GetBattlerPosition(gBattleAnimTarget) == B_POSITION_PLAYER_LEFT
|| GetBattlerPosition(gBattleAnimTarget) == B_POSITION_OPPONENT_LEFT) || GetBattlerPosition(gBattleAnimTarget) == B_POSITION_OPPONENT_LEFT)
{ {
s16 temp1, temp2; gBattleAnimArgs[2] *= -1;
gBattleAnimArgs[0] *= -1;
temp1 = gBattleAnimArgs[2];
gBattleAnimArgs[2] = -temp1;
temp2 = gBattleAnimArgs[0];
gBattleAnimArgs[0] = -temp2;
} }
} }
@ -448,28 +440,24 @@ static void AnimMissileArc_Step(struct Sprite *sprite)
else else
{ {
s16 tempData[8]; s16 tempData[8];
u16 *data = sprite->data; s16 xpos, ypos;
u16 x1 = sprite->pos1.x;
s16 x2 = sprite->pos2.x;
u16 y1 = sprite->pos1.y;
s16 y2 = sprite->pos2.y;
int i; int i;
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
tempData[i] = data[i]; tempData[i] = sprite->data[i];
x2 += x1; xpos = sprite->pos1.x + sprite->pos2.x;
y2 += y1; ypos = sprite->pos1.y + sprite->pos2.y;
if (!TranslateAnimHorizontalArc(sprite)) if (!TranslateAnimHorizontalArc(sprite))
{ {
u16 rotation = ArcTan2Neg(sprite->pos1.x + sprite->pos2.x - x2, u16 rotation = ArcTan2Neg(sprite->pos1.x + sprite->pos2.x - xpos, //Isn't this zero lol
sprite->pos1.y + sprite->pos2.y - y2); sprite->pos1.y + sprite->pos2.y - ypos);
rotation += 0xC000; rotation += 0xC000;
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rotation); TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rotation);
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
data[i] = tempData[i]; sprite->data[i] = tempData[i];
} }
} }
} }

View File

@ -3967,24 +3967,25 @@ static void AnimProtect(struct Sprite* sprite)
static void AnimProtect_Step(struct Sprite *sprite) static void AnimProtect_Step(struct Sprite *sprite)
{ {
int a; int i, savedPal;
int i;
sprite->data[5] += 96; sprite->data[5] += 96;
sprite->pos2.x = -(sprite->data[5] >> 8); sprite->pos2.x = -(sprite->data[5] >> 8);
if (++sprite->data[1] > 1) if (++sprite->data[1] > 1)
{ {
int id;
sprite->data[1] = 0; sprite->data[1] = 0;
a = gPlttBufferFaded[sprite->data[2] + 1]; savedPal = gPlttBufferFaded[sprite->data[2] + 1];
i = 0; i = 0;
do do
{ {
gPlttBufferFaded[sprite->data[2] + ++i] = gPlttBufferFaded[sprite->data[2] + i + 1]; id = sprite->data[2] + ++i;
gPlttBufferFaded[id] = gPlttBufferFaded[id + 1];
} while (i < 6); } while (i < 6);
gPlttBufferFaded[sprite->data[2] + 7] = a; gPlttBufferFaded[sprite->data[2] + 7] = savedPal;
} }
if (sprite->data[7] > 6 && sprite->data[0] >0 && ++sprite->data[6] > 1) if (sprite->data[7] > 6 && sprite->data[0] > 0 && ++sprite->data[6] > 1)
{ {
sprite->data[6] = 0; sprite->data[6] = 0;
sprite->data[7] -= 1; sprite->data[7] -= 1;

View File

@ -1101,7 +1101,7 @@ static void AnimTask_TransparentCloneGrowAndShrink_Step(u8 taskId)
break; break;
case 1: case 1:
task->data[1] -= 4; task->data[1] -= 4;
task->data[2] = 256 - (gSineTable[task->data[1]] >> 1);; task->data[2] = 256 - (gSineTable[task->data[1]] >> 1);
SetSpriteRotScale(task->data[15], task->data[2], task->data[2], 0); SetSpriteRotScale(task->data[15], task->data[2], task->data[2], 0);
SetBattlerSpriteYOffsetFromOtherYScale(task->data[15], task->data[13]); SetBattlerSpriteYOffsetFromOtherYScale(task->data[15], task->data[13]);
if (task->data[1] == 0) if (task->data[1] == 0)

View File

@ -569,7 +569,7 @@ static void sub_81172EC(u8 taskId)
if (gTasks[taskId].data[12] == 0) if (gTasks[taskId].data[12] == 0)
{ {
sub_80A477C(0); sub_80A477C(0);
gTasks[taskId].data[15]++;; gTasks[taskId].data[15]++;
} }
} }
break; break;

View File

@ -5471,7 +5471,7 @@ static void Cmd_switchineffects(void)
s32 i; s32 i;
gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]);
sub_803FA70(gActiveBattler); UpdateSentPokesToOpponentValue(gActiveBattler);
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
gSpecialStatuses[gActiveBattler].flag40 = 0; gSpecialStatuses[gActiveBattler].flag40 = 0;

View File

@ -259,7 +259,7 @@ void ResetSentPokesToOpponentValue(void)
gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits; gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits;
} }
void sub_803F9EC(u8 battler) void OpponentSwitchInResetSentPokesToOpponentValue(u8 battler)
{ {
s32 i = 0; s32 i = 0;
u32 bits = 0; u32 bits = 0;
@ -279,11 +279,11 @@ void sub_803F9EC(u8 battler)
} }
} }
void sub_803FA70(u8 battler) void UpdateSentPokesToOpponentValue(u8 battler)
{ {
if (GetBattlerSide(battler) == B_SIDE_OPPONENT) if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
{ {
sub_803F9EC(battler); OpponentSwitchInResetSentPokesToOpponentValue(battler);
} }
else else
{ {
@ -1250,7 +1250,7 @@ bool8 HandleFaintedMonActions(void)
gBattleStruct->faintedActionsState = 3; gBattleStruct->faintedActionsState = 3;
break; break;
case 2: case 2:
sub_803F9EC(gBattlerFainted); OpponentSwitchInResetSentPokesToOpponentValue(gBattlerFainted);
if (++gBattleStruct->faintedActionsBattlerId == gBattlersCount) if (++gBattleStruct->faintedActionsBattlerId == gBattlersCount)
gBattleStruct->faintedActionsState = 3; gBattleStruct->faintedActionsState = 3;
else else

View File

@ -1331,7 +1331,7 @@ void ResetBerryTreeSparkleFlags(void)
s16 bottom; s16 bottom;
int i; int i;
GetCameraCoords(&cam_left, &cam_top); GetCameraCoords((u16*)&cam_left, (u16*)&cam_top);
left = cam_left; left = cam_left;
top = cam_top + 3; top = cam_top + 3;
right = cam_left + 14; right = cam_left + 14;

View File

@ -116,8 +116,8 @@ struct BerryBlenderData
u16 field_116; u16 field_116;
u16 field_118; u16 field_118;
u16 field_11A; u16 field_11A;
u16 bg_X; s16 bg_X;
u16 bg_Y; s16 bg_Y;
u8 field_120[3]; u8 field_120[3];
u8 field_123; u8 field_123;
u16 scores[BLENDER_MAX_PLAYERS][BLENDER_SCORES_NO]; u16 scores[BLENDER_MAX_PLAYERS][BLENDER_SCORES_NO];
@ -3166,13 +3166,13 @@ static void sub_80832E8(s16* a0)
static void sub_808330C(void) static void sub_808330C(void)
{ {
sub_80832E8(&sBerryBlenderData->bg_X); sub_80832E8((s16 *)&sBerryBlenderData->bg_X);
sub_80832E8(&sBerryBlenderData->bg_Y); sub_80832E8((s16 *)&sBerryBlenderData->bg_Y);
} }
static void sub_8083334(s16* a0, u16 a1) static void sub_8083334(s16* a0, u16 a1)
{ {
s32 var; u8 var;
if (a1 < 10) if (a1 < 10)
var = 16; var = 16;

View File

@ -33,7 +33,7 @@ struct DigitPrinterAlloc
}; };
// this file's functions // this file's functions
static u8 GetFirstOamId(u8 oamCount);; static u8 GetFirstOamId(u8 oamCount);
static void CopyWorkToOam(struct DigitPrinter *objWork); static void CopyWorkToOam(struct DigitPrinter *objWork);
static void DrawNumObjsLeadingZeros(struct DigitPrinter *objWork, s32 num, bool32 sign); static void DrawNumObjsLeadingZeros(struct DigitPrinter *objWork, s32 num, bool32 sign);
static void DrawNumObjsMinusInFront(struct DigitPrinter *objWork, s32 num, bool32 sign); static void DrawNumObjsMinusInFront(struct DigitPrinter *objWork, s32 num, bool32 sign);

View File

@ -2537,7 +2537,7 @@ u8 sub_811BBBC(void)
return sEasyChatScreen->unk_0c; return sEasyChatScreen->unk_0c;
} }
void sub_811BBC8(u8 *arg0, u8 *arg1) static void sub_811BBC8(s8 *arg0, s8 *arg1)
{ {
*arg0 = sEasyChatScreen->unk_10; *arg0 = sEasyChatScreen->unk_10;
*arg1 = sEasyChatScreen->unk_11; *arg1 = sEasyChatScreen->unk_11;
@ -4529,18 +4529,18 @@ static void sub_811E30C(void)
x = var0 * 13; x = var0 * 13;
x = x * 8 + 28; x = x * 8 + 28;
y = var1 * 16 + 96; y = var1 * 16 + 96;
sub_811E34C(x, y); sub_811E34C((u8)x, (u8)y);
} }
static void sub_811E34C(u8 x, u8 y) static void sub_811E34C(u8 x, u8 y)
{ {
if (sUnknown_0203A11C->unk2E4) if (!sUnknown_0203A11C->unk2E4)
{ return;
sUnknown_0203A11C->unk2E4->pos1.x = x;
sUnknown_0203A11C->unk2E4->pos1.y = y; sUnknown_0203A11C->unk2E4->pos1.x = (s16)x;
sUnknown_0203A11C->unk2E4->pos2.x = 0; sUnknown_0203A11C->unk2E4->pos1.y = (s16)y;
sUnknown_0203A11C->unk2E4->data[0] = 0; sUnknown_0203A11C->unk2E4->pos2.x = 0;
} sUnknown_0203A11C->unk2E4->data[0] = 0;
} }
static void sub_811E380(void) static void sub_811E380(void)

View File

@ -1220,7 +1220,6 @@ static u8 InitObjectEventStateFromTemplate(struct ObjectEventTemplate *template,
objectEvent->movementType = template->movementType; objectEvent->movementType = template->movementType;
objectEvent->localId = template->localId; objectEvent->localId = template->localId;
objectEvent->mapNum = mapNum; objectEvent->mapNum = mapNum;
objectEvent++; objectEvent--;
objectEvent->mapGroup = mapGroup; objectEvent->mapGroup = mapGroup;
objectEvent->initialCoords.x = x; objectEvent->initialCoords.x = x;
objectEvent->initialCoords.y = y; objectEvent->initialCoords.y = y;
@ -1233,13 +1232,11 @@ static u8 InitObjectEventStateFromTemplate(struct ObjectEventTemplate *template,
objectEvent->range.as_nybbles.x = template->movementRangeX; objectEvent->range.as_nybbles.x = template->movementRangeX;
objectEvent->range.as_nybbles.y = template->movementRangeY; objectEvent->range.as_nybbles.y = template->movementRangeY;
objectEvent->trainerType = template->trainerType; objectEvent->trainerType = template->trainerType;
objectEvent->mapNum = mapNum; //redundant, but needed to match
objectEvent->trainerRange_berryTreeId = template->trainerRange_berryTreeId; objectEvent->trainerRange_berryTreeId = template->trainerRange_berryTreeId;
objectEvent->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; objectEvent->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType];
SetObjectEventDirection(objectEvent, objectEvent->previousMovementDirection); SetObjectEventDirection(objectEvent, objectEvent->previousMovementDirection);
SetObjectEventDynamicGraphicsId(objectEvent); SetObjectEventDynamicGraphicsId(objectEvent);
#ifndef NONMATCHING
asm("":::"r5", "r6");
#endif
if (gRangedMovementTypes[objectEvent->movementType]) if (gRangedMovementTypes[objectEvent->movementType])
{ {
if (objectEvent->range.as_nybbles.x == 0) if (objectEvent->range.as_nybbles.x == 0)
@ -8950,7 +8947,7 @@ void CreateLevitateMovementTask(struct ObjectEvent *objectEvent)
u8 taskId = CreateTask(ApplyLevitateMovement, 0xFF); u8 taskId = CreateTask(ApplyLevitateMovement, 0xFF);
struct Task *task = &gTasks[taskId]; struct Task *task = &gTasks[taskId];
StoreWordInTwoHalfwords(&task->data[0], (u32)objectEvent); StoreWordInTwoHalfwords((u16 *)&task->data[0], (u32)objectEvent);
objectEvent->warpArrowSpriteId = taskId; objectEvent->warpArrowSpriteId = taskId;
task->data[3] = 0xFFFF; task->data[3] = 0xFFFF;
} }
@ -8961,7 +8958,7 @@ static void ApplyLevitateMovement(u8 taskId)
struct Sprite *sprite; struct Sprite *sprite;
struct Task *task = &gTasks[taskId]; struct Task *task = &gTasks[taskId];
LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&objectEvent); // load the map object pointer. LoadWordFromTwoHalfwords((u16 *)&task->data[0], (u32 *)&objectEvent); // load the map object pointer.
sprite = &gSprites[objectEvent->spriteId]; sprite = &gSprites[objectEvent->spriteId];
if(!(task->data[2] & 0x3)) if(!(task->data[2] & 0x3))
@ -8978,7 +8975,7 @@ void DestroyExtraMovementTask(u8 taskId)
struct ObjectEvent *objectEvent; struct ObjectEvent *objectEvent;
struct Task *task = &gTasks[taskId]; struct Task *task = &gTasks[taskId];
LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&objectEvent); // unused objectEvent LoadWordFromTwoHalfwords((u16 *)&task->data[0], (u32 *)&objectEvent); // unused objectEvent
DestroyTask(taskId); DestroyTask(taskId);
} }

View File

@ -2501,7 +2501,7 @@ static void sub_80B8584(struct Task *task)
{ {
task->data[11] = REG_WININ; task->data[11] = REG_WININ;
task->data[12] = REG_WINOUT; task->data[12] = REG_WINOUT;
StoreWordInTwoHalfwords(&task->data[13], (u32)gMain.vblankCallback); StoreWordInTwoHalfwords((u16 *)&task->data[13], (u32)gMain.vblankCallback);
task->data[1] = 0xf0f1; task->data[1] = 0xf0f1;
task->data[2] = 0x5051; task->data[2] = 0x5051;
task->data[3] = 0x3f; task->data[3] = 0x3f;

View File

@ -721,7 +721,7 @@ static void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId)
static bool8 TryToWaterSudowoodo(void) static bool8 TryToWaterSudowoodo(void)
{ {
u16 x, y; s16 x, y;
u8 z; u8 z;
u8 objId; u8 objId;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y); GetXYCoordsOneStepInFrontOfPlayer(&x, &y);

View File

@ -1257,17 +1257,17 @@ void ListMenuSetUpRedOutlineCursorSpriteOamTable(u16 rowWidth, u16 rowHeight, st
s32 i, j, id = 0; s32 i, j, id = 0;
subsprites[id] = sSubsprite_RedOutline1; subsprites[id] = sSubsprite_RedOutline1;
subsprites[id].x = 136; subsprites[id].x = -120;
subsprites[id].y = 136; subsprites[id].y = -120;
id++; id++;
subsprites[id] = sSubsprite_RedOutline2; subsprites[id] = sSubsprite_RedOutline2;
subsprites[id].x = rowWidth + 128; subsprites[id].x = rowWidth + 128;
subsprites[id].y = 136; subsprites[id].y = -120;
id++; id++;
subsprites[id] = sSubsprite_RedOutline7; subsprites[id] = sSubsprite_RedOutline7;
subsprites[id].x = 136; subsprites[id].x = -120;
subsprites[id].y = rowHeight + 128; subsprites[id].y = rowHeight + 128;
id++; id++;
@ -1297,7 +1297,7 @@ void ListMenuSetUpRedOutlineCursorSpriteOamTable(u16 rowWidth, u16 rowHeight, st
for (j = 8; j < rowHeight - 8; j += 8) for (j = 8; j < rowHeight - 8; j += 8)
{ {
subsprites[id] = sSubsprite_RedOutline4; subsprites[id] = sSubsprite_RedOutline4;
subsprites[id].x = 136; subsprites[id].x = -120;
subsprites[id].y = j - 120; subsprites[id].y = j - 120;
id++; id++;

View File

@ -168,7 +168,7 @@ const struct PulseBlendSettings gMirageTowerPulseBlendSettings = {
.numColors = 15, .numColors = 15,
.delay = 5, .delay = 5,
.numFadeCycles = -1, .numFadeCycles = -1,
.maxBlendCoeff = 11, .maxBlendCoeff = -5,
.fadeType = 1, .fadeType = 1,
.restorePaletteOnUnload = FALSE, .restorePaletteOnUnload = FALSE,
.unk7_7 = 1, .unk7_7 = 1,
@ -412,10 +412,9 @@ void DoMirageTowerCeilingCrumble(void)
static void WaitCeilingCrumble(u8 taskId) static void WaitCeilingCrumble(u8 taskId)
{ {
u16 *data = gTasks[taskId].data; u16 *data = (u16 *)gTasks[taskId].data;
data[1]++;
// Either wait 1000 frames, or until all 16 crumble sprites and the one screen-shake task are completed. // Either wait 1000 frames, or until all 16 crumble sprites and the one screen-shake task are completed.
if (data[1] == 1000 || data[0] == 17) if (++data[1] == 1000 || data[0] == 17)
gTasks[taskId].func = FinishCeilingCrumbleTask; gTasks[taskId].func = FinishCeilingCrumbleTask;
} }
@ -691,7 +690,7 @@ static void DoFossilFallAndSink(u8 taskId)
if (gSprites[sUnknown_0203CF0C->spriteId].callback != SpriteCallbackDummy) if (gSprites[sUnknown_0203CF0C->spriteId].callback != SpriteCallbackDummy)
return; return;
DestroySprite(&gSprites[sUnknown_0203CF0C->spriteId]); DestroySprite(&gSprites[sUnknown_0203CF0C->spriteId]);
FREE_AND_SET_NULL(sUnknown_0203CF0C->unkC);; FREE_AND_SET_NULL(sUnknown_0203CF0C->unkC);
FREE_AND_SET_NULL(sUnknown_0203CF0C->frameImage); FREE_AND_SET_NULL(sUnknown_0203CF0C->frameImage);
FREE_AND_SET_NULL(sUnknown_0203CF0C->frameImageTiles); FREE_AND_SET_NULL(sUnknown_0203CF0C->frameImageTiles);
FREE_AND_SET_NULL(sUnknown_0203CF0C); FREE_AND_SET_NULL(sUnknown_0203CF0C);

View File

@ -3212,7 +3212,7 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite)
SetObjectSubpriorityByZCoord(objEvent->previousElevation, sprite, 1); SetObjectSubpriorityByZCoord(objEvent->previousElevation, sprite, 1);
sprite->oam.priority = ZCoordToPriority(objEvent->previousElevation); sprite->oam.priority = ZCoordToPriority(objEvent->previousElevation);
if (!linkPlayerObjEvent->movementMode != MOVEMENT_MODE_FREE) if (linkPlayerObjEvent->movementMode == MOVEMENT_MODE_FREE)
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objEvent->range.as_byte)); StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objEvent->range.as_byte));
else else
StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(objEvent->range.as_byte)); StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(objEvent->range.as_byte));

View File

@ -1862,7 +1862,7 @@ u8 GetMonAilment(struct Pokemon *mon)
static void SetPartyMonsAllowedInMinigame(void) static void SetPartyMonsAllowedInMinigame(void)
{ {
u16 *ptr; s16 *ptr;
if (gPartyMenu.menuType == PARTY_MENU_TYPE_MINIGAME) if (gPartyMenu.menuType == PARTY_MENU_TYPE_MINIGAME)
{ {
@ -4951,9 +4951,9 @@ static void Task_DisplayLevelUpStatsPg2(u8 taskId)
static void DisplayLevelUpStatsPg1(u8 taskId) static void DisplayLevelUpStatsPg1(u8 taskId)
{ {
s16 *arrayPtr = sPartyMenuInternal->data; u16 *arrayPtr = (u16*)sPartyMenuInternal->data;
arrayPtr[12] = CreateLevelUpStatsWindow(); arrayPtr[12] = (u16)CreateLevelUpStatsWindow();
DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); DrawLevelUpWindowPg1(arrayPtr[12], arrayPtr, &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
CopyWindowToVram(arrayPtr[12], 2); CopyWindowToVram(arrayPtr[12], 2);
ScheduleBgCopyTilemapToVram(2); ScheduleBgCopyTilemapToVram(2);
@ -4961,7 +4961,7 @@ static void DisplayLevelUpStatsPg1(u8 taskId)
static void DisplayLevelUpStatsPg2(u8 taskId) static void DisplayLevelUpStatsPg2(u8 taskId)
{ {
s16 *arrayPtr = sPartyMenuInternal->data; u16 *arrayPtr = (u16 *)sPartyMenuInternal->data;
DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); DrawLevelUpWindowPg2(arrayPtr[12], &arrayPtr[6], TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
CopyWindowToVram(arrayPtr[12], 2); CopyWindowToVram(arrayPtr[12], 2);

View File

@ -327,7 +327,7 @@ void PlayerPC(void)
static void InitPlayerPCMenu(u8 taskId) static void InitPlayerPCMenu(u8 taskId)
{ {
u16 *data; s16 *data;
struct WindowTemplate windowTemplate; struct WindowTemplate windowTemplate;
data = gTasks[taskId].data; data = gTasks[taskId].data;
@ -346,7 +346,7 @@ static void InitPlayerPCMenu(u8 taskId)
static void PlayerPCProcessMenuInput(u8 taskId) static void PlayerPCProcessMenuInput(u8 taskId)
{ {
u16 *data; s16 *data;
s8 inputOptionId; s8 inputOptionId;
data = gTasks[taskId].data; data = gTasks[taskId].data;
@ -435,7 +435,7 @@ static void PlayerPC_TurnOff(u8 taskId)
static void InitItemStorageMenu(u8 taskId, u8 var) static void InitItemStorageMenu(u8 taskId, u8 var)
{ {
u16 *data; s16 *data;
struct WindowTemplate windowTemplate; struct WindowTemplate windowTemplate;
data = gTasks[taskId].data; data = gTasks[taskId].data;
@ -548,7 +548,7 @@ static void ItemStorage_Toss(u8 taskId)
static void ItemStorage_WithdrawToss_Helper(u8 taskId, bool8 toss) static void ItemStorage_WithdrawToss_Helper(u8 taskId, bool8 toss)
{ {
u16 *data = gTasks[taskId].data; s16 *data = gTasks[taskId].data;
data[3] = toss; data[3] = toss;
sub_816B4DC(taskId); sub_816B4DC(taskId);
@ -581,9 +581,9 @@ static void ItemStorage_SetItemAndMailCount(u8 taskId)
static void sub_816B4DC(u8 taskId) static void sub_816B4DC(u8 taskId)
{ {
u16 *data = gTasks[taskId].data; u16 *data = (u16 *)gTasks[taskId].data;
ClearStdWindowAndFrameToTransparent(data[4], FALSE); ClearStdWindowAndFrameToTransparent((u8)data[4], FALSE);
ClearWindowTilemap(data[4]); ClearWindowTilemap(data[4]);
RemoveWindow(data[4]); RemoveWindow(data[4]);
ScheduleBgCopyTilemapToVram(0); ScheduleBgCopyTilemapToVram(0);
@ -1380,7 +1380,7 @@ static void ItemStorage_DoItemToss(u8 taskId)
data = gTasks[taskId].data; data = gTasks[taskId].data;
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove); b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
if (!ItemId_GetImportance(gSaveBlock1Ptr->pcItems[b].itemId)) if (ItemId_GetImportance(gSaveBlock1Ptr->pcItems[b].itemId) == 0)
{ {
CopyItemName(gSaveBlock1Ptr->pcItems[b].itemId, gStringVar1); CopyItemName(gSaveBlock1Ptr->pcItems[b].itemId, gStringVar1);
ConvertIntToDecimalStringN(gStringVar2, data[2], STR_CONV_MODE_LEFT_ALIGN, 3); ConvertIntToDecimalStringN(gStringVar2, data[2], STR_CONV_MODE_LEFT_ALIGN, 3);

View File

@ -5117,9 +5117,9 @@ static void Task_SelectSearchMenuItem(u8 taskId)
u16 *scrollOffset; u16 *scrollOffset;
DrawOrEraseSearchParameterBox(FALSE); DrawOrEraseSearchParameterBox(FALSE);
menuItem = gTasks[taskId].tMenuItem; menuItem = (u16)gTasks[taskId].tMenuItem;
cursorPos = &gTasks[taskId].data[sSearchOptions[menuItem].taskDataCursorPos]; cursorPos = (u16*)&gTasks[taskId].data[sSearchOptions[menuItem].taskDataCursorPos];
scrollOffset = &gTasks[taskId].data[sSearchOptions[menuItem].taskDataScrollOffset]; scrollOffset = (u16*)&gTasks[taskId].data[sSearchOptions[menuItem].taskDataScrollOffset];
gTasks[taskId].tCursorPos = *cursorPos; gTasks[taskId].tCursorPos = *cursorPos;
gTasks[taskId].tScrollOffset = *scrollOffset; gTasks[taskId].tScrollOffset = *scrollOffset;
PrintSearchParameterText(taskId); PrintSearchParameterText(taskId);

View File

@ -4628,7 +4628,7 @@ void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex)
gBattleMons[battlerId].statStages[i] = 6; gBattleMons[battlerId].statStages[i] = 6;
gBattleMons[battlerId].status2 = 0; gBattleMons[battlerId].status2 = 0;
sub_803FA70(battlerId); UpdateSentPokesToOpponentValue(battlerId);
ClearTemporarySpeciesSpriteData(battlerId, FALSE); ClearTemporarySpeciesSpriteData(battlerId, FALSE);
} }

View File

@ -633,7 +633,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -643,7 +643,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -653,7 +653,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -663,7 +663,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -673,7 +673,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -683,7 +683,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -693,7 +693,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -703,7 +703,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -713,7 +713,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -723,7 +723,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -733,7 +733,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -743,7 +743,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 1, .var05 = 1,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 8, .var07_0 = 8,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -753,7 +753,7 @@ static const struct UnkStruct1 gUnknown_085B6388[] =
.var05 = 10, .var05 = 10,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 14, .var07_0 = 14,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
}; };
@ -767,7 +767,7 @@ static const struct UnkStruct1 gUnknown_085B63F0[] =
.var05 = 30, .var05 = 30,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 14, .var07_0 = 14,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -777,7 +777,7 @@ static const struct UnkStruct1 gUnknown_085B63F0[] =
.var05 = 30, .var05 = 30,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 14, .var07_0 = 14,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
}, },
{ {
@ -787,7 +787,7 @@ static const struct UnkStruct1 gUnknown_085B63F0[] =
.var05 = 30, .var05 = 30,
.var06 = 0xFF, .var06 = 0xFF,
.var07_0 = 14, .var07_0 = 14,
.var07_5 = 2, .var07_5 = -2,
.var07_7 = 0 .var07_7 = 0
} }
}; };

View File

@ -349,7 +349,7 @@ static void VBlankCB_UpdateClockGraphics(void)
gMain.oamBuffer[0] = sClockOamData; gMain.oamBuffer[0] = sClockOamData;
gMain.oamBuffer[0].x = 112; gMain.oamBuffer[0].x = 112;
gMain.oamBuffer[0].y = (CLOCK_WIN_TOP + 1) * 8;; gMain.oamBuffer[0].y = (CLOCK_WIN_TOP + 1) * 8;
if (gSaveFailedClockInfo[CLOCK_RUNNING] != FALSE) if (gSaveFailedClockInfo[CLOCK_RUNNING] != FALSE)
{ {

View File

@ -788,8 +788,8 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx)
{ {
u8 mapGroup = ScriptReadByte(ctx); u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx);
u16 x; s16 x;
u16 y; s16 y;
PlayerGetDestCoords(&x, &y); PlayerGetDestCoords(&x, &y);
if (mapGroup == 0xFF && mapNum == 0xFF) if (mapGroup == 0xFF && mapNum == 0xFF)

View File

@ -964,7 +964,7 @@ static void HandleRegistryMenuInput(u8 taskId)
data = gTasks[taskId].data; data = gTasks[taskId].data;
input = ListMenu_ProcessInput(data[5]); input = ListMenu_ProcessInput(data[5]);
ListMenuGetScrollAndRow(data[5], &data[2], &data[1]); ListMenuGetScrollAndRow(data[5], (u16 *)&data[2], (u16 *)&data[1]);
switch (input) switch (input)
{ {
case LIST_NOTHING_CHOSEN: case LIST_NOTHING_CHOSEN:
@ -1045,10 +1045,10 @@ void DeleteRegistry_Yes_Callback(u8 taskId)
{ {
s16 *data = gTasks[taskId].data; s16 *data = gTasks[taskId].data;
ClearDialogWindowAndFrame(0, 0); ClearDialogWindowAndFrame(0, 0);
DestroyListMenuTask(data[5], &data[2], &data[1]); DestroyListMenuTask((u8)data[5], (u16 *)&data[2], (u16 *)&data[1]);
gSaveBlock1Ptr->secretBases[data[4]].registryStatus = 0; gSaveBlock1Ptr->secretBases[data[4]].registryStatus = 0;
BuildRegistryMenuItems(taskId); BuildRegistryMenuItems(taskId);
sub_812225C(&data[2], &data[1], data[3], data[0]); sub_812225C((u16 *)&data[2], (u16 *)&data[1], (u16)data[3], (u16)data[0]);
FinalizeRegistryMenu(taskId); FinalizeRegistryMenu(taskId);
gTasks[taskId].func = HandleRegistryMenuInput; gTasks[taskId].func = HandleRegistryMenuInput;
} }
@ -1062,7 +1062,7 @@ static void DeleteRegistry_No(u8 taskId)
{ {
s16 *data = gTasks[taskId].data; s16 *data = gTasks[taskId].data;
ClearDialogWindowAndFrame(0, 0); ClearDialogWindowAndFrame(0, 0);
DestroyListMenuTask(data[5], &data[2], &data[1]); DestroyListMenuTask((u8)data[5], (u16 *)&data[2], (u16 *)&data[1]);
FinalizeRegistryMenu(taskId); FinalizeRegistryMenu(taskId);
gTasks[taskId].func = HandleRegistryMenuInput; gTasks[taskId].func = HandleRegistryMenuInput;
} }

View File

@ -985,7 +985,7 @@ static void PlaySlotMachine_Internal(u8 slotMachineIndex, MainCallback exitCallb
{ {
struct Task *task = &gTasks[CreateTask(SlotMachineDummyTask, 0xFF)]; struct Task *task = &gTasks[CreateTask(SlotMachineDummyTask, 0xFF)];
task->data[0] = slotMachineIndex; task->data[0] = slotMachineIndex;
StoreWordInTwoHalfwords(&task->data[1], (intptr_t)exitCallback); StoreWordInTwoHalfwords((u16 *)&task->data[1], (intptr_t)exitCallback);
} }

View File

@ -463,7 +463,7 @@ static bool32 InitStartMenuStep(void)
sInitStartMenuData[0]++; sInitStartMenuData[0]++;
break; break;
case 4: case 4:
if (PrintStartMenuActions(&sInitStartMenuData[1], 2)) if (PrintStartMenuActions((s8 *)&sInitStartMenuData[1], 2))
sInitStartMenuData[0]++; sInitStartMenuData[0]++;
break; break;
case 5: case 5:

View File

@ -603,7 +603,7 @@ static void sub_80B44C8(u8 taskId)
struct ObjectEvent *objEvent; struct ObjectEvent *objEvent;
// another objEvent loaded into by loadword? // another objEvent loaded into by loadword?
LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&objEvent); LoadWordFromTwoHalfwords((u16*)&task->data[1], (u32 *)&objEvent);
if (!task->data[7]) if (!task->data[7])
{ {
ObjectEventClearHeldMovement(objEvent); ObjectEventClearHeldMovement(objEvent);
@ -624,7 +624,7 @@ static void sub_80B44C8(u8 taskId)
void sub_80B4578(struct ObjectEvent *var) void sub_80B4578(struct ObjectEvent *var)
{ {
StoreWordInTwoHalfwords(&gTasks[CreateTask(sub_80B44C8, 0)].data[1], (u32)var); StoreWordInTwoHalfwords((u16 *)&gTasks[CreateTask(sub_80B44C8, 0)].data[1], (u32)var);
} }
void EndTrainerApproach(void) void EndTrainerApproach(void)

View File

@ -282,7 +282,7 @@ static void HflipTile(unsigned char * tile, int bitDepth)
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
{ {
SWAP_NYBBLES(&tile[4 * i + 0], &tile[4 * i + 3]); SWAP_NYBBLES(&tile[4 * i + 0], &tile[4 * i + 3]);
SWAP_NYBBLES(&tile[4 * i + 1], &tile[4 * i + 2]);; SWAP_NYBBLES(&tile[4 * i + 1], &tile[4 * i + 2]);
} }
break; break;
case 8: case 8: