Merge branch 'master' into decompile_battle1
This commit is contained in:
@@ -54,7 +54,7 @@
|
||||
#define BATTLE_TYPE_PALACE 0x20000
|
||||
#define BATTLE_TYPE_ARENA 0x40000
|
||||
#define BATTLE_TYPE_FACTORY 0x80000
|
||||
#define BATTLE_TYPE_x100000 0x100000
|
||||
#define BATTLE_TYPE_PIKE 0x100000
|
||||
#define BATTLE_TYPE_PYRAMID 0x200000
|
||||
#define BATTLE_TYPE_INGAME_PARTNER 0x400000
|
||||
#define BATTLE_TYPE_x800000 0x800000
|
||||
@@ -63,7 +63,7 @@
|
||||
#define BATTLE_TYPE_x4000000 0x4000000
|
||||
#define BATTLE_TYPE_SECRET_BASE 0x8000000
|
||||
#define BATTLE_TYPE_GROUDON 0x10000000
|
||||
#define BATTLE_TYPE_KYORGE 0x20000000
|
||||
#define BATTLE_TYPE_KYOGRE 0x20000000
|
||||
#define BATTLE_TYPE_RAYQUAZA 0x40000000
|
||||
#define BATTLE_TYPE_x80000000 0x80000000
|
||||
|
||||
@@ -73,8 +73,8 @@
|
||||
#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 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_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | 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_PIKE)
|
||||
|
||||
#define BATTLE_WON 0x1
|
||||
#define BATTLE_LOST 0x2
|
||||
@@ -230,9 +230,9 @@
|
||||
#define BATTLE_TERRAIN_UNDERWATER 3
|
||||
#define BATTLE_TERRAIN_WATER 4
|
||||
#define BATTLE_TERRAIN_POND 5
|
||||
#define BATTLE_TERRAIN_ROCK 6
|
||||
#define BATTLE_TERRAIN_MOUNTAIN 6
|
||||
#define BATTLE_TERRAIN_CAVE 7
|
||||
#define BATTLE_TERRAIN_INSIDE 8
|
||||
#define BATTLE_TERRAIN_BUILDING 8
|
||||
#define BATTLE_TERRAIN_PLAIN 9
|
||||
|
||||
// array entries for battle communication
|
||||
@@ -328,10 +328,10 @@ struct TrainerMonItemCustomMoves
|
||||
|
||||
union TrainerMonPtr
|
||||
{
|
||||
struct TrainerMonNoItemDefaultMoves* NoItemDefaultMoves;
|
||||
struct TrainerMonNoItemCustomMoves* NoItemCustomMoves;
|
||||
struct TrainerMonItemDefaultMoves* ItemDefaultMoves;
|
||||
struct TrainerMonItemCustomMoves* ItemCustomMoves;
|
||||
struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
|
||||
struct TrainerMonNoItemCustomMoves *NoItemCustomMoves;
|
||||
struct TrainerMonItemDefaultMoves *ItemDefaultMoves;
|
||||
struct TrainerMonItemCustomMoves *ItemCustomMoves;
|
||||
};
|
||||
|
||||
struct Trainer
|
||||
@@ -348,9 +348,6 @@ struct Trainer
|
||||
/*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))
|
||||
|
||||
@@ -1,18 +1,85 @@
|
||||
#ifndef GUARD_BATTLE_SETUP_H
|
||||
#define GUARD_BATTLE_SETUP_H
|
||||
|
||||
void BattleSetup_StartScriptedWildBattle(void);
|
||||
u8 BattleSetup_GetTerrainId(void);
|
||||
u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
|
||||
void BattleSetup_StartBattlePikeWildBattle(void);
|
||||
void BattleSetup_StartWildBattle(void);
|
||||
void BattleSetup_StartRoamerBattle(void);
|
||||
enum
|
||||
{
|
||||
TRAINER_BATTLE_NORMAL,
|
||||
TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC,
|
||||
TRAINER_BATTLE_CONTINUE_SCRIPT,
|
||||
TRAINER_BATTLE_NORMAL_NO_INTRO_TEXT,
|
||||
TRAINER_BATTLE_DOUBLE,
|
||||
TRAINER_BATTLE_REMATCH,
|
||||
TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE,
|
||||
TRAINER_BATTLE_REMATCH_DOUBLE,
|
||||
TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC,
|
||||
TRAINER_BATTLE_9,
|
||||
TRAINER_BATTLE_SET_TRAINER_A,
|
||||
TRAINER_BATTLE_SET_TRAINER_B,
|
||||
TRAINER_BATTLE_12,
|
||||
};
|
||||
|
||||
u8 HasTrainerAlreadyBeenFought(u16);
|
||||
void trainer_flag_set(u16);
|
||||
void trainer_flag_clear(u16);
|
||||
#define REMATCHES_COUNT 5
|
||||
#define REMATCH_TABLE_ENTRIES 78
|
||||
#define REMATCH_WALLY_ENTRY 64
|
||||
#define REMATCH_ELITE_FOUR_ENTRIES 73
|
||||
|
||||
struct RematchTrainer
|
||||
{
|
||||
u16 trainerIds[REMATCHES_COUNT];
|
||||
u16 mapGroup;
|
||||
u16 mapNum;
|
||||
};
|
||||
|
||||
extern const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES];
|
||||
|
||||
extern u16 gTrainerBattleOpponent_A;
|
||||
extern u16 gTrainerBattleOpponent_B;
|
||||
extern u16 gPartnerTrainerId;
|
||||
|
||||
void BattleSetup_StartWildBattle(void);
|
||||
void BattleSetup_StartBattlePikeWildBattle(void);
|
||||
void BattleSetup_StartRoamerBattle(void);
|
||||
void StartWallyTutorialBattle(void);
|
||||
void BattleSetup_StartScriptedWildBattle(void);
|
||||
void BattleSetup_StartLatiBattle(void);
|
||||
void BattleSetup_StartLegendaryBattle(void);
|
||||
void StartGroudonKyogreBattle(void);
|
||||
void StartRegiBattle(void);
|
||||
u8 BattleSetup_GetTerrainId(void);
|
||||
u8 sub_80B100C(s32 arg0);
|
||||
void ChooseStarter(void);
|
||||
void ResetTrainerOpponentIds(void);
|
||||
void SetMapVarsToTrainer(void);
|
||||
const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
|
||||
void ConfigureAndSetUpOneTrainerBattle(u8 trainerMapObjId, const u8 *trainerScript);
|
||||
void ConfigureTwoTrainersBattle(u8 trainerMapObjId, const u8 *trainerScript);
|
||||
void SetUpTwoTrainersBattle(void);
|
||||
bool32 GetTrainerFlagFromScriptPointer(const u8 *data);
|
||||
void sub_80B16D8(void);
|
||||
u8 GetTrainerBattleMode(void);
|
||||
bool8 GetTrainerFlag(void);
|
||||
bool8 HasTrainerBeenFought(u16 trainerId);
|
||||
void SetTrainerFlag(u16 trainerId);
|
||||
void ClearTrainerFlag(u16 trainerId);
|
||||
void BattleSetup_StartTrainerBattle(void);
|
||||
u8 *BattleSetup_GetScriptAddrAfterBattle(void);
|
||||
u8 *BattleSetup_GetTrainerPostBattleScript(void);
|
||||
void BattleSetup_StartRematchBattle(void);
|
||||
void ShowTrainerIntroSpeech(void);
|
||||
const u8 *BattleSetup_GetScriptAddrAfterBattle(void);
|
||||
const u8 *BattleSetup_GetTrainerPostBattleScript(void);
|
||||
void ShowTrainerCantBattleSpeech(void);
|
||||
void SetUpTrainerEncounterMusic(void);
|
||||
const u8 *GetTrainerALoseText(void);
|
||||
const u8 *GetTrainerBLoseText(void);
|
||||
const u8 *GetTrainerWonSpeech(void);
|
||||
void UpdateRematchIfDefeated(s32 rematchTableId);
|
||||
void IncrementRematchStepCounter(void);
|
||||
void TryUpdateRandomTrainerRematches(u16 mapGroup, u16 mapNum);
|
||||
bool32 DoesSomeoneWantRematchIn(u16 mapGroup, u16 mapNum);
|
||||
bool32 IsRematchTrainerIn(u16 mapGroup, u16 mapNum);
|
||||
u16 GetLastBeatenRematchTrainerId(u16 trainerId);
|
||||
bool8 ShouldTryRematchBattle(void);
|
||||
bool8 IsTrainerReadyForRematch(void);
|
||||
void ShouldTryGetTrainerScript(void);
|
||||
u16 CountBattledRematchTeams(u16 trainerId);
|
||||
|
||||
#endif // GUARD_BATTLE_SETUP_H
|
||||
|
||||
@@ -2,5 +2,55 @@
|
||||
#define GUARD_BATTLE_TRANSITION_H
|
||||
|
||||
void sub_8149DFC(u8 a1);
|
||||
void BattleTransition_StartOnField(u8 transitionID);
|
||||
void BattleTransition_Start(u8 transitionID);
|
||||
bool8 IsBattleTransitionDone(void);
|
||||
|
||||
// credits for the names go to Dyskinesia and Tetrable
|
||||
// names are naturally subject to change
|
||||
|
||||
#define B_TRANSITION_BLUR 0
|
||||
#define B_TRANSITION_SWIRL 1
|
||||
#define B_TRANSITION_SHUFFLE 2
|
||||
#define B_TRANSITION_BIG_POKEBALL 3
|
||||
#define B_TRANSITION_POKEBALLS_TRAIL 4
|
||||
#define B_TRANSITION_CLOCKWISE_BLACKFADE 5
|
||||
#define B_TRANSITION_RIPPLE 6
|
||||
#define B_TRANSITION_WAVE 7
|
||||
#define B_TRANSITION_SLICE 8
|
||||
#define B_TRANSITION_WHITEFADE 9
|
||||
#define B_TRANSITION_GRID_SQUARES 10
|
||||
#define B_TRANSITION_SHARDS 11
|
||||
#define B_TRANSITION_SYDNEY 12
|
||||
#define B_TRANSITION_PHOEBE 13
|
||||
#define B_TRANSITION_GLACIA 14
|
||||
#define B_TRANSITION_DRAKE 15
|
||||
#define B_TRANSITION_CHAMPION 16
|
||||
// added in Emerald
|
||||
#define B_TRANSITION_AQUA 17
|
||||
#define B_TRANSITION_MAGMA 18
|
||||
#define B_TRANSITION_REGICE 19
|
||||
#define B_TRANSITION_REGISTEEL 20
|
||||
#define B_TRANSITION_REGIROCK 21
|
||||
#define B_TRANSITION_KYOGRE 22
|
||||
#define B_TRANSITION_GROUDON 23
|
||||
#define B_TRANSITION_RAYQUAZA 24
|
||||
#define B_TRANSITION_25 25
|
||||
#define B_TRANSITION_26 26
|
||||
#define B_TRANSITION_27 27
|
||||
#define B_TRANSITION_28 28
|
||||
#define B_TRANSITION_29 29
|
||||
#define B_TRANSITION_30 30
|
||||
#define B_TRANSITION_31 31
|
||||
#define B_TRANSITION_32 32
|
||||
#define B_TRANSITION_33 33
|
||||
#define B_TRANSITION_34 34
|
||||
#define B_TRANSITION_35 35
|
||||
#define B_TRANSITION_36 36
|
||||
#define B_TRANSITION_37 37
|
||||
#define B_TRANSITION_38 38
|
||||
#define B_TRANSITION_39 39
|
||||
#define B_TRANSITION_40 40
|
||||
#define B_TRANSITION_41 41
|
||||
|
||||
#endif // GUARD_BATTLE_TRANSITION_H
|
||||
|
||||
@@ -303,7 +303,7 @@
|
||||
#define FLAG_0x12C 0x12C
|
||||
#define FLAG_0x12D 0x12D
|
||||
#define FLAG_0x12E 0x12E
|
||||
#define FLAG_0x12F 0x12F
|
||||
#define FLAG_HAS_MATCH_CALL 0x12F
|
||||
#define FLAG_0x130 0x130
|
||||
#define FLAG_0x131 0x131
|
||||
#define FLAG_0x132 0x132
|
||||
@@ -348,7 +348,7 @@
|
||||
#define FLAG_0x159 0x159
|
||||
#define FLAG_0x15A 0x15A
|
||||
#define FLAG_0x15B 0x15B
|
||||
#define FLAG_0x15C 0x15C
|
||||
#define FLAG_MATCH_CALL_REGISTERED 0x15C
|
||||
#define FLAG_0x15D 0x15D
|
||||
#define FLAG_0x15E 0x15E
|
||||
#define FLAG_0x15F 0x15F
|
||||
|
||||
1129
include/constants/trainers.h
Normal file
1129
include/constants/trainers.h
Normal file
File diff suppressed because it is too large
Load Diff
@@ -50,11 +50,14 @@
|
||||
#define VAR_RESET_RTC_ENABLE 0x402C
|
||||
#define VAR_0x402D 0x402D
|
||||
#define VAR_0x402E 0x402E
|
||||
#define VAR_0x402F 0x402F
|
||||
#define VAR_0x4030 0x4030
|
||||
#define VAR_0x4031 0x4031
|
||||
#define VAR_0x4032 0x4032
|
||||
#define VAR_0x4033 0x4033
|
||||
|
||||
#define VAR_FRONTIER_MANIAC_FACILITY 0x402F
|
||||
|
||||
#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030
|
||||
#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031
|
||||
#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032
|
||||
#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033
|
||||
|
||||
#define VAR_0x4034 0x4034
|
||||
#define VAR_0x4035 0x4035
|
||||
#define VAR_STORAGE_UNKNOWN 0x4036
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
|
||||
void InitDewfordTrend(void);
|
||||
void UpdateDewfordTrendPerDay(u16);
|
||||
void UpdateDewfordTrendPerDay(u16 days);
|
||||
|
||||
#endif // GUARD_DEWFORDTREND_H
|
||||
|
||||
@@ -7,10 +7,18 @@
|
||||
|
||||
extern const u8 gUnknown_0823B4E8[];
|
||||
extern const u8 gUnknown_0823B5E9[];
|
||||
extern const u8 EventScript_TestSignpostMsg[];
|
||||
extern const u8 EventScript_TryGetTrainerScript[];
|
||||
extern const u8 EventScript_275BB7[];
|
||||
extern const u8 EventScript_275D0C[];
|
||||
extern const u8 EventScript_275D1F[];
|
||||
extern const u8 EventScript_275D2E[];
|
||||
extern const u8 EventScript_271354[];
|
||||
extern const u8 EventScript_2713C2[];
|
||||
extern const u8 EventScript_TryDoDoubleTrainerBattle[];
|
||||
extern const u8 EventScript_271362[];
|
||||
extern const u8 EventScript_TryDoDoubleRematchBattle[];
|
||||
extern const u8 EventScript_2713D1[];
|
||||
extern const u8 EventScript_2766A2[];
|
||||
extern const u8 EventScript_2766A6[];
|
||||
|
||||
|
||||
@@ -76,6 +76,8 @@ void MoveCoords(u8, s16 *, s16 *);
|
||||
bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
|
||||
u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
|
||||
u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z);
|
||||
void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern);
|
||||
u8 npc_running_behaviour_by_direction(u8 direction);
|
||||
|
||||
// Exported data declarations
|
||||
|
||||
|
||||
@@ -9,5 +9,6 @@
|
||||
void pal_fill_black(void);
|
||||
bool8 sub_80ABDFC(void);
|
||||
void sub_80AF168(void);
|
||||
void UpdateWeatherPerDay(u16 days);
|
||||
|
||||
#endif //GUARD_FIELD_SCREEN_H
|
||||
|
||||
@@ -78,6 +78,81 @@
|
||||
#define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16)
|
||||
#define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32)
|
||||
|
||||
#define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \
|
||||
{ \
|
||||
const void *_src = src; \
|
||||
void *_dest = dest; \
|
||||
u32 _size = size; \
|
||||
while (1) \
|
||||
{ \
|
||||
DmaCopy##bit(dmaNum, _src, _dest, (block)); \
|
||||
_src += (block); \
|
||||
_dest += (block); \
|
||||
_size -= (block); \
|
||||
if (_size <= (block)) \
|
||||
{ \
|
||||
DmaCopy##bit(dmaNum, _src, _dest, _size); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
#define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16)
|
||||
|
||||
#define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32)
|
||||
|
||||
#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \
|
||||
{ \
|
||||
void *_dest = dest; \
|
||||
u32 _size = size; \
|
||||
while (1) \
|
||||
{ \
|
||||
DmaFill##bit(dmaNum, value, _dest, (block)); \
|
||||
_dest += (block); \
|
||||
_size -= (block); \
|
||||
if (_size <= (block)) \
|
||||
{ \
|
||||
DmaFill##bit(dmaNum, value, _dest, _size); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
#define DmaFillLarge16(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 16)
|
||||
|
||||
#define DmaFillLarge32(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 32)
|
||||
|
||||
#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \
|
||||
{ \
|
||||
const void *_src = src; \
|
||||
void *_dest = dest; \
|
||||
u32 _size = size; \
|
||||
DmaCopy##bit(dmaNum, _src, _dest, _size); \
|
||||
}
|
||||
|
||||
#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16)
|
||||
#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32)
|
||||
|
||||
#define DmaFillDefvars(dmaNum, value, dest, size, bit) \
|
||||
{ \
|
||||
void *_dest = dest; \
|
||||
u32 _size = size; \
|
||||
DmaFill##bit(dmaNum, value, _dest, _size); \
|
||||
}
|
||||
|
||||
#define DmaFill16Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 16)
|
||||
#define DmaFill32Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 32)
|
||||
|
||||
#define DmaClearDefvars(dmaNum, dest, size, bit) \
|
||||
{ \
|
||||
void *_dest = dest; \
|
||||
u32 _size = size; \
|
||||
DmaClear##bit(dmaNum, _dest, _size); \
|
||||
}
|
||||
|
||||
#define DmaClear16Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 16)
|
||||
#define DmaClear32Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 32)
|
||||
|
||||
#define DmaStop(dmaNum) \
|
||||
{ \
|
||||
vu16 *dmaRegs = (vu16 *)REG_ADDR_DMA##dmaNum; \
|
||||
|
||||
@@ -36,6 +36,24 @@ extern u8 gStringVar2[];
|
||||
extern u8 gStringVar3[];
|
||||
extern u8 gStringVar4[];
|
||||
|
||||
// There are many quirks in the source code which have overarching behavioral differences from
|
||||
// a number of other files. For example, diploma.c seems to declare rodata before each use while
|
||||
// other files declare out of order and must be at the beginning. There are also a number of
|
||||
// macros which differ from one file to the next due to the method of obtaining the result, such
|
||||
// as these below. Because of this, there is a theory (Two Team Theory) that states that these
|
||||
// programming projects had more than 1 "programming team" which utilized different macros for
|
||||
// each of the files that were worked on.
|
||||
#define T1_READ_8(ptr) ((ptr)[0])
|
||||
#define T1_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8))
|
||||
#define T1_READ_32(ptr) ((ptr)[0] | ((ptr)[1] << 8) | ((ptr)[2] << 16) | ((ptr)[3] << 24))
|
||||
#define T1_READ_PTR(ptr) (u8*) T1_READ_32(ptr)
|
||||
|
||||
// T2_READ_8 is a duplicate to remain consistent with each group.
|
||||
#define T2_READ_8(ptr) ((ptr)[0])
|
||||
#define T2_READ_16(ptr) ((ptr)[0] + ((ptr)[1] << 8))
|
||||
#define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
|
||||
#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr)
|
||||
|
||||
enum
|
||||
{
|
||||
VERSION_SAPPHIRE = 1,
|
||||
@@ -45,7 +63,8 @@ enum
|
||||
VERSION_LEAF_GREEN = 5,
|
||||
};
|
||||
|
||||
enum LanguageId {
|
||||
enum LanguageId
|
||||
{
|
||||
LANGUAGE_JAPANESE = 1,
|
||||
LANGUAGE_ENGLISH = 2,
|
||||
LANGUAGE_FRENCH = 3,
|
||||
@@ -222,7 +241,7 @@ struct SaveBlock2
|
||||
/*0x1EC*/ struct BerryCrush berryCrush;
|
||||
/*0x1FC*/ struct PokemonJumpResults pokeJump;
|
||||
/*0x20C*/ struct BerryPickingResults berryPick;
|
||||
/*0x214*/ u8 field_214[1032];
|
||||
/*0x21C*/ u8 field_21C[1032];
|
||||
/*0x624*/ u16 contestLinkResults[20]; // 4 positions for 5 categories, possibly a struct or a 2d array
|
||||
|
||||
// All below could be a one giant struct
|
||||
@@ -244,7 +263,7 @@ struct SaveBlock2
|
||||
/*0xCA9*/ u8 field_CA9_f : 1; // 0x80
|
||||
/*0xCAA*/ u16 field_CAA[4];
|
||||
/*0xCB2*/ u16 battlePyramidWildHeaderId;
|
||||
/*0xCB4*/ u8 field_CB4[82];
|
||||
/*0xCB4*/ u16 field_CB4[41];
|
||||
/*0xD06*/ u8 field_D06;
|
||||
/*0xD07*/ u8 field_D07;
|
||||
/*0xD08*/ u8 filler_D08[0x112];
|
||||
@@ -360,10 +379,12 @@ struct EasyChatPair
|
||||
u16 words[2];
|
||||
}; /*size = 0x8*/
|
||||
|
||||
#define MAIL_WORDS_COUNT 9
|
||||
|
||||
struct MailStruct
|
||||
{
|
||||
/*0x00*/ u16 words[9];
|
||||
/*0x12*/ u8 playerName[8];
|
||||
/*0x00*/ u16 words[MAIL_WORDS_COUNT];
|
||||
/*0x12*/ u8 playerName[PLAYER_NAME_LENGTH];
|
||||
/*0x1A*/ u8 trainerId[4];
|
||||
/*0x1E*/ u16 species;
|
||||
/*0x20*/ u16 itemId;
|
||||
|
||||
@@ -117,6 +117,11 @@ extern const u8 gUnknown_08DB9F08[];
|
||||
extern const u8 gUnknown_08DB9FFC[];
|
||||
extern const u8 gUnknown_08DBA020[];
|
||||
extern const u8 gUnknown_08DBA12C[];
|
||||
extern const u8 gUnknown_08DCC05C[];
|
||||
extern const u16 gUnknown_08DCC01C[];
|
||||
extern const u16 gUnknown_08DCC03C[];
|
||||
extern const u8 gUnknown_08DCC648[];
|
||||
extern const u8 gUnknown_08DCC908[];
|
||||
extern const u8 gUnknown_08DD87C0[];
|
||||
extern const u8 gUnknown_08DD8EE0[];
|
||||
extern const u16 gUnknown_08DD8780[];
|
||||
|
||||
@@ -14,7 +14,7 @@ s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2);
|
||||
// sub_81DB41C
|
||||
// CopyMonCategoryText
|
||||
// sub_81DB494
|
||||
// sub_81DB4DC
|
||||
void PadNameString(u8 *dst, u8 padWith);
|
||||
// sub_81DB554
|
||||
// sub_81DB5AC
|
||||
u32 sub_81DB604(const u8 *);
|
||||
|
||||
@@ -14,10 +14,20 @@
|
||||
|| itemId == ITEM_FAB_MAIL \
|
||||
|| itemId == ITEM_RETRO_MAIL))
|
||||
|
||||
// mail.h
|
||||
void ReadMail(struct MailStruct *mail, void (*callback)(void), bool8 flag);
|
||||
|
||||
bool8 MonHasMail(struct Pokemon *mon);
|
||||
void TakeMailFromMon(struct Pokemon *mon);
|
||||
u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail);
|
||||
// mail_data.h
|
||||
void ClearMailData(void);
|
||||
void ClearMailStruct(struct MailStruct *mail);
|
||||
bool8 MonHasMail(struct Pokemon *mon);
|
||||
u8 GiveMailToMon(struct Pokemon *mon, u16 itemId);
|
||||
u16 SpeciesToMailSpecies(u16 species, u32 personality);
|
||||
u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer);
|
||||
u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail);
|
||||
void TakeMailFromMon(struct Pokemon *mon);
|
||||
void ClearMailItemId(u8 mailId);
|
||||
u8 TakeMailFromMon2(struct Pokemon *mon);
|
||||
bool8 ItemIsMail(u16 itemId);
|
||||
|
||||
#endif // GUARD_MAIL_H
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#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
|
||||
@@ -29,7 +29,7 @@ int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u
|
||||
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);
|
||||
s8 ProcessMenuInputNoWrap_(void);
|
||||
void do_scheduled_bg_tilemap_copies_to_vram(void);
|
||||
void clear_scheduled_bg_copies_to_vram(void);
|
||||
void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str);
|
||||
|
||||
@@ -653,6 +653,7 @@ u8 GetSecretBaseTrainerPicIndex(void);
|
||||
bool8 TryIncrementMonLevel(struct Pokemon *mon);
|
||||
void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon);
|
||||
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves);
|
||||
u8 GetMonsStateToDoubles_2(void);
|
||||
|
||||
#include "sprite.h"
|
||||
|
||||
|
||||
@@ -3,5 +3,7 @@
|
||||
|
||||
const u8* GetTrainerClassNameFromId(u16 trainerId);
|
||||
const u8* GetTrainerNameFromId(u16 trainerId);
|
||||
void PlayMapChosenOrBattleBGM(u16 song);
|
||||
u8 GetTrainerEncounterMusicId(u16 trainerOpponentId);
|
||||
|
||||
#endif // GUARD_POKEMON_3_H
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
|
||||
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
|
||||
u16 GetUnownLetterByPersonality(u32 personality);
|
||||
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);
|
||||
|
||||
@@ -5,5 +5,11 @@ void sub_81357FC(u8, void(void));
|
||||
u8 GetLeadMonIndex(void);
|
||||
u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y);
|
||||
void sub_813BADC(bool8);
|
||||
bool8 sub_813B9C0(void);
|
||||
void UpdateMirageRnd(u16 days);
|
||||
void UpdateBirchState(u16 days);
|
||||
void UpdateFrontierManiac(u16 days);
|
||||
void UpdateFrontierGambler(u16 days);
|
||||
void SetShoalItemFlag(u16 days);
|
||||
|
||||
#endif //GUARD_ROM6_H
|
||||
|
||||
@@ -13,6 +13,8 @@ void ExitSafariMode(void);
|
||||
bool8 SafariZoneTakeStep(void);
|
||||
void SafariZoneRetirePrompt(void);
|
||||
|
||||
void CB2_EndSafariBattle(void);
|
||||
|
||||
struct Pokeblock *SafariZoneGetActivePokeblock(void);
|
||||
void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index);
|
||||
|
||||
|
||||
@@ -9,5 +9,6 @@
|
||||
void sub_80E9578(void);
|
||||
void sub_80E980C(void);
|
||||
u8 *GetSecretBaseMapName(u8 *dest);
|
||||
const u8 *GetSecretBaseTrainerLoseText(void);
|
||||
|
||||
#endif //GUARD_SECRET_BASE_H
|
||||
|
||||
@@ -372,20 +372,20 @@ enum
|
||||
BGM_BATTLE_DOME_TOURNAMENT,
|
||||
BGM_BATTLE_PIKE,
|
||||
BGM_BATTLE_FACTORY,
|
||||
BGM_BATTLE_LEGENDARY,
|
||||
BGM_BATTLE_FRONTIER_BRAIN,
|
||||
BGM_BATTLE_MEW,
|
||||
BGM_BATTLE_DOME, // end of the human-readable names
|
||||
/*0x1D6*/ BGM_BATTLE_LEGENDARY,
|
||||
/*0x1D7*/ BGM_BATTLE_FRONTIER_BRAIN,
|
||||
/*0x1D8*/ BGM_BATTLE_MEW,
|
||||
/*0x1D9*/ BGM_BATTLE_DOME, // end of the human-readable names
|
||||
/*0x1DA*/ BGM_BATTLE27, // wild
|
||||
BGM_BATTLE31, // aqua/magma grunt
|
||||
BGM_BATTLE20, // trainer
|
||||
BGM_BATTLE32, // gym leader
|
||||
BGM_BATTLE33, // champion
|
||||
BGM_BATTLE36, // regi
|
||||
BGM_BATTLE34, // weather trio
|
||||
BGM_BATTLE35, // rival
|
||||
BGM_BATTLE38, // elite four
|
||||
BGM_BATTLE30, // aqua/magma leader
|
||||
/*0x1DB*/ BGM_BATTLE31, // aqua/magma grunt
|
||||
/*0x1DC*/ BGM_BATTLE20, // trainer
|
||||
/*0x1DD*/ BGM_BATTLE32, // gym leader
|
||||
/*0x1DE*/ BGM_BATTLE33, // champion
|
||||
/*0x1DF*/ BGM_BATTLE36, // regi
|
||||
/*0x1E0*/ BGM_BATTLE34, // weather trio
|
||||
/*0x1E1*/ BGM_BATTLE35, // rival
|
||||
/*0x1E2*/ BGM_BATTLE38, // elite four
|
||||
/*0x1E3*/ BGM_BATTLE30, // aqua/magma leader
|
||||
/*0x1E4*/ BGM_FRLG_FOLLOW_ME, // FR/LG names not known, human-readable again!
|
||||
BGM_FRLG_GAMECORNER,
|
||||
BGM_FRLG_ROCKET_HIDEOUT,
|
||||
@@ -453,14 +453,14 @@ enum
|
||||
BGM_FRLG_ISLAND_FOUR,
|
||||
BGM_FRLG_ISLAND_SIX,
|
||||
BGM_FRLG_FLUTE,
|
||||
BGM_FRLG_BATTLE_DEOXYS,
|
||||
BGM_FRLG_BATTLE_MEWTWO,
|
||||
BGM_FRLG_BATTLE_LEGENDARY,
|
||||
BGM_FRLG_LEADER_EYE,
|
||||
BGM_FRLG_DEOXYS_EYE,
|
||||
BGM_FRLG_TRAINER_TOWER,
|
||||
BGM_FRLG_HALL_OF_FAME_PALLET_TOWN,
|
||||
/*0x22E*/BGM_FRLG_TEACHY_TV,
|
||||
/*0x227*/ BGM_FRLG_BATTLE_DEOXYS,
|
||||
/*0x228*/ BGM_FRLG_BATTLE_MEWTWO,
|
||||
/*0x229*/ BGM_FRLG_BATTLE_LEGENDARY,
|
||||
/*0x22A*/ BGM_FRLG_LEADER_EYE,
|
||||
/*0x22B*/ BGM_FRLG_DEOXYS_EYE,
|
||||
/*0x22C*/ BGM_FRLG_TRAINER_TOWER,
|
||||
/*0x22D*/ BGM_FRLG_HALL_OF_FAME_PALLET_TOWN,
|
||||
/*0x22E*/ BGM_FRLG_TEACHY_TV,
|
||||
};
|
||||
|
||||
#endif // GUARD_SONGS_H
|
||||
|
||||
@@ -82,6 +82,10 @@ extern const u8 gText_NoRegistry[];
|
||||
extern const u8 gText_OkayToDeleteFromRegistry[];
|
||||
extern const u8 gText_RegisteredDataDeleted[];
|
||||
extern const u8 gUnknown_085EA79D[];
|
||||
extern const u8 gText_EmptyString2[];
|
||||
extern const u8 gText_Confirm3[];
|
||||
extern const u8 gText_Cancel4[];
|
||||
extern const u8 gText_IsThisTheCorrectTime[];
|
||||
extern const u8 gText_PkmnFainted3[];
|
||||
extern const u8 gText_Coins[];
|
||||
extern const u8 gText_Draw[];
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
#ifndef GUARD_TRAINER_CLASSES_H
|
||||
#define GUARD_TRAINER_CLASSES_H
|
||||
|
||||
enum
|
||||
{
|
||||
CLASS_PKMN_TRAINER0, // 0
|
||||
CLASS_PKMN_TRAINER1, // 1
|
||||
CLASS_HIKER, // 2
|
||||
CLASS_TEAM_AQUA, // 3
|
||||
CLASS_PKMN_BREEDER, // 4
|
||||
CLASS_COOLTRAINER, // 5
|
||||
CLASS_BIRDKEEPER, // 6
|
||||
CLASS_COLLECTOR, // 7
|
||||
CLASS_SWIMMER_MALE, // 8
|
||||
CLASS_TEAM_MAGMA, // 9
|
||||
CLASS_EXPERT, // 0xA
|
||||
CLASS_AQUA_ADMIN, // 0xB
|
||||
CLASS_BLACK_BELT, // 0xC
|
||||
CLASS_AQUA_LEADER, // 0xD
|
||||
CLASS_HEX_MANIAC, // 0xE
|
||||
CLASS_AROMA_LADY, // 0xF
|
||||
CLASS_RUIN_MANIAC, // 0x10
|
||||
CLASS_INTERVIEWER, // 0x11
|
||||
CLASS_TUBER_FEMALE, // 0x12
|
||||
CLASS_TUBER_MALE, // 0x13
|
||||
CLASS_LADY, // 0x14
|
||||
CLASS_BEAUTY, // 0x15
|
||||
CLASS_RICH_BOY, // 0x16
|
||||
CLASS_POKEMANIAC, // 0x17
|
||||
CLASS_GUITARIST, // 0x18
|
||||
CLASS_KINDLER, // 0x19
|
||||
CLASS_CAMPER, // 0x1A
|
||||
CLASS_PICKNICKER, // 0x1B
|
||||
CLASS_BUG_MANIAC, // 0x1C
|
||||
CLASS_PSYCHIC, // 0x1D
|
||||
CLASS_GENTLEMAN, // 0x1E
|
||||
CLASS_ELITE_FOUR, // 0x1F
|
||||
CLASS_LEADER, // 0x20
|
||||
CLASS_SCHOOL_KID, // 0x21
|
||||
CLASS_SCHOOL_SR_JR, // 0x22
|
||||
CLASS_WINSTRATE, // 0x23
|
||||
CLASS_POKE_FAN, // 0x24
|
||||
CLASS_YOUNGSTER, // 0x25
|
||||
CLASS_CHAMPION, // 0x26
|
||||
CLASS_FISHERMAN, // 0x27
|
||||
CLASS_TRIATHLETE, // 0x28
|
||||
CLASS_DRAGON_TAMER, // 0x29
|
||||
CLASS_NINJA_BOY, // 0x2A
|
||||
CLASS_BATTLE_GIRL, // 0x2B
|
||||
CLASS_PARASOL_LADY, // 0x2C
|
||||
CLASS_SWIMMER_FEMALE, // 0x2D
|
||||
CLASS_TWINS, // 0x2E
|
||||
CLASS_SAILOR, // 0x2F
|
||||
CLASS_COOLTRAINER_2, // 0x30
|
||||
CLASS_MAGMA_ADMIN, // 0x31
|
||||
CLASS_PKMN_TRAINER_RIVAL, // 0x32
|
||||
CLASS_BUG_CATCHER, // 0x33
|
||||
CLASS_PKMN_RANGER, // 0x34
|
||||
CLASS_MAGMA_LEADER, // 0x35
|
||||
CLASS_LASS, // 0x36
|
||||
CLASS_YOUNG_COUPLE, // 0x37
|
||||
CLASS_OLD_COUPLE, // 0x38
|
||||
CLASS_SIS_AND_BRO, // 0x39
|
||||
CLASS_SALON_MAIDEN, // 0x3A
|
||||
CLASS_DOME_ACE, // 0x3B
|
||||
CLASS_PALACE_MAVEN, // 0x3C
|
||||
CLASS_ARENA_TYCOON, // 0x3D
|
||||
CLASS_FACTORY_HEAD, // 0x3E
|
||||
CLASS_PIKE_QUEEN, // 0x3F
|
||||
CLASS_PYRAMID_KING, // 0x40
|
||||
CLASS_PKMN_TRAINER2, // 0x41
|
||||
};
|
||||
|
||||
#endif // GUARD_TRAINER_CLASSES_H
|
||||
@@ -1,101 +0,0 @@
|
||||
#ifndef GUARD_TRAINER_FRONT_SPRITES_H
|
||||
#define GUARD_TRAINER_FRONT_SPRITES_H
|
||||
|
||||
enum
|
||||
{
|
||||
TRAINER_FRONT_PIC_HIKER,
|
||||
TRAINER_FRONT_PIC_AQUA_GRUNT_M,
|
||||
TRAINER_FRONT_PIC_PKMN_BREEDER_F,
|
||||
TRAINER_FRONT_PIC_COOLTRAINER_M,
|
||||
TRAINER_FRONT_PIC_BIRD_KEEPER,
|
||||
TRAINER_FRONT_PIC_COLLECTOR,
|
||||
TRAINER_FRONT_PIC_AQUA_GRUNT_F,
|
||||
TRAINER_FRONT_PIC_SWIMMER_M,
|
||||
TRAINER_FRONT_PIC_MAGMA_GRUNT_M,
|
||||
TRAINER_FRONT_PIC_EXPERT_M,
|
||||
TRAINER_FRONT_PIC_AQUA_ADMIN_M,
|
||||
TRAINER_FRONT_PIC_BLACK_BELT,
|
||||
TRAINER_FRONT_PIC_AQUA_ADMIN_F,
|
||||
TRAINER_FRONT_PIC_AQUA_LEADER,
|
||||
TRAINER_FRONT_PIC_HEX_MANIAC,
|
||||
TRAINER_FRONT_PIC_AROMA_LADY,
|
||||
TRAINER_FRONT_PIC_RUIN_MANIAC,
|
||||
TRAINER_FRONT_PIC_INTERVIEWER,
|
||||
TRAINER_FRONT_PIC_TUBER_F,
|
||||
TRAINER_FRONT_PIC_TUBER_M,
|
||||
TRAINER_FRONT_PIC_COOLTRAINER_F,
|
||||
TRAINER_FRONT_PIC_LADY,
|
||||
TRAINER_FRONT_PIC_BEAUTY,
|
||||
TRAINER_FRONT_PIC_RICH_BOY,
|
||||
TRAINER_FRONT_PIC_EXPERT_F,
|
||||
TRAINER_FRONT_PIC_POKE_MANIAC,
|
||||
TRAINER_FRONT_PIC_MAGMA_GRUNT_F,
|
||||
TRAINER_FRONT_PIC_GUITARIST,
|
||||
TRAINER_FRONT_PIC_KINDLER,
|
||||
TRAINER_FRONT_PIC_CAMPER,
|
||||
TRAINER_FRONT_PIC_PICNICKER,
|
||||
TRAINER_FRONT_PIC_BUG_MANIAC,
|
||||
TRAINER_FRONT_PIC_PKMN_BREEDER_M,
|
||||
TRAINER_FRONT_PIC_PSYCHIC_M,
|
||||
TRAINER_FRONT_PIC_PSYCHIC_F,
|
||||
TRAINER_FRONT_PIC_GENTLEMAN,
|
||||
TRAINER_FRONT_PIC_SIDNEY,
|
||||
TRAINER_FRONT_PIC_PHOEBE,
|
||||
TRAINER_FRONT_PIC_GLACIA,
|
||||
TRAINER_FRONT_PIC_DRAKE,
|
||||
TRAINER_FRONT_PIC_ROXANNE,
|
||||
TRAINER_FRONT_PIC_BRAWLY,
|
||||
TRAINER_FRONT_PIC_WATTSON,
|
||||
TRAINER_FRONT_PIC_FLANNERY,
|
||||
TRAINER_FRONT_PIC_NORMAN,
|
||||
TRAINER_FRONT_PIC_WINONA,
|
||||
TRAINER_FRONT_PIC_TATE_LIZA,
|
||||
TRAINER_FRONT_PIC_JUAN,
|
||||
TRAINER_FRONT_PIC_SCHOOL_KID_M,
|
||||
TRAINER_FRONT_PIC_SCHOOL_KID_F,
|
||||
TRAINER_FRONT_PIC_SR_JR,
|
||||
TRAINER_FRONT_PIC_POKÉFAN_M,
|
||||
TRAINER_FRONT_PIC_POKÉFAN_F,
|
||||
TRAINER_FRONT_PIC_YOUNGSTER,
|
||||
TRAINER_FRONT_PIC_WALLACE,
|
||||
TRAINER_FRONT_PIC_FISHERMAN,
|
||||
TRAINER_FRONT_PIC_TRIATHLETE_BIKER_M,
|
||||
TRAINER_FRONT_PIC_TRIATHLETE_BIKER_F,
|
||||
TRAINER_FRONT_PIC_TRIATHLETE_JOGGER_M,
|
||||
TRAINER_FRONT_PIC_TRIATHLETE_JOGGER_F,
|
||||
TRAINER_FRONT_PIC_TRIATHLETE_SWIMMER_M,
|
||||
TRAINER_FRONT_PIC_TRIATHLETE_SWIMMER_F,
|
||||
TRAINER_FRONT_PIC_DRAGON_TAMER,
|
||||
TRAINER_FRONT_PIC_NINJA_BOY,
|
||||
TRAINER_FRONT_PIC_BATTLE_GIRL,
|
||||
TRAINER_FRONT_PIC_PARASOL_LADY,
|
||||
TRAINER_FRONT_PIC_SWIMMER_F,
|
||||
TRAINER_FRONT_PIC_TWINS,
|
||||
TRAINER_FRONT_PIC_SAILOR,
|
||||
TRAINER_FRONT_PIC_MAGMA_ADMIN_M,
|
||||
TRAINER_FRONT_PIC_WALLY,
|
||||
TRAINER_FRONT_PIC_BRENDAN_E,
|
||||
TRAINER_FRONT_PIC_MAY_E,
|
||||
TRAINER_FRONT_PIC_BUG_CATCHER,
|
||||
TRAINER_FRONT_PIC_PKMN_RANGER_M,
|
||||
TRAINER_FRONT_PIC_PKMN_RANGER_F,
|
||||
TRAINER_FRONT_PIC_MAGMA_LEADER,
|
||||
TRAINER_FRONT_PIC_LASS,
|
||||
TRAINER_FRONT_PIC_YOUNG_COUPLE,
|
||||
TRAINER_FRONT_PIC_OLD_COUPLE,
|
||||
TRAINER_FRONT_PIC_SIS_AND_BRO,
|
||||
TRAINER_FRONT_PIC_STEVEN,
|
||||
TRAINER_FRONT_PIC_ANABEL,
|
||||
TRAINER_FRONT_PIC_TUCKER,
|
||||
TRAINER_FRONT_PIC_SPENSER,
|
||||
TRAINER_FRONT_PIC_GRETA,
|
||||
TRAINER_FRONT_PIC_NOLAND,
|
||||
TRAINER_FRONT_PIC_LUCY,
|
||||
TRAINER_FRONT_PIC_BRANDON,
|
||||
TRAINER_FRONT_PIC_RED,
|
||||
TRAINER_FRONT_PIC_LEAF,
|
||||
TRAINER_FRONT_PIC_BRENDAN_RS,
|
||||
TRAINER_FRONT_PIC_MAY_RS
|
||||
};
|
||||
|
||||
#endif // GUARD_TRAINER_FRONT_SPRITES_H
|
||||
@@ -1,7 +0,0 @@
|
||||
#ifndef GUARD_TRAINER_IDS_H
|
||||
#define GUARD_TRAINER_IDS_H
|
||||
|
||||
#define NO_OF_TRAINERS 854
|
||||
#define TRAINER_ID_STEVEN 804
|
||||
|
||||
#endif // GUARD_TRAINER_IDS_H
|
||||
@@ -1,6 +1,21 @@
|
||||
#ifndef GUARD_TRAINER_SEE_H
|
||||
#define GUARD_TRAINER_SEE_H
|
||||
|
||||
struct ApproachingTrainer
|
||||
{
|
||||
u8 mapObjectId;
|
||||
u8 radius;
|
||||
u8 field_2;
|
||||
u8 field_3;
|
||||
const u8 *trainerScriptPtr;
|
||||
u8 field_8;
|
||||
u8 field_9;
|
||||
u8 field_A;
|
||||
u8 field_B;
|
||||
};
|
||||
|
||||
extern struct ApproachingTrainer gApproachingTrainers[];
|
||||
|
||||
void sub_80B4578(struct MapObject *);
|
||||
u8 sub_80B47BC(void);
|
||||
void sub_8155D78(struct MapObject *);
|
||||
|
||||
@@ -15,5 +15,6 @@ void sub_80F14F8(TVShow *shows);
|
||||
size_t sub_80EF370(int value);
|
||||
bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language);
|
||||
void SetPokemonAnglerSpecies(u16 species);
|
||||
void UpdateTVShowsPerDay(u16 days);
|
||||
|
||||
#endif //GUARD_TV_H
|
||||
|
||||
6
include/wallclock.h
Normal file
6
include/wallclock.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_WALLCLOCK_H
|
||||
#define GUARD_WALLCLOCK_H
|
||||
|
||||
void Cb2_StartWallClock(void);
|
||||
|
||||
#endif //GUARD_WALLCLOCK_H
|
||||
Reference in New Issue
Block a user