From 5985bf10a0ffd4e19038bbab4415c75f19222afa Mon Sep 17 00:00:00 2001 From: Juliano Leal Goncalves Date: Sun, 27 Jun 2021 23:33:01 -0300 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Leverage=20'Point'=20in=20?= =?UTF-8?q?'DrawDeadPlayer'=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/scrollrt.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/Source/scrollrt.cpp b/Source/scrollrt.cpp index 55f6f6978..54451db7d 100644 --- a/Source/scrollrt.cpp +++ b/Source/scrollrt.cpp @@ -558,22 +558,20 @@ void DrawPlayer(const Surface &out, int pnum, Point tilePosition, Point targetBu /** * @brief Render a player sprite * @param out Output buffer - * @param x dPiece coordinate - * @param y dPiece coordinate - * @param sx Output buffer coordinate - * @param sy Output buffer coordinate + * @param tilePosition dPiece coordinates + * @param targetBufferPosition Output buffer coordinates */ -void DrawDeadPlayer(const Surface &out, int x, int y, int sx, int sy) +void DrawDeadPlayer(const Surface &out, Point tilePosition, Point targetBufferPosition) { - dFlags[x][y] &= ~BFLAG_DEAD_PLAYER; + dFlags[tilePosition.x][tilePosition.y] &= ~BFLAG_DEAD_PLAYER; for (int i = 0; i < MAX_PLRS; i++) { auto &player = Players[i]; - if (player.plractive && player._pHitPoints == 0 && player.plrlevel == (BYTE)currlevel && player.position.tile.x == x && player.position.tile.y == y) { - dFlags[x][y] |= BFLAG_DEAD_PLAYER; + if (player.plractive && player._pHitPoints == 0 && player.plrlevel == (BYTE)currlevel && player.position.tile == tilePosition) { + dFlags[tilePosition.x][tilePosition.y] |= BFLAG_DEAD_PLAYER; const Displacement center { CalculateWidth2(player.AnimInfo.pCelSprite == nullptr ? 96 : player.AnimInfo.pCelSprite->Width()), 0 }; - const Point playerRenderPosition { Point { sx, sy } + player.position.offset - center }; - DrawPlayer(out, i, { x, y }, playerRenderPosition); + const Point playerRenderPosition { targetBufferPosition + player.position.offset - center }; + DrawPlayer(out, i, tilePosition, playerRenderPosition); } } } @@ -881,7 +879,7 @@ void DrawDungeon(const Surface &out, Point tilePosition, Point targetBufferPosit DrawMonsterHelper(out, tilePosition, -1, targetBufferPosition); } if ((bFlag & BFLAG_DEAD_PLAYER) != 0) { - DrawDeadPlayer(out, tilePosition.x, tilePosition.y, targetBufferPosition.x, targetBufferPosition.y); + DrawDeadPlayer(out, tilePosition, targetBufferPosition); } if (dPlayer[tilePosition.x][tilePosition.y] > 0) { DrawPlayerHelper(out, tilePosition, targetBufferPosition);