diff options
| author | Joseph-Eugene Winzer | 2017-07-17 10:31:43 +0200 | 
|---|---|---|
| committer | Thierry Crozat | 2018-01-22 23:54:41 +0000 | 
| commit | a8f62802cc189d656fcedacb8236d01f76753b59 (patch) | |
| tree | 388e3a26fb02970f91e150787f661a8ef7048b4a | |
| parent | 718cae659ca3acf3e9b2f795f88888d993752de3 (diff) | |
| download | scummvm-rg350-a8f62802cc189d656fcedacb8236d01f76753b59.tar.gz scummvm-rg350-a8f62802cc189d656fcedacb8236d01f76753b59.tar.bz2 scummvm-rg350-a8f62802cc189d656fcedacb8236d01f76753b59.zip | |
SUPERNOVA: Extends Object Class
| -rw-r--r-- | engines/supernova/msn_def.h | 7 | ||||
| -rw-r--r-- | engines/supernova/supernova.cpp | 1 | 
2 files changed, 8 insertions, 0 deletions
| diff --git a/engines/supernova/msn_def.h b/engines/supernova/msn_def.h index a0231aca2d..50c91aaf46 100644 --- a/engines/supernova/msn_def.h +++ b/engines/supernova/msn_def.h @@ -450,6 +450,7 @@ ObjectType &operator^=(ObjectType &a, ObjectType b);  struct Object {  	static const char *const defaultDescription;  	static const char *const takeMessage; +	static const Object nullObject;  	Object()  	    : _name("") @@ -475,6 +476,12 @@ struct Object {  	    , _direction(direction)  	{} +	static void setObjectNull(Object *&obj) { +		obj = const_cast<Object *>(&nullObject); +	} +	static bool isNullObject(Object *obj) { +		return obj == &nullObject; +	}  	void setProperty(ObjectType type) {  		_type |= type;  	} diff --git a/engines/supernova/supernova.cpp b/engines/supernova/supernova.cpp index b11c66a831..26a6aa5ed8 100644 --- a/engines/supernova/supernova.cpp +++ b/engines/supernova/supernova.cpp @@ -67,6 +67,7 @@ const AudioInfo audioInfo[kAudioNumSamples] = {  const char *const Object::defaultDescription = "Es ist nichts Besonderes daran.";  const char *const Object::takeMessage = "Das mußt du erst nehmen."; +const Object Object::nullObject = Object();  ObjectType operator|(ObjectType a, ObjectType b) {  	return static_cast<ObjectType>(+a | +b); | 
