Changed main loop to allow BRA to return to menu after intro.
svn-id: r30798
This commit is contained in:
parent
17fdd182b6
commit
dabefdce05
6 changed files with 29 additions and 24 deletions
|
@ -279,7 +279,7 @@ DECLARE_COMMAND_OPCODE(testsfx) {
|
||||||
|
|
||||||
|
|
||||||
DECLARE_COMMAND_OPCODE(ret) {
|
DECLARE_COMMAND_OPCODE(ret) {
|
||||||
warning("Parallaction_br::cmdOp_ret not yet implemented");
|
_engineFlags |= kEngineReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -41,8 +41,6 @@ enum MenuOptions {
|
||||||
|
|
||||||
|
|
||||||
void Parallaction_br::guiStart() {
|
void Parallaction_br::guiStart() {
|
||||||
guiSplash("dyna");
|
|
||||||
guiSplash("core");
|
|
||||||
|
|
||||||
// TODO: load progress value from special save game
|
// TODO: load progress value from special save game
|
||||||
_progress = 3;
|
_progress = 3;
|
||||||
|
|
|
@ -245,9 +245,6 @@ void waitUntilLeftClick() {
|
||||||
|
|
||||||
void Parallaction::runGame() {
|
void Parallaction::runGame() {
|
||||||
|
|
||||||
_inputMode = kInputModeGame;
|
|
||||||
|
|
||||||
while ((_engineFlags & kEngineQuit) == 0) {
|
|
||||||
updateInput();
|
updateInput();
|
||||||
|
|
||||||
runPendingZones();
|
runPendingZones();
|
||||||
|
@ -266,8 +263,6 @@ void Parallaction::runGame() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Parallaction::updateView() {
|
void Parallaction::updateView() {
|
||||||
|
|
||||||
if ((_engineFlags & kEnginePauseJobs) && (_engineFlags & kEngineInventory) == 0) {
|
if ((_engineFlags & kEnginePauseJobs) && (_engineFlags & kEngineInventory) == 0) {
|
||||||
|
|
|
@ -111,7 +111,10 @@ enum EngineFlags {
|
||||||
kEngineChangeLocation = (1 << 4),
|
kEngineChangeLocation = (1 << 4),
|
||||||
kEngineBlockInput = (1 << 5),
|
kEngineBlockInput = (1 << 5),
|
||||||
kEngineDragging = (1 << 6),
|
kEngineDragging = (1 << 6),
|
||||||
kEngineTransformedDonna = (1 << 7)
|
kEngineTransformedDonna = (1 << 7),
|
||||||
|
|
||||||
|
// BRA specific
|
||||||
|
kEngineReturn = (1 << 10)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
|
@ -96,16 +96,22 @@ void Parallaction_br::callFunction(uint index, void* parm) {
|
||||||
|
|
||||||
int Parallaction_br::go() {
|
int Parallaction_br::go() {
|
||||||
|
|
||||||
|
guiSplash("dyna");
|
||||||
|
guiSplash("core");
|
||||||
|
|
||||||
while ((_engineFlags & kEngineQuit) == 0) {
|
while ((_engineFlags & kEngineQuit) == 0) {
|
||||||
|
|
||||||
guiStart();
|
guiStart();
|
||||||
|
|
||||||
// initCharacter();
|
// initCharacter();
|
||||||
|
|
||||||
|
_inputMode = kInputModeGame;
|
||||||
|
while ((_engineFlags & (kEngineReturn | kEngineQuit)) == 0) {
|
||||||
runGame();
|
runGame();
|
||||||
|
}
|
||||||
|
_engineFlags &= ~kEngineReturn;
|
||||||
|
|
||||||
freePart();
|
freePart();
|
||||||
// freeLocation();
|
|
||||||
// freeCharacter();
|
// freeCharacter();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -240,7 +240,10 @@ int Parallaction_ns::go() {
|
||||||
|
|
||||||
changeLocation(_location._name);
|
changeLocation(_location._name);
|
||||||
|
|
||||||
|
_inputMode = kInputModeGame;
|
||||||
|
while ((_engineFlags & kEngineQuit) == 0) {
|
||||||
runGame();
|
runGame();
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue