mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-07 10:48:43 +00:00
HOPKINS: Move inventory dialog display to DialogsManager, set _inventWin1 as private
This commit is contained in:
parent
b91c952729
commit
f782ca1c10
@ -84,18 +84,16 @@ private:
|
||||
void displayLives();
|
||||
void displayBricks();
|
||||
void displayGamesSubMenu();
|
||||
void displayScore();
|
||||
int displayHiscores();
|
||||
void displayHiscoreLine(byte *objectData, int x, int y, int curChar);
|
||||
void playBreakout();
|
||||
void saveScore();
|
||||
int moveBall();
|
||||
void checkBallCollisions();
|
||||
void getScoreName();
|
||||
|
||||
void displayMessage(int xp, int yp, int textIdx);
|
||||
|
||||
void displayScore();
|
||||
void displayScoreChar(int charPos, int charDisp);
|
||||
void getScoreName();
|
||||
void playBreakout();
|
||||
int moveBall();
|
||||
void saveScore();
|
||||
void checkBallCollisions();
|
||||
|
||||
public:
|
||||
ComputerManager(HopkinsEngine *vm);
|
||||
|
@ -51,9 +51,23 @@ DialogsManager::DialogsManager(HopkinsEngine *vm) {
|
||||
|
||||
DialogsManager::~DialogsManager() {
|
||||
_vm->_globals->freeMemory(_inventWin1);
|
||||
_vm->_globals->freeMemory(_inventBuf2);
|
||||
_vm->_globals->freeMemory(_inventoryIcons);
|
||||
}
|
||||
|
||||
void DialogsManager::clearAll() {
|
||||
_inventWin1 = g_PTRNUL;
|
||||
_inventBuf2 = g_PTRNUL;
|
||||
}
|
||||
|
||||
void DialogsManager::drawInvent(Common::Point oldBorder, int oldBorderSpriteIndex, Common::Point newBorder, int newBorderSpriteIndex) {
|
||||
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, _inventWin1, _inventX, _inventY, _inventWidth, _inventHeight);
|
||||
if (oldBorder.x && oldBorder.y)
|
||||
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _vm->_dialogsManager->_inventBuf2, oldBorder.x + 300, oldBorder.y + 300, oldBorderSpriteIndex + 1);
|
||||
if (newBorder.x && newBorder.y)
|
||||
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _vm->_dialogsManager->_inventBuf2, newBorder.x + 300, newBorder.y + 300, newBorderSpriteIndex);
|
||||
_vm->_graphicsManager->addDirtyRect(_vm->_dialogsManager->_inventX, _vm->_dialogsManager->_inventY, _vm->_dialogsManager->_inventX + _vm->_dialogsManager->_inventWidth, _vm->_dialogsManager->_inventY + _vm->_dialogsManager->_inventHeight);
|
||||
}
|
||||
void DialogsManager::showOptionsDialog() {
|
||||
_vm->_eventsManager->changeMouseCursor(0);
|
||||
_vm->_eventsManager->refreshScreenAndEvents();
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "common/scummsys.h"
|
||||
#include "common/system.h"
|
||||
#include "common/error.h"
|
||||
#include "common/rect.h"
|
||||
|
||||
namespace Hopkins {
|
||||
|
||||
@ -38,12 +39,13 @@ enum SaveLoadMode { MODE_SAVE = 1, MODE_LOAD = 2 };
|
||||
*/
|
||||
class DialogsManager {
|
||||
private:
|
||||
byte *_inventWin1;
|
||||
|
||||
HopkinsEngine *_vm;
|
||||
|
||||
void showSaveLoad(SaveLoadMode mode);
|
||||
int searchSavegames();
|
||||
public:
|
||||
byte *_inventWin1;
|
||||
byte *_inventBuf2;
|
||||
bool _removeInventFl;
|
||||
bool _inventDisplayedFl;
|
||||
@ -60,6 +62,9 @@ public:
|
||||
void showSaveGame();
|
||||
void showOptionsDialog();
|
||||
void testDialogOpening();
|
||||
void clearAll();
|
||||
|
||||
void drawInvent(Common::Point oldBorder, int oldBorderSpriteIndex, Common::Point newBorder, int newBorderSpriteIndex);
|
||||
};
|
||||
|
||||
} // End of namespace Hopkins
|
||||
|
@ -239,8 +239,7 @@ void Globals::clearAll() {
|
||||
_objectDataBuf = g_PTRNUL;
|
||||
_curObjectFileNum = 0;
|
||||
_vm->_eventsManager->_objectBuf = g_PTRNUL;
|
||||
_vm->_dialogsManager->_inventWin1 = g_PTRNUL;
|
||||
_vm->_dialogsManager->_inventBuf2 = g_PTRNUL;
|
||||
_vm->_dialogsManager->clearAll();
|
||||
_answerBuffer = g_PTRNUL;
|
||||
SPRITE_ECRAN = g_PTRNUL;
|
||||
_saveData = (Savegame *)g_PTRNUL;
|
||||
|
@ -409,12 +409,7 @@ void ObjectsManager::displaySprite() {
|
||||
|
||||
_vm->_globals->_sortedDisplayCount = 0;
|
||||
if (_vm->_dialogsManager->_inventDisplayedFl) {
|
||||
_vm->_graphicsManager->restoreSurfaceRect(_vm->_graphicsManager->_vesaBuffer, _vm->_dialogsManager->_inventWin1, _vm->_dialogsManager->_inventX, _vm->_dialogsManager->_inventY, _vm->_dialogsManager->_inventWidth, _vm->_dialogsManager->_inventHeight);
|
||||
if (_oldBorderPos.x && _oldBorderPos.y)
|
||||
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _vm->_dialogsManager->_inventBuf2, _oldBorderPos.x + 300, _oldBorderPos.y + 300, _oldBorderSpriteIndex + 1);
|
||||
if (_borderPos.x && _borderPos.y)
|
||||
_vm->_graphicsManager->Sprite_Vesa(_vm->_graphicsManager->_vesaBuffer, _vm->_dialogsManager->_inventBuf2, _borderPos.x + 300, _borderPos.y + 300, _borderSpriteIndex);
|
||||
_vm->_graphicsManager->addDirtyRect(_vm->_dialogsManager->_inventX, _vm->_dialogsManager->_inventY, _vm->_dialogsManager->_inventX + _vm->_dialogsManager->_inventWidth, _vm->_dialogsManager->_inventY + _vm->_dialogsManager->_inventHeight);
|
||||
_vm->_dialogsManager->drawInvent(_oldBorderPos, _oldBorderSpriteIndex, _borderPos, _borderSpriteIndex);
|
||||
}
|
||||
|
||||
if (_saveLoadFl) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user