Document more trade.c

This commit is contained in:
GriffinR
2019-10-06 22:58:25 -04:00
parent 66a68159b1
commit d1bcd60b58
10 changed files with 370 additions and 358 deletions

View File

@@ -39,14 +39,14 @@ static const u8 sText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for ba
static const u8 sText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…");
static const u8 sText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON.");
static const struct OamData gOamData_832DC14 =
static const struct OamData sTradeOamData_32x16 =
{
.shape = SPRITE_SHAPE(32x16),
.size = SPRITE_SIZE(32x16),
.priority = 1
};
static const struct OamData gOamData_832DC1C =
static const struct OamData sTradeOamData_64x32 =
{
.shape = SPRITE_SHAPE(64x32),
.size = SPRITE_SIZE(64x32),
@@ -134,7 +134,7 @@ static const struct SpriteTemplate gSpriteTemplate_832DC94 =
{
.tileTag = 300,
.paletteTag = 2345,
.oam = &gOamData_832DC1C,
.oam = &sTradeOamData_64x32,
.anims = gSpriteAnimTable_832DC34,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -145,7 +145,7 @@ static const struct SpriteTemplate gSpriteTemplate_832DCAC =
{
.tileTag = 200,
.paletteTag = 4925,
.oam = &gOamData_832DC14,
.oam = &sTradeOamData_32x16,
.anims = gSpriteAnimTable_832DC7C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -271,7 +271,7 @@ static const u8 gTradeMonSpriteCoords[(PARTY_SIZE * 2) + 1][2] =
{23, 18} // CANCEL
};
static const u8 gTradeLevelDisplayCoords[][PARTY_SIZE][2] =
static const u8 sTradeMonCoords[][PARTY_SIZE][2] =
{
{
// Your party
@@ -293,7 +293,7 @@ static const u8 gTradeLevelDisplayCoords[][PARTY_SIZE][2] =
}
};
static const u8 gTradeMonBoxCoords[][PARTY_SIZE][2] =
static const u8 sTradeMonBoxDimensions[][PARTY_SIZE][2] =
{
{
// Your party
@@ -373,7 +373,7 @@ static const u8 sTradeTextColors[] =
TEXT_COLOR_DARK_GREY //shadow color
};
static const struct BgTemplate gUnknown_0832DEE4[] =
static const struct BgTemplate sTradeMenuBgTemplates[] =
{
{
.bg = 0,
@@ -413,7 +413,7 @@ static const struct BgTemplate gUnknown_0832DEE4[] =
},
};
static const struct WindowTemplate gUnknown_0832DEF4[] =
static const struct WindowTemplate sTradeMenuWindowTemplates[] =
{
{
.bg = 0,
@@ -1057,7 +1057,7 @@ static const u16 sIngameTradeMail[][MAIL_WORDS_COUNT + 1] =
}
};
static const struct WindowTemplate gUnknown_08338FFC[] =
static const struct WindowTemplate sTradeSequenceWindowTemplates[] =
{
{
.bg = 0,
@@ -1071,7 +1071,7 @@ static const struct WindowTemplate gUnknown_08338FFC[] =
DUMMY_WIN_TEMPLATE
};
const struct WindowTemplate gUnknown_0833900C =
const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate =
{
.bg = 0,
.tilemapLeft = 21,
@@ -1082,7 +1082,7 @@ const struct WindowTemplate gUnknown_0833900C =
.baseBlock = 188
};
static const struct BgTemplate gUnknown_08339014[] =
static const struct BgTemplate sTradeSequenceBgTemplates[] =
{
{
.bg = 0,

View File

@@ -1197,7 +1197,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
LoadUserWindowBorderGfx(0, 0xA8, 0xE0);
CreateYesNoMenu(&gUnknown_0833900C, 0xA8, 0xE, 0);
CreateYesNoMenu(&gTradeEvolutionSceneYesNoWindowTemplate, 0xA8, 0xE, 0);
sEvoCursorPos = 0;
gTasks[taskID].tLearnMoveState++;
sEvoCursorPos = 0;

View File

@@ -294,7 +294,7 @@ static void sub_81B5B38(u8, struct Pokemon*);
static void UpdatePartyMonIconFrame(struct Sprite*);
static void UpdatePartyMonIconFrameAndBounce(struct Sprite*);
static void sub_81B5CB0(u16, struct Struct203CEDC*);
static void sub_81B5DF0(u8, u8);
static void CreateHeldItemSpriteForTrade(u8, bool8);
static void SpriteCB_HeldItem(struct Sprite*);
static void party_menu_get_status_condition_and_update_object(struct Pokemon*, struct Struct203CEDC*);
static void party_menu_update_status_condition_object(u8, struct Struct203CEDC*);
@@ -5095,33 +5095,33 @@ void LoadHeldItemIcons(void)
LoadSpritePalette(&sSpritePalette_HeldItem);
}
void sub_81B5D4C(u8 *a, u8 *b, u8 c)
void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 who)
{
u16 i;
u16 item;
switch (c)
switch (who)
{
case 0:
for (i = 0; i < a[0]; i++)
case TRADE_PLAYER:
for (i = 0; i < partyCounts[TRADE_PLAYER]; i++)
{
item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
if (item != ITEM_NONE)
sub_81B5DF0(b[i], ItemIsMail(item));
CreateHeldItemSpriteForTrade(partySpriteIds[i], ItemIsMail(item));
}
break;
case 1:
for (i = 0; i < a[1]; i++)
case TRADE_PARTNER:
for (i = 0; i < partyCounts[TRADE_PARTNER]; i++)
{
item = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM);
if (item != ITEM_NONE)
sub_81B5DF0(b[i + 6], ItemIsMail(item));
CreateHeldItemSpriteForTrade(partySpriteIds[i + PARTY_SIZE], ItemIsMail(item));
}
break;
}
}
static void sub_81B5DF0(u8 spriteId, u8 isMail)
static void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail)
{
u8 subpriority = gSprites[spriteId].subpriority;
u8 newSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, 250, 170, subpriority - 1);

View File

@@ -1540,9 +1540,9 @@ static const u8 gHandCursorTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cu
static const u8 gHandCursorShadowTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cursor_shadow.4bpp");
// code
void sub_80C6D80(const u8 *string, void *dst, u8 zero1, u8 zero2, s32 arg4)
void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero2, s32 bytesToBuffer)
{
s32 i, val, val2;
s32 i, tileBytesToBuffer, val2;
u16 windowId;
u8 txtColor[3];
u8 *tileData1, *tileData2;
@@ -1563,13 +1563,13 @@ void sub_80C6D80(const u8 *string, void *dst, u8 zero1, u8 zero2, s32 arg4)
txtColor[2] = TEXT_DYNAMIC_COLOR_5;
AddTextPrinterParameterized4(windowId, 1, 0, 1, 0, 0, txtColor, -1, string);
val = arg4;
if (val > 6u)
val = 6;
val2 = arg4 - 6;
if (val > 0)
tileBytesToBuffer = bytesToBuffer;
if (tileBytesToBuffer > 6u)
tileBytesToBuffer = 6;
val2 = bytesToBuffer - 6;
if (tileBytesToBuffer > 0)
{
for (i = val; i != 0; i--)
for (i = tileBytesToBuffer; i != 0; i--)
{
CpuCopy16(tileData1, dst, 0x80);
CpuCopy16(tileData2, dst + 0x80, 0x80);
@@ -1579,6 +1579,7 @@ void sub_80C6D80(const u8 *string, void *dst, u8 zero1, u8 zero2, s32 arg4)
}
}
// Never used. bytesToBuffer is always passed <= 6, so val2 is always zero here
if (val2 > 0)
CpuFill16((zero2 << 4) | zero2, dst, (u32)(val2) * 0x100);
@@ -5518,7 +5519,7 @@ static void sub_80CCB50(u8 boxId)
sPSSData->field_738 |= 0x10000 << tagIndex;
StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8);
sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
DrawTextWindowAndBufferTiles(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
LoadSpriteSheet(&spriteSheet);
r6 = sub_80CD00C(GetBoxNamePtr(boxId));
@@ -5554,7 +5555,7 @@ static void sub_80CCCFC(u8 boxId, s8 direction)
}
StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8);
sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
DrawTextWindowAndBufferTiles(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
LoadSpriteSheet(&spriteSheet);
LoadPalette(gUnknown_08577574[GetBoxWallpaper(boxId)], r8, 4);
x = sub_80CD00C(GetBoxNamePtr(boxId));

File diff suppressed because it is too large Load Diff