summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-07-04 13:27:30 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2019-07-04 13:27:30 -0400
commitb5f0c606dd5e7e9e4488ea63e819c5f51298890c (patch)
treee79e5853b49aea2c018360741d01bea3c36a10c4
parent231b2aeb83f206396a884c862c669111b9faa078 (diff)
intro: through sub_80EDD28
-rw-r--r--asm/intro.s97
-rw-r--r--asm/title_screen.s4
-rw-r--r--src/intro.c25
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;
+ }
+ }
+}