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