[Scummvm-cvs-logs] scummvm master -> a2c282bc5c43e16183d386478a4a0c5a71cf2cce
Strangerke
Strangerke at scummvm.org
Fri Mar 29 07:51:01 CET 2013
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
1100216f86 HOPKINS: Implement Load from GUI
a2c282bc5c HOPKINS: Add debugger command to change scene
Commit: 1100216f86ff6fd8d63c3080d9d8926d9697115e
https://github.com/scummvm/scummvm/commit/1100216f86ff6fd8d63c3080d9d8926d9697115e
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-28T23:34:34-07:00
Commit Message:
HOPKINS: Implement Load from GUI
Changed paths:
engines/hopkins/hopkins.cpp
engines/hopkins/hopkins.h
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index 72c59a7..0f52608 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -56,6 +56,8 @@ HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDe
_scriptManager = new ScriptManager(this);
_soundManager = new SoundManager(this);
_talkManager = new TalkManager(this);
+
+ _startGameSlot = ConfMan.hasKey("save_slot") ? ConfMan.getInt("save_slot") : -1;
}
HopkinsEngine::~HopkinsEngine() {
@@ -143,11 +145,13 @@ bool HopkinsEngine::runWin95Demo() {
_graphicsManager->unlockScreen();
_graphicsManager->clearPalette();
- _graphicsManager->loadImage("H2");
- _graphicsManager->fadeInLong();
+ if (_startGameSlot == -1) {
+ _graphicsManager->loadImage("H2");
+ _graphicsManager->fadeInLong();
- if (!_eventsManager->_escKeyFl)
- playIntro();
+ if (!_eventsManager->_escKeyFl)
+ playIntro();
+ }
_eventsManager->_rateCounter = 0;
_globals->iRegul = 1;
@@ -163,14 +167,21 @@ bool HopkinsEngine::runWin95Demo() {
_globals->_speed = 2;
if (_eventsManager->_rateCounter > 700)
_globals->_speed = 3;
- _graphicsManager->fadeOutLong();
- _globals->iRegul = 1;
- _globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
+
+ if (_startGameSlot == -1) {
+ _graphicsManager->fadeOutLong();
+ _globals->iRegul = 1;
+ _globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
+ }
+
_globals->_characterType = 0;
_objectsManager->_mapCarPosX = _objectsManager->_mapCarPosY = 0;
memset(_globals->_saveData, 0, 2000);
_globals->_exitId = 0;
+ if (_startGameSlot != -1)
+ _saveLoadManager->loadGame(_startGameSlot);
+
if (getLanguage() != Common::PL_POL)
if (!displayAdultDisclaimer())
return Common::kNoError;
@@ -441,18 +452,20 @@ bool HopkinsEngine::runLinuxDemo() {
_graphicsManager->clearScreen();
_graphicsManager->unlockScreen();
- _graphicsManager->loadImage("LINUX");
- _graphicsManager->fadeInLong();
- _eventsManager->delay(1500);
- _graphicsManager->fadeOutLong();
+ if (_startGameSlot == -1) {
+ _graphicsManager->loadImage("LINUX");
+ _graphicsManager->fadeInLong();
+ _eventsManager->delay(1500);
+ _graphicsManager->fadeOutLong();
- _graphicsManager->loadImage("H2");
- _graphicsManager->fadeInLong();
- _eventsManager->delay(500);
- _graphicsManager->fadeOutLong();
+ _graphicsManager->loadImage("H2");
+ _graphicsManager->fadeInLong();
+ _eventsManager->delay(500);
+ _graphicsManager->fadeOutLong();
- if (!_eventsManager->_escKeyFl)
- playIntro();
+ if (!_eventsManager->_escKeyFl)
+ playIntro();
+ }
_globals->iRegul = 0;
_globals->_characterSpriteBuf = _fileManager->loadFile("PERSO.SPR");
@@ -461,6 +474,9 @@ bool HopkinsEngine::runLinuxDemo() {
memset(_globals->_saveData, 0, 2000);
_globals->_exitId = 0;
+ if (_startGameSlot != -1)
+ _saveLoadManager->loadGame(_startGameSlot);
+
for (;;) {
if (_globals->_exitId == 300)
_globals->_exitId = 0;
@@ -751,7 +767,7 @@ bool HopkinsEngine::runLinuxDemo() {
}
bool HopkinsEngine::runFull() {
- if (getPlatform() == Common::kPlatformLinux)
+ if (_startGameSlot == -1 && getPlatform() == Common::kPlatformLinux)
_soundManager->playSound(16);
_objectsManager->loadObjects();
@@ -769,18 +785,22 @@ bool HopkinsEngine::runFull() {
// This code displays the game version.
// It wasn't present in the original and could be put in the debugger
// It has been added there for debug purposes
- _graphicsManager->loadImage("VERSW");
- _graphicsManager->fadeInLong();
- _eventsManager->delay(500);
- _graphicsManager->fadeOutLong();
+ if (_startGameSlot == -1) {
+ _graphicsManager->loadImage("VERSW");
+ _graphicsManager->fadeInLong();
+ _eventsManager->delay(500);
+ _graphicsManager->fadeOutLong();
+ }
_graphicsManager->clearVesaScreen();
} else {
// This piece of code, though named "display_version" in the original,
// displays a "loading please wait" screen.
- _graphicsManager->loadImage("VERSW");
- _graphicsManager->fadeInLong();
- _eventsManager->delay(500);
- _graphicsManager->fadeOutLong();
+ if (_startGameSlot == -1) {
+ _graphicsManager->loadImage("VERSW");
+ _graphicsManager->fadeInLong();
+ _eventsManager->delay(500);
+ _graphicsManager->fadeOutLong();
+ }
_graphicsManager->clearVesaScreen();
_globals->iRegul = 1;
@@ -791,27 +811,28 @@ bool HopkinsEngine::runFull() {
_graphicsManager->unlockScreen();
_graphicsManager->clearPalette();
- if (getPlatform() == Common::kPlatformLinux) {
- _graphicsManager->loadImage("H2");
- _graphicsManager->fadeInLong();
- _eventsManager->delay(500);
- _graphicsManager->fadeOutLong();
-
- _globals->_speed = 2;
- _globals->iRegul = 1;
- _graphicsManager->_fadingFl = true;
- _animationManager->playAnim("MP.ANM", 10, 16, 200);
- } else {
- _animationManager->playAnim("MP.ANM", 10, 16, 200);
- _graphicsManager->fadeOutLong();
+ if (_startGameSlot == -1) {
+ if (getPlatform() == Common::kPlatformLinux) {
+ _graphicsManager->loadImage("H2");
+ _graphicsManager->fadeInLong();
+ _eventsManager->delay(500);
+ _graphicsManager->fadeOutLong();
+ _globals->_speed = 2;
+ _globals->iRegul = 1;
+ _graphicsManager->_fadingFl = true;
+ _animationManager->playAnim("MP.ANM", 10, 16, 200);
+ } else {
+ _animationManager->playAnim("MP.ANM", 10, 16, 200);
+ _graphicsManager->fadeOutLong();
+ }
}
- if (!_eventsManager->_escKeyFl) {
+ if (!_eventsManager->_escKeyFl && _startGameSlot == -1) {
playIntro();
if (shouldQuit())
return false;
}
- if (getPlatform() != Common::kPlatformLinux) {
+ if (getPlatform() != Common::kPlatformLinux && _startGameSlot == -1) {
_graphicsManager->fadeOutShort();
_graphicsManager->loadImage("H2");
_graphicsManager->fadeInLong();
@@ -826,6 +847,9 @@ bool HopkinsEngine::runFull() {
_globals->_exitId = 0;
+ if (_startGameSlot != -1)
+ _saveLoadManager->loadGame(_startGameSlot);
+
for (;;) {
if (_globals->_exitId == 300)
_globals->_exitId = 0;
diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h
index c6e2224..629633e 100644
--- a/engines/hopkins/hopkins.h
+++ b/engines/hopkins/hopkins.h
@@ -177,7 +177,7 @@ public:
virtual bool canSaveGameStateCurrently();
virtual Common::Error loadGameState(int slot);
virtual Common::Error saveGameState(int slot, const Common::String &desc);
-
+ int _startGameSlot;
/**
* Run the introduction sequence
*/
Commit: a2c282bc5c43e16183d386478a4a0c5a71cf2cce
https://github.com/scummvm/scummvm/commit/a2c282bc5c43e16183d386478a4a0c5a71cf2cce
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-03-28T23:50:07-07:00
Commit Message:
HOPKINS: Add debugger command to change scene
Changed paths:
engines/hopkins/debugger.cpp
engines/hopkins/debugger.h
diff --git a/engines/hopkins/debugger.cpp b/engines/hopkins/debugger.cpp
index 71162b0..2e69c23 100644
--- a/engines/hopkins/debugger.cpp
+++ b/engines/hopkins/debugger.cpp
@@ -32,6 +32,7 @@ Debugger::Debugger(HopkinsEngine *vm) : GUI::Debugger() {
_vm = vm;
DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit));
DCmd_Register("rects", WRAP_METHOD(Debugger, cmd_DirtyRects));
+ DCmd_Register("teleport", WRAP_METHOD(Debugger, cmd_Teleport));
}
// Turns dirty rects on or off
@@ -45,5 +46,15 @@ bool Debugger::cmd_DirtyRects(int argc, const char **argv) {
}
}
+// Change room number
+bool Debugger::cmd_Teleport(int argc, const char **argv) {
+ if (argc != 2) {
+ DebugPrintf("%s: [Room number]\n", argv[0]);
+ return true;
+ } else {
+ _vm->_globals->_exitId = atoi(argv[1]);
+ return false;
+ }
+}
} // End of namespace Hopkins
diff --git a/engines/hopkins/debugger.h b/engines/hopkins/debugger.h
index ed99b44..e7e8c7a 100644
--- a/engines/hopkins/debugger.h
+++ b/engines/hopkins/debugger.h
@@ -39,6 +39,7 @@ public:
virtual ~Debugger() {}
bool cmd_DirtyRects(int argc, const char **argv);
+ bool cmd_Teleport(int argc, const char **argv);
};
} // End of namespace Hopkins
More information about the Scummvm-git-logs
mailing list