mirror of
https://github.com/libretro/scummvm.git
synced 2025-05-13 09:36:21 +00:00
HUGO: intros are now skippable
svn-id: r55192
This commit is contained in:
parent
2b7acd6919
commit
01e43fa8dc
@ -821,6 +821,7 @@ struct status_t { // Game status (not saved)
|
||||
bool godModeFl; // Allow DEBUG features in live version
|
||||
bool helpFl; // Calling WinHelp (don't disable music)
|
||||
bool doQuitFl;
|
||||
bool skipIntroFl;
|
||||
uint32 tick; // Current time in ticks
|
||||
vstate_t viewState; // View state machine
|
||||
istate_t inventoryState; // Inventory icon bar state
|
||||
|
@ -934,6 +934,7 @@ void HugoEngine::initStatus() {
|
||||
_status.godModeFl = false; // No special cheats allowed
|
||||
_status.helpFl = false; // Not calling WinHelp()
|
||||
_status.doQuitFl = false;
|
||||
_status.skipIntroFl = false;
|
||||
_status.path[0] = 0; // Path to write files
|
||||
|
||||
// Initialize every start of new game
|
||||
|
@ -59,6 +59,9 @@ bool intro_v1d::introPlay() {
|
||||
static int state = 0;
|
||||
byte introSize = _vm->getIntroSize();
|
||||
|
||||
if (_vm->getGameStatus().skipIntroFl)
|
||||
return true;
|
||||
|
||||
if (introTicks < introSize) {
|
||||
switch (state++) {
|
||||
case 0:
|
||||
|
@ -92,6 +92,9 @@ void intro_v3d::introInit() {
|
||||
bool intro_v3d::introPlay() {
|
||||
//TODO : Add proper check of story mode
|
||||
//#if STORY
|
||||
if (_vm->getGameStatus().skipIntroFl)
|
||||
return true;
|
||||
|
||||
if (introTicks < _vm->getIntroSize()) {
|
||||
font.drawString(&surf, ".", _vm->_introX[introTicks], _vm->_introY[introTicks] - DIBOFF_Y, 320, _TBRIGHTWHITE);
|
||||
_vm->_screen->displayBackground();
|
||||
|
@ -75,6 +75,9 @@ void intro_v3w::introInit() {
|
||||
bool intro_v3w::introPlay() {
|
||||
//TODO : Add proper check of story mode
|
||||
//#if STORY
|
||||
if (_vm->getGameStatus().skipIntroFl)
|
||||
return true;
|
||||
|
||||
if (introTicks < _vm->getIntroSize()) {
|
||||
// Scale viewport x_intro,y_intro to screen (offsetting y)
|
||||
_vm->_screen->writeStr(_vm->_introX[introTicks], _vm->_introY[introTicks] - DIBOFF_Y, "x", _TBRIGHTWHITE);
|
||||
|
@ -137,9 +137,13 @@ void Parser::keyHandler(Common::Event event) {
|
||||
// Process key down event - called from OnKeyDown()
|
||||
switch (nChar) { // Set various toggle states
|
||||
case Common::KEYCODE_ESCAPE: // Escape key, may want to QUIT
|
||||
if (gameStatus.inventoryState == I_ACTIVE) // Remove inventory, if displayed
|
||||
gameStatus.inventoryState = I_UP;
|
||||
_vm->_screen->resetInventoryObjId();
|
||||
if (gameStatus.viewState == V_INTRO)
|
||||
gameStatus.skipIntroFl = true;
|
||||
else {
|
||||
if (gameStatus.inventoryState == I_ACTIVE) // Remove inventory, if displayed
|
||||
gameStatus.inventoryState = I_UP;
|
||||
_vm->_screen->resetInventoryObjId();
|
||||
}
|
||||
break;
|
||||
case Common::KEYCODE_END:
|
||||
case Common::KEYCODE_HOME:
|
||||
|
Loading…
x
Reference in New Issue
Block a user