diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-07-04 13:27:30 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-07-04 13:27:30 -0400 |
commit | b5f0c606dd5e7e9e4488ea63e819c5f51298890c (patch) | |
tree | e79e5853b49aea2c018360741d01bea3c36a10c4 | |
parent | 231b2aeb83f206396a884c862c669111b9faa078 (diff) |
intro: through sub_80EDD28
-rw-r--r-- | asm/intro.s | 97 | ||||
-rw-r--r-- | asm/title_screen.s | 4 | ||||
-rw-r--r-- | src/intro.c | 25 |
3 files changed, 26 insertions, 100 deletions
diff --git a/asm/intro.s b/asm/intro.s index 87afc0815..854a30a76 100644 --- a/asm/intro.s +++ b/asm/intro.s @@ -5,103 +5,6 @@ .text - thumb_func_start sub_80EDD28 -sub_80EDD28: @ 80EDD28 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, _080EDDCC @ =gUnknown_203AB12 - ldrh r0, [r0] - ands r2, r0 - adds r2, 0x2 - lsls r2, 16 - lsrs r4, r2, 16 - ldr r1, _080EDDD0 @ =gUnknown_203AB2C - ldrh r0, [r1] - adds r2, r0, 0 - adds r0, r2, 0x1 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080EDD5C - movs r6, 0x3 - negs r6, r6 - adds r0, r6, 0 - strh r0, [r1] -_080EDD5C: - lsls r1, r5, 16 - asrs r1, 16 - lsls r0, r4, 16 - asrs r7, r0, 16 - adds r1, r7 - lsls r0, r3, 16 - asrs r0, 16 - lsls r2, 16 - asrs r6, r2, 16 - adds r0, r6 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - asrs r4, r1, 16 - ldr r0, _080EDDD4 @ =0xffff0000 - adds r1, r0 - lsrs r1, 16 - cmp r1, 0xEE - bhi _080EDDC6 - ldr r0, _080EDDD8 @ =gUnknown_840BC84 - lsls r1, r3, 16 - asrs r5, r1, 16 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080EDDC6 - ldr r0, _080EDDDC @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldr r0, _080EDDE0 @ =gUnknown_203AB22 - ldrh r0, [r0] - lsls r4, r0 - strh r4, [r1, 0x2E] - ldr r2, _080EDDE4 @ =gUnknown_203AB24 - adds r0, r5, 0 - ldrh r2, [r2] - lsls r0, r2 - strh r0, [r1, 0x30] - ldr r0, _080EDDE8 @ =gUnknown_203AB1E - ldrh r0, [r0] - muls r0, r7 - strh r0, [r1, 0x32] - ldr r0, _080EDDEC @ =gUnknown_203AB20 - ldrh r0, [r0] - muls r0, r6 - strh r0, [r1, 0x34] -_080EDDC6: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EDDCC: .4byte gUnknown_203AB12 -_080EDDD0: .4byte gUnknown_203AB2C -_080EDDD4: .4byte 0xffff0000 -_080EDDD8: .4byte gUnknown_840BC84 -_080EDDDC: .4byte gSprites -_080EDDE0: .4byte gUnknown_203AB22 -_080EDDE4: .4byte gUnknown_203AB24 -_080EDDE8: .4byte gUnknown_203AB1E -_080EDDEC: .4byte gUnknown_203AB20 - thumb_func_end sub_80EDD28 - thumb_func_start sub_80EDDF0 sub_80EDDF0: @ 80EDDF0 push {lr} diff --git a/asm/title_screen.s b/asm/title_screen.s index 3801bb4e2..e62cc9a9f 100644 --- a/asm/title_screen.s +++ b/asm/title_screen.s @@ -1057,9 +1057,9 @@ _080791DE: cmp r5, 0 bne _080792A6 .ifdef FIRERED - movs r0, 0x6 + movs r0, 0x6 @ CHARIZARD .else - movs r0, 0x3 + movs r0, 0x3 @ VENUSAUR .endif movs r1, 0 bl PlayCry1 diff --git a/src/intro.c b/src/intro.c index 19e59401f..555c5a12c 100644 --- a/src/intro.c +++ b/src/intro.c @@ -63,7 +63,7 @@ EWRAM_DATA u16 gUnknown_203AB22 = 0; EWRAM_DATA u16 gUnknown_203AB24 = 0; EWRAM_DATA u16 gUnknown_203AB26 = 0; EWRAM_DATA u32 gUnknown_203AB28 = 0; -EWRAM_DATA u16 gUnknown_203AB2C = 0; +EWRAM_DATA s16 gUnknown_203AB2C = 0; EWRAM_DATA u16 gUnknown_203AB2E = 0; void sub_80EC870(void); @@ -1482,3 +1482,26 @@ void sub_80EDC40(void) StoreWordInTwoHalfwords(&gSprites[spriteId].data[6], gUnknown_203AB28); } } + +void sub_80EDD28(s16 x, s16 y, s16 a2) +{ + u8 spriteId; + s16 r4 = (a2 & gUnknown_203AB12) + 2; + s16 r2 = gUnknown_203AB2C; + gUnknown_203AB2C++; + if (gUnknown_203AB2C > 3) + gUnknown_203AB2C = -3; + x += r4; + y += r2; + if (x >= 1 && x <= 0xEF) + { + spriteId = CreateSprite(&gUnknown_840BC84, x, y, 1); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[0] = x << gUnknown_203AB22; + gSprites[spriteId].data[1] = y << gUnknown_203AB24; + gSprites[spriteId].data[2] = gUnknown_203AB1E * r4; + gSprites[spriteId].data[3] = gUnknown_203AB20 * r2; + } + } +} |