Finish decomp and dism of mevent_8145654

This commit is contained in:
PikalaxALT
2018-12-03 10:40:38 -05:00
parent 59b87e9d2a
commit c500754d6b
17 changed files with 135 additions and 316 deletions
-251
View File
@@ -1,251 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8146A30
sub_8146A30: @ 8146A30
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0xC
movs r5, 0
ldr r6, =gUnknown_203F3CC
ldr r0, [r6]
movs r7, 0xE4
lsls r7, 1
adds r0, r7
ldrb r0, [r0]
bl PutWindowTilemap
ldr r0, [r6]
movs r4, 0xE5
lsls r4, 1
adds r0, r4
ldrb r0, [r0]
bl PutWindowTilemap
ldr r0, [r6]
adds r0, r7
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
ldr r0, [r6]
adds r0, r4
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
ldr r4, [r6]
movs r0, 0xE7
lsls r0, 1
mov r8, r0
add r4, r8
movs r0, 0x3
movs r1, 0x2
bl GetFontAttribute
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
movs r0, 0x3
adds r1, r4, 0
bl GetStringWidth
movs r1, 0xE0
subs r1, r0
lsrs r0, r1, 31
adds r1, r0
asrs r1, 1
cmp r1, 0
bge _08146AA0
movs r1, 0
_08146AA0:
ldr r4, [r6]
adds r0, r4, r7
ldrb r0, [r0]
lsls r2, r1, 24
lsrs r2, 24
movs r3, 0xDE
lsls r3, 1
adds r1, r4, r3
ldr r1, [r1]
ldrb r1, [r1]
lsls r1, 28
lsrs r1, 28
lsls r3, r1, 1
adds r3, r1
ldr r1, =gUnknown_8468038
adds r3, r1
str r3, [sp]
str r5, [sp, 0x4]
add r4, r8
str r4, [sp, 0x8]
movs r1, 0x3
movs r3, 0x6
bl box_print
_08146AD0:
ldr r6, =gUnknown_203F3CC
ldr r4, [r6]
movs r1, 0xE5
lsls r1, 1
adds r0, r4, r1
ldrb r0, [r0]
lsls r3, r5, 4
adds r3, 0x2
lsls r3, 24
lsrs r3, 24
movs r2, 0xDE
lsls r2, 1
adds r1, r4, r2
ldr r1, [r1]
ldrb r1, [r1]
lsrs r1, 4
lsls r2, r1, 1
adds r2, r1
ldr r1, =gUnknown_8468038
adds r2, r1
str r2, [sp]
movs r1, 0
str r1, [sp, 0x4]
lsls r1, r5, 2
adds r1, r5
lsls r1, 3
adds r1, r5
ldr r2, =0x000001f7
adds r1, r2
adds r4, r1
str r4, [sp, 0x8]
movs r1, 0x3
movs r2, 0
bl box_print
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x9
bls _08146AD0
ldr r0, [r6]
movs r3, 0xE4
lsls r3, 1
adds r0, r3
ldrb r0, [r0]
movs r1, 0x3
bl CopyWindowToVram
ldr r0, [r6]
movs r1, 0xE5
lsls r1, 1
adds r0, r1
ldrb r0, [r0]
movs r1, 0x3
bl CopyWindowToVram
add sp, 0xC
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8146A30
thumb_func_start sub_8146B58
sub_8146B58: @ 8146B58
push {r4-r6,lr}
ldr r0, =gUnknown_203F3CC
ldr r1, [r0]
movs r2, 0xE1
lsls r2, 1
adds r0, r1, r2
ldrb r0, [r0]
lsrs r4, r0, 1
lsls r4, 8
ldr r6, =0x000001c3
adds r0, r1, r6
ldrb r1, [r0]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _08146B98
movs r0, 0x2
adds r1, r4, 0
movs r2, 0x1
bl ChangeBgY
movs r0, 0x3
adds r1, r4, 0
movs r2, 0x1
bl ChangeBgY
b _08146BAC
.pool
_08146B98:
movs r0, 0x2
adds r1, r4, 0
movs r2, 0x2
bl ChangeBgY
movs r0, 0x3
adds r1, r4, 0
movs r2, 0x2
bl ChangeBgY
_08146BAC:
ldr r3, =gUnknown_203F3CC
ldr r0, [r3]
ldr r2, =0x000001c3
adds r5, r0, r2
ldrb r4, [r5]
lsrs r1, r4, 1
movs r6, 0xE1
lsls r6, 1
adds r0, r6
ldrb r0, [r0]
lsrs r0, 1
adds r1, r0
lsls r1, 1
movs r6, 0x1
adds r0, r6, 0
ands r0, r4
orrs r0, r1
strb r0, [r5]
ldr r1, [r3]
adds r2, r1, r2
ldrb r2, [r2]
lsrs r0, r2, 1
cmp r0, 0xF
bls _08146C24
adds r0, r6, 0
ands r0, r2
cmp r0, 0
beq _08146BF8
movs r0, 0xE3
lsls r0, 1
adds r1, r0
ldrh r0, [r1]
adds r0, 0x1
b _08146C02
.pool
_08146BF8:
movs r2, 0xE3
lsls r2, 1
adds r1, r2
ldrh r0, [r1]
subs r0, 0x1
_08146C02:
strh r0, [r1]
ldr r0, [r3]
movs r6, 0xE1
lsls r6, 1
adds r2, r0, r6
ldrb r1, [r2]
movs r0, 0x2
negs r0, r0
ands r0, r1
strb r0, [r2]
ldr r0, [r3]
ldr r1, =0x000001c3
adds r2, r0, r1
ldrb r1, [r2]
movs r0, 0x1
ands r0, r1
strb r0, [r2]
_08146C24:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8146B58
.align 2, 0 @ Don't pad with nop.
+2 -50
View File
@@ -4,57 +4,9 @@
.section .rodata
.align 2
gUnknown_8468060::
.incbin "baserom.gba", 0x468060, 0x20
gUnknown_8468080::
.incbin "baserom.gba", 0x468080, 0x20
gUnknown_84680A0::
.incbin "baserom.gba", 0x4680A0, 0x20
gUnknown_84680C0::
.incbin "baserom.gba", 0x4680C0, 0x80
gUnknown_8468140::
.incbin "baserom.gba", 0x468140, 0xdc
gUnknown_846821C::
.incbin "baserom.gba", 0x46821C, 0x30
gUnknown_846824C::
.incbin "baserom.gba", 0x46824C, 0xc0
gUnknown_846830C::
.incbin "baserom.gba", 0x46830C, 0x70
gUnknown_846837C::
.incbin "baserom.gba", 0x46837C, 0xcc
gUnknown_8468448::
.incbin "baserom.gba", 0x468448, 0x90
gUnknown_84684D8::
.incbin "baserom.gba", 0x4684D8, 0xdc
gUnknown_84685B4::
.incbin "baserom.gba", 0x4685B4, 0x90
gUnknown_8468644::
.incbin "baserom.gba", 0x468644, 0xdc
gUnknown_8468720:: @ 8468720
.4byte 1, gUnknown_84680C0, gUnknown_8468140, gUnknown_8468060
.4byte 1, gUnknown_846821C, gUnknown_846824C, gUnknown_84670AC
.4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_84670CC
.4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_84670EC
.4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_846710C
.4byte 1, gUnknown_846830C, gUnknown_846837C, gUnknown_846712C
.4byte 1, gUnknown_8468448, gUnknown_84684D8, gUnknown_8468080
.4byte 1, gUnknown_84685B4, gUnknown_8468644, gUnknown_84680A0
gUnknown_84687A0::
.incbin "baserom.gba", 0x4687a0, 0x40
.string "You have collected all STAMPs!\n"
.string "Want to input a CARD as a prize?$"
.include "data/mevent/script_ish.inc"
.include "data/mevent/script_common.inc"
Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
90 197 148
213 213 213
74 74 74
98 106 106
213 189 74
238 213 82
246 246 213
255 255 255
230 230 213
238 238 213
246 246 238
255 0 255
255 0 255
255 0 255
255 0 255
255 0 255
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
189 123 148
213 213 213
74 74 74
115 123 123
164 156 90
164 148 90
197 197 90
213 205 90
222 213 90
213 213 106
238 246 98
230 222 98
213 205 98
197 180 98
238 230 98
246 238 106
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
189 123 148
213 213 213
74 74 74
115 123 123
156 156 156
139 139 148
180 180 197
197 189 205
205 205 222
189 189 189
197 230 222
189 213 213
180 197 197
156 164 172
222 222 230
230 230 238
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-1
View File
@@ -247,7 +247,6 @@ SECTIONS {
src/mevent_server_helpers.o(.text);
src/mevent_server.o(.text);
src/mevent_8145654.o(.text);
asm/mevent_8145654.o(.text);
src/menews_jisan.o(.text);
asm/seagallop.o(.text);
asm/unk_8147500.o(.text);
+76 -14
View File
@@ -443,18 +443,10 @@ void sub_81461D8(void)
}
}
struct UnkStruct_8468720
{
u8 unk0;
const void * unk4;
const void * unk8;
const void * unkC;
};
struct UnkStruct_203F3CC
{
/*0000*/ struct MEventBuffer_3120_Sub unk_0000;
/*01bc*/ const struct UnkStruct_8468720 * unk_01BC;
/*01bc*/ const struct UnkStruct_8467FB8 * unk_01BC;
/*01c0*/ u8 unk_01C0_0:1;
u8 unk_01C0_1:7;
/*01c1*/ u8 unk_01C1;
@@ -490,7 +482,31 @@ const struct ScrollIndicatorArrowPairTemplate gUnknown_8468050 = {
0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98,
0x0000, 0x0002, 0x1000, 0x1000, 0x0, 0x000
};
extern const struct UnkStruct_8468720 gUnknown_8468720[8];
const u16 gUnknown_8468060[] = INCBIN_U16("data/graphics/mevent/pal_468060.gbapal");
const u16 gUnknown_8468080[] = INCBIN_U16("data/graphics/mevent/pal_468080.gbapal");
const u16 gUnknown_84680A0[] = INCBIN_U16("data/graphics/mevent/pal_4680A0.gbapal");
const u8 gUnknown_84680C0[] = INCBIN_U8("data/graphics/mevent/gfx_4680C0.4bpp.lz");
const u8 gUnknown_8468140[] = INCBIN_U8("data/graphics/mevent/tilemap_468140.bin.lz");
const u8 gUnknown_846821C[] = INCBIN_U8("data/graphics/mevent/gfx_46821C.4bpp.lz");
const u8 gUnknown_846824C[] = INCBIN_U8("data/graphics/mevent/tilemap_46824C.bin.lz");
const u8 gUnknown_846830C[] = INCBIN_U8("data/graphics/mevent/gfx_46830C.4bpp.lz");
const u8 gUnknown_846837C[] = INCBIN_U8("data/graphics/mevent/tilemap_46837C.bin.lz");
const u8 gUnknown_8468448[] = INCBIN_U8("data/graphics/mevent/gfx_468448.4bpp.lz");
const u8 gUnknown_84684D8[] = INCBIN_U8("data/graphics/mevent/tilemap_4684D8.bin.lz");
const u8 gUnknown_84685B4[] = INCBIN_U8("data/graphics/mevent/gfx_4685B4.4bpp.lz");
const u8 gUnknown_8468644[] = INCBIN_U8("data/graphics/mevent/tilemap_468644.bin.lz");
const struct UnkStruct_8467FB8 gUnknown_8468720[] = {
{1, 0, 0, 0, gUnknown_84680C0, gUnknown_8468140, gUnknown_8468060},
{1, 0, 0, 0, gUnknown_846821C, gUnknown_846824C, gUnknown_84670AC},
{1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_84670CC},
{1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_84670EC},
{1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_846710C},
{1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_846712C},
{1, 0, 0, 0, gUnknown_8468448, gUnknown_84684D8, gUnknown_8468080},
{1, 0, 0, 0, gUnknown_84685B4, gUnknown_8468644, gUnknown_84680A0}
};
bool32 sub_8146288(const struct MEventBuffer_3120_Sub * a0)
{
@@ -549,7 +565,7 @@ s32 sub_8146318(void)
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
CopyBgTilemapBufferToVram(3);
decompress_and_copy_tile_data_to_vram(3, gUnknown_203F3CC->unk_01BC->unk4, 0, 8, 0);
decompress_and_copy_tile_data_to_vram(3, gUnknown_203F3CC->unk_01BC->tiles, 0, 8, 0);
gUnknown_203F3CC->unk_01C8[0] = AddWindow(&gUnknown_8468040[0]);
gUnknown_203F3CC->unk_01C8[1] = AddWindow(&gUnknown_8468040[1]);
break;
@@ -557,8 +573,8 @@ s32 sub_8146318(void)
if (free_temp_tile_data_buffers_if_possible())
return 0;
gPaletteFade.bufferTransferDisabled = TRUE;
LoadPalette(gUnknown_203F3CC->unk_01BC->unkC, 0x10, 0x20);
LZ77UnCompWram(gUnknown_203F3CC->unk_01BC->unk8, gUnknown_203F3CC->buffer_03A4);
LoadPalette(gUnknown_203F3CC->unk_01BC->pal, 0x10, 0x20);
LZ77UnCompWram(gUnknown_203F3CC->unk_01BC->map, gUnknown_203F3CC->buffer_03A4);
CopyRectToBgTilemapBufferRect(1, gUnknown_203F3CC->buffer_03A4, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0);
CopyRectToBgTilemapBufferRect(3, gUnknown_203F3CC->buffer_03A4, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0);
CopyBgTilemapBufferToVram(1);
@@ -719,7 +735,7 @@ void sub_8146980(void)
u8 i = 0;
memcpy(gUnknown_203F3CC->unk_01CE, gUnknown_203F3CC->unk_0000.unk_04, 40);
gUnknown_203F3CC->unk_01CE[40] = EOS;
for (i = 0; i < 10; ++i)
for (; i < 10; ++i)
{
memcpy(gUnknown_203F3CC->unk_01F7[i], gUnknown_203F3CC->unk_0000.unk_2C[i], 40);
gUnknown_203F3CC->unk_01F7[i][40] = EOS;
@@ -729,3 +745,49 @@ void sub_8146980(void)
gUnknown_203F3CC->unk_0394 = gUnknown_8468050;
gUnknown_203F3CC->unk_0394.unk_08 = gUnknown_203F3CC->unk_01C4;
}
void sub_8146A30(void)
{
u8 i = 0;
s32 x;
PutWindowTilemap(gUnknown_203F3CC->unk_01C8[0]);
PutWindowTilemap(gUnknown_203F3CC->unk_01C8[1]);
FillWindowPixelBuffer(gUnknown_203F3CC->unk_01C8[0], 0);
FillWindowPixelBuffer(gUnknown_203F3CC->unk_01C8[1], 0);
x = (0xe0 - GetStringWidth(3, gUnknown_203F3CC->unk_01CE, GetFontAttribute(3, 2))) / 2;
if (x < 0)
x = 0;
box_print(gUnknown_203F3CC->unk_01C8[0], 3, x, 6, &gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal1], 0, gUnknown_203F3CC->unk_01CE);
for (; i < 10; ++i)
{
box_print(gUnknown_203F3CC->unk_01C8[1], 3, 0, 16 * i + 2, &gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal2], 0, gUnknown_203F3CC->unk_01F7[i]);
}
CopyWindowToVram(gUnknown_203F3CC->unk_01C8[0], 3);
CopyWindowToVram(gUnknown_203F3CC->unk_01C8[1], 3);
}
void sub_8146B58(void)
{
u16 r4 = gUnknown_203F3CC->unk_01C2_1;
r4 <<= 8;
if (gUnknown_203F3CC->unk_01C3_0)
{
ChangeBgY(2, r4, 1);
ChangeBgY(3, r4, 1);
}
else
{
ChangeBgY(2, r4, 2);
ChangeBgY(3, r4, 2);
}
gUnknown_203F3CC->unk_01C3_1 += gUnknown_203F3CC->unk_01C2_1;
if (gUnknown_203F3CC->unk_01C3_1 > 15)
{
if (gUnknown_203F3CC->unk_01C3_0)
++gUnknown_203F3CC->unk_01C6;
else
--gUnknown_203F3CC->unk_01C6;
gUnknown_203F3CC->unk_01C2_0 = FALSE;
gUnknown_203F3CC->unk_01C3_1 = 0;
}
}