Merge branch 'master' into easy_chat
This commit is contained in:
+502
-191
@@ -1,8 +1,36 @@
|
||||
#ifndef GUARD_BATTLE_H
|
||||
#define GUARD_BATTLE_H
|
||||
|
||||
// should they be included here or included individually by every file?
|
||||
#include "battle_util.h"
|
||||
#include "battle_script_commands.h"
|
||||
#include "battle_2.h"
|
||||
#include "battle_ai_switch_items.h"
|
||||
|
||||
/*
|
||||
Banks are a name given to what could be called a 'battlerId' or 'monControllerId'.
|
||||
Each bank has a value consisting of two bits.
|
||||
0x1 bit is responsible for the side, 0 = player's side, 1 = opponent's side.
|
||||
0x2 bit is responsible for the id of sent out pokemon. 0 means it's the first sent out pokemon, 1 it's the second one. (Triple battle didn't exist at the time yet.)
|
||||
*/
|
||||
|
||||
#define BATTLE_BANKS_COUNT 4
|
||||
|
||||
#define IDENTITY_PLAYER_MON1 0
|
||||
#define IDENTITY_OPPONENT_MON1 1
|
||||
#define IDENTITY_PLAYER_MON2 2
|
||||
#define IDENTITY_OPPONENT_MON2 3
|
||||
|
||||
#define SIDE_PLAYER 0x0
|
||||
#define SIDE_OPPONENT 0x1
|
||||
|
||||
#define BIT_SIDE 0x1
|
||||
#define BIT_MON 0x2
|
||||
|
||||
#define GET_BANK_IDENTITY(bank)((gBanksByIdentity[bank]))
|
||||
#define GET_BANK_SIDE(bank)((GetBankIdentity(bank) & BIT_SIDE))
|
||||
#define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE))
|
||||
|
||||
#define BATTLE_TYPE_DOUBLE 0x0001
|
||||
#define BATTLE_TYPE_LINK 0x0002
|
||||
#define BATTLE_TYPE_WILD 0x0004
|
||||
@@ -34,14 +62,16 @@
|
||||
#define BATTLE_TYPE_GROUDON 0x10000000
|
||||
#define BATTLE_TYPE_KYORGE 0x20000000
|
||||
#define BATTLE_TYPE_RAYQUAZA 0x40000000
|
||||
#define BATTLE_TYPE_x80000000 0x80000000
|
||||
|
||||
#define TRAINER_OPPONENT_3FE 0x3FE
|
||||
#define TRAINER_OPPONENT_C00 0xC00
|
||||
#define TRAINER_OPPONENT_800 0x800
|
||||
#define STEVEN_PARTNER_ID 0xC03
|
||||
#define SECRET_BASE_OPPONENT 0x400
|
||||
|
||||
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID)
|
||||
|
||||
#define SIDE_PLAYER 0x0
|
||||
#define SIDE_OPPONENT 0x1
|
||||
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID)
|
||||
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000)
|
||||
|
||||
#define BATTLE_WON 0x1
|
||||
#define BATTLE_LOST 0x2
|
||||
@@ -50,8 +80,12 @@
|
||||
#define BATTLE_PLAYER_TELEPORTED 0x5
|
||||
#define BATTLE_POKE_FLED 0x6
|
||||
#define BATTLE_CAUGHT 0x7
|
||||
#define BATTLE_SAFARI_OUT_OF_BALLS 0x8
|
||||
#define BATTLE_FORFEITED 0x9
|
||||
#define BATTLE_OPPONENT_TELEPORTED 0xA
|
||||
|
||||
#define BATTLE_OUTCOME_BIT_x80 0x80
|
||||
|
||||
#define STATUS_SLEEP 0x7
|
||||
#define STATUS_POISON 0x8
|
||||
#define STATUS_BURN 0x10
|
||||
@@ -66,11 +100,12 @@
|
||||
#define STATUS2_CONFUSION 0x00000007
|
||||
#define STATUS2_FLINCHED 0x00000008
|
||||
#define STATUS2_UPROAR 0x00000070
|
||||
#define STATUS2_BIDE 0x00000300 //two bits 0x100 0x200
|
||||
#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200
|
||||
#define STATUS2_LOCK_CONFUSE 0x00000C00
|
||||
#define STATUS2_MULTIPLETURNS 0x00001000
|
||||
#define STATUS2_WRAPPED 0x0000E000
|
||||
#define STATUS2_INFATUATION 0x000F0000
|
||||
#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every bank
|
||||
#define STATUS2_INFATUATED_WITH(bank)((gBitTable[bank] << 16))
|
||||
#define STATUS2_FOCUS_ENERGY 0x00100000
|
||||
#define STATUS2_TRANSFORMED 0x00200000
|
||||
#define STATUS2_RECHARGE 0x00400000
|
||||
@@ -86,15 +121,15 @@
|
||||
|
||||
#define STATUS3_LEECHSEED_BANK 0x3
|
||||
#define STATUS3_LEECHSEED 0x4
|
||||
#define STATUS3_ALWAYS_HITS 0x18 //two bits
|
||||
#define STATUS3_ALWAYS_HITS 0x18 // two bits
|
||||
#define STATUS3_PERISH_SONG 0x20
|
||||
#define STATUS3_ON_AIR 0x40
|
||||
#define STATUS3_UNDERGROUND 0x80
|
||||
#define STATUS3_MINIMIZED 0x100
|
||||
#define STATUS3_ROOTED 0x400
|
||||
#define STATUS3_CHARGED_UP 0x200
|
||||
#define STATUS3_YAWN 0x1800 //two bits
|
||||
#define STATUS3_IMPRISIONED 0x2000
|
||||
#define STATUS3_YAWN 0x1800 // two bits
|
||||
#define STATUS3_IMPRISONED_OTHERS 0x2000
|
||||
#define STATUS3_GRUDGE 0x4000
|
||||
#define STATUS3_CANT_SCORE_A_CRIT 0x8000
|
||||
#define STATUS3_MUDSPORT 0x10000
|
||||
@@ -105,6 +140,7 @@
|
||||
|
||||
#define STATUS3_SEMI_INVULNERABLE ((STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER))
|
||||
|
||||
#define HITMARKER_x10 0x00000010
|
||||
#define HITMARKER_x20 0x00000020
|
||||
#define HITMARKER_DESTINYBOND 0x00000040
|
||||
#define HITMARKER_NO_ANIMATIONS 0x00000080
|
||||
@@ -115,6 +151,7 @@
|
||||
#define HITMARKER_PURSUIT_TRAP 0x00001000
|
||||
#define HITMARKER_IGNORE_SAFEGUARD 0x00002000
|
||||
#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000
|
||||
#define HITMARKER_RUN 0x00008000
|
||||
#define HITMARKER_IGNORE_ON_AIR 0x00010000
|
||||
#define HITMARKER_IGNORE_UNDERGROUND 0x00020000
|
||||
#define HITMARKER_IGNORE_UNDERWATER 0x00040000
|
||||
@@ -125,6 +162,7 @@
|
||||
#define HITMARKER_x800000 0x00800000
|
||||
#define HITMARKER_GRUDGE 0x01000000
|
||||
#define HITMARKER_OBEYS 0x02000000
|
||||
#define HITMARKER_x4000000 0x04000000
|
||||
#define HITMARKER_x8000000 0x08000000
|
||||
#define HITMARKER_FAINTED(bank) ((gBitTable[bank] << 0x1C))
|
||||
#define HITMARKER_UNK(bank) ((0x10000000 << bank))
|
||||
@@ -138,28 +176,21 @@
|
||||
#define SIDE_STATUS_MIST (1 << 8)
|
||||
#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9)
|
||||
|
||||
#define ABILITYEFFECT_ON_SWITCHIN 0x0
|
||||
#define ABILITYEFFECT_ENDTURN 0x1
|
||||
#define ABILITYEFFECT_MOVES_BLOCK 0x2
|
||||
#define ABILITYEFFECT_ABSORBING 0x3
|
||||
#define ABILITYEFFECT_CONTACT 0x4
|
||||
#define ABILITYEFFECT_IMMUNITY 0x5
|
||||
#define ABILITYEFFECT_FORECAST 0x6
|
||||
#define ABILITYEFFECT_SYNCHRONIZE 0x7
|
||||
#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8
|
||||
#define ABILITYEFFECT_INTIMIDATE1 0x9
|
||||
#define ABILITYEFFECT_INTIMIDATE2 0xA
|
||||
#define ABILITYEFFECT_TRACE 0xB
|
||||
#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC
|
||||
#define ABILITYEFFECT_CHECK_BANK_SIDE 0xD
|
||||
#define ABILITYEFFECT_FIELD_SPORT 0xE
|
||||
#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK 0xF
|
||||
#define ABILITYEFFECT_COUNT_OTHER_SIZE 0x10
|
||||
#define ABILITYEFFECT_COUNT_BANK_SIDE 0x11
|
||||
#define ABILITYEFFECT_COUNT_ON_FIELD 0x12
|
||||
#define ABILITYEFFECT_CHECK_ON_FIELD 0x13
|
||||
|
||||
#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0)))
|
||||
#define ACTION_USE_MOVE 0
|
||||
#define ACTION_USE_ITEM 1
|
||||
#define ACTION_SWITCH 2
|
||||
#define ACTION_RUN 3
|
||||
#define ACTION_WATCHES_CAREFULLY 4
|
||||
#define ACTION_SAFARI_ZONE_BALL 5
|
||||
#define ACTION_POKEBLOCK_CASE 6
|
||||
#define ACTION_GO_NEAR 7
|
||||
#define ACTION_SAFARI_ZONE_RUN 8
|
||||
#define ACTION_9 9
|
||||
#define ACTION_RUN_BATTLESCRIPT 10 // when executing an action
|
||||
#define ACTION_CANCEL_PARTNER 12 // when choosing an action
|
||||
#define ACTION_FINISHED 12 // when executing an action
|
||||
#define ACTION_NOTHING_FAINTED 13 // when choosing an action
|
||||
#define ACTION_INIT_VALUE 0xFF
|
||||
|
||||
#define MOVESTATUS_MISSED (1 << 0)
|
||||
#define MOVESTATUS_SUPEREFFECTIVE (1 << 1)
|
||||
@@ -187,27 +218,105 @@
|
||||
#define WEATHER_SUN_ANY ((WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT))
|
||||
#define WEATHER_HAIL (1 << 7)
|
||||
#define WEATHER_HAIL_ANY ((WEATHER_HAIL))
|
||||
#define WEATHER_ANY ((WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY))
|
||||
|
||||
#define REQUEST_ALL_BATTLE 0x0
|
||||
#define REQUEST_SPECIES_BATTLE 0x1
|
||||
#define REQUEST_HELDITEM_BATTLE 0x2
|
||||
#define REQUEST_MOVES_PP_BATTLE 0x3
|
||||
#define REQUEST_PPMOVE1_BATTLE 0x9
|
||||
#define REQUEST_PPMOVE2_BATTLE 0xA
|
||||
#define REQUEST_PPMOVE3_BATTLE 0xB
|
||||
#define REQUEST_PPMOVE4_BATTLE 0xC
|
||||
#define REQUEST_STATUS_BATTLE 0x28
|
||||
#define REQUEST_HP_BATTLE 0x2A
|
||||
#define BATTLE_TERRAIN_GRASS 0
|
||||
#define BATTLE_TERRAIN_LONG_GRASS 1
|
||||
#define BATTLE_TERRAIN_SAND 2
|
||||
#define BATTLE_TERRAIN_UNDERWATER 3
|
||||
#define BATTLE_TERRAIN_WATER 4
|
||||
#define BATTLE_TERRAIN_POND 5
|
||||
#define BATTLE_TERRAIN_ROCK 6
|
||||
#define BATTLE_TERRAIN_CAVE 7
|
||||
#define BATTLE_TERRAIN_INSIDE 8
|
||||
|
||||
// array entries for battle communication
|
||||
#define MOVE_EFFECT_BYTE 0x3
|
||||
#define MULTISTRING_CHOOSER 0x5
|
||||
#define MSG_DISPLAY 0x7
|
||||
#define MULTIUSE_STATE 0x0
|
||||
#define CURSOR_POSITION 0x1
|
||||
#define TASK_ID 0x1 // task Id and cursor position share the same field
|
||||
#define SPRITES_INIT_STATE1 0x1 // shares the Id as well
|
||||
#define SPRITES_INIT_STATE2 0x2
|
||||
#define MOVE_EFFECT_BYTE 0x3
|
||||
#define ACTIONS_CONFIRMED_COUNT 0x4
|
||||
#define MULTISTRING_CHOOSER 0x5
|
||||
#define MSG_DISPLAY 0x7
|
||||
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 0x8
|
||||
|
||||
// functions
|
||||
#define MOVE_TARGET_SELECTED 0x0
|
||||
#define MOVE_TARGET_DEPENDS 0x1
|
||||
#define MOVE_TARGET_USER 0x2
|
||||
#define MOVE_TARGET_RANDOM 0x4
|
||||
#define MOVE_TARGET_x10 0x10
|
||||
#define MOVE_TARGET_BOTH 0x8
|
||||
#define MOVE_TARGET_FOES_AND_ALLY 0x20
|
||||
#define MOVE_TARGET_OPPONENTS_FIELD 0x40
|
||||
|
||||
extern u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg);
|
||||
extern u8 GetBankSide(u8 bank);
|
||||
#define TYPE_MUL_NO_EFFECT 0
|
||||
#define TYPE_MUL_NOT_EFFECTIVE 5
|
||||
#define TYPE_MUL_NORMAL 10
|
||||
#define TYPE_MUL_SUPER_EFFECTIVE 20
|
||||
|
||||
#define BS_GET_TARGET 0
|
||||
#define BS_GET_ATTACKER 1
|
||||
#define BS_GET_EFFECT_BANK 2
|
||||
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
|
||||
#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability
|
||||
#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
|
||||
#define BS_GET_SCRIPTING_BANK 10
|
||||
#define BS_GET_OPPONENT1 12
|
||||
#define BS_GET_PLAYER2 13
|
||||
#define BS_GET_OPPONENT2 14
|
||||
|
||||
// for battle script commands
|
||||
#define CMP_EQUAL 0x0
|
||||
#define CMP_NOT_EQUAL 0x1
|
||||
#define CMP_GREATER_THAN 0x2
|
||||
#define CMP_LESS_THAN 0x3
|
||||
#define CMP_COMMON_BITS 0x4
|
||||
#define CMP_NO_COMMON_BITS 0x5
|
||||
|
||||
struct TrainerMonNoItemDefaultMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
};
|
||||
|
||||
u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg);
|
||||
u8 GetBankSide(u8 bank);
|
||||
|
||||
struct TrainerMonItemDefaultMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
u16 heldItem;
|
||||
};
|
||||
|
||||
struct TrainerMonNoItemCustomMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
u16 moves[4];
|
||||
};
|
||||
|
||||
struct TrainerMonItemCustomMoves
|
||||
{
|
||||
u16 iv;
|
||||
u8 lvl;
|
||||
u16 species;
|
||||
u16 heldItem;
|
||||
u16 moves[4];
|
||||
};
|
||||
|
||||
union TrainerMonPtr
|
||||
{
|
||||
struct TrainerMonNoItemDefaultMoves* NoItemDefaultMoves;
|
||||
struct TrainerMonNoItemCustomMoves* NoItemCustomMoves;
|
||||
struct TrainerMonItemDefaultMoves* ItemDefaultMoves;
|
||||
struct TrainerMonItemCustomMoves* ItemCustomMoves;
|
||||
};
|
||||
|
||||
struct Trainer
|
||||
{
|
||||
@@ -220,9 +329,12 @@ struct Trainer
|
||||
/*0x18*/ bool8 doubleBattle;
|
||||
/*0x1C*/ u32 aiFlags;
|
||||
/*0x20*/ u8 partySize;
|
||||
/*0x24*/ void *party;
|
||||
/*0x24*/ union TrainerMonPtr party;
|
||||
};
|
||||
|
||||
#define PARTY_FLAG_CUSTOM_MOVES 0x1
|
||||
#define PARTY_FLAG_HAS_ITEM 0x2
|
||||
|
||||
extern const struct Trainer gTrainers[];
|
||||
|
||||
#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
|
||||
@@ -251,8 +363,8 @@ struct DisableStruct
|
||||
/*0x0F*/ u8 perishSong1 : 4;
|
||||
/*0x0F*/ u8 perishSong2 : 4;
|
||||
/*0x10*/ u8 furyCutterCounter;
|
||||
/*0x11*/ u8 rolloutTimer1 : 4;
|
||||
/*0x11*/ u8 rolloutTimer2 : 4;
|
||||
/*0x11*/ u8 rolloutCounter1 : 4;
|
||||
/*0x11*/ u8 rolloutCounter2 : 4;
|
||||
/*0x12*/ u8 chargeTimer1 : 4;
|
||||
/*0x12*/ u8 chargeTimer2 : 4;
|
||||
/*0x13*/ u8 tauntTimer1:4;
|
||||
@@ -262,7 +374,8 @@ struct DisableStruct
|
||||
/*0x16*/ u8 isFirstTurn;
|
||||
/*0x17*/ u8 unk17;
|
||||
/*0x18*/ u8 truantCounter : 1;
|
||||
/*0x18*/ u8 unk18_a : 3;
|
||||
/*0x18*/ u8 truantUnknownBit : 1;
|
||||
/*0x18*/ u8 unk18_a_2 : 2;
|
||||
/*0x18*/ u8 unk18_b : 4;
|
||||
/*0x19*/ u8 rechargeCounter;
|
||||
/*0x1A*/ u8 unk1A[2];
|
||||
@@ -283,7 +396,7 @@ struct ProtectStruct
|
||||
u32 prlzImmobility:1;
|
||||
/* field_1 */
|
||||
u32 confusionSelfDmg:1;
|
||||
u32 notEffective:1;
|
||||
u32 targetNotAffected:1;
|
||||
u32 chargingTurn:1;
|
||||
u32 fleeFlag:2; // for RunAway and Smoke Ball
|
||||
u32 usedImprisionedMove:1;
|
||||
@@ -312,11 +425,11 @@ extern struct ProtectStruct gProtectStructs[BATTLE_BANKS_COUNT];
|
||||
|
||||
struct SpecialStatus
|
||||
{
|
||||
u8 statLowered : 1;
|
||||
u8 lightningRodRedirected : 1;
|
||||
u8 restoredBankSprite: 1;
|
||||
u8 intimidatedPoke : 1;
|
||||
u8 traced : 1;
|
||||
u8 statLowered : 1; // 0x1
|
||||
u8 lightningRodRedirected : 1; // 0x2
|
||||
u8 restoredBankSprite: 1; // 0x4
|
||||
u8 intimidatedPoke : 1; // 0x8
|
||||
u8 traced : 1; // 0x10
|
||||
u8 flag20 : 1;
|
||||
u8 flag40 : 1;
|
||||
u8 focusBanded : 1;
|
||||
@@ -359,7 +472,7 @@ struct WishFutureKnock
|
||||
u8 wishCounter[BATTLE_BANKS_COUNT];
|
||||
u8 wishUserID[BATTLE_BANKS_COUNT];
|
||||
u8 weatherDuration;
|
||||
u16 knockedOffPokes;
|
||||
u8 knockedOffPokes[2];
|
||||
};
|
||||
|
||||
extern struct WishFutureKnock gWishFutureKnock;
|
||||
@@ -389,7 +502,7 @@ struct BattleHistory
|
||||
struct UsedMoves usedMoves[BATTLE_BANKS_COUNT];
|
||||
u8 abilities[BATTLE_BANKS_COUNT];
|
||||
u8 itemEffects[BATTLE_BANKS_COUNT];
|
||||
u16 TrainerItems[BATTLE_BANKS_COUNT];
|
||||
u16 trainerItems[BATTLE_BANKS_COUNT];
|
||||
u8 itemsNo;
|
||||
};
|
||||
|
||||
@@ -405,13 +518,23 @@ struct BattleCallbacksStack
|
||||
u8 size;
|
||||
};
|
||||
|
||||
struct StatsArray
|
||||
{
|
||||
u16 hp;
|
||||
u16 atk;
|
||||
u16 def;
|
||||
u16 spd;
|
||||
u16 spAtk;
|
||||
u16 spDef;
|
||||
};
|
||||
|
||||
struct BattleResources
|
||||
{
|
||||
struct SecretBaseRecord* secretBase;
|
||||
struct UnknownFlags *flags;
|
||||
struct BattleScriptsStack* battleScriptsStack;
|
||||
struct BattleCallbacksStack* battleCallbackStack;
|
||||
void* statsBeforeLvlUp;
|
||||
struct StatsArray* statsBeforeLvlUp;
|
||||
struct AI_ThinkingStruct *ai;
|
||||
struct BattleHistory *battleHistory;
|
||||
struct BattleScriptsStack *AI_ScriptsStack;
|
||||
@@ -421,31 +544,33 @@ extern struct BattleResources* gBattleResources;
|
||||
|
||||
#define BATTLESCRIPTS_STACK (gBattleResources->battleScriptsStack)
|
||||
#define BATTLE_CALLBACKS_STACK (gBattleResources->battleCallbackStack)
|
||||
#define BATTLE_LVLUP_STATS (gBattleResources->statsBeforeLvlUp)
|
||||
|
||||
struct BattleResults
|
||||
{
|
||||
u8 playerFaintCounter; // 0x0
|
||||
u8 opponentFaintCounter; // 0x1
|
||||
u8 unk2; // 0x2
|
||||
u8 playerSwitchesCounter; // 0x2
|
||||
u8 unk3; // 0x3
|
||||
u8 unk4; // 0x4
|
||||
u8 unk5_0:1; // 0x5
|
||||
u8 unk5_1:1; // 0x5
|
||||
u16 poke1Species; // 0x6
|
||||
u8 pokeString1[10]; // 0x8
|
||||
u8 unk12;
|
||||
u8 usedMasterBall:1; // 0x5
|
||||
u8 caughtMonBall:4; // 0x5
|
||||
u8 unk5_6:1; // 0x5
|
||||
u8 unk5_7:1; // 0x5
|
||||
u16 playerMon1Species; // 0x6
|
||||
u8 playerMon1Name[11]; // 0x8
|
||||
u8 battleTurnCounter; // 0x13
|
||||
u8 pokeString2[10]; // 0x14
|
||||
u8 field_1E; // 0x1E
|
||||
u8 playerMon2Name[11]; // 0x14
|
||||
u8 field_1F; // 0x1F
|
||||
u16 lastOpponentSpecies; // 0x20
|
||||
u16 lastUsedMove; // 0x22
|
||||
u16 opponentMove; // 0x24
|
||||
u16 opponentSpecies; // 0x26
|
||||
u16 caughtPoke; // 0x28
|
||||
u8 caughtNick[10]; // 0x2A
|
||||
u16 lastUsedMovePlayer; // 0x22
|
||||
u16 lastUsedMoveOpponent; // 0x24
|
||||
u16 playerMon2Species; // 0x26
|
||||
u16 caughtMonSpecies; // 0x28
|
||||
u8 caughtMonNick[10]; // 0x2A
|
||||
u8 filler34[2];
|
||||
u8 unk36[10]; // usedBalls?
|
||||
u8 catchAttempts[11]; // 0x36
|
||||
};
|
||||
|
||||
extern struct BattleResults gBattleResults;
|
||||
@@ -463,46 +588,7 @@ struct BattleStruct
|
||||
u8 wildVictorySong;
|
||||
u8 dynamicMoveType;
|
||||
u8 wrappedBy[4];
|
||||
u8 field_18;
|
||||
u8 field_19;
|
||||
u8 field_1A;
|
||||
u8 field_1B;
|
||||
u8 field_1C;
|
||||
u8 field_1D;
|
||||
u8 field_1E;
|
||||
u8 field_1F;
|
||||
u8 field_20;
|
||||
u8 field_21;
|
||||
u8 field_22;
|
||||
u8 field_23;
|
||||
u8 field_24;
|
||||
u8 field_25;
|
||||
u8 field_26;
|
||||
u8 field_27;
|
||||
u8 field_28;
|
||||
u8 field_29;
|
||||
u8 field_2A;
|
||||
u8 field_2B;
|
||||
u8 field_2C;
|
||||
u8 field_2D;
|
||||
u8 field_2E;
|
||||
u8 field_2F;
|
||||
u8 field_30;
|
||||
u8 field_31;
|
||||
u8 field_32;
|
||||
u8 field_33;
|
||||
u8 field_34;
|
||||
u8 field_35;
|
||||
u8 field_36;
|
||||
u8 field_37;
|
||||
u8 field_38;
|
||||
u8 field_39;
|
||||
u8 field_3A;
|
||||
u8 field_3B;
|
||||
u8 field_3C;
|
||||
u8 field_3D;
|
||||
u8 field_3E;
|
||||
u8 field_3F;
|
||||
u16 assistPossibleMoves[5 * 4]; // 5 mons, each of them knowing 4 moves
|
||||
u8 field_40;
|
||||
u8 field_41;
|
||||
u8 field_42;
|
||||
@@ -511,51 +597,23 @@ struct BattleStruct
|
||||
u8 field_45;
|
||||
u8 field_46;
|
||||
u8 field_47;
|
||||
u8 field_48;
|
||||
u8 focusPunchBank;
|
||||
u8 field_49;
|
||||
u8 moneyMultiplier;
|
||||
u8 field_4B;
|
||||
u8 field_4C;
|
||||
u8 switchInAbilitiesCounter;
|
||||
u8 field_4D;
|
||||
u8 field_4E;
|
||||
u8 field_4F;
|
||||
u8 field_50;
|
||||
u8 field_51;
|
||||
u16 expValue;
|
||||
u8 field_52;
|
||||
u8 field_53;
|
||||
u8 field_54;
|
||||
u8 field_55;
|
||||
u8 field_56;
|
||||
u8 field_57;
|
||||
u8 field_58;
|
||||
u8 field_59;
|
||||
u8 field_5A;
|
||||
u8 field_5B;
|
||||
u8 sentInPokes;
|
||||
bool8 selectionScriptFinished[BATTLE_BANKS_COUNT];
|
||||
u8 field_58[4];
|
||||
u8 field_5C[4];
|
||||
u8 field_60;
|
||||
u8 field_61;
|
||||
u8 field_62;
|
||||
u8 field_63;
|
||||
u8 field_64;
|
||||
u8 field_65;
|
||||
u8 field_66;
|
||||
u8 field_67;
|
||||
u8 field_68;
|
||||
u8 field_69;
|
||||
u8 field_6A;
|
||||
u8 field_6B;
|
||||
u8 field_6C;
|
||||
u8 field_6D;
|
||||
u8 field_6E;
|
||||
u8 field_6F;
|
||||
u8 field_70;
|
||||
u8 field_71;
|
||||
u8 field_72;
|
||||
u8 field_73;
|
||||
u8 field_74;
|
||||
u8 field_75;
|
||||
u8 field_76;
|
||||
u8 field_77;
|
||||
u8 field_60[4][3];
|
||||
u8 runTries;
|
||||
u8 caughtMonNick[11];
|
||||
u8 field_78;
|
||||
u8 field_79;
|
||||
u8 field_7A;
|
||||
@@ -564,18 +622,15 @@ struct BattleStruct
|
||||
u8 field_7D;
|
||||
u8 field_7E;
|
||||
u8 formToChangeInto;
|
||||
u8 chosenMovesIds[4];
|
||||
u8 field_84;
|
||||
u8 field_85;
|
||||
u8 field_86;
|
||||
u8 field_87;
|
||||
u8 chosenMovePositions[BATTLE_BANKS_COUNT];
|
||||
u8 stateIdAfterSelScript[BATTLE_BANKS_COUNT];
|
||||
u8 field_88;
|
||||
u8 field_89;
|
||||
u8 field_8A;
|
||||
u8 field_8B;
|
||||
u8 field_8C;
|
||||
u8 field_8D;
|
||||
u8 field_8E;
|
||||
u8 stringMoveType;
|
||||
u8 expGetterBank;
|
||||
u8 field_90;
|
||||
u8 field_91;
|
||||
@@ -585,14 +640,7 @@ struct BattleStruct
|
||||
u8 field_95;
|
||||
u8 field_96;
|
||||
u8 field_97;
|
||||
u8 field_98;
|
||||
u8 field_99;
|
||||
u8 field_9A;
|
||||
u8 field_9B;
|
||||
u8 field_9C;
|
||||
u8 field_9D;
|
||||
u8 field_9E;
|
||||
u8 field_9F;
|
||||
u8 mirrorMoves[8]; // ask gamefreak why they declared it that way
|
||||
u8 field_A0;
|
||||
u8 field_A1;
|
||||
u8 field_A2;
|
||||
@@ -601,30 +649,44 @@ struct BattleStruct
|
||||
u8 field_A5;
|
||||
u8 field_A6;
|
||||
u8 field_A7;
|
||||
u16 hpOnSwitchout[4];
|
||||
u16 hpOnSwitchout[2];
|
||||
u32 savedBattleTypeFlags;
|
||||
u8 field_B0;
|
||||
u8 hpScale;
|
||||
u8 synchronizeMoveEffect;
|
||||
u8 field_B3;
|
||||
u8 field_B4;
|
||||
u8 field_B5;
|
||||
u8 field_B6;
|
||||
u8 field_B7;
|
||||
u16 usedHeldItems[4];
|
||||
u8 field_C0[8];
|
||||
u16 choicedMove[4];
|
||||
u8 field_D0[8];
|
||||
void (*savedCallback)(void);
|
||||
u16 usedHeldItems[BATTLE_BANKS_COUNT];
|
||||
u8 field_C0[4];
|
||||
u8 AI_itemType[2];
|
||||
u8 AI_itemFlags[2];
|
||||
u16 choicedMove[BATTLE_BANKS_COUNT];
|
||||
u16 changedItems[BATTLE_BANKS_COUNT];
|
||||
u8 intimidateBank;
|
||||
u8 fillerD9[0xDA-0xD9];
|
||||
u8 switchInItemsCounter;
|
||||
u8 field_DA;
|
||||
u8 turnSideTracker;
|
||||
u8 fillerDC[0xDF-0xDC];
|
||||
u8 field_DF;
|
||||
u8 fillerE0[0x1A0-0xE0];
|
||||
u8 mirrorMoveArrays[32];
|
||||
u16 castformPalette[4][16];
|
||||
u8 field_180;
|
||||
u8 field_181;
|
||||
u8 field_182;
|
||||
u8 field_183;
|
||||
struct BattleEnigmaBerry battleEnigmaBerry;
|
||||
u8 field_1A0;
|
||||
u8 field_1A1;
|
||||
u8 filler1A2;
|
||||
bool8 overworldWeatherDone;
|
||||
u8 atkCancellerTracker;
|
||||
u8 field_1A4[96];
|
||||
u8 field_204[104];
|
||||
u8 field_26C[40];
|
||||
u8 field_294[4];
|
||||
u8 field_298[8];
|
||||
u8 field_2A0;
|
||||
u8 field_2A1;
|
||||
u8 field_2A2;
|
||||
};
|
||||
|
||||
extern struct BattleStruct* gBattleStruct;
|
||||
@@ -636,19 +698,125 @@ extern struct BattleStruct* gBattleStruct;
|
||||
var2[offsetof(struct structName, offsetField)] = value; \
|
||||
}
|
||||
|
||||
#define GET_MOVE_TYPE(move, typeArg) \
|
||||
{ \
|
||||
if (gBattleStruct->dynamicMoveType) \
|
||||
typeArg = gBattleStruct->dynamicMoveType & 0x3F; \
|
||||
else \
|
||||
typeArg = gBattleMoves[move].type; \
|
||||
}
|
||||
|
||||
#define MOVE_EFFECT_SLEEP 0x1
|
||||
#define MOVE_EFFECT_POISON 0x2
|
||||
#define MOVE_EFFECT_BURN 0x3
|
||||
#define MOVE_EFFECT_FREEZE 0x4
|
||||
#define MOVE_EFFECT_PARALYSIS 0x5
|
||||
#define MOVE_EFFECT_TOXIC 0x6
|
||||
#define MOVE_EFFECT_CONFUSION 0x7
|
||||
#define MOVE_EFFECT_FLINCH 0x8
|
||||
#define MOVE_EFFECT_TRI_ATTACK 0x9
|
||||
#define MOVE_EFFECT_UPROAR 0xA
|
||||
#define MOVE_EFFECT_PAYDAY 0xB
|
||||
#define MOVE_EFFECT_CHARGING 0xC
|
||||
#define MOVE_EFFECT_WRAP 0xD
|
||||
#define MOVE_EFFECT_RECOIL_25 0xE
|
||||
#define MOVE_EFFECT_ATK_PLUS_1 0xF
|
||||
#define MOVE_EFFECT_DEF_PLUS_1 0x10
|
||||
#define MOVE_EFFECT_SPD_PLUS_1 0x11
|
||||
#define MOVE_EFFECT_SP_ATK_PLUS_1 0x12
|
||||
#define MOVE_EFFECT_SP_DEF_PLUS_1 0x13
|
||||
#define MOVE_EFFECT_ACC_PLUS_1 0x14
|
||||
#define MOVE_EFFECT_EVS_PLUS_1 0x15
|
||||
#define MOVE_EFFECT_ATK_MINUS_1 0x16
|
||||
#define MOVE_EFFECT_DEF_MINUS_1 0x17
|
||||
#define MOVE_EFFECT_SPD_MINUS_1 0x18
|
||||
#define MOVE_EFFECT_SP_ATK_MINUS_1 0x19
|
||||
#define MOVE_EFFECT_SP_DEF_MINUS_1 0x1A
|
||||
#define MOVE_EFFECT_ACC_MINUS_1 0x1B
|
||||
#define MOVE_EFFECT_EVS_MINUS_1 0x1C
|
||||
#define MOVE_EFFECT_RECHARGE 0x1D
|
||||
#define MOVE_EFFECT_RAGE 0x1E
|
||||
#define MOVE_EFFECT_STEAL_ITEM 0x1F
|
||||
#define MOVE_EFFECT_PREVENT_ESCAPE 0x20
|
||||
#define MOVE_EFFECT_NIGHTMARE 0x21
|
||||
#define MOVE_EFFECT_ALL_STATS_UP 0x22
|
||||
#define MOVE_EFFECT_RAPIDSPIN 0x23
|
||||
#define MOVE_EFFECT_REMOVE_PARALYSIS 0x24
|
||||
#define MOVE_EFFECT_ATK_DEF_DOWN 0x25
|
||||
#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26
|
||||
#define MOVE_EFFECT_ATK_PLUS_2 0x27
|
||||
#define MOVE_EFFECT_DEF_PLUS_2 0x28
|
||||
#define MOVE_EFFECT_SPD_PLUS_2 0x29
|
||||
#define MOVE_EFFECT_SP_ATK_PLUS_2 0x2A
|
||||
#define MOVE_EFFECT_SP_DEF_PLUS_2 0x2B
|
||||
#define MOVE_EFFECT_ACC_PLUS_2 0x2C
|
||||
#define MOVE_EFFECT_EVS_PLUS_2 0x2D
|
||||
#define MOVE_EFFECT_ATK_MINUS_2 0x2E
|
||||
#define MOVE_EFFECT_DEF_MINUS_2 0x2F
|
||||
#define MOVE_EFFECT_SPD_MINUS_2 0x30
|
||||
#define MOVE_EFFECT_SP_ATK_MINUS_2 0x31
|
||||
#define MOVE_EFFECT_SP_DEF_MINUS_2 0x32
|
||||
#define MOVE_EFFECT_ACC_MINUS_2 0x33
|
||||
#define MOVE_EFFECT_EVS_MINUS_2 0x34
|
||||
#define MOVE_EFFECT_THRASH 0x35
|
||||
#define MOVE_EFFECT_KNOCK_OFF 0x36
|
||||
#define MOVE_EFFECT_NOTHING_37 0x37
|
||||
#define MOVE_EFFECT_NOTHING_38 0x38
|
||||
#define MOVE_EFFECT_NOTHING_39 0x39
|
||||
#define MOVE_EFFECT_NOTHING_3A 0x3A
|
||||
#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x3B
|
||||
#define MOVE_EFFECT_NOTHING_3C 0x3C
|
||||
#define MOVE_EFFECT_NOTHING_3D 0x3D
|
||||
#define MOVE_EFFECT_NOTHING_3E 0x3E
|
||||
#define MOVE_EFFECT_NOTHING_3F 0x3F
|
||||
#define MOVE_EFFECT_AFFECTS_USER 0x40
|
||||
#define MOVE_EFFECT_CERTAIN 0x80
|
||||
|
||||
// battle animations ids
|
||||
|
||||
#define B_ANIM_CASTFORM_CHANGE 0x0
|
||||
#define B_ANIM_STATS_CHANGE 0x1
|
||||
#define B_ANIM_SUBSTITUTE_FADE 0x2
|
||||
#define B_ANIM_SUBSTITUTE_APPEAR 0x3
|
||||
#define B_ANIM_x4 0x4
|
||||
#define B_ANIM_ITEM_KNOCKOFF 0x5
|
||||
#define B_ANIM_TURN_TRAP 0x6
|
||||
#define B_ANIM_ITEM_EFFECT 0x7
|
||||
#define B_ANIM_SMOKEBALL_ESCAPE 0x8
|
||||
#define B_ANIM_HANGED_ON 0x9
|
||||
#define B_ANIM_RAIN_CONTINUES 0xA
|
||||
#define B_ANIM_SUN_CONTINUES 0xB
|
||||
#define B_ANIM_SANDSTORM_CONTINUES 0xC
|
||||
#define B_ANIM_HAIL_CONTINUES 0xD
|
||||
#define B_ANIM_LEECH_SEED_DRAIN 0xE
|
||||
#define B_ANIM_MON_HIT 0xF
|
||||
#define B_ANIM_ITEM_STEAL 0x10
|
||||
#define B_ANIM_SNATCH_MOVE 0x11
|
||||
#define B_ANIM_FUTURE_SIGHT_HIT 0x12
|
||||
#define B_ANIM_x13 0x13
|
||||
#define B_ANIM_x14 0x14
|
||||
#define B_ANIM_INGRAIN_HEAL 0x15
|
||||
#define B_ANIM_WISH_HEAL 0x16
|
||||
#define B_ANIM_x17 0x17
|
||||
#define B_ANIM_x18 0x18
|
||||
#define B_ANIM_x19 0x19
|
||||
#define B_ANIM_x1A 0x1A
|
||||
#define B_ANIM_x1B 0x1B
|
||||
#define B_ANIM_x1C 0x1C
|
||||
#define B_ANIM_x1D 0x1D
|
||||
|
||||
#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8
|
||||
#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40
|
||||
#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit
|
||||
|
||||
#define SET_STAT_BUFF_ID(n)((n & 0xF))
|
||||
#define SET_STAT_BUFF_VALUE(n)(((s8)(((s8)(n) << 4)) & 0xF0))
|
||||
|
||||
struct BattleScripting
|
||||
{
|
||||
u8 field_0;
|
||||
u8 field_1;
|
||||
u8 field_2;
|
||||
u8 field_3;
|
||||
u32 bideDmg;
|
||||
u8 field_8;
|
||||
u8 field_9;
|
||||
u8 field_A;
|
||||
u8 field_B;
|
||||
u8 field_C;
|
||||
u8 field_D;
|
||||
s32 painSplitHp;
|
||||
s32 bideDmg;
|
||||
u8 multihitString[6];
|
||||
u8 dmgMultiplier;
|
||||
u8 field_F;
|
||||
u8 animArg1;
|
||||
@@ -659,22 +827,165 @@ struct BattleScripting
|
||||
u8 field_15;
|
||||
u8 field_16;
|
||||
u8 bank;
|
||||
u8 field_18;
|
||||
u8 field_19;
|
||||
u8 animTurn;
|
||||
u8 animTargetsHit;
|
||||
u8 statChanger;
|
||||
u8 field_1B;
|
||||
u8 atk23_state;
|
||||
u8 battleStyle;
|
||||
u8 atk6C_state;
|
||||
u8 learnMoveState;
|
||||
u8 field_20;
|
||||
u8 reshowMainState;
|
||||
u8 reshowHelperState;
|
||||
u8 field_23;
|
||||
u8 field_24;
|
||||
u8 multiplayerId;
|
||||
};
|
||||
|
||||
extern struct BattleScripting gBattleScripting;
|
||||
|
||||
// functions
|
||||
|
||||
// battle_1
|
||||
void LoadBattleTextboxAndBackground(void);
|
||||
void LoadBattleEntryBackground(void);
|
||||
void ApplyPlayerChosenFrameToBattleMenu(void);
|
||||
bool8 LoadChosenBattleElement(u8 caseId);
|
||||
void DrawMainBattleBackground(void);
|
||||
void task00_0800F6FC(u8 taskId);
|
||||
|
||||
// battle_5
|
||||
void AllocateBattleResrouces(void);
|
||||
void FreeBattleResources(void);
|
||||
void AdjustFriendshipOnBattleFaint(u8 bank);
|
||||
void sub_80571DC(u8 bank, u8 arg1);
|
||||
u32 sub_805725C(u8 bank);
|
||||
|
||||
// battle 7
|
||||
void AllocateBattleSpritesData(void);
|
||||
void FreeBattleSpritesData(void);
|
||||
void AllocateMonSpritesGfx(void);
|
||||
void FreeMonSpritesGfx(void);
|
||||
void BattleMusicStop(void);
|
||||
void sub_805E990(struct Pokemon *mon, u8 bank);
|
||||
void sub_805EF14(void);
|
||||
bool8 BattleInitAllSprites(u8 *state1, u8 *state2);
|
||||
void sub_805E350(void);
|
||||
bool8 BattleLoadAllHealthBoxesGfx(u8 state);
|
||||
void LoadAndCreateEnemyShadowSprites(void);
|
||||
void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species);
|
||||
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank);
|
||||
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank);
|
||||
void BattleLoadSubstituteSpriteGfx(u8 bank, bool8 arg1);
|
||||
|
||||
enum
|
||||
{
|
||||
BACK_PIC_BRENDAN,
|
||||
BACK_PIC_MAY,
|
||||
BACK_PIC_RED,
|
||||
BACK_PIC_LEAF,
|
||||
BACK_PIC_RS_BRENDAN,
|
||||
BACK_PIC_RS_MAY,
|
||||
BACK_PIC_WALLY,
|
||||
BACK_PIC_STEVEN
|
||||
};
|
||||
void LoadBackTrainerBankSpriteGfx(u8 backPicId, u8 bank);
|
||||
|
||||
// rom_80A5C6C
|
||||
u8 GetBankSide(u8 bank);
|
||||
u8 GetBankIdentity(u8 bank);
|
||||
u8 GetBankByIdentity(u8 bank);
|
||||
|
||||
struct BattleSpriteInfo
|
||||
{
|
||||
u16 invisible : 1; // 0x1
|
||||
u16 flag_x2 : 1; // 0x2
|
||||
u16 behindSubstitute : 1; // 0x4
|
||||
u16 flag_x8 : 1; // 0x8
|
||||
u16 hpNumbersNoBars : 1; // 0x10
|
||||
u16 transformSpecies;
|
||||
};
|
||||
|
||||
struct BattleAnimationInfo
|
||||
{
|
||||
u16 field; // to fill up later
|
||||
u8 field_2;
|
||||
u8 field_3;
|
||||
u8 field_4;
|
||||
u8 field_5;
|
||||
u8 field_6;
|
||||
u8 field_7;
|
||||
u8 field_8;
|
||||
u8 field_9_x1 : 1;
|
||||
u8 field_9_x2 : 1;
|
||||
u8 field_9_x1C : 3;
|
||||
u8 field_9_x20 : 1;
|
||||
u8 field_9_x40 : 1;
|
||||
u8 field_9_x80 : 1;
|
||||
};
|
||||
|
||||
struct BattleHealthboxInfo
|
||||
{
|
||||
u8 flag_x1 : 1;
|
||||
u8 flag_x2 : 1;
|
||||
u8 flag_x4 : 1;
|
||||
u8 flag_x8 : 1;
|
||||
u8 flag_x10 : 1;
|
||||
u8 field_1;
|
||||
u8 field_2;
|
||||
u8 field_3;
|
||||
u8 field_4;
|
||||
u8 field_5;
|
||||
u8 field_6;
|
||||
u8 field_7;
|
||||
u8 field_8;
|
||||
u8 field_9;
|
||||
u8 field_A;
|
||||
u8 field_B;
|
||||
};
|
||||
|
||||
struct BattleBarInfo
|
||||
{
|
||||
u8 healthboxSpriteId;
|
||||
s32 maxValue;
|
||||
s32 currentValue;
|
||||
s32 field_C;
|
||||
s32 field_10;
|
||||
};
|
||||
|
||||
struct BattleSpriteData
|
||||
{
|
||||
struct BattleSpriteInfo *bankData;
|
||||
struct BattleHealthboxInfo *healthBoxesData;
|
||||
struct BattleAnimationInfo *animationData;
|
||||
struct BattleBarInfo *battleBars;
|
||||
};
|
||||
|
||||
extern struct BattleSpriteData *gBattleSpritesDataPtr;
|
||||
|
||||
#define BATTLE_BUFFER_LINK_SIZE 0x1000
|
||||
|
||||
extern u8 *gLinkBattleSendBuffer;
|
||||
extern u8 *gLinkBattleRecvBuffer;
|
||||
|
||||
// Move this somewhere else
|
||||
|
||||
#include "sprite.h"
|
||||
|
||||
struct BattleSpritesGfx
|
||||
struct MonSpritesGfx
|
||||
{
|
||||
void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon
|
||||
void* sprites[4];
|
||||
struct SpriteTemplate templates[4];
|
||||
u8 field_74[0x100];
|
||||
u8 *fontPixels;
|
||||
};
|
||||
|
||||
extern struct BattleSpritesGfx* gBattleSpritesGfx;
|
||||
extern struct BattleSpritesGfx* gMonSpritesGfx;
|
||||
extern u8 gBattleOutcome;
|
||||
extern u16 gLastUsedItem;
|
||||
extern u32 gBattleTypeFlags;
|
||||
extern struct MonSpritesGfx* gMonSpritesGfxPtr;
|
||||
|
||||
#endif // GUARD_BATTLE_H
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
#ifndef GUARD_BATTLE_2_H
|
||||
#define GUARD_BATTLE_2_H
|
||||
|
||||
void CB2_InitBattle(void);
|
||||
void CB2_QuitRecordedBattle(void);
|
||||
void FaintClearSetData(void);
|
||||
void SwitchInClearSetData(void);
|
||||
void sub_803BDA0(u8 bank);
|
||||
void BattleMainCB2(void);
|
||||
void VBlankCB_Battle(void);
|
||||
bool8 TryRunFromBattle(u8 bank);
|
||||
u8 IsRunningFromBattleImpossible(void);
|
||||
u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves);
|
||||
void SwapTurnOrder(u8 id1, u8 id2);
|
||||
void BattleTurnPassed(void);
|
||||
void RunBattleScriptCommands_PopCallbacksStack(void);
|
||||
void RunBattleScriptCommands(void);
|
||||
u32 sub_80397C4(u32 setId, u32 tableId);
|
||||
void sub_8039E9C(struct Sprite *sprite);
|
||||
void nullsub_20(void);
|
||||
void BeginBattleIntro(void);
|
||||
|
||||
extern const u8 gStatusConditionString_PoisonJpn[8];
|
||||
extern const u8 gStatusConditionString_SleepJpn[8];
|
||||
extern const u8 gStatusConditionString_ParalysisJpn[8];
|
||||
extern const u8 gStatusConditionString_BurnJpn[8];
|
||||
extern const u8 gStatusConditionString_IceJpn[8];
|
||||
extern const u8 gStatusConditionString_ConfusionJpn[8];
|
||||
extern const u8 gStatusConditionString_LoveJpn[8];
|
||||
|
||||
extern const u8 * const gStatusConditionStringsTable[7][2];
|
||||
|
||||
#endif // GUARD_BATTLE_2_H
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef GUARD_BATTLE_AI_H
|
||||
#define GUARD_BATTLE_AI_H
|
||||
#ifndef GUARD_BATTLE_AI_SCRIPT_COMMANDS_H
|
||||
#define GUARD_BATTLE_AI_SCRIPT_COMMANDS_H
|
||||
|
||||
void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves);
|
||||
void BattleAI_SetupAIData(u8 defaultScoreMoves);
|
||||
@@ -10,4 +10,4 @@ void ClearBankAbilityHistory(u8 bank);
|
||||
void RecordItemEffectBattle(u8 bank, u8 itemEffect);
|
||||
void ClearBankItemEffectHistory(u8 bank);
|
||||
|
||||
#endif // GUARD_BATTLE_AI_H
|
||||
#endif // GUARD_BATTLE_AI_SCRIPT_COMMANDS_H
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef GUARD_BATTLE_AI_SWITCH_ITEMS_H
|
||||
#define GUARD_BATTLE_AI_SWITCH_ITEMS_H
|
||||
|
||||
enum
|
||||
{
|
||||
AI_ITEM_FULL_RESTORE = 1,
|
||||
AI_ITEM_HEAL_HP,
|
||||
AI_ITEM_CURE_CONDITION,
|
||||
AI_ITEM_X_STAT,
|
||||
AI_ITEM_GUARD_SPECS,
|
||||
AI_ITEM_NOT_RECOGNIZABLE
|
||||
};
|
||||
|
||||
void AI_TrySwitchOrUseItem(void);
|
||||
u8 GetMostSuitableMonToSwitchInto(void);
|
||||
|
||||
#endif // GUARD_BATTLE_AI_SWITCH_ITEMS_H
|
||||
@@ -0,0 +1,79 @@
|
||||
#ifndef GUARD_BATTLE_ANIM_H
|
||||
#define GUARD_BATTLE_ANIM_H
|
||||
|
||||
enum
|
||||
{
|
||||
ANIM_BANK_ATTACKER,
|
||||
ANIM_BANK_TARGET,
|
||||
ANIM_BANK_ATK_PARTNER,
|
||||
ANIM_BANK_DEF_PARTNER,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
BG_ANIM_SCREEN_SIZE,
|
||||
BG_ANIM_AREA_OVERFLOW_MODE,
|
||||
BG_ANIM2,
|
||||
BG_ANIM3,
|
||||
BG_ANIM_PRIORITY,
|
||||
BG_ANIM_5,
|
||||
BG_ANIM_6
|
||||
};
|
||||
|
||||
struct UnknownAnimStruct2
|
||||
{
|
||||
void *unk0;
|
||||
u16 *unk4;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u16 unkA;
|
||||
u16 unkC;
|
||||
};
|
||||
|
||||
struct BattleAnimBackground
|
||||
{
|
||||
void *image;
|
||||
void *palette;
|
||||
void *tilemap;
|
||||
};
|
||||
|
||||
#define ANIM_ARGS_COUNT 8
|
||||
|
||||
#define PAN_SIDE_PLAYER -64
|
||||
#define PAN_SIDE_OPPONENT 63
|
||||
|
||||
extern void (*gAnimScriptCallback)(void);
|
||||
extern bool8 gAnimScriptActive;
|
||||
extern u8 gAnimVisualTaskCount;
|
||||
extern u8 gAnimSoundTaskCount;
|
||||
extern struct DisableStruct *gAnimDisableStructPtr;
|
||||
extern u32 gAnimMoveDmg;
|
||||
extern u16 gAnimMovePower;
|
||||
extern u8 gAnimFriendship;
|
||||
extern u16 gWeatherMoveAnim;
|
||||
extern s16 gBattleAnimArgs[ANIM_ARGS_COUNT];
|
||||
extern u8 gAnimMoveTurn;
|
||||
extern u8 gAnimBankAttacker;
|
||||
extern u8 gAnimBankTarget;
|
||||
extern u16 gAnimSpeciesByBanks[BATTLE_BANKS_COUNT];
|
||||
extern u8 gUnknown_02038440;
|
||||
|
||||
void ClearBattleAnimationVars(void);
|
||||
void DoMoveAnim(u16 move);
|
||||
void DoBattleAnim(const u8 *const animsTable[], u16 tableId, bool8 isMoveAnim);
|
||||
void DestroyAnimSprite(struct Sprite *sprite);
|
||||
void DestroyAnimVisualTask(u8 taskId);
|
||||
void DestroyAnimSoundTask(u8 taskId);
|
||||
bool8 IsAnimBankSpriteVisible(u8 bank);
|
||||
void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible);
|
||||
bool8 IsContest(void);
|
||||
s8 BattleAnimAdjustPanning(s8 pan);
|
||||
s8 BattleAnimAdjustPanning2(s8 pan);
|
||||
s16 sub_80A52EC(s16 a);
|
||||
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
|
||||
|
||||
// battle_anim_80FE840.s
|
||||
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
|
||||
void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 bankIdentity, u8 arg4, void *arg5, u16 *arg6, u16 arg7);
|
||||
|
||||
#endif // GUARD_BATTLE_ANIM_H
|
||||
@@ -0,0 +1,207 @@
|
||||
#ifndef GUARD_BATTLE_CONTROLLERS_H
|
||||
#define GUARD_BATTLE_CONTROLLERS_H
|
||||
|
||||
#define REQUEST_ALL_BATTLE 0x0
|
||||
#define REQUEST_SPECIES_BATTLE 0x1
|
||||
#define REQUEST_HELDITEM_BATTLE 0x2
|
||||
#define REQUEST_MOVES_PP_BATTLE 0x3
|
||||
#define REQUEST_PPMOVE1_BATTLE 0x9
|
||||
#define REQUEST_PPMOVE2_BATTLE 0xA
|
||||
#define REQUEST_PPMOVE3_BATTLE 0xB
|
||||
#define REQUEST_PPMOVE4_BATTLE 0xC
|
||||
#define REQUEST_STATUS_BATTLE 0x28
|
||||
#define REQUEST_HP_BATTLE 0x2A
|
||||
|
||||
#define RESET_ACTION_MOVE_SELECTION 0
|
||||
#define RESET_ACTION_SELECTION 1
|
||||
#define RESET_MOVE_SELECTION 2
|
||||
|
||||
#define BALL_NO_SHAKES 0
|
||||
#define BALL_1_SHAKE 1
|
||||
#define BALL_2_SHAKES 2
|
||||
#define BALL_3_SHAKES_FAIL 3
|
||||
#define BALL_3_SHAKES_SUCCESS 4
|
||||
#define BALL_TRAINER_BLOCK 5
|
||||
|
||||
struct HpAndStatus
|
||||
{
|
||||
u16 hp;
|
||||
u32 status;
|
||||
};
|
||||
|
||||
struct MovePpInfo
|
||||
{
|
||||
u16 move[4];
|
||||
u8 pp[4];
|
||||
u8 ppBonuses;
|
||||
};
|
||||
|
||||
struct ChooseMoveStruct
|
||||
{
|
||||
u16 moves[4];
|
||||
u8 currentPp[4];
|
||||
u8 maxPp[4];
|
||||
u16 species;
|
||||
u8 monType1;
|
||||
u8 monType2;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
CONTROLLER_GETMONDATA,
|
||||
CONTROLLER_GETRAWMONDATA,
|
||||
CONTROLLER_SETMONDATA,
|
||||
CONTROLLER_SETRAWMONDATA,
|
||||
CONTROLLER_LOADMONSPRITE,
|
||||
CONTROLLER_SWITCHINANIM,
|
||||
CONTROLLER_RETURNMONTOBALL,
|
||||
CONTROLLER_DRAWTRAINERPIC,
|
||||
CONTROLLER_TRAINERSLIDE,
|
||||
CONTROLLER_TRAINERSLIDEBACK,
|
||||
CONTROLLER_FAINTANIMATION,
|
||||
CONTROLLER_11,
|
||||
CONTROLLER_12,
|
||||
CONTROLLER_BALLTHROW,
|
||||
CONTROLLER_PAUSE,
|
||||
CONTROLLER_MOVEANIMATION,
|
||||
CONTROLLER_PRINTSTRING,
|
||||
CONTROLLER_PRINTSTRINGPLAYERONLY,
|
||||
CONTROLLER_CHOOSEACTION,
|
||||
CONTROLLER_19,
|
||||
CONTROLLER_CHOOSEMOVE,
|
||||
CONTROLLER_OPENBAG,
|
||||
CONTROLLER_CHOOSEPOKEMON,
|
||||
CONTROLLER_23,
|
||||
CONTROLLER_HEALTHBARUPDATE,
|
||||
CONTROLLER_EXPUPDATE,
|
||||
CONTROLLER_STATUSICONUPDATE,
|
||||
CONTROLLER_STATUSANIMATION,
|
||||
CONTROLLER_STATUSXOR,
|
||||
CONTROLLER_DATATRANSFER,
|
||||
CONTROLLER_DMA3TRANSFER,
|
||||
CONTROLLER_31,
|
||||
CONTROLLER_32,
|
||||
CONTROLLER_33,
|
||||
CONTROLLER_34,
|
||||
CONTROLLER_35,
|
||||
CONTROLLER_36,
|
||||
CONTROLLER_37,
|
||||
CONTROLLER_38,
|
||||
CONTROLLER_39,
|
||||
CONTROLLER_40,
|
||||
CONTROLLER_HITANIMATION,
|
||||
CONTROLLER_42,
|
||||
CONTROLLER_EFFECTIVENESSSOUND,
|
||||
CONTROLLER_PLAYFANFAREORBGM,
|
||||
CONTROLLER_FAINTINGCRY,
|
||||
CONTROLLER_INTROSLIDE,
|
||||
CONTROLLER_INTROTRAINERBALLTHROW,
|
||||
CONTROLLER_DRAWPARTYSTATUSSUMMARY,
|
||||
CONTROLLER_49,
|
||||
CONTROLLER_50,
|
||||
CONTROLLER_SPRITEINVISIBILITY,
|
||||
CONTROLLER_BATTLEANIMATION,
|
||||
CONTROLLER_LINKSTANDBYMSG,
|
||||
CONTROLLER_RESETACTIONMOVESELECTION,
|
||||
CONTROLLER_55,
|
||||
CONTROLLER_56
|
||||
};
|
||||
|
||||
#define LAST_CONTROLLER_CMD_ID CONTROLLER_56 + 1
|
||||
|
||||
// general functions
|
||||
void HandleLinkBattleSetup(void);
|
||||
void SetUpBattleVarsAndBirchZigzagoon(void);
|
||||
void sub_8032768(void);
|
||||
void sub_8033648(void);
|
||||
void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data);
|
||||
|
||||
// emitters
|
||||
void EmitGetMonData(u8 bufferId, u8 arg1, u8 arg2);
|
||||
void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused
|
||||
void EmitSetMonData(u8 bufferId, u8 request, u8 c, u8 bytes, void *data);
|
||||
void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused
|
||||
void EmitLoadMonSprite(u8 bufferId);
|
||||
void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit);
|
||||
void EmitReturnMonToBall(u8 bufferId, u8 arg1);
|
||||
void EmitDrawTrainerPic(u8 bufferId);
|
||||
void EmitTrainerSlide(u8 bufferId);
|
||||
void EmitTrainerSlideBack(u8 bufferId);
|
||||
void EmitFaintAnimation(u8 bufferId);
|
||||
void EmitCmd11(u8 bufferId); // unused
|
||||
void EmitCmd12(u8 bufferId); // unused
|
||||
void EmitBallThrow(u8 bufferId, u8 caseId);
|
||||
void EmitPause(u8 bufferId, u8 toWait, void *data); // unused
|
||||
void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit);
|
||||
void EmitPrintString(u8 bufferId, u16 stringId);
|
||||
void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId);
|
||||
void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2);
|
||||
void EmitCmd19(u8 bufferId);
|
||||
void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData);
|
||||
void EmitOpenBag(u8 bufferId, u8* arg1);
|
||||
void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4);
|
||||
void EmitCmd23(u8 bufferId); // unused
|
||||
void EmitHealthBarUpdate(u8 bufferId, u16 hpValue);
|
||||
void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints);
|
||||
void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2);
|
||||
void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status);
|
||||
void EmitStatusXor(u8 bufferId, u8 b); // unused
|
||||
void EmitDataTransfer(u8 bufferId, u16 size, void *data);
|
||||
void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused
|
||||
void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter); // unused
|
||||
void EmitCmd32(u8 bufferId, u16 size, void *c); // unused
|
||||
void EmitCmd33(u8 bufferId, u8 arg1, u16 arg2);
|
||||
void EmitCmd34(u8 bufferId, u8 b, u8 *c);
|
||||
void EmitCmd35(u8 bufferId, u16 b);
|
||||
void EmitCmd36(u8 bufferId, u16 b);
|
||||
void EmitCmd37(u8 bufferId);
|
||||
void EmitCmd38(u8 bufferId, u8 b);
|
||||
void EmitCmd39(u8 bufferId);
|
||||
void EmitCmd40(u8 bufferId);
|
||||
void EmitHitAnimation(u8 bufferId);
|
||||
void EmitCmd42(u8 bufferId);
|
||||
void EmitEffectivenessSound(u8 bufferId, u16 songId);
|
||||
void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM);
|
||||
void EmitFaintingCry(u8 bufferId);
|
||||
void EmitIntroSlide(u8 bufferId, u8 terrainId);
|
||||
void EmitIntroTrainerBallThrow(u8 bufferId);
|
||||
void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2);
|
||||
void EmitCmd49(u8 bufferId);
|
||||
void EmitCmd50(u8 bufferId);
|
||||
void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible);
|
||||
void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument);
|
||||
void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2);
|
||||
void EmitResetActionMoveSelection(u8 bufferId, u8 caseId);
|
||||
void EmitCmd55(u8 bufferId, u8 arg1);
|
||||
|
||||
// player controller
|
||||
void SetBankFuncToPlayerBufferRunCommand(void);
|
||||
void nullsub_21(void);
|
||||
void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused);
|
||||
void ActionSelectionDestroyCursorAt(u8 cursorPos);
|
||||
|
||||
// recorded player controller
|
||||
void SetBankFuncToRecordedPlayerBufferRunCommand(void);
|
||||
|
||||
// opponent controller
|
||||
void SetBankFuncToOpponentBufferRunCommand(void);
|
||||
|
||||
// player partner controller
|
||||
void SetBankFuncToPlayerPartnerBufferRunCommand(void);
|
||||
|
||||
// safari controller
|
||||
void SetBankFuncToSafariBufferRunCommand(void);
|
||||
|
||||
// wally controller
|
||||
void SetBankFuncToWallyBufferRunCommand(void);
|
||||
|
||||
// recorded opponent controller
|
||||
void SetBankFuncToRecordedOpponentBufferRunCommand(void);
|
||||
|
||||
// link opponent
|
||||
void SetBankFuncToLinkOpponentBufferRunCommand(void);
|
||||
|
||||
// link partner
|
||||
void SetBankFuncToLinkPartnerBufferRunCommand(void);
|
||||
|
||||
#endif // GUARD_BATTLE_CONTROLLERS_H
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef GUARD_BATTLE_FRONTIER_2_H
|
||||
#define GUARD_BATTLE_FRONTIER_2_H
|
||||
|
||||
void sub_81A8934(u8);
|
||||
void sub_81A895C(void);
|
||||
u16 sub_81A89A0(u8);
|
||||
void sub_81A8AF8(void);
|
||||
|
||||
#endif // GUARD_BATTLE_FRONTIER_2_H
|
||||
@@ -0,0 +1,54 @@
|
||||
#ifndef GUARD_BATTLE_INTERFACE_H
|
||||
#define GUARD_BATTLE_INTERFACE_H
|
||||
|
||||
#include "battle_controllers.h"
|
||||
|
||||
#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF
|
||||
#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700
|
||||
#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701
|
||||
#define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702
|
||||
|
||||
#define TAG_HEALTHBOX_SAFARI_TILE 0xD70B
|
||||
|
||||
#define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C
|
||||
#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714
|
||||
|
||||
#define TAG_HEALTHBOX_PAL 0xD6FF
|
||||
#define TAG_STATUS_SUMMARY_BAR_PAL 0xD710
|
||||
#define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712
|
||||
|
||||
enum
|
||||
{
|
||||
HEALTHBOX_ALL,
|
||||
HEALTHBOX_CURRENT_HP,
|
||||
HEALTHBOX_MAX_HP,
|
||||
HEALTHBOX_LEVEL,
|
||||
HEALTHBOX_NICK,
|
||||
HEALTHBOX_HEALTH_BAR,
|
||||
HEALTHBOX_EXP_BAR,
|
||||
HEALTHBOX_UNUSED_7,
|
||||
HEALTHBOX_UNUSED_8,
|
||||
HEALTHBOX_STATUS_ICON,
|
||||
HEALTHBOX_SAFARI_ALL_TEXT,
|
||||
HEALTHBOX_SAFARI_BALLS_TEXT
|
||||
};
|
||||
|
||||
u8 CreateBankHealthboxSprites(u8 bank);
|
||||
u8 CreateSafariPlayerHealthboxSprites(void);
|
||||
void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 field_C);
|
||||
void SetHealthboxSpriteInvisible(u8 healthboxSpriteId);
|
||||
void SetHealthboxSpriteVisible(u8 healthboxSpriteId);
|
||||
void DestoryHealthboxSprite(u8 healthboxSpriteId);
|
||||
void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly);
|
||||
void UpdateOamPriorityInAllHealthboxes(u8 priority);
|
||||
void SetBankHealthboxSpritePos(u8 bank);
|
||||
void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
|
||||
void SwapHpBarsWithHpText(void);
|
||||
u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart);
|
||||
void sub_8073C30(u8 taskId);
|
||||
void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId);
|
||||
s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3);
|
||||
u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale);
|
||||
u8 GetHPBarLevel(s16 hp, s16 maxhp);
|
||||
|
||||
#endif // GUARD_BATTLE_INTERFACE_H
|
||||
+204
-6
@@ -1,6 +1,191 @@
|
||||
#ifndef GUARD_BATTLE_MESSAGE_H
|
||||
#define GUARD_BATTLE_MESSAGE_H
|
||||
|
||||
// for 0xFD
|
||||
|
||||
#define B_TXT_BUFF1 0x0
|
||||
#define B_TXT_BUFF2 0x1
|
||||
#define B_TXT_COPY_VAR_1 0x2
|
||||
#define B_TXT_COPY_VAR_2 0x3
|
||||
#define B_TXT_COPY_VAR_3 0x4
|
||||
#define B_TXT_PLAYER_MON1_NAME 0x5
|
||||
#define B_TXT_OPPONENT_MON1_NAME 0x6
|
||||
#define B_TXT_PLAYER_MON2_NAME 0x7
|
||||
#define B_TXT_OPPONENT_MON2_NAME 0x8
|
||||
#define B_TXT_LINK_PLAYER_MON1_NAME 0x9
|
||||
#define B_TXT_LINK_OPPONENT_MON1_NAME 0xA
|
||||
#define B_TXT_LINK_PLAYER_MON2_NAME 0xB
|
||||
#define B_TXT_LINK_OPPONENT_MON2_NAME 0xC
|
||||
#define B_TXT_ATK_NAME_WITH_PREFIX_MON1 0xD
|
||||
#define B_TXT_ATK_PARTNER_NAME 0xE
|
||||
#define B_TXT_ATK_NAME_WITH_PREFIX 0xF
|
||||
#define B_TXT_DEF_NAME_WITH_PREFIX 0x10
|
||||
#define B_TXT_EFF_NAME_WITH_PREFIX 0x11 // EFF = short for gEffectBank
|
||||
#define B_TXT_ACTIVE_NAME_WITH_PREFIX 0x12
|
||||
#define B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX 0x13
|
||||
#define B_TXT_CURRENT_MOVE 0x14
|
||||
#define B_TXT_LAST_MOVE 0x15
|
||||
#define B_TXT_LAST_ITEM 0x16
|
||||
#define B_TXT_LAST_ABILITY 0x17
|
||||
#define B_TXT_ATK_ABILITY 0x18
|
||||
#define B_TXT_DEF_ABILITY 0x19
|
||||
#define B_TXT_SCR_ACTIVE_ABILITY 0x1A
|
||||
#define B_TXT_EFF_ABILITY 0x1B
|
||||
#define B_TXT_TRAINER1_CLASS 0x1C
|
||||
#define B_TXT_TRAINER1_NAME 0x1D
|
||||
#define B_TXT_1E 0x1E // trainer name for a link player
|
||||
#define B_TXT_1F 0x1F // trainer name for a link player
|
||||
#define B_TXT_20 0x20 // trainer name for a link player
|
||||
#define B_TXT_21 0x21 // trainer name for a link player
|
||||
#define B_TXT_22 0x22 // trainer name for a link player
|
||||
#define B_TXT_PLAYER_NAME 0x23
|
||||
#define B_TXT_TRAINER1_LOSE_TEXT 0x24
|
||||
#define B_TXT_TRAINER1_WIN_TEXT 0x25
|
||||
#define B_TXT_26 0x26
|
||||
#define B_TXT_PC_CREATOR_NAME 0x27
|
||||
#define B_TXT_ATK_PREFIX1 0x28
|
||||
#define B_TXT_DEF_PREFIX1 0x29
|
||||
#define B_TXT_ATK_PREFIX2 0x2A
|
||||
#define B_TXT_DEF_PREFIX2 0x2B
|
||||
#define B_TXT_ATK_PREFIX3 0x2C
|
||||
#define B_TXT_DEF_PREFIX3 0x2D
|
||||
#define B_TXT_TRAINER2_CLASS 0x2E
|
||||
#define B_TXT_TRAINER2_NAME 0x2F
|
||||
#define B_TXT_TRAINER2_LOSE_TEXT 0x30
|
||||
#define B_TXT_TRAINER2_WIN_TEXT 0x31
|
||||
#define B_TXT_PARTNER_CLASS 0x32
|
||||
#define B_TXT_PARTNER_NAME 0x33
|
||||
#define B_TXT_BUFF3 0x34
|
||||
|
||||
// for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3
|
||||
|
||||
#define B_BUFF_STRING 0
|
||||
#define B_BUFF_NUMBER 1
|
||||
#define B_BUFF_MOVE 2
|
||||
#define B_BUFF_TYPE 3
|
||||
#define B_BUFF_MON_NICK_WITH_PREFIX 4
|
||||
#define B_BUFF_STAT 5
|
||||
#define B_BUFF_SPECIES 6
|
||||
#define B_BUFF_MON_NICK 7
|
||||
#define B_BUFF_NEGATIVE_FLAVOUR 8
|
||||
#define B_BUFF_ABILITY 9
|
||||
#define B_BUFF_ITEM 10
|
||||
|
||||
#define B_BUFF_PLACEHOLDER_BEGIN 0xFD
|
||||
#define B_BUFF_EOS 0xFF
|
||||
|
||||
#define PREPARE_STAT_BUFFER(textVar, statId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_STAT; \
|
||||
textVar[2] = statId; \
|
||||
textVar[3] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_ABILITY_BUFFER(textVar, abilityId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_ABILITY; \
|
||||
textVar[2] = abilityId; \
|
||||
textVar[3] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_TYPE_BUFFER(textVar, typeId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_TYPE; \
|
||||
textVar[2] = typeId; \
|
||||
textVar[3] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_BYTE_NUMBER_BUFFER(textVar, maxDigits, number) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_NUMBER; \
|
||||
textVar[2] = 1; \
|
||||
textVar[3] = maxDigits; \
|
||||
textVar[4] = (number); \
|
||||
textVar[5] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_HWORD_NUMBER_BUFFER(textVar, maxDigits, number) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_NUMBER; \
|
||||
textVar[2] = 2; \
|
||||
textVar[3] = maxDigits; \
|
||||
textVar[4] = (number); \
|
||||
textVar[5] = (number & 0x0000FF00) >> 8; \
|
||||
textVar[6] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_WORD_NUMBER_BUFFER(textVar, maxDigits, number) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_NUMBER; \
|
||||
textVar[2] = 4; \
|
||||
textVar[3] = maxDigits; \
|
||||
textVar[4] = (number); \
|
||||
textVar[5] = (number & 0x0000FF00) >> 8; \
|
||||
textVar[6] = (number & 0x00FF0000) >> 16; \
|
||||
textVar[7] = (number & 0xFF000000) >> 24; \
|
||||
textVar[8] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_STRING_BUFFER(textVar, stringId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_STRING; \
|
||||
textVar[2] = stringId; \
|
||||
textVar[3] = (stringId & 0xFF00) >> 8; \
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_MOVE_BUFFER(textVar, move) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_MOVE; \
|
||||
textVar[2] = move; \
|
||||
textVar[3] = (move & 0xFF00) >> 8; \
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_ITEM_BUFFER(textVar, item) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_ITEM; \
|
||||
textVar[2] = item; \
|
||||
textVar[3] = (item & 0xFF00) >> 8; \
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_SPECIES_BUFFER(textVar, species) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_SPECIES; \
|
||||
textVar[2] = species; \
|
||||
textVar[3] = (species & 0xFF00) >> 8; \
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_MON_NICK_WITH_PREFIX_BUFFER(textVar, bank, partyId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_MON_NICK_WITH_PREFIX; \
|
||||
textVar[2] = bank; \
|
||||
textVar[3] = partyId; \
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_MON_NICK_BUFFER(textVar, bank, partyId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_MON_NICK; \
|
||||
textVar[2] = bank; \
|
||||
textVar[3] = partyId; \
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
struct StringInfoBattle
|
||||
{
|
||||
u16 currentMove;
|
||||
@@ -17,12 +202,25 @@ struct StringInfoBattle
|
||||
};
|
||||
|
||||
void BufferStringBattle(u16 stringID);
|
||||
u32 StrCpyDecodeToDisplayedStringBattle(const u8* src);
|
||||
u32 StrCpyDecodeBattle(const u8* src, u8* dst);
|
||||
u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src);
|
||||
u32 BattleStringExpandPlaceholders(const u8* src, u8* dst);
|
||||
void sub_814F9EC(const u8* text, u8 arg1);
|
||||
void SetPpNumbersPaletteInMoveSelection(void);
|
||||
u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp);
|
||||
|
||||
extern u8 gBattleTextBuff1[];
|
||||
extern u8 gBattleTextBuff2[];
|
||||
extern u8 gBattleTextBuff3[];
|
||||
extern u8 gDisplayedStringBattle[];
|
||||
#define TEXT_BUFF_ARRAY_COUNT 16
|
||||
|
||||
extern u8 gDisplayedStringBattle[300];
|
||||
extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT];
|
||||
extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT];
|
||||
extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT];
|
||||
|
||||
extern const u8* const gStatNamesTable[];
|
||||
extern const u8* const gPokeblockWasTooXStringTable[];
|
||||
extern const u8* const gRefereeStringsTable[];
|
||||
extern const u8* const gStatNamesTable2[];
|
||||
|
||||
extern const u16 gMissStringIds[];
|
||||
extern const u16 gTrappingMoves[];
|
||||
|
||||
#endif // GUARD_BATTLE_MESSAGE_H
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
#ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H
|
||||
#define GUARD_BATTLE_SCRIPT_COMMANDS_H
|
||||
|
||||
#define CMP_EQUAL 0x0
|
||||
#define CMP_NOT_EQUAL 0x1
|
||||
#define CMP_GREATER_THAN 0x2
|
||||
#define CMP_LESS_THAN 0x3
|
||||
#define CMP_COMMON_BITS 0x4
|
||||
#define CMP_NO_COMMON_BITS 0x5
|
||||
|
||||
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
|
||||
#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability
|
||||
#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
|
||||
|
||||
#define ATK48_STAT_NEGATIVE 0x1
|
||||
#define ATK48_STAT_BY_TWO 0x2
|
||||
#define ATK48_BIT_x4 0x4
|
||||
#define ATK48_LOWER_FAIL_CHECK 0x8
|
||||
|
||||
#define ATK4F_DONT_CHECK_STATUSES 0x80
|
||||
|
||||
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
|
||||
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
|
||||
#define VARIOUS_CAN_RUN_FROM_BATTLE 2
|
||||
#define VARIOUS_GET_MOVE_TARGET 3
|
||||
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
|
||||
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
|
||||
#define VARIOUS_WAIT_CRY 18
|
||||
#define VARIOUS_RETURN_OPPONENT_MON1 19
|
||||
#define VARIOUS_RETURN_OPPONENT_MON2 20
|
||||
#define VARIOUS_SET_TELEPORT_OUTCOME 25
|
||||
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
|
||||
|
||||
#define ATK80_DMG_CHANGE_SIGN 0
|
||||
#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1
|
||||
#define ATK80_DMG_DOUBLED 2
|
||||
|
||||
#define STAT_CHANGE_BS_PTR 0x1
|
||||
#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20
|
||||
|
||||
#define STAT_CHANGE_WORKED 0
|
||||
#define STAT_CHANGE_DIDNT_WORK 1
|
||||
|
||||
void AI_CalcDmg(u8 bankAtk, u8 bankDef);
|
||||
u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef);
|
||||
u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility);
|
||||
u8 BankGetTurnOrder(u8 bank);
|
||||
void SetMoveEffect(bool8 primary, u8 certain);
|
||||
void BattleDestroyCursorAt(u8 cursorPosition);
|
||||
void BattleCreateCursorAt(u8 cursorPosition);
|
||||
void BufferMoveToLearnIntoBattleTextBuff2(void);
|
||||
void sub_8056A3C(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags);
|
||||
bool8 UproarWakeUpCheck(u8 bank);
|
||||
|
||||
extern void (* const gBattleScriptingCommandsTable[])(void);
|
||||
extern const u8 gUnknown_0831C494[];
|
||||
|
||||
#endif // GUARD_BATTLE_SCRIPT_COMMANDS_H
|
||||
@@ -0,0 +1,15 @@
|
||||
#ifndef GUARD_BATTLE_SETUP_H
|
||||
#define GUARD_BATTLE_SETUP_H
|
||||
|
||||
void BattleSetup_StartScriptedWildBattle(void);
|
||||
u8 BattleSetup_GetTerrainId(void);
|
||||
u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
|
||||
|
||||
u8 HasTrainerAlreadyBeenFought(u16);
|
||||
void trainer_flag_set(u16);
|
||||
void trainer_flag_clear(u16);
|
||||
void BattleSetup_StartTrainerBattle(void);
|
||||
u8 *BattleSetup_GetScriptAddrAfterBattle(void);
|
||||
u8 *BattleSetup_GetTrainerPostBattleScript(void);
|
||||
|
||||
#endif // GUARD_BATTLE_SETUP_H
|
||||
@@ -0,0 +1,387 @@
|
||||
#ifndef GUARD_BATTLE_STRING_IDS_H
|
||||
#define GUARD_BATTLE_STRING_IDS_H
|
||||
|
||||
#define BATTLESTRINGS_COUNT 369
|
||||
|
||||
#define BATTLESTRINGS_ID_ADDER 12 // all battlestrings have its ID + 12, because first 5 are reserved
|
||||
|
||||
#define STRINGID_INTROMSG 0
|
||||
#define STRINGID_INTROSENDOUT 1
|
||||
#define STRINGID_RETURNMON 2
|
||||
#define STRINGID_SWITCHINMON 3
|
||||
#define STRINGID_USEDMOVE 4
|
||||
#define STRINGID_BATTLEEND 5
|
||||
|
||||
|
||||
// todo: make some of those names less vague: attacker/target vs pkmn, etc.
|
||||
#define STRINGID_TRAINER1LOSETEXT 12
|
||||
#define STRINGID_PKMNGAINEDEXP 13
|
||||
#define STRINGID_PKMNGREWTOLV 14
|
||||
#define STRINGID_PKMNLEARNEDMOVE 15
|
||||
#define STRINGID_TRYTOLEARNMOVE1 16
|
||||
#define STRINGID_TRYTOLEARNMOVE2 17
|
||||
#define STRINGID_TRYTOLEARNMOVE3 18
|
||||
#define STRINGID_PKMNFORGOTMOVE 19
|
||||
#define STRINGID_STOPLEARNINGMOVE 20
|
||||
#define STRINGID_DIDNOTLEARNMOVE 21
|
||||
#define STRINGID_PKMNLEARNEDMOVE2 22
|
||||
#define STRINGID_ATTACKMISSED 23
|
||||
#define STRINGID_PKMNPROTECTEDITSELF 24
|
||||
#define STRINGID_STATSWONTINCREASE2 25
|
||||
#define STRINGID_AVOIDEDDAMAGE 26
|
||||
#define STRINGID_ITDOESNTAFFECT 27
|
||||
#define STRINGID_ATTACKERFAINTED 28
|
||||
#define STRINGID_TARGETFAINTED 29
|
||||
#define STRINGID_PLAYERGOTMONEY 30
|
||||
#define STRINGID_PLAYERWHITEOUT 31
|
||||
#define STRINGID_PLAYERWHITEOUT2 32
|
||||
#define STRINGID_PREVENTSESCAPE 33
|
||||
#define STRINGID_HITXTIMES 34
|
||||
#define STRINGID_PKMNFELLASLEEP 35
|
||||
#define STRINGID_PKMNMADESLEEP 36
|
||||
#define STRINGID_PKMNALREADYASLEEP 37
|
||||
#define STRINGID_PKMNALREADYASLEEP2 38
|
||||
#define STRINGID_PKMNWASNTAFFECTED 39
|
||||
#define STRINGID_PKMNWASPOISONED 40
|
||||
#define STRINGID_PKMNPOISONEDBY 41
|
||||
#define STRINGID_PKMNHURTBYPOISON 42
|
||||
#define STRINGID_PKMNALREADYPOISONED 43
|
||||
#define STRINGID_PKMNBADLYPOISONED 44
|
||||
#define STRINGID_PKMNENERGYDRAINED 45
|
||||
#define STRINGID_PKMNWASBURNED 46
|
||||
#define STRINGID_PKMNBURNEDBY 47
|
||||
#define STRINGID_PKMNHURTBYBURN 48
|
||||
#define STRINGID_PKMNWASFROZEN 49
|
||||
#define STRINGID_PKMNFROZENBY 50
|
||||
#define STRINGID_PKMNISFROZEN 51
|
||||
#define STRINGID_PKMNWASDEFROSTED 52
|
||||
#define STRINGID_PKMNWASDEFROSTED2 53
|
||||
#define STRINGID_PKMNWASDEFROSTEDBY 54
|
||||
#define STRINGID_PKMNWASPARALYZED 55
|
||||
#define STRINGID_PKMNWASPARALYZEDBY 56
|
||||
#define STRINGID_PKMNISPARALYZED 57
|
||||
#define STRINGID_PKMNISALREADYPARALYZED 58
|
||||
#define STRINGID_PKMNHEALEDPARALYSIS 59
|
||||
#define STRINGID_PKMNDREAMEATEN 60
|
||||
#define STRINGID_STATSWONTINCREASE 61
|
||||
#define STRINGID_STATSWONTDECREASE 62
|
||||
#define STRINGID_TEAMSTOPPEDWORKING 63
|
||||
#define STRINGID_FOESTOPPEDWORKING 64
|
||||
#define STRINGID_PKMNISCONFUSED 65
|
||||
#define STRINGID_PKMNHEALEDCONFUSION 66
|
||||
#define STRINGID_PKMNWASCONFUSED 67
|
||||
#define STRINGID_PKMNALREADYCONFUSED 68
|
||||
#define STRINGID_PKMNFELLINLOVE 69
|
||||
#define STRINGID_PKMNINLOVE 70
|
||||
#define STRINGID_PKMNIMMOBILIZEDBYLOVE 71
|
||||
#define STRINGID_PKMNBLOWNAWAY 72
|
||||
#define STRINGID_PKMNCHANGEDTYPE 73
|
||||
#define STRINGID_PKMNFLINCHED 74
|
||||
#define STRINGID_PKMNREGAINEDHEALTH 75
|
||||
#define STRINGID_PKMNHPFULL 76
|
||||
#define STRINGID_PKMNRAISEDSPDEF 77
|
||||
#define STRINGID_PKMNRAISEDDEF 78
|
||||
#define STRINGID_PKMNCOVEREDBYVEIL 79
|
||||
#define STRINGID_PKMNUSEDSAFEGUARD 80
|
||||
#define STRINGID_PKMNSAFEGUARDEXPIRED 81
|
||||
#define STRINGID_PKMNWENTTOSLEEP 82
|
||||
#define STRINGID_PKMNSLEPTHEALTHY 83
|
||||
#define STRINGID_PKMNWHIPPEDWHIRLWIND 84
|
||||
#define STRINGID_PKMNTOOKSUNLIGHT 85
|
||||
#define STRINGID_PKMNLOWEREDHEAD 86
|
||||
#define STRINGID_PKMNISGLOWING 87
|
||||
#define STRINGID_PKMNFLEWHIGH 88
|
||||
#define STRINGID_PKMNDUGHOLE 89
|
||||
#define STRINGID_PKMNSQUEEZEDBYBIND 90
|
||||
#define STRINGID_PKMNTRAPPEDINVORTEX 91
|
||||
#define STRINGID_PKMNWRAPPEDBY 92
|
||||
#define STRINGID_PKMNCLAMPED 93
|
||||
#define STRINGID_PKMNHURTBY 94
|
||||
#define STRINGID_PKMNFREEDFROM 95
|
||||
#define STRINGID_PKMNCRASHED 96
|
||||
#define STRINGID_PKMNSHROUDEDINMIST 97
|
||||
#define STRINGID_PKMNPROTECTEDBYMIST 98
|
||||
#define STRINGID_PKMNGETTINGPUMPED 99
|
||||
#define STRINGID_PKMNHITWITHRECOIL 100
|
||||
#define STRINGID_PKMNPROTECTEDITSELF2 101
|
||||
#define STRINGID_PKMNBUFFETEDBYSANDSTORM 102
|
||||
#define STRINGID_PKMNPELTEDBYHAIL 103
|
||||
#define STRINGID_PKMNSEEDED 104
|
||||
#define STRINGID_PKMNEVADEDATTACK 105
|
||||
#define STRINGID_PKMNSAPPEDBYLEECHSEED 106
|
||||
#define STRINGID_PKMNFASTASLEEP 107
|
||||
#define STRINGID_PKMNWOKEUP 108
|
||||
#define STRINGID_PKMNUPROARKEPTAWAKE 109
|
||||
#define STRINGID_PKMNWOKEUPINUPROAR 110
|
||||
#define STRINGID_PKMNCAUSEDUPROAR 111
|
||||
#define STRINGID_PKMNMAKINGUPROAR 112
|
||||
#define STRINGID_PKMNCALMEDDOWN 113
|
||||
#define STRINGID_PKMNCANTSLEEPINUPROAR 114
|
||||
#define STRINGID_PKMNSTOCKPILED 115
|
||||
#define STRINGID_PKMNCANTSTOCKPILE 116
|
||||
#define STRINGID_PKMNCANTSLEEPINUPROAR2 117
|
||||
#define STRINGID_UPROARKEPTPKMNAWAKE 118
|
||||
#define STRINGID_PKMNSTAYEDAWAKEUSING 119
|
||||
#define STRINGID_PKMNSTORINGENERGY 120
|
||||
#define STRINGID_PKMNUNLEASHEDENERGY 121
|
||||
#define STRINGID_PKMNFATIGUECONFUSION 122
|
||||
#define STRINGID_PKMNPICKEDUPITEM 123
|
||||
#define STRINGID_PKMNUNAFFECTED 124
|
||||
#define STRINGID_PKMNTRANSFORMEDINTO 125
|
||||
#define STRINGID_PKMNMADESUBSTITUTE 126
|
||||
#define STRINGID_PKMNHASSUBSTITUTE 127
|
||||
#define STRINGID_SUBSTITUTEDAMAGED 128
|
||||
#define STRINGID_PKMNSUBSTITUTEFADED 129
|
||||
#define STRINGID_PKMNMUSTRECHARGE 130
|
||||
#define STRINGID_PKMNRAGEBUILDING 131
|
||||
#define STRINGID_PKMNMOVEWASDISABLED 132
|
||||
#define STRINGID_PKMNMOVEISDISABLED 133
|
||||
#define STRINGID_PKMNMOVEDISABLEDNOMORE 134
|
||||
#define STRINGID_PKMNGOTENCORE 135
|
||||
#define STRINGID_PKMNENCOREENDED 136
|
||||
#define STRINGID_PKMNTOOKAIM 137
|
||||
#define STRINGID_PKMNSKETCHEDMOVE 138
|
||||
#define STRINGID_PKMNTRYINGTOTAKEFOE 139
|
||||
#define STRINGID_PKMNTOOKFOE 140
|
||||
#define STRINGID_PKMNREDUCEDPP 141
|
||||
#define STRINGID_PKMNSTOLEITEM 142
|
||||
#define STRINGID_TARGETCANTESCAPENOW 143
|
||||
#define STRINGID_PKMNFELLINTONIGHTMARE 144
|
||||
#define STRINGID_PKMNLOCKEDINNIGHTMARE 145
|
||||
#define STRINGID_PKMNLAIDCURSE 146
|
||||
#define STRINGID_PKMNAFFLICTEDBYCURSE 147
|
||||
#define STRINGID_SPIKESSCATTERED 148
|
||||
#define STRINGID_PKMNHURTBYSPIKES 149
|
||||
#define STRINGID_PKMNIDENTIFIED 150
|
||||
#define STRINGID_PKMNPERISHCOUNTFELL 151
|
||||
#define STRINGID_PKMNBRACEDITSELF 152
|
||||
#define STRINGID_PKMNENDUREDHIT 153
|
||||
#define STRINGID_MAGNITUDESTRENGTH 154
|
||||
#define STRINGID_PKMNCUTHPMAXEDATTACK 155
|
||||
#define STRINGID_PKMNCOPIEDSTATCHANGES 156
|
||||
#define STRINGID_PKMNGOTFREE 157
|
||||
#define STRINGID_PKMNSHEDLEECHSEED 158
|
||||
#define STRINGID_PKMNBLEWAWAYSPIKES 159
|
||||
#define STRINGID_PKMNFLEDFROMBATTLE 160
|
||||
#define STRINGID_PKMNFORESAWATTACK 161
|
||||
#define STRINGID_PKMNTOOKATTACK 162
|
||||
#define STRINGID_PKMNATTACK 163
|
||||
#define STRINGID_PKMNCENTERATTENTION 164
|
||||
#define STRINGID_PKMNCHARGINGPOWER 165
|
||||
#define STRINGID_NATUREPOWERTURNEDINTO 166
|
||||
#define STRINGID_PKMNSTATUSNORMAL 167
|
||||
#define STRINGID_PKMNHASNOMOVESLEFT 168
|
||||
#define STRINGID_PKMNSUBJECTEDTOTORMENT 169
|
||||
#define STRINGID_PKMNCANTUSEMOVETORMENT 170
|
||||
#define STRINGID_PKMNTIGHTENINGFOCUS 171
|
||||
#define STRINGID_PKMNFELLFORTAUNT 172
|
||||
#define STRINGID_PKMNCANTUSEMOVETAUNT 173
|
||||
#define STRINGID_PKMNREADYTOHELP 174
|
||||
#define STRINGID_PKMNSWITCHEDITEMS 175
|
||||
#define STRINGID_PKMNCOPIEDFOE 176
|
||||
#define STRINGID_PKMNMADEWISH 177
|
||||
#define STRINGID_PKMNWISHCAMETRUE 178
|
||||
#define STRINGID_PKMNPLANTEDROOTS 179
|
||||
#define STRINGID_PKMNABSORBEDNUTRIENTS 180
|
||||
#define STRINGID_PKMNANCHOREDITSELF 181
|
||||
#define STRINGID_PKMNWASMADEDROWSY 182
|
||||
#define STRINGID_PKMNKNOCKEDOFF 183
|
||||
#define STRINGID_PKMNSWAPPEDABILITIES 184
|
||||
#define STRINGID_PKMNSEALEDOPPONENTMOVE 185
|
||||
#define STRINGID_PKMNCANTUSEMOVESEALED 186
|
||||
#define STRINGID_PKMNWANTSGRUDGE 187
|
||||
#define STRINGID_PKMNLOSTPPGRUDGE 188
|
||||
#define STRINGID_PKMNSHROUDEDITSELF 189
|
||||
#define STRINGID_PKMNMOVEBOUNCED 190
|
||||
#define STRINGID_PKMNWAITSFORTARGET 191
|
||||
#define STRINGID_PKMNSNATCHEDMOVE 192
|
||||
#define STRINGID_PKMNMADEITRAIN 193
|
||||
#define STRINGID_PKMNRAISEDSPEED 194
|
||||
#define STRINGID_PKMNPROTECTEDBY 195
|
||||
#define STRINGID_PKMNPREVENTSUSAGE 196
|
||||
#define STRINGID_PKMNRESTOREDHPUSING 197
|
||||
#define STRINGID_PKMNCHANGEDTYPEWITH 198
|
||||
#define STRINGID_PKMNPREVENTSPARALYSISWITH 199
|
||||
#define STRINGID_PKMNPREVENTSROMANCEWITH 200
|
||||
#define STRINGID_PKMNPREVENTSPOISONINGWITH 201
|
||||
#define STRINGID_PKMNPREVENTSCONFUSIONWITH 202
|
||||
#define STRINGID_PKMNRAISEDFIREPOWERWITH 203
|
||||
#define STRINGID_PKMNANCHORSITSELFWITH 204
|
||||
#define STRINGID_PKMNCUTSATTACKWITH 205
|
||||
#define STRINGID_PKMNPREVENTSSTATLOSSWITH 206
|
||||
#define STRINGID_PKMNHURTSWITH 207
|
||||
#define STRINGID_PKMNTRACED 208
|
||||
#define STRINGID_STATSHARPLY 209
|
||||
#define STRINGID_STATROSE 210
|
||||
#define STRINGID_STATHARSHLY 211
|
||||
#define STRINGID_STATFELL 212
|
||||
#define STRINGID_PKMNSSTATCHANGED 213
|
||||
#define STRINGID_PKMNSSTATCHANGED2 214
|
||||
#define STRINGID_PKMNSSTATCHANGED3 215
|
||||
#define STRINGID_PKMNSSTATCHANGED4 216
|
||||
#define STRINGID_CRITICALHIT 217
|
||||
#define STRINGID_ONEHITKO 218
|
||||
#define STRINGID_123POOF 219
|
||||
#define STRINGID_ANDELLIPSIS 220
|
||||
#define STRINGID_NOTVERYEFFECTIVE 221
|
||||
#define STRINGID_SUPEREFFECTIVE 222
|
||||
#define STRINGID_GOTAWAYSAFELY 223
|
||||
#define STRINGID_WILDPKMNFLED 224
|
||||
#define STRINGID_NORUNNINGFROMTRAINERS 225
|
||||
#define STRINGID_CANTESCAPE 226
|
||||
#define STRINGID_DONTLEAVEBIRCH 227
|
||||
#define STRINGID_BUTNOTHINGHAPPENED 228
|
||||
#define STRINGID_BUTITFAILED 229
|
||||
#define STRINGID_ITHURTCONFUSION 230
|
||||
#define STRINGID_MIRRORMOVEFAILED 231
|
||||
#define STRINGID_STARTEDTORAIN 232
|
||||
#define STRINGID_DOWNPOURSTARTED 233
|
||||
#define STRINGID_RAINCONTINUES 234
|
||||
#define STRINGID_DOWNPOURCONTINUES 235
|
||||
#define STRINGID_RAINSTOPPED 236
|
||||
#define STRINGID_SANDSTORMBREWED 237
|
||||
#define STRINGID_SANDSTORMRAGES 238
|
||||
#define STRINGID_SANDSTORMSUBSIDED 239
|
||||
#define STRINGID_SUNLIGHTGOTBRIGHT 240
|
||||
#define STRINGID_SUNLIGHTSTRONG 241
|
||||
#define STRINGID_SUNLIGHTFADED 242
|
||||
#define STRINGID_STARTEDHAIL 243
|
||||
#define STRINGID_HAILCONTINUES 244
|
||||
#define STRINGID_HAILSTOPPED 245
|
||||
#define STRINGID_FAILEDTOSPITUP 246
|
||||
#define STRINGID_FAILEDTOSWALLOW 247
|
||||
#define STRINGID_WINDBECAMEHEATWAVE 248
|
||||
#define STRINGID_STATCHANGESGONE 249
|
||||
#define STRINGID_COINSSCATTERED 250
|
||||
#define STRINGID_TOOWEAKFORSUBSTITUTE 251
|
||||
#define STRINGID_SHAREDPAIN 252
|
||||
#define STRINGID_BELLCHIMED 253
|
||||
#define STRINGID_FAINTINTHREE 254
|
||||
#define STRINGID_NOPPLEFT 255
|
||||
#define STRINGID_BUTNOPPLEFT 256
|
||||
#define STRINGID_PLAYERUSEDITEM 257
|
||||
#define STRINGID_WALLYUSEDITEM 258
|
||||
#define STRINGID_TRAINERBLOCKEDBALL 259
|
||||
#define STRINGID_DONTBEATHIEF 260
|
||||
#define STRINGID_ITDODGEDBALL 261
|
||||
#define STRINGID_YOUMISSEDPKMN 262
|
||||
#define STRINGID_PKMNBROKEFREE 263
|
||||
#define STRINGID_ITAPPEAREDCAUGHT 264
|
||||
#define STRINGID_AARGHALMOSTHADIT 265
|
||||
#define STRINGID_SHOOTSOCLOSE 266
|
||||
#define STRINGID_GOTCHAPKMNCAUGHT 267
|
||||
#define STRINGID_GOTCHAPKMNCAUGHT2 268
|
||||
#define STRINGID_GIVENICKNAMECAPTURED 269
|
||||
#define STRINGID_PKMNSENTTOPC 270
|
||||
#define STRINGID_PKMNDATAADDEDTODEX 271
|
||||
#define STRINGID_ITISRAINING 272
|
||||
#define STRINGID_SANDSTORMISRAGING 273
|
||||
#define STRINGID_CANTESCAPE2 274
|
||||
#define STRINGID_PKMNIGNORESASLEEP 275
|
||||
#define STRINGID_PKMNIGNOREDORDERS 276
|
||||
#define STRINGID_PKMNBEGANTONAP 277
|
||||
#define STRINGID_PKMNLOAFING 278
|
||||
#define STRINGID_PKMNWONTOBEY 279
|
||||
#define STRINGID_PKMNTURNEDAWAY 280
|
||||
#define STRINGID_PKMNPRETENDNOTNOTICE 281
|
||||
#define STRINGID_ENEMYABOUTTOSWITCHPKMN 282
|
||||
#define STRINGID_CREPTCLOSER 283
|
||||
#define STRINGID_CANTGETCLOSER 284
|
||||
#define STRINGID_PKMNWATCHINGCAREFULLY 285
|
||||
#define STRINGID_PKMNCURIOUSABOUTX 286
|
||||
#define STRINGID_PKMNENTHRALLEDBYX 287
|
||||
#define STRINGID_PKMNIGNOREDX 288
|
||||
#define STRINGID_THREWPOKEBLOCKATPKMN 289
|
||||
#define STRINGID_OUTOFSAFARIBALLS 290
|
||||
#define STRINGID_PKMNSITEMCUREDPARALYSIS 291
|
||||
#define STRINGID_PKMNSITEMCUREDPOISON 292
|
||||
#define STRINGID_PKMNSITEMHEALEDBURN 293
|
||||
#define STRINGID_PKMNSITEMDEFROSTEDIT 294
|
||||
#define STRINGID_PKMNSITEMWOKEIT 295
|
||||
#define STRINGID_PKMNSITEMSNAPPEDOUT 296
|
||||
#define STRINGID_PKMNSITEMCUREDPROBLEM 297
|
||||
#define STRINGID_PKMNSITEMRESTOREDHEALTH 298
|
||||
#define STRINGID_PKMNSITEMRESTOREDPP 299
|
||||
#define STRINGID_PKMNSITEMRESTOREDSTATUS 300
|
||||
#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301
|
||||
#define STRINGID_ITEMALLOWSONLYYMOVE 302
|
||||
#define STRINGID_PKMNHUNGONWITHX 303
|
||||
#define STRINGID_EMPTYSTRING3 304
|
||||
#define STRINGID_PKMNSXPREVENTSBURNS 305
|
||||
#define STRINGID_PKMNSXBLOCKSY 306
|
||||
#define STRINGID_PKMNSXRESTOREDHPALITTLE2 307
|
||||
#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM 308
|
||||
#define STRINGID_PKMNSXPREVENTSYLOSS 309
|
||||
#define STRINGID_PKMNSXINFATUATEDY 310
|
||||
#define STRINGID_PKMNSXMADEYINEFFECTIVE 311
|
||||
#define STRINGID_PKMNSXCUREDYPROBLEM 312
|
||||
#define STRINGID_ITSUCKEDLIQUIDOOZE 313
|
||||
#define STRINGID_PKMNTRANSFORMED 314
|
||||
#define STRINGID_ELECTRICITYWEAKENED 315
|
||||
#define STRINGID_FIREWEAKENED 316
|
||||
#define STRINGID_PKMNHIDUNDERWATER 317
|
||||
#define STRINGID_PKMNSPRANGUP 318
|
||||
#define STRINGID_HMMOVESCANTBEFORGOTTEN 319
|
||||
#define STRINGID_XFOUNDONEY 320
|
||||
#define STRINGID_PLAYERDEFEATEDTRAINER1 321
|
||||
#define STRINGID_SOOTHINGAROMA 322
|
||||
#define STRINGID_ITEMSCANTBEUSEDNOW 323
|
||||
#define STRINGID_FORXCOMMAYZ 324
|
||||
#define STRINGID_USINGXTHEYOFZN 325
|
||||
#define STRINGID_PKMNUSEDXTOGETPUMPED 326
|
||||
#define STRINGID_PKMNSXMADEYUSELESS 327
|
||||
#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328
|
||||
#define STRINGID_EMPTYSTRING4 329
|
||||
#define STRINGID_ABOOSTED 330
|
||||
#define STRINGID_PKMNSXINTENSIFIEDSUN 331
|
||||
#define STRINGID_PKMNMAKESGROUNDMISS 332
|
||||
#define STRINGID_YOUTHROWABALLNOWRIGHT 333
|
||||
#define STRINGID_PKMNSXTOOKATTACK 334
|
||||
#define STRINGID_PKMNCHOSEXASDESTINY 335
|
||||
#define STRINGID_PKMNLOSTFOCUS 336
|
||||
#define STRINGID_USENEXTPKMN 337
|
||||
#define STRINGID_PKMNFLEDUSINGITS 338
|
||||
#define STRINGID_PKMNFLEDUSING 339
|
||||
#define STRINGID_PKMNWASDRAGGEDOUT 340
|
||||
#define STRINGID_PREVENTEDFROMWORKING 341
|
||||
#define STRINGID_PKMNSITEMNORMALIZEDSTATUS 342
|
||||
#define STRINGID_TRAINER1USEDITEM 343
|
||||
#define STRINGID_BOXISFULL 344
|
||||
#define STRINGID_PKMNAVOIDEDATTACK 345
|
||||
#define STRINGID_PKMNSXMADEITINEFFECTIVE 346
|
||||
#define STRINGID_PKMNSXPREVENTSFLINCHING 347
|
||||
#define STRINGID_PKMNALREADYHASBURN 348
|
||||
#define STRINGID_STATSWONTDECREASE2 349
|
||||
#define STRINGID_PKMNSXBLOCKSY2 350
|
||||
#define STRINGID_PKMNSXWOREOFF 351
|
||||
#define STRINGID_PKMNRAISEDDEFALITTLE 352
|
||||
#define STRINGID_PKMNRAISEDSPDEFALITTLE 353
|
||||
#define STRINGID_THEWALLSHATTERED 354
|
||||
#define STRINGID_PKMNSXPREVENTSYSZ 355
|
||||
#define STRINGID_PKMNSXCUREDITSYPROBLEM 356
|
||||
#define STRINGID_ATTACKERCANTESCAPE 357
|
||||
#define STRINGID_PKMNOBTAINEDX 358
|
||||
#define STRINGID_PKMNOBTAINEDX2 359
|
||||
#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360
|
||||
#define STRINGID_BUTNOEFFECT 361
|
||||
#define STRINGID_PKMNSXHADNOEFFECTONY 362
|
||||
#define STRINGID_TWOENEMIESDEFEATED 363
|
||||
#define STRINGID_TRAINER2LOSETEXT 364
|
||||
#define STRINGID_PKMNINCAPABLEOFPOWER 365
|
||||
#define STRINGID_GLINTAPPEARSINEYE 366
|
||||
#define STRINGID_PKMNGETTINGINTOPOSITION 367
|
||||
#define STRINGID_PKMNBEGANGROWLINGDEEPLY 368
|
||||
#define STRINGID_PKMNEAGERFORMORE 369
|
||||
#define STRINGID_DEFEATEDOPPONENTBYREFEREE 370
|
||||
#define STRINGID_LOSTTOOPPONENTBYREFEREE 371
|
||||
#define STRINGID_TIEDOPPONENTBYREFEREE 372
|
||||
#define STRINGID_QUESTIONFORFEITMATCH 373
|
||||
#define STRINGID_FORFEITEDMATCH 374
|
||||
#define STRINGID_PKMNTRANSFERREDSOMEONESPC 375
|
||||
#define STRINGID_PKMNTRANSFERREDLANETTESPC 376
|
||||
#define STRINGID_PKMNBOXSOMEONESPCFULL 377
|
||||
#define STRINGID_PKMNBOXLANETTESPCFULL 378
|
||||
#define STRINGID_TRAINER1WINTEXT 379
|
||||
#define STRINGID_TRAINER2WINTEXT 380
|
||||
|
||||
#endif // GUARD_BATTLE_STRING_IDS_H
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_BATTLE_TOWER_H
|
||||
#define GUARD_BATTLE_TOWER_H
|
||||
|
||||
u16 sub_8164FCC(u8, u8);
|
||||
|
||||
#endif //GUARD_BATTLE_TOWER_H
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_BATTLE_TRANSITION_H
|
||||
#define GUARD_BATTLE_TRANSITION_H
|
||||
|
||||
void sub_8149DFC(u8 a1);
|
||||
|
||||
#endif // GUARD_BATTLE_TRANSITION_H
|
||||
@@ -0,0 +1,84 @@
|
||||
#ifndef GUARD_BATTLE_UTIL_H
|
||||
#define GUARD_BATTLE_UTIL_H
|
||||
|
||||
#define MOVE_LIMITATION_ZEROMOVE (1 << 0)
|
||||
#define MOVE_LIMITATION_PP (1 << 1)
|
||||
#define MOVE_LIMITATION_DISABLED (1 << 2)
|
||||
#define MOVE_LIMITATION_TORMENTED (1 << 3)
|
||||
#define MOVE_LIMITATION_TAUNT (1 << 4)
|
||||
#define MOVE_LIMITATION_IMPRISION (1 << 5)
|
||||
|
||||
#define ABILITYEFFECT_ON_SWITCHIN 0x0
|
||||
#define ABILITYEFFECT_ENDTURN 0x1
|
||||
#define ABILITYEFFECT_MOVES_BLOCK 0x2
|
||||
#define ABILITYEFFECT_ABSORBING 0x3
|
||||
#define ABILITYEFFECT_CONTACT 0x4
|
||||
#define ABILITYEFFECT_IMMUNITY 0x5
|
||||
#define ABILITYEFFECT_FORECAST 0x6
|
||||
#define ABILITYEFFECT_SYNCHRONIZE 0x7
|
||||
#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8
|
||||
#define ABILITYEFFECT_INTIMIDATE1 0x9
|
||||
#define ABILITYEFFECT_INTIMIDATE2 0xA
|
||||
#define ABILITYEFFECT_TRACE 0xB
|
||||
#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC
|
||||
#define ABILITYEFFECT_CHECK_BANK_SIDE 0xD
|
||||
#define ABILITYEFFECT_FIELD_SPORT 0xE
|
||||
#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK 0xF
|
||||
#define ABILITYEFFECT_COUNT_OTHER_SIDE 0x10
|
||||
#define ABILITYEFFECT_COUNT_BANK_SIDE 0x11
|
||||
#define ABILITYEFFECT_COUNT_ON_FIELD 0x12
|
||||
#define ABILITYEFFECT_CHECK_ON_FIELD 0x13
|
||||
#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF
|
||||
|
||||
#define ITEMEFFECT_ON_SWITCH_IN 0x0
|
||||
|
||||
#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0)))
|
||||
#define WEATHER_HAS_EFFECT2 ((!AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_AIR_LOCK, 0, 0)))
|
||||
|
||||
#define BS_GET_TARGET 0
|
||||
#define BS_GET_ATTACKER 1
|
||||
#define BS_GET_EFFECT_BANK 2
|
||||
#define BS_GET_SCRIPTING_BANK 10
|
||||
#define BS_GET_PLAYER1 11
|
||||
#define BS_GET_OPPONENT1 12
|
||||
#define BS_GET_PLAYER2 13
|
||||
#define BS_GET_OPPONENT2 14
|
||||
|
||||
u8 GetBattleBank(u8 caseId);
|
||||
void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move);
|
||||
void PressurePPLoseOnUsingPerishSong(u8 bankAtk);
|
||||
void PressurePPLoseOnUsingImprision(u8 bankAtk);
|
||||
void MarkAllBufferBanksForExecution(void); // unused
|
||||
void MarkBufferBankForExecution(u8 bank);
|
||||
void sub_803F850(u8 arg0);
|
||||
void CancelMultiTurnMoves(u8 bank);
|
||||
bool8 WasUnableToUseMove(u8 bank);
|
||||
void PrepareStringBattle(u16 stringId, u8 bank);
|
||||
void ResetSentPokesToOpponentValue(void);
|
||||
void sub_803F9EC(u8 bank);
|
||||
void sub_803FA70(u8 bank);
|
||||
void BattleScriptPush(const u8* bsPtr);
|
||||
void BattleScriptPushCursor(void);
|
||||
void BattleScriptPop(void);
|
||||
u8 TrySetCantSelectMoveBattleScript(void);
|
||||
u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check);
|
||||
bool8 AreAllMovesUnusable(void);
|
||||
u8 GetImprisonedMovesCount(u8 bank, u16 move);
|
||||
u8 UpdateTurnCounters(void);
|
||||
u8 TurnBasedEffects(void);
|
||||
bool8 sub_8041364(void);
|
||||
bool8 sub_8041728(void);
|
||||
void TryClearRageStatuses(void);
|
||||
u8 AtkCanceller_UnableToUseMove(void);
|
||||
bool8 sub_80423F4(u8 bank, u8 r1, u8 r2);
|
||||
u8 CastformDataTypeChange(u8 bank);
|
||||
u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg);
|
||||
void BattleScriptExecute(const u8* BS_ptr);
|
||||
void BattleScriptPushCursorAndCallback(const u8* BS_ptr);
|
||||
u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn);
|
||||
void ClearFuryCutterDestinyBondGrudge(u8 bank);
|
||||
void HandleAction_RunBattleScript(void);
|
||||
u8 GetMoveTarget(u16 move, u8 useMoveTarget);
|
||||
u8 IsPokeDisobedient(void);
|
||||
|
||||
#endif // GUARD_BATTLE_UTIL_H
|
||||
@@ -1,6 +1,16 @@
|
||||
#ifndef GUARD_BG_H
|
||||
#define GUARD_BG_H
|
||||
|
||||
struct BGCntrlBitfield // for the I/O registers
|
||||
{
|
||||
volatile u16 priority:2;
|
||||
volatile u16 charBaseBlock:2;
|
||||
volatile u16 field_0_2:4;
|
||||
volatile u16 field_1_0:5;
|
||||
volatile u16 areaOverflowMode:1;
|
||||
volatile u16 screenSize:2;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
BG_CTRL_ATTR_VISIBLE = 1,
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_BLEND_PALETTE_H
|
||||
#define GUARD_BLEND_PALETTE_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
void BlendPalette(u16, u16, u8, u16);
|
||||
|
||||
#endif //GUARD_BLEND_PALETTE_H
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_CALCULATE_BASE_DAMAGE_H
|
||||
#define GUARD_CALCULATE_BASE_DAMAGE_H
|
||||
|
||||
s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef);
|
||||
|
||||
#endif // GUARD_CALCULATE_BASE_DAMAGE_H
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_CLOCK_H
|
||||
#define GUARD_CLOCK_H
|
||||
|
||||
// TODO: time of day and seconds in a day defines
|
||||
|
||||
void DoTimeBasedEvents(void);
|
||||
|
||||
#endif
|
||||
+2
-2
@@ -6,7 +6,7 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y);
|
||||
void HideCoinsWindow(void);
|
||||
u16 GetCoins(void);
|
||||
void SetCoins(u16 coinAmount);
|
||||
bool8 AddCoins(u16 toAdd);
|
||||
bool8 SubtractCoins(u16 toSub);
|
||||
bool8 GiveCoins(u16 toAdd);
|
||||
bool8 TakeCoins(u16 toSub);
|
||||
|
||||
#endif // GUARD_COINS_H
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
#ifndef GUARD_CONTEST_H
|
||||
#define GUARD_CONTEST_H
|
||||
|
||||
struct ContestStruct_02039E00
|
||||
{
|
||||
u16 unk_00;
|
||||
u8 unk_02[11];
|
||||
u8 unk_0d[8];
|
||||
u8 filler_15[9];
|
||||
u8 filler_1E[34];
|
||||
};
|
||||
|
||||
extern struct ContestStruct_02039E00 gUnknown_02039E00[4];
|
||||
extern u8 gUnknown_02039F24;
|
||||
extern u16 gScriptContestCategory;
|
||||
extern u8 gUnknown_02039F2E;
|
||||
extern u8 gUnknown_02039F30;
|
||||
|
||||
struct ContestStruct_field_18
|
||||
{
|
||||
// unknown size
|
||||
u16 field_0;
|
||||
};
|
||||
|
||||
struct ContestResources
|
||||
{
|
||||
void *field_0;
|
||||
void *field_4;
|
||||
void *field_8;
|
||||
void *field_C;
|
||||
void *field_10;
|
||||
void *field_14;
|
||||
struct ContestStruct_field_18 *field_18;
|
||||
};
|
||||
|
||||
extern struct ContestResources *gContestResources;
|
||||
|
||||
bool8 IsSpeciesNotUnown(u16 species);
|
||||
void LoadContestBgAfterMoveAnim(void);
|
||||
|
||||
#endif //GUARD_CONTEST_H
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_CONTEST_LINK_80F57C4_H
|
||||
#define GUARD_CONTEST_LINK_80F57C4_H
|
||||
|
||||
void sub_80F840C(void);
|
||||
void sub_80F8484(void);
|
||||
void sub_80F84C4(u8);
|
||||
|
||||
#endif // GUARD_CONTEST_LINK_80F57C4_H
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_CONTESTPAINTING_H
|
||||
#define GUARD_CONTESTPAINTING_H
|
||||
|
||||
void sub_812FDA8(u32);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,581 @@
|
||||
//
|
||||
// Created by scott on 10/21/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_DATA_DECORATION_DESCRIPTION_H
|
||||
#define GUARD_DATA_DECORATION_DESCRIPTION_H
|
||||
|
||||
const u8 DecorDesc_SMALL_DESK[] = _(
|
||||
"A small desk built\n"
|
||||
"for one.");
|
||||
|
||||
const u8 DecorDesc_POKEMON_DESK[] = _(
|
||||
"A small desk built in\n"
|
||||
"the shape of a POKé\n"
|
||||
"BALL.");
|
||||
|
||||
const u8 DecorDesc_HEAVY_DESK[] = _(
|
||||
"A large desk made\n"
|
||||
"of steel. Put some\n"
|
||||
"decorations on it.");
|
||||
|
||||
const u8 DecorDesc_RAGGED_DESK[] = _(
|
||||
"A large desk made\n"
|
||||
"of wood. Put some\n"
|
||||
"decorations on it.");
|
||||
|
||||
const u8 DecorDesc_COMFORT_DESK[] = _(
|
||||
"A large desk made\n"
|
||||
"of leaves. Put some\n"
|
||||
"decorations on it.");
|
||||
|
||||
const u8 DecorDesc_PRETTY_DESK[] = _(
|
||||
"A huge desk made\n"
|
||||
"of glass. Holds lots\n"
|
||||
"of decorations.");
|
||||
|
||||
const u8 DecorDesc_BRICK_DESK[] = _(
|
||||
"A huge desk made\n"
|
||||
"of brick. Holds lots\n"
|
||||
"of decorations.");
|
||||
|
||||
const u8 DecorDesc_CAMP_DESK[] = _(
|
||||
"A huge desk made\n"
|
||||
"of logs. Put lots of\n"
|
||||
"decorations on it.");
|
||||
|
||||
const u8 DecorDesc_HARD_DESK[] = _(
|
||||
"A huge desk made\n"
|
||||
"of rocks. Holds\n"
|
||||
"many decorations.");
|
||||
|
||||
const u8 DecorDesc_SMALL_CHAIR[] = _(
|
||||
"A small chair made\n"
|
||||
"for one.");
|
||||
|
||||
const u8 DecorDesc_POKEMON_CHAIR[] = _(
|
||||
"A small chair built\n"
|
||||
"in the shape of a\n"
|
||||
"POKé BALL.");
|
||||
|
||||
const u8 DecorDesc_HEAVY_CHAIR[] = _(
|
||||
"A small chair made\n"
|
||||
"of steel.");
|
||||
|
||||
const u8 DecorDesc_PRETTY_CHAIR[] = _(
|
||||
"A small chair made\n"
|
||||
"of glass.");
|
||||
|
||||
const u8 DecorDesc_COMFORT_CHAIR[] = _(
|
||||
"A small chair made\n"
|
||||
"of leaves.");
|
||||
|
||||
const u8 DecorDesc_RAGGED_CHAIR[] = _(
|
||||
"A small chair made\n"
|
||||
"of wood.");
|
||||
|
||||
const u8 DecorDesc_BRICK_CHAIR[] = _(
|
||||
"A small chair made\n"
|
||||
"of brick.");
|
||||
|
||||
const u8 DecorDesc_CAMP_CHAIR[] = _(
|
||||
"A small chair made\n"
|
||||
"of logs.");
|
||||
|
||||
const u8 DecorDesc_HARD_CHAIR[] = _(
|
||||
"A small chair made\n"
|
||||
"of rock.");
|
||||
|
||||
const u8 DecorDesc_RED_PLANT[] = _(
|
||||
"A vivid red potted\n"
|
||||
"plant.");
|
||||
|
||||
const u8 DecorDesc_TROPICAL_PLANT[] = _(
|
||||
"A flowering tropical\n"
|
||||
"plant in a pot.");
|
||||
|
||||
const u8 DecorDesc_PRETTY_FLOWERS[] = _(
|
||||
"A pot of cute\n"
|
||||
"flowers.");
|
||||
|
||||
const u8 DecorDesc_COLORFUL_PLANT[] = _(
|
||||
"A large pot with\n"
|
||||
"many colorful\n"
|
||||
"flowers.");
|
||||
|
||||
const u8 DecorDesc_BIG_PLANT[] = _(
|
||||
"A large, umbrella-\n"
|
||||
"shaped plant in a\n"
|
||||
"big pot.");
|
||||
|
||||
const u8 DecorDesc_GORGEOUS_PLANT[] = _(
|
||||
"A large, impressive\n"
|
||||
"plant in a big pot.");
|
||||
|
||||
const u8 DecorDesc_RED_BRICK[] = _(
|
||||
"A red-colored brick.\n"
|
||||
"Decorations can be\n"
|
||||
"placed on top.");
|
||||
|
||||
const u8 DecorDesc_YELLOW_BRICK[] = _(
|
||||
"A yellow-colored\n"
|
||||
"brick. Put some\n"
|
||||
"decorations on top.");
|
||||
|
||||
const u8 DecorDesc_BLUE_BRICK[] = _(
|
||||
"A blue-colored\n"
|
||||
"brick. Put some\n"
|
||||
"decorations on top.");
|
||||
|
||||
const u8 DecorDesc_RED_BALLOON[] = _(
|
||||
"A red balloon filled\n"
|
||||
"with water. Bursts\n"
|
||||
"if stepped on.");
|
||||
|
||||
const u8 DecorDesc_BLUE_BALLOON[] = _(
|
||||
"A blue balloon filled\n"
|
||||
"with water. Bursts\n"
|
||||
"if stepped on.");
|
||||
|
||||
const u8 DecorDesc_YELLOW_BALLOON[] = _(
|
||||
"A yellow balloon\n"
|
||||
"filled with water.\n"
|
||||
"Pops if stepped on.");
|
||||
|
||||
const u8 DecorDesc_RED_TENT[] = _(
|
||||
"A large red tent.\n"
|
||||
"You can hide inside\n"
|
||||
"it.");
|
||||
|
||||
const u8 DecorDesc_BLUE_TENT[] = _(
|
||||
"A large blue tent.\n"
|
||||
"You can hide inside\n"
|
||||
"it.");
|
||||
|
||||
const u8 DecorDesc_SOLID_BOARD[] = _(
|
||||
"Place over a hole to\n"
|
||||
"cross to the other\n"
|
||||
"side.");
|
||||
|
||||
const u8 DecorDesc_SLIDE[] = _(
|
||||
"Use to slide down\n"
|
||||
"from the platform.");
|
||||
|
||||
const u8 DecorDesc_FENCE_LENGTH[] = _(
|
||||
"A small fence that\n"
|
||||
"blocks passage.");
|
||||
|
||||
const u8 DecorDesc_FENCE_WIDTH[] = _(
|
||||
"A small fence that\n"
|
||||
"blocks passage.");
|
||||
|
||||
const u8 DecorDesc_TIRE[] = _(
|
||||
"An old large tire.\n"
|
||||
"Decorations can be\n"
|
||||
"placed on top.");
|
||||
|
||||
const u8 DecorDesc_STAND[] = _(
|
||||
"A large pedestal\n"
|
||||
"with steps.");
|
||||
|
||||
const u8 DecorDesc_MUD_BALL[] = _(
|
||||
"A large ball of mud.\n"
|
||||
"Crumbles if stepped\n"
|
||||
"on.");
|
||||
|
||||
const u8 DecorDesc_BREAKABLE_DOOR[] = _(
|
||||
"A weird door that\n"
|
||||
"people can walk\n"
|
||||
"right through.");
|
||||
|
||||
const u8 DecorDesc_SAND_ORNAMENT[] = _(
|
||||
"An ornament made\n"
|
||||
"of sand. Crumbles if\n"
|
||||
"touched.");
|
||||
|
||||
const u8 DecorDesc_SILVER_SHIELD[] = _(
|
||||
"Awarded for 50\n"
|
||||
"straight wins at\n"
|
||||
"the BATTLE TOWER.");
|
||||
|
||||
const u8 DecorDesc_GOLD_SHIELD[] = _(
|
||||
"Awarded for 100\n"
|
||||
"straight wins at\n"
|
||||
"the BATTLE TOWER.");
|
||||
|
||||
const u8 DecorDesc_GLASS_ORNAMENT[] = _(
|
||||
"A glass replica of\n"
|
||||
"a famous sculpture\n"
|
||||
"at the ART MUSEUM.");
|
||||
|
||||
const u8 DecorDesc_TV[] = _(
|
||||
"A small, gray-\n"
|
||||
"colored toy TV.");
|
||||
|
||||
const u8 DecorDesc_ROUND_TV[] = _(
|
||||
"A toy TV modeled\n"
|
||||
"in the image of a\n"
|
||||
"SEEDOT.");
|
||||
|
||||
const u8 DecorDesc_CUTE_TV[] = _(
|
||||
"A toy TV modeled\n"
|
||||
"in the image of a\n"
|
||||
"SKITTY.");
|
||||
|
||||
const u8 DecorDesc_GLITTER_MAT[] = _(
|
||||
"An odd mat that\n"
|
||||
"glitters if stepped\n"
|
||||
"on.");
|
||||
|
||||
const u8 DecorDesc_JUMP_MAT[] = _(
|
||||
"A trick mat that\n"
|
||||
"jumps when it is\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_SPIN_MAT[] = _(
|
||||
"A trick mat that\n"
|
||||
"spins around when\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_C_LOW_NOTE_MAT[] = _(
|
||||
"A mat that plays\n"
|
||||
"a low C note when\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_D_NOTE_MAT[] = _(
|
||||
"A mat that plays\n"
|
||||
"a D note when\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_E_NOTE_MAT[] = _(
|
||||
"A mat that plays\n"
|
||||
"an E note when\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_F_NOTE_MAT[] = _(
|
||||
"A mat that plays\n"
|
||||
"an F note when\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_G_NOTE_MAT[] = _(
|
||||
"A mat that plays\n"
|
||||
"a G note when\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_A_NOTE_MAT[] = _(
|
||||
"A mat that plays\n"
|
||||
"an A note when\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_B_NOTE_MAT[] = _(
|
||||
"A mat that plays\n"
|
||||
"a B note when\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_C_HIGH_NOTE_MAT[] = _(
|
||||
"A mat that plays\n"
|
||||
"a high C note when\n"
|
||||
"stepped on.");
|
||||
|
||||
const u8 DecorDesc_SURF_MAT[] = _(
|
||||
"A mat designed with\n"
|
||||
"a SURF image.\n"
|
||||
"Put items on top.");
|
||||
|
||||
const u8 DecorDesc_THUNDER_MAT[] = _(
|
||||
"A mat designed with\n"
|
||||
"a THUNDER image.\n"
|
||||
"Put items on top.");
|
||||
|
||||
const u8 DecorDesc_FIRE_BLAST_MAT[] = _(
|
||||
"A mat designed with\n"
|
||||
"a FIRE BLAST image.\n"
|
||||
"Put items on top.");
|
||||
|
||||
const u8 DecorDesc_POWDER_SNOW_MAT[] = _(
|
||||
"A mat with a POWDER\n"
|
||||
"SNOW image design.\n"
|
||||
"Put items on top.");
|
||||
|
||||
const u8 DecorDesc_ATTRACT_MAT[] = _(
|
||||
"A mat designed with\n"
|
||||
"an ATTRACT image.\n"
|
||||
"Put items on top.");
|
||||
|
||||
const u8 DecorDesc_FISSURE_MAT[] = _(
|
||||
"A mat designed with\n"
|
||||
"a FISSURE image.\n"
|
||||
"Put items on top.");
|
||||
|
||||
const u8 DecorDesc_SPIKES_MAT[] = _(
|
||||
"A mat designed with\n"
|
||||
"a SPIKES image.\n"
|
||||
"Put items on top.");
|
||||
|
||||
const u8 DecorDesc_BALL_POSTER[] = _(
|
||||
"A small poster\n"
|
||||
"printed with POKé\n"
|
||||
"BALLS.");
|
||||
|
||||
const u8 DecorDesc_GREEN_POSTER[] = _(
|
||||
"A small poster with\n"
|
||||
"a TREECKO print.");
|
||||
|
||||
const u8 DecorDesc_RED_POSTER[] = _(
|
||||
"A small poster with\n"
|
||||
"a TORCHIC print.");
|
||||
|
||||
const u8 DecorDesc_BLUE_POSTER[] = _(
|
||||
"A small poster with\n"
|
||||
"a MUDKIP print.");
|
||||
|
||||
const u8 DecorDesc_CUTE_POSTER[] = _(
|
||||
"A small poster with\n"
|
||||
"an AZURILL print.");
|
||||
|
||||
const u8 DecorDesc_PIKA_POSTER[] = _(
|
||||
"A large poster with\n"
|
||||
"a PIKACHU and\n"
|
||||
"PICHU print.");
|
||||
|
||||
const u8 DecorDesc_LONG_POSTER[] = _(
|
||||
"A large poster with\n"
|
||||
"a SEVIPER print.");
|
||||
|
||||
const u8 DecorDesc_SEA_POSTER[] = _(
|
||||
"A large poster with\n"
|
||||
"a RELICANTH print.");
|
||||
|
||||
const u8 DecorDesc_SKY_POSTER[] = _(
|
||||
"A large poster with\n"
|
||||
"a WINGULL print.");
|
||||
|
||||
const u8 DecorDesc_KISS_POSTER[] = _(
|
||||
"A large poster with\n"
|
||||
"a SMOOCHUM print.");
|
||||
|
||||
const u8 DecorDesc_PICHU_DOLL[] = _(
|
||||
"A PICHU doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_PIKACHU_DOLL[] = _(
|
||||
"A PIKACHU doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_MARILL_DOLL[] = _(
|
||||
"A MARILL doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_TOGEPI_DOLL[] = _(
|
||||
"A TOGEPI doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_CYNDAQUIL_DOLL[] = _(
|
||||
"A CYNDAQUIL doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_CHIKORITA_DOLL[] = _(
|
||||
"A CHIKORITA doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_TOTODILE_DOLL[] = _(
|
||||
"A TOTODILE doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_JIGGLYPUFF_DOLL[] = _(
|
||||
"A JIGGLYPUFF doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_MEOWTH_DOLL[] = _(
|
||||
"A MEOWTH doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_CLEFAIRY_DOLL[] = _(
|
||||
"A CLEFAIRY doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_DITTO_DOLL[] = _(
|
||||
"A DITTO doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_SMOOCHUM_DOLL[] = _(
|
||||
"A SMOOCHUM doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_TREECKO_DOLL[] = _(
|
||||
"A TREECKO doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_TORCHIC_DOLL[] = _(
|
||||
"A TORCHIC doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_MUDKIP_DOLL[] = _(
|
||||
"A MUDKIP doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_DUSKULL_DOLL[] = _(
|
||||
"A DUSKULL doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_WYNAUT_DOLL[] = _(
|
||||
"A WYNAUT doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_BALTOY_DOLL[] = _(
|
||||
"A BALTOY doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_KECLEON_DOLL[] = _(
|
||||
"A KECLEON doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_AZURILL_DOLL[] = _(
|
||||
"An AZURILL doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_SKITTY_DOLL[] = _(
|
||||
"A SKITTY doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_SWABLU_DOLL[] = _(
|
||||
"A SWABLU doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_GULPIN_DOLL[] = _(
|
||||
"A GULPIN doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_LOTAD_DOLL[] = _(
|
||||
"A LOTAD doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_SEEDOT_DOLL[] = _(
|
||||
"A SEEDOT doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_PIKA_CUSHION[] = _(
|
||||
"A PIKACHU cushion.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_ROUND_CUSHION[] = _(
|
||||
"A MARILL cushion.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_KISS_CUSHION[] = _(
|
||||
"A SMOOCHUM\n"
|
||||
"cushion. Place it on\n"
|
||||
"a mat or a desk.");
|
||||
|
||||
const u8 DecorDesc_ZIGZAG_CUSHION[] = _(
|
||||
"A ZIGZAGOON\n"
|
||||
"cushion. Place it on\n"
|
||||
"a mat or a desk.");
|
||||
|
||||
const u8 DecorDesc_SPIN_CUSHION[] = _(
|
||||
"A SPINDA cushion.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_DIAMOND_CUSHION[] = _(
|
||||
"A SABLEYE cushion.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_BALL_CUSHION[] = _(
|
||||
"A BALL cushion.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_GRASS_CUSHION[] = _(
|
||||
"A grass-mark\n"
|
||||
"cushion. Place it on\n"
|
||||
"a mat or a desk.");
|
||||
|
||||
const u8 DecorDesc_FIRE_CUSHION[] = _(
|
||||
"A fire-mark\n"
|
||||
"cushion. Place it on\n"
|
||||
"a mat or a desk.");
|
||||
|
||||
const u8 DecorDesc_WATER_CUSHION[] = _(
|
||||
"A water-mark\n"
|
||||
"cushion. Place it on\n"
|
||||
"a mat or a desk.");
|
||||
|
||||
const u8 DecorDesc_SNORLAX_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_RHYDON_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_LAPRAS_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_VENUSAUR_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_CHARIZARD_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_BLASTOISE_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_WAILMER_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_REGIROCK_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_REGICE_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
|
||||
const u8 DecorDesc_REGISTEEL_DOLL[] = _(
|
||||
"A large doll.\n"
|
||||
"Place it on a mat\n"
|
||||
"or a desk.");
|
||||
#endif //GUARD_DATA_DECORATION_DESCRIPTION_H
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,132 @@
|
||||
//
|
||||
// Created by scott on 10/21/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_ICON_H
|
||||
#define GUARD_ICON_H
|
||||
|
||||
const u8 *const gUnknown_085A6BE8[][2] = {
|
||||
{gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{gUnknown_08DB7AA0, gUnknown_08DB7B34},
|
||||
{gUnknown_08DB7B5C, gUnknown_08DB7BEC},
|
||||
{gUnknown_08DB7C08, gUnknown_08DB7CE8},
|
||||
{gUnknown_08DB7D08, gUnknown_08DB7DCC},
|
||||
{gUnknown_08DB7DF4, gUnknown_08DB7EA0},
|
||||
{gUnknown_08DB7EC4, gUnknown_08DB7F60},
|
||||
{gUnknown_08DB7F7C, gUnknown_08DB8070},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{gUnknown_08DB808C, gUnknown_08DB8138},
|
||||
{gUnknown_08DB8160, gUnknown_08DB8218},
|
||||
{gUnknown_08DB823C, gUnknown_08DB8300},
|
||||
{gUnknown_08DB8328, gUnknown_08DB8430},
|
||||
{gUnknown_08DB8458, gUnknown_08DB8528},
|
||||
{gUnknown_08DB854C, gUnknown_08DB862C},
|
||||
{gUnknown_08DB8654, gUnknown_08DB86C4},
|
||||
{gUnknown_08DB86E0, gUnknown_08DB8750},
|
||||
{gUnknown_08DB876C, gUnknown_08DB87DC},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{gUnknown_08DB87F8, gUnknown_08DB88D8},
|
||||
{gUnknown_08DB8900, gUnknown_08DB89E0},
|
||||
{gUnknown_08DB8A08, gUnknown_08DB8A68},
|
||||
{gUnknown_08DB8A84, gUnknown_08DB8B40},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{gUnknown_08DB8B68, gUnknown_08DB8C40},
|
||||
{gUnknown_08DB8C5C, gUnknown_08DB8CF4},
|
||||
{NULL, NULL},
|
||||
{gUnknown_08DB8D18, gUnknown_08DB8DB0},
|
||||
{gUnknown_08DB8DD4, gUnknown_08DB8E80},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{gUnknown_08DB8EA0, gUnknown_08DB8F58},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{gUnknown_08DB8F7C, gUnknown_08DB9038},
|
||||
{gUnknown_08DB9058, gUnknown_08DB9130},
|
||||
{gUnknown_08DB9154, gUnknown_08DB9218},
|
||||
{gUnknown_08DB9234, gUnknown_08DB92FC},
|
||||
{gUnknown_08DB931C, gUnknown_08DB93E8},
|
||||
{gUnknown_08DB940C, gUnknown_08DB94CC},
|
||||
{gUnknown_08DB94E8, gUnknown_08DB95AC},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
{gUnknown_08DB95D0, gUnknown_08DB96C4},
|
||||
{gUnknown_08DB96EC, gUnknown_08DB97F4},
|
||||
{gUnknown_08DB981C, gUnknown_08DB9908},
|
||||
{gUnknown_08DB9930, gUnknown_08DB9A54},
|
||||
{gUnknown_08DB9A7C, gUnknown_08DB9B7C},
|
||||
{gUnknown_08DB9BA4, gUnknown_08DB9CB0},
|
||||
{gUnknown_08DB9CD8, gUnknown_08DB9DAC},
|
||||
{gUnknown_08DB9F08, gUnknown_08DB9FFC},
|
||||
{gUnknown_08DB9DD4, gUnknown_08DB9EE4},
|
||||
{gUnknown_08DBA020, gUnknown_08DBA12C}
|
||||
};
|
||||
|
||||
#endif //GUARD_ICON_H
|
||||
@@ -0,0 +1,239 @@
|
||||
//
|
||||
// Created by scott on 10/21/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_TILEMAPS_H
|
||||
#define GUARD_TILEMAPS_H
|
||||
|
||||
const u8 Unknown_085A6FB0[] = {
|
||||
0x00, 0x01, 0x02, 0x03
|
||||
};
|
||||
|
||||
const u8 Unknown_085A6FB4[] = {
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
|
||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d
|
||||
};
|
||||
|
||||
const u8 Unknown_085A6FC0[] = {
|
||||
0x00, 0x01, 0x02, 0x03,
|
||||
0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x0a, 0x0b,
|
||||
0x0c, 0x0d, 0x0e, 0x0f
|
||||
};
|
||||
|
||||
const u8 Unknown_085A6FD0[] = {
|
||||
0x00, 0x01, 0x04, 0x05,
|
||||
0x08, 0x09, 0x0c, 0x0d,
|
||||
0x10, 0x11, 0x14, 0x15
|
||||
};
|
||||
|
||||
const u8 Unknown_085A6FDC[] = {
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A6FE4[] = {
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
|
||||
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7004[] = {
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
|
||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
|
||||
0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
|
||||
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
|
||||
0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
|
||||
0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7028[] = {
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
|
||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
|
||||
0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
|
||||
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7040[] = {
|
||||
0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7044[] = {
|
||||
0x00, 0x00, 0x01, 0x01,
|
||||
0x00, 0x00, 0x01, 0x01
|
||||
};
|
||||
|
||||
const u8 Unknown_085A704C[] = {
|
||||
0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
|
||||
0x00, 0x00, 0x01, 0x01, 0x02, 0x02
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7058[] = {
|
||||
0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,
|
||||
0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,
|
||||
0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07,
|
||||
0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7078[] = {
|
||||
0x00, 0x00, 0x01, 0x01,
|
||||
0x00, 0x00, 0x01, 0x01,
|
||||
0x02, 0x02, 0x03, 0x03,
|
||||
0x02, 0x02, 0x03, 0x03
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7088[] = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7090[] = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01,
|
||||
0x02, 0x02, 0x02, 0x02
|
||||
};
|
||||
|
||||
const u8 Unknown_085A709C[] = {
|
||||
0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01,
|
||||
0x02, 0x02, 0x03, 0x03, 0x02, 0x02, 0x03, 0x03,
|
||||
0x04, 0x04, 0x05, 0x05, 0x04, 0x04, 0x05, 0x05,
|
||||
0x06, 0x06, 0x07, 0x07, 0x06, 0x06, 0x07, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A70BC[] = {
|
||||
0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
|
||||
0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
|
||||
0x03, 0x03, 0x04, 0x04, 0x05, 0x05,
|
||||
0x03, 0x03, 0x04, 0x04, 0x05, 0x05,
|
||||
0x06, 0x06, 0x07, 0x07, 0x08, 0x08,
|
||||
0x06, 0x06, 0x07, 0x07, 0x08, 0x08
|
||||
};
|
||||
|
||||
const u8 Unknown_085A70E0[] = {
|
||||
0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
|
||||
0x00, 0x00, 0x01, 0x01, 0x02, 0x02,
|
||||
0x03, 0x03, 0x04, 0x04, 0x05, 0x05,
|
||||
0x03, 0x03, 0x04, 0x04, 0x05, 0x05
|
||||
};
|
||||
|
||||
const u8 Unknown_085A70F8[] = {
|
||||
0x04, 0x05, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A70FC[] = {
|
||||
0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7104[] = {
|
||||
0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7110[] = {
|
||||
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07,
|
||||
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7130[] = {
|
||||
0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07,
|
||||
0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7140[] = {
|
||||
0x04, 0x05, 0x06, 0x07,
|
||||
0x04, 0x05, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7148[] = {
|
||||
0x04, 0x05, 0x06, 0x07,
|
||||
0x04, 0x05, 0x06, 0x07,
|
||||
0x04, 0x05, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7154[] = {
|
||||
0x04, 0x05, 0x04, 0x05, 0x06, 0x07, 0x06, 0x07,
|
||||
0x04, 0x05, 0x04, 0x05, 0x06, 0x07, 0x06, 0x07,
|
||||
0x04, 0x05, 0x04, 0x05, 0x06, 0x07, 0x06, 0x07,
|
||||
0x04, 0x05, 0x04, 0x05, 0x06, 0x07, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7174[] = {
|
||||
0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07, 0x06, 0x07,
|
||||
0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07, 0x06, 0x07,
|
||||
0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07, 0x06, 0x07
|
||||
};
|
||||
|
||||
const u8 Unknown_085A7198[] = {
|
||||
0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07, 0x06, 0x07,
|
||||
0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
|
||||
0x06, 0x07, 0x06, 0x07, 0x06, 0x07
|
||||
};
|
||||
|
||||
const struct {
|
||||
const u8 *tiles;
|
||||
const u8 *y;
|
||||
const u8 *x;
|
||||
u8 size;
|
||||
} gUnknown_085A71B0[] = {
|
||||
{
|
||||
Unknown_085A6FB0,
|
||||
Unknown_085A7040,
|
||||
Unknown_085A70F8,
|
||||
0x04
|
||||
}, {
|
||||
Unknown_085A6FDC,
|
||||
Unknown_085A7044,
|
||||
Unknown_085A70FC,
|
||||
0x08
|
||||
}, {
|
||||
Unknown_085A6FB4,
|
||||
Unknown_085A704C,
|
||||
Unknown_085A7104,
|
||||
0x0c
|
||||
}, {
|
||||
Unknown_085A6FE4,
|
||||
Unknown_085A7058,
|
||||
Unknown_085A7110,
|
||||
0x20
|
||||
}, {
|
||||
Unknown_085A6FC0,
|
||||
Unknown_085A7078,
|
||||
Unknown_085A7130,
|
||||
0x10
|
||||
}, {
|
||||
Unknown_085A6FDC,
|
||||
Unknown_085A7088,
|
||||
Unknown_085A7140,
|
||||
0x08
|
||||
}, {
|
||||
Unknown_085A6FD0,
|
||||
Unknown_085A7090,
|
||||
Unknown_085A7148,
|
||||
0x0c
|
||||
}, {
|
||||
Unknown_085A6FE4,
|
||||
Unknown_085A709C,
|
||||
Unknown_085A7154,
|
||||
0x20
|
||||
}, {
|
||||
Unknown_085A7004,
|
||||
Unknown_085A70BC,
|
||||
Unknown_085A7174,
|
||||
0x24
|
||||
}, {
|
||||
Unknown_085A7028,
|
||||
Unknown_085A70E0,
|
||||
Unknown_085A7198,
|
||||
0x18
|
||||
}};
|
||||
|
||||
#endif //GUARD_TILEMAPS_H
|
||||
@@ -0,0 +1,646 @@
|
||||
#ifndef GUARD_DATA_DECORATION_TILES
|
||||
#define GUARD_DATA_DECORATION_TILES
|
||||
|
||||
const u16 DecorGfx_SMALL_DESK[] = {
|
||||
0x87
|
||||
};
|
||||
|
||||
const u16 DecorGfx_POKEMON_DESK[] = {
|
||||
0x8F
|
||||
};
|
||||
|
||||
const u16 DecorGfx_HEAVY_DESK[] = {
|
||||
0x90,
|
||||
0x91,
|
||||
0x92,
|
||||
0x98,
|
||||
0x99,
|
||||
0x9A
|
||||
};
|
||||
|
||||
const u16 DecorGfx_RAGGED_DESK[] = {
|
||||
0x93,
|
||||
0x94,
|
||||
0x95,
|
||||
0x9B,
|
||||
0x9C,
|
||||
0x9D
|
||||
};
|
||||
|
||||
const u16 DecorGfx_COMFORT_DESK[] = {
|
||||
0x96,
|
||||
0x97,
|
||||
0xA3,
|
||||
0x9E,
|
||||
0x9F,
|
||||
0xAB
|
||||
};
|
||||
|
||||
const u16 DecorGfx_PRETTY_DESK[] = {
|
||||
0xBD,
|
||||
0xBE,
|
||||
0xBF,
|
||||
0xC5,
|
||||
0xC6,
|
||||
0xC7,
|
||||
0xCD,
|
||||
0xCE,
|
||||
0xCF
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BRICK_DESK[] = {
|
||||
0xA0,
|
||||
0xA1,
|
||||
0xA2,
|
||||
0xA8,
|
||||
0xA9,
|
||||
0xAA,
|
||||
0xB0,
|
||||
0xB1,
|
||||
0xB2
|
||||
};
|
||||
|
||||
const u16 DecorGfx_CAMP_DESK[] = {
|
||||
0xA4,
|
||||
0xA5,
|
||||
0xA6,
|
||||
0xAC,
|
||||
0xAD,
|
||||
0xAE,
|
||||
0xB4,
|
||||
0xB5,
|
||||
0xB6
|
||||
};
|
||||
|
||||
const u16 DecorGfx_HARD_DESK[] = {
|
||||
0xA7,
|
||||
0xBB,
|
||||
0xBC,
|
||||
0xAF,
|
||||
0xC3,
|
||||
0xC4,
|
||||
0xB7,
|
||||
0xCB,
|
||||
0xCC
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SMALL_CHAIR[] = {
|
||||
0xB8
|
||||
};
|
||||
|
||||
const u16 DecorGfx_POKEMON_CHAIR[] = {
|
||||
0xB9
|
||||
};
|
||||
|
||||
const u16 DecorGfx_HEAVY_CHAIR[] = {
|
||||
0xBA
|
||||
};
|
||||
|
||||
const u16 DecorGfx_PRETTY_CHAIR[] = {
|
||||
0xC0
|
||||
};
|
||||
|
||||
const u16 DecorGfx_COMFORT_CHAIR[] = {
|
||||
0xC1
|
||||
};
|
||||
|
||||
const u16 DecorGfx_RAGGED_CHAIR[] = {
|
||||
0xC2
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BRICK_CHAIR[] = {
|
||||
0xC8
|
||||
};
|
||||
|
||||
const u16 DecorGfx_CAMP_CHAIR[] = {
|
||||
0xC9
|
||||
};
|
||||
|
||||
const u16 DecorGfx_HARD_CHAIR[] = {
|
||||
0xCA
|
||||
};
|
||||
|
||||
const u16 DecorGfx_RED_PLANT[] = {
|
||||
0xD0,
|
||||
0xD8
|
||||
};
|
||||
|
||||
const u16 DecorGfx_TROPICAL_PLANT[] = {
|
||||
0xD2,
|
||||
0xDA
|
||||
};
|
||||
|
||||
const u16 DecorGfx_PRETTY_FLOWERS[] = {
|
||||
0xD4,
|
||||
0xDC
|
||||
};
|
||||
|
||||
const u16 DecorGfx_COLORFUL_PLANT[] = {
|
||||
0xE0,
|
||||
0xE2,
|
||||
0xE8,
|
||||
0xE9
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BIG_PLANT[] = {
|
||||
0xE4,
|
||||
0xE6,
|
||||
0xEC,
|
||||
0xED
|
||||
};
|
||||
|
||||
const u16 DecorGfx_GORGEOUS_PLANT[] = {
|
||||
0xF0,
|
||||
0xF2,
|
||||
0xF8,
|
||||
0xF9
|
||||
};
|
||||
|
||||
const u16 DecorGfx_RED_BRICK[] = {
|
||||
0x25,
|
||||
0x2D
|
||||
};
|
||||
|
||||
const u16 DecorGfx_YELLOW_BRICK[] = {
|
||||
0x26,
|
||||
0x2E
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BLUE_BRICK[] = {
|
||||
0x27,
|
||||
0x2F
|
||||
};
|
||||
|
||||
const u16 DecorGfx_RED_BALLOON[] = {
|
||||
0x138
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BLUE_BALLOON[] = {
|
||||
0x13C
|
||||
};
|
||||
|
||||
const u16 DecorGfx_YELLOW_BALLOON[] = {
|
||||
0x140
|
||||
};
|
||||
|
||||
const u16 DecorGfx_RED_TENT[] = {
|
||||
0x30,
|
||||
0x31,
|
||||
0x32,
|
||||
0x38,
|
||||
0x39,
|
||||
0x3A,
|
||||
0x40,
|
||||
0x41,
|
||||
0x3B
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BLUE_TENT[] = {
|
||||
0x48,
|
||||
0x49,
|
||||
0x68,
|
||||
0x50,
|
||||
0x51,
|
||||
0x70,
|
||||
0x58,
|
||||
0x59,
|
||||
0x69
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SOLID_BOARD[] = {
|
||||
0x34,
|
||||
0x3C
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SLIDE[] = {
|
||||
0x35,
|
||||
0x36,
|
||||
0x3D,
|
||||
0x3E,
|
||||
0x63,
|
||||
0x64,
|
||||
0x6F,
|
||||
0x77
|
||||
};
|
||||
|
||||
const u16 DecorGfx_FENCE_LENGTH[] = {
|
||||
0x33
|
||||
};
|
||||
|
||||
const u16 DecorGfx_FENCE_WIDTH[] = {
|
||||
0x2C
|
||||
};
|
||||
|
||||
const u16 DecorGfx_TIRE[] = {
|
||||
0x80,
|
||||
0x81,
|
||||
0x88,
|
||||
0x89
|
||||
};
|
||||
|
||||
const u16 DecorGfx_STAND[] = {
|
||||
0x6A,
|
||||
0x6B,
|
||||
0x6C,
|
||||
0x6D,
|
||||
0x72,
|
||||
0x73,
|
||||
0x74,
|
||||
0x75
|
||||
};
|
||||
|
||||
const u16 DecorGfx_MUD_BALL[] = {
|
||||
0x28
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BREAKABLE_DOOR[] = {
|
||||
0x37,
|
||||
0x3F
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SAND_ORNAMENT[] = {
|
||||
0x85,
|
||||
0x8D
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SILVER_SHIELD[] = {
|
||||
0xD6,
|
||||
0xDE
|
||||
};
|
||||
|
||||
const u16 DecorGfx_GOLD_SHIELD[] = {
|
||||
0x12E,
|
||||
0x136
|
||||
};
|
||||
|
||||
const u16 DecorGfx_GLASS_ORNAMENT[] = {
|
||||
0x82,
|
||||
0x8A
|
||||
};
|
||||
|
||||
const u16 DecorGfx_TV[] = {
|
||||
0xF4
|
||||
};
|
||||
|
||||
const u16 DecorGfx_ROUND_TV[] = {
|
||||
0xF5
|
||||
};
|
||||
|
||||
const u16 DecorGfx_CUTE_TV[] = {
|
||||
0xF6
|
||||
};
|
||||
|
||||
const u16 DecorGfx_GLITTER_MAT[] = {
|
||||
0x60
|
||||
};
|
||||
|
||||
const u16 DecorGfx_JUMP_MAT[] = {
|
||||
0x61
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SPIN_MAT[] = {
|
||||
0x62
|
||||
};
|
||||
|
||||
const u16 DecorGfx_C_LOW_NOTE_MAT[] = {
|
||||
0x78
|
||||
};
|
||||
|
||||
const u16 DecorGfx_D_NOTE_MAT[] = {
|
||||
0x79
|
||||
};
|
||||
|
||||
const u16 DecorGfx_E_NOTE_MAT[] = {
|
||||
0x7A
|
||||
};
|
||||
|
||||
const u16 DecorGfx_F_NOTE_MAT[] = {
|
||||
0x7B
|
||||
};
|
||||
|
||||
const u16 DecorGfx_G_NOTE_MAT[] = {
|
||||
0x7C
|
||||
};
|
||||
|
||||
const u16 DecorGfx_A_NOTE_MAT[] = {
|
||||
0x7D
|
||||
};
|
||||
|
||||
const u16 DecorGfx_B_NOTE_MAT[] = {
|
||||
0x7E
|
||||
};
|
||||
|
||||
const u16 DecorGfx_C_HIGH_NOTE_MAT[] = {
|
||||
0xB3
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SURF_MAT[] = {
|
||||
0x42,
|
||||
0x43,
|
||||
0x44,
|
||||
0x4A,
|
||||
0x4B,
|
||||
0x4C,
|
||||
0x52,
|
||||
0x53,
|
||||
0x54
|
||||
};
|
||||
|
||||
const u16 DecorGfx_THUNDER_MAT[] = {
|
||||
0x45,
|
||||
0x46,
|
||||
0x47,
|
||||
0x4D,
|
||||
0x4E,
|
||||
0x4F,
|
||||
0x55,
|
||||
0x56,
|
||||
0x57
|
||||
};
|
||||
|
||||
const u16 DecorGfx_FIRE_BLAST_MAT[] = {
|
||||
0x5A,
|
||||
0x5B,
|
||||
0x5C,
|
||||
0x5D,
|
||||
0x5E,
|
||||
0x5F,
|
||||
0x65,
|
||||
0x66,
|
||||
0x67
|
||||
};
|
||||
|
||||
const u16 DecorGfx_POWDER_SNOW_MAT[] = {
|
||||
0x100,
|
||||
0x101,
|
||||
0x102,
|
||||
0x108,
|
||||
0x109,
|
||||
0x10A,
|
||||
0x110,
|
||||
0x111,
|
||||
0x112
|
||||
};
|
||||
|
||||
const u16 DecorGfx_ATTRACT_MAT[] = {
|
||||
0x103,
|
||||
0x104,
|
||||
0x105,
|
||||
0x10B,
|
||||
0x10C,
|
||||
0x10D,
|
||||
0x113,
|
||||
0x114,
|
||||
0x115
|
||||
};
|
||||
|
||||
const u16 DecorGfx_FISSURE_MAT[] = {
|
||||
0x106,
|
||||
0x107,
|
||||
0x118,
|
||||
0x10E,
|
||||
0x10F,
|
||||
0x120,
|
||||
0x116,
|
||||
0x117,
|
||||
0x128
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SPIKES_MAT[] = {
|
||||
0x119,
|
||||
0x11A,
|
||||
0x11B,
|
||||
0x121,
|
||||
0x122,
|
||||
0x123,
|
||||
0x129,
|
||||
0x12A,
|
||||
0x12B
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BALL_POSTER[] = {
|
||||
0x130
|
||||
};
|
||||
|
||||
const u16 DecorGfx_GREEN_POSTER[] = {
|
||||
0x131
|
||||
};
|
||||
|
||||
const u16 DecorGfx_RED_POSTER[] = {
|
||||
0x132
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BLUE_POSTER[] = {
|
||||
0x133
|
||||
};
|
||||
|
||||
const u16 DecorGfx_CUTE_POSTER[] = {
|
||||
0x134
|
||||
};
|
||||
|
||||
const u16 DecorGfx_PIKA_POSTER[] = {
|
||||
0x11C,
|
||||
0x11D
|
||||
};
|
||||
|
||||
const u16 DecorGfx_LONG_POSTER[] = {
|
||||
0x11E,
|
||||
0x11F
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SEA_POSTER[] = {
|
||||
0x124,
|
||||
0x125
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SKY_POSTER[] = {
|
||||
0x126,
|
||||
0x127
|
||||
};
|
||||
|
||||
const u16 DecorGfx_KISS_POSTER[] = {
|
||||
0x12C,
|
||||
0x12D
|
||||
};
|
||||
|
||||
const u16 DecorGfx_PICHU_DOLL[] = {
|
||||
MAP_OBJ_GFX_PICHU_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_PIKACHU_DOLL[] = {
|
||||
MAP_OBJ_GFX_PIKACHU_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_MARILL_DOLL[] = {
|
||||
MAP_OBJ_GFX_MARILL_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_TOGEPI_DOLL[] = {
|
||||
MAP_OBJ_GFX_TOGEPI_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_CYNDAQUIL_DOLL[] = {
|
||||
MAP_OBJ_GFX_CYNDAQUIL_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_CHIKORITA_DOLL[] = {
|
||||
MAP_OBJ_GFX_CHIKORITA_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_TOTODILE_DOLL[] = {
|
||||
MAP_OBJ_GFX_TOTODILE_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_JIGGLYPUFF_DOLL[] = {
|
||||
MAP_OBJ_GFX_JIGGLYPUFF_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_MEOWTH_DOLL[] = {
|
||||
MAP_OBJ_GFX_MEOWTH_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_CLEFAIRY_DOLL[] = {
|
||||
MAP_OBJ_GFX_CLEFAIRY_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_DITTO_DOLL[] = {
|
||||
MAP_OBJ_GFX_DITTO_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SMOOCHUM_DOLL[] = {
|
||||
MAP_OBJ_GFX_SMOOCHUM_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_TREECKO_DOLL[] = {
|
||||
MAP_OBJ_GFX_TREECKO_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_TORCHIC_DOLL[] = {
|
||||
MAP_OBJ_GFX_TORCHIC_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_MUDKIP_DOLL[] = {
|
||||
MAP_OBJ_GFX_MUDKIP_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_DUSKULL_DOLL[] = {
|
||||
MAP_OBJ_GFX_DUSKULL_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_WYNAUT_DOLL[] = {
|
||||
MAP_OBJ_GFX_WYNAUT_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BALTOY_DOLL[] = {
|
||||
MAP_OBJ_GFX_BALTOY_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_KECLEON_DOLL[] = {
|
||||
MAP_OBJ_GFX_KECLEON_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_AZURILL_DOLL[] = {
|
||||
MAP_OBJ_GFX_AZURILL_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SKITTY_DOLL[] = {
|
||||
MAP_OBJ_GFX_SKITTY_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SWABLU_DOLL[] = {
|
||||
MAP_OBJ_GFX_SWABLU_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_GULPIN_DOLL[] = {
|
||||
MAP_OBJ_GFX_GULPIN_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_LOTAD_DOLL[] = {
|
||||
MAP_OBJ_GFX_LOTAD_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SEEDOT_DOLL[] = {
|
||||
MAP_OBJ_GFX_SEEDOT_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_PIKA_CUSHION[] = {
|
||||
MAP_OBJ_GFX_PIKA_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_ROUND_CUSHION[] = {
|
||||
MAP_OBJ_GFX_ROUND_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_KISS_CUSHION[] = {
|
||||
MAP_OBJ_GFX_KISS_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_ZIGZAG_CUSHION[] = {
|
||||
MAP_OBJ_GFX_ZIGZAG_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SPIN_CUSHION[] = {
|
||||
MAP_OBJ_GFX_SPIN_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_DIAMOND_CUSHION[] = {
|
||||
MAP_OBJ_GFX_DIAMOND_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BALL_CUSHION[] = {
|
||||
MAP_OBJ_GFX_BALL_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_GRASS_CUSHION[] = {
|
||||
MAP_OBJ_GFX_GRASS_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_FIRE_CUSHION[] = {
|
||||
MAP_OBJ_GFX_FIRE_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_WATER_CUSHION[] = {
|
||||
MAP_OBJ_GFX_WATER_CUSHION
|
||||
};
|
||||
|
||||
const u16 DecorGfx_SNORLAX_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_SNORLAX_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_RHYDON_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_RHYDON_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_LAPRAS_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_LAPRAS_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_VENUSAUR_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_VENUSAUR_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_CHARIZARD_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_CHARIZARD_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_BLASTOISE_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_BLASTOISE_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_WAILMER_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_WAILMER_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_REGIROCK_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_REGIROCK_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_REGICE_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_REGICE_DOLL
|
||||
};
|
||||
|
||||
const u16 DecorGfx_REGISTEEL_DOLL[] = {
|
||||
MAP_OBJ_GFX_BIG_REGISTEEL_DOLL
|
||||
};
|
||||
|
||||
#endif // GUARD_DATA_DECORATION_TILES
|
||||
@@ -0,0 +1,19 @@
|
||||
#ifndef GUARD_DATA2_H
|
||||
#define GUARD_DATA2_H
|
||||
|
||||
struct MonCoords
|
||||
{
|
||||
// This would use a bitfield, but some function
|
||||
// uses it as a u8 and casting won't match.
|
||||
u8 coords; // u8 x:4, y:4;
|
||||
u8 y_offset;
|
||||
};
|
||||
|
||||
extern struct MonCoords gTrainerBackPicCoords[];
|
||||
|
||||
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[][13];
|
||||
extern const u8 gAbilityNames[][13];
|
||||
extern const u8 gTypeNames[][7];
|
||||
|
||||
#endif // GUARD_DATA2_H
|
||||
@@ -8,7 +8,7 @@ void LZDecompressVram(const void *src, void *dest);
|
||||
|
||||
u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src);
|
||||
void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer);
|
||||
bool8 LoadCompressedObjectPicUsingHeap(struct CompressedSpriteSheet* src);
|
||||
bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src);
|
||||
|
||||
void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src);
|
||||
void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer);
|
||||
|
||||
@@ -0,0 +1,195 @@
|
||||
#ifndef GUARD_DECORATION_H
|
||||
#define GUARD_DECORATION_H
|
||||
|
||||
enum DecoId {
|
||||
/*000*/ DECOR_NONE,
|
||||
/*001*/ DECOR_SMALL_DESK,
|
||||
/*002*/ DECOR_POKEMON_DESK,
|
||||
/*003*/ DECOR_HEAVY_DESK,
|
||||
/*004*/ DECOR_RAGGED_DESK,
|
||||
/*005*/ DECOR_COMFORT_DESK,
|
||||
/*006*/ DECOR_PRETTY_DESK,
|
||||
/*007*/ DECOR_BRICK_DESK,
|
||||
/*008*/ DECOR_CAMP_DESK,
|
||||
/*009*/ DECOR_HARD_DESK,
|
||||
/*010*/ DECOR_SMALL_CHAIR,
|
||||
/*011*/ DECOR_POKEMON_CHAIR,
|
||||
/*012*/ DECOR_HEAVY_CHAIR,
|
||||
/*013*/ DECOR_PRETTY_CHAIR,
|
||||
/*014*/ DECOR_COMFORT_CHAIR,
|
||||
/*015*/ DECOR_RAGGED_CHAIR,
|
||||
/*016*/ DECOR_BRICK_CHAIR,
|
||||
/*017*/ DECOR_CAMP_CHAIR,
|
||||
/*018*/ DECOR_HARD_CHAIR,
|
||||
/*019*/ DECOR_RED_PLANT,
|
||||
/*020*/ DECOR_TROPICAL_PLANT,
|
||||
/*021*/ DECOR_PRETTY_FLOWERS,
|
||||
/*022*/ DECOR_COLORFUL_PLANT,
|
||||
/*023*/ DECOR_BIG_PLANT,
|
||||
/*024*/ DECOR_GORGEOUS_PLANT,
|
||||
/*025*/ DECOR_RED_BRICK,
|
||||
/*026*/ DECOR_YELLOW_BRICK,
|
||||
/*027*/ DECOR_BLUE_BRICK,
|
||||
/*028*/ DECOR_RED_BALLOON,
|
||||
/*029*/ DECOR_BLUE_BALLOON,
|
||||
/*030*/ DECOR_YELLOW_BALLOON,
|
||||
/*031*/ DECOR_RED_TENT,
|
||||
/*032*/ DECOR_BLUE_TENT,
|
||||
/*033*/ DECOR_SOLID_BOARD,
|
||||
/*034*/ DECOR_SLIDE,
|
||||
/*035*/ DECOR_FENCE_LENGTH,
|
||||
/*036*/ DECOR_FENCE_WIDTH,
|
||||
/*037*/ DECOR_TIRE,
|
||||
/*038*/ DECOR_STAND,
|
||||
/*039*/ DECOR_MUD_BALL,
|
||||
/*040*/ DECOR_BREAKABLE_DOOR,
|
||||
/*041*/ DECOR_SAND_ORNAMENT,
|
||||
/*042*/ DECOR_SILVER_SHIELD,
|
||||
/*043*/ DECOR_GOLD_SHIELD,
|
||||
/*044*/ DECOR_GLASS_ORNAMENT,
|
||||
/*045*/ DECOR_TV,
|
||||
/*046*/ DECOR_ROUND_TV,
|
||||
/*047*/ DECOR_CUTE_TV,
|
||||
/*048*/ DECOR_GLITTER_MAT,
|
||||
/*049*/ DECOR_JUMP_MAT,
|
||||
/*050*/ DECOR_SPIN_MAT,
|
||||
/*051*/ DECOR_C_LOW_NOTE_MAT,
|
||||
/*052*/ DECOR_D_NOTE_MAT,
|
||||
/*053*/ DECOR_E_NOTE_MAT,
|
||||
/*054*/ DECOR_F_NOTE_MAT,
|
||||
/*055*/ DECOR_G_NOTE_MAT,
|
||||
/*056*/ DECOR_A_NOTE_MAT,
|
||||
/*057*/ DECOR_B_NOTE_MAT,
|
||||
/*058*/ DECOR_C_HIGH_NOTE_MAT,
|
||||
/*059*/ DECOR_SURF_MAT,
|
||||
/*060*/ DECOR_THUNDER_MAT,
|
||||
/*061*/ DECOR_FIRE_BLAST_MAT,
|
||||
/*062*/ DECOR_POWDER_SNOW_MAT,
|
||||
/*063*/ DECOR_ATTRACT_MAT,
|
||||
/*064*/ DECOR_FISSURE_MAT,
|
||||
/*065*/ DECOR_SPIKES_MAT,
|
||||
/*066*/ DECOR_BALL_POSTER,
|
||||
/*067*/ DECOR_GREEN_POSTER,
|
||||
/*068*/ DECOR_RED_POSTER,
|
||||
/*069*/ DECOR_BLUE_POSTER,
|
||||
/*070*/ DECOR_CUTE_POSTER,
|
||||
/*071*/ DECOR_PIKA_POSTER,
|
||||
/*072*/ DECOR_LONG_POSTER,
|
||||
/*073*/ DECOR_SEA_POSTER,
|
||||
/*074*/ DECOR_SKY_POSTER,
|
||||
/*075*/ DECOR_KISS_POSTER,
|
||||
/*076*/ DECOR_PICHU_DOLL,
|
||||
/*077*/ DECOR_PIKACHU_DOLL,
|
||||
/*078*/ DECOR_MARILL_DOLL,
|
||||
/*079*/ DECOR_TOGEPI_DOLL,
|
||||
/*080*/ DECOR_CYNDAQUIL_DOLL,
|
||||
/*081*/ DECOR_CHIKORITA_DOLL,
|
||||
/*082*/ DECOR_TOTODILE_DOLL,
|
||||
/*083*/ DECOR_JIGGLYPUFF_DOLL,
|
||||
/*084*/ DECOR_MEOWTH_DOLL,
|
||||
/*085*/ DECOR_CLEFAIRY_DOLL,
|
||||
/*086*/ DECOR_DITTO_DOLL,
|
||||
/*087*/ DECOR_SMOOCHUM_DOLL,
|
||||
/*088*/ DECOR_TREECKO_DOLL,
|
||||
/*089*/ DECOR_TORCHIC_DOLL,
|
||||
/*090*/ DECOR_MUDKIP_DOLL,
|
||||
/*091*/ DECOR_DUSKULL_DOLL,
|
||||
/*092*/ DECOR_WYNAUT_DOLL,
|
||||
/*093*/ DECOR_BALTOY_DOLL,
|
||||
/*094*/ DECOR_KECLEON_DOLL,
|
||||
/*095*/ DECOR_AZURILL_DOLL,
|
||||
/*096*/ DECOR_SKITTY_DOLL,
|
||||
/*097*/ DECOR_SWABLU_DOLL,
|
||||
/*098*/ DECOR_GULPIN_DOLL,
|
||||
/*099*/ DECOR_LOTAD_DOLL,
|
||||
/*100*/ DECOR_SEEDOT_DOLL,
|
||||
/*101*/ DECOR_PIKA_CUSHION,
|
||||
/*102*/ DECOR_ROUND_CUSHION,
|
||||
/*103*/ DECOR_KISS_CUSHION,
|
||||
/*104*/ DECOR_ZIGZAG_CUSHION,
|
||||
/*105*/ DECOR_SPIN_CUSHION,
|
||||
/*106*/ DECOR_DIAMOND_CUSHION,
|
||||
/*107*/ DECOR_BALL_CUSHION,
|
||||
/*108*/ DECOR_GRASS_CUSHION,
|
||||
/*109*/ DECOR_FIRE_CUSHION,
|
||||
/*110*/ DECOR_WATER_CUSHION,
|
||||
/*111*/ DECOR_SNORLAX_DOLL,
|
||||
/*112*/ DECOR_RHYDON_DOLL,
|
||||
/*113*/ DECOR_LAPRAS_DOLL,
|
||||
/*114*/ DECOR_VENUSAUR_DOLL,
|
||||
/*115*/ DECOR_CHARIZARD_DOLL,
|
||||
/*116*/ DECOR_BLASTOISE_DOLL,
|
||||
/*117*/ DECOR_WAILMER_DOLL,
|
||||
/*118*/ DECOR_REGIROCK_DOLL,
|
||||
/*119*/ DECOR_REGICE_DOLL,
|
||||
/*120*/ DECOR_REGISTEEL_DOLL
|
||||
};
|
||||
|
||||
enum DecorPerm {
|
||||
/*
|
||||
* The nomenclature here describes collision and placement permissions, in that order.
|
||||
*/
|
||||
DECORPERM_SOLID_FLOOR,
|
||||
DECORPERM_PASS_FLOOR,
|
||||
DECORPERM_BEHIND_FLOOR,
|
||||
DECORPERM_NA_WALL,
|
||||
DECORPERM_SOLID_MAT
|
||||
};
|
||||
|
||||
enum DecorShape {
|
||||
/*
|
||||
* Width-x-height
|
||||
*/
|
||||
DECORSHAPE_1x1,
|
||||
DECORSHAPE_2x1,
|
||||
DECORSHAPE_3x1, // unused
|
||||
DECORSHAPE_4x2,
|
||||
DECORSHAPE_2x2,
|
||||
DECORSHAPE_1x2,
|
||||
DECORSHAPE_1x3, // unused
|
||||
DECORSHAPE_2x4,
|
||||
DECORSHAPE_3x3,
|
||||
DECORSHAPE_3x2
|
||||
};
|
||||
|
||||
enum DecorCat {
|
||||
/*
|
||||
* In which category you can find the decoration in the PC.
|
||||
*/
|
||||
/*0*/ DECORCAT_DESK,
|
||||
/*1*/ DECORCAT_CHAIR,
|
||||
/*2*/ DECORCAT_PLANT,
|
||||
/*3*/ DECORCAT_ORNAMENT,
|
||||
/*4*/ DECORCAT_MAT,
|
||||
/*5*/ DECORCAT_POSTER,
|
||||
/*6*/ DECORCAT_DOLL,
|
||||
/*7*/ DECORCAT_CUSHION
|
||||
};
|
||||
|
||||
struct Decoration
|
||||
{
|
||||
/*0x00*/ u8 id;
|
||||
/*0x01*/ u8 name[16];
|
||||
/*0x11*/ u8 permission;
|
||||
/*0x12*/ u8 shape;
|
||||
/*0x13*/ u8 category;
|
||||
/*0x14*/ u16 price;
|
||||
/*0x18*/ const u8 *description;
|
||||
/*0x1c*/ const u16 *tiles;
|
||||
};
|
||||
|
||||
struct DecorPCPointers
|
||||
{
|
||||
/* 0x00 */ u8 *items;
|
||||
/* 0x04 */ u8 *pos;
|
||||
/* 0x08 */ u8 size;
|
||||
/* 0x09 */ u8 isPlayerRoom;
|
||||
};
|
||||
|
||||
extern const struct Decoration gDecorations[];
|
||||
extern EWRAM_DATA u8 *gCurDecorInventoryItems;
|
||||
extern EWRAM_DATA u8 gCurDecorationIndex;
|
||||
|
||||
void sub_8126968(void);
|
||||
|
||||
#endif //GUARD_DECORATION_H
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef GUARD_DECORATION_INVENTORY_H
|
||||
#define GUARD_DECORATION_INVENTORY_H
|
||||
struct DecorationInventory {
|
||||
u8 *items;
|
||||
u8 size;
|
||||
};
|
||||
|
||||
extern struct DecorationInventory gDecorationInventories[];
|
||||
|
||||
void ClearDecorationInventories(void);
|
||||
s8 GetFirstEmptyDecorSlot(u8 idx);
|
||||
u8 CheckHasDecoration(u8);
|
||||
u8 DecorationAdd(u8);
|
||||
u8 DecorationCheckSpace(u8);
|
||||
s8 DecorationRemove(u8);
|
||||
void CondenseDecorationCategoryN(u8);
|
||||
u8 CountDecorationCategoryN(u8 idx);
|
||||
u8 CountDecorations(void);
|
||||
|
||||
#endif // GUARD_DECORATION_INVENTORY_H
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_DIPLOMA_H
|
||||
#define GUARD_DIPLOMA_H
|
||||
|
||||
void CB2_ShowDiploma(void);
|
||||
|
||||
#endif // GUARD_DIPLOMA_H
|
||||
@@ -1,20 +1,6 @@
|
||||
#ifndef GUARD_DMA3_H
|
||||
#define GUARD_DMA3_H
|
||||
|
||||
extern u8 gDma3ManagerLocked;
|
||||
extern u8 gDma3RequestCursor;
|
||||
|
||||
struct DmaRequestsStruct
|
||||
{
|
||||
/* 0x00 */ const u8 *src;
|
||||
/* 0x04 */ u8 *dest;
|
||||
/* 0x08 */ u16 size;
|
||||
/* 0x0A */ u16 mode;
|
||||
/* 0x0C */ u32 value;
|
||||
};
|
||||
|
||||
extern struct DmaRequestsStruct gDma3Requests[128];
|
||||
|
||||
void ClearDma3Requests(void);
|
||||
void ProcessDma3Requests(void);
|
||||
int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
|
||||
|
||||
+4
-2
@@ -30,7 +30,9 @@ enum
|
||||
|
||||
void InitEasyChatPhrases(void);
|
||||
void easy_chat_input_maybe(void);
|
||||
void CopyEasyChatWord(u8 *, u16);
|
||||
bool32 sub_811F8D8(u16);
|
||||
void CopyEasyChatWord(u8 *dest, u16 word);
|
||||
bool32 sub_811F8D8(u16 word);
|
||||
void InitializeEasyChatWordArray(u16 *words, u16 length);
|
||||
void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2);
|
||||
|
||||
#endif // GUARD_EASYCHAT_H
|
||||
|
||||
@@ -27,7 +27,7 @@ bool8 VarSet(u16 id, u16 value);
|
||||
u8 VarGetFieldObjectGraphicsId(u8 id);
|
||||
u8 *GetFlagPointer(u16 id);
|
||||
u8 FlagSet(u16 id);
|
||||
u8 FlagReset(u16 id);
|
||||
u8 FlagClear(u16 id);
|
||||
bool8 FlagGet(u16 id);
|
||||
|
||||
extern u16 gSpecialVar_0x8000;
|
||||
|
||||
@@ -5,7 +5,360 @@
|
||||
#ifndef GUARD_EVENT_SCRIPTS_H
|
||||
#define GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
extern const u8 gUnknown_0823B4E8[];
|
||||
extern const u8 gUnknown_08275D0C[];
|
||||
extern const u8 gUnknown_08275D1F[];
|
||||
extern const u8 gUnknown_08275D2E[];
|
||||
extern const u8 gUnknown_082766A2[];
|
||||
extern const u8 gUnknown_082766A6[];
|
||||
|
||||
extern const u8 gTVBravoTrainerText00[];
|
||||
extern const u8 gTVBravoTrainerText01[];
|
||||
extern const u8 gTVBravoTrainerText02[];
|
||||
extern const u8 gTVBravoTrainerText03[];
|
||||
extern const u8 gTVBravoTrainerText04[];
|
||||
extern const u8 gTVBravoTrainerText05[];
|
||||
extern const u8 gTVBravoTrainerText06[];
|
||||
extern const u8 gTVBravoTrainerText07[];
|
||||
extern const u8 gTVBravoTrainerText08[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText00[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText01[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText02[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText03[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText04[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText05[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText06[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText07[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText08[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText09[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText10[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText11[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText12[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText13[];
|
||||
extern const u8 gTVBravoTrainerBattleTowerText14[];
|
||||
extern const u8 gTVFanClubOpinionsText00[];
|
||||
extern const u8 gTVFanClubOpinionsText01[];
|
||||
extern const u8 gTVFanClubOpinionsText02[];
|
||||
extern const u8 gTVFanClubOpinionsText03[];
|
||||
extern const u8 gTVFanClubOpinionsText04[];
|
||||
extern const u8 gTVFanClubText00[];
|
||||
extern const u8 gTVFanClubText01[];
|
||||
extern const u8 gTVFanClubText02[];
|
||||
extern const u8 gTVFanClubText03[];
|
||||
extern const u8 gTVFanClubText04[];
|
||||
extern const u8 gTVFanClubText05[];
|
||||
extern const u8 gTVFanClubText06[];
|
||||
extern const u8 gTVFanClubText07[];
|
||||
extern const u8 gTVRecentHappeningsText00[];
|
||||
extern const u8 gTVRecentHappeningsText01[];
|
||||
extern const u8 gTVRecentHappeningsText02[];
|
||||
extern const u8 gTVRecentHappeningsText03[];
|
||||
extern const u8 gTVRecentHappeningsText04[];
|
||||
extern const u8 gTVRecentHappeningsText05[];
|
||||
extern const u8 gTVMassOutbreakText00[];
|
||||
extern const u8 gTV3CheersForPokeblocksText00[];
|
||||
extern const u8 gTV3CheersForPokeblocksText01[];
|
||||
extern const u8 gTV3CheersForPokeblocksText02[];
|
||||
extern const u8 gTV3CheersForPokeblocksText03[];
|
||||
extern const u8 gTV3CheersForPokeblocksText04[];
|
||||
extern const u8 gTV3CheersForPokeblocksText05[];
|
||||
extern const u8 gTVTrainerFanClubSpecialText00[];
|
||||
extern const u8 gTVTrainerFanClubSpecialText01[];
|
||||
extern const u8 gTVTrainerFanClubSpecialText02[];
|
||||
extern const u8 gTVTrainerFanClubSpecialText03[];
|
||||
extern const u8 gTVTrainerFanClubSpecialText04[];
|
||||
extern const u8 gTVTrainerFanClubSpecialText05[];
|
||||
extern const u8 gTVNameRaterText00[];
|
||||
extern const u8 gTVNameRaterText01[];
|
||||
extern const u8 gTVNameRaterText02[];
|
||||
extern const u8 gTVNameRaterText03[];
|
||||
extern const u8 gTVNameRaterText04[];
|
||||
extern const u8 gTVNameRaterText05[];
|
||||
extern const u8 gTVNameRaterText06[];
|
||||
extern const u8 gTVNameRaterText07[];
|
||||
extern const u8 gTVNameRaterText08[];
|
||||
extern const u8 gTVNameRaterText09[];
|
||||
extern const u8 gTVNameRaterText10[];
|
||||
extern const u8 gTVNameRaterText11[];
|
||||
extern const u8 gTVNameRaterText12[];
|
||||
extern const u8 gTVNameRaterText13[];
|
||||
extern const u8 gTVNameRaterText14[];
|
||||
extern const u8 gTVNameRaterText15[];
|
||||
extern const u8 gTVNameRaterText16[];
|
||||
extern const u8 gTVNameRaterText17[];
|
||||
extern const u8 gTVNameRaterText18[];
|
||||
extern const u8 gTVPokemonAnglerText00[];
|
||||
extern const u8 gTVPokemonAnglerText01[];
|
||||
extern const u8 gTVPokemonTodayFailedText00[];
|
||||
extern const u8 gTVPokemonTodayFailedText01[];
|
||||
extern const u8 gTVPokemonTodayFailedText02[];
|
||||
extern const u8 gTVPokemonTodayFailedText03[];
|
||||
extern const u8 gTVPokemonTodayFailedText04[];
|
||||
extern const u8 gTVPokemonTodayFailedText05[];
|
||||
extern const u8 gTVPokemonTodayFailedText06[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText00[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText01[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText02[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText03[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText04[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText05[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText06[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText07[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText08[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText09[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText10[];
|
||||
extern const u8 gTVPokemonTodaySuccessfulText11[];
|
||||
extern const u8 gTVTodaysSmartShopperText00[];
|
||||
extern const u8 gTVTodaysSmartShopperText01[];
|
||||
extern const u8 gTVTodaysSmartShopperText02[];
|
||||
extern const u8 gTVTodaysSmartShopperText03[];
|
||||
extern const u8 gTVTodaysSmartShopperText04[];
|
||||
extern const u8 gTVTodaysSmartShopperText05[];
|
||||
extern const u8 gTVTodaysSmartShopperText06[];
|
||||
extern const u8 gTVTodaysSmartShopperText07[];
|
||||
extern const u8 gTVTodaysSmartShopperText08[];
|
||||
extern const u8 gTVTodaysSmartShopperText09[];
|
||||
extern const u8 gTVTodaysSmartShopperText10[];
|
||||
extern const u8 gTVTodaysSmartShopperText11[];
|
||||
extern const u8 gTVTodaysSmartShopperText12[];
|
||||
extern const u8 gTVWorldOfMastersText00[];
|
||||
extern const u8 gTVWorldOfMastersText01[];
|
||||
extern const u8 gTVWorldOfMastersText02[];
|
||||
extern const u8 gTVTodaysRivalTrainerText00[];
|
||||
extern const u8 gTVTodaysRivalTrainerText07[];
|
||||
extern const u8 gTVTodaysRivalTrainerText08[];
|
||||
extern const u8 gTVTodaysRivalTrainerText09[];
|
||||
extern const u8 gTVTodaysRivalTrainerText10[];
|
||||
extern const u8 gTVTodaysRivalTrainerText01[];
|
||||
extern const u8 gTVTodaysRivalTrainerText02[];
|
||||
extern const u8 gTVTodaysRivalTrainerText03[];
|
||||
extern const u8 gTVTodaysRivalTrainerText04[];
|
||||
extern const u8 gTVTodaysRivalTrainerText05[];
|
||||
extern const u8 gTVTodaysRivalTrainerText06[];
|
||||
extern const u8 gTVDewfordTrendWatcherNetworkText00[];
|
||||
extern const u8 gTVDewfordTrendWatcherNetworkText01[];
|
||||
extern const u8 gTVDewfordTrendWatcherNetworkText02[];
|
||||
extern const u8 gTVDewfordTrendWatcherNetworkText03[];
|
||||
extern const u8 gTVDewfordTrendWatcherNetworkText04[];
|
||||
extern const u8 gTVDewfordTrendWatcherNetworkText05[];
|
||||
extern const u8 gTVDewfordTrendWatcherNetworkText06[];
|
||||
extern const u8 gTVHoennTreasureInvestigatorsText00[];
|
||||
extern const u8 gTVHoennTreasureInvestigatorsText01[];
|
||||
extern const u8 gTVHoennTreasureInvestigatorsText02[];
|
||||
extern const u8 gTVFindThatGamerText00[];
|
||||
extern const u8 gTVFindThatGamerText01[];
|
||||
extern const u8 gTVFindThatGamerText02[];
|
||||
extern const u8 gTVFindThatGamerText03[];
|
||||
extern const u8 gTVBreakingNewsText00[];
|
||||
extern const u8 gTVBreakingNewsText01[];
|
||||
extern const u8 gTVBreakingNewsText02[];
|
||||
extern const u8 gTVBreakingNewsText03[];
|
||||
extern const u8 gTVBreakingNewsText04[];
|
||||
extern const u8 gTVBreakingNewsText05[];
|
||||
extern const u8 gTVBreakingNewsText06[];
|
||||
extern const u8 gTVBreakingNewsText07[];
|
||||
extern const u8 gTVBreakingNewsText12[];
|
||||
extern const u8 gTVBreakingNewsText08[];
|
||||
extern const u8 gTVBreakingNewsText09[];
|
||||
extern const u8 gTVBreakingNewsText10[];
|
||||
extern const u8 gTVBreakingNewsText11[];
|
||||
extern const u8 gTVSecretBaseVisitText00[];
|
||||
extern const u8 gTVSecretBaseVisitText01[];
|
||||
extern const u8 gTVSecretBaseVisitText02[];
|
||||
extern const u8 gTVSecretBaseVisitText03[];
|
||||
extern const u8 gTVSecretBaseVisitText04[];
|
||||
extern const u8 gTVSecretBaseVisitText05[];
|
||||
extern const u8 gTVSecretBaseVisitText06[];
|
||||
extern const u8 gTVSecretBaseVisitText07[];
|
||||
extern const u8 gTVSecretBaseVisitText08[];
|
||||
extern const u8 gTVSecretBaseVisitText09[];
|
||||
extern const u8 gTVSecretBaseVisitText10[];
|
||||
extern const u8 gTVSecretBaseVisitText11[];
|
||||
extern const u8 gTVSecretBaseVisitText12[];
|
||||
extern const u8 gTVSecretBaseVisitText13[];
|
||||
extern const u8 gTVPokemonLotteryWinnerFlashReportText00[];
|
||||
extern const u8 gTVThePokemonBattleSeminarText00[];
|
||||
extern const u8 gTVThePokemonBattleSeminarText01[];
|
||||
extern const u8 gTVThePokemonBattleSeminarText02[];
|
||||
extern const u8 gTVThePokemonBattleSeminarText03[];
|
||||
extern const u8 gTVThePokemonBattleSeminarText04[];
|
||||
extern const u8 gTVThePokemonBattleSeminarText05[];
|
||||
extern const u8 gTVThePokemonBattleSeminarText06[];
|
||||
extern const u8 gTVTrainerFanClubText00[];
|
||||
extern const u8 gTVTrainerFanClubText01[];
|
||||
extern const u8 gTVTrainerFanClubText02[];
|
||||
extern const u8 gTVTrainerFanClubText03[];
|
||||
extern const u8 gTVTrainerFanClubText04[];
|
||||
extern const u8 gTVTrainerFanClubText05[];
|
||||
extern const u8 gTVTrainerFanClubText06[];
|
||||
extern const u8 gTVTrainerFanClubText07[];
|
||||
extern const u8 gTVTrainerFanClubText08[];
|
||||
extern const u8 gTVTrainerFanClubText09[];
|
||||
extern const u8 gTVTrainerFanClubText10[];
|
||||
extern const u8 gTVTrainerFanClubText11[];
|
||||
extern const u8 gTVCutiesText00[];
|
||||
extern const u8 gTVCutiesText01[];
|
||||
extern const u8 gTVCutiesText02[];
|
||||
extern const u8 gTVCutiesText03[];
|
||||
extern const u8 gTVCutiesText04[];
|
||||
extern const u8 gTVCutiesText05[];
|
||||
extern const u8 gTVCutiesText06[];
|
||||
extern const u8 gTVCutiesText07[];
|
||||
extern const u8 gTVCutiesText08[];
|
||||
extern const u8 gTVCutiesText09[];
|
||||
extern const u8 gTVCutiesText10[];
|
||||
extern const u8 gTVCutiesText11[];
|
||||
extern const u8 gTVCutiesText12[];
|
||||
extern const u8 gTVCutiesText13[];
|
||||
extern const u8 gTVCutiesText14[];
|
||||
extern const u8 gTVCutiesText15[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText00[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText01[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText02[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText03[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText04[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText05[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText06[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText07[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText08[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText09[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText10[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText11[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText12[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText13[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText14[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText15[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText16[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText17[];
|
||||
extern const u8 gTVPokemonNewsBattleFrontierText18[];
|
||||
extern const u8 gTVWhatsNo1InHoennTodayText00[];
|
||||
extern const u8 gTVWhatsNo1InHoennTodayText01[];
|
||||
extern const u8 gTVWhatsNo1InHoennTodayText02[];
|
||||
extern const u8 gTVWhatsNo1InHoennTodayText03[];
|
||||
extern const u8 gTVWhatsNo1InHoennTodayText04[];
|
||||
extern const u8 gTVWhatsNo1InHoennTodayText05[];
|
||||
extern const u8 gTVWhatsNo1InHoennTodayText06[];
|
||||
extern const u8 gTVWhatsNo1InHoennTodayText07[];
|
||||
extern const u8 gTVWhatsNo1InHoennTodayText08[];
|
||||
extern const u8 gTVSecretBaseSecretsText00[];
|
||||
extern const u8 gTVSecretBaseSecretsText01[];
|
||||
extern const u8 gTVSecretBaseSecretsText02[];
|
||||
extern const u8 gTVSecretBaseSecretsText03[];
|
||||
extern const u8 gTVSecretBaseSecretsText04[];
|
||||
extern const u8 gTVSecretBaseSecretsText05[];
|
||||
extern const u8 gTVSecretBaseSecretsText06[];
|
||||
extern const u8 gTVSecretBaseSecretsText07[];
|
||||
extern const u8 gTVSecretBaseSecretsText08[];
|
||||
extern const u8 gTVSecretBaseSecretsText09[];
|
||||
extern const u8 gTVSecretBaseSecretsText10[];
|
||||
extern const u8 gTVSecretBaseSecretsText11[];
|
||||
extern const u8 gTVSecretBaseSecretsText12[];
|
||||
extern const u8 gTVSecretBaseSecretsText13[];
|
||||
extern const u8 gTVSecretBaseSecretsText14[];
|
||||
extern const u8 gTVSecretBaseSecretsText15[];
|
||||
extern const u8 gTVSecretBaseSecretsText16[];
|
||||
extern const u8 gTVSecretBaseSecretsText17[];
|
||||
extern const u8 gTVSecretBaseSecretsText18[];
|
||||
extern const u8 gTVSecretBaseSecretsText19[];
|
||||
extern const u8 gTVSecretBaseSecretsText20[];
|
||||
extern const u8 gTVSecretBaseSecretsText21[];
|
||||
extern const u8 gTVSecretBaseSecretsText22[];
|
||||
extern const u8 gTVSecretBaseSecretsText23[];
|
||||
extern const u8 gTVSecretBaseSecretsText24[];
|
||||
extern const u8 gTVSecretBaseSecretsText25[];
|
||||
extern const u8 gTVSecretBaseSecretsText26[];
|
||||
extern const u8 gTVSecretBaseSecretsText27[];
|
||||
extern const u8 gTVSecretBaseSecretsText28[];
|
||||
extern const u8 gTVSecretBaseSecretsText29[];
|
||||
extern const u8 gTVSecretBaseSecretsText30[];
|
||||
extern const u8 gTVSecretBaseSecretsText31[];
|
||||
extern const u8 gTVSecretBaseSecretsText32[];
|
||||
extern const u8 gTVSecretBaseSecretsText33[];
|
||||
extern const u8 gTVSecretBaseSecretsText34[];
|
||||
extern const u8 gTVSecretBaseSecretsText35[];
|
||||
extern const u8 gTVSecretBaseSecretsText36[];
|
||||
extern const u8 gTVSecretBaseSecretsText37[];
|
||||
extern const u8 gTVSecretBaseSecretsText38[];
|
||||
extern const u8 gTVSecretBaseSecretsText39[];
|
||||
extern const u8 gTVSecretBaseSecretsText40[];
|
||||
extern const u8 gTVSecretBaseSecretsText41[];
|
||||
extern const u8 gTVSecretBaseSecretsText42[];
|
||||
extern const u8 gTVSafariFanClubText00[];
|
||||
extern const u8 gTVSafariFanClubText01[];
|
||||
extern const u8 gTVSafariFanClubText02[];
|
||||
extern const u8 gTVSafariFanClubText03[];
|
||||
extern const u8 gTVSafariFanClubText04[];
|
||||
extern const u8 gTVSafariFanClubText05[];
|
||||
extern const u8 gTVSafariFanClubText06[];
|
||||
extern const u8 gTVSafariFanClubText07[];
|
||||
extern const u8 gTVSafariFanClubText08[];
|
||||
extern const u8 gTVSafariFanClubText09[];
|
||||
extern const u8 gTVSafariFanClubText10[];
|
||||
extern const u8 gTVContestLiveUpdatesText00[];
|
||||
extern const u8 gTVContestLiveUpdatesText01[];
|
||||
extern const u8 gTVContestLiveUpdatesText02[];
|
||||
extern const u8 gTVContestLiveUpdatesText03[];
|
||||
extern const u8 gTVContestLiveUpdatesText04[];
|
||||
extern const u8 gTVContestLiveUpdatesText05[];
|
||||
extern const u8 gTVContestLiveUpdatesText06[];
|
||||
extern const u8 gTVContestLiveUpdatesText07[];
|
||||
extern const u8 gTVContestLiveUpdatesText08[];
|
||||
extern const u8 gTVContestLiveUpdatesText09[];
|
||||
extern const u8 gTVContestLiveUpdatesText10[];
|
||||
extern const u8 gTVContestLiveUpdatesText11[];
|
||||
extern const u8 gTVContestLiveUpdatesText12[];
|
||||
extern const u8 gTVContestLiveUpdatesText13[];
|
||||
extern const u8 gTVContestLiveUpdatesText14[];
|
||||
extern const u8 gTVContestLiveUpdatesText15[];
|
||||
extern const u8 gTVContestLiveUpdatesText16[];
|
||||
extern const u8 gTVContestLiveUpdatesText17[];
|
||||
extern const u8 gTVContestLiveUpdatesText18[];
|
||||
extern const u8 gTVContestLiveUpdatesText19[];
|
||||
extern const u8 gTVContestLiveUpdatesText20[];
|
||||
extern const u8 gTVContestLiveUpdatesText21[];
|
||||
extern const u8 gTVContestLiveUpdatesText22[];
|
||||
extern const u8 gTVContestLiveUpdatesText23[];
|
||||
extern const u8 gTVContestLiveUpdatesText24[];
|
||||
extern const u8 gTVContestLiveUpdatesText25[];
|
||||
extern const u8 gTVContestLiveUpdatesText26[];
|
||||
extern const u8 gTVContestLiveUpdatesText27[];
|
||||
extern const u8 gTVContestLiveUpdatesText28[];
|
||||
extern const u8 gTVContestLiveUpdatesText29[];
|
||||
extern const u8 gTVContestLiveUpdatesText30[];
|
||||
extern const u8 gTVContestLiveUpdatesText31[];
|
||||
extern const u8 gTVContestLiveUpdatesText32[];
|
||||
extern const u8 gTVPokemonBattleUpdateText00[];
|
||||
extern const u8 gTVPokemonBattleUpdateText01[];
|
||||
extern const u8 gTVPokemonBattleUpdateText02[];
|
||||
extern const u8 gTVPokemonBattleUpdateText03[];
|
||||
extern const u8 gTVPokemonBattleUpdateText04[];
|
||||
extern const u8 gTVPokemonBattleUpdateText05[];
|
||||
extern const u8 gTVPokemonBattleUpdateText06[];
|
||||
extern const u8 gTVPokemonBattleUpdateText07[];
|
||||
extern const u8 gTVInSearchOfTrainersText00[];
|
||||
extern const u8 gTVInSearchOfTrainersText01[];
|
||||
extern const u8 gTVInSearchOfTrainersText02[];
|
||||
extern const u8 gTVInSearchOfTrainersText03[];
|
||||
extern const u8 gTVInSearchOfTrainersText04[];
|
||||
extern const u8 gTVInSearchOfTrainersText05[];
|
||||
extern const u8 gTVInSearchOfTrainersText06[];
|
||||
extern const u8 gTVInSearchOfTrainersText07[];
|
||||
extern const u8 gTVInSearchOfTrainersText08[];
|
||||
extern const u8 gTVPokemonContestLiveUpdates2Text00[];
|
||||
extern const u8 gTVPokemonContestLiveUpdates2Text01[];
|
||||
extern const u8 gTVPokemonContestLiveUpdates2Text02[];
|
||||
extern const u8 gTVPokemonContestLiveUpdates2Text03[];
|
||||
extern const u8 gPokeNewsTextSlateport_Upcoming[];
|
||||
extern const u8 gPokeNewsTextSlateport_Ongoing[];
|
||||
extern const u8 gPokeNewsTextSlateport_Ending[];
|
||||
extern const u8 gPokeNewsTextGameCorner_Upcoming[];
|
||||
extern const u8 gPokeNewsTextGameCorner_Ongoing[];
|
||||
extern const u8 gPokeNewsTextGameCorner_Ending[];
|
||||
extern const u8 gPokeNewsTextLilycove_Upcoming[];
|
||||
extern const u8 gPokeNewsTextLilycove_Ongoing[];
|
||||
extern const u8 gPokeNewsTextLilycove_Ending[];
|
||||
extern const u8 gPokeNewsTextBlendMaster_Upcoming[];
|
||||
extern const u8 gPokeNewsTextBlendMaster_Ongoing[];
|
||||
extern const u8 gPokeNewsTextBlendMaster_Ending[];
|
||||
|
||||
#endif //GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_EVOLUTION_SCENE_H
|
||||
#define GUARD_EVOLUTION_SCENE_H
|
||||
|
||||
void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID);
|
||||
void BeginEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID);
|
||||
void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpriteID, u8 partyID);
|
||||
|
||||
extern void (*gCB2_AfterEvolution)(void);
|
||||
|
||||
#endif // GUARD_EVOLUTION_SCENE_H
|
||||
@@ -22,4 +22,6 @@ extern u16 gUnknown_03005DE8;
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
void DrawWholeMapView(void);
|
||||
|
||||
#endif //GUARD_FIELD_CAMERA_H
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_FIELDDOOR_H
|
||||
#define GUARD_FIELDDOOR_H
|
||||
|
||||
void FieldSetDoorOpened(u32, u32);
|
||||
void FieldSetDoorClosed(u32, u32);
|
||||
s8 FieldAnimateDoorClose(u32, u32);
|
||||
s8 FieldAnimateDoorOpen(u32, u32);
|
||||
bool8 FieldIsDoorAnimationRunning(void);
|
||||
u32 GetDoorSoundEffect(u32 x, u32 y);
|
||||
|
||||
#endif
|
||||
@@ -1,7 +1,3 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/15/17.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELD_EFFECTS_H
|
||||
#define GUARD_FIELD_EFFECTS_H
|
||||
|
||||
@@ -73,8 +69,9 @@ enum FieldEffectScriptIdx
|
||||
FLDEFF_USE_TELEPORT
|
||||
};
|
||||
|
||||
extern u32 gFieldEffectSpawnParams[8];
|
||||
|
||||
u8 FieldEffectStart(u8);
|
||||
bool8 FieldEffectActiveListContains(u8 id);
|
||||
|
||||
extern u32 gFieldEffectArguments[8];
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_FIELD_FADETRANSITION_H
|
||||
#define GUARD_FIELD_FADETRANSITION_H
|
||||
|
||||
void sub_80AF734(void);
|
||||
void sp13E_warp_to_last_warp(void);
|
||||
void sub_80AF7D0(void);
|
||||
void sp13F_fall_to_last_warp(void);
|
||||
|
||||
void sub_80AF848(void);
|
||||
void sub_80AF87C(void);
|
||||
|
||||
#endif // GUARD_FIELD_FADETRANSITION_H
|
||||
@@ -33,6 +33,7 @@ u8 sub_808D4F4(void);
|
||||
void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
|
||||
void npc_load_two_palettes__no_record(u16, u8);
|
||||
void npc_load_two_palettes__and_record(u16, u8);
|
||||
void sub_808EBA8(u8, u8, u8, s16, s16);
|
||||
void pal_patch_for_npc(u16, u8);
|
||||
void sub_808E16C(s16, s16);
|
||||
void sub_8092FF0(s16, s16, s16 *, s16 *);
|
||||
@@ -63,6 +64,7 @@ void npc_coords_shift(struct MapObject *, s16, s16);
|
||||
void sub_808EB08(struct MapObject *, s16, s16);
|
||||
void sub_808F254(u8, u8, u8);
|
||||
void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *));
|
||||
u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8);
|
||||
u8 GetOppositeDirection(u8);
|
||||
u8 GetStepInPlaceDelay4AnimId(u32);
|
||||
u8 GetStepInPlaceDelay8AnimId(u32);
|
||||
@@ -71,6 +73,8 @@ u8 GetStepInPlaceDelay32AnimId(u32);
|
||||
u8 npc_block_way(struct MapObject *, s16, s16, u32);
|
||||
void MoveCoords(u8, s16 *, s16 *);
|
||||
bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
|
||||
u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
|
||||
u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z);
|
||||
|
||||
// Exported data declarations
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_FIELDMAPOBJHELP_H
|
||||
#define GUARD_FIELDMAPOBJHELP_H
|
||||
|
||||
void UnfreezeMapObjects(void);
|
||||
void sub_8097B78(u8, u8);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_FIELD_MESSAGE_BOX_H
|
||||
#define GUARD_FIELD_MESSAGE_BOX_H
|
||||
|
||||
bool8 ShowFieldMessage(const u8 *message);
|
||||
bool8 sub_8098238(const u8 *message);
|
||||
bool8 ShowFieldAutoScrollMessage(const u8 *message);
|
||||
void HideFieldMessageBox(void);
|
||||
bool8 IsFieldMessageBoxHidden(void);
|
||||
|
||||
#endif // GUARD_FIELD_MESSAGE_BOX_H
|
||||
@@ -1,7 +1,3 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/6/17.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELD_PLAYER_AVATAR_H
|
||||
#define GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
@@ -14,4 +10,6 @@ u8 player_get_direction_lower_nybble(void);
|
||||
u8 player_get_direction_upper_nybble(void);
|
||||
u8 player_get_x22(void);
|
||||
|
||||
void sub_808D074(u8);
|
||||
|
||||
#endif //GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_FIELD_SCREEN_H
|
||||
#define GUARD_FIELD_SCREEN_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void pal_fill_black(void);
|
||||
bool8 sub_80ABDFC(void);
|
||||
|
||||
#endif //GUARD_FIELD_SCREEN_H
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_FIELD_SCREEN_EFFECT_H
|
||||
#define GUARD_FIELD_SCREEN_EFFECT_H
|
||||
|
||||
void sub_80AF79C(void);
|
||||
void sub_80B009C(u8);
|
||||
void sub_80B0244(void);
|
||||
|
||||
#endif // GUARD_FIELD_SCREEN_EFFECT_H
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_FIELD_SPECIALS_H
|
||||
#define GUARD_FIELD_SPECIALS_H
|
||||
|
||||
u8 GetLeadMonIndex(void);
|
||||
|
||||
#endif // GUARD_FIELD_SPECIALS_H
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_FIELD_TASKS_H
|
||||
#define GUARD_FIELD_TASKS_H
|
||||
|
||||
void ActivatePerStepCallback(u8);
|
||||
|
||||
#endif // GUARD_FIELD_TASKS_H
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_WEATHER_H
|
||||
#define GUARD_WEATHER_H
|
||||
|
||||
void fade_screen(u8, s8);
|
||||
|
||||
void SetSav1Weather(u32);
|
||||
u8 GetSav1Weather(void);
|
||||
void sub_80AEDBC(void);
|
||||
|
||||
void DoCurrentWeather(void);
|
||||
|
||||
#endif // GUARD_WEATHER_H
|
||||
+9
-9
@@ -1,19 +1,19 @@
|
||||
//
|
||||
// Created by scott on 9/16/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELDMAP_H
|
||||
#define GUARD_FIELDMAP_H
|
||||
|
||||
// Exported type declarations
|
||||
extern struct MapCoords {
|
||||
int width;
|
||||
int height;
|
||||
} gUnknown_03005DC0;
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 MapGridGetMetatileBehaviorAt(s16, s16);
|
||||
u32 MapGridGetMetatileIdAt(int, int);
|
||||
u32 MapGridGetMetatileBehaviorAt(int, int);
|
||||
void MapGridSetMetatileIdAt(int, int, u16);
|
||||
void MapGridSetMetatileEntryAt(int, int, u16);
|
||||
void GetCameraCoords(u16*, u16*);
|
||||
bool8 MapGridIsImpassableAt(s16, s16);
|
||||
s32 GetMapBorderIdAt(s16, s16);
|
||||
bool32 CanCameraMoveInDirection(u8);
|
||||
u16 GetBehaviorByMetatileId(u16 metatileId);
|
||||
|
||||
#endif //GUARD_FIELDMAP_H
|
||||
|
||||
+17
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
#define TRAINER_FLAG_START 0x500
|
||||
#define TRAINERS_FLAG_NO 0x356
|
||||
#define CODE_FLAGS (TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA)
|
||||
#define CODE_FLAGS (TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
|
||||
|
||||
// SYSTEM FLAGS
|
||||
|
||||
@@ -84,6 +84,22 @@
|
||||
#define SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61
|
||||
#define SYS_RESET_RTC_ENABLE CODE_FLAGS + 0x62
|
||||
|
||||
#define SYS_TOWER_SILVER CODE_FLAGS + 0x64
|
||||
#define SYS_TOWER_GOLD CODE_FLAGS + 0x65
|
||||
#define SYS_DOME_SILVER CODE_FLAGS + 0x66
|
||||
#define SYS_DOME_GOLD CODE_FLAGS + 0x67
|
||||
#define SYS_PALACE_SILVER CODE_FLAGS + 0x68
|
||||
#define SYS_PALACE_GOLD CODE_FLAGS + 0x69
|
||||
#define SYS_ARENA_SILVER CODE_FLAGS + 0x6A
|
||||
#define SYS_ARENA_GOLD CODE_FLAGS + 0x6B
|
||||
#define SYS_FACTORY_SILVER CODE_FLAGS + 0x6C
|
||||
#define SYS_FACTORY_GOLD CODE_FLAGS + 0x6D
|
||||
#define SYS_PIKE_SILVER CODE_FLAGS + 0x6E
|
||||
#define SYS_PIKE_GOLD CODE_FLAGS + 0x6F
|
||||
#define SYS_PYRAMID_SILVER CODE_FLAGS + 0x70
|
||||
#define SYS_PYRAMID_GOLD CODE_FLAGS + 0x71
|
||||
#define SYS_FRONTIER_PASS CODE_FLAGS + 0x72
|
||||
|
||||
#define SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77
|
||||
|
||||
#define SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B
|
||||
|
||||
@@ -56,4 +56,7 @@
|
||||
|
||||
#define NUM_GAME_STATS 64
|
||||
|
||||
void IncrementGameStat(u8);
|
||||
u32 GetGameStat(u8);
|
||||
|
||||
#endif // GUARD_GAME_STAT_H
|
||||
|
||||
@@ -65,6 +65,7 @@ u16 ReadFlashId(void);
|
||||
void StartFlashTimer(u8 phase);
|
||||
void SetReadFlash1(u16 *dest);
|
||||
void StopFlashTimer(void);
|
||||
void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size);
|
||||
|
||||
u16 WaitForFlashWrite_Common(u8 phase, u8 *addr, u8 lastData);
|
||||
|
||||
|
||||
@@ -137,6 +137,8 @@
|
||||
#define REG_OFFSET_DMA3CNT_H 0xde
|
||||
|
||||
#define REG_OFFSET_TMCNT 0x100
|
||||
#define REG_OFFSET_TMCNT_L 0x100
|
||||
#define REG_OFFSET_TMCNT_H 0x102
|
||||
#define REG_OFFSET_TM0CNT 0x100
|
||||
#define REG_OFFSET_TM0CNT_L 0x100
|
||||
#define REG_OFFSET_TM0CNT_H 0x102
|
||||
@@ -298,6 +300,8 @@
|
||||
#define REG_ADDR_DMA3CNT_H (REG_BASE + REG_OFFSET_DMA3CNT_H)
|
||||
|
||||
#define REG_ADDR_TMCNT (REG_BASE + REG_OFFSET_TMCNT)
|
||||
#define REG_ADDR_TMCNT_L (REG_BASE + REG_OFFSET_TMCNT_L)
|
||||
#define REG_ADDR_TMCNT_H (REG_BASE + REG_OFFSET_TMCNT_H)
|
||||
#define REG_ADDR_TM0CNT (REG_BASE + REG_OFFSET_TM0CNT)
|
||||
#define REG_ADDR_TM0CNT_L (REG_BASE + REG_OFFSET_TM0CNT_L)
|
||||
#define REG_ADDR_TM0CNT_H (REG_BASE + REG_OFFSET_TM0CNT_H)
|
||||
@@ -458,6 +462,8 @@
|
||||
#define REG_DMA3CNT_H (*(vu16 *)REG_ADDR_DMA3CNT_H)
|
||||
|
||||
#define REG_TMCNT(n) (*(vu16 *)(REG_ADDR_TMCNT + ((n) * 4)))
|
||||
#define REG_TMCNT_L(n) (*(vu16 *)(REG_ADDR_TMCNT_L + ((n) * 4)))
|
||||
#define REG_TMCNT_H(n) (*(vu16 *)(REG_ADDR_TMCNT_H + ((n) * 4)))
|
||||
#define REG_TM0CNT (*(vu32 *)REG_ADDR_TM0CNT)
|
||||
#define REG_TM0CNT_L (*(vu16 *)REG_ADDR_TM0CNT_L)
|
||||
#define REG_TM0CNT_H (*(vu16 *)REG_ADDR_TM0CNT_H)
|
||||
@@ -521,6 +527,8 @@
|
||||
#define DISPSTAT_HBLANK_INTR 0x0010 // H-Blank interrupt enabled
|
||||
#define DISPSTAT_VCOUNT_INTR 0x0020 // V-Count interrupt enabled
|
||||
|
||||
// BLDCNT
|
||||
|
||||
// SOUNDCNT_H
|
||||
#define SOUND_CGB_MIX_QUARTER 0x0000
|
||||
#define SOUND_CGB_MIX_HALF 0x0001
|
||||
|
||||
@@ -86,4 +86,14 @@
|
||||
dmaRegs[5]; \
|
||||
}
|
||||
|
||||
#define IntrEnable(flags) \
|
||||
{ \
|
||||
u16 imeTemp; \
|
||||
\
|
||||
imeTemp = REG_IME; \
|
||||
REG_IME = 0; \
|
||||
REG_IE |= flags; \
|
||||
REG_IME = imeTemp; \
|
||||
} \
|
||||
|
||||
#endif // GUARD_GBA_MACRO_H
|
||||
|
||||
+7
-7
@@ -39,18 +39,18 @@ struct PlttData
|
||||
struct OamData
|
||||
{
|
||||
/*0x00*/ u32 y:8;
|
||||
/*0x01*/ u32 affineMode:2;
|
||||
u32 objMode:2;
|
||||
u32 mosaic:1;
|
||||
u32 bpp:1;
|
||||
u32 shape:2;
|
||||
/*0x01*/ u32 affineMode:2; // 0x1, 0x2 -> 0x4
|
||||
u32 objMode:2; // 0x4, 0x8 -> 0xC
|
||||
u32 mosaic:1; // 0x10
|
||||
u32 bpp:1; // 0x20
|
||||
u32 shape:2; // 0x40, 0x80 -> 0xC0
|
||||
|
||||
/*0x02*/ u32 x:9;
|
||||
u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode
|
||||
u32 size:2;
|
||||
|
||||
/*0x04*/ u16 tileNum:10;
|
||||
u16 priority:2;
|
||||
/*0x04*/ u16 tileNum:10; // 0x33F
|
||||
u16 priority:2; // 0x400, 0x800 -> 0xC00
|
||||
u16 paletteNum:4;
|
||||
/*0x06*/ u16 affineParam;
|
||||
};
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
#ifndef GUARD_GLOBAL_BERRY_H
|
||||
#define GUARD_GLOBAL_BERRY_H
|
||||
|
||||
#define BERRY_NAME_COUNT 7
|
||||
#define BERRY_ITEM_EFFECT_COUNT 18
|
||||
|
||||
struct Berry
|
||||
{
|
||||
const u8 name[7];
|
||||
const u8 name[BERRY_NAME_COUNT];
|
||||
u8 firmness;
|
||||
u16 size;
|
||||
u8 maxYield;
|
||||
@@ -23,7 +26,7 @@ struct Berry
|
||||
|
||||
struct Berry2
|
||||
{
|
||||
u8 name[7];
|
||||
u8 name[BERRY_NAME_COUNT];
|
||||
u8 firmness;
|
||||
u16 size;
|
||||
u8 maxYield;
|
||||
@@ -42,7 +45,7 @@ struct Berry2
|
||||
struct EnigmaBerry
|
||||
{
|
||||
struct Berry2 berry;
|
||||
u8 itemEffect[18];
|
||||
u8 itemEffect[BERRY_ITEM_EFFECT_COUNT];
|
||||
u8 holdEffect;
|
||||
u8 holdEffectParam;
|
||||
u32 checksum;
|
||||
@@ -50,9 +53,9 @@ struct EnigmaBerry
|
||||
|
||||
struct BattleEnigmaBerry
|
||||
{
|
||||
/*0x00*/ u8 name[7];
|
||||
/*0x00*/ u8 name[BERRY_NAME_COUNT];
|
||||
/*0x07*/ u8 holdEffect;
|
||||
/*0x08*/ u8 itemEffect[18];
|
||||
/*0x08*/ u8 itemEffect[BERRY_ITEM_EFFECT_COUNT];
|
||||
/*0x1A*/ u8 holdEffectParam;
|
||||
};
|
||||
|
||||
|
||||
+65
-277
@@ -12,8 +12,10 @@
|
||||
#define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided")
|
||||
|
||||
#if defined (__APPLE__) || defined (__CYGWIN__)
|
||||
void memset(void *, int, size_t);
|
||||
void memcpy(void *, const void *, size_t);
|
||||
void *memset(void *, int, size_t);
|
||||
void *memcpy(void *, const void *, size_t);
|
||||
int strcmp(const char *s1, const char *s2);
|
||||
char* strcpy(char *dst0, const char *src0);
|
||||
#endif // __APPLE__
|
||||
|
||||
#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0]))
|
||||
@@ -197,10 +199,24 @@ struct SaveBlock2
|
||||
|
||||
// All below could be a one giant struct
|
||||
|
||||
/*0x64C*/ u8 field_64C[1629];
|
||||
/*0xCA9*/ u8 frontierChosenLvl : 2;
|
||||
/*0xCA9*/ u8 field_CA9_a : 6;
|
||||
/*0xCAA*/ u8 field_CAA[368];
|
||||
/*0x64C*/ u8 field_64C[0x588];
|
||||
/*0xBD4*/ u16 field_BD4;
|
||||
/*0xBD6*/ u16 field_BD6;
|
||||
/*0xBD8*/ u8 field_BD8[11];
|
||||
/*0xBE3*/ u8 filler_BE3[8];
|
||||
/*0xBEB*/ u8 field_BEB;
|
||||
/*0xBE3*/ u8 filler_BEC[189];
|
||||
/*0xCA9*/ u8 frontierChosenLvl : 2; // 0x1, 0x2 -> 0x3
|
||||
/*0xCA9*/ u8 field_CA9_a : 1; // 0x4
|
||||
/*0xCA9*/ u8 field_CA9_b : 1; // 0x8
|
||||
/*0xCA9*/ u8 field_CA9_c : 1; // 0x10
|
||||
/*0xCA9*/ u8 field_CA9_d : 1; // 0x20
|
||||
/*0xCA9*/ u8 field_CA9_e : 1; // 0x40
|
||||
/*0xCA9*/ u8 field_CA9_f : 1; // 0x80
|
||||
/*0xCAA*/ u16 field_CAA[0x2e];
|
||||
/*0xD06*/ u8 field_D06;
|
||||
/*0xD07*/ u8 field_D07;
|
||||
/*0xd08*/ u8 filler_D08[0x112];
|
||||
/*0xE1A*/ u16 battlePyramidFloor; // possibly?
|
||||
/*0xE1C*/ u8 field_E1C[16];
|
||||
/*0xE2C*/ struct PyramidBag pyramidBag;
|
||||
@@ -220,29 +236,31 @@ extern struct SaveBlock2 *gSaveBlock2Ptr;
|
||||
|
||||
struct SecretBaseRecord
|
||||
{
|
||||
/*ID?*/ /*0x1A08*/ u8 sbr_field_0;
|
||||
/*0x1A09*/ u8 sbr_field_1_0:4;
|
||||
/*0x1A09*/ u8 gender:1;
|
||||
/*0x1A09*/ u8 sbr_field_1_5:1;
|
||||
/*0x1A09*/ u8 sbr_field_1_6:2;
|
||||
/*0x1A0A*/ u8 sbr_field_2[7]; // 0xFF bytes?
|
||||
/*0x1A12*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
|
||||
/*0x1A16*/ u16 sbr_field_e;
|
||||
/*0x1A18*/ u8 sbr_field_10;
|
||||
/*0x1A19*/ u8 sbr_field_11;
|
||||
/*0x1A1A*/ u8 decorations[16];
|
||||
/*0x1A2A*/ u8 decorationPos[16];
|
||||
/*0x1A3A*/ u32 partyPersonality[6];
|
||||
/*0x1A54*/ u16 partyMoves[6 * 4];
|
||||
/*0x1A84*/ u16 partySpecies[6];
|
||||
/*0x1A90*/ u16 partyHeldItems[6];
|
||||
/*0x1A9C*/ u8 partyLevels[6];
|
||||
/*0x1AA2*/ u8 partyEVs[6];
|
||||
/*ID?*/ /*0x1A9C*/ u8 sbr_field_0;
|
||||
/*0x1A9D*/ u8 sbr_field_1_0:4;
|
||||
/*0x1A9D*/ u8 gender:1;
|
||||
/*0x1A9D*/ u8 sbr_field_1_5:1;
|
||||
/*0x1A9D*/ u8 sbr_field_1_6:2;
|
||||
/*0x1A9E*/ u8 trainerName[7]; // 0xFF bytes?
|
||||
/*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
|
||||
/*0x1AA9*/ u8 language;
|
||||
/*0x1AAA*/ u16 sbr_field_e;
|
||||
/*0x1AAC*/ u8 sbr_field_10;
|
||||
/*0x1AAD*/ u8 sbr_field_11;
|
||||
/*0x1AAE*/ u8 decorations[16];
|
||||
/*0x1ABE*/ u8 decorationPos[16];
|
||||
/*0x1ACE*/ u32 partyPersonality[6];
|
||||
/*0x1AE6*/ u16 partyMoves[6 * 4];
|
||||
/*0x1B16*/ u16 partySpecies[6];
|
||||
/*0x1B22*/ u16 partyHeldItems[6];
|
||||
/*0x1B2E*/ u8 partyLevels[6];
|
||||
/*0x1B34*/ u8 partyEVs[6];
|
||||
};
|
||||
|
||||
#include "game_stat.h"
|
||||
#include "global.fieldmap.h"
|
||||
#include "global.berry.h"
|
||||
#include "global.tv.h"
|
||||
#include "pokemon.h"
|
||||
|
||||
struct WarpData
|
||||
@@ -311,218 +329,6 @@ struct EasyChatPair
|
||||
u16 words[2];
|
||||
}; /*size = 0x8*/
|
||||
|
||||
struct TVShowCommon
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 pad02[20];
|
||||
/*0x16*/ u16 var16[3];
|
||||
/*0x1C*/ u8 srcTrainerId3Lo;
|
||||
/*0x1D*/ u8 srcTrainerId3Hi;
|
||||
/*0x1E*/ u8 srcTrainerId2Lo;
|
||||
/*0x1F*/ u8 srcTrainerId2Hi;
|
||||
/*0x20*/ u8 srcTrainerIdLo;
|
||||
/*0x21*/ u8 srcTrainerIdHi;
|
||||
/*0x22*/ u8 trainerIdLo;
|
||||
/*0x23*/ u8 trainerIdHi;
|
||||
};
|
||||
|
||||
struct TVShowFanClubLetter
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u16 pad04[6];
|
||||
/*0x10*/ u8 playerName[8];
|
||||
/*0x18*/ u8 language;
|
||||
};
|
||||
|
||||
struct TVShowRecentHappenings
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 var02;
|
||||
/*0x04*/ u16 var04[6];
|
||||
/*0x10*/ u8 playerName[8];
|
||||
/*0x18*/ u8 language;
|
||||
/*0x19*/ u8 pad19[10];
|
||||
};
|
||||
|
||||
struct TVShowFanclubOpinions
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 var02;
|
||||
/*0x04*/ u8 var04A:4;
|
||||
/*0x04*/ u8 var04B:4;
|
||||
/*0x05*/ u8 playerName[8];
|
||||
/*0x0D*/ u8 language;
|
||||
/*0x0E*/ u8 var0E;
|
||||
/*0x0F*/ u8 var0F;
|
||||
/*0x10*/ u8 var10[8];
|
||||
/*0x18*/ u16 var18[2];
|
||||
/*0x1C*/ u16 var1C[4];
|
||||
};
|
||||
|
||||
struct TVShowUnknownType04
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 pad02[4];
|
||||
/*0x06*/ u16 var06;
|
||||
};
|
||||
|
||||
struct TVShowNameRaterShow
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u8 pokemonName[11];
|
||||
/*0x0F*/ u8 trainerName[11];
|
||||
/*0x1A*/ u8 random;
|
||||
/*0x1B*/ u8 random2;
|
||||
/*0x1C*/ u16 var1C;
|
||||
/*0x1E*/ u8 language;
|
||||
/*0x1F*/ u8 pokemonNameLanguage;
|
||||
};
|
||||
|
||||
struct TVShowBravoTrainerPokemonProfiles
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u16 var04[2];
|
||||
/*0x08*/ u8 pokemonNickname[11];
|
||||
/*0x13*/ u8 contestCategory:3;
|
||||
/*0x13*/ u8 contestRank:2;
|
||||
/*0x13*/ u8 contestResult:2;
|
||||
/*0x13*/ u8 var13_7:1;
|
||||
/*0x14*/ u16 var14;
|
||||
/*0x16*/ u8 playerName[8];
|
||||
/*0x1E*/ u8 language;
|
||||
/*0x1F*/ u8 var1f;
|
||||
};
|
||||
|
||||
struct TVShowBravoTrainerBattleTowerSpotlight
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 trainerName[8];
|
||||
/*0x0A*/ u16 species;
|
||||
/*0x0C*/ u8 pokemonName[8];
|
||||
/*0x14*/ u16 defeatedSpecies;
|
||||
/*0x16*/ u16 var16;
|
||||
/*0x18*/ u16 var18[1];
|
||||
/*0x1A*/ u8 btLevel;
|
||||
/*0x1B*/ u8 var1b;
|
||||
/*0x1C*/ u8 var1c;
|
||||
/*0x1D*/ u8 language;
|
||||
};
|
||||
|
||||
struct TVShowPokemonToday
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 language;
|
||||
/*0x03*/ u8 language2;
|
||||
/*0x04*/ u8 nickname[11];
|
||||
/*0x0F*/ u8 ball;
|
||||
/*0x10*/ u16 species;
|
||||
/*0x12*/ u8 var12;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowSmartShopper
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 priceReduced;
|
||||
/*0x03*/ u8 language;
|
||||
/*0x04*/ u8 pad04[2];
|
||||
/*0x06*/ u16 itemIds[3];
|
||||
/*0x0C*/ u16 itemAmounts[3];
|
||||
/*0x12*/ u8 shopLocation;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowPokemonTodayFailed
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 language;
|
||||
/*0x03*/ u8 pad03[9];
|
||||
/*0x0c*/ u16 species;
|
||||
/*0x0e*/ u16 species2;
|
||||
/*0x10*/ u8 var10;
|
||||
/*0x11*/ u8 var11;
|
||||
/*0x12*/ u8 var12;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowPokemonAngler
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 var02;
|
||||
/*0x03*/ u8 var03;
|
||||
/*0x04*/ u16 var04;
|
||||
/*0x06*/ u8 language;
|
||||
u8 pad07[12];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowWorldOfMasters
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 var02;
|
||||
/*0x04*/ u16 var04;
|
||||
/*0x06*/ u16 var06;
|
||||
/*0x08*/ u16 var08;
|
||||
/*0x0a*/ u8 var0a;
|
||||
/*0x0b*/ u8 language;
|
||||
u8 pad0c[7];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowMassOutbreak
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 var02;
|
||||
/*0x03*/ u8 var03;
|
||||
/*0x04*/ u16 moves[4];
|
||||
/*0x0C*/ u16 species;
|
||||
/*0x0E*/ u16 var0E;
|
||||
/*0x10*/ u8 locationMapNum;
|
||||
/*0x11*/ u8 locationMapGroup;
|
||||
/*0x12*/ u8 var12;
|
||||
/*0x13*/ u8 probability;
|
||||
/*0x14*/ u8 level;
|
||||
/*0x15*/ u8 var15;
|
||||
/*0x16*/ u16 var16;
|
||||
/*0x18*/ u8 language;
|
||||
u8 pad19[11];
|
||||
};
|
||||
|
||||
typedef union TVShow
|
||||
{
|
||||
struct TVShowCommon common;
|
||||
struct TVShowFanClubLetter fanclubLetter;
|
||||
struct TVShowRecentHappenings recentHappenings;
|
||||
struct TVShowFanclubOpinions fanclubOpinions;
|
||||
struct TVShowUnknownType04 unkShow04;
|
||||
struct TVShowNameRaterShow nameRaterShow;
|
||||
struct TVShowBravoTrainerPokemonProfiles bravoTrainer;
|
||||
struct TVShowBravoTrainerBattleTowerSpotlight bravoTrainerTower;
|
||||
struct TVShowPokemonToday pokemonToday;
|
||||
struct TVShowSmartShopper smartshopperShow;
|
||||
struct TVShowPokemonTodayFailed pokemonTodayFailed;
|
||||
struct TVShowPokemonAngler pokemonAngler;
|
||||
struct TVShowWorldOfMasters worldOfMasters;
|
||||
struct TVShowMassOutbreak massOutbreak;
|
||||
} TVShow;
|
||||
|
||||
struct MailStruct
|
||||
{
|
||||
/*0x00*/ u16 words[9];
|
||||
@@ -570,35 +376,6 @@ typedef union OldMan
|
||||
u8 filler[0x40];
|
||||
} OldMan;
|
||||
|
||||
struct UnknownSaveStruct2ABC
|
||||
{
|
||||
u8 val0;
|
||||
u8 val1;
|
||||
u16 val2;
|
||||
};
|
||||
|
||||
struct GabbyAndTyData
|
||||
{
|
||||
/*2ba4*/ u16 mon1;
|
||||
/*2ba6*/ u16 mon2;
|
||||
/*2ba8*/ u16 lastMove;
|
||||
/*2baa*/ u16 quote;
|
||||
/*2bac*/ u8 mapnum;
|
||||
/*2bad*/ u8 battleNum;
|
||||
/*2bae*/ u8 valA_0:1;
|
||||
/*2bae*/ u8 valA_1:1;
|
||||
/*2bae*/ u8 valA_2:1;
|
||||
/*2bae*/ u8 valA_3:1;
|
||||
/*2bae*/ u8 valA_4:1;
|
||||
/*2bae*/ u8 valA_5:3;
|
||||
/*2baf*/ u8 valB_0:1;
|
||||
/*2baf*/ u8 valB_1:1;
|
||||
/*2baf*/ u8 valB_2:1;
|
||||
/*2baf*/ u8 valB_3:1;
|
||||
/*2baf*/ u8 valB_4:1;
|
||||
/*2baf*/ u8 valB_5:3;
|
||||
};
|
||||
|
||||
struct RecordMixing_UnknownStructSub
|
||||
{
|
||||
u32 unk0;
|
||||
@@ -725,6 +502,16 @@ typedef union // TODO
|
||||
u8 id;
|
||||
} LilycoveLady;
|
||||
|
||||
struct WaldaPhrase
|
||||
{
|
||||
u16 field_0;
|
||||
u16 field_2;
|
||||
u8 text[16];
|
||||
u8 iconId;
|
||||
u8 patternId;
|
||||
bool8 patternUnlocked;
|
||||
};
|
||||
|
||||
struct SaveBlock1
|
||||
{
|
||||
/*0x00*/ struct Coords16 pos;
|
||||
@@ -775,17 +562,17 @@ struct SaveBlock1
|
||||
/*0x????*/ u8 decorCushion[10];
|
||||
/*0x27CA*/ u8 padding_27CA[2];
|
||||
/*0x27CC*/ TVShow tvShows[25];
|
||||
/*0x2B50*/ struct UnknownSaveStruct2ABC pokeNews[16];
|
||||
/*0x2B50*/ PokeNews pokeNews[16];
|
||||
/*0x2B90*/ u16 outbreakPokemonSpecies;
|
||||
/*0x????*/ u8 outbreakLocationMapNum;
|
||||
/*0x????*/ u8 outbreakLocationMapGroup;
|
||||
/*0x????*/ u8 outbreakPokemonLevel;
|
||||
/*0x????*/ u8 outbreakUnk1;
|
||||
/*0x????*/ u16 outbreakUnk2;
|
||||
/*0x????*/ u16 outbreakPokemonMoves[4];
|
||||
/*0x????*/ u8 outbreakUnk4;
|
||||
/*0x????*/ u8 outbreakPokemonProbability;
|
||||
/*0x????*/ u16 outbreakUnk5;
|
||||
/*0x2B92*/ u8 outbreakLocationMapNum;
|
||||
/*0x2B93*/ u8 outbreakLocationMapGroup;
|
||||
/*0x2B94*/ u8 outbreakPokemonLevel;
|
||||
/*0x2B95*/ u8 outbreakUnk1;
|
||||
/*0x2B96*/ u16 outbreakUnk2;
|
||||
/*0x2B98*/ u16 outbreakPokemonMoves[4];
|
||||
/*0x2BA0*/ u8 outbreakUnk4;
|
||||
/*0x2BA1*/ u8 outbreakPokemonProbability;
|
||||
/*0x2BA2*/ u16 outbreakDaysLeft;
|
||||
/*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData;
|
||||
/*0x2BB0*/ u16 unk2BB0[6];
|
||||
/*0x2BBC*/ u16 unk2BBC[6];
|
||||
@@ -800,7 +587,8 @@ struct SaveBlock1
|
||||
/*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum
|
||||
/*0x3030*/ struct DaycareData daycare;
|
||||
/*0x3150*/ struct LinkBattleRecord linkBattleRecords[5];
|
||||
/*0x31A0*/ u8 filler_31A0[8];
|
||||
/*0x31A0*/ u8 unk_31A0;
|
||||
/*0x31A1*/ u8 filler_31A1[7];
|
||||
/*0x31A8*/ u8 giftRibbons[52];
|
||||
/*0x31DC*/ struct Roamer roamer;
|
||||
/*0x31F8*/ struct EnigmaBerry enigmaBerry;
|
||||
@@ -810,7 +598,7 @@ struct SaveBlock1
|
||||
/*0x3B24*/ u8 seen2[52];
|
||||
/*0x3B58*/ LilycoveLady lilycoveLady;
|
||||
/*0x3B88*/ u8 filler_3B88[0x1E8];
|
||||
/*0x3D70*/ u8 babyPhrase[24]; // TODO: convert to a struct
|
||||
/*0x3D70*/ struct WaldaPhrase waldaPhrase;
|
||||
// sizeof: 0x3D88
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,535 @@
|
||||
#ifndef GUARD_GLOBAL_TV_H
|
||||
#define GUARD_GLOBAL_TV_H
|
||||
|
||||
enum
|
||||
{
|
||||
TVSHOW_OFF_AIR,
|
||||
|
||||
TVSHOW_FAN_CLUB_LETTER = 1,
|
||||
TVSHOW_RECENT_HAPPENINGS,
|
||||
TVSHOW_PKMN_FAN_CLUB_OPINIONS,
|
||||
TVSHOW_UNKN_SHOWTYPE_04,
|
||||
TVSHOW_NAME_RATER_SHOW,
|
||||
TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE,
|
||||
TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE,
|
||||
TVSHOW_CONTEST_LIVE_UPDATES,
|
||||
TVSHOW_3_CHEERS_FOR_POKEBLOCKS,
|
||||
TVSHOW_BATTLE_UPDATE,
|
||||
TVSHOW_FAN_CLUB_SPECIAL,
|
||||
TVSHOW_CONTEST_LIVE_UPDATES_2,
|
||||
|
||||
TVSHOW_POKEMON_TODAY_CAUGHT = 21,
|
||||
TVSHOW_SMART_SHOPPER,
|
||||
TVSHOW_POKEMON_TODAY_FAILED,
|
||||
TVSHOW_FISHING_ADVICE,
|
||||
TVSHOW_WORLD_OF_MASTERS,
|
||||
TVSHOW_TODAYS_RIVAL_TRAINER,
|
||||
TVSHOW_TREND_WATCHER,
|
||||
TVSHOW_TREASURE_INVESTIGATORS,
|
||||
TVSHOW_FIND_THAT_GAMER,
|
||||
TVSHOW_BREAKING_NEWS,
|
||||
TVSHOW_SECRET_BASE_VISIT,
|
||||
TVSHOW_LOTTO_WINNER,
|
||||
TVSHOW_BATTLE_SEMINAR,
|
||||
TVSHOW_TRAINER_FAN_CLUB,
|
||||
TVSHOW_CUTIES,
|
||||
TVSHOW_FRONTIER,
|
||||
TVSHOW_NUMBER_ONE,
|
||||
TVSHOW_SECRET_BASE_SECRETS,
|
||||
TVSHOW_SAFARI_FAN_CLUB,
|
||||
|
||||
TVSHOW_MASS_OUTBREAK = 41,
|
||||
};
|
||||
|
||||
typedef union // size = 0x24
|
||||
{
|
||||
// Common
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 pad02[26];
|
||||
/*0x1C*/ u8 srcTrainerId3Lo;
|
||||
/*0x1D*/ u8 srcTrainerId3Hi;
|
||||
/*0x1E*/ u8 srcTrainerId2Lo;
|
||||
/*0x1F*/ u8 srcTrainerId2Hi;
|
||||
/*0x20*/ u8 srcTrainerIdLo;
|
||||
/*0x21*/ u8 srcTrainerIdHi;
|
||||
/*0x22*/ u8 trainerIdLo;
|
||||
/*0x23*/ u8 trainerIdHi;
|
||||
} common;
|
||||
|
||||
// Local shows
|
||||
// TVSHOW_FAN_CLUB_LETTER
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u16 words[6];
|
||||
/*0x10*/ u8 playerName[8];
|
||||
/*0x18*/ u8 language;
|
||||
} fanclubLetter;
|
||||
|
||||
// TVSHOW_RECENT_HAPPENINGS
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 var02;
|
||||
/*0x04*/ u16 words[6];
|
||||
/*0x10*/ u8 playerName[8];
|
||||
/*0x18*/ u8 language;
|
||||
} recentHappenings;
|
||||
|
||||
// TVSHOW_PKMN_FAN_CLUB_OPINIONS
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u8 friendshipHighNybble:4;
|
||||
/*0x04*/ u8 questionAsked:4;
|
||||
/*0x05*/ u8 playerName[8];
|
||||
/*0x0D*/ u8 language;
|
||||
/*0x0E*/ u8 pokemonNameLanguage;
|
||||
/*0x0F*/ u8 filler_0F[1];
|
||||
/*0x10*/ u8 nickname[8];
|
||||
/*0x18*/ u8 filler_18[4];
|
||||
/*0x1C*/ u16 words[4];
|
||||
} fanclubOpinions;
|
||||
|
||||
// TVSHOW_UNKN_SHOWTYPE_04 (dummied out)
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 pad02[4];
|
||||
/*0x06*/ u16 var06;
|
||||
/*0x08*/ u8 pad_08[3];
|
||||
/*0x0b*/ u8 string_0b[12];
|
||||
/*0x17*/ u8 language;
|
||||
} unkShow04;
|
||||
|
||||
// TVSHOW_NAME_RATER_SHOW
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u8 pokemonName[11];
|
||||
/*0x0F*/ u8 trainerName[11];
|
||||
/*0x1A*/ u8 random;
|
||||
/*0x1B*/ u8 random2;
|
||||
/*0x1C*/ u16 randomSpecies;
|
||||
/*0x1E*/ u8 language;
|
||||
/*0x1F*/ u8 pokemonNameLanguage;
|
||||
} nameRaterShow;
|
||||
|
||||
// TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE (contest)
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u16 words[2];
|
||||
/*0x08*/ u8 pokemonNickname[11];
|
||||
/*0x13*/ u8 contestCategory:3;
|
||||
/*0x13*/ u8 contestRank:2;
|
||||
/*0x13*/ u8 contestResult:2;
|
||||
/*0x14*/ u16 move;
|
||||
/*0x16*/ u8 playerName[8];
|
||||
/*0x1E*/ u8 language;
|
||||
/*0x1F*/ u8 pokemonNameLanguage;
|
||||
} bravoTrainer;
|
||||
|
||||
// TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 trainerName[8];
|
||||
/*0x0A*/ u16 species;
|
||||
/*0x0C*/ u8 pokemonName[8];
|
||||
/*0x14*/ u16 defeatedSpecies;
|
||||
/*0x16*/ u16 numFights;
|
||||
/*0x18*/ u16 words[1];
|
||||
/*0x1A*/ u8 btLevel;
|
||||
/*0x1B*/ u8 interviewResponse;
|
||||
/*0x1C*/ bool8 wonTheChallenge;
|
||||
/*0x1D*/ u8 language;
|
||||
/*0x1E*/ u8 pokemonNameLanguage;
|
||||
} bravoTrainerTower;
|
||||
|
||||
// TVSHOW_CONTEST_LIVE_UPDATES
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 winningSpecies;
|
||||
/*0x04*/ u8 winningTrainerName[8];
|
||||
/*0x0C*/ u8 appealFlags2;
|
||||
/*0x0D*/ u8 round1Rank;
|
||||
/*0x0e*/ u8 round2Rank;
|
||||
/*0x0f*/ u8 appealFlags1;
|
||||
/*0x10*/ u16 move;
|
||||
/*0x12*/ u16 species;
|
||||
/*0x14*/ u8 playerName[8];
|
||||
/*0x1C*/ u8 category;
|
||||
/*0x1D*/ u8 language;
|
||||
/*0x1E*/ u8 winningTrainerLanguage;
|
||||
} contestLiveUpdates;
|
||||
|
||||
// TVSHOW_3_CHEERS_FOR_POKEBLOCKS
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 sheen;
|
||||
/*0x03*/ u8 flavor:3;
|
||||
/*0x03*/ u8 unk_03_3:2;
|
||||
/*0x04*/ u8 worstBlenderName[8];
|
||||
/*0x0C*/ u8 playerName[8];
|
||||
/*0x14*/ u8 language;
|
||||
/*0x15*/ u8 worstBlenderLanguage;
|
||||
} threeCheers;
|
||||
|
||||
// TVSHOW_BATTLE_UPDATE
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u8 playerName[8];
|
||||
/*0x0C*/ u8 linkOpponentName[8];
|
||||
/*0x14*/ u16 move;
|
||||
/*0x16*/ u16 species2;
|
||||
/*0x18*/ u8 battleType;
|
||||
/*0x19*/ u8 language;
|
||||
/*0x1A*/ u8 linkOpponentLanguage;
|
||||
} battleUpdate;
|
||||
|
||||
// TVSHOW_FAN_CLUB_SPECIAL
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 playerName[8];
|
||||
/*0x0a*/ u8 idLo;
|
||||
/*0x0b*/ u8 idHi;
|
||||
/*0x0c*/ u8 idolName[8];
|
||||
/*0x14*/ u16 words[1];
|
||||
/*0x16*/ u8 score;
|
||||
/*0x17*/ u8 language;
|
||||
/*0x18*/ u8 idolNameLanguage;
|
||||
} fanClubSpecial;
|
||||
|
||||
// TVSHOW_CONTEST_LIVE_UPDATES_2
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 playerName[8];
|
||||
/*0x0a*/ u8 contestCategory;
|
||||
/*0x0b*/ u8 nickname[11];
|
||||
/*0x16*/ u8 pokeblockState;
|
||||
/*0x17*/ u8 language;
|
||||
/*0x18*/ u8 pokemonNameLanguage;
|
||||
} contestLiveUpdates2;
|
||||
|
||||
// Record Mixing Shows
|
||||
// TVSHOW_POKEMON_TODAY_CAUGHT
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 language;
|
||||
/*0x03*/ u8 language2;
|
||||
/*0x04*/ u8 nickname[11];
|
||||
/*0x0F*/ u8 ball;
|
||||
/*0x10*/ u16 species;
|
||||
/*0x12*/ u8 nBallsUsed;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} pokemonToday;
|
||||
|
||||
// TVSHOW_SMART_SHOPPER
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 priceReduced;
|
||||
/*0x03*/ u8 language;
|
||||
/*0x04*/ u8 pad04[2];
|
||||
/*0x06*/ u16 itemIds[3];
|
||||
/*0x0C*/ u16 itemAmounts[3];
|
||||
/*0x12*/ u8 shopLocation;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} smartshopperShow;
|
||||
|
||||
// TVSHOW_POKEMON_TODAY_FAILED
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 language;
|
||||
/*0x03*/ u8 pad03[9];
|
||||
/*0x0c*/ u16 species;
|
||||
/*0x0e*/ u16 species2;
|
||||
/*0x10*/ u8 nBallsUsed;
|
||||
/*0x11*/ u8 outcome;
|
||||
/*0x12*/ u8 location;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} pokemonTodayFailed;
|
||||
|
||||
// TVSHOW_FISHING_ADVICE
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 nBites;
|
||||
/*0x03*/ u8 nFails;
|
||||
/*0x04*/ u16 species;
|
||||
/*0x06*/ u8 language;
|
||||
/*0x07*/ u8 pad07[12];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} pokemonAngler;
|
||||
|
||||
// TVSHOW_WORLD_OF_MASTERS
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 numPokeCaught;
|
||||
/*0x04*/ u16 caughtPoke;
|
||||
/*0x06*/ u16 steps;
|
||||
/*0x08*/ u16 species;
|
||||
/*0x0a*/ u8 location;
|
||||
/*0x0b*/ u8 language;
|
||||
/*0x0c*/ u8 pad0c[7];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} worldOfMasters;
|
||||
|
||||
// TVSHOW_TODAYS_RIVAL_TRAINER
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 dexCount;
|
||||
/*0x04*/ u8 badgeCount;
|
||||
/*0x05*/ u8 nSilverSymbols;
|
||||
/*0x06*/ u8 nGoldSymbols;
|
||||
/*0x07*/ u8 location;
|
||||
/*0x08*/ u16 battlePoints;
|
||||
/*0x0a*/ u16 mapDataId;
|
||||
/*0x0c*/ u8 language;
|
||||
/*0x0d*/ u8 filler_0d[6];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} rivalTrainer;
|
||||
|
||||
// TVSHOW_TREND_WATCHER
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 filler_02[2];
|
||||
/*0x04*/ u16 words[2];
|
||||
/*0x08*/ u8 gender;
|
||||
/*0x09*/ u8 language;
|
||||
/*0x0a*/ u8 filler_0a[9];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} trendWatcher;
|
||||
|
||||
// TVSHOW_TREASURE_INVESTIGATORS
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 item;
|
||||
/*0x04*/ u8 location;
|
||||
/*0x05*/ u8 language;
|
||||
/*0x06*/ u16 mapDataId;
|
||||
/*0x08*/ u8 filler_08[11];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} treasureInvestigators;
|
||||
|
||||
// TVSHOW_FIND_THAT_GAMER
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 won;
|
||||
/*0x03*/ u8 whichGame;
|
||||
/*0x04*/ u16 nCoins;
|
||||
/*0x06*/ u8 filler_06[2];
|
||||
/*0x08*/ u8 language;
|
||||
/*0x09*/ u8 filler_09[10];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} findThatGamer;
|
||||
|
||||
// TVSHOW_BREAKING_NEWS
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 lastOpponentSpecies;
|
||||
/*0x04*/ u8 location;
|
||||
/*0x05*/ u8 outcome;
|
||||
/*0x06*/ u16 caughtMonBall;
|
||||
/*0x08*/ u16 balls;
|
||||
/*0x0a*/ u16 poke1Species;
|
||||
/*0x0c*/ u16 lastUsedMove;
|
||||
/*0x0e*/ u8 language;
|
||||
/*0x0f*/ u8 filler_0f[4];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} breakingNews;
|
||||
|
||||
// TVSHOW_SECRET_BASE_VISIT
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 avgLevel;
|
||||
/*0x03*/ u8 nDecorations;
|
||||
/*0x04*/ u8 decorations[4];
|
||||
/*0x08*/ u16 species;
|
||||
/*0x0a*/ u16 move;
|
||||
/*0x0c*/ u8 language;
|
||||
/*0x0d*/ u8 filler_0d[6];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} secretBaseVisit;
|
||||
|
||||
// TVSHOW_LOTTO_WINNER
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 item;
|
||||
/*0x04*/ u8 whichPrize;
|
||||
/*0x05*/ u8 language;
|
||||
/*0x06*/ u8 filler_06[13];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} lottoWinner;
|
||||
|
||||
// TVSHOW_BATTLE_SEMINAR
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 move;
|
||||
/*0x04*/ u16 foeSpecies;
|
||||
/*0x06*/ u16 species;
|
||||
/*0x08*/ u16 otherMoves[3];
|
||||
/*0x0e*/ u16 betterMove;
|
||||
/*0x10*/ u8 nOtherMoves;
|
||||
/*0x11*/ u8 language;
|
||||
/*0x12*/ u8 filler_12[1];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} battleSeminar;
|
||||
|
||||
// TVSHOW_TRAINER_FAN_CLUB
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 filler_02[2];
|
||||
/*0x04*/ u16 words[2];
|
||||
/*0x08*/ u8 language;
|
||||
/*0x09*/ u8 filler_09[10];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} trainerFanClub;
|
||||
|
||||
// TVSHOW_CUTIES
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 nRibbons;
|
||||
/*0x03*/ u8 selectedRibbon;
|
||||
/*0x04*/ u8 nickname[11];
|
||||
/*0x0f*/ u8 language;
|
||||
/*0x10*/ u8 pokemonNameLanguage;
|
||||
/*0x11*/ u8 filler_12[2];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} cuties;
|
||||
|
||||
// TVSHOW_FRONTIER
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 winStreak;
|
||||
/*0x04*/ u16 species1;
|
||||
/*0x06*/ u16 species2;
|
||||
/*0x08*/ u16 species3;
|
||||
/*0x0a*/ u16 species4;
|
||||
/*0x0c*/ u8 language;
|
||||
/*0x0d*/ u8 facility;
|
||||
/*0x0e*/ u8 filler_0e[5];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} frontier;
|
||||
|
||||
// TVSHOW_NUMBER_ONE
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 count;
|
||||
/*0x04*/ u8 actionIdx;
|
||||
/*0x05*/ u8 language;
|
||||
/*0x06*/ u8 filler_06[13];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} numberOne;
|
||||
|
||||
// TVSHOW_SECRET_BASE_SECRETS
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 stepsInBase;
|
||||
/*0x04*/ u8 baseOwnersName[8];
|
||||
/*0x0c*/ u32 flags;
|
||||
/*0x10*/ u16 item;
|
||||
/*0x12*/ u8 savedState;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
/*0x1b*/ u8 language;
|
||||
/*0x1c*/ u8 baseOwnersNameLanguage;
|
||||
} secretBaseSecrets;
|
||||
|
||||
// TVSHOW_SAFARI_FAN_CLUB
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 nMonsCaught;
|
||||
/*0x03*/ u8 nPkblkUsed;
|
||||
/*0x04*/ u8 language;
|
||||
/*0x05*/ u8 filler_05[14];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
} safariFanClub;
|
||||
|
||||
// Mass Outbreak
|
||||
// TVSHOW_MASS_OUTBREAK
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u8 var02;
|
||||
/*0x03*/ u8 var03;
|
||||
/*0x04*/ u16 moves[4];
|
||||
/*0x0C*/ u16 species;
|
||||
/*0x0E*/ u16 var0E;
|
||||
/*0x10*/ u8 locationMapNum;
|
||||
/*0x11*/ u8 locationMapGroup;
|
||||
/*0x12*/ u8 var12;
|
||||
/*0x13*/ u8 probability;
|
||||
/*0x14*/ u8 level;
|
||||
/*0x15*/ u8 var15;
|
||||
/*0x16*/ u16 daysLeft;
|
||||
/*0x18*/ u8 language;
|
||||
} massOutbreak;
|
||||
} TVShow;
|
||||
|
||||
enum {
|
||||
POKENEWS_NONE,
|
||||
POKENEWS_SLATEPORT,
|
||||
POKENEWS_GAME_CORNER,
|
||||
POKENEWS_LILYCOVE,
|
||||
POKENEWS_BLENDMASTER
|
||||
};
|
||||
|
||||
typedef struct // 2b50
|
||||
{
|
||||
u8 kind;
|
||||
u8 state;
|
||||
u16 days;
|
||||
} PokeNews;
|
||||
|
||||
struct GabbyAndTyData
|
||||
{
|
||||
/*2ba4*/ u16 mon1;
|
||||
/*2ba6*/ u16 mon2;
|
||||
/*2ba8*/ u16 lastMove;
|
||||
/*2baa*/ u16 quote[1];
|
||||
/*2bac*/ u8 mapnum;
|
||||
/*2bad*/ u8 battleNum;
|
||||
/*2bae*/ u8 battleTookMoreThanOneTurn:1;
|
||||
/*2bae*/ u8 playerLostAMon:1;
|
||||
/*2bae*/ u8 playerUsedAnItem:1;
|
||||
/*2bae*/ u8 playerThrewABall:1;
|
||||
/*2bae*/ u8 onAir:1;
|
||||
/*2bae*/ u8 valA_5:3;
|
||||
/*2baf*/ u8 battleTookMoreThanOneTurn2:1;
|
||||
/*2baf*/ u8 playerLostAMon2:1;
|
||||
/*2baf*/ u8 playerUsedAnItem2:1;
|
||||
/*2baf*/ u8 playerThrewABall2:1;
|
||||
/*2baf*/ u8 valB_4:4;
|
||||
};
|
||||
|
||||
#endif //GUARD_GLOBAL_TV_H
|
||||
@@ -0,0 +1,95 @@
|
||||
//
|
||||
// Created by scott on 10/21/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_GRAPHICS_H
|
||||
#define GUARD_GRAPHICS_H
|
||||
|
||||
extern const u8 gItemIcon_QuestionMark[];
|
||||
extern const u8 gItemIconPalette_QuestionMark[];
|
||||
extern const u8 gUnknown_08DB7AA0[];
|
||||
extern const u8 gUnknown_08DB7B34[];
|
||||
extern const u8 gUnknown_08DB7B5C[];
|
||||
extern const u8 gUnknown_08DB7BEC[];
|
||||
extern const u8 gUnknown_08DB7C08[];
|
||||
extern const u8 gUnknown_08DB7CE8[];
|
||||
extern const u8 gUnknown_08DB7D08[];
|
||||
extern const u8 gUnknown_08DB7DCC[];
|
||||
extern const u8 gUnknown_08DB7DF4[];
|
||||
extern const u8 gUnknown_08DB7EA0[];
|
||||
extern const u8 gUnknown_08DB7EC4[];
|
||||
extern const u8 gUnknown_08DB7F60[];
|
||||
extern const u8 gUnknown_08DB7F7C[];
|
||||
extern const u8 gUnknown_08DB8070[];
|
||||
extern const u8 gUnknown_08DB808C[];
|
||||
extern const u8 gUnknown_08DB8138[];
|
||||
extern const u8 gUnknown_08DB8160[];
|
||||
extern const u8 gUnknown_08DB8218[];
|
||||
extern const u8 gUnknown_08DB823C[];
|
||||
extern const u8 gUnknown_08DB8300[];
|
||||
extern const u8 gUnknown_08DB8328[];
|
||||
extern const u8 gUnknown_08DB8430[];
|
||||
extern const u8 gUnknown_08DB8458[];
|
||||
extern const u8 gUnknown_08DB8528[];
|
||||
extern const u8 gUnknown_08DB854C[];
|
||||
extern const u8 gUnknown_08DB862C[];
|
||||
extern const u8 gUnknown_08DB8654[];
|
||||
extern const u8 gUnknown_08DB86C4[];
|
||||
extern const u8 gUnknown_08DB86E0[];
|
||||
extern const u8 gUnknown_08DB8750[];
|
||||
extern const u8 gUnknown_08DB876C[];
|
||||
extern const u8 gUnknown_08DB87DC[];
|
||||
extern const u8 gUnknown_08DB87F8[];
|
||||
extern const u8 gUnknown_08DB88D8[];
|
||||
extern const u8 gUnknown_08DB8900[];
|
||||
extern const u8 gUnknown_08DB89E0[];
|
||||
extern const u8 gUnknown_08DB8A08[];
|
||||
extern const u8 gUnknown_08DB8A68[];
|
||||
extern const u8 gUnknown_08DB8A84[];
|
||||
extern const u8 gUnknown_08DB8B40[];
|
||||
extern const u8 gUnknown_08DB8B68[];
|
||||
extern const u8 gUnknown_08DB8C40[];
|
||||
extern const u8 gUnknown_08DB8C5C[];
|
||||
extern const u8 gUnknown_08DB8CF4[];
|
||||
extern const u8 gUnknown_08DB8D18[];
|
||||
extern const u8 gUnknown_08DB8DB0[];
|
||||
extern const u8 gUnknown_08DB8DD4[];
|
||||
extern const u8 gUnknown_08DB8E80[];
|
||||
extern const u8 gUnknown_08DB8EA0[];
|
||||
extern const u8 gUnknown_08DB8F58[];
|
||||
extern const u8 gUnknown_08DB8F7C[];
|
||||
extern const u8 gUnknown_08DB9038[];
|
||||
extern const u8 gUnknown_08DB9058[];
|
||||
extern const u8 gUnknown_08DB9130[];
|
||||
extern const u8 gUnknown_08DB9154[];
|
||||
extern const u8 gUnknown_08DB9218[];
|
||||
extern const u8 gUnknown_08DB9234[];
|
||||
extern const u8 gUnknown_08DB92FC[];
|
||||
extern const u8 gUnknown_08DB931C[];
|
||||
extern const u8 gUnknown_08DB93E8[];
|
||||
extern const u8 gUnknown_08DB940C[];
|
||||
extern const u8 gUnknown_08DB94CC[];
|
||||
extern const u8 gUnknown_08DB94E8[];
|
||||
extern const u8 gUnknown_08DB95AC[];
|
||||
extern const u8 gUnknown_08DB95D0[];
|
||||
extern const u8 gUnknown_08DB96C4[];
|
||||
extern const u8 gUnknown_08DB96EC[];
|
||||
extern const u8 gUnknown_08DB97F4[];
|
||||
extern const u8 gUnknown_08DB981C[];
|
||||
extern const u8 gUnknown_08DB9908[];
|
||||
extern const u8 gUnknown_08DB9930[];
|
||||
extern const u8 gUnknown_08DB9A54[];
|
||||
extern const u8 gUnknown_08DB9A7C[];
|
||||
extern const u8 gUnknown_08DB9B7C[];
|
||||
extern const u8 gUnknown_08DB9BA4[];
|
||||
extern const u8 gUnknown_08DB9CB0[];
|
||||
extern const u8 gUnknown_08DB9CD8[];
|
||||
extern const u8 gUnknown_08DB9DAC[];
|
||||
extern const u8 gUnknown_08DB9DD4[];
|
||||
extern const u8 gUnknown_08DB9EE4[];
|
||||
extern const u8 gUnknown_08DB9F08[];
|
||||
extern const u8 gUnknown_08DB9FFC[];
|
||||
extern const u8 gUnknown_08DBA020[];
|
||||
extern const u8 gUnknown_08DBA12C[];
|
||||
|
||||
#endif //GUARD_GRAPHICS_H
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef GUARD_INTERNATIONAL_STRING_UTIL_H
|
||||
#define GUARD_INTERNATIONAL_STRING_UTIL_H
|
||||
|
||||
#include "menu.h"
|
||||
|
||||
void sub_81DB52C(const u8 *src);
|
||||
void TVShowConvertInternationalString(u8 *dest, const u8 *src, u8 language);
|
||||
s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
|
||||
s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
|
||||
s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
|
||||
s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
|
||||
s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1);
|
||||
s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2);
|
||||
// sub_81DB41C
|
||||
// sub_81DB468
|
||||
// sub_81DB494
|
||||
// sub_81DB4DC
|
||||
// sub_81DB554
|
||||
// sub_81DB5AC
|
||||
u32 sub_81DB604(const u8 *);
|
||||
// sub_81DB620
|
||||
|
||||
#endif // GUARD_INTERNATIONAL_STRING_UTIL_H
|
||||
@@ -31,6 +31,7 @@ extern struct BagPocket gBagPockets[];
|
||||
|
||||
void GetBerryCountString(u8* dst, const u8* berryName, u32 quantity);
|
||||
void CopyItemName(u16 itemId, u8 *string);
|
||||
void CopyItemNameHandlePlural(u16 itemId, u8 *string, u32 quantity);
|
||||
bool8 IsBagPocketNonEmpty(u8 pocket);
|
||||
bool8 CheckBagHasItem(u16 itemId, u16 count);
|
||||
bool8 CheckBagHasSpace(u16 itemId, u16 count);
|
||||
@@ -58,5 +59,6 @@ ItemUseFunc ItemId_GetFieldFunc(u16 itemId);
|
||||
u8 ItemId_GetBattleUsage(u16 itemId);
|
||||
ItemUseFunc ItemId_GetBattleFunc(u16 itemId);
|
||||
u8 ItemId_GetSecondaryId(u16 itemId);
|
||||
u16 itemid_get_market_price(u16 itemId);
|
||||
|
||||
#endif // ITEM_H
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// Created by scott on 10/20/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_ITEM_ICON_H
|
||||
#define GUARD_ITEM_ICON_H
|
||||
|
||||
extern EWRAM_DATA void *gUnknown_0203CEBC;
|
||||
extern EWRAM_DATA void *gUnknown_0203CEC0;
|
||||
|
||||
extern const struct SpriteTemplate gUnknown_08614FF4;
|
||||
|
||||
bool8 AllocItemIconTemporaryBuffers(void);
|
||||
void CopyItemIconPicTo4x4Buffer(void *src, void *dest);
|
||||
void FreeItemIconTemporaryBuffers(void);
|
||||
|
||||
#endif //GUARD_ITEM_ICON_H
|
||||
@@ -0,0 +1,108 @@
|
||||
#include "main.h"
|
||||
|
||||
enum
|
||||
{
|
||||
RFU_RESET = 0x10,
|
||||
RFU_LINK_STATUS,
|
||||
RFU_VERSION_STATUS,
|
||||
RFU_SYSTEM_STATUS,
|
||||
RFU_SLOT_STATUS,
|
||||
RFU_CONFIG_STATUS,
|
||||
RFU_GAME_CONFIG,
|
||||
RFU_SYSTEM_CONFIG,
|
||||
RFU_UNK18,
|
||||
RFU_SC_START,
|
||||
RFU_SC_POLLING,
|
||||
RFU_SC_END,
|
||||
RFU_SP_START,
|
||||
RFU_SP_POLLING,
|
||||
RFU_SP_END,
|
||||
RFU_CP_START,
|
||||
RFU_CP_POLLING,
|
||||
RFU_CP_END,
|
||||
RFU_UNK22,
|
||||
RFU_UNK23,
|
||||
RFU_DATA_TX,
|
||||
RFU_DATA_TX_AND_CHANGE,
|
||||
RFU_DATA_RX,
|
||||
RFU_MS_CHANGE,
|
||||
RFU_DATA_READY_AND_CHANGE,
|
||||
RFU_DISCONNECTED_AND_CHANGE,
|
||||
RFU_UNK2A,
|
||||
RFU_UNK2B,
|
||||
RFU_UNK2C,
|
||||
RFU_UNK2D,
|
||||
RFU_UNK2E,
|
||||
RFU_UNK2F,
|
||||
RFU_DISCONNECT,
|
||||
RFU_TEST_MODE,
|
||||
RFU_CPR_START,
|
||||
RFU_CPR_POLLING,
|
||||
RFU_CPR_END,
|
||||
RFU_UNK35,
|
||||
RFU_UNK36,
|
||||
RFU_RESUME_RETRANSMIT_AND_CHANGE,
|
||||
RFU_UNK38,
|
||||
RFU_UNK39,
|
||||
RFU_UNK3A,
|
||||
RFU_UNK3B,
|
||||
RFU_UNK3C,
|
||||
RFU_STOP_MODE, //3D
|
||||
};
|
||||
|
||||
struct RfuPacket8
|
||||
{
|
||||
u8 data[0x74];
|
||||
};
|
||||
|
||||
struct RfuPacket32
|
||||
{
|
||||
u32 command;
|
||||
u32 data[0x1C];
|
||||
};
|
||||
|
||||
union RfuPacket
|
||||
{
|
||||
struct RfuPacket32 rfuPacket32;
|
||||
struct RfuPacket8 rfuPacket8;
|
||||
};
|
||||
|
||||
struct RfuStruct
|
||||
{
|
||||
vs32 unk_0;
|
||||
u8 txParams;
|
||||
u8 unk_5;
|
||||
u8 activeCommand;
|
||||
u8 unk_7;
|
||||
u8 unk_8;
|
||||
u8 unk_9;
|
||||
u8 timerSelect;
|
||||
u8 unk_b;
|
||||
int timerState;
|
||||
vu8 timerActive;
|
||||
u8 unk_11;
|
||||
vu16 unk_12;
|
||||
vu8 msMode;
|
||||
u8 unk_15;
|
||||
u8 unk_16;
|
||||
u8 unk_17;
|
||||
void (*callbackM)();
|
||||
void (*callbackS)();
|
||||
u32 callbackID;
|
||||
union RfuPacket *txPacket;
|
||||
union RfuPacket *rxPacket;
|
||||
vu8 unk_2c;
|
||||
u8 padding[3];
|
||||
};
|
||||
|
||||
struct RfuIntrStruct
|
||||
{
|
||||
u8 rxPacketAlloc[0x74];
|
||||
u8 txPacketAlloc[0x74];
|
||||
u8 block1[0x960];
|
||||
u8 block2[0x30];
|
||||
};
|
||||
|
||||
extern struct RfuStruct *gRfuState;
|
||||
|
||||
void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam);
|
||||
+14
-13
@@ -141,9 +141,9 @@ extern u8 gShouldAdvanceLinkState;
|
||||
extern struct LinkPlayer gLinkPlayers[];
|
||||
extern u16 word_3002910[];
|
||||
extern bool8 gReceivedRemoteLinkPlayers;
|
||||
extern bool8 gLinkVSyncDisabled;
|
||||
|
||||
void Task_DestroySelf(u8);
|
||||
void sub_8007270(u8);
|
||||
void OpenLink(void);
|
||||
void CloseLink(void);
|
||||
u16 LinkMain2(u16 *);
|
||||
@@ -162,24 +162,12 @@ void sub_8007E4C(void);
|
||||
u8 GetMultiplayerId(void);
|
||||
u8 bitmask_all_link_players_but_self(void);
|
||||
bool8 SendBlock(u8, void *, u16);
|
||||
bool8 sub_8007E9C(u8);
|
||||
bool8 sub_8007ECC(void);
|
||||
u8 GetBlockReceivedStatus(void);
|
||||
void ResetBlockReceivedFlags(void);
|
||||
void ResetBlockReceivedFlag(u8);
|
||||
void sub_8007F4C(void);
|
||||
void SetLinkDebugValues(u32, u32);
|
||||
u8 sub_8008198(void);
|
||||
void sub_80081C8(u8);
|
||||
u8 sub_800820C(void);
|
||||
u8 sub_8008218(void);
|
||||
void sub_800826C(void);
|
||||
void sub_80082EC(void);
|
||||
u8 GetLinkPlayerCount_2(void);
|
||||
bool8 IsLinkMaster(void);
|
||||
void sub_800832C(void);
|
||||
void sub_8008480(void);
|
||||
void sub_80084A4(void);
|
||||
void CB2_LinkError(void);
|
||||
u8 GetSioMultiSI(void);
|
||||
bool8 IsLinkConnectionEstablished(void);
|
||||
@@ -190,5 +178,18 @@ u32 LinkMain1(u8 *, u16 *, u16[CMD_LENGTH][MAX_LINK_PLAYERS]);
|
||||
void LinkVSync(void);
|
||||
void Timer3Intr(void);
|
||||
void SerialCB(void);
|
||||
u8 GetLinkPlayerCount(void);
|
||||
|
||||
void sub_800E0E8(void);
|
||||
bool8 sub_800A520(void);
|
||||
bool8 sub_8010500(void);
|
||||
void sub_800DFB4(u8, u8);
|
||||
void sub_800ADF8(void);
|
||||
void sub_800B488(void);
|
||||
void sub_8009734(void);
|
||||
void sub_800A620(void);
|
||||
void sub_8011BD0(void);
|
||||
u8 sub_800ABAC(void);
|
||||
u8 sub_800ABBC(void);
|
||||
|
||||
#endif // GUARD_LINK_H
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
#ifndef GUARD_LIST_MENU_H
|
||||
#define GUARD_LIST_MENU_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
struct ListMenuItem {
|
||||
const u8 *unk_00;
|
||||
s32 unk_04;
|
||||
};
|
||||
|
||||
struct ListMenu;
|
||||
|
||||
struct ListMenuTemplate {
|
||||
struct ListMenuItem *unk_00;
|
||||
void (* unk_04)(u32, bool8, struct ListMenu *);
|
||||
void (* unk_08)(u8, s32, u8);
|
||||
u16 unk_0c;
|
||||
u16 unk_0e;
|
||||
u8 unk_10;
|
||||
u8 unk_11;
|
||||
u8 unk_12;
|
||||
u8 unk_13;
|
||||
u32 unk_14_0:4;
|
||||
u32 unk_14_4:4;
|
||||
u32 unk_15_0:4;
|
||||
u32 unk_15_4:4;
|
||||
u32 unk_16_0:1;
|
||||
u32 unk_16_1:6;
|
||||
u32 unk_16_7:1;
|
||||
u32 unk_17_0:6;
|
||||
};
|
||||
|
||||
struct ListMenu {
|
||||
struct ListMenuTemplate _template;
|
||||
u16 scrollOffset;
|
||||
u16 selectedRow;
|
||||
u8 unk_1C;
|
||||
u8 unk_1D;
|
||||
u8 unk_1E;
|
||||
u8 unk_1F;
|
||||
};
|
||||
|
||||
extern struct ListMenuTemplate gUnknown_03006310;
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2);
|
||||
s32 ListMenuHandleInput(u8 id);
|
||||
void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2);
|
||||
void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2);
|
||||
|
||||
#endif //GUARD_LIST_MENU_H
|
||||
@@ -19,5 +19,6 @@ void LoadSerializedGame(void);
|
||||
void LoadPlayerBag(void);
|
||||
void SavePlayerBag(void);
|
||||
void SetSaveBlocksPointers(u16);
|
||||
void MoveSaveBlocks_ResetHeap(void);
|
||||
|
||||
#endif // GUARD_LOAD_SAVE_H
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#ifndef GUARD_MAIL_H
|
||||
#define GUARD_MAIL_H
|
||||
|
||||
#include "items.h"
|
||||
|
||||
#define IS_ITEM_MAIL(itemId)((itemId == ITEM_ORANGE_MAIL \
|
||||
|| itemId == ITEM_HARBOR_MAIL \
|
||||
|| itemId == ITEM_GLITTER_MAIL \
|
||||
|| itemId == ITEM_MECH_MAIL \
|
||||
|| itemId == ITEM_WOOD_MAIL \
|
||||
|| itemId == ITEM_WAVE_MAIL \
|
||||
|| itemId == ITEM_BEAD_MAIL \
|
||||
|| itemId == ITEM_SHADOW_MAIL \
|
||||
|| itemId == ITEM_TROPIC_MAIL \
|
||||
|| itemId == ITEM_DREAM_MAIL \
|
||||
|| itemId == ITEM_FAB_MAIL \
|
||||
|| itemId == ITEM_RETRO_MAIL))
|
||||
|
||||
#endif // GUARD_MAIL_H
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_MAIL_DATA_H
|
||||
#define GUARD_MAIL_DATA_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
u16 sub_80D45E8(u16, u16 *);
|
||||
|
||||
#endif //GUARD_MAIL_DATA_H
|
||||
@@ -39,6 +39,7 @@ struct Main
|
||||
|
||||
/*0x439*/ u8 oamLoadDisabled:1;
|
||||
/*0x439*/ u8 inBattle:1;
|
||||
/*0x439*/ u8 field_439_x4:1;
|
||||
};
|
||||
|
||||
extern u8 gUnknown_3001764;
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
#define GUARD_MALLOC_H
|
||||
|
||||
#define malloc Alloc
|
||||
#define calloc AllocZeroed
|
||||
#define calloc(ct, sz) AllocZeroed((ct) * (sz))
|
||||
#define free Free
|
||||
|
||||
extern u8 gHeap[];
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_MAP_OBJ_LOCK_H
|
||||
#define GUARD_MAP_OBJ_LOCK_H
|
||||
|
||||
bool8 sub_80983C4(void);
|
||||
void ScriptFreezeMapObjects(void);
|
||||
bool8 sub_809847C(void);
|
||||
void LockSelectedMapObject(void);
|
||||
void sub_8098630(void);
|
||||
bool8 sub_8098734(void);
|
||||
|
||||
#endif // GUARD_MAP_OBJ_LOCK_H
|
||||
@@ -0,0 +1,239 @@
|
||||
#ifndef GUARD_MAP_OBJECT_CONSTANTS_H
|
||||
#define GUARD_MAP_OBJECT_CONSTANTS_H
|
||||
|
||||
enum
|
||||
{
|
||||
MAP_OBJ_GFX_BRENDAN_NORMAL,
|
||||
MAP_OBJ_GFX_BRENDAN_MACH_BIKE,
|
||||
MAP_OBJ_GFX_BRENDAN_SURFING,
|
||||
MAP_OBJ_GFX_BRENDAN_FIELD_MOVE,
|
||||
MAP_OBJ_GFX_QUINTY_PLUMP,
|
||||
MAP_OBJ_GFX_LITTLE_BOY_1,
|
||||
MAP_OBJ_GFX_LITTLE_GIRL_1,
|
||||
MAP_OBJ_GFX_BOY_1,
|
||||
MAP_OBJ_GFX_GIRL_1,
|
||||
MAP_OBJ_GFX_BOY_2,
|
||||
MAP_OBJ_GFX_GIRL_2,
|
||||
MAP_OBJ_GFX_LITTLE_BOY_2,
|
||||
MAP_OBJ_GFX_LITTLE_GIRL_2,
|
||||
MAP_OBJ_GFX_BOY_3,
|
||||
MAP_OBJ_GFX_GIRL_3,
|
||||
MAP_OBJ_GFX_BOY_4,
|
||||
MAP_OBJ_GFX_WOMAN_1,
|
||||
MAP_OBJ_GFX_FAT_MAN,
|
||||
MAP_OBJ_GFX_WOMAN_2,
|
||||
MAP_OBJ_GFX_MAN_1,
|
||||
MAP_OBJ_GFX_WOMAN_3,
|
||||
MAP_OBJ_GFX_OLD_MAN_1,
|
||||
MAP_OBJ_GFX_OLD_WOMAN_1,
|
||||
MAP_OBJ_GFX_MAN_2,
|
||||
MAP_OBJ_GFX_WOMAN_4,
|
||||
MAP_OBJ_GFX_MAN_3,
|
||||
MAP_OBJ_GFX_WOMAN_5,
|
||||
MAP_OBJ_GFX_COOK,
|
||||
MAP_OBJ_GFX_WOMAN_6,
|
||||
MAP_OBJ_GFX_OLD_MAN_2,
|
||||
MAP_OBJ_GFX_OLD_WOMAN_2,
|
||||
MAP_OBJ_GFX_CAMPER,
|
||||
MAP_OBJ_GFX_PICNICKER,
|
||||
MAP_OBJ_GFX_MAN_4,
|
||||
MAP_OBJ_GFX_WOMAN_7,
|
||||
MAP_OBJ_GFX_YOUNGSTER,
|
||||
MAP_OBJ_GFX_BUG_CATCHER,
|
||||
MAP_OBJ_GFX_PSYCHIC_M,
|
||||
MAP_OBJ_GFX_SCHOOL_KID_M,
|
||||
MAP_OBJ_GFX_MANIAC,
|
||||
MAP_OBJ_GFX_HEX_MANIAC,
|
||||
MAP_OBJ_GFX_WOMAN_8,
|
||||
MAP_OBJ_GFX_SWIMMER_M,
|
||||
MAP_OBJ_GFX_SWIMMER_F,
|
||||
MAP_OBJ_GFX_BLACK_BELT,
|
||||
MAP_OBJ_GFX_BEAUTY,
|
||||
MAP_OBJ_GFX_SCIENTIST_1,
|
||||
MAP_OBJ_GFX_LASS,
|
||||
MAP_OBJ_GFX_GENTLEMAN,
|
||||
MAP_OBJ_GFX_SAILOR,
|
||||
MAP_OBJ_GFX_FISHERMAN,
|
||||
MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
|
||||
MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
|
||||
MAP_OBJ_GFX_TUBER_F,
|
||||
MAP_OBJ_GFX_TUBER_M,
|
||||
MAP_OBJ_GFX_HIKER,
|
||||
MAP_OBJ_GFX_CYCLING_TRIATHLETE_M,
|
||||
MAP_OBJ_GFX_CYCLING_TRIATHLETE_F,
|
||||
MAP_OBJ_GFX_NURSE,
|
||||
MAP_OBJ_GFX_ITEM_BALL,
|
||||
MAP_OBJ_GFX_BERRY_TREE,
|
||||
MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES,
|
||||
MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES,
|
||||
MAP_OBJ_GFX_BRENDAN_ACRO_BIKE,
|
||||
MAP_OBJ_GFX_PROF_BIRCH,
|
||||
MAP_OBJ_GFX_MAN_5,
|
||||
MAP_OBJ_GFX_MAN_6,
|
||||
MAP_OBJ_GFX_REPORTER_M,
|
||||
MAP_OBJ_GFX_REPORTER_F,
|
||||
MAP_OBJ_GFX_BARD,
|
||||
MAP_OBJ_GFX_HIPSTER,
|
||||
MAP_OBJ_GFX_TRADER,
|
||||
MAP_OBJ_GFX_STORYTELLER,
|
||||
MAP_OBJ_GFX_GIDDY,
|
||||
MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1,
|
||||
MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2,
|
||||
MAP_OBJ_GFX_UNUSED_NATU_DOLL,
|
||||
MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL,
|
||||
MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL,
|
||||
MAP_OBJ_GFX_UNUSED_WOOPER_DOLL,
|
||||
MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL,
|
||||
MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL,
|
||||
MAP_OBJ_GFX_CUTTABLE_TREE,
|
||||
MAP_OBJ_GFX_MART_EMPLOYEE,
|
||||
MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN,
|
||||
MAP_OBJ_GFX_TEALA,
|
||||
MAP_OBJ_GFX_BREAKABLE_ROCK,
|
||||
MAP_OBJ_GFX_PUSHABLE_BOULDER,
|
||||
MAP_OBJ_GFX_MR_BRINEYS_BOAT,
|
||||
MAP_OBJ_GFX_MAY_NORMAL,
|
||||
MAP_OBJ_GFX_MAY_MACH_BIKE,
|
||||
MAP_OBJ_GFX_MAY_ACRO_BIKE,
|
||||
MAP_OBJ_GFX_MAY_SURFING,
|
||||
MAP_OBJ_GFX_MAY_FIELD_MOVE,
|
||||
MAP_OBJ_GFX_TRUCK,
|
||||
MAP_OBJ_GFX_MACHOKE_CARRYING_BOX,
|
||||
MAP_OBJ_GFX_MACHOKE_FACING_AWAY,
|
||||
MAP_OBJ_GFX_BIRCHS_BAG,
|
||||
MAP_OBJ_GFX_POOCHYENA,
|
||||
MAP_OBJ_GFX_ARTIST,
|
||||
MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL,
|
||||
MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE,
|
||||
MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE,
|
||||
MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING,
|
||||
MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE,
|
||||
MAP_OBJ_GFX_RIVAL_MAY_NORMAL,
|
||||
MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE,
|
||||
MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE,
|
||||
MAP_OBJ_GFX_RIVAL_MAY_SURFING,
|
||||
MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE,
|
||||
MAP_OBJ_GFX_CAMERAMAN,
|
||||
MAP_OBJ_GFX_BRENDAN_UNDERWATER,
|
||||
MAP_OBJ_GFX_MAY_UNDERWATER,
|
||||
MAP_OBJ_GFX_MOVING_BOX,
|
||||
MAP_OBJ_GFX_CABLE_CAR,
|
||||
MAP_OBJ_GFX_SCIENTIST_2,
|
||||
MAP_OBJ_GFX_MAN_7,
|
||||
MAP_OBJ_GFX_AQUA_MEMBER_M,
|
||||
MAP_OBJ_GFX_AQUA_MEMBER_F,
|
||||
MAP_OBJ_GFX_MAGMA_MEMBER_M,
|
||||
MAP_OBJ_GFX_MAGMA_MEMBER_F,
|
||||
MAP_OBJ_GFX_SIDNEY,
|
||||
MAP_OBJ_GFX_PHOEBE,
|
||||
MAP_OBJ_GFX_GLACIA,
|
||||
MAP_OBJ_GFX_DRAKE,
|
||||
MAP_OBJ_GFX_ROXANNE,
|
||||
MAP_OBJ_GFX_BRAWLY,
|
||||
MAP_OBJ_GFX_WATTSON,
|
||||
MAP_OBJ_GFX_FLANNERY,
|
||||
MAP_OBJ_GFX_NORMAN,
|
||||
MAP_OBJ_GFX_WINONA,
|
||||
MAP_OBJ_GFX_LIZA,
|
||||
MAP_OBJ_GFX_TATE,
|
||||
MAP_OBJ_GFX_WALLACE,
|
||||
MAP_OBJ_GFX_STEVEN,
|
||||
MAP_OBJ_GFX_WALLY,
|
||||
MAP_OBJ_GFX_LITTLE_BOY_3,
|
||||
MAP_OBJ_GFX_BRENDAN_FISHING,
|
||||
MAP_OBJ_GFX_MAY_FISHING,
|
||||
MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN,
|
||||
MAP_OBJ_GFX_SS_TIDAL,
|
||||
MAP_OBJ_GFX_SUBMARINE_SHADOW,
|
||||
MAP_OBJ_GFX_PICHU_DOLL,
|
||||
MAP_OBJ_GFX_PIKACHU_DOLL,
|
||||
MAP_OBJ_GFX_MARILL_DOLL,
|
||||
MAP_OBJ_GFX_TOGEPI_DOLL,
|
||||
MAP_OBJ_GFX_CYNDAQUIL_DOLL,
|
||||
MAP_OBJ_GFX_CHIKORITA_DOLL,
|
||||
MAP_OBJ_GFX_TOTODILE_DOLL,
|
||||
MAP_OBJ_GFX_JIGGLYPUFF_DOLL,
|
||||
MAP_OBJ_GFX_MEOWTH_DOLL,
|
||||
MAP_OBJ_GFX_CLEFAIRY_DOLL,
|
||||
MAP_OBJ_GFX_DITTO_DOLL,
|
||||
MAP_OBJ_GFX_SMOOCHUM_DOLL,
|
||||
MAP_OBJ_GFX_TREECKO_DOLL,
|
||||
MAP_OBJ_GFX_TORCHIC_DOLL,
|
||||
MAP_OBJ_GFX_MUDKIP_DOLL,
|
||||
MAP_OBJ_GFX_DUSKULL_DOLL,
|
||||
MAP_OBJ_GFX_WYNAUT_DOLL,
|
||||
MAP_OBJ_GFX_BALTOY_DOLL,
|
||||
MAP_OBJ_GFX_KECLEON_DOLL,
|
||||
MAP_OBJ_GFX_AZURILL_DOLL,
|
||||
MAP_OBJ_GFX_SKITTY_DOLL,
|
||||
MAP_OBJ_GFX_SWABLU_DOLL,
|
||||
MAP_OBJ_GFX_GULPIN_DOLL,
|
||||
MAP_OBJ_GFX_LOTAD_DOLL,
|
||||
MAP_OBJ_GFX_SEEDOT_DOLL,
|
||||
MAP_OBJ_GFX_PIKA_CUSHION,
|
||||
MAP_OBJ_GFX_ROUND_CUSHION,
|
||||
MAP_OBJ_GFX_KISS_CUSHION,
|
||||
MAP_OBJ_GFX_ZIGZAG_CUSHION,
|
||||
MAP_OBJ_GFX_SPIN_CUSHION,
|
||||
MAP_OBJ_GFX_DIAMOND_CUSHION,
|
||||
MAP_OBJ_GFX_BALL_CUSHION,
|
||||
MAP_OBJ_GFX_GRASS_CUSHION,
|
||||
MAP_OBJ_GFX_FIRE_CUSHION,
|
||||
MAP_OBJ_GFX_WATER_CUSHION,
|
||||
MAP_OBJ_GFX_BIG_SNORLAX_DOLL,
|
||||
MAP_OBJ_GFX_BIG_RHYDON_DOLL,
|
||||
MAP_OBJ_GFX_BIG_LAPRAS_DOLL,
|
||||
MAP_OBJ_GFX_BIG_VENUSAUR_DOLL,
|
||||
MAP_OBJ_GFX_BIG_CHARIZARD_DOLL,
|
||||
MAP_OBJ_GFX_BIG_BLASTOISE_DOLL,
|
||||
MAP_OBJ_GFX_BIG_WAILMER_DOLL,
|
||||
MAP_OBJ_GFX_BIG_REGIROCK_DOLL,
|
||||
MAP_OBJ_GFX_BIG_REGICE_DOLL,
|
||||
MAP_OBJ_GFX_BIG_REGISTEEL_DOLL,
|
||||
MAP_OBJ_GFX_LATIAS,
|
||||
MAP_OBJ_GFX_LATIOS,
|
||||
MAP_OBJ_GFX_BOY_5,
|
||||
MAP_OBJ_GFX_CONTEST_JUDGE,
|
||||
MAP_OBJ_GFX_BRENDAN_WATERING,
|
||||
MAP_OBJ_GFX_MAY_WATERING,
|
||||
MAP_OBJ_GFX_BRENDAN_DECORATING,
|
||||
MAP_OBJ_GFX_MAY_DECORATING,
|
||||
MAP_OBJ_GFX_ARCHIE,
|
||||
MAP_OBJ_GFX_MAXIE,
|
||||
MAP_OBJ_GFX_KYOGRE_1,
|
||||
MAP_OBJ_GFX_GROUDON_1,
|
||||
MAP_OBJ_GFX_FOSSIL,
|
||||
MAP_OBJ_GFX_REGIROCK,
|
||||
MAP_OBJ_GFX_REGICE,
|
||||
MAP_OBJ_GFX_REGISTEEL,
|
||||
MAP_OBJ_GFX_SKITTY,
|
||||
MAP_OBJ_GFX_KECLEON_1,
|
||||
MAP_OBJ_GFX_KYOGRE_2,
|
||||
MAP_OBJ_GFX_GROUDON_2,
|
||||
MAP_OBJ_GFX_RAYQUAZA,
|
||||
MAP_OBJ_GFX_ZIGZAGOON,
|
||||
MAP_OBJ_GFX_PIKACHU,
|
||||
MAP_OBJ_GFX_AZUMARILL,
|
||||
MAP_OBJ_GFX_WINGULL,
|
||||
MAP_OBJ_GFX_KECLEON_2,
|
||||
MAP_OBJ_GFX_TUBER_M_SWIMMING,
|
||||
MAP_OBJ_GFX_AZURILL,
|
||||
MAP_OBJ_GFX_MOM,
|
||||
MAP_OBJ_GFX_LINK_BRENDAN,
|
||||
MAP_OBJ_GFX_LINK_MAY,
|
||||
};
|
||||
|
||||
enum {
|
||||
SHADOW_SIZE_S,
|
||||
SHADOW_SIZE_M,
|
||||
SHADOW_SIZE_L,
|
||||
SHADOW_SIZE_XL
|
||||
};
|
||||
|
||||
enum {
|
||||
TRACKS_NONE,
|
||||
TRACKS_FOOT,
|
||||
TRACKS_BIKE_TIRE
|
||||
};
|
||||
|
||||
#endif // GUARD_MAP_OBJECT_CONSTANTS_H
|
||||
+20
-8
@@ -1,20 +1,32 @@
|
||||
#ifndef GUARD_MENU_H
|
||||
#define GUARD_MENU_H
|
||||
|
||||
#include "text.h"
|
||||
#include "window.h"
|
||||
|
||||
struct MenuAction
|
||||
{
|
||||
const u8 *text;
|
||||
u8 (*func)();
|
||||
};
|
||||
|
||||
struct MenuAction2
|
||||
{
|
||||
const u8 *text;
|
||||
void (*func)(u8);
|
||||
union {
|
||||
void (*void_u8)(u8);
|
||||
u8 (*u8_void)(void);
|
||||
} func;
|
||||
};
|
||||
|
||||
void box_print(u8, u8, u8, u8, const void *, s8, const u8 *);
|
||||
void sub_8198070(u8 windowId, bool8 copyToVram);
|
||||
void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock);
|
||||
void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette);
|
||||
void schedule_bg_copy_tilemap_to_vram(u8 bgNum);
|
||||
void PrintMenuTable(u8 idx, u8 nstrs, const struct MenuAction *strs);
|
||||
void InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 idx, u8 nstrs,u8);
|
||||
u8 GetMenuCursorPos(void);
|
||||
s8 ProcessMenuInput(void);
|
||||
void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y);
|
||||
void reset_temp_tile_data_buffers(void);
|
||||
int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u16 offset, u8 mode);
|
||||
bool8 free_temp_tile_data_buffers_if_possible(void);
|
||||
u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd
|
||||
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
|
||||
s8 sub_8198C58(void);
|
||||
|
||||
#endif // GUARD_MENU_H
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef GUARD_MENU_HELPERS_H
|
||||
#define GUARD_MENU_HELPERS_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
struct YesNoFuncTable {
|
||||
TaskFunc yesFunc;
|
||||
TaskFunc noFunc;
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
void sub_812225C(u16 *, u16 *, u8, u8);
|
||||
void sub_8122298(u16 *, u16 *, u8, u8, u8);
|
||||
void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data);
|
||||
bool8 sub_81221AC(void);
|
||||
|
||||
#endif //GUARD_MENU_HELPERS_H
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_MENU_INDICATORS_H
|
||||
#define GUARD_MENU_INDICATORS_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u8, u8, u16 *);
|
||||
void RemoveScrollIndicatorArrowPair(u8);
|
||||
|
||||
#endif //GUARD_MENU_INDICATORS_H
|
||||
+147
-9
@@ -1,11 +1,149 @@
|
||||
#ifndef GUARD_METATILE_BEHAVIOR_H
|
||||
#define GUARD_METATILE_BEHAVIOR_H
|
||||
#ifndef GUARD_METATILE_BEHAVIOR
|
||||
#define GUARD_METATILE_BEHAVIOR
|
||||
|
||||
// Exported type declarations
|
||||
bool8 ShouldDoJumpLandingDustEffect(u8);
|
||||
bool8 MetatileBehavior_IsEncounterTile(u8);
|
||||
bool8 MetatileBehavior_IsJumpEast(u8);
|
||||
bool8 MetatileBehavior_IsJumpWest(u8);
|
||||
bool8 MetatileBehavior_IsJumpNorth(u8);
|
||||
bool8 MetatileBehavior_IsJumpSouth(u8);
|
||||
bool8 MetatileBehavior_IsPokeGrass(u8);
|
||||
bool8 MetatileBehavior_IsSandOrDeepSand(u8);
|
||||
bool8 MetatileBehavior_IsDeepSand(u8);
|
||||
bool8 MetatileBehavior_IsReflective(u8);
|
||||
bool8 MetatileBehavior_IsIce(u8);
|
||||
bool8 MetatileBehavior_IsWarpDoor(u8);
|
||||
bool8 MetatileBehavior_IsDoor(u8);
|
||||
bool8 MetatileBehavior_IsEscalator(u8);
|
||||
bool8 MetatileBehavior_IsMB_04(u8);
|
||||
bool8 MetatileBehavior_IsLadder(u8);
|
||||
bool8 MetatileBehavior_IsNonAnimDoor(u8);
|
||||
bool8 MetatileBehavior_IsDeepSouthWarp(u8);
|
||||
bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8);
|
||||
bool8 MetatileBehavior_IsEastArrowWarp(u8);
|
||||
bool8 MetatileBehavior_IsWestArrowWarp(u8);
|
||||
bool8 MetatileBehavior_IsNorthArrowWarp(u8);
|
||||
bool8 MetatileBehavior_IsSouthArrowWarp(u8);
|
||||
bool8 MetatileBehavior_IsArrowWarp(u8);
|
||||
bool8 MetatileBehavior_IsMoveTile(u8);
|
||||
bool8 MetatileBehavior_IsIce_2(u8);
|
||||
bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8);
|
||||
bool8 MetatileBehavior_IsMB_05(u8);
|
||||
bool8 MetatileBehavior_IsWalkNorth(u8);
|
||||
bool8 MetatileBehavior_IsWalkSouth(u8);
|
||||
bool8 MetatileBehavior_IsWalkWest(u8);
|
||||
bool8 MetatileBehavior_IsWalkEast(u8);
|
||||
bool8 MetatileBehavior_IsNorthwardCurrent(u8);
|
||||
bool8 MetatileBehavior_IsSouthwardCurrent(u8);
|
||||
bool8 MetatileBehavior_IsWestwardCurrent(u8);
|
||||
bool8 MetatileBehavior_IsEastwardCurrent(u8);
|
||||
bool8 MetatileBehavior_IsSlideNorth(u8);
|
||||
bool8 MetatileBehavior_IsSlideSouth(u8);
|
||||
bool8 MetatileBehavior_IsSlideWest(u8);
|
||||
bool8 MetatileBehavior_IsSlideEast(u8);
|
||||
bool8 MetatileBehavior_IsCounter(u8);
|
||||
bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir);
|
||||
bool8 MetatileBehavior_IsPC(u8);
|
||||
bool8 MetatileBehavior_IsCableBoxResults1(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseOpen(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseCave(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseTree(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseShrub(u8);
|
||||
bool8 MetatileBehavior_IsSecretBasePC(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseRegisterPC(u8);
|
||||
bool8 MetatileBehavior_IsMB_B2(u8);
|
||||
bool8 MetatileBehavior_IsMB_B3(u8);
|
||||
bool8 MetatileBehavior_IsMB_B9(u8);
|
||||
bool8 MetatileBehavior_IsMB_C6(u8);
|
||||
bool8 MetatileBehavior_IsSecretBasePoster(u8);
|
||||
bool8 MetatileBehavior_IsNormal(u8);
|
||||
bool8 MetatileBehavior_IsMB_B7(u8);
|
||||
bool8 MetatileBehavior_IsMB_B2_Duplicate(u8);
|
||||
bool8 MetatileBehavior_IsMB_B5(u8);
|
||||
bool8 MetatileBehavior_IsMB_C3(u8);
|
||||
bool8 MetatileBehavior_IsMB_C2(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseBalloon(u8);
|
||||
bool8 MetatileBehavior_IsMB_BE(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseSoundMat(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8);
|
||||
bool8 MetatileBehavior_IsMB_BF(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseTvOrShield(u8);
|
||||
bool8 MetatileBehavior_IsMB_C5(u8);
|
||||
bool8 MetatileBehavior_HasRipples(u8);
|
||||
bool8 MetatileBehavior_IsPuddle(u8);
|
||||
bool8 MetatileBehavior_IsTallGrass(u8);
|
||||
bool8 MetatileBehavior_IsLongGrass(u8);
|
||||
bool8 MetatileBehavior_IsBerryTreeSoil(u8);
|
||||
bool8 MetatileBehavior_IsAsh(u8);
|
||||
bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8);
|
||||
bool8 MetatileBehavior_IsBridge(u8);
|
||||
u8 MetatileBehavior_GetBridgeSth(u8);
|
||||
u8 MetatileBehavior_8089510(u8);
|
||||
bool8 MetatileBehavior_IsLandWildEncounter(u8);
|
||||
bool8 MetatileBehavior_IsWaterWildEncounter(u8);
|
||||
bool8 MetatileBehavior_IsMB_0B(u8);
|
||||
bool8 MetatileBehavior_IsMountain(u8);
|
||||
bool8 MetatileBehavior_IsDiveable(u8);
|
||||
bool8 MetatileBehavior_IsUnableToEmerge(u8);
|
||||
bool8 MetatileBehavior_IsShallowFlowingWater(u8);
|
||||
bool8 MetatileBehavior_IsThinIce(u8);
|
||||
bool8 MetatileBehavior_IsCrackedIce(u8);
|
||||
bool8 MetatileBehavior_IsDeepOrOceanWater(u8);
|
||||
bool8 MetatileBehavior_IsMB_18_OrMB_1A(u8);
|
||||
bool8 MetatileBehavior_IsSurfableAndNotWaterfall(u8);
|
||||
bool8 MetatileBehavior_IsEastBlocked(u8);
|
||||
bool8 MetatileBehavior_IsWestBlocked(u8);
|
||||
bool8 MetatileBehavior_IsNorthBlocked(u8);
|
||||
bool8 MetatileBehavior_IsSouthBlocked(u8);
|
||||
bool8 MetatileBehavior_IsShortGrass(u8);
|
||||
bool8 MetatileBehavior_IsHotSprings(u8);
|
||||
bool8 MetatileBehavior_IsWaterfall(u8);
|
||||
bool8 MetatileBehavior_IsFortreeBridge(u8);
|
||||
bool8 MetatileBehavior_IsPacifilogVerticalLog1(u8);
|
||||
bool8 MetatileBehavior_IsPacifilogVerticalLog2(u8);
|
||||
bool8 MetatileBehavior_IsPacifilogHorizontalLog1(u8);
|
||||
bool8 MetatileBehavior_IsPacifilogHorizontalLog2(u8);
|
||||
bool8 MetatileBehavior_IsPacifidlogLog(u8);
|
||||
bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8);
|
||||
bool8 MetatileBehavior_IsRegionMap(u8);
|
||||
bool8 MetatileBehavior_IsClosedSootopolisGymDoor(u8);
|
||||
bool8 MetatileBehavior_IsUnknownClosedDoor(u8);
|
||||
bool8 MetatileBehavior_IsRoulette(u8);
|
||||
bool8 MetatileBehavior_IsPokeblockFeeder(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseJumpMat(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseSpinMat(u8);
|
||||
bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8);
|
||||
bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8);
|
||||
bool8 MetatileBehavior_IsAquaHideoutWarp(u8);
|
||||
bool8 MetatileBehavior_IsWarpOrBridge(u8);
|
||||
bool8 MetatileBehavior_IsMossdeepGymWarp(u8);
|
||||
bool8 MetatileBehavior_IsSurfableFishableWater(u8);
|
||||
bool8 MetatileBehavior_IsMtPyreHole(u8);
|
||||
bool8 MetatileBehavior_IsCrackedFloorHole(u8);
|
||||
bool8 MetatileBehavior_IsCrackedFloor(u8);
|
||||
bool8 MetatileBehavior_IsMuddySlope(u8);
|
||||
bool8 MetatileBehavior_IsBumpySlope(u8);
|
||||
bool8 MetatileBehavior_IsIsolatedVerticalRail(u8);
|
||||
bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8);
|
||||
bool8 MetatileBehavior_IsVerticalRail(u8);
|
||||
bool8 MetatileBehavior_IsHorizontalRail(u8);
|
||||
bool8 MetatileBehavior_IsSeaweed(u8);
|
||||
bool8 MetatileBehavior_IsRunningDisallowed(u8);
|
||||
bool8 MetatileBehavior_IsCuttableGrass(u8);
|
||||
bool8 MetatileBehavior_IsRunningShoesInstruction(u8);
|
||||
bool8 MetatileBehavior_IsPictureBookShelf(u8);
|
||||
bool8 MetatileBehavior_IsBookShelf(u8);
|
||||
bool8 MetatileBehavior_IsPokeCenterBookShelf(u8);
|
||||
bool8 MetatileBehavior_IsVase(u8);
|
||||
bool8 MetatileBehavior_IsTrashCan(u8);
|
||||
bool8 MetatileBehavior_IsShopShelf(u8);
|
||||
bool8 MetatileBehavior_IsBlueprint(u8);
|
||||
bool8 MetatileBehavior_IsBattlePyramidWarp(u8);
|
||||
bool8 MetatileBehavior_IsPlayerFacingWirelessBoxResults(u8 tile, u8 playerDir);
|
||||
bool8 MetatileBehavior_IsCableBoxResults2(u8 tile, u8 playerDir);
|
||||
bool8 MetatileBehavior_IsQuestionnaire(u8);
|
||||
bool8 MetatileBehavior_IsLongGrass_Duplicate(u8);
|
||||
bool8 MetatileBehavior_IsLongGrassSouthEdge(u8);
|
||||
bool8 MetatileBehavior_IsTrainerHillTimer(u8);
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
bool8 sub_8088E64(u8);
|
||||
|
||||
#endif //GUARD_METATILE_BEHAVIOR_H
|
||||
#endif // GUARD_METATILE_BEHAVIOR
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
#ifndef GUARD_METATILE_BEHAVIORS
|
||||
#define GUARD_METATILE_BEHAVIORS
|
||||
|
||||
#define MB_NORMAL 0x00
|
||||
#define MB_TALL_GRASS 0x02
|
||||
#define MB_LONG_GRASS 0x03
|
||||
#define MB_04 0x04
|
||||
#define MB_05 0x05
|
||||
#define MB_DEEP_SAND 0x06
|
||||
#define MB_SHORT_GRASS 0x07
|
||||
#define MB_CAVE 0x08
|
||||
#define MB_LONG_GRASS_SOUTH_EDGE 0x09
|
||||
#define MB_NO_RUNNING 0x0A
|
||||
#define MB_0B 0x0B
|
||||
#define MB_MOUNTAIN_TOP 0x0C
|
||||
#define MB_BATTLE_PYRAMID_WARP 0x0D
|
||||
#define MB_MOSSDEEP_GYM_WARP 0x0E
|
||||
#define MB_MT_PYRE_HOLE 0x0F
|
||||
#define MB_POND_WATER 0x10
|
||||
#define MB_SEMI_DEEP_WATER 0x11
|
||||
#define MB_DEEP_WATER 0x12
|
||||
#define MB_WATERFALL 0x13
|
||||
#define MB_SOOTOPOLIS_DEEP_WATER 0x14
|
||||
#define MB_OCEAN_WATER 0x15
|
||||
#define MB_PUDDLE 0x16
|
||||
#define MB_SHALLOW_WATER 0x17
|
||||
#define MB_18 0x18
|
||||
#define MB_NO_SURFACING 0x19
|
||||
#define MB_1A 0x1A
|
||||
#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B
|
||||
#define MB_SHOAL_CAVE_ENTRANCE 0x1C
|
||||
#define MB_ICE 0x20
|
||||
#define MB_SAND 0x21
|
||||
#define MB_SEAWEED 0x22
|
||||
#define MB_ASHGRASS 0x24
|
||||
#define MB_25 0x25
|
||||
#define MB_THIN_ICE 0x26
|
||||
#define MB_CRACKED_ICE 0x27
|
||||
#define MB_HOT_SPRINGS 0x28
|
||||
#define MB_LAVARIDGE_GYM_B1F_WARP 0x29
|
||||
#define MB_SEAWEED_NO_SURFACING 0x2A
|
||||
#define MB_REFLECTION_UNDER_BRIDGE 0x2B
|
||||
#define MB_IMPASSABLE_EAST 0x30
|
||||
#define MB_IMPASSABLE_WEST 0x31
|
||||
#define MB_IMPASSABLE_NORTH 0x32
|
||||
#define MB_IMPASSABLE_SOUTH 0x33
|
||||
#define MB_IMPASSABLE_NORTHEAST 0x34
|
||||
#define MB_IMPASSABLE_NORTHWEST 0x35
|
||||
#define MB_IMPASSABLE_SOUTHEAST 0x36
|
||||
#define MB_IMPASSABLE_SOUTHWEST 0x37
|
||||
#define MB_JUMP_EAST 0x38
|
||||
#define MB_JUMP_WEST 0x39
|
||||
#define MB_JUMP_NORTH 0x3A
|
||||
#define MB_JUMP_SOUTH 0x3B
|
||||
#define MB_JUMP_SOUTHEAST 0x3E
|
||||
#define MB_JUMP_SOUTHWEST 0x3F
|
||||
#define MB_WALK_EAST 0x40
|
||||
#define MB_WALK_WEST 0x41
|
||||
#define MB_WALK_NORTH 0x42
|
||||
#define MB_WALK_SOUTH 0x43
|
||||
#define MB_SLIDE_EAST 0x44
|
||||
#define MB_SLIDE_WEST 0x45
|
||||
#define MB_SLIDE_NORTH 0x46
|
||||
#define MB_SLIDE_SOUTH 0x47
|
||||
#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48
|
||||
#define MB_EASTWARD_CURRENT 0x50
|
||||
#define MB_WESTWARD_CURRENT 0x51
|
||||
#define MB_NORTHWARD_CURRENT 0x52
|
||||
#define MB_SOUTHWARD_CURRENT 0x53
|
||||
#define MB_NON_ANIMATED_DOOR 0x60
|
||||
#define MB_LADDER 0x61
|
||||
#define MB_EAST_ARROW_WARP 0x62
|
||||
#define MB_WEST_ARROW_WARP 0x63
|
||||
#define MB_NORTH_ARROW_WARP 0x64
|
||||
#define MB_SOUTH_ARROW_WARP 0x65
|
||||
#define MB_CRACKED_FLOOR_HOLE 0x66
|
||||
#define MB_AQUA_HIDEOUT_WARP 0x67
|
||||
#define MB_LAVARIDGE_GYM_1F_WARP 0x68
|
||||
#define MB_ANIMATED_DOOR 0x69
|
||||
#define MB_UP_ESCALATOR 0x6A
|
||||
#define MB_DOWN_ESCALATOR 0x6B
|
||||
#define MB_WATER_DOOR 0x6C
|
||||
#define MB_WATER_SOUTH_ARROW_WARP 0x6D
|
||||
#define MB_DEEP_SOUTH_WARP 0x6E
|
||||
#define MB_WARP_OR_BRIDGE 0x70
|
||||
#define MB_71 0x71
|
||||
#define MB_ROUTE120_NORTH_BRIDGE_1 0x72
|
||||
#define MB_ROUTE120_NORTH_BRIDGE_2 0x73
|
||||
#define MB_PACIFIDLOG_VERTICAL_LOG_1 0x74
|
||||
#define MB_PACIFIDLOG_VERTICAL_LOG_2 0x75
|
||||
#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76
|
||||
#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77
|
||||
#define MB_FORTREE_BRIDGE 0x78
|
||||
#define MB_ROUTE120_SOUTH_BRIDGE_1 0x7A
|
||||
#define MB_ROUTE120_SOUTH_BRIDGE_2 0x7B
|
||||
#define MB_ROUTE120_NORTH_BRIDGE_3 0x7C
|
||||
#define MB_ROUTE120_NORTH_BRIDGE_4 0x7D
|
||||
#define MB_7E 0x7E
|
||||
#define MB_ROUTE110_BRIDGE 0x7F
|
||||
#define MB_COUNTER 0x80
|
||||
#define MB_PC 0x83
|
||||
#define MB_CABLE_BOX_RESULTS_1 0x84
|
||||
#define MB_REGION_MAP 0x85
|
||||
#define MB_TELEVISION 0x86
|
||||
#define MB_POKEBLOCK_FEEDER 0x87
|
||||
#define MB_SLOT_MACHINE 0x89
|
||||
#define MB_ROULETTE 0x8A
|
||||
#define MB_CLOSED_SOOTOPOLIS_GYM_DOOR 0x8B
|
||||
#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C
|
||||
#define MB_8D 0x8D
|
||||
#define MB_RUNNING_SHOES_INSTRUCTION 0x8E
|
||||
#define MB_QUESTIONNAIRE 0x8F
|
||||
#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90
|
||||
#define MB_SECRET_BASE_SPOT_RED_CAVE_OPEN 0x91
|
||||
#define MB_SECRET_BASE_SPOT_BROWN_CAVE 0x92
|
||||
#define MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN 0x93
|
||||
#define MB_SECRET_BASE_SPOT_YELLOW_CAVE 0x94
|
||||
#define MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN 0x95
|
||||
#define MB_SECRET_BASE_SPOT_TREE_LEFT 0x96
|
||||
#define MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN 0x97
|
||||
#define MB_SECRET_BASE_SPOT_SHRUB 0x98
|
||||
#define MB_SECRET_BASE_SPOT_SHRUB_OPEN 0x99
|
||||
#define MB_SECRET_BASE_SPOT_BLUE_CAVE 0x9A
|
||||
#define MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN 0x9B
|
||||
#define MB_SECRET_BASE_SPOT_TREE_RIGHT 0x9C
|
||||
#define MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN 0x9D
|
||||
#define MB_BERRY_TREE_SOIL 0xA0
|
||||
#define MB_SECRET_BASE_PC 0xB0
|
||||
#define MB_SECRET_BASE_REGISTER_PC 0xB1
|
||||
#define MB_B2 0xB2
|
||||
#define MB_B3 0xB3
|
||||
#define MB_B4 0xB4
|
||||
#define MB_B5 0xB5
|
||||
#define MB_B6 0xB6
|
||||
#define MB_B7 0xB7
|
||||
#define MB_SECRET_BASE_BALLOON 0xB8
|
||||
#define MB_B9 0xB9
|
||||
#define MB_SECRET_BASE_GLITTER_MAT 0xBA
|
||||
#define MB_SECRET_BASE_JUMP_MAT 0xBB
|
||||
#define MB_SECRET_BASE_SPIN_MAT 0xBC
|
||||
#define MB_SECRET_BASE_SOUND_MAT 0xBD
|
||||
#define MB_BE 0xBE
|
||||
#define MB_BF 0xBF
|
||||
#define MB_BED 0xC0
|
||||
#define MB_C1 0xC1
|
||||
#define MB_C2 0xC2
|
||||
#define MB_C3 0xC3
|
||||
#define MB_SECRET_BASE_TV_SHIELD 0xC4
|
||||
#define MB_C5 0xC5
|
||||
#define MB_C6 0xC6
|
||||
#define MB_SECRET_BASE_POSTER 0xC7
|
||||
#define MB_C8 0xC8
|
||||
#define MB_C9 0xC9
|
||||
#define MB_CA 0xCA
|
||||
#define MB_CB 0xCB
|
||||
#define MB_CC 0xCC
|
||||
#define MB_CD 0xCD
|
||||
#define MB_CE 0xCE
|
||||
#define MB_CF 0xCF
|
||||
#define MB_MUDDY_SLOPE 0xD0
|
||||
#define MB_BUMPY_SLOPE 0xD1
|
||||
#define MB_CRACKED_FLOOR 0xD2
|
||||
#define MB_ISOLATED_VERTICAL_RAIL 0xD3
|
||||
#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4
|
||||
#define MB_VERTICAL_RAIL 0xD5
|
||||
#define MB_HORIZONTAL_RAIL 0xD6
|
||||
#define MB_PICTURE_BOOK_SHELF 0xE0
|
||||
#define MB_BOOKSHELF 0xE1
|
||||
#define MB_POKEMON_CENTER_BOOKSHELF 0xE2
|
||||
#define MB_VASE 0xE3
|
||||
#define MB_TRASH_CAN 0xE4
|
||||
#define MB_SHOP_SHELF 0xE5
|
||||
#define MB_BLUEPRINT 0xE6
|
||||
#define MB_CABLE_BOX_RESULTS_2 0xE7
|
||||
#define MB_WIRELESS_BOX_RESULTS 0xE8
|
||||
#define MB_TRAINER_HILL_TIMER 0xE9
|
||||
#define MB_UNKNOWN_CLOSED_DOOR 0xEA
|
||||
|
||||
#endif // GUARD_METATILE_BEHAVIORS
|
||||
+11
-1
@@ -5,6 +5,16 @@ u32 GetMoney(u32* moneyPtr);
|
||||
void SetMoney(u32* moneyPtr, u32 newValue);
|
||||
bool8 IsEnoughMoney(u32* moneyPtr, u32 cost);
|
||||
void AddMoney(u32* moneyPtr, u32 toAdd);
|
||||
void SubtractMoney(u32* moneyPtr, u32 toSub);
|
||||
void RemoveMoney(u32* moneyPtr, u32 toSub);
|
||||
bool8 IsEnoughForCostInVar0x8005(void);
|
||||
void SubtractMoneyFromVar0x8005(void);
|
||||
void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed);
|
||||
void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed);
|
||||
void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount);
|
||||
void ChangeAmountInMoneyBox(int amount);
|
||||
void DrawMoneyBox(int amount, u8 x, u8 y);
|
||||
void HideMoneyBox(void);
|
||||
void AddMoneyLabelObject(u16 x, u16 y);
|
||||
void RemoveMoneyLabelObject(void);
|
||||
|
||||
#endif // GUARD_MONEY_H
|
||||
|
||||
+4
-1
@@ -359,5 +359,8 @@ enum
|
||||
MOVE_DOOM_DESIRE,
|
||||
MOVE_PSYCHO_BOOST,
|
||||
};
|
||||
extern const u8 gMoveNames[][13];
|
||||
|
||||
#endif // GUARD_MOVES_H
|
||||
#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST
|
||||
|
||||
#endif // GUARD_MOVES_H
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_MYSTERY_EVENT_SCRIPT_H
|
||||
#define GUARD_MYSTERY_EVENT_SCRIPT_H
|
||||
|
||||
u32 RunMysteryEventScript(u8 *);
|
||||
void SetMysteryEventScriptStatus(u32 val);
|
||||
u16 GetRecordMixingGift(void);
|
||||
|
||||
#endif // GUARD_MYSTERY_EVENT_SCRIPT_H
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_NAMING_SCREEN_H
|
||||
#define GUARD_NAMING_SCREEN_H
|
||||
|
||||
#define NAMING_SCREEN_PLAYER 0
|
||||
#define NAMING_SCREEN_BOX 1
|
||||
#define NAMING_SCREEN_CAUGHT_MON 2
|
||||
#define NAMING_SCREEN_3 3
|
||||
#define NAMING_SCREEN_WALDA 4
|
||||
|
||||
void DoNamingScreen(u8 caseId, u8* dst, u16 monSpecies, u8 monGender, u32 monPersonality, void (*callback)(void));
|
||||
|
||||
#endif // GUARD_NAMING_SCREEN_H
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_NEW_GAME_H
|
||||
|
||||
void WriteUnalignedWord(u32 var, u8 *dataPtr);
|
||||
u32 ReadUnalignedWord(u8* dataPtr);
|
||||
void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom);
|
||||
void InitPlayerTrainerId(void);
|
||||
void SetDefaultOptions(void);
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef GUARD_NEW_MENU_HELPERS_H
|
||||
#define GUARD_NEW_MENU_HELPERS_H
|
||||
|
||||
#include "text.h"
|
||||
#include "task.h"
|
||||
|
||||
void sub_81973A4(void);
|
||||
void sub_81973C4(u8, u8);
|
||||
void sub_819746C(u8 windowId, bool8 copyToVram);
|
||||
void sub_81973FC(u8, u8);
|
||||
u16 AddTextPrinterParametrized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor);
|
||||
void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
|
||||
void sub_8197434(u8 a0, u8 a1);
|
||||
void sub_8197930(void);
|
||||
|
||||
#endif // GUARD_NEW_MENU_HELPERS_H
|
||||
@@ -0,0 +1,63 @@
|
||||
#ifndef GUARD_ROM4_H
|
||||
#define GUARD_ROM4_H
|
||||
|
||||
#include "main.h"
|
||||
|
||||
struct UnkPlayerStruct
|
||||
{
|
||||
u8 player_field_0;
|
||||
u8 player_field_1;
|
||||
};
|
||||
|
||||
struct LinkPlayerMapObject
|
||||
{
|
||||
u8 active;
|
||||
u8 linkPlayerId;
|
||||
u8 mapObjId;
|
||||
u8 mode;
|
||||
};
|
||||
|
||||
struct UCoords32
|
||||
{
|
||||
u32 x, y;
|
||||
};
|
||||
|
||||
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
|
||||
extern MainCallback gFieldCallback;
|
||||
|
||||
void IncrementGameStat(u8 index);
|
||||
|
||||
void Overworld_SetMapObjTemplateCoords(u8, s16, s16);
|
||||
void Overworld_SetMapObjTemplateMovementType(u8, u8);
|
||||
|
||||
void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
|
||||
void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void Overworld_SetHealLocationWarp(u8);
|
||||
void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084E2C(s8, s8, s8, s8, s8);
|
||||
void sub_8084E80(s8, s8, s8, s8, s8);
|
||||
void sub_8084EBC(s16, s16);
|
||||
|
||||
void player_avatar_init_params_reset(void);
|
||||
|
||||
void Overworld_SetFlashLevel(s32 a1);
|
||||
//u8 Overworld_GetFlashLevel(void);
|
||||
void sub_8085524(u16);
|
||||
|
||||
void Overworld_SetSavedMusic(u16);
|
||||
void Overworld_ChangeMusicToDefault(void);
|
||||
void Overworld_ChangeMusicTo(u16);
|
||||
|
||||
bool32 is_c1_link_related_active(void);
|
||||
|
||||
void strange_npc_table_clear(void);
|
||||
const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8);
|
||||
void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *);
|
||||
void sub_8086230(void);
|
||||
void c2_exit_to_overworld_2_switch(void);
|
||||
bool32 sub_8087598(void);
|
||||
void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
|
||||
void warp_in(void);
|
||||
|
||||
#endif //GUARD_ROM4_H
|
||||
@@ -8,6 +8,9 @@
|
||||
#define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade
|
||||
#define gPaletteFade_submode (gPaletteFade.multipurpose2) // fast fade
|
||||
|
||||
#define PLTT_BUFFER_SIZE 0x200
|
||||
#define PLTT_DECOMP_BUFFER_SIZE (PLTT_BUFFER_SIZE * 2)
|
||||
|
||||
enum
|
||||
{
|
||||
FAST_FADE_IN_FROM_WHITE,
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_PARTY_MENU_H
|
||||
#define GUARD_PARTY_MENU_H
|
||||
|
||||
bool8 pokemon_has_move(struct Pokemon *, u16);
|
||||
|
||||
#endif // GUARD_PARTY_MENU_H
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_PLAYER_PC_H
|
||||
#define GUARD_PLAYER_PC_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
void sub_816B060(u8 taskId);
|
||||
|
||||
#endif //GUARD_PLAYER_PC_H
|
||||
+4
-1
@@ -6,6 +6,7 @@ const u8 *GetPokemonCategory(u16);
|
||||
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
|
||||
u16 GetNationalPokedexCount(u8);
|
||||
u16 GetHoennPokedexCount(u8);
|
||||
u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
|
||||
|
||||
enum
|
||||
{
|
||||
@@ -15,6 +16,8 @@ enum
|
||||
FLAG_SET_CAUGHT
|
||||
};
|
||||
|
||||
u8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
|
||||
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
|
||||
u16 pokedex_count(u8);
|
||||
u16 sub_80C0844(u8);
|
||||
|
||||
#endif // GUARD_POKEDEX_H
|
||||
|
||||
+32
-6
@@ -30,7 +30,7 @@
|
||||
#define MON_DATA_HP_EV 26
|
||||
#define MON_DATA_ATK_EV 27
|
||||
#define MON_DATA_DEF_EV 28
|
||||
#define MON_DATA_SPD_EV 29
|
||||
#define MON_DATA_SPEED_EV 29
|
||||
#define MON_DATA_SPATK_EV 30
|
||||
#define MON_DATA_SPDEF_EV 31
|
||||
#define MON_DATA_FRIENDSHIP 32
|
||||
@@ -43,7 +43,7 @@
|
||||
#define MON_DATA_HP_IV 39
|
||||
#define MON_DATA_ATK_IV 40
|
||||
#define MON_DATA_DEF_IV 41
|
||||
#define MON_DATA_SPD_IV 42
|
||||
#define MON_DATA_SPEED_IV 42
|
||||
#define MON_DATA_SPATK_IV 43
|
||||
#define MON_DATA_SPDEF_IV 44
|
||||
#define MON_DATA_IS_EGG 45
|
||||
@@ -62,7 +62,7 @@
|
||||
#define MON_DATA_MAX_HP 58
|
||||
#define MON_DATA_ATK 59
|
||||
#define MON_DATA_DEF 60
|
||||
#define MON_DATA_SPD 61
|
||||
#define MON_DATA_SPEED 61
|
||||
#define MON_DATA_SPATK 62
|
||||
#define MON_DATA_SPDEF 63
|
||||
#define MON_DATA_MAIL 64
|
||||
@@ -87,7 +87,7 @@
|
||||
#define MON_DATA_RIBBONS 83
|
||||
#define MON_DATA_ATK2 84
|
||||
#define MON_DATA_DEF2 85
|
||||
#define MON_DATA_SPD2 86
|
||||
#define MON_DATA_SPEED2 86
|
||||
#define MON_DATA_SPATK2 87
|
||||
#define MON_DATA_SPDEF2 88
|
||||
|
||||
@@ -126,6 +126,8 @@
|
||||
#define TYPE_DRAGON 0x10
|
||||
#define TYPE_DARK 0x11
|
||||
|
||||
#define NUMBER_OF_MON_TYPES 0x12
|
||||
|
||||
#define PARTY_SIZE 6
|
||||
#define MAX_TOTAL_EVS 510
|
||||
#define NUM_STATS 6
|
||||
@@ -333,6 +335,8 @@ struct UnknownPokemonStruct
|
||||
u8 friendship;
|
||||
};
|
||||
|
||||
#define BATTLE_STATS_NO 8
|
||||
|
||||
struct BattlePokemon
|
||||
{
|
||||
/*0x00*/ u16 species;
|
||||
@@ -350,7 +354,7 @@ struct BattlePokemon
|
||||
/*0x17*/ u32 spDefenseIV:5;
|
||||
/*0x17*/ u32 isEgg:1;
|
||||
/*0x17*/ u32 altAbility:1;
|
||||
/*0x18*/ s8 statStages[8];
|
||||
/*0x18*/ s8 statStages[BATTLE_STATS_NO];
|
||||
/*0x20*/ u8 ability;
|
||||
/*0x21*/ u8 type1;
|
||||
/*0x22*/ u8 type2;
|
||||
@@ -435,7 +439,7 @@ struct BattleMove
|
||||
u8 pp;
|
||||
u8 secondaryEffectChance;
|
||||
u8 target;
|
||||
u8 priority;
|
||||
s8 priority;
|
||||
u8 flags;
|
||||
};
|
||||
|
||||
@@ -443,6 +447,7 @@ struct BattleMove
|
||||
#define FLAG_PROTECT_AFFECTED 0x2
|
||||
#define FLAG_MAGICCOAT_AFFECTED 0x4
|
||||
#define FLAG_SNATCH_AFFECTED 0x8
|
||||
#define FLAG_MIRROR_MOVE_AFFECTED 0x10
|
||||
#define FLAG_KINGSROCK_AFFECTED 0x20
|
||||
|
||||
struct SpindaSpot
|
||||
@@ -520,6 +525,7 @@ extern struct PokemonStorage* gPokemonStoragePtr;
|
||||
extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1];
|
||||
extern const u16 *const gLevelUpLearnsets[];
|
||||
|
||||
u8 CountAliveMonsInBattle(u8 caseId);
|
||||
#define BATTLE_ALIVE_EXCEPT_ACTIVE 0
|
||||
#define BATTLE_ALIVE_ATK_SIDE 1
|
||||
#define BATTLE_ALIVE_DEF_SIDE 2
|
||||
@@ -620,8 +626,28 @@ bool8 IsPokeSpriteNotFlipped(u16 species);
|
||||
bool8 IsMonShiny(struct Pokemon *mon);
|
||||
bool8 IsShinyOtIdPersonality(u32 otId, u32 personality);
|
||||
|
||||
void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies);
|
||||
bool8 IsTradedMon(struct Pokemon *mon);
|
||||
void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality);
|
||||
s32 sub_806D864(u16 a1);
|
||||
bool16 sub_806D82C(u8 id);
|
||||
u16 MonTryLearningNewMove(struct Pokemon* mon, bool8);
|
||||
void sub_8068AA4(void); // sets stats for deoxys
|
||||
bool8 HasTwoFramesAnimation(u16 species);
|
||||
u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem);
|
||||
void RandomlyGivePartyPokerus(struct Pokemon *party);
|
||||
u8 CheckPartyPokerus(struct Pokemon *party, u8 selection);
|
||||
u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection);
|
||||
void UpdatePartyPokerusTime(u16 days);
|
||||
void PartySpreadPokerus(struct Pokemon *party);
|
||||
s8 GetMonFlavourRelation(struct Pokemon *mon, u8 a2);
|
||||
s8 GetFlavourRelationByPersonality(u32 personality, u8 a2);
|
||||
u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit);
|
||||
|
||||
#include "sprite.h"
|
||||
|
||||
void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3);
|
||||
void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3);
|
||||
void BattleAnimateBackSprite(struct Sprite* sprite, u16 species);
|
||||
|
||||
#endif // GUARD_POKEMON_H
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_POKEMON_3_H
|
||||
#define GUARD_POKEMON_3_H
|
||||
|
||||
const u8* GetTrainerClassNameFromId(u16 trainerId);
|
||||
const u8* GetTrainerNameFromId(u16 trainerId);
|
||||
|
||||
#endif // GUARD_POKEMON_3_H
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_POKEMON_ICON_H
|
||||
#define GUARD_POKEMON_ICON_H
|
||||
|
||||
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
|
||||
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
|
||||
u16 sub_80D2E84(u16 speciesId);
|
||||
void sub_80D2F68(u16 iconId);
|
||||
u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
|
||||
void sub_80D2FF0(u16 iconId);
|
||||
void sub_80D2EF8(struct Sprite *sprite);
|
||||
|
||||
#endif // GUARD_POKEMON_ICON_H
|
||||
@@ -0,0 +1,62 @@
|
||||
#ifndef GUARD_POKEMON_ITEM_EFFECTS
|
||||
#define GUARD_POKEMON_ITEM_EFFECTS
|
||||
|
||||
#include "pokemon.h"
|
||||
|
||||
// TODO once pokemon item effects is decompiled
|
||||
/*
|
||||
struct PokemonItemEffect
|
||||
{
|
||||
//field 0
|
||||
u8 xAtk : 4; // x1, x2, x4, x8 = xF
|
||||
u8 field_0_x10 : 1; // x10
|
||||
u8 critRatioUp : 1; // x20
|
||||
u8 field_0_x40 : 1; // x40
|
||||
u8 cureInfatuation : 1; // x80
|
||||
|
||||
/*field 1
|
||||
u8 xSpeed : 4; // x1, x2, x4, x8 = xF
|
||||
u8 xDefense : 4; // x10, x20, x40, xF0
|
||||
|
||||
/*field 2
|
||||
u8 xSpAtk : 4; // x1, x2, x4, x8 = xF
|
||||
u8 xAccuracy : 4; // x10, x20, x40, xF0
|
||||
|
||||
/*field 3
|
||||
u8 cureConfusion : 1; // x1
|
||||
u8 cureParalysis : 1; // x2
|
||||
u8 cureFreeze : 1; // x4
|
||||
u8 cureBurn : 1; // x8
|
||||
u8 curePoison : 1; // x10
|
||||
u8 cureSleep : 1; // x20
|
||||
u8 field_3_x40 : 1; // x40
|
||||
u8 cantLowerStats : 1; // x80
|
||||
|
||||
/*field 4
|
||||
u8 hpEv : 1; // x1
|
||||
u8 attackEv : 1; // x2
|
||||
u8 healHp : 1; // x4
|
||||
u8 field_4_x8 : 1; // x8
|
||||
u8 field_4_x10 : 1; // x10
|
||||
u8 ppUp : 1; // x20
|
||||
u8 levelUp : 1; // x40
|
||||
u8 evolutionStone : 1; // x80
|
||||
|
||||
/*field 5
|
||||
u8 defEv: 1; // x1
|
||||
u8 speedEv : 1; // x2
|
||||
u8 spDefEv : 1; // x4
|
||||
u8 spAtkEv : 1; // x8
|
||||
u8 ppMax : 1; // x10
|
||||
u8 field_5_x20 : 1; // x20
|
||||
u8 field_5_x40 : 1; // x40
|
||||
u8 field_5_x80 : 1; // x80
|
||||
|
||||
/*field 6
|
||||
u8 value;
|
||||
};
|
||||
*/
|
||||
|
||||
bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 itemId, u8 partyId, u8 monMoveIndex, u8 a5);
|
||||
|
||||
#endif // GUARD_POKEMON_ITEM_EFFECTS
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_POKEMON_STORAGE_SYSTEM_H
|
||||
#define GUARD_POKEMON_STORAGE_SYSTEM_H
|
||||
|
||||
u8* GetBoxNamePtr(u8 boxNumber);
|
||||
struct BoxPokemon *GetBoxedMonPtr(u8, u8);
|
||||
void SetBoxMonNickFromAnyBox(u8, u8, u8 *);
|
||||
|
||||
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef GUARD_RECORDED_BATTLE_H
|
||||
#define GUARD_RECORDED_BATTLE_H
|
||||
|
||||
extern u32 gRecordedBattleRngSeed;
|
||||
|
||||
void sub_8184DA4(u8 arg0);
|
||||
void sub_8185F84(void);
|
||||
void sub_8184E58(void);
|
||||
void RecordedBattle_SetBankAction(u8 bank, u8 action);
|
||||
void RecordedBattle_ClearBankAction(u8 bank, u8 bytesToClear);
|
||||
void sub_8185F90(u16 arg0);
|
||||
bool8 sub_8186450(void);
|
||||
u8 sub_8185FAC(void);
|
||||
u8 sub_8185FB8(void);
|
||||
u8 MoveRecordedBattleToSaveData(void);
|
||||
void sub_818603C(u8);
|
||||
void sub_8185FD0(void);
|
||||
void sub_8186444(void);
|
||||
void sub_8185EB8(void);
|
||||
u8 sub_81850DC(u8 *arg0);
|
||||
|
||||
#endif // GUARD_RECORDED_BATTLE_H
|
||||
@@ -0,0 +1,227 @@
|
||||
#ifndef GUARD_REGION_MAP_H
|
||||
#define GUARD_REGION_MAP_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
enum {
|
||||
REGION_MAP_LITTLEROOT_TOWN,
|
||||
REGION_MAP_OLDALE_TOWN,
|
||||
REGION_MAP_DEWFORD_TOWN,
|
||||
REGION_MAP_LAVARIDGE_TOWN,
|
||||
REGION_MAP_FALLARBOR_TOWN,
|
||||
REGION_MAP_VERDANTURF_TOWN,
|
||||
REGION_MAP_PACIFIDLOG_TOWN,
|
||||
REGION_MAP_PETALBURG_CITY,
|
||||
REGION_MAP_SLATEPORT_CITY,
|
||||
REGION_MAP_MAUVILLE_CITY,
|
||||
REGION_MAP_RUSTBORO_CITY,
|
||||
REGION_MAP_FORTREE_CITY,
|
||||
REGION_MAP_LILYCOVE_CITY,
|
||||
REGION_MAP_MOSSDEEP_CITY,
|
||||
REGION_MAP_SOOTOPOLIS_CITY,
|
||||
REGION_MAP_EVER_GRANDE_CITY,
|
||||
REGION_MAP_ROUTE_101,
|
||||
REGION_MAP_ROUTE_102,
|
||||
REGION_MAP_ROUTE_103,
|
||||
REGION_MAP_ROUTE_104,
|
||||
REGION_MAP_ROUTE_105,
|
||||
REGION_MAP_ROUTE_106,
|
||||
REGION_MAP_ROUTE_107,
|
||||
REGION_MAP_ROUTE_108,
|
||||
REGION_MAP_ROUTE_109,
|
||||
REGION_MAP_ROUTE_110,
|
||||
REGION_MAP_ROUTE_111,
|
||||
REGION_MAP_ROUTE_112,
|
||||
REGION_MAP_ROUTE_113,
|
||||
REGION_MAP_ROUTE_114,
|
||||
REGION_MAP_ROUTE_115,
|
||||
REGION_MAP_ROUTE_116,
|
||||
REGION_MAP_ROUTE_117,
|
||||
REGION_MAP_ROUTE_118,
|
||||
REGION_MAP_ROUTE_119,
|
||||
REGION_MAP_ROUTE_120,
|
||||
REGION_MAP_ROUTE_121,
|
||||
REGION_MAP_ROUTE_122,
|
||||
REGION_MAP_ROUTE_123,
|
||||
REGION_MAP_ROUTE_124,
|
||||
REGION_MAP_ROUTE_125,
|
||||
REGION_MAP_ROUTE_126,
|
||||
REGION_MAP_ROUTE_127,
|
||||
REGION_MAP_ROUTE_128,
|
||||
REGION_MAP_ROUTE_129,
|
||||
REGION_MAP_ROUTE_130,
|
||||
REGION_MAP_ROUTE_131,
|
||||
REGION_MAP_ROUTE_132,
|
||||
REGION_MAP_ROUTE_133,
|
||||
REGION_MAP_ROUTE_134,
|
||||
REGION_MAP_UNDERWATER_124,
|
||||
REGION_MAP_UNDERWATER_125,
|
||||
REGION_MAP_UNDERWATER_126,
|
||||
REGION_MAP_UNDERWATER_127,
|
||||
REGION_MAP_UNDERWATER_128,
|
||||
REGION_MAP_GRANITE_CAVE,
|
||||
REGION_MAP_MT_CHIMNEY,
|
||||
REGION_MAP_SAFARI_ZONE,
|
||||
REGION_MAP_BATTLE_FRONTIER,
|
||||
REGION_MAP_PETALBURG_WOODS,
|
||||
REGION_MAP_RUSTURF_TUNNEL,
|
||||
REGION_MAP_ABANDONED_SHIP,
|
||||
REGION_MAP_NEW_MAUVILLE,
|
||||
REGION_MAP_METEOR_FALLS,
|
||||
REGION_MAP_METEOR_FALLS2,
|
||||
REGION_MAP_MT_PYRE,
|
||||
REGION_MAP_AQUA_HIDEOUT_OLD,
|
||||
REGION_MAP_SHOAL_CAVE,
|
||||
REGION_MAP_SEAFLOOR_CAVERN,
|
||||
REGION_MAP_UNDERWATER,
|
||||
REGION_MAP_VICTORY_ROAD,
|
||||
REGION_MAP_MIRAGE_ISLAND,
|
||||
REGION_MAP_CAVE_OF_ORIGIN,
|
||||
REGION_MAP_SOUTHERN_ISLAND,
|
||||
REGION_MAP_FIERY_PATH,
|
||||
REGION_MAP_FIERY_PATH2,
|
||||
REGION_MAP_JAGGED_PASS,
|
||||
REGION_MAP_JAGGED_PASS2,
|
||||
REGION_MAP_SEALED_CHAMBER,
|
||||
REGION_MAP_UNDERWATER_SEALED_CHAMBER,
|
||||
REGION_MAP_SCORCHED_SLAB,
|
||||
REGION_MAP_ISLAND_CAVE,
|
||||
REGION_MAP_DESERT_RUINS,
|
||||
REGION_MAP_ANCIENT_TOMB,
|
||||
REGION_MAP_INSIDE_OF_TRUCK,
|
||||
REGION_MAP_SKY_PILLAR,
|
||||
REGION_MAP_SECRET_BASE,
|
||||
REGION_MAP_NONE,
|
||||
REGION_MAP_PALLET_TOWN,
|
||||
REGION_MAP_VIRIDIAN_CITY,
|
||||
REGION_MAP_PEWTER_CITY,
|
||||
REGION_MAP_CERULEAN_CITY,
|
||||
REGION_MAP_LAVENDER_TOWN,
|
||||
REGION_MAP_VERMILION_CITY,
|
||||
REGION_MAP_CELADON_CITY,
|
||||
REGION_MAP_FUCHSIA_CITY,
|
||||
REGION_MAP_CINNABAR_ISLAND,
|
||||
REGION_MAP_INDIGO_PLATEAU,
|
||||
REGION_MAP_SAFFRON_CITY,
|
||||
REGION_MAP_ROUTE_4,
|
||||
REGION_MAP_ROUTE_10,
|
||||
REGION_MAP_ROUTE_1,
|
||||
REGION_MAP_ROUTE_2,
|
||||
REGION_MAP_ROUTE_3,
|
||||
REGION_MAP_ROUTE_4_2,
|
||||
REGION_MAP_ROUTE_5,
|
||||
REGION_MAP_ROUTE_6,
|
||||
REGION_MAP_ROUTE_7,
|
||||
REGION_MAP_ROUTE_8,
|
||||
REGION_MAP_ROUTE_9,
|
||||
REGION_MAP_ROUTE_10_2,
|
||||
REGION_MAP_ROUTE_11,
|
||||
REGION_MAP_ROUTE_12,
|
||||
REGION_MAP_ROUTE_13,
|
||||
REGION_MAP_ROUTE_14,
|
||||
REGION_MAP_ROUTE_15,
|
||||
REGION_MAP_ROUTE_16,
|
||||
REGION_MAP_ROUTE_17,
|
||||
REGION_MAP_ROUTE_18,
|
||||
REGION_MAP_ROUTE_19,
|
||||
REGION_MAP_ROUTE_20,
|
||||
REGION_MAP_ROUTE_21,
|
||||
REGION_MAP_ROUTE_22,
|
||||
REGION_MAP_ROUTE_23,
|
||||
REGION_MAP_ROUTE_24,
|
||||
REGION_MAP_ROUTE_25,
|
||||
REGION_MAP_VIRIDIAN_FOREST,
|
||||
REGION_MAP_MT_MOON,
|
||||
REGION_MAP_S_S_ANNE,
|
||||
REGION_MAP_UNDERGROUND_PATH,
|
||||
REGION_MAP_UNDERGROUND_PATH_2,
|
||||
REGION_MAP_DIGLETTS_CAVE,
|
||||
REGION_MAP_KANTO_VICTORY_ROAD,
|
||||
REGION_MAP_ROCKET_HIDEOUT,
|
||||
REGION_MAP_SILPH_CO,
|
||||
REGION_MAP_POKEMON_MANSION,
|
||||
REGION_MAP_KANTO_SAFARI_ZONE,
|
||||
REGION_MAP_POKEMON_LEAGUE,
|
||||
REGION_MAP_ROCK_TUNNEL,
|
||||
REGION_MAP_SEAFOAM_ISLANDS,
|
||||
REGION_MAP_POKEMON_TOWER,
|
||||
REGION_MAP_CERULEAN_CAVE,
|
||||
REGION_MAP_POWER_PLANT,
|
||||
REGION_MAP_ONE_ISLAND,
|
||||
REGION_MAP_TWO_ISLAND,
|
||||
REGION_MAP_THREE_ISLAND,
|
||||
REGION_MAP_FOUR_ISLAND,
|
||||
REGION_MAP_FIVE_ISLAND,
|
||||
REGION_MAP_SEVEN_ISLAND,
|
||||
REGION_MAP_SIX_ISLAND,
|
||||
REGION_MAP_KINDLE_ROAD,
|
||||
REGION_MAP_TREASURE_BEACH,
|
||||
REGION_MAP_CAPE_BRINK,
|
||||
REGION_MAP_BOND_BRIDGE,
|
||||
REGION_MAP_THREE_ISLE_PORT,
|
||||
REGION_MAP_SEVII_ISLE_6,
|
||||
REGION_MAP_SEVII_ISLE_7,
|
||||
REGION_MAP_SEVII_ISLE_8,
|
||||
REGION_MAP_SEVII_ISLE_9,
|
||||
REGION_MAP_RESORT_GORGEOUS,
|
||||
REGION_MAP_WATER_LABYRINTH,
|
||||
REGION_MAP_FIVE_ISLE_MEADOW,
|
||||
REGION_MAP_MEMORIAL_PILLAR,
|
||||
REGION_MAP_OUTCAST_ISLAND,
|
||||
REGION_MAP_GREEN_PATH,
|
||||
REGION_MAP_WATER_PATH,
|
||||
REGION_MAP_RUIN_VALLEY,
|
||||
REGION_MAP_TRAINER_TOWER,
|
||||
REGION_MAP_CANYON_ENTRANCE,
|
||||
REGION_MAP_SEVAULT_CANYON,
|
||||
REGION_MAP_TANOBY_RUINS,
|
||||
REGION_MAP_SEVII_ISLE_22,
|
||||
REGION_MAP_SEVII_ISLE_23,
|
||||
REGION_MAP_SEVII_ISLE_24,
|
||||
REGION_MAP_NAVEL_ROCK,
|
||||
REGION_MAP_MT_EMBER,
|
||||
REGION_MAP_BERRY_FOREST,
|
||||
REGION_MAP_ICEFALL_CAVE,
|
||||
REGION_MAP_ROCKET_WAREHOUSE,
|
||||
REGION_MAP_TRAINER_TOWER_2,
|
||||
REGION_MAP_DOTTED_HOLE,
|
||||
REGION_MAP_LOST_CAVE,
|
||||
REGION_MAP_PATTERN_BUSH,
|
||||
REGION_MAP_ALTERING_CAVE,
|
||||
REGION_MAP_TANOBY_CHAMBERS,
|
||||
REGION_MAP_THREE_ISLE_PATH,
|
||||
REGION_MAP_TANOBY_KEY,
|
||||
REGION_MAP_BIRTH_ISLAND,
|
||||
REGION_MAP_MONEAN_CHAMBER,
|
||||
REGION_MAP_LIPTOO_CHAMBER,
|
||||
REGION_MAP_WEEPTH_CHAMBER,
|
||||
REGION_MAP_DILFORD_CHAMBER,
|
||||
REGION_MAP_SCUFIB_CHAMBER,
|
||||
REGION_MAP_RIXY_CHAMBER,
|
||||
REGION_MAP_VIAPOIS_CHAMBER,
|
||||
REGION_MAP_EMBER_SPA,
|
||||
REGION_MAP_SPECIAL_AREA,
|
||||
REGION_MAP_AQUA_HIDEOUT,
|
||||
REGION_MAP_MAGMA_HIDEOUT,
|
||||
REGION_MAP_MIRAGE_TOWER,
|
||||
REGION_MAP_BIRTH_ISLAND_2,
|
||||
REGION_MAP_FARAWAY_ISLAND,
|
||||
REGION_MAP_ARTISAN_CAVE,
|
||||
REGION_MAP_MARINE_CAVE,
|
||||
REGION_MAP_UNDERWATER_MARINE_CAVE,
|
||||
REGION_MAP_TERRA_CAVE,
|
||||
REGION_MAP_UNDERWATER_TERRA_CAVE,
|
||||
REGION_MAP_UNDERWATER_UNK1,
|
||||
REGION_MAP_UNDERWATER_UNK2,
|
||||
REGION_MAP_DESERT_UNDERPASS,
|
||||
REGION_MAP_ALTERING_CAVE_2,
|
||||
REGION_MAP_NAVEL_ROCK2,
|
||||
REGION_MAP_TRAINER_HILL
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void GetMapName(u8 *, u16, u16);
|
||||
|
||||
#endif //GUARD_REGION_MAP_H
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_RESHOW_BATTLE_SCREEN_H
|
||||
#define GUARD_RESHOW_BATTLE_SCREEN_H
|
||||
|
||||
void nullsub_35(void);
|
||||
void ReshowBattleScreenAfterMenu(void);
|
||||
|
||||
#endif // GUARD_RESHOW_BATTLE_SCREEN_H
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user