From 10a530ef7a5b2b083dbabccae62c2141394daf2e Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sat, 14 May 2005 11:44:16 +0000 Subject: Fixed player character rendering errors in OpenGL mode. --- ChangeLog | 1 + src/engine.cpp | 22 ++++++++++++---------- src/gui/playerbox.cpp | 2 +- src/main.cpp | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 834cd796..f0060129 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ - Added confirmation dialog before quitting - Added button to show/hide equipment window - Fixed a crash in OpenGL mode +- Fixed rendering of minimap, progress bars and player sprite in OpenGL mode 0.0.12 (1 May 2005) - Added new map (a cave), tiles, monsters and items diff --git a/src/engine.cpp b/src/engine.cpp index 52f1d11e..e189558d 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -183,14 +183,15 @@ Engine::Engine() tradeWindow = new TradeWindow(); buddyWindow = new BuddyWindow(); requestTradeDialog = new RequestTradeDialog(); - quitDialog = new ConfirmDialog("Quit", "Are you sure you want to quit ?", (gcn::ActionListener*)&exitListener); + quitDialog = new ConfirmDialog("Quit", "Are you sure you want to quit ?", + (gcn::ActionListener*)&exitListener); // Initialize window posisitons chatWindow->setPosition(0, screen->h - chatWindow->getHeight()); statusWindow->setPosition(screen->w - statusWindow->getWidth() - 5, 5); inventoryWindow->setPosition(screen->w - statusWindow->getWidth() - inventoryWindow->getWidth() - 10, 5); - itemAmountWindow->setPosition(screen->w - statusWindow->getWidth() - - inventoryWindow->getWidth() - 10, inventoryWindow->getHeight() + + itemAmountWindow->setPosition(screen->w - statusWindow->getWidth() - + inventoryWindow->getWidth() - 10, inventoryWindow->getHeight() + 10); statsWindow->setPosition( screen->w - 5 - statsWindow->getWidth(), @@ -201,10 +202,10 @@ Engine::Engine() tradeWindow->setPosition(screen->w - statusWindow->getWidth() - tradeWindow->getWidth() - 10, inventoryWindow->getY() + inventoryWindow->getHeight()); - buddyWindow->setPosition(10, - minimap->getHeight() + 30); - requestTradeDialog->setPosition(screen->w - statusWindow->getWidth() - - requestTradeDialog->getWidth() - 10, + buddyWindow->setPosition(10, + minimap->getHeight() + 30); + requestTradeDialog->setPosition(screen->w - statusWindow->getWidth() - + requestTradeDialog->getWidth() - 10, chatWindow->getHeight() + 15); equipmentWindow->setPosition(5,140); @@ -418,12 +419,13 @@ void Engine::draw() int pf = being->frame + being->action; if (being->action == ATTACK) { - if(being->weapon > 0) + if (being->weapon > 0) pf += 4 * (being->weapon - 1); } - playerset->spriteset[4 * pf + dir]->draw(screen, - being->text_x - 16, being->text_y - 80); + playerset->spriteset[pf + 16 * dir]->draw(screen, + being->text_x - 16, being->text_y - 32); + if (being->weapon != 0 && being->action == ATTACK) { weaponset->spriteset[16 * (being->weapon - 1) + 4 * being->frame + dir]->draw(screen, being->text_x - 64, being->text_y - 80); diff --git a/src/gui/playerbox.cpp b/src/gui/playerbox.cpp index 0e9f5e0f..b97b37b3 100644 --- a/src/gui/playerbox.cpp +++ b/src/gui/playerbox.cpp @@ -60,7 +60,7 @@ void PlayerBox::draw(gcn::Graphics *graphics) getAbsolutePosition(x, y); // Draw character - playerset->spriteset[0]->draw(screen, x + 23, y - 25); + playerset->spriteset[0]->draw(screen, x + 23, y + 23); // Draw his hair if (hairColor >= 0 && hairStyle >= 0 && diff --git a/src/main.cpp b/src/main.cpp index 364b2c7b..8c871b6a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -277,7 +277,7 @@ void init_engine() if (!playerImg) logger->error("Couldn't load player_male_base.png"); if (!hairImg) logger->error("Couldn't load player_male_hair.png"); - playerset = new Spriteset(playerImg, 64, 120); + playerset = new Spriteset(playerImg, 64, 64); hairset = new Spriteset(hairImg, 40, 40); gui = new Gui(graphics); -- cgit v1.2.3-70-g09d2