mirror of
https://gitlab.com/dosowisko.net/libsuperderpy.git
synced 2025-02-07 21:56:44 +01:00
character: apply spritesheet offset after scaling and rotating
I'm not 100% sure yet, but I think this makes more sense.
This commit is contained in:
parent
7bde25fe84
commit
0c5fee3cbb
1 changed files with 2 additions and 1 deletions
|
@ -510,11 +510,12 @@ SYMBOL_EXPORT ALLEGRO_TRANSFORM GetCharacterTransform(struct Game* game, struct
|
|||
al_scale_transform(&transform, ((character->flipX ^ character->spritesheet->flipX ^ character->frame->flipX) ? -1 : 1), ((character->flipY ^ character->spritesheet->flipY ^ character->frame->flipY) ? -1 : 1)); // flipping; FIXME: should it be here or later?
|
||||
al_translate_transform(&transform, w / 2.0, h / 2.0);
|
||||
|
||||
al_translate_transform(&transform, character->spritesheet->offsetX + character->spritesheet->frames[character->pos].x, character->spritesheet->offsetY + character->spritesheet->frames[character->pos].y); // spritesheet frame offset
|
||||
al_translate_transform(&transform, character->spritesheet->frames[character->pos].x, character->spritesheet->frames[character->pos].y); // spritesheet frame offset
|
||||
al_translate_transform(&transform, -w * character->spritesheet->pivotX, -h * character->spritesheet->pivotY); // pivot
|
||||
al_scale_transform(&transform, character->scaleX, character->scaleY);
|
||||
al_rotate_transform(&transform, character->angle);
|
||||
|
||||
al_translate_transform(&transform, character->spritesheet->offsetX, character->spritesheet->offsetY); // spritesheet offset
|
||||
al_translate_transform(&transform, GetCharacterX(game, character), GetCharacterY(game, character)); // position
|
||||
|
||||
if (character->parent) {
|
||||
|
|
Loading…
Reference in a new issue