diff options
| author | camthesaxman <cameronghall@cox.net> | 2017-05-10 16:53:14 -0500 | 
|---|---|---|
| committer | camthesaxman <cameronghall@cox.net> | 2017-05-10 16:53:14 -0500 | 
| commit | 32153295edc1e93bd27894f75f2ab01f9140bed5 (patch) | |
| tree | 397bb2852fbacc95b66a2b121c0a7eeb31c5c44d /src/pokemon_storage_system.c | |
| parent | e78f49f1efc2eadb674d00c00ffc9a4018b3cdbd (diff) | |
| parent | 242af849cb56ce0c4469c4e2be82a3ad5dbd3434 (diff) | |
Merge remote-tracking branch 'upstream/master' into decompile_battle_2
Diffstat (limited to 'src/pokemon_storage_system.c')
| -rw-r--r-- | src/pokemon_storage_system.c | 93 | 
1 files changed, 93 insertions, 0 deletions
| diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c new file mode 100644 index 000000000..679ec0bc4 --- /dev/null +++ b/src/pokemon_storage_system.c @@ -0,0 +1,93 @@ +#include "global.h" +#include "menu.h" +#include "string_util.h" + +struct StorageAction { +    u8 *text; +    u8 format; +}; + +extern const struct StorageAction gUnknown_083B6DF4[]; + +extern const u8 unk_2000000[]; + +#define gUnk2002694 (u8 *)(&unk_2000000[0x2694]) +#define gUnk20026A6 (u8 *)(&unk_2000000[0x26a6]) +#define gUnk20011fa (u8 *)(&unk_2000000[0x11fa]) +#define gUnk20026e4 (u8 *)(&unk_2000000[0x26e4]) + +void sub_8098898(u8 index) { +    u8 *ptr; + +    MenuDrawTextWindow(10, 16, 29, 19); + +    switch (gUnknown_083B6DF4[index].format) +    { + +    case 2: +        ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text); +        ptr = StringCopy(ptr, gUnk20011fa); +        break; + +    case 5: +        ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text); +        ptr = StringCopy(ptr, gUnk20026e4); +        break; + +    case 1: +        // {var} + " is selected." +        ptr = StringCopy(gUnk2002694, gUnk20011fa); +        ptr = StringCopy(ptr, gUnknown_083B6DF4[index].text); +        break; + +    case 4: +        // TODO: fix for German +        // {var} + " was released." +        ptr = StringCopy(gUnk2002694, gUnk20026e4); +        ptr = StringCopy(ptr, gUnknown_083B6DF4[index].text); +        break; + +    case 3: +    { +        u8 *stringLength; +        u8 *text; + +        text = gUnknown_083B6DF4[index].text; +        stringLength = &text[StringLength(text)] + 1; + +        ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text); +        ptr = StringCopy(ptr, gUnk20011fa); +        ptr = StringCopy(ptr, stringLength); +    } +        break; + +    case 6: +        // "Bye-bye, ".substr(0, -1) + {var} + "Bye-bye, !".substr(-1, 1) +    { +        u8 *stringLength; +        u8 *text; + +        text = gUnknown_083B6DF4[index].text; +        stringLength = &text[StringLength(text)] - 1; + +        ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text); +        ptr = StringCopy(ptr - 1, gUnk20026e4); +        ptr = StringCopy(ptr, stringLength); +    } +        break; + +    case 0: +    default: +        ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text); +        break; +    } + +    while (ptr < gUnk20026A6) +    { +            ptr[0] = CHAR_SPACE; +            ptr++; +    } + +    ptr[0] = EOS; +    MenuPrint(gUnk2002694, 11, 17); +} | 
