mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-03-19 20:18:34 +01:00
commit
ff48e5ada0
@ -1278,7 +1278,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|
|||||||
else if ((gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_FIRE_RED
|
else if ((gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_FIRE_RED
|
||||||
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_LEAF_GREEN)
|
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_LEAF_GREEN)
|
||||||
{
|
{
|
||||||
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0)
|
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != MALE)
|
||||||
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
|
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
|
||||||
else
|
else
|
||||||
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
|
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
|
||||||
@ -1286,7 +1286,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|
|||||||
else if ((gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_RUBY
|
else if ((gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_RUBY
|
||||||
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_SAPPHIRE)
|
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_SAPPHIRE)
|
||||||
{
|
{
|
||||||
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0)
|
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != MALE)
|
||||||
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_MAY];
|
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_MAY];
|
||||||
else
|
else
|
||||||
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_BRENDAN];
|
trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_BRENDAN];
|
||||||
|
@ -1438,7 +1438,7 @@ static void Blender_SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum,
|
|||||||
{
|
{
|
||||||
opponentBerryId = sOpponentBerrySets[opponentSetId][i];
|
opponentBerryId = sOpponentBerrySets[opponentSetId][i];
|
||||||
var = playerBerryItemId - 163;
|
var = playerBerryItemId - 163;
|
||||||
if (!FlagGet(0x340) && gSpecialVar_0x8004 == 1)
|
if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS) && gSpecialVar_0x8004 == 1)
|
||||||
{
|
{
|
||||||
opponentSetId %= 5;
|
opponentSetId %= 5;
|
||||||
opponentBerryId = sSpecialOpponentBerrySets[opponentSetId];
|
opponentBerryId = sSpecialOpponentBerrySets[opponentSetId];
|
||||||
|
@ -447,25 +447,25 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
|
|||||||
|
|
||||||
if (i < 16)
|
if (i < 16)
|
||||||
{
|
{
|
||||||
u16 val = VarGet(0x403B);
|
u16 val = VarGet(VAR_0x403B);
|
||||||
val |= 1 << i;
|
val |= 1 << i;
|
||||||
VarSet(0x403B, val);
|
VarSet(VAR_0x403B, val);
|
||||||
}
|
}
|
||||||
else if (i < 32)
|
else if (i < 32)
|
||||||
{
|
{
|
||||||
u16 val = VarGet(0x403C);
|
u16 val = VarGet(VAR_0x403C);
|
||||||
val |= 1 << (i - 16);
|
val |= 1 << (i - 16);
|
||||||
VarSet(0x403C, val);
|
VarSet(VAR_0x403C, val);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
u16 val = VarGet(0x403D);
|
u16 val = VarGet(VAR_0x403D);
|
||||||
val |= 1 << (i - 32);
|
val |= 1 << (i - 32);
|
||||||
VarSet(0x403D, val);
|
VarSet(VAR_0x403D, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
varValue = VarGet(0x403B);
|
varValue = VarGet(VAR_0x403B);
|
||||||
if (varValue != 0xFFFF || VarGet(0x403C) != varValue || VarGet(0x403D) != 0xF)
|
if (varValue != 0xFFFF || VarGet(VAR_0x403C) != varValue || VarGet(VAR_0x403D) != 0xF)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 21)
|
if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 21)
|
||||||
|
@ -146,10 +146,10 @@ const u8 gFacilityClassToTrainerClass[] =
|
|||||||
[FACILITY_CLASS_TWINS] = TRAINER_CLASS_TWINS,
|
[FACILITY_CLASS_TWINS] = TRAINER_CLASS_TWINS,
|
||||||
[FACILITY_CLASS_SAILOR] = TRAINER_CLASS_SAILOR,
|
[FACILITY_CLASS_SAILOR] = TRAINER_CLASS_SAILOR,
|
||||||
[FACILITY_CLASS_WALLY] = TRAINER_CLASS_PKMN_TRAINER_3,
|
[FACILITY_CLASS_WALLY] = TRAINER_CLASS_PKMN_TRAINER_3,
|
||||||
[FACILITY_CLASS_MAY] = TRAINER_CLASS_PKMN_TRAINER_3,
|
[FACILITY_CLASS_BRENDAN] = TRAINER_CLASS_PKMN_TRAINER_3,
|
||||||
[FACILITY_CLASS_BRENDAN_2] = TRAINER_CLASS_PKMN_TRAINER_3,
|
[FACILITY_CLASS_BRENDAN_2] = TRAINER_CLASS_PKMN_TRAINER_3,
|
||||||
[FACILITY_CLASS_BRENDAN_3] = TRAINER_CLASS_PKMN_TRAINER_3,
|
[FACILITY_CLASS_BRENDAN_3] = TRAINER_CLASS_PKMN_TRAINER_3,
|
||||||
[FACILITY_CLASS_BRENDAN] = TRAINER_CLASS_PKMN_TRAINER_3,
|
[FACILITY_CLASS_MAY] = TRAINER_CLASS_PKMN_TRAINER_3,
|
||||||
[FACILITY_CLASS_MAY_2] = TRAINER_CLASS_PKMN_TRAINER_3,
|
[FACILITY_CLASS_MAY_2] = TRAINER_CLASS_PKMN_TRAINER_3,
|
||||||
[FACILITY_CLASS_MAY_3] = TRAINER_CLASS_PKMN_TRAINER_3,
|
[FACILITY_CLASS_MAY_3] = TRAINER_CLASS_PKMN_TRAINER_3,
|
||||||
[FACILITY_CLASS_PKMN_BREEDER_M] = TRAINER_CLASS_PKMN_BREEDER,
|
[FACILITY_CLASS_PKMN_BREEDER_M] = TRAINER_CLASS_PKMN_BREEDER,
|
||||||
|
@ -70,13 +70,13 @@ const union AnimCmd gAnimCmd_RubySapphireMay_1[] =
|
|||||||
|
|
||||||
const union AnimCmd *const gTrainerBackAnims_Brendan[] =
|
const union AnimCmd *const gTrainerBackAnims_Brendan[] =
|
||||||
{
|
{
|
||||||
AnimCmd_82FF540,
|
gAnimCmd_General_Frame3,
|
||||||
gAnimCmd_Brendan_1,
|
gAnimCmd_Brendan_1,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd *const gTrainerBackAnims_May[] =
|
const union AnimCmd *const gTrainerBackAnims_May[] =
|
||||||
{
|
{
|
||||||
AnimCmd_82FF540,
|
gAnimCmd_General_Frame3,
|
||||||
gAnimCmd_May_Steven_1,
|
gAnimCmd_May_Steven_1,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -94,25 +94,25 @@ const union AnimCmd *const gTrainerBackAnims_Leaf[] =
|
|||||||
|
|
||||||
const union AnimCmd *const gTrainerBackAnims_RubySapphireBrendan[] =
|
const union AnimCmd *const gTrainerBackAnims_RubySapphireBrendan[] =
|
||||||
{
|
{
|
||||||
AnimCmd_82FF540,
|
gAnimCmd_General_Frame3,
|
||||||
gAnimCmd_RubySapphireBrendan_1,
|
gAnimCmd_RubySapphireBrendan_1,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd *const gTrainerBackAnims_RubySapphireMay[] =
|
const union AnimCmd *const gTrainerBackAnims_RubySapphireMay[] =
|
||||||
{
|
{
|
||||||
AnimCmd_82FF540,
|
gAnimCmd_General_Frame3,
|
||||||
gAnimCmd_RubySapphireMay_1,
|
gAnimCmd_RubySapphireMay_1,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd *const gTrainerBackAnims_Wally[] =
|
const union AnimCmd *const gTrainerBackAnims_Wally[] =
|
||||||
{
|
{
|
||||||
AnimCmd_82FF540,
|
gAnimCmd_General_Frame3,
|
||||||
gAnimCmd_Wally_1,
|
gAnimCmd_Wally_1,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd *const gTrainerBackAnims_Steven[] =
|
const union AnimCmd *const gTrainerBackAnims_Steven[] =
|
||||||
{
|
{
|
||||||
AnimCmd_82FF540,
|
gAnimCmd_General_Frame3,
|
||||||
gAnimCmd_May_Steven_1,
|
gAnimCmd_May_Steven_1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -15,24 +15,24 @@ const struct MonCoords gTrainerBackPicCoords[] =
|
|||||||
// the casts are so they'll play nice with the strict struct definition
|
// the casts are so they'll play nice with the strict struct definition
|
||||||
const struct CompressedSpriteSheet gTrainerBackPicTable[] =
|
const struct CompressedSpriteSheet gTrainerBackPicTable[] =
|
||||||
{
|
{
|
||||||
(const u32 *)gTrainerBackPic_Brendan, 0x2000, 0,
|
(const u32 *)gTrainerBackPic_Brendan, 0x2000, TRAINER_BACK_PIC_BRENDAN,
|
||||||
(const u32 *)gTrainerBackPic_May, 0x2000, 1,
|
(const u32 *)gTrainerBackPic_May, 0x2000, TRAINER_BACK_PIC_MAY,
|
||||||
(const u32 *)gTrainerBackPic_Red, 0x2800, 2,
|
(const u32 *)gTrainerBackPic_Red, 0x2800, TRAINER_BACK_PIC_RED,
|
||||||
(const u32 *)gTrainerBackPic_Leaf, 0x2800, 3,
|
(const u32 *)gTrainerBackPic_Leaf, 0x2800, TRAINER_BACK_PIC_LEAF,
|
||||||
(const u32 *)gTrainerBackPic_RubySapphireBrendan, 0x2000, 4,
|
(const u32 *)gTrainerBackPic_RubySapphireBrendan, 0x2000, TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN,
|
||||||
(const u32 *)gTrainerBackPic_RubySapphireMay, 0x2000, 5,
|
(const u32 *)gTrainerBackPic_RubySapphireMay, 0x2000, TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY,
|
||||||
(const u32 *)gTrainerBackPic_Wally, 0x2000, 6,
|
(const u32 *)gTrainerBackPic_Wally, 0x2000, TRAINER_BACK_PIC_WALLY,
|
||||||
(const u32 *)gTrainerBackPic_Steven, 0x2000, 7,
|
(const u32 *)gTrainerBackPic_Steven, 0x2000, TRAINER_BACK_PIC_STEVEN,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] =
|
const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] =
|
||||||
{
|
{
|
||||||
gTrainerPalette_Brendan, 0,
|
gTrainerPalette_Brendan, TRAINER_BACK_PIC_BRENDAN,
|
||||||
gTrainerPalette_May, 1,
|
gTrainerPalette_May, TRAINER_BACK_PIC_MAY,
|
||||||
gTrainerBackPicPalette_Red, 2,
|
gTrainerBackPicPalette_Red, TRAINER_BACK_PIC_RED,
|
||||||
gTrainerBackPicPalette_Leaf, 3,
|
gTrainerBackPicPalette_Leaf, TRAINER_BACK_PIC_LEAF,
|
||||||
gTrainerPalette_RubySapphireBrendan, 4,
|
gTrainerPalette_RubySapphireBrendan, TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN,
|
||||||
gTrainerPalette_RubySapphireMay, 5,
|
gTrainerPalette_RubySapphireMay, TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY,
|
||||||
gTrainerPalette_Wally, 6,
|
gTrainerPalette_Wally, TRAINER_BACK_PIC_WALLY,
|
||||||
gTrainerPalette_Steven, 7,
|
gTrainerPalette_Steven, TRAINER_BACK_PIC_STEVEN,
|
||||||
};
|
};
|
||||||
|
18
src/data2b.c
18
src/data2b.c
@ -40,7 +40,7 @@ const struct SpriteFrameImage gUnknown_082FF408[] =
|
|||||||
gHeap + 0xF800, 0x800,
|
gHeap + 0xF800, 0x800,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_082FF428[] =
|
const struct SpriteFrameImage gTrainerBackPicTable_Brendan[] =
|
||||||
{
|
{
|
||||||
gTrainerBackPic_Brendan, 0x0800,
|
gTrainerBackPic_Brendan, 0x0800,
|
||||||
gTrainerBackPic_Brendan + 0x0800, 0x0800,
|
gTrainerBackPic_Brendan + 0x0800, 0x0800,
|
||||||
@ -48,7 +48,7 @@ const struct SpriteFrameImage gUnknown_082FF428[] =
|
|||||||
gTrainerBackPic_Brendan + 0x1800, 0x0800,
|
gTrainerBackPic_Brendan + 0x1800, 0x0800,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_082FF448[] =
|
const struct SpriteFrameImage gTrainerBackPicTable_May[] =
|
||||||
{
|
{
|
||||||
gTrainerBackPic_May, 0x0800,
|
gTrainerBackPic_May, 0x0800,
|
||||||
gTrainerBackPic_May + 0x0800, 0x0800,
|
gTrainerBackPic_May + 0x0800, 0x0800,
|
||||||
@ -56,7 +56,7 @@ const struct SpriteFrameImage gUnknown_082FF448[] =
|
|||||||
gTrainerBackPic_May + 0x1800, 0x0800,
|
gTrainerBackPic_May + 0x1800, 0x0800,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_082FF468[] =
|
const struct SpriteFrameImage gTrainerBackPicTable_Red[] =
|
||||||
{
|
{
|
||||||
gTrainerBackPic_Red, 0x0800,
|
gTrainerBackPic_Red, 0x0800,
|
||||||
gTrainerBackPic_Red + 0x0800, 0x0800,
|
gTrainerBackPic_Red + 0x0800, 0x0800,
|
||||||
@ -65,7 +65,7 @@ const struct SpriteFrameImage gUnknown_082FF468[] =
|
|||||||
gTrainerBackPic_Red + 0x2000, 0x0800,
|
gTrainerBackPic_Red + 0x2000, 0x0800,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_082FF490[] =
|
const struct SpriteFrameImage gTrainerBackPicTable_Leaf[] =
|
||||||
{
|
{
|
||||||
gTrainerBackPic_Leaf, 0x0800,
|
gTrainerBackPic_Leaf, 0x0800,
|
||||||
gTrainerBackPic_Leaf + 0x0800, 0x0800,
|
gTrainerBackPic_Leaf + 0x0800, 0x0800,
|
||||||
@ -74,7 +74,7 @@ const struct SpriteFrameImage gUnknown_082FF490[] =
|
|||||||
gTrainerBackPic_Leaf + 0x2000, 0x0800,
|
gTrainerBackPic_Leaf + 0x2000, 0x0800,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_082FF4B8[] =
|
const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[] =
|
||||||
{
|
{
|
||||||
gTrainerBackPic_RubySapphireBrendan, 0x0800,
|
gTrainerBackPic_RubySapphireBrendan, 0x0800,
|
||||||
gTrainerBackPic_RubySapphireBrendan + 0x0800, 0x0800,
|
gTrainerBackPic_RubySapphireBrendan + 0x0800, 0x0800,
|
||||||
@ -82,7 +82,7 @@ const struct SpriteFrameImage gUnknown_082FF4B8[] =
|
|||||||
gTrainerBackPic_RubySapphireBrendan + 0x1800, 0x0800,
|
gTrainerBackPic_RubySapphireBrendan + 0x1800, 0x0800,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_082FF4D8[] =
|
const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[] =
|
||||||
{
|
{
|
||||||
gTrainerBackPic_RubySapphireMay, 0x0800,
|
gTrainerBackPic_RubySapphireMay, 0x0800,
|
||||||
gTrainerBackPic_RubySapphireMay + 0x0800, 0x0800,
|
gTrainerBackPic_RubySapphireMay + 0x0800, 0x0800,
|
||||||
@ -90,7 +90,7 @@ const struct SpriteFrameImage gUnknown_082FF4D8[] =
|
|||||||
gTrainerBackPic_RubySapphireMay + 0x1800, 0x0800,
|
gTrainerBackPic_RubySapphireMay + 0x1800, 0x0800,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_082FF4F8[] =
|
const struct SpriteFrameImage gTrainerBackPicTable_Wally[] =
|
||||||
{
|
{
|
||||||
gTrainerBackPic_Wally, 0x0800,
|
gTrainerBackPic_Wally, 0x0800,
|
||||||
gTrainerBackPic_Wally + 0x0800, 0x0800,
|
gTrainerBackPic_Wally + 0x0800, 0x0800,
|
||||||
@ -98,7 +98,7 @@ const struct SpriteFrameImage gUnknown_082FF4F8[] =
|
|||||||
gTrainerBackPic_Wally + 0x1800, 0x0800,
|
gTrainerBackPic_Wally + 0x1800, 0x0800,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteFrameImage gUnknown_082FF518[] =
|
const struct SpriteFrameImage gTrainerBackPicTable_Steven[] =
|
||||||
{
|
{
|
||||||
gTrainerBackPic_Steven, 0x0800,
|
gTrainerBackPic_Steven, 0x0800,
|
||||||
gTrainerBackPic_Steven + 0x0800, 0x0800,
|
gTrainerBackPic_Steven + 0x0800, 0x0800,
|
||||||
@ -112,7 +112,7 @@ const union AnimCmd gAnimCmd_General_Frame0[] =
|
|||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
const union AnimCmd AnimCmd_82FF540[] =
|
const union AnimCmd gAnimCmd_General_Frame3[] =
|
||||||
{
|
{
|
||||||
ANIMCMD_FRAME(3, 0),
|
ANIMCMD_FRAME(3, 0),
|
||||||
ANIMCMD_END,
|
ANIMCMD_END,
|
||||||
|
@ -1244,17 +1244,17 @@ void sub_8127E18(void)
|
|||||||
|
|
||||||
for (i = 0; i < 14; i ++)
|
for (i = 0; i < 14; i ++)
|
||||||
{
|
{
|
||||||
if (FlagGet(0xAE + i) == TRUE)
|
if (FlagGet(FLAG_DECORATION_1 + i) == TRUE)
|
||||||
{
|
{
|
||||||
FlagClear(0xAE + i);
|
FlagClear(FLAG_DECORATION_1 + i);
|
||||||
for (j = 0; j < gMapHeader.events->eventObjectCount; j ++)
|
for (j = 0; j < gMapHeader.events->eventObjectCount; j ++)
|
||||||
{
|
{
|
||||||
if (gMapHeader.events->eventObjects[j].flagId == 0xAE + i)
|
if (gMapHeader.events->eventObjects[j].flagId == FLAG_DECORATION_1 + i)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
VarSet(0x3F20 + gMapHeader.events->eventObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]);
|
VarSet(VAR_0x3F20 + gMapHeader.events->eventObjects[j].graphicsId, sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0]);
|
||||||
gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId;
|
gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId;
|
||||||
gSpecialVar_0x8006 = sCurDecorMapX;
|
gSpecialVar_0x8006 = sCurDecorMapX;
|
||||||
gSpecialVar_0x8007 = sCurDecorMapY;
|
gSpecialVar_0x8007 = sCurDecorMapY;
|
||||||
|
@ -300,8 +300,8 @@ void Task_HandlePorthole(u8 taskId)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EXIT_PORTHOLE: // exit porthole.
|
case EXIT_PORTHOLE: // exit porthole.
|
||||||
FlagClear(0x4001);
|
FlagClear(FLAG_SPECIAL_FLAG_0x4001);
|
||||||
FlagClear(0x4000);
|
FlagClear(FLAG_SPECIAL_FLAG_0x4000);
|
||||||
SetWarpDestinationToDynamicWarp(0);
|
SetWarpDestinationToDynamicWarp(0);
|
||||||
DoDiveWarp();
|
DoDiveWarp();
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
@ -315,7 +315,7 @@ void sub_80FB6EC(void)
|
|||||||
|
|
||||||
gSprites[spriteId].coordOffsetEnabled = FALSE;
|
gSprites[spriteId].coordOffsetEnabled = FALSE;
|
||||||
|
|
||||||
if (VarGet(0x40B4) == 2)
|
if (VarGet(VAR_PORTHOLE_STATE) == 2)
|
||||||
{
|
{
|
||||||
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(4));
|
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(4));
|
||||||
}
|
}
|
||||||
@ -337,8 +337,8 @@ void sub_80FB768(void)
|
|||||||
void sub_80FB7A4(void)
|
void sub_80FB7A4(void)
|
||||||
{
|
{
|
||||||
FlagSet(FLAG_SYS_CRUISE_MODE);
|
FlagSet(FLAG_SYS_CRUISE_MODE);
|
||||||
FlagSet(0x4001);
|
FlagSet(FLAG_SPECIAL_FLAG_0x4001);
|
||||||
FlagSet(0x4000);
|
FlagSet(FLAG_SPECIAL_FLAG_0x4000);
|
||||||
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
|
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
|
||||||
sub_80FB59C();
|
sub_80FB59C();
|
||||||
sub_80AF8B8();
|
sub_80AF8B8();
|
||||||
|
@ -52,14 +52,14 @@ extern const struct SpriteFrameImage gUnknown_082FF3A8[];
|
|||||||
extern const struct SpriteFrameImage gUnknown_082FF3C8[];
|
extern const struct SpriteFrameImage gUnknown_082FF3C8[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF3E8[];
|
extern const struct SpriteFrameImage gUnknown_082FF3E8[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF408[];
|
extern const struct SpriteFrameImage gUnknown_082FF408[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF428[];
|
extern const struct SpriteFrameImage gTrainerBackPicTable_Brendan[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF448[];
|
extern const struct SpriteFrameImage gTrainerBackPicTable_May[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF468[];
|
extern const struct SpriteFrameImage gTrainerBackPicTable_Red[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF490[];
|
extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF4B8[];
|
extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF4D8[];
|
extern const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF4F8[];
|
extern const struct SpriteFrameImage gTrainerBackPicTable_Wally[];
|
||||||
extern const struct SpriteFrameImage gUnknown_082FF518[];
|
extern const struct SpriteFrameImage gTrainerBackPicTable_Steven[];
|
||||||
extern const union AffineAnimCmd *const gUnknown_082FF618[];
|
extern const union AffineAnimCmd *const gUnknown_082FF618[];
|
||||||
extern const union AffineAnimCmd *const gUnknown_082FF694[];
|
extern const union AffineAnimCmd *const gUnknown_082FF694[];
|
||||||
extern const union AnimCmd *gPlayerMonSpriteAnimsTable[];
|
extern const union AnimCmd *gPlayerMonSpriteAnimsTable[];
|
||||||
@ -2328,14 +2328,14 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] =
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate gUnknown_08329DF8[] =
|
static const struct SpriteTemplate gSpriteTemplateTable_TrainerBackSprites[] =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
.tileTag = 0xFFFF,
|
.tileTag = 0xFFFF,
|
||||||
.paletteTag = 0,
|
.paletteTag = 0,
|
||||||
.oam = &gOamData_831ACB0,
|
.oam = &gOamData_831ACB0,
|
||||||
.anims = NULL,
|
.anims = NULL,
|
||||||
.images = gUnknown_082FF428,
|
.images = gTrainerBackPicTable_Brendan,
|
||||||
.affineAnims = gUnknown_082FF618,
|
.affineAnims = gUnknown_082FF618,
|
||||||
.callback = sub_8039BB4,
|
.callback = sub_8039BB4,
|
||||||
},
|
},
|
||||||
@ -2344,7 +2344,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
|
|||||||
.paletteTag = 0,
|
.paletteTag = 0,
|
||||||
.oam = &gOamData_831ACB0,
|
.oam = &gOamData_831ACB0,
|
||||||
.anims = NULL,
|
.anims = NULL,
|
||||||
.images = gUnknown_082FF448,
|
.images = gTrainerBackPicTable_May,
|
||||||
.affineAnims = gUnknown_082FF618,
|
.affineAnims = gUnknown_082FF618,
|
||||||
.callback = sub_8039BB4,
|
.callback = sub_8039BB4,
|
||||||
},
|
},
|
||||||
@ -2353,7 +2353,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
|
|||||||
.paletteTag = 0,
|
.paletteTag = 0,
|
||||||
.oam = &gOamData_831ACB0,
|
.oam = &gOamData_831ACB0,
|
||||||
.anims = NULL,
|
.anims = NULL,
|
||||||
.images = gUnknown_082FF468,
|
.images = gTrainerBackPicTable_Red,
|
||||||
.affineAnims = gUnknown_082FF618,
|
.affineAnims = gUnknown_082FF618,
|
||||||
.callback = sub_8039BB4,
|
.callback = sub_8039BB4,
|
||||||
},
|
},
|
||||||
@ -2362,7 +2362,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
|
|||||||
.paletteTag = 0,
|
.paletteTag = 0,
|
||||||
.oam = &gOamData_831ACB0,
|
.oam = &gOamData_831ACB0,
|
||||||
.anims = NULL,
|
.anims = NULL,
|
||||||
.images = gUnknown_082FF490,
|
.images = gTrainerBackPicTable_Leaf,
|
||||||
.affineAnims = gUnknown_082FF618,
|
.affineAnims = gUnknown_082FF618,
|
||||||
.callback = sub_8039BB4,
|
.callback = sub_8039BB4,
|
||||||
},
|
},
|
||||||
@ -2371,7 +2371,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
|
|||||||
.paletteTag = 0,
|
.paletteTag = 0,
|
||||||
.oam = &gOamData_831ACB0,
|
.oam = &gOamData_831ACB0,
|
||||||
.anims = NULL,
|
.anims = NULL,
|
||||||
.images = gUnknown_082FF4B8,
|
.images = gTrainerBackPicTable_RubySapphireBrendan,
|
||||||
.affineAnims = gUnknown_082FF618,
|
.affineAnims = gUnknown_082FF618,
|
||||||
.callback = sub_8039BB4,
|
.callback = sub_8039BB4,
|
||||||
},
|
},
|
||||||
@ -2380,7 +2380,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
|
|||||||
.paletteTag = 0,
|
.paletteTag = 0,
|
||||||
.oam = &gOamData_831ACB0,
|
.oam = &gOamData_831ACB0,
|
||||||
.anims = NULL,
|
.anims = NULL,
|
||||||
.images = gUnknown_082FF4D8,
|
.images = gTrainerBackPicTable_RubySapphireMay,
|
||||||
.affineAnims = gUnknown_082FF618,
|
.affineAnims = gUnknown_082FF618,
|
||||||
.callback = sub_8039BB4,
|
.callback = sub_8039BB4,
|
||||||
},
|
},
|
||||||
@ -2389,7 +2389,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
|
|||||||
.paletteTag = 0,
|
.paletteTag = 0,
|
||||||
.oam = &gOamData_831ACB0,
|
.oam = &gOamData_831ACB0,
|
||||||
.anims = NULL,
|
.anims = NULL,
|
||||||
.images = gUnknown_082FF4F8,
|
.images = gTrainerBackPicTable_Wally,
|
||||||
.affineAnims = gUnknown_082FF618,
|
.affineAnims = gUnknown_082FF618,
|
||||||
.callback = sub_8039BB4,
|
.callback = sub_8039BB4,
|
||||||
},
|
},
|
||||||
@ -2398,7 +2398,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
|
|||||||
.paletteTag = 0,
|
.paletteTag = 0,
|
||||||
.oam = &gOamData_831ACB0,
|
.oam = &gOamData_831ACB0,
|
||||||
.anims = NULL,
|
.anims = NULL,
|
||||||
.images = gUnknown_082FF518,
|
.images = gTrainerBackPicTable_Steven,
|
||||||
.affineAnims = gUnknown_082FF618,
|
.affineAnims = gUnknown_082FF618,
|
||||||
.callback = sub_8039BB4,
|
.callback = sub_8039BB4,
|
||||||
},
|
},
|
||||||
@ -3817,7 +3817,7 @@ void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosit
|
|||||||
gMultiuseSpriteTemplate.paletteTag = trainerSpriteId;
|
gMultiuseSpriteTemplate.paletteTag = trainerSpriteId;
|
||||||
if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT)
|
if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT)
|
||||||
{
|
{
|
||||||
gMultiuseSpriteTemplate = gUnknown_08329DF8[trainerSpriteId];
|
gMultiuseSpriteTemplate = gSpriteTemplateTable_TrainerBackSprites[trainerSpriteId];
|
||||||
gMultiuseSpriteTemplate.anims = gTrainerBackAnimsPtrTable[trainerSpriteId];
|
gMultiuseSpriteTemplate.anims = gTrainerBackAnimsPtrTable[trainerSpriteId];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
129
src/siirtc.c
129
src/siirtc.c
@ -46,6 +46,19 @@
|
|||||||
#define CMD_TIME CMD(3)
|
#define CMD_TIME CMD(3)
|
||||||
#define CMD_ALARM CMD(4)
|
#define CMD_ALARM CMD(4)
|
||||||
|
|
||||||
|
#define SCK_HI 1
|
||||||
|
#define SIO_HI 2
|
||||||
|
#define CS_HI 4
|
||||||
|
|
||||||
|
#define DIR_0_IN 0
|
||||||
|
#define DIR_0_OUT 1
|
||||||
|
#define DIR_1_IN 0
|
||||||
|
#define DIR_1_OUT 2
|
||||||
|
#define DIR_2_IN 0
|
||||||
|
#define DIR_2_OUT 4
|
||||||
|
#define DIR_ALL_IN (DIR_0_IN | DIR_1_IN | DIR_2_IN)
|
||||||
|
#define DIR_ALL_OUT (DIR_0_OUT | DIR_1_OUT | DIR_2_OUT)
|
||||||
|
|
||||||
#define GPIO_PORT_DATA (*(vu16 *)0x80000C4)
|
#define GPIO_PORT_DATA (*(vu16 *)0x80000C4)
|
||||||
#define GPIO_PORT_DIRECTION (*(vu16 *)0x80000C6)
|
#define GPIO_PORT_DIRECTION (*(vu16 *)0x80000C6)
|
||||||
#define GPIO_PORT_READ_ENABLE (*(vu16 *)0x80000C8)
|
#define GPIO_PORT_READ_ENABLE (*(vu16 *)0x80000C8)
|
||||||
@ -126,15 +139,15 @@ bool8 SiiRtcReset()
|
|||||||
|
|
||||||
sLocked = TRUE;
|
sLocked = TRUE;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 5;
|
GPIO_PORT_DATA = SCK_HI | CS_HI;
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 7;
|
GPIO_PORT_DIRECTION = DIR_ALL_OUT;
|
||||||
|
|
||||||
WriteCommand(CMD_RESET | WR);
|
WriteCommand(CMD_RESET | WR);
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
|
|
||||||
sLocked = FALSE;
|
sLocked = FALSE;
|
||||||
|
|
||||||
@ -154,14 +167,14 @@ bool8 SiiRtcGetStatus(struct SiiRtcInfo *rtc)
|
|||||||
|
|
||||||
sLocked = TRUE;
|
sLocked = TRUE;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 5;
|
GPIO_PORT_DATA = SCK_HI | CS_HI;
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 7;
|
GPIO_PORT_DIRECTION = DIR_ALL_OUT;
|
||||||
|
|
||||||
WriteCommand(CMD_STATUS | RD);
|
WriteCommand(CMD_STATUS | RD);
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 5;
|
GPIO_PORT_DIRECTION = DIR_0_OUT | DIR_1_IN | DIR_2_OUT;
|
||||||
|
|
||||||
statusData = ReadData();
|
statusData = ReadData();
|
||||||
|
|
||||||
@ -170,8 +183,8 @@ bool8 SiiRtcGetStatus(struct SiiRtcInfo *rtc)
|
|||||||
| ((statusData & STATUS_INTME) >> 2)
|
| ((statusData & STATUS_INTME) >> 2)
|
||||||
| ((statusData & STATUS_INTFE) >> 1);
|
| ((statusData & STATUS_INTFE) >> 1);
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
|
|
||||||
sLocked = FALSE;
|
sLocked = FALSE;
|
||||||
|
|
||||||
@ -187,22 +200,22 @@ bool8 SiiRtcSetStatus(struct SiiRtcInfo *rtc)
|
|||||||
|
|
||||||
sLocked = TRUE;
|
sLocked = TRUE;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 5;
|
GPIO_PORT_DATA = SCK_HI | CS_HI;
|
||||||
|
|
||||||
statusData = STATUS_24HOUR
|
statusData = STATUS_24HOUR
|
||||||
| ((rtc->status & SIIRTCINFO_INTAE) << 3)
|
| ((rtc->status & SIIRTCINFO_INTAE) << 3)
|
||||||
| ((rtc->status & SIIRTCINFO_INTME) << 2)
|
| ((rtc->status & SIIRTCINFO_INTME) << 2)
|
||||||
| ((rtc->status & SIIRTCINFO_INTFE) << 1);
|
| ((rtc->status & SIIRTCINFO_INTFE) << 1);
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 7;
|
GPIO_PORT_DIRECTION = DIR_ALL_OUT;
|
||||||
|
|
||||||
WriteCommand(CMD_STATUS | WR);
|
WriteCommand(CMD_STATUS | WR);
|
||||||
|
|
||||||
WriteData(statusData);
|
WriteData(statusData);
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
|
|
||||||
sLocked = FALSE;
|
sLocked = FALSE;
|
||||||
|
|
||||||
@ -218,22 +231,22 @@ bool8 SiiRtcGetDateTime(struct SiiRtcInfo *rtc)
|
|||||||
|
|
||||||
sLocked = TRUE;
|
sLocked = TRUE;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 5;
|
GPIO_PORT_DATA = SCK_HI | CS_HI;
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 7;
|
GPIO_PORT_DIRECTION = DIR_ALL_OUT;
|
||||||
|
|
||||||
WriteCommand(CMD_DATETIME | RD);
|
WriteCommand(CMD_DATETIME | RD);
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 5;
|
GPIO_PORT_DIRECTION = DIR_0_OUT | DIR_1_IN | DIR_2_OUT;
|
||||||
|
|
||||||
for (i = 0; i < DATETIME_BUF_LEN; i++)
|
for (i = 0; i < DATETIME_BUF_LEN; i++)
|
||||||
DATETIME_BUF(rtc, i) = ReadData();
|
DATETIME_BUF(rtc, i) = ReadData();
|
||||||
|
|
||||||
INFO_BUF(rtc, OFFSET_HOUR) &= 0x7F;
|
INFO_BUF(rtc, OFFSET_HOUR) &= 0x7F;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
|
|
||||||
sLocked = FALSE;
|
sLocked = FALSE;
|
||||||
|
|
||||||
@ -249,18 +262,18 @@ bool8 SiiRtcSetDateTime(struct SiiRtcInfo *rtc)
|
|||||||
|
|
||||||
sLocked = TRUE;
|
sLocked = TRUE;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 5;
|
GPIO_PORT_DATA = SCK_HI | CS_HI;
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 7;
|
GPIO_PORT_DIRECTION = DIR_ALL_OUT;
|
||||||
|
|
||||||
WriteCommand(CMD_DATETIME | WR);
|
WriteCommand(CMD_DATETIME | WR);
|
||||||
|
|
||||||
for (i = 0; i < DATETIME_BUF_LEN; i++)
|
for (i = 0; i < DATETIME_BUF_LEN; i++)
|
||||||
WriteData(DATETIME_BUF(rtc, i));
|
WriteData(DATETIME_BUF(rtc, i));
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
|
|
||||||
sLocked = FALSE;
|
sLocked = FALSE;
|
||||||
|
|
||||||
@ -276,22 +289,22 @@ bool8 SiiRtcGetTime(struct SiiRtcInfo *rtc)
|
|||||||
|
|
||||||
sLocked = TRUE;
|
sLocked = TRUE;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 5;
|
GPIO_PORT_DATA = SCK_HI | CS_HI;
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 7;
|
GPIO_PORT_DIRECTION = DIR_ALL_OUT;
|
||||||
|
|
||||||
WriteCommand(CMD_TIME | RD);
|
WriteCommand(CMD_TIME | RD);
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 5;
|
GPIO_PORT_DIRECTION = DIR_0_OUT | DIR_1_IN | DIR_2_OUT;
|
||||||
|
|
||||||
for (i = 0; i < TIME_BUF_LEN; i++)
|
for (i = 0; i < TIME_BUF_LEN; i++)
|
||||||
TIME_BUF(rtc, i) = ReadData();
|
TIME_BUF(rtc, i) = ReadData();
|
||||||
|
|
||||||
INFO_BUF(rtc, OFFSET_HOUR) &= 0x7F;
|
INFO_BUF(rtc, OFFSET_HOUR) &= 0x7F;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
|
|
||||||
sLocked = FALSE;
|
sLocked = FALSE;
|
||||||
|
|
||||||
@ -307,18 +320,18 @@ bool8 SiiRtcSetTime(struct SiiRtcInfo *rtc)
|
|||||||
|
|
||||||
sLocked = TRUE;
|
sLocked = TRUE;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 5;
|
GPIO_PORT_DATA = SCK_HI | CS_HI;
|
||||||
|
|
||||||
GPIO_PORT_DIRECTION = 7;
|
GPIO_PORT_DIRECTION = DIR_ALL_OUT;
|
||||||
|
|
||||||
WriteCommand(CMD_TIME | WR);
|
WriteCommand(CMD_TIME | WR);
|
||||||
|
|
||||||
for (i = 0; i < TIME_BUF_LEN; i++)
|
for (i = 0; i < TIME_BUF_LEN; i++)
|
||||||
WriteData(TIME_BUF(rtc, i));
|
WriteData(TIME_BUF(rtc, i));
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
|
|
||||||
sLocked = FALSE;
|
sLocked = FALSE;
|
||||||
|
|
||||||
@ -347,18 +360,18 @@ bool8 SiiRtcSetAlarm(struct SiiRtcInfo *rtc)
|
|||||||
|
|
||||||
alarmData[1] = rtc->alarmMinute;
|
alarmData[1] = rtc->alarmMinute;
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 5;
|
GPIO_PORT_DATA = SCK_HI | CS_HI;
|
||||||
|
|
||||||
GPIOPortDirection = 7; // Why is this the only instance that uses a symbol?
|
GPIOPortDirection = DIR_ALL_OUT; // Why is this the only instance that uses a symbol?
|
||||||
|
|
||||||
WriteCommand(CMD_ALARM | WR);
|
WriteCommand(CMD_ALARM | WR);
|
||||||
|
|
||||||
for (i = 0; i < 2; i++)
|
for (i = 0; i < 2; i++)
|
||||||
WriteData(alarmData[i]);
|
WriteData(alarmData[i]);
|
||||||
|
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
GPIO_PORT_DATA = 1;
|
GPIO_PORT_DATA = SCK_HI;
|
||||||
|
|
||||||
sLocked = FALSE;
|
sLocked = FALSE;
|
||||||
|
|
||||||
@ -373,10 +386,10 @@ static int WriteCommand(u8 value)
|
|||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
temp = ((value >> (7 - i)) & 1);
|
temp = ((value >> (7 - i)) & 1);
|
||||||
GPIO_PORT_DATA = (temp << 1) | 4;
|
GPIO_PORT_DATA = (temp << 1) | CS_HI;
|
||||||
GPIO_PORT_DATA = (temp << 1) | 4;
|
GPIO_PORT_DATA = (temp << 1) | CS_HI;
|
||||||
GPIO_PORT_DATA = (temp << 1) | 4;
|
GPIO_PORT_DATA = (temp << 1) | CS_HI;
|
||||||
GPIO_PORT_DATA = (temp << 1) | 5;
|
GPIO_PORT_DATA = (temp << 1) | SCK_HI | CS_HI;
|
||||||
}
|
}
|
||||||
|
|
||||||
// control reaches end of non-void function
|
// control reaches end of non-void function
|
||||||
@ -390,10 +403,10 @@ static int WriteData(u8 value)
|
|||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
temp = ((value >> i) & 1);
|
temp = ((value >> i) & 1);
|
||||||
GPIO_PORT_DATA = (temp << 1) | 4;
|
GPIO_PORT_DATA = (temp << 1) | CS_HI;
|
||||||
GPIO_PORT_DATA = (temp << 1) | 4;
|
GPIO_PORT_DATA = (temp << 1) | CS_HI;
|
||||||
GPIO_PORT_DATA = (temp << 1) | 4;
|
GPIO_PORT_DATA = (temp << 1) | CS_HI;
|
||||||
GPIO_PORT_DATA = (temp << 1) | 5;
|
GPIO_PORT_DATA = (temp << 1) | SCK_HI | CS_HI;
|
||||||
}
|
}
|
||||||
|
|
||||||
// control reaches end of non-void function
|
// control reaches end of non-void function
|
||||||
@ -407,14 +420,14 @@ static u8 ReadData()
|
|||||||
|
|
||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
GPIO_PORT_DATA = 4;
|
GPIO_PORT_DATA = CS_HI;
|
||||||
GPIO_PORT_DATA = 4;
|
GPIO_PORT_DATA = CS_HI;
|
||||||
GPIO_PORT_DATA = 4;
|
GPIO_PORT_DATA = CS_HI;
|
||||||
GPIO_PORT_DATA = 4;
|
GPIO_PORT_DATA = CS_HI;
|
||||||
GPIO_PORT_DATA = 4;
|
GPIO_PORT_DATA = CS_HI;
|
||||||
GPIO_PORT_DATA = 5;
|
GPIO_PORT_DATA = SCK_HI | CS_HI;
|
||||||
|
|
||||||
temp = ((GPIO_PORT_DATA & 2) >> 1);
|
temp = ((GPIO_PORT_DATA & SIO_HI) >> 1);
|
||||||
value = (value >> 1) | (temp << 7); // UB: accessing uninitialized var
|
value = (value >> 1) | (temp << 7); // UB: accessing uninitialized var
|
||||||
}
|
}
|
||||||
|
|
||||||
|
10
src/tv.c
10
src/tv.c
@ -972,7 +972,7 @@ void GabbyAndTyBeforeInterview(void)
|
|||||||
TakeTVShowInSearchOfTrainersOffTheAir();
|
TakeTVShowInSearchOfTrainersOffTheAir();
|
||||||
if (gSaveBlock1Ptr->gabbyAndTyData.lastMove == MOVE_NONE)
|
if (gSaveBlock1Ptr->gabbyAndTyData.lastMove == MOVE_NONE)
|
||||||
{
|
{
|
||||||
FlagSet(0x0001);
|
FlagSet(FLAG_TEMP_1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2564,13 +2564,13 @@ void sub_80EEA70(void)
|
|||||||
show->secretBaseSecrets.kind = TVSHOW_SECRET_BASE_SECRETS;
|
show->secretBaseSecrets.kind = TVSHOW_SECRET_BASE_SECRETS;
|
||||||
show->secretBaseSecrets.active = FALSE;
|
show->secretBaseSecrets.active = FALSE;
|
||||||
StringCopy(show->secretBaseSecrets.playerName, gSaveBlock2Ptr->playerName);
|
StringCopy(show->secretBaseSecrets.playerName, gSaveBlock2Ptr->playerName);
|
||||||
show->secretBaseSecrets.stepsInBase = VarGet(0x40ec);
|
show->secretBaseSecrets.stepsInBase = VarGet(VAR_0x40EC);
|
||||||
sub_80E980C();
|
sub_80E980C();
|
||||||
StringCopy(strbuf, gStringVar1);
|
StringCopy(strbuf, gStringVar1);
|
||||||
StripExtCtrlCodes(strbuf);
|
StripExtCtrlCodes(strbuf);
|
||||||
StringCopy(show->secretBaseSecrets.baseOwnersName, strbuf);
|
StringCopy(show->secretBaseSecrets.baseOwnersName, strbuf);
|
||||||
show->secretBaseSecrets.item = VarGet(0x40ed);
|
show->secretBaseSecrets.item = VarGet(VAR_0x40ED);
|
||||||
show->secretBaseSecrets.flags = VarGet(0x40ee) + (VarGet(0x40ef) << 16);
|
show->secretBaseSecrets.flags = VarGet(VAR_0x40EE) + (VarGet(VAR_0x40EF) << 16);
|
||||||
tv_store_id_3x(show);
|
tv_store_id_3x(show);
|
||||||
show->secretBaseSecrets.language = gGameLanguage;
|
show->secretBaseSecrets.language = gGameLanguage;
|
||||||
if (show->secretBaseSecrets.language == LANGUAGE_JAPANESE || gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].language == LANGUAGE_JAPANESE)
|
if (show->secretBaseSecrets.language == LANGUAGE_JAPANESE || gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].language == LANGUAGE_JAPANESE)
|
||||||
@ -3604,7 +3604,7 @@ void sub_80F01B8(void)
|
|||||||
{
|
{
|
||||||
VarSet(VAR_0x40BC, 0);
|
VarSet(VAR_0x40BC, 0);
|
||||||
RemoveEventObjectByLocalIdAndMap(5, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
RemoveEventObjectByLocalIdAndMap(5, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||||
FlagSet(0x396);
|
FlagSet(FLAG_HIDE_BATTLE_TOWER_REPORTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx)
|
void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user