diff options
| -rw-r--r-- | engines/fullpipe/modal.cpp | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp index e138df2be7..00e9bf8824 100644 --- a/engines/fullpipe/modal.cpp +++ b/engines/fullpipe/modal.cpp @@ -27,6 +27,7 @@  #include "fullpipe/motion.h"  #include "fullpipe/scenes.h"  #include "fullpipe/gameloader.h" +#include "fullpipe/statics.h"  #include "fullpipe/constants.h" @@ -1108,7 +1109,16 @@ bool ModalMainMenu::isOverArea(PictureObject *obj, Common::Point *point) {  }  bool ModalMainMenu::isSaveAllowed() { -	warning("STUB: ModalMainMenu::isSaveAllowed()"); +	if (!g_fp->_isSaveAllowed) +		return false; + +	if (g_fp->_aniMan->_flags & 0x100) +		return false; + +	for (Common::Array<MessageQueue *>::iterator s = g_fp->_globalMessageQueueList->begin(); s != g_fp->_globalMessageQueueList->end(); ++s) { +		if (!(*s)->_isFinished && ((*s)->getFlags() & 1)) +			return false; +	}  	return true;  } | 
