diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-12-02 16:38:07 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-12-02 16:38:07 -0500 |
commit | 9e34e6b53d8c21c79e67c7b46ac658506abb4ed3 (patch) | |
tree | f21167dce176fef0c02323485523c312700984aa | |
parent | 30d4803a44a8f11ee88c4d4e37cef9f2373b3542 (diff) |
sub_8146060
-rw-r--r-- | asm/mevent_8145654.s | 176 | ||||
-rw-r--r-- | data/data_8466FB8.s | 37 | ||||
-rw-r--r-- | include/decompress.h | 2 | ||||
-rw-r--r-- | src/mevent_8145654.c | 21 |
4 files changed, 52 insertions, 184 deletions
diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s index d561f2766..e8af5eeae 100644 --- a/asm/mevent_8145654.s +++ b/asm/mevent_8145654.s @@ -5,182 +5,6 @@ .text - thumb_func_start sub_8146060 -sub_8146060: @ 8146060 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r7, 0 - ldr r4, =gUnknown_203F3C8 - ldr r0, [r4] - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r4] - movs r2, 0xA9 - lsls r2, 1 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _081460C8 - bl sub_8096FD4 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =SpriteCallbackDummy - str r7, [sp] - str r7, [sp, 0x4] - movs r2, 0xDC - movs r3, 0x14 - bl sub_8096ECC - ldr r1, [r4] - movs r3, 0xBE - lsls r3, 1 - adds r1, r3 - strb r0, [r1] - ldr r2, =gSprites - ldr r0, [r4] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] -_081460C8: - ldr r1, [r4] - ldrb r0, [r1, 0x9] - cmp r0, 0 - beq _081461AC - ldrb r1, [r1, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _081461AC - ldr r0, =gUnknown_8467F58 - bl sub_800F034 - ldr r0, [r4] - movs r1, 0xB8 - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - lsrs r0, 4 - lsls r0, 3 - ldr r1, =gUnknown_8467F60 - adds r0, r1 - bl LoadSpritePalette - ldr r0, [r4] - ldrb r0, [r0, 0x9] - cmp r7, r0 - bcs _081461AC - adds r6, r4, 0 - ldr r2, =0x0000017d - mov r10, r2 - movs r3, 0 - mov r9, r3 - movs r0, 0xFF - mov r8, r0 -_0814610E: - ldr r1, [r6] - lsls r4, r7, 1 - add r1, r10 - adds r1, r4 - ldrb r0, [r1] - mov r2, r8 - orrs r0, r2 - strb r0, [r1] - ldr r1, [r6] - movs r3, 0xBF - lsls r3, 1 - adds r1, r3 - adds r1, r4 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - lsls r1, r7, 5 - movs r0, 0xD8 - subs r5, r0, r1 - ldr r0, =gUnknown_8467FA0 - adds r1, r5, 0 - movs r2, 0x90 - movs r3, 0x8 - bl CreateSprite - ldr r1, [r6] - add r1, r10 - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, 0 - beq _0814619E - bl sub_8096FD4 - lsls r0, 16 - lsrs r0, 16 - mov r2, r9 - str r2, [sp] - str r2, [sp, 0x4] - ldr r1, =SpriteCallbackDummy - adds r2, r5, 0 - movs r3, 0x88 - bl sub_8096ECC - ldr r1, [r6] - movs r3, 0xBF - lsls r3, 1 - adds r1, r3 - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, r3 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r2, r1 - movs r1, 0x8 - orrs r2, r1 - strb r2, [r0, 0x5] -_0814619E: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r6] - ldrb r0, [r0, 0x9] - cmp r7, r0 - bcc _0814610E -_081461AC: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146060 - thumb_func_start sub_81461D8 sub_81461D8: @ 81461D8 push {r4-r7,lr} diff --git a/data/data_8466FB8.s b/data/data_8466FB8.s index e7b8c4fbb..38cd46b8c 100644 --- a/data/data_8466FB8.s +++ b/data/data_8466FB8.s @@ -89,16 +89,45 @@ gUnknown_8467CAC:: .incbin "data/graphics/mevent/tilemap_467CAC.bin.lz" gUnknown_8467DF4:: - .incbin "baserom.gba", 0x467DF4, 0x100 + .incbin "data/graphics/mevent/pal_467DF4.gbapal" + +gUnknown_8467E14:: + .incbin "data/graphics/mevent/pal_467E14.gbapal" + +gUnknown_8467E34:: + .incbin "data/graphics/mevent/pal_467E34.gbapal" + +gUnknown_8467E54:: + .incbin "data/graphics/mevent/pal_467E54.gbapal" + +gUnknown_8467E74:: + .incbin "data/graphics/mevent/pal_467E74.gbapal" + +gUnknown_8467E94:: + .incbin "data/graphics/mevent/pal_467E94.gbapal" + +gUnknown_8467EB4:: + .incbin "data/graphics/mevent/pal_467EB4.gbapal" + +gUnknown_8467ED4:: + .incbin "data/graphics/mevent/pal_467ED4.gbapal" gUnknown_8467EF4:: - .incbin "baserom.gba", 0x467EF4, 0x64 + .incbin "data/graphics/mevent/gfx_467F58.4bpp.lz" gUnknown_8467F58:: @ 8467F58 - .incbin "baserom.gba", 0x467F58, 0x8 + .4byte gUnknown_8467EF4 + .2byte 0x0100, 0x8000 gUnknown_8467F60:: @ 8467F60 - .incbin "baserom.gba", 0x467F60, 0x40 + obj_pal gUnknown_8467DF4, 0x8000 + obj_pal gUnknown_8467E14, 0x8000 + obj_pal gUnknown_8467E34, 0x8000 + obj_pal gUnknown_8467E54, 0x8000 + obj_pal gUnknown_8467E74, 0x8000 + obj_pal gUnknown_8467E94, 0x8000 + obj_pal gUnknown_8467EB4, 0x8000 + obj_pal gUnknown_8467ED4, 0x8000 gUnknown_8467FA0:: @ 8467FA0 .incbin "baserom.gba", 0x467FA0, 0x18 diff --git a/include/decompress.h b/include/decompress.h index 5f3863dc7..36672dcfd 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -32,4 +32,6 @@ void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src u32 sub_8034974(const u8 *ptr); +void sub_800F034(const struct CompressedSpriteSheet *src); + #endif // GUARD_DECOMPRESS_H diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index ec1664643..db714ce80 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -37,7 +37,7 @@ struct UnkStruct_203F3C8 /*0175*/ u8 unk_0175; /*0176*/ u16 unk_0176[3]; /*017C*/ u8 unk_017C; - /*017D*/ u8 filler_017D[14]; + /*017D*/ u8 unk_017D[7][2]; /*018B*/ u8 unk_018B[41]; /*01B4*/ u8 unk_01B4[41]; /*01DD*/ u8 unk_01DD[7]; @@ -66,7 +66,9 @@ extern const u8 gUnknown_8467070[3]; extern const struct WindowTemplate gUnknown_8467074[3]; extern const struct CompressedSpriteSheet gUnknown_8467F58; +extern const struct SpritePalette gUnknown_8467F60[]; extern const struct UnkStruct_8467FB8 gUnknown_8467FB8[8]; +extern const struct SpriteTemplate gUnknown_8467FA0; bool32 sub_8145654(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6) { @@ -333,9 +335,9 @@ void sub_8145D18(u8 whichWindow) CopyWindowToVram(windowId, 3); } -/* void sub_8146060(void) { + u8 r7 = 0; gUnknown_203F3C8->unk_017C = 0xFF; if (gUnknown_203F3C8->unk_014C.unk_06 != SPECIES_NONE) { @@ -344,7 +346,18 @@ void sub_8146060(void) } if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1) { - sub_800F034(gUnknown_8467F58); + sub_800F034(&gUnknown_8467F58); + LoadSpritePalette(&gUnknown_8467F60[gUnknown_203F3C8->unk_0170->textPal4]); + for (; r7 < gUnknown_203F3C8->unk_0000.unk_09; r7++) + { + gUnknown_203F3C8->unk_017D[r7][0] = 0xFF; + gUnknown_203F3C8->unk_017D[r7][1] = 0xFF; + gUnknown_203F3C8->unk_017D[r7][0] = CreateSprite(&gUnknown_8467FA0, 0xd8 - 32 * r7, 0x90, 8); + if (gUnknown_203F3C8->unk_014C.unk_08[0][r7] != 0) + { + gUnknown_203F3C8->unk_017D[r7][1] = sub_8096ECC(sub_8096FD4(gUnknown_203F3C8->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0); + gSprites[gUnknown_203F3C8->unk_017D[r7][1]].oam.priority = 2; + } + } } } - */ |