summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-10-15 13:48:33 -0400
committerscnorton <scnorton@biociphers.org>2017-10-15 13:48:33 -0400
commitfaea6fd64a4dc8332f6b6171f52c6055e21c3e27 (patch)
treedc64d706ebdb0a11da45c1895ead6c4c96cb8749 /src
parent259d0cfc75f03da9b2e9f02d45810bb4eb7de12a (diff)
sub_8123D98
Diffstat (limited to 'src')
-rw-r--r--src/scene/cable_car.c44
1 files changed, 40 insertions, 4 deletions
diff --git a/src/scene/cable_car.c b/src/scene/cable_car.c
index 5a2f39a6f..30002bb47 100644
--- a/src/scene/cable_car.c
+++ b/src/scene/cable_car.c
@@ -467,13 +467,49 @@ void sub_8123CB8(struct Sprite *sprite)
{
if (gSpecialVar_0x8004 == 0)
{
- sprite->pos1.x = sprite->data0 - (u8)((f32)0.14 * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
- sprite->pos1.y = sprite->data1 - (u8)((f32)0.067 * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
+ sprite->pos1.x = sprite->data0 - (u8)(0.14f * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
+ sprite->pos1.y = sprite->data1 - (u8)(0.067f * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
}
else
{
- sprite->pos1.x = sprite->data0 + (u8)((f32)0.14 * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
- sprite->pos1.y = sprite->data1 + (u8)((f32)0.067 * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
+ sprite->pos1.x = sprite->data0 + (u8)(0.14f * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
+ sprite->pos1.y = sprite->data1 + (u8)(0.067f * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
+ }
+ }
+}
+
+void sub_8123D98(struct Sprite *sprite)
+{
+ if (gUnknown_02039274->unk_0001 != 255)
+ {
+ if (gSpecialVar_0x8004 == 0)
+ {
+ sprite->pos1.x = sprite->data0 - (u8)(0.14f * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
+ sprite->pos1.y = sprite->data1 - (u8)(0.067f * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
+ }
+ else
+ {
+ sprite->pos1.x = sprite->data0 + (u8)(0.14f * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
+ sprite->pos1.y = sprite->data1 + (u8)(0.067f * S16TOPOSFLOAT(gUnknown_02039274->unk_0006));
+ }
+ switch (sprite->data2)
+ {
+ case 0:
+ sprite->pos2.y = 17;
+ if (sprite->data3 ++ > 9)
+ {
+ sprite->data3 = 0;
+ sprite->data2 ++;
+ }
+ break;
+ default:
+ sprite->pos2.y = 16;
+ if (sprite->data3 ++ > 9)
+ {
+ sprite->data3 = 0;
+ sprite->data2 = 0;
+ }
+ break;
}
}
}