TWINE: renamed member of Keyboard struct

This commit is contained in:
Martin Gerhardy 2020-10-21 21:22:06 +02:00 committed by Eugene Sandulenko
parent d8ad31f056
commit 2ac8330823
10 changed files with 39 additions and 46 deletions

View file

@ -314,7 +314,7 @@ void FlaMovies::playFlaMovie(const char *flaName) {
break; break;
} }
if (_engine->_keyboard.skipIntro) { if (_engine->_keyboard.internalKeyCode) {
break; break;
} }
} while (true); } while (true);

View file

@ -416,7 +416,7 @@ void GameState::processFoundItem(int32 item) {
while (_engine->_text->playVoxSimple(_engine->_text->currDialTextEntry)) { while (_engine->_text->playVoxSimple(_engine->_text->currDialTextEntry)) {
_engine->readKeys(); _engine->readKeys();
if (_engine->_keyboard.skipIntro == 1) { if (_engine->_keyboard.internalKeyCode == 1) {
break; break;
} }
_engine->delaySkip(1); _engine->delaySkip(1);
@ -431,7 +431,7 @@ void GameState::processFoundItem(int32 item) {
break; break;
} }
delaySkip(1); delaySkip(1);
} while (!_engine->_keyboard.skipIntro);*/ } while (!_engine->_keyboard.internalKeyCode);*/
if (_engine->cfgfile.LanguageCDId && _engine->_sound->isSamplePlaying(_engine->_text->currDialTextEntry)) { if (_engine->cfgfile.LanguageCDId && _engine->_sound->isSamplePlaying(_engine->_text->currDialTextEntry)) {
_engine->_text->stopVox(_engine->_text->currDialTextEntry); _engine->_text->stopVox(_engine->_text->currDialTextEntry);
@ -499,7 +499,7 @@ void GameState::processGameoverAnimation() { // makeGameOver
int32 startLbaTime = _engine->lbaTime; int32 startLbaTime = _engine->lbaTime;
_engine->_interface->setClip(120, 120, 519, 359); _engine->_interface->setClip(120, 120, 519, 359);
while (_engine->_keyboard.skipIntro != 1 && (_engine->lbaTime - startLbaTime) <= 500) { while (_engine->_keyboard.internalKeyCode != 1 && (_engine->lbaTime - startLbaTime) <= 500) {
_engine->readKeys(); _engine->readKeys();
avg = _engine->_collision->getAverageValue(40000, 3200, 500, _engine->lbaTime - startLbaTime); avg = _engine->_collision->getAverageValue(40000, 3200, 500, _engine->lbaTime - startLbaTime);

View file

@ -97,18 +97,11 @@ static_assert(ARRAYSIZE(twineactions) == TwinEActionType::Max, "Unexpected actio
struct Keyboard { struct Keyboard {
bool actionStates[TwinEActionType::Max] {false}; bool actionStates[TwinEActionType::Max] {false};
/** Skipped key - key1 */
int16 skippedKey = 0; int16 skippedKey = 0;
/** Pressed key - printTextVar12 */
int16 pressedKey = 0; int16 pressedKey = 0;
//int printTextVar13; int16 internalKeyCode = 0;
/** Skip intro variable */
int16 skipIntro = 0;
/** Current key value */
int16 currentKey = 0; int16 currentKey = 0;
/** Auxiliar key value */
int16 key = 0; int16 key = 0;
int32 heroPressedKey = 0; int32 heroPressedKey = 0;
int32 heroPressedKey2 = 0; int32 heroPressedKey2 = 0;
}; };

View file

@ -440,7 +440,7 @@ int32 Menu::processMenu(int16 *menuSettings) {
if (_engine->lbaTime - localTime > 11650) { if (_engine->lbaTime - localTime > 11650) {
return kBackground; return kBackground;
} }
if (_engine->_keyboard.skipIntro == '.') { if (_engine->_keyboard.internalKeyCode == '.') {
if (_engine->_keyboard.skippedKey != ' ') { if (_engine->_keyboard.skippedKey != ' ') {
return kBackground; return kBackground;
} }
@ -545,7 +545,7 @@ int32 Menu::processMenu(int16 *menuSettings) {
do { do {
_engine->readKeys(); _engine->readKeys();
drawButton(localData, 1); drawButton(localData, 1);
} while (_engine->_keyboard.pressedKey == 0 && _engine->_keyboard.skippedKey == 0 && _engine->_keyboard.skipIntro == 0); } while (_engine->_keyboard.pressedKey == 0 && _engine->_keyboard.skippedKey == 0 && _engine->_keyboard.internalKeyCode == 0);
buttonNeedRedraw = 0; buttonNeedRedraw = 0;
} else { } else {
if (musicChanged) { if (musicChanged) {
@ -936,7 +936,7 @@ void Menu::processBehaviourMenu() {
tmpTime = _engine->lbaTime; tmpTime = _engine->lbaTime;
while (_engine->_keyboard.skippedKey & 4 || (_engine->_keyboard.skipIntro >= twineactions[TwinEActionType::QuickBehaviourNormal].localKey && _engine->_keyboard.skipIntro <= twineactions[TwinEActionType::QuickBehaviourDiscreet].localKey)) { while (_engine->_keyboard.skippedKey & 4 || (_engine->_keyboard.internalKeyCode >= twineactions[TwinEActionType::QuickBehaviourNormal].localKey && _engine->_keyboard.internalKeyCode <= twineactions[TwinEActionType::QuickBehaviourDiscreet].localKey)) {
_engine->readKeys(); _engine->readKeys();
_engine->_keyboard.key = _engine->_keyboard.pressedKey; _engine->_keyboard.key = _engine->_keyboard.pressedKey;
@ -1068,14 +1068,14 @@ void Menu::processInventoryMenu() {
_engine->_text->setFontCrossColor(4); _engine->_text->setFontCrossColor(4);
_engine->_text->initDialogueBox(); _engine->_text->initDialogueBox();
while (_engine->_keyboard.skipIntro != 1) { while (_engine->_keyboard.internalKeyCode != 1) {
_engine->readKeys(); _engine->readKeys();
prevSelectedItem = inventorySelectedItem; prevSelectedItem = inventorySelectedItem;
if (!di) { if (!di) {
_engine->_keyboard.key = _engine->_keyboard.pressedKey; _engine->_keyboard.key = _engine->_keyboard.pressedKey;
_engine->loopPressedKey = _engine->_keyboard.skippedKey; _engine->loopPressedKey = _engine->_keyboard.skippedKey;
_engine->loopCurrentKey = _engine->_keyboard.skipIntro; _engine->loopCurrentKey = _engine->_keyboard.internalKeyCode;
if (_engine->_keyboard.key != 0 || _engine->_keyboard.skippedKey != 0) { if (_engine->_keyboard.key != 0 || _engine->_keyboard.skippedKey != 0) {
di = 1; di = 1;
@ -1181,7 +1181,7 @@ void Menu::processInventoryMenu() {
_engine->_text->initTextBank(_engine->_text->currentTextBank + 3); _engine->_text->initTextBank(_engine->_text->currentTextBank + 3);
while (_engine->_keyboard.skipIntro != 0 && _engine->_keyboard.skippedKey != 0) { while (_engine->_keyboard.internalKeyCode != 0 && _engine->_keyboard.skippedKey != 0) {
_engine->readKeys(); _engine->readKeys();
_engine->_system->delayMillis(1); _engine->_system->delayMillis(1);
_engine->flip(); // TODO: needed? _engine->flip(); // TODO: needed?

View file

@ -63,13 +63,13 @@ void MenuOptions::newGame() {
_engine->_text->drawTextFullscreen(150); _engine->_text->drawTextFullscreen(150);
_engine->readKeys(); _engine->readKeys();
if (_engine->_keyboard.skipIntro != 1) { if (_engine->_keyboard.internalKeyCode != 1) {
// intro screen 1 - twinsun // intro screen 1 - twinsun
_engine->_screens->loadImage(RESSHQR_INTROSCREEN2IMG); _engine->_screens->loadImage(RESSHQR_INTROSCREEN2IMG);
_engine->_text->drawTextFullscreen(151); _engine->_text->drawTextFullscreen(151);
_engine->readKeys(); _engine->readKeys();
if (_engine->_keyboard.skipIntro != 1) { if (_engine->_keyboard.internalKeyCode != 1) {
_engine->_screens->loadImage(RESSHQR_INTROSCREEN3IMG); _engine->_screens->loadImage(RESSHQR_INTROSCREEN3IMG);
_engine->_text->drawTextFullscreen(152); _engine->_text->drawTextFullscreen(152);
} }
@ -231,7 +231,7 @@ int32 MenuOptions::enterPlayerName(int32 textIdx) {
if (_engine->shouldQuit()) { if (_engine->shouldQuit()) {
break; break;
} }
} while (_engine->_keyboard.skipIntro); } while (_engine->_keyboard.internalKeyCode);
if (_engine->shouldQuit()) { if (_engine->shouldQuit()) {
break; break;
} }
@ -246,7 +246,7 @@ int32 MenuOptions::enterPlayerName(int32 textIdx) {
} }
} while (_engine->_keyboard.pressedKey); } while (_engine->_keyboard.pressedKey);
while (!_engine->_keyboard.skipIntro) { while (!_engine->_keyboard.internalKeyCode) {
_engine->readKeys(); _engine->readKeys();
if (_engine->shouldQuit()) { if (_engine->shouldQuit()) {
break; break;
@ -256,7 +256,7 @@ int32 MenuOptions::enterPlayerName(int32 textIdx) {
} }
// FIXME: remove this lines after implementing everything // FIXME: remove this lines after implementing everything
if (_engine->_keyboard.skipIntro) if (_engine->_keyboard.internalKeyCode)
break; break;
} }
@ -290,7 +290,7 @@ void MenuOptions::newGameMenu() {
if (_engine->shouldQuit()) { if (_engine->shouldQuit()) {
break; break;
} }
} while (_engine->_keyboard.skipIntro != 0); } while (_engine->_keyboard.internalKeyCode != 0);
} }
} }
@ -328,7 +328,7 @@ void MenuOptions::continueGameMenu() {
if (_engine->shouldQuit()) { if (_engine->shouldQuit()) {
break; break;
} }
} while (_engine->_keyboard.skipIntro != 0); } while (_engine->_keyboard.internalKeyCode != 0);
} }
} }

View file

@ -296,7 +296,7 @@ void Movements::processActorMovements(int32 actorIdx) {
heroAction = 0; heroAction = 0;
// If press W for action // If press W for action
if (_engine->_keyboard.skipIntro == 0x11) { if (_engine->_keyboard.internalKeyCode == 0x11) {
heroAction = 1; heroAction = 1;
} }

View file

@ -534,7 +534,7 @@ void Redraw::redrawEngineActions(int32 bgRedraw) { // fullRedraw
} }
if (_engine->cfgfile.Debug) { if (_engine->cfgfile.Debug) {
_engine->_debugScene->displayZones(_engine->_keyboard.skipIntro); _engine->_debugScene->displayZones(_engine->_keyboard.internalKeyCode);
} }
for (int32 i = 0; i < OVERLAY_MAX_ENTRIES; i++) { for (int32 i = 0; i < OVERLAY_MAX_ENTRIES; i++) {

View file

@ -1362,7 +1362,7 @@ static int32 lMESSAGE_SENDELL(TwinEEngine *engine, int32 actorIdx, ActorStruct *
do { do {
engine->readKeys(); engine->readKeys();
} while (engine->_keyboard.skipIntro || engine->_keyboard.skippedKey); } while (engine->_keyboard.internalKeyCode || engine->_keyboard.skippedKey);
engine->unfreezeTime(); engine->unfreezeTime();

View file

@ -621,7 +621,7 @@ void Text::drawTextFullscreen(int32 index) { // printTextFullScreen
if (_engine->shouldQuit()) { if (_engine->shouldQuit()) {
break; break;
} }
if (_engine->_keyboard.skipIntro == 0 && _engine->_keyboard.skippedKey == 0 && _engine->_keyboard.pressedKey == 0) { if (_engine->_keyboard.internalKeyCode == 0 && _engine->_keyboard.skippedKey == 0 && _engine->_keyboard.pressedKey == 0) {
break; break;
} }
playVox(currDialTextEntry); playVox(currDialTextEntry);
@ -633,7 +633,7 @@ void Text::drawTextFullscreen(int32 index) { // printTextFullScreen
if (_engine->shouldQuit()) { if (_engine->shouldQuit()) {
break; break;
} }
if (_engine->_keyboard.skipIntro != 0 || _engine->_keyboard.skippedKey != 0 || _engine->_keyboard.pressedKey != 0) { if (_engine->_keyboard.internalKeyCode != 0 || _engine->_keyboard.skippedKey != 0 || _engine->_keyboard.pressedKey != 0) {
break; break;
} }
playVox(currDialTextEntry); playVox(currDialTextEntry);
@ -641,7 +641,7 @@ void Text::drawTextFullscreen(int32 index) { // printTextFullScreen
} while (1); } while (1);
} }
if (_engine->_keyboard.skipIntro == 1) { if (_engine->_keyboard.internalKeyCode == 1) {
skipText = 1; skipText = 1;
} }
@ -681,13 +681,13 @@ void Text::drawTextFullscreen(int32 index) { // printTextFullScreen
break; break;
} }
_engine->_system->delayMillis(1); _engine->_system->delayMillis(1);
} while (_engine->_keyboard.skipIntro || _engine->_keyboard.skippedKey || _engine->_keyboard.pressedKey); } while (_engine->_keyboard.internalKeyCode || _engine->_keyboard.skippedKey || _engine->_keyboard.pressedKey);
// RECHECK this later // RECHECK this later
// wait key to display next text // wait key to display next text
do { do {
_engine->readKeys(); _engine->readKeys();
if (_engine->_keyboard.skipIntro != 0) { if (_engine->_keyboard.internalKeyCode != 0) {
_engine->_interface->loadClip(); _engine->_interface->loadClip();
return; return;
} }
@ -701,7 +701,7 @@ void Text::drawTextFullscreen(int32 index) { // printTextFullScreen
_engine->_system->delayMillis(1); _engine->_system->delayMillis(1);
} while (!_engine->_keyboard.pressedKey); } while (!_engine->_keyboard.pressedKey);
} else { // RECHECK THIS } else { // RECHECK THIS
while (playVox(currDialTextEntry) && _engine->_keyboard.skipIntro != 1) { while (playVox(currDialTextEntry) && _engine->_keyboard.internalKeyCode != 1) {
if (_engine->shouldQuit()) { if (_engine->shouldQuit()) {
break; break;
} }
@ -855,7 +855,7 @@ void Text::drawAskQuestion(int32 index) { // MyDial
} }
playVox(currDialTextEntry); playVox(currDialTextEntry);
_engine->_system->delayMillis(1); _engine->_system->delayMillis(1);
} while (_engine->_keyboard.skipIntro || _engine->_keyboard.skippedKey || _engine->_keyboard.pressedKey); } while (_engine->_keyboard.internalKeyCode || _engine->_keyboard.skippedKey || _engine->_keyboard.pressedKey);
do { do {
_engine->readKeys(); _engine->readKeys();
@ -864,7 +864,7 @@ void Text::drawAskQuestion(int32 index) { // MyDial
} }
playVox(currDialTextEntry); playVox(currDialTextEntry);
_engine->_system->delayMillis(1); _engine->_system->delayMillis(1);
} while (!_engine->_keyboard.skipIntro && !_engine->_keyboard.skippedKey && !_engine->_keyboard.pressedKey); } while (!_engine->_keyboard.internalKeyCode && !_engine->_keyboard.skippedKey && !_engine->_keyboard.pressedKey);
} }
_engine->_system->delayMillis(1); _engine->_system->delayMillis(1);

View file

@ -325,13 +325,13 @@ int32 TwinEEngine::runGameEngine() { // mainLoopInteration
previousLoopPressedKey = loopPressedKey; previousLoopPressedKey = loopPressedKey;
_keyboard.key = _keyboard.pressedKey; _keyboard.key = _keyboard.pressedKey;
loopPressedKey = _keyboard.skippedKey; loopPressedKey = _keyboard.skippedKey;
loopCurrentKey = _keyboard.skipIntro; loopCurrentKey = _keyboard.internalKeyCode;
_debug->processDebug(loopCurrentKey); _debug->processDebug(loopCurrentKey);
if (_menuOptions->canShowCredits != 0) { if (_menuOptions->canShowCredits != 0) {
// TODO: if current music playing != 8, than play_track(8); // TODO: if current music playing != 8, than play_track(8);
if (_keyboard.skipIntro != 0) { if (_keyboard.internalKeyCode != 0) {
return 0; return 0;
} }
if (_keyboard.pressedKey != 0) { if (_keyboard.pressedKey != 0) {
@ -342,7 +342,7 @@ int32 TwinEEngine::runGameEngine() { // mainLoopInteration
} }
} else { } else {
// Process give up menu - Press ESC // Process give up menu - Press ESC
if (_keyboard.skipIntro == 1 && _scene->sceneHero->life > 0 && _scene->sceneHero->entity != -1 && !_scene->sceneHero->staticFlags.bIsHidden) { if (_keyboard.internalKeyCode == 1 && _scene->sceneHero->life > 0 && _scene->sceneHero->entity != -1 && !_scene->sceneHero->staticFlags.bIsHidden) {
freezeTime(); freezeTime();
if (_menu->giveupMenu()) { if (_menu->giveupMenu()) {
unfreezeTime(); unfreezeTime();
@ -554,7 +554,7 @@ int32 TwinEEngine::runGameEngine() { // mainLoopInteration
break; break;
} }
g_system->delayMillis(10); g_system->delayMillis(10);
} while (_keyboard.skipIntro != 0x19 && !_keyboard.pressedKey); } while (_keyboard.internalKeyCode != 0x19 && !_keyboard.pressedKey);
unfreezeTime(); unfreezeTime();
_redraw->redrawEngineActions(1); _redraw->redrawEngineActions(1);
} }
@ -780,10 +780,10 @@ bool TwinEEngine::gameEngineLoop() { // mainLoop
void TwinEEngine::delaySkip(uint32 time) { void TwinEEngine::delaySkip(uint32 time) {
uint32 startTicks = _system->getMillis(); uint32 startTicks = _system->getMillis();
uint32 stopTicks = 0; uint32 stopTicks = 0;
_keyboard.skipIntro = 0; _keyboard.internalKeyCode = 0;
do { do {
readKeys(); readKeys();
if (_keyboard.skipIntro == 1) { if (_keyboard.internalKeyCode == 1) {
break; break;
} }
if (shouldQuit()) { if (shouldQuit()) {
@ -903,12 +903,12 @@ static_assert(ARRAYSIZE(pressedKeyCharMap) == 31, "Expected size of key char map
void TwinEEngine::readKeys() { void TwinEEngine::readKeys() {
if (shouldQuit()) { if (shouldQuit()) {
_keyboard.skipIntro = 1; _keyboard.internalKeyCode = 1;
_keyboard.skippedKey = 1; _keyboard.skippedKey = 1;
return; return;
} }
_keyboard.skippedKey = 0; _keyboard.skippedKey = 0;
_keyboard.skipIntro = 0; _keyboard.internalKeyCode = 0;
Common::Event event; Common::Event event;
while (g_system->getEventManager()->pollEvent(event)) { while (g_system->getEventManager()->pollEvent(event)) {
@ -943,7 +943,7 @@ void TwinEEngine::readKeys() {
case Common::EVENT_KEYDOWN: { case Common::EVENT_KEYDOWN: {
switch (event.kbd.keycode) { switch (event.kbd.keycode) {
case Common::KEYCODE_ESCAPE: case Common::KEYCODE_ESCAPE:
_keyboard.skipIntro = 1; _keyboard.internalKeyCode = 1;
break; break;
case Common::KEYCODE_PAGEUP: case Common::KEYCODE_PAGEUP:
localKey = 0x49; localKey = 0x49;
@ -980,7 +980,7 @@ void TwinEEngine::readKeys() {
break; break;
} }
} }
_keyboard.skipIntro = localKey; _keyboard.internalKeyCode = localKey;
} }
} }