From 6c2d5ea50d8b2505f7eccc4283bfc32961adfb92 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 19 May 2019 11:56:19 -0400 Subject: [PATCH] text_window_graphics --- asm/text_window_graphics.s | 30 -------------- data/data_8468C98.s | 14 +------ graphics/text_window/stdpal_0.pal | 19 +++++++++ graphics/text_window/stdpal_1.pal | 19 +++++++++ graphics/text_window/stdpal_2.pal | 19 +++++++++ graphics/text_window/stdpal_3.pal | 19 +++++++++ graphics/text_window/stdpal_4.pal | 19 +++++++++ graphics/text_window/unk_8470D6C.png | Bin 0 -> 190 bytes graphics/text_window/unk_8470E8C.png | Bin 0 -> 183 bytes graphics/text_window/unk_8470FCC.png | Bin 0 -> 190 bytes graphics/text_window/unk_84710EC.png | Bin 0 -> 190 bytes graphics/text_window/unk_847120C.png | Bin 0 -> 190 bytes graphics/text_window/unk_847132C.png | Bin 0 -> 231 bytes graphics/text_window/unk_847144C.png | Bin 0 -> 231 bytes graphics/text_window/unk_847156C.png | Bin 0 -> 215 bytes graphics/text_window/unk_84716AC.png | Bin 0 -> 203 bytes graphics/text_window/unk_84717CC.png | Bin 0 -> 212 bytes graphics/text_window/unk_8471A4C.png | Bin 0 -> 160 bytes graphics/text_window/unk_8471B6C.png | Bin 0 -> 175 bytes include/text_window_graphics.h | 18 +++++++++ ld_script.txt | 3 +- src/text_window_graphics.c | 58 +++++++++++++++++++++++++++ 22 files changed, 174 insertions(+), 44 deletions(-) delete mode 100644 asm/text_window_graphics.s create mode 100644 graphics/text_window/stdpal_0.pal create mode 100644 graphics/text_window/stdpal_1.pal create mode 100644 graphics/text_window/stdpal_2.pal create mode 100644 graphics/text_window/stdpal_3.pal create mode 100644 graphics/text_window/stdpal_4.pal create mode 100644 graphics/text_window/unk_8470D6C.png create mode 100644 graphics/text_window/unk_8470E8C.png create mode 100644 graphics/text_window/unk_8470FCC.png create mode 100644 graphics/text_window/unk_84710EC.png create mode 100644 graphics/text_window/unk_847120C.png create mode 100644 graphics/text_window/unk_847132C.png create mode 100644 graphics/text_window/unk_847144C.png create mode 100644 graphics/text_window/unk_847156C.png create mode 100644 graphics/text_window/unk_84716AC.png create mode 100644 graphics/text_window/unk_84717CC.png create mode 100644 graphics/text_window/unk_8471A4C.png create mode 100644 graphics/text_window/unk_8471B6C.png create mode 100644 include/text_window_graphics.h create mode 100644 src/text_window_graphics.c diff --git a/asm/text_window_graphics.s b/asm/text_window_graphics.s deleted file mode 100644 index 6c725a553..000000000 --- a/asm/text_window_graphics.s +++ /dev/null @@ -1,30 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8069788 -sub_8069788: @ 8069788 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _080697A0 - lsls r0, 3 - ldr r1, _0806979C @ =gUnknown_8471E8C - adds r0, r1 - b _080697A2 - .align 2, 0 -_0806979C: .4byte gUnknown_8471E8C -_080697A0: - ldr r0, _080697A8 @ =gUnknown_8471E8C -_080697A2: - pop {r1} - bx r1 - .align 2, 0 -_080697A8: .4byte gUnknown_8471E8C - thumb_func_end sub_8069788 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_8468C98.s b/data/data_8468C98.s index 0f3b039c1..629dcaf02 100644 --- a/data/data_8468C98.s +++ b/data/data_8468C98.s @@ -321,16 +321,4 @@ gUnknown_846FB0C:: @ 846FB0C .incbin "baserom.gba", 0x46FB0C, 0x1000 gUnknown_8470B0C:: @ 8470B0C - .incbin "baserom.gba", 0x470B0C, 0xF40 - -gUnknown_8471A4C:: @ 8471A4C - .incbin "baserom.gba", 0x471A4C, 0x120 - -gUnknown_8471B6C:: @ 8471B6C - .incbin "baserom.gba", 0x471B6C, 0x280 - -gUnknown_8471DEC:: @ 8471DEC - .incbin "baserom.gba", 0x471DEC, 0xA0 - -gUnknown_8471E8C:: @ 8471E8C - .incbin "baserom.gba", 0x471E8C, 0x50 + .incbin "baserom.gba", 0x470B0C, 0x260 diff --git a/graphics/text_window/stdpal_0.pal b/graphics/text_window/stdpal_0.pal new file mode 100644 index 000000000..c64668073 --- /dev/null +++ b/graphics/text_window/stdpal_0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 255 255 +213 230 246 +164 213 230 +230 246 255 +115 164 197 +74 115 164 diff --git a/graphics/text_window/stdpal_1.pal b/graphics/text_window/stdpal_1.pal new file mode 100644 index 000000000..df5d3c337 --- /dev/null +++ b/graphics/text_window/stdpal_1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 255 255 +205 205 222 +205 205 222 +230 246 255 +205 205 222 +106 115 123 diff --git a/graphics/text_window/stdpal_2.pal b/graphics/text_window/stdpal_2.pal new file mode 100644 index 000000000..6a14d67f0 --- /dev/null +++ b/graphics/text_window/stdpal_2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 255 255 +74 205 238 +16 172 222 +0 82 115 +0 115 139 +0 123 197 diff --git a/graphics/text_window/stdpal_3.pal b/graphics/text_window/stdpal_3.pal new file mode 100644 index 000000000..9cbcdad4c --- /dev/null +++ b/graphics/text_window/stdpal_3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 0 255 +205 213 213 +156 205 222 +98 115 123 +65 172 230 +131 164 180 diff --git a/graphics/text_window/stdpal_4.pal b/graphics/text_window/stdpal_4.pal new file mode 100644 index 000000000..a004a081a --- /dev/null +++ b/graphics/text_window/stdpal_4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +57 98 115 +131 131 131 +164 164 164 +197 197 205 +230 230 238 +65 90 106 diff --git a/graphics/text_window/unk_8470D6C.png b/graphics/text_window/unk_8470D6C.png new file mode 100644 index 0000000000000000000000000000000000000000..d14130f9a7aaab0aae8b24b5ffb39776306f5816 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*W$BF{{R1e*); z9RK$gE6m}T@@e*); z9RK$gE6m}T@@u1#eYqnwke8{~d|1p;=gU09R V&1PRabbzKYc)I$ztaD0e0sv4IMXLY+ literal 0 HcmV?d00001 diff --git a/graphics/text_window/unk_8470FCC.png b/graphics/text_window/unk_8470FCC.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b21542d6e8a0900abddba395788e6d20ff5981 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*W$BF{{R1e*); z9RK$gE6m}T@@|2=C7hi7}3iv8ZRHQ5TBlXf()V1Kr!t>7E44Es?_4L;Xz ohpbc1tq%>@@Q*pGL4lc}Phr-~x!3MB0}W;HboFyt=akR{0RMkW0{{R3 literal 0 HcmV?d00001 diff --git a/graphics/text_window/unk_84710EC.png b/graphics/text_window/unk_84710EC.png new file mode 100644 index 0000000000000000000000000000000000000000..cb7e5383d445072fcab8923d9036a08f4753acd0 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*W$BF{{R1e*); z9RK$gE6m}T@@e*); z9RK$gE6m}T@@Eak7F*P~C zf${&thQ`MFx3L;KzBV@gzh^Ds@N5rLvEO^PCR>4X(vAie?9cYJ6@25BVLxiA!RPwz nkafzr^`QY9{xN4YC@?ehDa@KV_u9Q?prH(&u6{1-oD!M<(dlR(2$c4eF;dN>#rEE`Qr^|x|MqkL|Hc2_QYkSpb!c`&0001T zNklqLzD;npLJpWSq^E>Y(7Z7Sa7|DHodDMa`p@a_cii!z=LGD*gvDY{ hz=SoI%J}>t_jW(ymfW2I_g?@2002ovPDHLkV1hO(W{m&< literal 0 HcmV?d00001 diff --git a/graphics/text_window/unk_847144C.png b/graphics/text_window/unk_847144C.png new file mode 100644 index 0000000000000000000000000000000000000000..804df1a8b2289c6e9193bdb90bfab81f93d4a476 GIT binary patch literal 231 zcmVlR(2$c4eF;dN>#rCwc#jLEo=I-|Y|Nqt1-YGFLVGI>h0001T zNklqLzD;npLJpWSq^E>Y(7Z7Sa7|DHodDMa`p@a_cii!z=LGD*gvDY{ hz=SoI%J}>t_jW(ymfW2I_g?@2002ovPDHLkV1he9W{v;= literal 0 HcmV?d00001 diff --git a/graphics/text_window/unk_847156C.png b/graphics/text_window/unk_847156C.png new file mode 100644 index 0000000000000000000000000000000000000000..b1292016f769eacbb0eafb16ea0101d16e717cd9 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;wg8-ip*W$BF{{R1e*); z9RK$gE6m}T@@t~O z{O4zvm-x3g>g&6^S^{z9^B>;dTVDQtAM?ZQ&n4^jwi?{OySH4vd9yUnw|mSlD|I>8 zem7KgJo!^qEq&-Fw^^?SU*$IiOOfsM0ek*Fe{e*); z9RK$gE6m}T@@t~C z5+3~LXOov`c<_I{>2imHzx4}#+^x=6{P2$5W={P3xc6+$weR0GTQnswJo>YhCsM?5>isUlnA$mOPjE2eeU)<^6wlR(_=w46~PSjGXrGVG7U&22WQ%mvv4FO#uFY BR{Q_} literal 0 HcmV?d00001 diff --git a/graphics/text_window/unk_84717CC.png b/graphics/text_window/unk_84717CC.png new file mode 100644 index 0000000000000000000000000000000000000000..0ea4b9a45583b56aee222908592156efd9565246 GIT binary patch literal 212 zcmV;_04x8AP)lR(2$c4eF;dN>#rEdS?%v+!y_CJAd!*H*)lxA^PSRXn0001A zNkle*); z9RK$gE6m}T@@D28-Pb8P43);9$Gt+}-?$HRb%m3Tbf$27A$n+j=W^+y-i6@O1Ta JS?83{1OPMpK0W{d literal 0 HcmV?d00001 diff --git a/graphics/text_window/unk_8471B6C.png b/graphics/text_window/unk_8471B6C.png new file mode 100644 index 0000000000000000000000000000000000000000..c1fba59195b25b27986700f875eba82e71fe7a84 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^8bGYT0wfq3%sTD@sWML&#}JK)doSMRZBXE04cNsv z!=k}ZFX53w)~^2=5igtDYgT>#>~Py*?r%NCrAiz^@i%*>Yz^4N7`$vv$TkDHYv1!a zgtBL^?yjg%}MUOuJpzXL7ui>RWB01KkL6ySFpq;Y~qGkspQRZN44}H YunKOB(x2zc)d+Hlr>mdKI;Vst08@)W`2YX_ literal 0 HcmV?d00001 diff --git a/include/text_window_graphics.h b/include/text_window_graphics.h new file mode 100644 index 000000000..1d7b2b7c9 --- /dev/null +++ b/include/text_window_graphics.h @@ -0,0 +1,18 @@ +#ifndef GUARD_TEXT_WINDOW_GRAPHICS_H +#define GUARD_TEXT_WINDOW_GRAPHICS_H + +struct TextWindowGraphics +{ + const void * tiles; + const void * palette; +}; + +extern const u16 gUnknown_8471A4C[]; +extern const u16 gUnknown_8471B6C[]; +extern const u16 gUnknown_8471DEC[][16]; + +extern const struct TextWindowGraphics gUnknown_8471E8C[]; + +const struct TextWindowGraphics * sub_8069788(u8 idx); + +#endif //GUARD_TEXT_WINDOW_GRAPHICS_H diff --git a/ld_script.txt b/ld_script.txt index b68b285cc..5ff29f104 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -100,7 +100,7 @@ SECTIONS { asm/map_obj_80688E4.o(.text); asm/field_message_box.o(.text); asm/map_obj_lock.o(.text); - asm/text_window_graphics.o(.text); + src/text_window_graphics.o(.text); src/script.o(.text); src/scrcmd.o(.text); asm/field_control_avatar.o(.text); @@ -428,6 +428,7 @@ SECTIONS { . = ALIGN(4); src/seagallop.o(.rodata); data/data_8468C98.o(.rodata); + src/text_window_graphics.o(.rodata); src/quest_log_8150454.o(.rodata); data/data_8471F00.o(.rodata); src/unk_815C980.o(.rodata); diff --git a/src/text_window_graphics.c b/src/text_window_graphics.c new file mode 100644 index 000000000..1133abbdb --- /dev/null +++ b/src/text_window_graphics.c @@ -0,0 +1,58 @@ +#include "global.h" +#include "text_window_graphics.h" + +static const u16 gUnknown_8470D6C[] = INCBIN_U16("graphics/text_window/unk_8470D6C.4bpp"); +static const u16 gUnknown_8470E8C[] = INCBIN_U16("graphics/text_window/unk_8470E8C.4bpp"); +static const u16 gUnk_Empty_Space_8470FAC[16] = {0}; +static const u16 gUnknown_8470FCC[] = INCBIN_U16("graphics/text_window/unk_8470FCC.4bpp"); +static const u16 gUnknown_84710EC[] = INCBIN_U16("graphics/text_window/unk_84710EC.4bpp"); +static const u16 gUnknown_847120C[] = INCBIN_U16("graphics/text_window/unk_847120C.4bpp"); +static const u16 gUnknown_847132C[] = INCBIN_U16("graphics/text_window/unk_847132C.4bpp"); +static const u16 gUnknown_847144C[] = INCBIN_U16("graphics/text_window/unk_847144C.4bpp"); +static const u16 gUnknown_847156C[] = INCBIN_U16("graphics/text_window/unk_847156C.4bpp"); +static const u16 gUnk_Empty_Space_847168C[16] = {0}; +static const u16 gUnknown_84716AC[] = INCBIN_U16("graphics/text_window/unk_84716AC.4bpp"); +static const u16 gUnknown_84717CC[] = INCBIN_U16("graphics/text_window/unk_84717CC.4bpp"); +static const u16 gUnk_Empty_Space_84718EC[16] = {0}; +static const u16 gUnknown_847190C[] = INCBIN_U16("graphics/text_window/unk_8470D6C.gbapal"); +static const u16 gUnknown_847192C[] = INCBIN_U16("graphics/text_window/unk_8470E8C.gbapal"); +static const u16 gUnknown_847194C[] = INCBIN_U16("graphics/text_window/unk_8470FCC.gbapal"); +static const u16 gUnknown_847196C[] = INCBIN_U16("graphics/text_window/unk_84710EC.gbapal"); +static const u16 gUnknown_847198C[] = INCBIN_U16("graphics/text_window/unk_847120C.gbapal"); +static const u16 gUnknown_84719AC[] = INCBIN_U16("graphics/text_window/unk_847132C.gbapal"); +static const u16 gUnknown_84719CC[] = INCBIN_U16("graphics/text_window/unk_847144C.gbapal"); +static const u16 gUnknown_84719EC[] = INCBIN_U16("graphics/text_window/unk_847156C.gbapal"); +static const u16 gUnknown_8471A0C[] = INCBIN_U16("graphics/text_window/unk_84716AC.gbapal"); +static const u16 gUnknown_8471A2C[] = INCBIN_U16("graphics/text_window/unk_84717CC.gbapal"); + +const u16 gUnknown_8471A4C[] = INCBIN_U16("graphics/text_window/unk_8471A4C.4bpp"); +const u16 gUnknown_8471B6C[] = INCBIN_U16("graphics/text_window/unk_8471B6C.4bpp"); + +const u16 gUnknown_8471DEC[][16] = { + INCBIN_U16("graphics/text_window/stdpal_0.gbapal"), + INCBIN_U16("graphics/text_window/stdpal_1.gbapal"), + INCBIN_U16("graphics/text_window/stdpal_2.gbapal"), + INCBIN_U16("graphics/text_window/stdpal_3.gbapal"), + INCBIN_U16("graphics/text_window/stdpal_4.gbapal") +}; + +const struct TextWindowGraphics gUnknown_8471E8C[] = { + {gUnknown_8470D6C, gUnknown_847190C}, + {gUnknown_8470E8C, gUnknown_847192C}, + {gUnknown_8470FCC, gUnknown_847194C}, + {gUnknown_84710EC, gUnknown_847196C}, + {gUnknown_847120C, gUnknown_847198C}, + {gUnknown_847132C, gUnknown_84719AC}, + {gUnknown_847144C, gUnknown_84719CC}, + {gUnknown_847156C, gUnknown_84719EC}, + {gUnknown_84716AC, gUnknown_8471A0C}, + {gUnknown_84717CC, gUnknown_8471A2C} +}; // NELEMS = 10 + +const struct TextWindowGraphics * sub_8069788(u8 idx) +{ + if (idx >= 20) // if (idx >= NELEMS(gUnknown_8471E8C)) + return &gUnknown_8471E8C[0]; + else + return &gUnknown_8471E8C[idx]; +}