diff options
| author | Paul Gilbert | 2011-08-15 19:03:14 +1000 | 
|---|---|---|
| committer | Paul Gilbert | 2011-08-15 19:03:14 +1000 | 
| commit | 833c6fdb72042b593d0bc23f8b9d223234e0ad8d (patch) | |
| tree | 4c1dde676aa27cbfcd744c506546e5372c313623 | |
| parent | b83cf61bfb9ac386aee2cc0ce2a7f72e41725523 (diff) | |
| download | scummvm-rg350-833c6fdb72042b593d0bc23f8b9d223234e0ad8d.tar.gz scummvm-rg350-833c6fdb72042b593d0bc23f8b9d223234e0ad8d.tar.bz2 scummvm-rg350-833c6fdb72042b593d0bc23f8b9d223234e0ad8d.zip | |
TSAGE: Started implementing Blue Force Scene #50
| -rw-r--r-- | engines/tsage/blue_force/blueforce_scenes0.cpp | 47 | ||||
| -rw-r--r-- | engines/tsage/blue_force/blueforce_scenes0.h | 25 | 
2 files changed, 72 insertions, 0 deletions
| diff --git a/engines/tsage/blue_force/blueforce_scenes0.cpp b/engines/tsage/blue_force/blueforce_scenes0.cpp index 9a13480d5b..b5392635a3 100644 --- a/engines/tsage/blue_force/blueforce_scenes0.cpp +++ b/engines/tsage/blue_force/blueforce_scenes0.cpp @@ -191,4 +191,51 @@ void Scene20::postInit(SceneObjectList *OwnerList) {  	setAction(&_action1);  } +/*-------------------------------------------------------------------------- + * Scene 50 - Map Screen + * + *--------------------------------------------------------------------------*/ + +Scene50::Tooltip::Tooltip(): SavedObject() { +	strcpy(_msg, ""); +	_field60 = _field62 = 0; +} + +void Scene50::Tooltip::synchronize(Serializer &s) { +	SavedObject::synchronize(s); +	_bounds.synchronize(s); +	s.syncBytes((byte *)&_msg[0], 84); +} + +void Scene50::Tooltip2::signal() { +	switch (_actionIndex++) { +	case 0: +		setDelay(60); +		break; +	case 1: { +		Common::Point pt(410, 181); +		NpcMover *mover = new NpcMover(); +		((SceneObject *)_owner)->addMover(mover, &pt, this); +		break; +	} +	case 2: +		_owner->remove(); +		break; +	default: +		break; +	} +} + +void Scene50::Tooltip2::dispatch() { +	Action::dispatch(); +	SceneObject *owner = (SceneObject *)_owner; + +	if ((_actionIndex == 2) && (owner->_percent < 100)) { +		owner->changeZoom(owner->_percent + 1); +	} +} + +/*--------------------------------------------------------------------------*/ + +  } // End of namespace tSage_BlueForce diff --git a/engines/tsage/blue_force/blueforce_scenes0.h b/engines/tsage/blue_force/blueforce_scenes0.h index f5535e037a..766b9f0295 100644 --- a/engines/tsage/blue_force/blueforce_scenes0.h +++ b/engines/tsage/blue_force/blueforce_scenes0.h @@ -53,6 +53,31 @@ public:  	virtual void postInit(SceneObjectList *OwnerList = NULL);  }; +class Scene50: public SceneExt { +	class Tooltip: public SavedObject { +	public: +		Rect _bounds; +		char _msg[80]; +		int _field60; +		int _field62; +	public: +		Tooltip(); + +		virtual Common::String getClassName() { return "Scene50_Tooltip"; } +		virtual void synchronize(Serializer &s); +	}; +	class Tooltip2: public Action { +	public: +		Tooltip2(): Action() {} + +		virtual Common::String getClassName() { return "Scene50_Tooltip2"; } +		virtual void signal(); +		virtual void dispatch(); +	}; +public: + +}; +  } // End of namespace tSage_BlueForce  #endif | 
