diff options
author | scnorton <scnorton@biociphers.org> | 2019-04-11 11:04:48 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2019-04-11 11:04:48 -0400 |
commit | b2b26e0e3b3d1824ae01c0bf05c0041dd055e536 (patch) | |
tree | bb8c980c297753c2d9972cf13cf8e929cc29313d | |
parent | 6eb7cc6cfae14b93feee880b23e903c336c58dcd (diff) |
through sub_8130FD4 and associated rodata
-rw-r--r-- | asm/oak_speech.s | 207 | ||||
-rw-r--r-- | data/data_835B488.s | 13 | ||||
-rw-r--r-- | data/data_845FD54.s | 76 | ||||
-rw-r--r-- | data/oak_speech/unk_84629D0.pal | 19 | ||||
-rw-r--r-- | data/oak_speech/unk_84629F0.pal | 19 | ||||
-rw-r--r-- | data/oak_speech/unk_8462A10.png | bin | 0 -> 271 bytes | |||
-rw-r--r-- | data/oak_speech/unk_8462B74.png | bin | 0 -> 350 bytes | |||
-rw-r--r-- | data/oak_speech/unk_8462D34.png | bin | 0 -> 228 bytes | |||
-rw-r--r-- | data/oak_speech/unk_8462E18.png | bin | 0 -> 119 bytes | |||
-rw-r--r-- | src/oak_speech.c | 52 |
10 files changed, 169 insertions, 217 deletions
diff --git a/asm/oak_speech.s b/asm/oak_speech.s index d3d7ffc4a..f9d4e9b5a 100644 --- a/asm/oak_speech.s +++ b/asm/oak_speech.s @@ -5,213 +5,6 @@ .text - thumb_func_start sub_8130FB8 -sub_8130FB8: @ 8130FB8 - ldr r3, _08130FD0 @ =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - adds r1, 0x2B - ldrb r1, [r1] - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_08130FD0: .4byte gSprites - thumb_func_end sub_8130FB8 - - thumb_func_start sub_8130FD4 -sub_8130FD4: @ 8130FD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - movs r4, 0 - cmp r1, 0 - beq _08130FF4 - cmp r1, 0x1 - beq _081310C8 - b _08131146 -_08130FF4: - ldr r4, _081310B0 @ =gUnknown_8462EFC - adds r0, r4, 0 - bl LoadCompressedObjectPic - adds r0, r4, 0 - adds r0, 0x8 - bl LoadCompressedObjectPic - adds r4, 0x10 - adds r0, r4, 0 - bl LoadCompressedObjectPic - ldr r0, _081310B4 @ =gUnknown_8462F1C - bl LoadSpritePalette - ldr r0, _081310B8 @ =gUnknown_846302C - mov r8, r0 - movs r1, 0x10 - movs r2, 0x11 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, _081310BC @ =gSprites - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x5] - movs r5, 0xD - negs r5, r5 - adds r0, r5, 0 - ands r0, r2 - strb r0, [r1, 0x5] - ldr r0, _081310C0 @ =gTasks - mov r1, r9 - lsls r4, r1, 2 - add r4, r9 - lsls r4, 3 - adds r4, r0 - strh r7, [r4, 0x16] - mov r0, r8 - adds r0, 0x18 - movs r1, 0x10 - movs r2, 0x9 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r2, r1, r6 - ldrb r3, [r2, 0x5] - adds r0, r5, 0 - ands r0, r3 - strb r0, [r2, 0x5] - ldrh r0, [r4, 0x16] - strh r0, [r2, 0x2E] - movs r2, 0x1C - adds r2, r6 - mov r10, r2 - add r1, r10 - ldr r3, _081310C4 @ =sub_8130FB8 - mov r9, r3 - str r3, [r1] - strh r7, [r4, 0x18] - movs r0, 0x30 - add r8, r0 - mov r0, r8 - movs r1, 0x18 - movs r2, 0xD - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r6, r0, r6 - ldrb r1, [r6, 0x5] - ands r5, r1 - strb r5, [r6, 0x5] - ldrh r1, [r4, 0x16] - strh r1, [r6, 0x2E] - add r0, r10 - mov r1, r9 - str r1, [r0] - strh r7, [r4, 0x1A] - b _08131146 - .align 2, 0 -_081310B0: .4byte gUnknown_8462EFC -_081310B4: .4byte gUnknown_8462F1C -_081310B8: .4byte gUnknown_846302C -_081310BC: .4byte gSprites -_081310C0: .4byte gTasks -_081310C4: .4byte sub_8130FB8 -_081310C8: - ldr r0, _08131154 @ =gUnknown_8462F14 - bl LoadCompressedObjectPic - ldr r0, _08131158 @ =gUnknown_8462F24 - bl LoadSpritePalette - mov r2, r9 - lsls r5, r2, 2 - ldr r3, _0813115C @ =gTasks+0x8 - mov r8, r3 - ldr r6, _08131160 @ =gSprites -_081310DE: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, _08131164 @ =gUnknown_8462F50 - adds r0, r1 - lsls r1, r4, 21 - movs r2, 0xB0 - lsls r2, 15 - adds r1, r2 - asrs r1, 16 - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, r7, 4 - adds r2, r7 - lsls r2, 2 - adds r2, r6 - ldrb r1, [r2, 0x5] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r2, 0x5] - adds r3, r2, 0 - adds r3, 0x2C - ldrb r0, [r3] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, 0x7 - lsls r1, 1 - mov r2, r9 - adds r0, r5, r2 - lsls r0, 3 - adds r1, r0 - add r1, r8 - strh r7, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081310DE -_08131146: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131154: .4byte gUnknown_8462F14 -_08131158: .4byte gUnknown_8462F24 -_0813115C: .4byte gTasks+0x8 -_08131160: .4byte gSprites -_08131164: .4byte gUnknown_8462F50 - thumb_func_end sub_8130FD4 - thumb_func_start sub_8131168 sub_8131168: @ 8131168 push {r4-r7,lr} diff --git a/data/data_835B488.s b/data/data_835B488.s index 71e98b2ba..c5b533348 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -738,13 +738,22 @@ sFanfares:: @ 83AC990 .incbin "baserom.gba", 0x3AC990, 0x40 gUnknown_83AC9D0:: @ 83AC9D0 - .incbin "baserom.gba", 0x3AC9D0, 0x28 + .incbin "baserom.gba", 0x3AC9D0, 0x8 + +gUnknown_83AC9D8:: + .incbin "baserom.gba", 0x3AC9D8, 0x10 + +gUnknown_83AC9E8:: + .incbin "baserom.gba", 0x3AC9E8, 0x10 gUnknown_83AC9F8:: .incbin "baserom.gba", 0x3AC9F8, 0x8 gUnknown_83ACA00:: - .incbin "baserom.gba", 0x3ACA00, 0x208 + .incbin "baserom.gba", 0x3ACA00, 0xF8 + +gUnknown_83ACAF8:: + .incbin "baserom.gba", 0x3ACAF8, 0x110 gUnknown_83ACC08:: @ 83ACC08 .incbin "baserom.gba", 0x3ACC08, 0x440 diff --git a/data/data_845FD54.s b/data/data_845FD54.s index 67c69c261..41c9ac2d3 100644 --- a/data/data_845FD54.s +++ b/data/data_845FD54.s @@ -33,7 +33,25 @@ gUnknown_84623AC:: @ 84623AC .incbin "baserom.gba", 0x4623AC, 0x40 gUnknown_84623EC:: @ 84623EC - .incbin "baserom.gba", 0x4623EC, 0xA6C + .incbin "baserom.gba", 0x4623EC, 0x5E4 + +gUnknown_84629D0:: + .incbin "data/oak_speech/unk_84629D0.gbapal" + +gUnknown_84629F0:: + .incbin "data/oak_speech/unk_84629F0.gbapal" + +gUnknown_8462A10:: + .incbin "data/oak_speech/unk_8462A10.4bpp.lz" + +gUnknown_8462B74:: + .incbin "data/oak_speech/unk_8462B74.4bpp.lz" + +gUnknown_8462D34:: + .incbin "data/oak_speech/unk_8462D34.4bpp.lz" + +gUnknown_8462E18:: + .incbin "data/oak_speech/unk_8462E18.4bpp.lz" gUnknown_8462E58:: @ 8462E58 .incbin "baserom.gba", 0x462E58, 0xC @@ -100,22 +118,64 @@ gUnknown_8462EF0:: @ 8462EF0 .4byte gUnknown_81C5BB9 gUnknown_8462EFC:: @ 8462EFC - .incbin "baserom.gba", 0x462EFC, 0x18 + obj_tiles gUnknown_8462B74, 0x0400, 0x1001 + obj_tiles gUnknown_8462D34, 0x0200, 0x1002 + obj_tiles gUnknown_8462E18, 0x0080, 0x1003 gUnknown_8462F14:: @ 8462F14 - .incbin "baserom.gba", 0x462F14, 0x8 + obj_tiles gUnknown_8462A10, 0x0600, 0x1000 gUnknown_8462F1C:: @ 8462F1C - .incbin "baserom.gba", 0x462F1C, 0x8 + obj_pal gUnknown_84629F0, 0x1001 + +gUnknown_8462F24:: @ 8462F14 + obj_pal gUnknown_84629D0, 0x1000 + +gUnknown_8462F2C:: + .incbin "baserom.gba", 0x462F2C, 0x8 + +gUnknown_8462F34:: + .incbin "baserom.gba", 0x462F34, 0x8 -gUnknown_8462F24:: @ 8462F24 - .incbin "baserom.gba", 0x462F24, 0x2C +gUnknown_8462F3C:: + .incbin "baserom.gba", 0x462F3C, 0x8 + +gUnknown_8462F44:: + .4byte gUnknown_8462F2C + +gUnknown_8462F48:: + .4byte gUnknown_8462F34 + +gUnknown_8462F4C:: + .4byte gUnknown_8462F3C gUnknown_8462F50:: @ 8462F50 - .incbin "baserom.gba", 0x462F50, 0xDC + spr_template 0x1000, 0x1000, gUnknown_83ACAF8, gUnknown_8462F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x1000, 0x1000, gUnknown_83ACAF8, gUnknown_8462F48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x1000, 0x1000, gUnknown_83ACAF8, gUnknown_8462F4C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_8462F98:: + .incbin "baserom.gba", 0x462F98, 0xC + +gUnknown_8462FA4:: + .incbin "baserom.gba", 0x462FA4, 0x40 + +gUnknown_8462FE4:: + .incbin "baserom.gba", 0x462FE4, 0x3C + +gUnknown_8463020:: + .4byte gUnknown_8462F98 + +gUnknown_8463024:: + .4byte gUnknown_8462FA4 + +gUnknown_8463028:: + .4byte gUnknown_8462FE4 gUnknown_846302C:: @ 846302C - .incbin "baserom.gba", 0x46302C, 0x48 + spr_template 0x1001, 0x1001, gUnknown_83AC9D8, gUnknown_8463020, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x1002, 0x1001, gUnknown_83AC9F8, gUnknown_8463024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x1003, 0x1001, gUnknown_83AC9E8, gUnknown_8463028, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_8463074:: @ 8463074 .incbin "baserom.gba", 0x463074, 0x18 diff --git a/data/oak_speech/unk_84629D0.pal b/data/oak_speech/unk_84629D0.pal new file mode 100644 index 000000000..4fb339128 --- /dev/null +++ b/data/oak_speech/unk_84629D0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 189 164 +65 139 131 +82 148 139 +106 164 156 +131 180 172 +156 197 189 +180 213 205 +205 230 222 +230 246 238 +0 0 0 +255 0 255 +139 189 164 +156 205 172 +180 222 197 +205 238 222 +115 172 156 diff --git a/data/oak_speech/unk_84629F0.pal b/data/oak_speech/unk_84629F0.pal new file mode 100644 index 000000000..4d2e92c74 --- /dev/null +++ b/data/oak_speech/unk_84629F0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +255 246 106 +246 213 0 +238 172 0 +197 139 0 +131 82 0 +255 0 255 +255 0 255 +180 180 180 +255 74 74 +230 0 0 +180 0 0 +106 106 106 +16 16 16 +255 0 255 diff --git a/data/oak_speech/unk_8462A10.png b/data/oak_speech/unk_8462A10.png Binary files differnew file mode 100644 index 000000000..324529e90 --- /dev/null +++ b/data/oak_speech/unk_8462A10.png diff --git a/data/oak_speech/unk_8462B74.png b/data/oak_speech/unk_8462B74.png Binary files differnew file mode 100644 index 000000000..674cef46d --- /dev/null +++ b/data/oak_speech/unk_8462B74.png diff --git a/data/oak_speech/unk_8462D34.png b/data/oak_speech/unk_8462D34.png Binary files differnew file mode 100644 index 000000000..56715aadb --- /dev/null +++ b/data/oak_speech/unk_8462D34.png diff --git a/data/oak_speech/unk_8462E18.png b/data/oak_speech/unk_8462E18.png Binary files differnew file mode 100644 index 000000000..f6796f724 --- /dev/null +++ b/data/oak_speech/unk_8462E18.png diff --git a/src/oak_speech.c b/src/oak_speech.c index 8cdfd2bb5..159a377cb 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -545,6 +545,12 @@ extern const struct WindowTemplate gUnknown_8462ED0; extern const struct TextColor gUnknown_8462EE8; extern const struct TextColor gUnknown_8462EEC; extern const u8 *const gUnknown_8462EF0[]; +extern const struct CompressedSpriteSheet gUnknown_8462EFC[3]; +extern const struct CompressedSpriteSheet gUnknown_8462F14; +extern const struct SpritePalette gUnknown_8462F1C; +extern const struct SpritePalette gUnknown_8462F24; +extern const struct SpriteTemplate gUnknown_8462F50[3]; +extern const struct SpriteTemplate gUnknown_846302C[3]; extern const u8 *const gUnknown_8463074[]; void sub_812E944(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) @@ -1793,3 +1799,49 @@ static void CreateNidoranFSprite(u8 taskId) gSprites[spriteId].invisible = TRUE; gTasks[taskId].data[4] = spriteId; } + +void sub_8130FB8(struct Sprite * sprite) +{ + sprite->pos2.y = gSprites[sprite->data[0]].animCmdIndex; +} + +void sub_8130FD4(u8 taskId, u8 state) +{ + u8 spriteId; + u8 i = 0; + + switch (state) + { + case 0: + LoadCompressedObjectPic(&gUnknown_8462EFC[0]); + LoadCompressedObjectPic(&gUnknown_8462EFC[1]); + LoadCompressedObjectPic(&gUnknown_8462EFC[2]); + LoadSpritePalette(&gUnknown_8462F1C); + spriteId = CreateSprite(&gUnknown_846302C[0], 0x10, 0x11, 2); + gSprites[spriteId].oam.priority = 0; + gTasks[taskId].data[7] = spriteId; + spriteId = CreateSprite(&gUnknown_846302C[1], 0x10, 0x09, 3); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].data[0] = gTasks[taskId].data[7]; + gSprites[spriteId].callback = sub_8130FB8; + gTasks[taskId].data[8] = spriteId; + spriteId = CreateSprite(&gUnknown_846302C[2], 0x18, 0x0D, 1); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].data[0] = gTasks[taskId].data[7]; + gSprites[spriteId].callback = sub_8130FB8; + gTasks[taskId].data[9] = spriteId; + break; + case 1: + LoadCompressedObjectPic(&gUnknown_8462F14); + LoadSpritePalette(&gUnknown_8462F24); + for (i = 0; i < 3; i++) + { + spriteId = CreateSprite(&gUnknown_8462F50[i], i * 32 + 88, 0x70, 1); + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].animPaused = TRUE; + gSprites[spriteId].coordOffsetEnabled = TRUE; + gTasks[taskId].data[7 + i] = spriteId; + } + break; + } +} |