diff options
author | YamaArashi <shadow962@live.com> | 2016-09-18 12:29:37 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-09-18 12:35:05 -0700 |
commit | 2782f7d614b27bcace2af95a1a206426dd7817f1 (patch) | |
tree | 9557df17e4781f9eabcf89e6c0b562e7e2672254 | |
parent | d50f25ab1e382ec9a8a815eba33c3c87c9611869 (diff) |
expand WRAM sections and add some variables
-rw-r--r-- | ewram_syms.txt | 15 | ||||
-rw-r--r-- | include/berry.h | 30 | ||||
-rw-r--r-- | include/pokemon.h | 2 | ||||
-rw-r--r-- | ld_script.txt | 6 | ||||
-rw-r--r-- | src/pokemon_2.c | 17 |
5 files changed, 68 insertions, 2 deletions
diff --git a/ewram_syms.txt b/ewram_syms.txt index 260c9deaa..e39adbc85 100644 --- a/ewram_syms.txt +++ b/ewram_syms.txt @@ -5,12 +5,27 @@ unk_20160BC = 0x20160BC; gSecretBaseRecord = 0x2017000; +dword_2017100 = 0x2017100; + gUnknown_020239F8 = 0x20239F8; +gUnknown_02024A60 = 0x2024A60; + gBattleMons = 0x2024A80; +gUnknown_02024BE6 = 0x2024BE6; + byte_2024C06 = 0x2024C06; +gUnknown_02024C07 = 0x2024C07; +gUnknown_02024C08 = 0x2024C08; +gUnknown_02024C0C = 0x2024C0C; +gXXX_CritRelated = 0x2024C0D; + +word_2024DB8 = 0x2024DB8; + +gEnigmaBerries = 0x2024DF0; +gBattleMovePower = 0x2024E80; word_2024E82 = 0x2024E82; byte_2024E88 = 0x2024E88; diff --git a/include/berry.h b/include/berry.h new file mode 100644 index 000000000..9d75eada6 --- /dev/null +++ b/include/berry.h @@ -0,0 +1,30 @@ +#ifndef GUARD_BERRY_H +#define GUARD_BERRY_H + +struct Berry +{ + u8 name[7]; + u8 firmness; + u16 size; + u8 maxYield; + u8 minYield; + u8 *description1; + u8 *description2; + u8 stageDuration; + u8 spicy; + u8 dry; + u8 sweet; + u8 bitter; + u8 sour; + u8 smoothness; +}; + +struct EnigmaBerry +{ + u8 name[7]; + u8 holdEffect; + u8 unknown[18]; + u8 holdEffectParam; +}; + +#endif // GUARD_BERRY_H diff --git a/include/pokemon.h b/include/pokemon.h index bed60925b..a49ade10b 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -257,7 +257,7 @@ struct BattlePokemon u32 spDefenseIV:5; u32 isEgg:1; u32 altAbility:1; - u8 statStages[8]; + s8 statStages[8]; u8 ability; u8 type1, type2; u8 unknown; diff --git a/ld_script.txt b/ld_script.txt index 5d1ac9d7a..70d59a52d 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -4,11 +4,12 @@ gNumMusicPlayers = 4; gMaxLines = 60; SECTIONS { - . = 0x2020000; + . = 0x2000000; ewram (NOLOAD) : ALIGN(4) { + . = 0x20000; src/main.o(ewram_data); src/sprite.o(ewram_data); . = ALIGN(4); @@ -17,6 +18,7 @@ SECTIONS { . += 0x2E8; /* big gap */ src/link.o(ewram_data); src/rtc.o(ewram_data); + . = 0x40000; } . = 0x3000000; @@ -58,6 +60,8 @@ SECTIONS { . = 0x7490; src/agb_flash.o(iwram_data); + + . = 0x8000; } . = 0x8000000; diff --git a/src/pokemon_2.c b/src/pokemon_2.c index a05f2dbaa..ec683affd 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -5,6 +5,7 @@ #include "species.h" #include "main.h" #include "sprite.h" +#include "berry.h" extern u8 gPlayerPartyCount; extern struct Pokemon gPlayerParty[6]; @@ -13,9 +14,19 @@ extern struct Pokemon gEnemyParty[6]; extern u16 unk_20160BC[]; extern struct SecretBaseRecord gSecretBaseRecord; +extern u32 dword_2017100[]; extern u16 gUnknown_020239F8; +extern u8 gUnknown_02024A60; extern struct BattlePokemon gBattleMons[4]; +extern u16 gUnknown_02024BE6; extern u8 byte_2024C06; +extern u8 gUnknown_02024C07; +extern u8 gUnknown_02024C08; +extern u8 gUnknown_02024C0C; +extern u8 gXXX_CritRelated; +extern u16 word_2024DB8; +extern struct EnigmaBerry gEnigmaBerries[]; +extern u16 gBattleMovePower; extern struct SpriteTemplate gUnknown_02024E8C; extern u16 word_202FF5E; extern struct PokemonStorage gPokemonStorage; @@ -35,8 +46,14 @@ extern u8 gTrainerClassToNameIndex[]; extern u8 gSecretBaseTrainerClasses[]; extern u8 gUnknown_08208238[]; extern u8 gUnknown_0820823C[]; +extern u8 gStatStageRatios[][2]; +extern u8 gHoldEffectToType[][2]; extern u8 battle_side_get_owner(u8); +extern u8 battle_get_side_with_given_state(u8); +extern u8 FlagGet(u16); +extern u8 sub_8018324(u8, u8, u8, u8, u16); +extern u8 sub_803C348(u8); u8 GetMonGender(struct Pokemon *mon) { |