summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-12-31 19:58:37 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2017-12-31 19:58:37 -0500
commita357c07d83a3b90adf0353501cbc0f84f6eeeddc (patch)
tree345e5f31b1a221dc0bfd5bcf5d622947161d9e4d /src
parent26d22691dc88b3c9e61fa3612c46d3b24167d0eb (diff)
through sub_8105554
Diffstat (limited to 'src')
-rw-r--r--src/field/slot_machine.c70
1 files changed, 66 insertions, 4 deletions
diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c
index 3aaad9a8b..4b580839c 100644
--- a/src/field/slot_machine.c
+++ b/src/field/slot_machine.c
@@ -2821,7 +2821,7 @@ void sub_81048CC(struct Task *task)
sub_81056C0();
sub_8105804();
sub_8105854();
- gSprites[eSlotMachine->unk4E].invisible = TRUE;
+ gSprites[eSlotMachine->unk4E[0]].invisible = TRUE;
StartSpriteAnimIfDifferent(gSprites + eSlotMachine->unk3F, 5);
task->data[0]++;
task->data[4] = 4;
@@ -2845,7 +2845,7 @@ void sub_8104940(struct Task *task)
sub_81058C4();
sub_8105284();
sub_81059E8();
- gSprites[eSlotMachine->unk4E].invisible = FALSE;
+ gSprites[eSlotMachine->unk4E[0]].invisible = FALSE;
task->data[0]++;
task->data[5] = 0;
}
@@ -3203,14 +3203,14 @@ void sub_81051C0(void)
sprite->oam.priority = 1;
sprite->coordOffsetEnabled = TRUE;
SetSubspriteTables(sprite, gSubspriteTables_83ED73C);
- eSlotMachine->unk49 = spriteId;
+ eSlotMachine->unk49[0] = spriteId;
spriteId = CreateSprite(&gSpriteTemplate_83ED48C, 0x170, 0x54, 7);
sprite = gSprites + spriteId;
sprite->oam.priority = 1;
sprite->coordOffsetEnabled = TRUE;
SetSubspriteTables(sprite, gSubspriteTables_83ED75C);
- eSlotMachine->unk4A = spriteId;
+ eSlotMachine->unk49[1] = spriteId;
}
extern const struct SpriteTemplate gSpriteTemplate_83ED4A4;
@@ -3251,6 +3251,68 @@ void sub_810535C(struct Sprite *sprite)
StartSpriteAnimIfDifferent(sprite, sub_8102C48(r0 / 20));
}
+extern const struct SpriteTemplate gSpriteTemplate_83ED4D4;
+extern const struct SubspriteTable gSubspriteTables_83ED7B4[];
+
+void sub_81053A0(void)
+{
+ u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4D4, 0x170, 0x64, 9);
+ struct Sprite *sprite = gSprites + spriteId;
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = 1;
+ SetSubspriteTables(sprite, gSubspriteTables_83ED7B4);
+ eSlotMachine->unk4E[0] = spriteId;
+
+ spriteId = CreateSprite(&gSpriteTemplate_83ED4D4, 0x120, 0x68, 4);
+ sprite = gSprites + spriteId;
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = 1;
+ SetSubspriteTables(sprite, gSubspriteTables_83ED7B4);
+ eSlotMachine->unk4E[1] = spriteId;
+}
+
+extern const struct SpriteTemplate gSpriteTemplate_83ED4EC;
+extern const struct SubspriteTable gSubspriteTables_83ED7D4[];
+
+void sub_810545C(void)
+{
+ u8 spriteId = CreateSprite(&gSpriteTemplate_83ED4EC, 0x170, 0x4c, 11);
+ struct Sprite *sprite = gSprites + spriteId;
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->oam.priority = 1;
+ SetSubspriteTables(sprite, gSubspriteTables_83ED7D4);
+ eSlotMachine->unk40 = spriteId;
+}
+
+void sub_81054B8(void)
+{
+ u8 i;
+
+ DestroySprite(gSprites + eSlotMachine->unk40);
+ for (i = 0; i < 2; i++)
+ {
+ DestroySprite(gSprites + eSlotMachine->unk49[i]);
+ }
+ for (i = 0; i < 3; i++)
+ {
+ DestroySprite(gSprites + eSlotMachine->unk4B[i]);
+ }
+}
+
+void sub_8105524(void)
+{
+ u8 i;
+ for (i = 0; i < 2; i++)
+ {
+ DestroySprite(gSprites + eSlotMachine->unk4E[i]);
+ }
+}
+
+void sub_8105554(void)
+{
+ DestroySprite(gSprites + eSlotMachine->unk42);
+}
+
asm(".section .text_b");
static void sub_8106448(void) {