diff options
author | NieDżejkob <NieDzejkob@users.noreply.github.com> | 2017-01-07 21:02:43 +0100 |
---|---|---|
committer | YamaArashi <YamaArashi@users.noreply.github.com> | 2017-01-07 12:02:43 -0800 |
commit | 7beba74f45cb7f46885cb32c5d4eed1e69dd17ed (patch) | |
tree | 24993d6e460e969ef71a4eb39c8fba15b16658ef | |
parent | cdecaed3c9e495410593bd39df97f155efd7adc5 (diff) |
start decompiling daycare.s (#173)
* First matching daycare_count_pokemon
* Update the code style and tidy up daycare_count_pokemon
-rw-r--r-- | asm/daycare.s | 64 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/daycare.c | 33 |
3 files changed, 34 insertions, 64 deletions
diff --git a/asm/daycare.s b/asm/daycare.s index 80e7c46e8..d78757d8f 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -6,70 +6,6 @@ .text - thumb_func_start pokemon_get_nick -pokemon_get_nick: @ 80412B0 - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end pokemon_get_nick - - thumb_func_start pokemon_get_nick_ -pokemon_get_nick_: @ 80412D0 - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetBoxMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end pokemon_get_nick_ - - thumb_func_start daycare_count_pokemon -daycare_count_pokemon: @ 80412F0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r4, 0 -_080412F8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - adds r0, r6, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08041310 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08041310: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _080412F8 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end daycare_count_pokemon - thumb_func_start sub_8041324 sub_8041324: @ 8041324 push {r4-r7,lr} diff --git a/ld_script.txt b/ld_script.txt index d2fb31c6e..2267ca956 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -61,6 +61,7 @@ SECTIONS { src/rng.o(.text); asm/util.o(.text); src/blend_palette.o(.text); + src/daycare.o(.text); asm/daycare.o(.text); asm/egg_hatch.o(.text); asm/rom_804373C.o(.text); diff --git a/src/daycare.c b/src/daycare.c new file mode 100644 index 000000000..23f0305d8 --- /dev/null +++ b/src/daycare.c @@ -0,0 +1,33 @@ +#include "global.h" +#include "pokemon.h" +#include "string_util.h" + +u8 *pokemon_get_nick(struct Pokemon *mon, u8 *dest) +{ + s8 nickname[POKEMON_NAME_LENGTH * 2]; + + GetMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); +} + +u8 *pokemon_get_nick_(struct BoxPokemon *mon, u8 *dest) +{ + s8 nickname[POKEMON_NAME_LENGTH * 2]; + + GetBoxMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); +} + +u8 daycare_count_pokemon(struct BoxPokemon *daycare_data) +{ + u8 i, count; + count = 0; + + for(i = 0;i <= 1;i++) { + if(GetBoxMonData(daycare_data + i, MON_DATA_SPECIES) != 0) { + count++; + } + } + + return count; +} |