mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-13 12:39:56 +00:00
Implemented loading from the command line and the GMM for tinsel (kSupportsLoadingDuringStartup)
svn-id: r35958
This commit is contained in:
parent
f67bb6c8f1
commit
cb8ffaf3a9
@ -463,10 +463,7 @@ public:
|
|||||||
bool TinselMetaEngine::hasFeature(MetaEngineFeature f) const {
|
bool TinselMetaEngine::hasFeature(MetaEngineFeature f) const {
|
||||||
return
|
return
|
||||||
(f == kSupportsListSaves) ||
|
(f == kSupportsListSaves) ||
|
||||||
// TODO: See tinsel.cpp ll 994-1005
|
|
||||||
#if 0
|
|
||||||
(f == kSupportsLoadingDuringStartup) ||
|
(f == kSupportsLoadingDuringStartup) ||
|
||||||
#endif
|
|
||||||
(f == kSupportsDeleteSave);
|
(f == kSupportsDeleteSave);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -509,8 +509,17 @@ void SetNewScene(SCNHANDLE scene, int entrance, int transition) {
|
|||||||
if (!bCuttingScene && TinselV2)
|
if (!bCuttingScene && TinselV2)
|
||||||
WrapScene();
|
WrapScene();
|
||||||
|
|
||||||
|
// If we're loading from the GMM, load the scene as a delayed one
|
||||||
|
if (loadingFromGMM) {
|
||||||
|
DelayedScene.scene = scene;
|
||||||
|
DelayedScene.entry = entrance;
|
||||||
|
DelayedScene.trans = transition;
|
||||||
|
loadingFromGMM = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// If CD change will be required, stick in the scene change scene
|
// If CD change will be required, stick in the scene change scene
|
||||||
if (CdNumber(scene) != GetCurrentCD() || loadingFromGMM) {
|
if (CdNumber(scene) != GetCurrentCD()) {
|
||||||
// This scene gets delayed
|
// This scene gets delayed
|
||||||
DelayedScene.scene = scene;
|
DelayedScene.scene = scene;
|
||||||
DelayedScene.entry = entrance;
|
DelayedScene.entry = entrance;
|
||||||
@ -520,7 +529,6 @@ void SetNewScene(SCNHANDLE scene, int entrance, int transition) {
|
|||||||
NextScene.entry = CdNumber(scene) - '0';
|
NextScene.entry = CdNumber(scene) - '0';
|
||||||
NextScene.trans = TRANS_FADE;
|
NextScene.trans = TRANS_FADE;
|
||||||
|
|
||||||
loadingFromGMM = false;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -998,16 +1006,11 @@ Common::Error TinselEngine::go() {
|
|||||||
//
|
//
|
||||||
// TODO: We might want to think about taking care of possible errors
|
// TODO: We might want to think about taking care of possible errors
|
||||||
// when loading the save state.
|
// when loading the save state.
|
||||||
//
|
|
||||||
// TODO: This works fine when loading saves, which require a CD change
|
|
||||||
// in DW2. It will also work for DW1. For every other save it'll fail though.
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
if (ConfMan.hasKey("save_slot")) {
|
if (ConfMan.hasKey("save_slot")) {
|
||||||
loadGameState(ConfMan.getInt("save_slot"));
|
loadGameState(ConfMan.getInt("save_slot"));
|
||||||
loadingFromGMM = true;
|
loadingFromGMM = true;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
// Foreground loop
|
// Foreground loop
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user