Finish decomp and dism of mevent_8145654
This commit is contained in:
@@ -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
@@ -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 |
@@ -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
|
||||
@@ -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
|
||||
@@ -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.
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user