merge daycare with master

This commit is contained in:
DizzyEggg
2017-11-15 17:18:05 +01:00
2818 changed files with 151329 additions and 5498 deletions

View File

@@ -7,6 +7,7 @@
#include "battle_2.h"
#include "battle_ai_switch_items.h"
#include "battle_gfx_sfx_util.h"
#include "battle_util2.h"
/*
Banks are a name given to what could be called a 'battlerId' or 'monControllerId'.
@@ -253,11 +254,21 @@
#define MOVE_TARGET_FOES_AND_ALLY 0x20
#define MOVE_TARGET_OPPONENTS_FIELD 0x40
// defines for the u8 array gTypeEffectiveness
#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0]))
#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1]))
#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2]))
// defines for the gTypeEffectiveness multipliers
#define TYPE_MUL_NO_EFFECT 0
#define TYPE_MUL_NOT_EFFECTIVE 5
#define TYPE_MUL_NORMAL 10
#define TYPE_MUL_SUPER_EFFECTIVE 20
// special type table Ids
#define TYPE_FORESIGHT 0xFE
#define TYPE_ENDTABLE 0xFF
#define BS_GET_TARGET 0
#define BS_GET_ATTACKER 1
#define BS_GET_EFFECT_BANK 2
@@ -362,8 +373,8 @@ struct DisableStruct
/*0x0D*/ u8 unkD;
/*0x0E*/ u8 encoreTimer1 : 4;
/*0x0E*/ u8 encoreTimer2 : 4;
/*0x0F*/ u8 perishSong1 : 4;
/*0x0F*/ u8 perishSong2 : 4;
/*0x0F*/ u8 perishSongTimer1 : 4;
/*0x0F*/ u8 perishSongTimer2 : 4;
/*0x10*/ u8 furyCutterCounter;
/*0x11*/ u8 rolloutCounter1 : 4;
/*0x11*/ u8 rolloutCounter2 : 4;
@@ -612,7 +623,7 @@ struct BattleStruct
u8 sentInPokes;
bool8 selectionScriptFinished[BATTLE_BANKS_COUNT];
u8 field_58[4];
u8 field_5C[4];
u8 monToSwitchIntoId[BATTLE_BANKS_COUNT];
u8 field_60[4][3];
u8 runTries;
u8 caughtMonNick[11];
@@ -684,7 +695,7 @@ struct BattleStruct
u8 field_1A4[96];
u8 field_204[104];
u8 field_26C[40];
u8 field_294[4];
u8 AI_monToSwitchIntoId[BATTLE_BANKS_COUNT];
u8 field_298[8];
u8 field_2A0;
u8 field_2A1;
@@ -870,13 +881,6 @@ 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);
enum
{
BACK_PIC_BRENDAN,
@@ -979,6 +983,9 @@ extern struct BattleSpriteData *gBattleSpritesDataPtr;
extern u8 *gLinkBattleSendBuffer;
extern u8 *gLinkBattleRecvBuffer;
extern u8 *gUnknown_0202305C;
extern u8 *gUnknown_02023060;
// Move this somewhere else
#include "sprite.h"

10
include/battle_util2.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef GUARD_BATTLE_UTIL2_H
#define GUARD_BATTLE_UTIL2_H
void AllocateBattleResources(void);
void FreeBattleResources(void);
void AdjustFriendshipOnBattleFaint(u8 bank);
void sub_80571DC(u8 bank, u8 arg1);
u32 sub_805725C(u8 bank);
#endif // GUARD_BATTLE_UTIL_H

View File

@@ -12,8 +12,8 @@ struct ContestStruct_02039E00
extern struct ContestStruct_02039E00 gUnknown_02039E00[4];
extern u8 gUnknown_02039F24;
extern u16 gScriptContestCategory;
extern u8 gUnknown_02039F2E;
extern u16 gSpecialVar_ContestCategory;
extern u8 gSpecialVar_ContestRank;
extern u8 gUnknown_02039F30;
struct ContestStruct_field_18

View File

@@ -42,11 +42,11 @@ extern u16 gSpecialVar_0x8008;
extern u16 gSpecialVar_0x8009;
extern u16 gSpecialVar_0x800A;
extern u16 gSpecialVar_0x800B;
extern u16 gScriptResult;
extern u16 gScriptLastTalked;
extern u16 gScriptFacing;
extern u16 gSpecialVar_0x8012;
extern u16 gSpecialVar_0x8013;
extern u16 gSpecialVar_Result;
extern u16 gSpecialVar_LastTalked;
extern u16 gSpecialVar_Facing;
extern u16 gSpecialVar_MonBoxId;
extern u16 gSpecialVar_MonBoxPos;
extern u16 gSpecialVar_0x8014;
#endif // GUARD_EVENT_DATA_H

View File

@@ -7,12 +7,12 @@
extern const u8 gUnknown_0823B4E8[];
extern const u8 gUnknown_0823B5E9[];
extern const u8 gUnknown_08275BB7[];
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 EventScript_275BB7[];
extern const u8 EventScript_275D0C[];
extern const u8 EventScript_275D1F[];
extern const u8 EventScript_275D2E[];
extern const u8 EventScript_2766A2[];
extern const u8 EventScript_2766A6[];
extern const u8 gTVBravoTrainerText00[];
extern const u8 gTVBravoTrainerText01[];
@@ -362,14 +362,14 @@ extern const u8 gPokeNewsTextLilycove_Ending[];
extern const u8 gPokeNewsTextBlendMaster_Upcoming[];
extern const u8 gPokeNewsTextBlendMaster_Ongoing[];
extern const u8 gPokeNewsTextBlendMaster_Ending[];
extern const u8 gUnknown_08274966[];
extern const u8 gUnknown_08274D13[];
extern const u8 gUnknown_08274FFE[];
extern const u8 gUnknown_08275367[];
extern const u8 gUnknown_082756C7[];
extern const u8 gUnknown_08274B24[];
extern const u8 gUnknown_08274E75[];
extern const u8 gUnknown_082751E1[];
extern const u8 gUnknown_082754F6[];
extern const u8 gUnknown_082758CC[];
extern const u8 SecretBase_RedCave1_Text_274966[];
extern const u8 SecretBase_RedCave1_Text_274D13[];
extern const u8 SecretBase_RedCave1_Text_274FFE[];
extern const u8 SecretBase_RedCave1_Text_275367[];
extern const u8 SecretBase_RedCave1_Text_2756C7[];
extern const u8 SecretBase_RedCave1_Text_274B24[];
extern const u8 SecretBase_RedCave1_Text_274E75[];
extern const u8 SecretBase_RedCave1_Text_2751E1[];
extern const u8 SecretBase_RedCave1_Text_2754F6[];
extern const u8 SecretBase_RedCave1_Text_2758CC[];
#endif //GUARD_EVENT_SCRIPTS_H

View File

@@ -3,29 +3,31 @@
#define FLAG_PENDING_DAYCARE_EGG 0x86
#define TRAINER_FLAG_START 0x500
#define FLAG_TRAINER_FLAG_START 0x500
#define TRAINERS_FLAG_NO 0x356
#define CODE_FLAGS (TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
// SYSTEM FLAGS
#define SYS_POKEMON_GET CODE_FLAGS + 0
#define SYS_POKEDEX_GET CODE_FLAGS + 1
#define SYS_POKENAV_GET CODE_FLAGS + 2
#define FLAG_SYS_POKEMON_GET CODE_FLAGS + 0
#define FLAG_SYS_POKEDEX_GET CODE_FLAGS + 1
#define FLAG_SYS_POKENAV_GET CODE_FLAGS + 2
// third one appears unused
#define SYS_GAME_CLEAR CODE_FLAGS + 4
#define SYS_CHAT_USED CODE_FLAGS + 5
#define SYS_HIPSTER_MEET CODE_FLAGS + 6
#define FLAG_SYS_GAME_CLEAR CODE_FLAGS + 4
#define FLAG_SYS_CHAT_USED CODE_FLAGS + 5
#define FLAG_SYS_HIPSTER_MEET CODE_FLAGS + 6
// badges
#define BADGE01_GET CODE_FLAGS + 7
#define BADGE02_GET CODE_FLAGS + 8
#define BADGE03_GET CODE_FLAGS + 9
#define BADGE04_GET CODE_FLAGS + 0xA
#define BADGE05_GET CODE_FLAGS + 0xB
#define BADGE06_GET CODE_FLAGS + 0xC
#define BADGE07_GET CODE_FLAGS + 0xD
#define BADGE08_GET CODE_FLAGS + 0xE
#define FLAG_BADGE01_GET CODE_FLAGS + 7
#define FLAG_BADGE02_GET CODE_FLAGS + 8
#define FLAG_BADGE03_GET CODE_FLAGS + 9
#define FLAG_BADGE04_GET CODE_FLAGS + 0xA
#define FLAG_BADGE05_GET CODE_FLAGS + 0xB
#define FLAG_BADGE06_GET CODE_FLAGS + 0xC
#define FLAG_BADGE07_GET CODE_FLAGS + 0xD
#define FLAG_BADGE08_GET CODE_FLAGS + 0xE
// cities and towns
#define FLAG_VISITED_LITTLEROOT_TOWN CODE_FLAGS + 0xF
@@ -45,66 +47,66 @@
#define FLAG_VISITED_SOOTOPOLIS_CITY CODE_FLAGS + 0x1D
#define FLAG_VISITED_EVER_GRANDE_CITY CODE_FLAGS + 0x1E
#define SYS_UNKNOWN_880 CODE_FLAGS + 0x20
#define FLAG_SYS_UNKNOWN_880 CODE_FLAGS + 0x20
#define SYS_USE_FLASH CODE_FLAGS + 0x28
#define SYS_USE_STRENGTH CODE_FLAGS + 0x29
#define SYS_WEATHER_CTRL CODE_FLAGS + 0x2A
#define SYS_CYCLING_ROAD CODE_FLAGS + 0x2B
#define SYS_SAFARI_MODE CODE_FLAGS + 0x2C
#define SYS_CRUISE_MODE CODE_FLAGS + 0x2D
#define FLAG_SYS_USE_FLASH CODE_FLAGS + 0x28
#define FLAG_SYS_USE_STRENGTH CODE_FLAGS + 0x29
#define FLAG_SYS_WEATHER_CTRL CODE_FLAGS + 0x2A
#define FLAG_SYS_CYCLING_ROAD CODE_FLAGS + 0x2B
#define FLAG_SYS_SAFARI_MODE CODE_FLAGS + 0x2C
#define FLAG_SYS_CRUISE_MODE CODE_FLAGS + 0x2D
#define SYS_TV_HOME CODE_FLAGS + 0x30
#define SYS_TV_WATCH CODE_FLAGS + 0x31
#define SYS_TV_START CODE_FLAGS + 0x32
#define SYS_POPWORD_INPUT CODE_FLAGS + 0x33
#define SYS_MIX_RECORD CODE_FLAGS + 0x34
#define SYS_CLOCK_SET CODE_FLAGS + 0x35
#define SYS_NATIONAL_DEX CODE_FLAGS + 0x36
#define SYS_CAVE_SHIP CODE_FLAGS + 0x37
#define SYS_CAVE_WONDER CODE_FLAGS + 0x38
#define SYS_CAVE_BATTLE CODE_FLAGS + 0x39
#define SYS_SHOAL_TIDE CODE_FLAGS + 0x3A
#define SYS_RIBBON_GET CODE_FLAGS + 0x3B
#define FLAG_SYS_TV_HOME CODE_FLAGS + 0x30
#define FLAG_SYS_TV_WATCH CODE_FLAGS + 0x31
#define FLAG_SYS_TV_START CODE_FLAGS + 0x32
#define FLAG_SYS_POPWORD_INPUT CODE_FLAGS + 0x33
#define FLAG_SYS_MIX_RECORD CODE_FLAGS + 0x34
#define FLAG_SYS_CLOCK_SET CODE_FLAGS + 0x35
#define FLAG_SYS_NATIONAL_DEX CODE_FLAGS + 0x36
#define FLAG_SYS_CAVE_SHIP CODE_FLAGS + 0x37
#define FLAG_SYS_CAVE_WONDER CODE_FLAGS + 0x38
#define FLAG_SYS_CAVE_BATTLE CODE_FLAGS + 0x39
#define FLAG_SYS_SHOAL_TIDE CODE_FLAGS + 0x3A
#define FLAG_SYS_RIBBON_GET CODE_FLAGS + 0x3B
#define SYS_PC_LANETTE CODE_FLAGS + 0x4B
#define SYS_MYSTERY_EVENT_ENABLE CODE_FLAGS + 0x4C
#define SYS_ENC_UP_ITEM CODE_FLAGS + 0x4D
#define SYS_ENC_DOWN_ITEM CODE_FLAGS + 0x4E
#define SYS_BRAILLE_DIG CODE_FLAGS + 0x4F
#define SYS_BRAILLE_STRENGTH CODE_FLAGS + 0x50
#define SYS_BRAILLE_WAIT CODE_FLAGS + 0x51
#define SYS_BRAILLE_FLY CODE_FLAGS + 0x52
#define SYS_HAS_EON_TICKET CODE_FLAGS + 0x53
#define FLAG_SYS_PC_LANETTE CODE_FLAGS + 0x4B
#define FLAG_SYS_MYSTERY_EVENT_ENABLE CODE_FLAGS + 0x4C
#define FLAG_SYS_ENC_UP_ITEM CODE_FLAGS + 0x4D // white flute
#define FLAG_SYS_ENC_DOWN_ITEM CODE_FLAGS + 0x4E // black flute
#define FLAG_SYS_BRAILLE_DIG CODE_FLAGS + 0x4F
#define FLAG_SYS_BRAILLE_STRENGTH CODE_FLAGS + 0x50
#define FLAG_SYS_BRAILLE_WAIT CODE_FLAGS + 0x51
#define FLAG_SYS_BRAILLE_FLY CODE_FLAGS + 0x52
#define FLAG_SYS_HAS_EON_TICKET CODE_FLAGS + 0x53
#define SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54
#define FLAG_SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54
#define SYS_TV_LATI CODE_FLAGS + 0x5D
#define FLAG_SYS_TV_LATI CODE_FLAGS + 0x5D
#define SYS_SHOAL_ITEM CODE_FLAGS + 0x5F
#define SYS_B_DASH CODE_FLAGS + 0x60 // got Running Shoes
#define SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61
#define SYS_RESET_RTC_ENABLE CODE_FLAGS + 0x62
#define FLAG_SYS_SHOAL_ITEM CODE_FLAGS + 0x5F
#define FLAG_SYS_B_DASH CODE_FLAGS + 0x60 // got Running Shoes
#define FLAG_SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61
#define FLAG_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 FLAG_SYS_TOWER_SILVER CODE_FLAGS + 0x64
#define FLAG_SYS_TOWER_GOLD CODE_FLAGS + 0x65
#define FLAG_SYS_DOME_SILVER CODE_FLAGS + 0x66
#define FLAG_SYS_DOME_GOLD CODE_FLAGS + 0x67
#define FLAG_SYS_PALACE_SILVER CODE_FLAGS + 0x68
#define FLAG_SYS_PALACE_GOLD CODE_FLAGS + 0x69
#define FLAG_SYS_ARENA_SILVER CODE_FLAGS + 0x6A
#define FLAG_SYS_ARENA_GOLD CODE_FLAGS + 0x6B
#define FLAG_SYS_FACTORY_SILVER CODE_FLAGS + 0x6C
#define FLAG_SYS_FACTORY_GOLD CODE_FLAGS + 0x6D
#define FLAG_SYS_PIKE_SILVER CODE_FLAGS + 0x6E
#define FLAG_SYS_PIKE_GOLD CODE_FLAGS + 0x6F
#define FLAG_SYS_PYRAMID_SILVER CODE_FLAGS + 0x70
#define FLAG_SYS_PYRAMID_GOLD CODE_FLAGS + 0x71
#define FLAG_SYS_FRONTIER_PASS CODE_FLAGS + 0x72
#define SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77
#define FLAG_SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77
#define SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B
#define FLAG_SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B
// SPECIAL FLAGS (unknown purpose)

View File

@@ -12,7 +12,7 @@ s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 lett
s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1);
s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2);
// sub_81DB41C
// sub_81DB468
// CopyMonCategoryText
// sub_81DB494
// sub_81DB4DC
// sub_81DB554

View File

@@ -2,7 +2,7 @@
#define GUARD_POKEDEX_H
void ResetPokedex(void);
const u8 *GetPokemonCategory(u16);
void CopyMonCategoryText(u16 species, u8 *dst);
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
u16 GetNationalPokedexCount(u8);
u16 GetHoennPokedexCount(u8);

7
include/starter_choose.h Normal file
View File

@@ -0,0 +1,7 @@
#ifndef GUARD_STARTER_CHOOSE_H
#define GUARD_STARTER_CHOOSE_H
u16 GetStarterPokemon(u16 chosenStarterId);
void CB2_ChooseStarter(void);
#endif // GUARD_STARTER_CHOOSE_H

View File

@@ -16,7 +16,7 @@ void sub_8098858(u8 windowId, u16 tileNum, u8 palNum);
void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum);
void rbox_fill_rectangle(u8 windowId);
const u16* stdpal_get(u8 id);
const u16* sub_8098C64(void);
const u16* GetOverworldTextboxPalettePtr(void);
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset);
#endif // GUARD_TEXT_WINDOW_H