merge with master and move to C

This commit is contained in:
DizzyEggg
2017-09-28 16:32:23 +02:00
125 changed files with 10000 additions and 4659 deletions

View File

@@ -262,6 +262,8 @@ static bool8 sub_804F344(void);
static void PutMonIconOnLvlUpBox(void);
static void PutLevelAndGenderOnLvlUpBox(void);
static void SpriteCB_MonIconOnLvlUpBox(struct Sprite* sprite);
static void atk00_attackcanceler(void);
static void atk01_accuracycheck(void);
static void atk02_attackstring(void);
@@ -900,25 +902,174 @@ const u8* const gMoveEffectBS_Ptrs[] =
static const struct WindowTemplate sUnusedWinTemplate = {0, 1, 3, 7, 0xF, 0x1F, 0x3F};
extern const struct SpriteTemplate SpriteTemplate_MonIconOnLvlUpBox;
extern const u16 sProtectSuccessRates[];
extern const u16 sNaturePowerMoves[];
extern const u16 sWeightToDamageTable[];
extern const u8 sTerrainToType[];
extern const u8 sBallCatchBonuses[];
extern const u16 gUnknown_0831C2C8[];
extern const u8 gUnknown_0831C2E8[];
extern const u8 gUnknown_0831C4F8[];
extern const u8 sFlailHpScaleToPowerTable[12];
extern const u16 gRarePickupItems[];
extern const u16 gPickupItems[];
extern const u8 gPickupProbabilities[];
const u16 gUnknown_0831C2C8[] = INCBIN_U16("graphics/battle_interface/unk_battlebox.gbapal");
const u8 gUnknown_0831C2E8[] = INCBIN_U8("graphics/battle_interface/unk_battlebox.4bpp.lz");
// unused
static const u8 sRubyLevelUpStatBoxStats[] =
{
MON_DATA_MAX_HP, MON_DATA_SPATK, MON_DATA_ATK,
MON_DATA_SPDEF, MON_DATA_DEF, MON_DATA_SPD
};
#define MON_ICON_LVLUP_BOX_TAG 0xD75A
const struct OamData gUnknown_0831C3B8 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 2,
.tileNum = 0,
.priority = 0,
.paletteNum = 0,
.affineParam = 0,
};
const struct SpriteTemplate SpriteTemplate_MonIconOnLvlUpBox =
{
.tileTag = MON_ICON_LVLUP_BOX_TAG,
.paletteTag = MON_ICON_LVLUP_BOX_TAG,
.oam = &gUnknown_0831C3B8,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCB_MonIconOnLvlUpBox
};
const u16 sProtectSuccessRates[] = {0xFFFF, 0x7FFF, 0x3FFF, 0x1FFF};
extern const u16 gMovesForbiddenToCopy[];
#define MIMIC_FORBIDDEN_END 0xFFFE
#define METRONOME_FORBIDDEN_END 0xFFFF
#define ASSIST_FORBIDDEN_END 0xFFFF
static const u16 gMovesForbiddenToCopy[] =
{
MOVE_METRONOME,
MOVE_STRUGGLE,
MOVE_SKETCH,
MOVE_MIMIC,
MIMIC_FORBIDDEN_END,
MOVE_COUNTER,
MOVE_MIRROR_COAT,
MOVE_PROTECT,
MOVE_DETECT,
MOVE_ENDURE,
MOVE_DESTINY_BOND,
MOVE_SLEEP_TALK,
MOVE_THIEF,
MOVE_FOLLOW_ME,
MOVE_SNATCH,
MOVE_HELPING_HAND,
MOVE_COVET,
MOVE_TRICK,
MOVE_FOCUS_PUNCH,
METRONOME_FORBIDDEN_END
};
static const u8 sFlailHpScaleToPowerTable[] =
{
1, 200,
4, 150,
9, 100,
16, 80,
32, 40,
48, 20
};
static const u16 sNaturePowerMoves[] =
{
MOVE_STUN_SPORE,
MOVE_RAZOR_LEAF,
MOVE_EARTHQUAKE,
MOVE_HYDRO_PUMP,
MOVE_SURF,
MOVE_BUBBLE_BEAM,
MOVE_ROCK_SLIDE,
MOVE_SHADOW_BALL,
MOVE_SWIFT,
MOVE_SWIFT
};
// format: min. weight (hectograms), base power
static const u16 sWeightToDamageTable[] =
{
100, 20,
250, 40,
500, 60,
1000, 80,
2000, 100,
0xFFFF, 0xFFFF
};
static const u16 gPickupItems[] =
{
ITEM_POTION,
ITEM_ANTIDOTE,
ITEM_SUPER_POTION,
ITEM_GREAT_BALL,
ITEM_REPEL,
ITEM_ESCAPE_ROPE,
ITEM_X_ATTACK,
ITEM_FULL_HEAL,
ITEM_ULTRA_BALL,
ITEM_HYPER_POTION,
ITEM_RARE_CANDY,
ITEM_PROTEIN,
ITEM_REVIVE,
ITEM_HP_UP,
ITEM_FULL_RESTORE,
ITEM_MAX_REVIVE,
ITEM_PP_UP,
ITEM_MAX_ELIXIR,
};
static const u16 gRarePickupItems[] =
{
ITEM_HYPER_POTION,
ITEM_NUGGET,
ITEM_KINGS_ROCK,
ITEM_FULL_RESTORE,
ITEM_ETHER,
ITEM_WHITE_HERB,
ITEM_TM44,
ITEM_ELIXIR,
ITEM_TM01,
ITEM_LEFTOVERS,
ITEM_TM26,
};
static const u8 gPickupProbabilities[] =
{
30, 40, 50, 60, 70, 80, 90, 94, 98
};
static const u8 sTerrainToType[] =
{
TYPE_GRASS, // tall grass
TYPE_GRASS, // long grass
TYPE_GROUND, // sand
TYPE_WATER, // underwater
TYPE_WATER, // water
TYPE_WATER, // pond water
TYPE_ROCK , // rock
TYPE_ROCK , // cave
TYPE_NORMAL, // building
TYPE_NORMAL, // plain
};
static const u8 sBallCatchBonuses[] =
{
20, 15, 10, 15 // Ultra, Great, Poke, Safari
};
extern const u8 gUnknown_0831C4F8[];
static void atk00_attackcanceler(void)
{
s32 i;
@@ -6684,8 +6835,6 @@ static bool8 sub_804F344(void)
return (gBattle_BG2_X != 0x1A0);
}
#define MON_ICON_LVLUP_BOX_TAG 0xD75A
#define sDestroy data0
#define sSavedLvlUpBoxXPosition data1
@@ -6716,7 +6865,7 @@ static void PutMonIconOnLvlUpBox(void)
gSprites[spriteId].sSavedLvlUpBoxXPosition = gBattle_BG2_X;
}
void SpriteCB_MonIconOnLvlUpBox(struct Sprite* sprite)
static void SpriteCB_MonIconOnLvlUpBox(struct Sprite* sprite)
{
sprite->pos2.x = sprite->sSavedLvlUpBoxXPosition - gBattle_BG2_X;

View File

@@ -17,7 +17,6 @@ extern bool8 sub_8092E9C(u8, u8, u8);
extern u16 gScriptItemId;
extern const u8 BerryTreeScript[];
extern const struct BerryTree gBlankBerryTree;
#define BERRY_NAME_LENGTH 6
@@ -804,6 +803,54 @@ const struct Berry gBerries[] =
},
};
const struct UnkStruct_0858AB24 gUnknown_0858AB24[] = {
{ 50, 20},
{ 50, 20},
{ 50, 20},
{ 50, 20},
{ 50, 20},
{ 50, 30},
{ 50, 30},
{ 50, 30},
{ 50, 30},
{ 50, 30},
{ 60, 50},
{ 60, 50},
{ 60, 50},
{ 60, 50},
{ 60, 50},
{ 80, 70},
{ 80, 70},
{ 80, 70},
{ 80, 70},
{ 80, 70},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{130, 150},
{130, 150},
{130, 150},
{130, 150},
{130, 150},
{160, 250},
{160, 250},
{160, 250},
{160, 250},
{160, 250},
{180, 500},
{180, 500},
{180, 500},
{180, 500},
{180, 500},
{200, 750},
{200, 750},
{150, 200}
};
const struct BerryTree gBlankBerryTree = {};
// unused
void ClearEnigmaBerries(void)
{

View File

@@ -129,8 +129,7 @@ static const u8 *const gUnknown_08618178[][3] = {
},
};
extern const u8 gUnknown_089A6550[0xC0];
extern const u8 gMultiBootProgram_BerryGlitchFix_Start[0x3b34];
extern const u8 gMultiBootProgram_BerryGlitchFix_Start[0x3BF4];
extern const u8 gMultiBootProgram_BerryGlitchFix_End[];
// .text
@@ -174,7 +173,7 @@ static void berry_fix_main(void)
case 3:
if (berry_fix_text_update(1) == 1)
{
berry_fix_mb_manager->mb.masterp = gUnknown_089A6550;
berry_fix_mb_manager->mb.masterp = gMultiBootProgram_BerryGlitchFix_Start;
berry_fix_mb_manager->mb.server_type = 0;
MultiBootInit(&berry_fix_mb_manager->mb);
berry_fix_mb_manager->unk2 = 0;
@@ -189,7 +188,7 @@ static void berry_fix_main(void)
}
else if (++ berry_fix_mb_manager->unk2 > 180)
{
MultiBootStartMaster(&berry_fix_mb_manager->mb, gMultiBootProgram_BerryGlitchFix_Start, (u32)(gMultiBootProgram_BerryGlitchFix_End - gMultiBootProgram_BerryGlitchFix_Start), 4, 1);
MultiBootStartMaster(&berry_fix_mb_manager->mb, gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE, (u32)(gMultiBootProgram_BerryGlitchFix_End - (gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE)), 4, 1);
berry_fix_mb_manager->state = 5;
}
break;

View File

@@ -18,6 +18,7 @@
#include "event_data.h"
#include "money.h"
#include "coins.h"
#include "text.h"
extern u8 gPlayerPartyCount;
extern u8 gDifferentSaveFile;
@@ -104,7 +105,10 @@ void ClearPokedexFlags(void)
memset(&gSaveBlock2Ptr->pokedex.seen, 0, sizeof(gSaveBlock2Ptr->pokedex.seen));
}
extern const struct ContestWinner gContestWinnerPicDummy;
const struct ContestWinner gContestWinnerPicDummy = {
.monName = _(""),
.trainerName = _("")
};
void ClearAllContestWinnerPics(void)
{