diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-15 18:25:20 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-15 18:25:20 -0400 |
commit | d30e2597a05d2a887dca2ca3ef2ca000701dfd63 (patch) | |
tree | 951d7c680e326a4db91bb947eec22dc24f7da341 /src/pokemon_storage_system_9.c | |
parent | c996ca85bc4d3bd62e2b6d2a37809c4f5c46b2e1 (diff) |
pss 9; static symbols
Diffstat (limited to 'src/pokemon_storage_system_9.c')
-rw-r--r-- | src/pokemon_storage_system_9.c | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/pokemon_storage_system_9.c b/src/pokemon_storage_system_9.c new file mode 100644 index 000000000..0f3078127 --- /dev/null +++ b/src/pokemon_storage_system_9.c @@ -0,0 +1,87 @@ +#include "global.h" +#include "gflib.h" +#include "pokemon_storage_system_internal.h" + +static EWRAM_DATA struct UnkStruct_2000020 *gUnknown_203982C = NULL; + +static void sub_8096CDC(struct UnkStruct_2000028 *unkStruct); +static void sub_8096D70(struct UnkStruct_2000028 *unkStruct); + +void sub_8096BE4(struct UnkStruct_2000020 *arg0, struct UnkStruct_2000028 *arg1, u32 arg2) +{ + gUnknown_203982C = arg0; + arg0->unk_00 = arg1; + arg0->unk_05 = arg2; + arg0->unk_04 = 0; +} + +void sub_8096BF8(void) +{ + u16 i; + + if (gUnknown_203982C->unk_04) + { + for (i = 0; i < gUnknown_203982C->unk_04; i++) + { + struct UnkStruct_2000028 *unkStruct = &gUnknown_203982C->unk_00[i]; + unkStruct->unk_0c(unkStruct); + } + + gUnknown_203982C->unk_04 = 0; + } +} + +static bool8 sub_8096C40(u8 *dest, u16 dLeft, u16 dTop, const u8 *src, u16 sLeft, u16 sTop, u16 width, u16 height, u16 unkArg) +{ + struct UnkStruct_2000028 *unkStruct; + + if (gUnknown_203982C->unk_04 >= gUnknown_203982C->unk_05) + return FALSE; + + unkStruct = &gUnknown_203982C->unk_00[gUnknown_203982C->unk_04++]; + unkStruct->unk_08 = width * 2; + unkStruct->unk_04 = dest + 2 * (dTop * 32 + dLeft); + unkStruct->unk_00 = src + 2 * (sTop * unkArg + sLeft); + unkStruct->newField = height; + unkStruct->unk_0a = unkArg; + unkStruct->unk_0c = sub_8096CDC; + return TRUE; +} + +static void sub_8096CDC(struct UnkStruct_2000028 *unkStruct) +{ + u16 i; + + for (i = 0; i < unkStruct->newField; i++) + { + CpuSet(unkStruct->unk_00, unkStruct->unk_04, (unkStruct->unk_08 / 2)); + unkStruct->unk_04 += 64; + unkStruct->unk_00 += (unkStruct->unk_0a * 2); + } +} + +static bool8 sub_8096D14(void *dest, u16 dLeft, u16 dTop, u16 width, u16 height) +{ + struct UnkStruct_2000028 *unkStruct; + + if (gUnknown_203982C->unk_04 >= gUnknown_203982C->unk_05) + return FALSE; + + unkStruct = &gUnknown_203982C->unk_00[gUnknown_203982C->unk_04++]; + unkStruct->unk_08 = width * 2; + unkStruct->unk_04 = dest + ((dTop * 32) + dLeft) * 2; + unkStruct->newField = height; + unkStruct->unk_0c = sub_8096D70; + return TRUE; +} + +static void sub_8096D70(struct UnkStruct_2000028 *unkStruct) +{ + u16 i; + + for (i = 0; i < unkStruct->newField; i++) + { + Dma3FillLarge_(0, unkStruct->unk_04, unkStruct->unk_08, 16); + unkStruct->unk_04 += 64; + } +} |