summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/intro.s75
-rw-r--r--ld_script.txt1
-rw-r--r--src/intro.c27
3 files changed, 27 insertions, 76 deletions
diff --git a/asm/intro.s b/asm/intro.s
index 619ddc285..010077848 100644
--- a/asm/intro.s
+++ b/asm/intro.s
@@ -6,81 +6,6 @@
.text
- thumb_func_start sub_813D0CC
-sub_813D0CC: @ 813D0CC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0xBF
- ble _0813D148
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0813D0EA
- subs r0, r1, 0x1
- strh r0, [r4, 0x34]
- b _0813D14E
-_0813D0EA:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x32]
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 5
- subs r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4, 0x32]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- adds r0, r1, 0
- subs r0, 0xC0
- cmp r0, 0
- bge _0813D12C
- adds r0, 0x7F
-_0813D12C:
- asrs r0, 7
- adds r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _0813D13A
- movs r0, 0xF
-_0813D13A:
- lsls r2, r0, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- b _0813D14E
-_0813D148:
- adds r0, r4, 0
- bl DestroySprite
-_0813D14E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813D0CC
-
thumb_func_start sub_813D158
sub_813D158: @ 813D158
push {r4,lr}
diff --git a/ld_script.txt b/ld_script.txt
index 217afc056..d0af456cd 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -137,7 +137,6 @@ SECTIONS {
src/battle_anim_80A7E7C.o(.text);
src/item.o(.text);
src/matsuda_debug_menu.o(.text);
- asm/matsuda_debug_menu.o(.text);
asm/contest.o(.text);
asm/shop.o(.text);
src/berry.o(.text);
diff --git a/src/intro.c b/src/intro.c
index d2224fca9..eead7a706 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -1105,3 +1105,30 @@ void sub_813D084(u8 a)
gPlttBufferUnfaded[0xF1] = color;
gPlttBufferFaded[0xF1] = color;
}
+
+void sub_813D0CC(struct Sprite *sprite)
+{
+ u8 r0;
+
+ if (sprite->data2 > 0xBF)
+ {
+ if (sprite->data3 != 0)
+ {
+ sprite->data3--;
+ }
+ else
+ {
+ sprite->invisible = FALSE;
+ SetOamMatrix(sprite->data1, sprite->data2, 0, 0, sprite->data2);
+ sprite->data2 = (sprite->data2 * 95) / 100;
+ r0 = (sprite->data2 - 0xC0) / 128 + 9;
+ if (r0 > 15)
+ r0 = 15;
+ sprite->oam.paletteNum = r0;
+ }
+ }
+ else
+ {
+ DestroySprite(sprite);
+ }
+}