diff options
Diffstat (limited to 'src/sprite.c')
-rw-r--r-- | src/sprite.c | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/src/sprite.c b/src/sprite.c index daa019019..6d76b9854 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -168,14 +168,7 @@ static const struct Sprite sDummySprite = .animPaused = 0, .affineAnimPaused = 0, .animLoopCounter = 0, - .data0 = 0, - .data1 = 0, - .data2 = 0, - .data3 = 0, - .data4 = 0, - .data5 = 0, - .data6 = 0, - .data7 = 0, + .data = {0, 0, 0, 0, 0, 0, 0}, .inUse = 0, .coordOffsetEnabled = 0, .invisible = 0, @@ -247,7 +240,7 @@ static const AffineAnimCmdFunc sAffineAnimCmdFuncs[] = AffineAnimCmd_frame, }; -static const s32 gUnknown_082EC6F4[24] = +static const s32 sUnknown_082EC6F4[24] = { 8, 8, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x10, 8, 0x20, 8, @@ -1075,7 +1068,7 @@ void BeginAffineAnim(struct Sprite *sprite) ApplyAffineAnimFrame(matrixNum, &frameCmd); sAffineAnimStates[matrixNum].delayCounter = frameCmd.duration; if (sprite->flags_f) - obj_update_pos2(sprite, sprite->data6, sprite->data7); + obj_update_pos2(sprite, sprite->data[6], sprite->data[7]); } } @@ -1101,7 +1094,7 @@ void ContinueAffineAnim(struct Sprite *sprite) sAffineAnimCmdFuncs[funcIndex](matrixNum, sprite); } if (sprite->flags_f) - obj_update_pos2(sprite, sprite->data6, sprite->data7); + obj_update_pos2(sprite, sprite->data[6], sprite->data[7]); } } @@ -1197,8 +1190,8 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite) void sub_8007E18(struct Sprite* sprite, s16 a2, s16 a3) { - sprite->data6 = a2; - sprite->data7 = a3; + sprite->data[6] = a2; + sprite->data[7] = a3; sprite->flags_f = 1; } @@ -1221,14 +1214,14 @@ void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2) u8 matrixNum = sprite->oam.matrixNum; if (a1 != 0x800) { - var0 = gUnknown_082EC6F4[sprite->oam.size * 8 + sprite->oam.shape * 32]; + var0 = sUnknown_082EC6F4[sprite->oam.size * 8 + sprite->oam.shape * 32]; var1 = var0 << 8; var2 = (var0 << 16) / gOamMatrices[matrixNum].a; sprite->pos2.x = sub_8007E28(var1, var2, a1); } if (a2 != 0x800) { - var0 = gUnknown_082EC6F4[4 + (sprite->oam.size * 8 + sprite->oam.shape * 32)]; + var0 = sUnknown_082EC6F4[4 + (sprite->oam.size * 8 + sprite->oam.shape * 32)]; var1 = var0 << 8; var2 = (var0 << 16) / gOamMatrices[matrixNum].d; sprite->pos2.y = sub_8007E28(var1, var2, a2); @@ -1254,7 +1247,7 @@ void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2) mov r9, r0\n\ cmp r6, r9\n\ beq _08007EA2\n\ - ldr r2, =gUnknown_082EC6F4\n\ + ldr r2, =sUnknown_082EC6F4\n\ lsrs r1, 6\n\ lsls r1, 3\n\ ldrb r0, [r5, 0x1]\n\ @@ -1279,7 +1272,7 @@ void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2) _08007EA2:\n\ cmp r8, r9\n\ beq _08007EDA\n\ - ldr r2, =gUnknown_082EC6F4\n\ + ldr r2, =sUnknown_082EC6F4\n\ ldrb r1, [r5, 0x3]\n\ lsrs r1, 6\n\ lsls r1, 3\n\ |