diff --git a/config/regions.tsv b/config/regions.tsv index 82d1cc6..662e63f 100644 --- a/config/regions.tsv +++ b/config/regions.tsv @@ -657,6 +657,7 @@ 0x800F8FF8 0x800F9008 src/func_800F8FF8.c 0x800F92A4 0x800F9344 src/func_800F92A4.c 0x800F9344 0x800F9380 src/func_800F9344.c +0x800F9380 0x800F9410 src/func_800F9380.c 0x800FA5D8 0x800FA65C src/func_800FA5D8.c maspsx=moves 0x800FA960 0x800FA980 src/func_800FA960.c 0x800FAF84 0x800FAFEC src/func_800FAF84.c maspsx=epilogue diff --git a/src/func_800F9380.c b/src/func_800F9380.c new file mode 100644 index 0000000..e297c31 --- /dev/null +++ b/src/func_800F9380.c @@ -0,0 +1,15 @@ +/* Draft for func_800F9380 (0x800F9380..0x800F9410, exact extent). */ +extern short D_80120328[]; +extern short D_8011F328[]; + +int func_800F9380(int a0) +{ + if (a0 < 0x801) { + if (a0 < 0x401) + return D_80120328[a0]; + return D_80120328[0x800 - a0]; + } + if (a0 < 0xc01) + return -D_8011F328[a0]; + return -D_80120328[0x1000 - a0]; +}