move data from asm to pokeblock.c

This commit is contained in:
DizzyEggg
2017-12-11 16:52:28 +01:00
parent b4d10ab7ab
commit 8ac17e0948
16 changed files with 329 additions and 138 deletions
-2
View File
@@ -132,8 +132,6 @@ extern u8 gInGameOpponentsNo;
extern u8 gUnknown_020322D5;
extern u8 gResultsWindowId;
extern const u8 * const gPokeblockNames[];
// graphics
extern const u8 gBerryBlenderArrowTiles[];
extern const u8 gBerryBlenderStartTiles[];
+1 -1
View File
@@ -1079,7 +1079,7 @@ void sub_818E914(void)
void sub_818E92C(void)
{
sub_81357FC(3, c2_exit_to_overworld_2_switch);
OpenPokeblockCase(3, c2_exit_to_overworld_2_switch);
}
void sub_818E940(void)
+200
View File
@@ -1,4 +1,204 @@
#include "global.h"
#include "pokeblock.h"
#include "bg.h"
#include "strings.h"
#include "text.h"
#include "menu.h"
#include "task.h"
#include "menu_helpers.h"
#include "pokemon.h"
#include "graphics.h"
enum
{
PKBL_USE_ON_FIELD,
PKBL_TOSS,
PKBL_CANCEL,
PKBL_USE_IN_BATTLE,
PKBL_USE_ON_FEEDER,
PKBL_GIVE_TO_LADY
};
// this file's functions
void PokeblockAction_UseOnField(u8 taskId);
void PokeblockAction_Toss(u8 taskId);
void PokeblockAction_Cancel(u8 taskId);
void PokeblockAction_UseInBattle(u8 taskId);
void PokeblockAction_UseOnPokeblockFeeder(u8 taskId);
void PokeblockAction_GiveToContestLady(u8 taskId);
void TossPokeblockChoice_Yes(u8 taskId);
void TossPokeblockChoice_No(u8 taskId);
// const rom data
const s8 gPokeblockFlavorCompatibilityTable[] =
{
// Cool, Beauty, Cute, Smart, Tough
0, 0, 0, 0, 0, // Hardy
1, 0, 0, 0, -1, // Lonely
1, 0, -1, 0, 0, // Brave
1, -1, 0, 0, 0, // Adamant
1, 0, 0, -1, 0, // Naughty
-1, 0, 0, 0, 1, // Bold
0, 0, 0, 0, 0, // Docile
0, 0, -1, 0, 1, // Relaxed
0, -1, 0, 0, 1, // Impish
0, 0, 0, -1, 1, // Lax
-1, 0, 1, 0, 0, // Timid
0, 0, 1, 0, -1, // Hasty
0, 0, 0, 0, 0, // Serious
0, -1, 1, 0, 0, // Jolly
0, 0, 1, -1, 0, // Naive
-1, 1, 0, 0, 0, // Modest
0, 1, 0, 0, -1, // Mild
0, 1, -1, 0, 0, // Quiet
0, 0, 0, 0, 0, // Bashful
0, 1, 0, -1, 0, // Rash
-1, 0, 0, 1, 0, // Calm
0, 0, 0, 1, -1, // Gentle
0, 0, -1, 1, 0, // Sassy
0, -1, 0, 1, 0, // Careful
0, 0, 0, 0, 0 // Quirky
};
const struct BgTemplate gUnknown_085B2620[] =
{
{
.bg = 0,
.charBaseIndex = 0,
.mapBaseIndex = 31,
.screenSize = 0,
.paletteMode = 0,
.priority = 1,
.baseTile = 0
},
{
.bg = 1,
.charBaseIndex = 0,
.mapBaseIndex = 30,
.screenSize = 0,
.paletteMode = 0,
.priority = 0,
.baseTile = 0
},
{
.bg = 2,
.charBaseIndex = 3,
.mapBaseIndex = 29,
.screenSize = 0,
.paletteMode = 0,
.priority = 2,
.baseTile = 0
}
};
const u8 *const gPokeblockNames[] =
{
NULL,
gText_RedPokeblock,
gText_BluePokeblock,
gText_PinkPokeblock,
gText_GreenPokeblock,
gText_YellowPokeblock,
gText_PurplePokeblock,
gText_IndigoPokeblock,
gText_BrownPokeblock,
gText_LiteBluePokeblock,
gText_OlivePokeblock,
gText_GrayPokeblock,
gText_BlackPokeblock,
gText_WhitePokeblock,
gText_GoldPokeblock
};
const struct MenuAction sPokeblockMenuActions[] =
{
{gMenuText_Use, PokeblockAction_UseOnField},
{gMenuText_Toss, PokeblockAction_Toss},
{gText_Cancel2, PokeblockAction_Cancel},
{gMenuText_Use, PokeblockAction_UseInBattle},
{gMenuText_Use, PokeblockAction_UseOnPokeblockFeeder},
{gMenuText_Give2, PokeblockAction_GiveToContestLady},
};
const u8 sActionsOnField[] = {PKBL_USE_ON_FIELD, PKBL_TOSS, PKBL_CANCEL};
const u8 sActionsInBattle[] = {PKBL_USE_IN_BATTLE, PKBL_CANCEL};
const u8 sActionsOnPokeblockFeeder[] = {PKBL_USE_ON_FEEDER, PKBL_CANCEL};
const u8 sActionsWhenGivingToLady[] = {PKBL_GIVE_TO_LADY, PKBL_CANCEL};
const struct YesNoFuncTable sTossYesNoFuncTable = {TossPokeblockChoice_Yes, TossPokeblockChoice_No};
static const u8 sContestStatsMonData[] = {MON_DATA_COOL, MON_DATA_BEAUTY, MON_DATA_CUTE, MON_DATA_SMART, MON_DATA_TOUGH};
static const struct OamData sOamData_PokeblockCase =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 3,
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
.affineParam = 0,
};
static const union AnimCmd sSpriteAnim_PokeblockCase[] =
{
ANIMCMD_FRAME(0, 0),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_PokeblockCase[] =
{
sSpriteAnim_PokeblockCase
};
static const union AffineAnimCmd gSpriteAffineAnim_85B26C8[] =
{
AFFINEANIMCMD_FRAME(0, 0, -2, 2),
AFFINEANIMCMD_FRAME(0, 0, 2, 4),
AFFINEANIMCMD_FRAME(0, 0, -2, 4),
AFFINEANIMCMD_FRAME(0, 0, 2, 2),
AFFINEANIMCMD_END
};
const union AffineAnimCmd *const sSpriteAffineAnimTable_85B26F0[] =
{
gSpriteAffineAnim_85B26C8
};
const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet =
{
gMenuPokeblockDevice_Gfx, 0x800, GFX_TAG_POKEBLOCK_CASE
};
const struct CompressedSpritePalette gPokeblockCase_SpritePal =
{
gMenuPokeblockDevice_Pal, GFX_TAG_POKEBLOCK_CASE
};
const struct SpriteTemplate sSpriteTemplate_PokeblockCase =
{
GFX_TAG_POKEBLOCK_CASE,
GFX_TAG_POKEBLOCK_CASE,
&sOamData_PokeblockCase,
sSpriteAnimTable_PokeblockCase,
NULL,
gDummySpriteAffineAnimTable,
SpriteCallbackDummy
};
const struct TextColor sTextColorInPokeblockMenu = {0, 2, 3};
const struct Pokeblock sFavoritePokeblocksTable[] =
{
{ PBLOCK_CLR_RED, 20, 0, 0, 0, 0, 20},
{ PBLOCK_CLR_BLUE, 0, 20, 0, 0, 0, 20},
{ PBLOCK_CLR_PINK, 0, 0, 20, 0, 0, 20},
{ PBLOCK_CLR_GREEN, 0, 0, 0, 20, 0, 20},
{ PBLOCK_CLR_YELLOW, 0, 0, 0, 0, 20, 20}
};
+4 -6
View File
@@ -56,8 +56,6 @@ extern struct SpriteTemplate gUnknown_0202499C;
extern const u8 gBattleTerrainPalette_Frontier[];
extern const u8 gBattleTerrainTiles_Building[];
extern const u8 gUnknown_08D9BA44[];
extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const u16 gUnknown_0860F074[];
@@ -508,13 +506,13 @@ static const union AffineAnimCmd *const sThrownPokeblockAffineAnimTable[] =
static const struct CompressedSpriteSheet sPokeblock_SpriteSheet =
{
gPokeblock_Gfx, 0x20, TAG_POKEBLOCK_GFX
gPokeblock_Gfx, 0x20, GFX_TAG_POKEBLOCK
};
static const struct SpriteTemplate sThrownPokeblockSpriteTemplate =
{
.tileTag = TAG_POKEBLOCK_GFX,
.paletteTag = TAG_POKEBLOCK_GFX,
.tileTag = GFX_TAG_POKEBLOCK,
.paletteTag = GFX_TAG_POKEBLOCK,
.oam = &sThrownPokeblockOamData,
.anims = sThrownPokeblockAnimTable,
.images = NULL,
@@ -721,7 +719,7 @@ static void SetPokeblockSpritePal(u8 pokeblockCaseId)
{
u8 colorId = GetPokeblockData(&gSaveBlock1Ptr->pokeblocks[pokeblockCaseId], PBLOCK_COLOR);
sPokeblockSpritePal.data = sPokeblocksPals[colorId - 1];
sPokeblockSpritePal.tag = TAG_POKEBLOCK_GFX;
sPokeblockSpritePal.tag = GFX_TAG_POKEBLOCK;
}
// defines for task data fields
+6 -6
View File
@@ -22,6 +22,7 @@
#include "abilities.h"
#include "pokemon_animation.h"
#include "pokedex.h"
#include "pokeblock.h"
extern struct BattlePokemon gBattleMons[4];
extern struct BattleEnigmaBerry gEnigmaBerries[4];
@@ -59,7 +60,6 @@ extern const u8 gText_PkmnsXPreventsSwitching[];
extern const struct CompressedSpritePalette gMonPaletteTable[];
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
extern const u16 gHMMoves[];
extern const s8 gPokeblockFlavorCompatibilityTable[];
extern const u8 gMonAnimationDelayTable[];
extern const u8 gMonFrontAnimIdsTable[];
@@ -1297,21 +1297,21 @@ bool8 IsPokeSpriteNotFlipped(u16 species)
return gBaseStats[species].noFlip;
}
s8 GetMonFlavorRelation(struct Pokemon *mon, u8 a2)
s8 GetMonFlavorRelation(struct Pokemon *mon, u8 flavour)
{
u8 nature = GetNature(mon);
return gPokeblockFlavorCompatibilityTable[nature * 5 + a2];
return gPokeblockFlavorCompatibilityTable[nature * 5 + flavour];
}
s8 GetFlavorRelationByPersonality(u32 personality, u8 a2)
s8 GetFlavorRelationByPersonality(u32 personality, u8 flavour)
{
u8 nature = GetNatureFromPersonality(personality);
return gPokeblockFlavorCompatibilityTable[nature * 5 + a2];
return gPokeblockFlavorCompatibilityTable[nature * 5 + flavour];
}
bool8 IsTradedMon(struct Pokemon *mon)
{
u8 otName[8];
u8 otName[OT_NAME_LENGTH + 1];
u32 otId;
GetMonData(mon, MON_DATA_OT_NAME, otName);
otId = GetMonData(mon, MON_DATA_OT_ID, 0);
+1 -1
View File
@@ -5,6 +5,7 @@
#include "main.h"
#include "battle.h"
#include "string_util.h"
#include "pokeblock.h"
struct PokeblockFeeder
{
@@ -24,7 +25,6 @@ extern u8 EventScript_2A4B8A[];
extern u8 EventScript_2A4B6F[];
extern u8 EventScript_2A4B4C[];
extern u8 EventScript_2A4B9B[];
extern const u8* const gPokeblockNames[];
extern void sub_80EE44C(u8, u8);
extern void IncrementGameStat(u8 index);