diff options
author | Peter Kohaut | 2015-09-15 20:26:46 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-09-29 22:33:40 +0200 |
commit | 479d2f5b6293af2ae84fbdc718348a6e1126efb0 (patch) | |
tree | dfd6fd1a84b379aad003e005c0f47c8e211669b0 /engines/bladerunner/scene_objects.h | |
parent | 6672e443a870963354ee43298c75164d382a5636 (diff) | |
download | scummvm-rg350-479d2f5b6293af2ae84fbdc718348a6e1126efb0.tar.gz scummvm-rg350-479d2f5b6293af2ae84fbdc718348a6e1126efb0.tar.bz2 scummvm-rg350-479d2f5b6293af2ae84fbdc718348a6e1126efb0.zip |
BLADERUNNER: still adding structures... and implementing some of script methods...
Diffstat (limited to 'engines/bladerunner/scene_objects.h')
-rw-r--r-- | engines/bladerunner/scene_objects.h | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/engines/bladerunner/scene_objects.h b/engines/bladerunner/scene_objects.h index 999d82179f..16188d96ab 100644 --- a/engines/bladerunner/scene_objects.h +++ b/engines/bladerunner/scene_objects.h @@ -32,7 +32,6 @@ namespace BladeRunner { class BladeRunnerEngine; - class SceneObject; enum SceneObjectType { @@ -47,6 +46,21 @@ namespace BladeRunner { #define SCENE_OBJECTS_ITEMS_OFFSET 74 #define SCENE_OBJECTS_OBJECTS_OFFSET 198 + struct SceneObject + { + int _sceneObjectId; + SceneObjectType _sceneObjectType; + BoundingBox _boundingBox; + Common::Rect _screenRectangle; + float _distanceToCamera; + int _present; + int _isClickable; + int _isObstacle; + int _unknown1; + int _isCombatTarget; + int _isMoving; + int _isRetired; + }; class SceneObjects { @@ -60,37 +74,19 @@ namespace BladeRunner { public: SceneObjects(BladeRunnerEngine *vm, View *view); ~SceneObjects(); - void reset(); bool addActor(int sceneObjectId, BoundingBox* boundingBox, Common::Rect* screenRectangle, uint8 isClickable, uint8 unknown1, uint8 isCombatTarget, uint8 isRetired); bool addObject(int sceneObjectId, BoundingBox* boundingBox, uint8 isClickable, uint8 isObstacle, uint8 unknown1, uint8 isCombatTarget); bool addItem(int sceneObjectId, BoundingBox* boundingBox, Common::Rect* screenRectangle, uint8 isCombatTarget, uint8 isObstacle); bool remove(int sceneObjectId); - int findByXYZ(int* clickable, int* obstacle, int* targetable, float x, float y, float z, int firstClickable, int firstObstacle, int firstTargetable); + void clear(); + int findByXYZ(int *isClickable, int *isObstacle, int *isCombatTarget, float x, float y, float z, int mustBeClickable, int mustBeObstacle, int mustBeCombatTarget); + void setMoving(int sceneObjectId, bool isMoving); private: int findById(int sceneObjectId); bool addSceneObject(int sceneObjectId, SceneObjectType sceneObjectType, BoundingBox* boundingBox, Common::Rect* screenRectangle, uint8 isClickable, uint8 isObstacle, uint8 unknown1, uint8 isCombatTarget, uint unknown2, uint isRetired); int findEmpty(); }; - class SceneObject - { - friend class SceneObjects; - private: - int _sceneObjectId; - SceneObjectType _sceneObjectType; - BoundingBox _boundingBox; - Common::Rect _screenRectangle; - float _distanceToCamera; - int _present; - int _isClickable; - int _isObstacle; - int _unknown1; - int _isCombatTarget; - int _unknown2; - int _isRetired; - public: - SceneObject(); - ~SceneObject(); - }; + } #endif |