mirror of
https://github.com/libretro/scummvm.git
synced 2024-11-27 11:20:40 +00:00
XEEN: Do rendering delays like the original did
This commit is contained in:
parent
deb4261b6a
commit
65ecb6e56f
@ -73,7 +73,7 @@ void MapDialog::execute() {
|
||||
events.updateGameCounter();
|
||||
do {
|
||||
if (drawFlag)
|
||||
intf.draw3d(false, true);
|
||||
intf.draw3d(false);
|
||||
windows[5].writeString("\r");
|
||||
|
||||
if (map._isOutdoors)
|
||||
|
@ -161,6 +161,12 @@ void EventsManager::ipause(uint amount) {
|
||||
} while (!_vm->shouldQuit() && timeElapsed() < amount);
|
||||
}
|
||||
|
||||
void EventsManager::ipause5(uint amount) {
|
||||
do {
|
||||
pollEventsAndWait();
|
||||
} while (!_vm->shouldQuit() && timeElapsed5() < amount);
|
||||
}
|
||||
|
||||
void EventsManager::nextFrame() {
|
||||
++_frameCounter;
|
||||
|
||||
|
@ -109,7 +109,15 @@ public:
|
||||
|
||||
bool wait(uint numFrames, bool interruptable = true);
|
||||
|
||||
/**
|
||||
* Pause for a set amount
|
||||
*/
|
||||
void ipause(uint amount);
|
||||
|
||||
/**
|
||||
* Pauses a set amount past the previous call to timeMark5
|
||||
*/
|
||||
void ipause5(uint amount);
|
||||
};
|
||||
|
||||
class GameEvent {
|
||||
|
@ -1242,7 +1242,7 @@ void Interface::bash(const Common::Point &pt, Direction direction) {
|
||||
drawParty(true);
|
||||
}
|
||||
|
||||
void Interface::draw3d(bool updateFlag, bool skipDelay) {
|
||||
void Interface::draw3d(bool updateFlag) {
|
||||
Combat &combat = *_vm->_combat;
|
||||
EventsManager &events = *_vm->_events;
|
||||
Party &party = *_vm->_party;
|
||||
@ -1250,7 +1250,7 @@ void Interface::draw3d(bool updateFlag, bool skipDelay) {
|
||||
Scripts &scripts = *_vm->_scripts;
|
||||
Windows &windows = *_vm->_windows;
|
||||
|
||||
events.updateGameCounter();
|
||||
events.timeMark5();
|
||||
if (windows[11]._enabled)
|
||||
return;
|
||||
|
||||
@ -1299,12 +1299,7 @@ void Interface::draw3d(bool updateFlag, bool skipDelay) {
|
||||
}
|
||||
|
||||
party._stepped = false;
|
||||
if (_vm->_mode == MODE_RECORD_EVENTS) {
|
||||
// TODO: Save current scripts data?
|
||||
}
|
||||
|
||||
if (!skipDelay)
|
||||
events.wait(2, false);
|
||||
events.ipause5(2);
|
||||
}
|
||||
|
||||
void Interface::handleFalling() {
|
||||
|
@ -161,9 +161,15 @@ public:
|
||||
|
||||
void rest();
|
||||
|
||||
/**
|
||||
* Handles bash actions
|
||||
*/
|
||||
void bash(const Common::Point &pt, Direction direction);
|
||||
|
||||
void draw3d(bool updateFlag, bool skipDelay = false);
|
||||
/**
|
||||
* Handles drawing the elements of the interface and game scene
|
||||
*/
|
||||
void draw3d(bool updateFlag);
|
||||
|
||||
/**
|
||||
* Draw the display borders
|
||||
|
Loading…
Reference in New Issue
Block a user