summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/oak_speech.s367
-rw-r--r--data/data_845FD54.s52
-rw-r--r--data/oak_speech/unk_8460ED4.pal35
-rw-r--r--data/oak_speech/unk_84615FC.pal35
-rw-r--r--data/oak_speech/unk_8461CD4.pal35
-rw-r--r--data/oak_speech/unk_84623AC.pal35
-rw-r--r--src/oak_speech.c122
7 files changed, 260 insertions, 421 deletions
diff --git a/asm/oak_speech.s b/asm/oak_speech.s
index f9d4e9b5a..cbe61c8ff 100644
--- a/asm/oak_speech.s
+++ b/asm/oak_speech.s
@@ -5,373 +5,6 @@
.text
- thumb_func_start sub_8131168
-sub_8131168: @ 8131168
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- movs r4, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r5, r1, 3
- ldr r7, _081311AC @ =gTasks+0x8
-_0813117C:
- adds r0, r4, 0x7
- lsls r0, 1
- adds r0, r5
- adds r0, r7
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081311B0 @ =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0813117C
- cmp r6, 0
- beq _081311B4
- cmp r6, 0x1
- beq _081311DC
- b _081311EC
- .align 2, 0
-_081311AC: .4byte gTasks+0x8
-_081311B0: .4byte gSprites
-_081311B4:
- ldr r0, _081311D0 @ =0x00001003
- bl FreeSpriteTilesByTag
- ldr r0, _081311D4 @ =0x00001002
- bl FreeSpriteTilesByTag
- ldr r4, _081311D8 @ =0x00001001
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- b _081311EC
- .align 2, 0
-_081311D0: .4byte 0x00001003
-_081311D4: .4byte 0x00001002
-_081311D8: .4byte 0x00001001
-_081311DC:
- movs r4, 0x80
- lsls r4, 5
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
-_081311EC:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8131168
-
- thumb_func_start sub_81311F4
-sub_81311F4: @ 81311F4
- push {r4-r6,lr}
- sub sp, 0x24
- lsls r0, 16
- lsrs r0, 16
- adds r2, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- cmp r0, 0x1
- beq _08131230
- cmp r0, 0x1
- bgt _08131210
- cmp r0, 0
- beq _0813121A
- b _081312F6
-_08131210:
- cmp r2, 0x2
- beq _08131248
- cmp r2, 0x3
- beq _0813126C
- b _081312F6
-_0813121A:
- ldr r0, _08131228 @ =gUnknown_84615FC
- movs r1, 0x40
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _0813122C @ =gUnknown_846163C
- b _08131254
- .align 2, 0
-_08131228: .4byte gUnknown_84615FC
-_0813122C: .4byte gUnknown_846163C
-_08131230:
- ldr r0, _08131240 @ =gUnknown_8460ED4
- movs r1, 0x40
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _08131244 @ =gUnknown_8460F14
- b _08131254
- .align 2, 0
-_08131240: .4byte gUnknown_8460ED4
-_08131244: .4byte gUnknown_8460F14
-_08131248:
- ldr r0, _08131260 @ =gUnknown_84623AC
- movs r1, 0x60
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _08131264 @ =gUnknown_84623EC
-_08131254:
- ldr r2, _08131268 @ =0x06000600
- adds r1, r4, r2
- bl LZ77UnCompVram
- b _08131280
- .align 2, 0
-_08131260: .4byte gUnknown_84623AC
-_08131264: .4byte gUnknown_84623EC
-_08131268: .4byte 0x06000600
-_0813126C:
- ldr r0, _08131300 @ =gUnknown_8461CD4
- movs r1, 0x60
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _08131304 @ =gUnknown_8461D14
- ldr r2, _08131308 @ =0x06000600
- adds r1, r4, r2
- bl LZ77UnCompVram
-_08131280:
- movs r0, 0x60
- bl AllocZeroed
- ldr r2, _0813130C @ =sOakSpeechResources
- ldr r1, [r2]
- str r0, [r1, 0x4]
- movs r1, 0
- lsrs r6, r4, 6
-_08131290:
- ldr r0, [r2]
- ldr r0, [r0, 0x4]
- adds r0, r1
- strb r1, [r0]
- adds r1, 0x1
- cmp r1, 0x5F
- bls _08131290
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r5, 0x10
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- ldr r4, _0813130C @ =sOakSpeechResources
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- movs r3, 0x8
- str r3, [sp]
- movs r2, 0xC
- str r2, [sp, 0x4]
- movs r0, 0xB
- str r0, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- str r3, [sp, 0x10]
- str r2, [sp, 0x14]
- str r5, [sp, 0x18]
- adds r0, r6, 0
- adds r0, 0x18
- str r0, [sp, 0x1C]
- movs r5, 0
- str r5, [sp, 0x20]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- bl Free
- ldr r0, [r4]
- str r5, [r0, 0x4]
-_081312F6:
- add sp, 0x24
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08131300: .4byte gUnknown_8461CD4
-_08131304: .4byte gUnknown_8461D14
-_08131308: .4byte 0x06000600
-_0813130C: .4byte sOakSpeechResources
- thumb_func_end sub_81311F4
-
- thumb_func_start sub_8131310
-sub_8131310: @ 8131310
- push {lr}
- sub sp, 0xC
- movs r0, 0x8
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- movs r0, 0x10
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_8131310
-
- thumb_func_start sub_8131338
-sub_8131338: @ 8131338
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r1, _081313A8 @ =gTasks
- lsls r0, r6, 2
- mov r9, r0
- adds r0, r6
- lsls r5, r0, 3
- adds r2, r5, r1
- ldrh r3, [r2, 0xA]
- movs r7, 0xA
- ldrsh r0, [r2, r7]
- mov r8, r1
- cmp r0, 0
- bne _081313B0
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- add r1, r8
- movs r0, 0x1
- strh r0, [r1, 0xC]
- adds r0, r6, 0
- bl DestroyTask
- ldr r6, _081313AC @ =gSprites
- adds r2, r5, 0
- mov r5, r8
- adds r5, 0x8
- movs r3, 0x4
-_08131380:
- adds r0, r4, 0x7
- lsls r0, 1
- adds r0, r2
- adds r0, r5
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _08131380
- b _0813143A
- .align 2, 0
-_081313A8: .4byte gTasks
-_081313AC: .4byte gSprites
-_081313B0:
- ldrh r1, [r2, 0x10]
- movs r7, 0x10
- ldrsh r0, [r2, r7]
- cmp r0, 0
- beq _081313C0
- subs r0, r1, 0x1
- strh r0, [r2, 0x10]
- b _0813143A
-_081313C0:
- ldrh r0, [r2, 0xE]
- strh r0, [r2, 0x10]
- subs r1, r3, 0x1
- strh r1, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- lsls r1, 16
- asrs r1, 16
- mov r12, r9
- cmp r1, 0x8
- bne _0813141E
- adds r7, r5, 0
- movs r0, 0x8
- add r0, r8
- mov r10, r0
- movs r5, 0x1
- movs r1, 0x5
- negs r1, r1
- mov r9, r1
-_081313E8:
- adds r0, r4, 0x7
- lsls r0, 1
- adds r0, r7
- add r0, r10
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08131448 @ =gSprites
- adds r2, r0
- adds r2, 0x3E
- ldrb r3, [r2]
- lsls r1, r3, 29
- lsrs r1, 31
- eors r1, r5
- ands r1, r5
- lsls r1, 2
- mov r0, r9
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081313E8
-_0813141E:
- mov r1, r12
- adds r0, r1, r6
- lsls r0, 3
- add r0, r8
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- lsls r1, 8
- ldrh r0, [r0, 0xA]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_0813143A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08131448: .4byte gSprites
- thumb_func_end sub_8131338
-
thumb_func_start sub_813144C
sub_813144C: @ 813144C
push {r4-r7,lr}
diff --git a/data/data_845FD54.s b/data/data_845FD54.s
index b17d0fd12..42d8923b3 100644
--- a/data/data_845FD54.s
+++ b/data/data_845FD54.s
@@ -5,56 +5,10 @@
.align 2
// oak_speech
-gUnknown_8460D94:: @ 8460D94
- .incbin "baserom.gba", 0x460D94, 0xA0
-
-gUnknown_8460E34:: @ 8460E34
- .incbin "baserom.gba", 0x460E34, 0xA0
-
-gUnknown_8460ED4:: @ 8460ED4
- .incbin "baserom.gba", 0x460ED4, 0x40
-
-gUnknown_8460F14:: @ 8460F14
- .incbin "baserom.gba", 0x460F14, 0x6E8
-
-gUnknown_84615FC:: @ 84615FC
- .incbin "baserom.gba", 0x4615FC, 0x40
-
-gUnknown_846163C:: @ 846163C
- .incbin "baserom.gba", 0x46163C, 0x698
-
-gUnknown_8461CD4:: @ 8461CD4
- .incbin "baserom.gba", 0x461CD4, 0x40
-
-gUnknown_8461D14:: @ 8461D14
- .incbin "baserom.gba", 0x461D14, 0x698
-
-gUnknown_84623AC:: @ 84623AC
- .incbin "baserom.gba", 0x4623AC, 0x40
-
-gUnknown_84623EC:: @ 84623EC
- .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
+ .4byte 0x000001f8
+ .4byte 0x000021e1
+ .4byte 0x00001bc2
gUnknown_8462E64:: @ 8462E64
window_template 0x00, 0x00, 0x07, 0x1e, 0x04, 0x0f, 0x0001
diff --git a/data/oak_speech/unk_8460ED4.pal b/data/oak_speech/unk_8460ED4.pal
new file mode 100644
index 000000000..feb1214a1
--- /dev/null
+++ b/data/oak_speech/unk_8460ED4.pal
@@ -0,0 +1,35 @@
+JASC-PAL
+0100
+32
+115 197 164
+255 238 205
+246 205 180
+213 164 148
+172 131 106
+106 74 65
+205 164 139
+164 123 98
+115 74 49
+74 41 16
+222 222 222
+180 180 180
+131 131 131
+82 82 90
+41 41 49
+255 255 255
+0 0 0
+131 189 213
+106 156 180
+82 131 156
+49 90 115
+32 65 90
+0 0 255
+255 255 189
+222 222 82
+172 172 57
+98 98 0
+213 131 123
+189 106 98
+164 82 74
+139 57 49
+98 24 16
diff --git a/data/oak_speech/unk_84615FC.pal b/data/oak_speech/unk_84615FC.pal
new file mode 100644
index 000000000..7eec09831
--- /dev/null
+++ b/data/oak_speech/unk_84615FC.pal
@@ -0,0 +1,35 @@
+JASC-PAL
+0100
+32
+115 197 164
+255 230 205
+222 189 156
+197 148 131
+148 106 90
+106 74 65
+205 164 139
+164 123 98
+115 74 49
+82 65 32
+222 222 222
+180 180 180
+131 131 131
+82 82 90
+57 57 65
+255 255 255
+0 0 0
+131 189 213
+106 156 180
+82 131 156
+49 90 115
+32 65 90
+0 0 255
+238 238 74
+205 205 49
+164 164 32
+98 98 0
+213 131 123
+189 106 98
+164 82 74
+139 57 49
+98 24 16
diff --git a/data/oak_speech/unk_8461CD4.pal b/data/oak_speech/unk_8461CD4.pal
new file mode 100644
index 000000000..a0b648b2b
--- /dev/null
+++ b/data/oak_speech/unk_8461CD4.pal
@@ -0,0 +1,35 @@
+JASC-PAL
+0100
+32
+115 197 164
+255 230 205
+222 189 156
+197 148 115
+106 74 65
+238 222 148
+205 189 115
+172 156 90
+139 123 65
+98 90 49
+255 0 255
+205 205 222
+123 131 156
+57 74 106
+255 255 255
+0 0 0
+0 0 255
+172 148 222
+131 115 172
+82 65 115
+230 222 180
+205 197 156
+180 172 139
+164 156 123
+123 115 90
+82 57 49
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
diff --git a/data/oak_speech/unk_84623AC.pal b/data/oak_speech/unk_84623AC.pal
new file mode 100644
index 000000000..8240527a6
--- /dev/null
+++ b/data/oak_speech/unk_84623AC.pal
@@ -0,0 +1,35 @@
+JASC-PAL
+0100
+32
+115 197 164
+255 230 205
+222 189 156
+197 148 115
+106 74 65
+238 189 74
+213 156 57
+189 123 41
+139 82 41
+164 123 106
+222 222 222
+197 197 197
+139 139 139
+98 98 98
+65 65 65
+255 255 255
+0 0 0
+180 148 180
+139 106 139
+106 74 106
+82 49 82
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+246 131 131
+205 82 82
diff --git a/src/oak_speech.c b/src/oak_speech.c
index 159a377cb..37f7169ff 100644
--- a/src/oak_speech.c
+++ b/src/oak_speech.c
@@ -29,7 +29,7 @@
struct OakSpeechResources
{
void * unk_0000;
- u8 filler_0004[0x4];
+ void * unk_0004;
void * unk_0008;
u8 filler_000C[4];
u16 unk_0010;
@@ -96,7 +96,7 @@ static void CB2_ReturnFromNamingScreen(void);
static void CreateNidoranFSprite(u8 taskId);
void sub_8130FD4(u8 taskId, u8 state);
void sub_8131168(u8 taskId, u8 state);
-void sub_81311F4(u8 arg0, u8 state);
+void sub_81311F4(u16 whichPic, u16 tileOffset);
void sub_8131310(void);
void sub_813144C(u8 taskId, u8 state);
void sub_81315CC(u8 taskId, u8 state);
@@ -533,9 +533,22 @@ const u32 gUnknown_84605E8[] = INCBIN_U32("data/oak_speech/unk_84605E8.4bpp.lz")
const u32 gUnknown_8460BA8[] = INCBIN_U32("data/oak_speech/unk_8460BA8.bin.lz");
const u32 gUnknown_8460CA4[] = INCBIN_U32("data/oak_speech/unk_8460CA4.4bpp.lz");
const u32 gUnknown_8460CE8[] = INCBIN_U32("data/oak_speech/unk_8460CE8.bin.lz");
-
-extern const u16 gUnknown_8460D94[];
-extern const u16 gUnknown_8460E34[];
+const u16 gUnknown_8460D94[] = INCBIN_U16("data/oak_speech/unk_8460D94.bin");
+const u16 gUnknown_8460E34[] = INCBIN_U16("data/oak_speech/unk_8460E34.bin");
+const u16 gUnknown_8460ED4[] = INCBIN_U16("data/oak_speech/unk_8460ED4.gbapal");
+const u32 gUnknown_8460F14[] = INCBIN_U32("data/oak_speech/unk_8460F14.8bpp.lz");
+const u16 gUnknown_84615FC[] = INCBIN_U16("data/oak_speech/unk_84615FC.gbapal");
+const u32 gUnknown_846163C[] = INCBIN_U32("data/oak_speech/unk_846163C.8bpp.lz");
+const u16 gUnknown_8461CD4[] = INCBIN_U16("data/oak_speech/unk_8461CD4.gbapal");
+const u32 gUnknown_8461D14[] = INCBIN_U32("data/oak_speech/unk_8461D14.8bpp.lz");
+const u16 gUnknown_84623AC[] = INCBIN_U16("data/oak_speech/unk_84623AC.gbapal");
+const u32 gUnknown_84623EC[] = INCBIN_U32("data/oak_speech/unk_84623EC.8bpp.lz");
+const u16 gUnknown_84629D0[] = INCBIN_U16("data/oak_speech/unk_84629D0.gbapal");
+const u16 gUnknown_84629F0[] = INCBIN_U16("data/oak_speech/unk_84629F0.gbapal");
+const u32 gUnknown_8462A10[] = INCBIN_U32("data/oak_speech/unk_8462A10.4bpp.lz");
+const u32 gUnknown_8462B74[] = INCBIN_U32("data/oak_speech/unk_8462B74.4bpp.lz");
+const u32 gUnknown_8462D34[] = INCBIN_U32("data/oak_speech/unk_8462D34.4bpp.lz");
+const u32 gUnknown_8462E18[] = INCBIN_U32("data/oak_speech/unk_8462E18.4bpp.lz");
extern const struct BgTemplate gUnknown_8462E58[3];
extern const struct WindowTemplate *const gUnknown_8462EB4[3];
@@ -1845,3 +1858,102 @@ void sub_8130FD4(u8 taskId, u8 state)
break;
}
}
+
+void sub_8131168(u8 taskId, u8 state)
+{
+ u8 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ DestroySprite(&gSprites[gTasks[taskId].data[7 + i]]);
+ }
+
+ switch (state)
+ {
+ case 0:
+ FreeSpriteTilesByTag(0x1003);
+ FreeSpriteTilesByTag(0x1002);
+ FreeSpriteTilesByTag(0x1001);
+ FreeSpritePaletteByTag(0x1001);
+ break;
+ case 1:
+ FreeSpriteTilesByTag(0x1000);
+ FreeSpritePaletteByTag(0x1000);
+ break;
+ }
+}
+
+void sub_81311F4(u16 whichPic, u16 tileOffset)
+{
+ u32 i;
+
+ switch (whichPic)
+ {
+ case 0: // FIRE
+ LoadPalette(gUnknown_84615FC, 0x40, 0x40);
+ LZ77UnCompVram(gUnknown_846163C, (void *)0x06000600 + tileOffset);
+ break;
+ case 1: // LEAF
+ LoadPalette(gUnknown_8460ED4, 0x40, 0x40);
+ LZ77UnCompVram(gUnknown_8460F14, (void *)0x06000600 + tileOffset);
+ break;
+ case 2: // BLUE
+ LoadPalette(gUnknown_84623AC, 0x60, 0x40);
+ LZ77UnCompVram(gUnknown_84623EC, (void *)0x06000600 + tileOffset);
+ break;
+ case 3: // OAK
+ LoadPalette(gUnknown_8461CD4, 0x60, 0x40);
+ LZ77UnCompVram(gUnknown_8461D14, (void *)0x06000600 + tileOffset);
+ break;
+ default:
+ return;
+ }
+
+ sOakSpeechResources->unk_0004 = AllocZeroed(0x60);
+ for (i = 0; i < 0x60; i++)
+ ((u8 *)sOakSpeechResources->unk_0004)[i] = i;
+ FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x10);
+ CopyRectToBgTilemapBufferRect(2, sOakSpeechResources->unk_0004, 0, 0, 8, 12, 11, 2, 8, 12, 0x10, (tileOffset / 64) + 0x18, 0x00);
+ CopyBgTilemapBufferToVram(2);
+ Free(sOakSpeechResources->unk_0004);
+ sOakSpeechResources->unk_0004 = 0;
+}
+
+void sub_8131310(void)
+{
+ FillBgTilemapBufferRect(2, 0x000, 11, 1, 8, 12, 0x10);
+ CopyBgTilemapBufferToVram(2);
+}
+
+void sub_8131338(u8 taskId)
+{
+ u8 i = 0;
+ if (gTasks[taskId].data[1] == 0)
+ {
+ gTasks[gTasks[taskId].data[0]].data[2] = 1;
+ DestroyTask(taskId);
+ for (i = 0; i < 3; i++)
+ {
+ gSprites[gTasks[taskId].data[7 + i]].invisible = TRUE;
+ }
+ }
+ else
+ {
+ if (gTasks[taskId].data[4] != 0)
+ gTasks[taskId].data[4]--;
+ else
+ {
+ gTasks[taskId].data[4] = gTasks[taskId].data[3];
+ gTasks[taskId].data[1]--;
+ gTasks[taskId].data[2]++;
+ if (gTasks[taskId].data[1] == 8)
+ {
+ for (i = 0; i < 3; i++)
+ {
+ gSprites[gTasks[taskId].data[7 + i]].invisible ^= TRUE;
+ }
+ }
+ SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[2] * 256) + gTasks[taskId].data[1]);
+ }
+ }
+}