diff options
author | Peter Kohaut | 2016-09-10 18:16:17 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-09-29 22:33:40 +0200 |
commit | b67bca20b5db7f3d6473341efd7fabfa6532f465 (patch) | |
tree | 6fbbd28dc707dac1c3cacde2e8622cceea6d1b0f /engines/bladerunner/scene_objects.h | |
parent | 2888d0b3460cdca2dd52f8d6aa94b429d46345ad (diff) | |
download | scummvm-rg350-b67bca20b5db7f3d6473341efd7fabfa6532f465.tar.gz scummvm-rg350-b67bca20b5db7f3d6473341efd7fabfa6532f465.tar.bz2 scummvm-rg350-b67bca20b5db7f3d6473341efd7fabfa6532f465.zip |
BLADERUNNER: Pull in changes from madmoose
Diffstat (limited to 'engines/bladerunner/scene_objects.h')
-rw-r--r-- | engines/bladerunner/scene_objects.h | 110 |
1 files changed, 55 insertions, 55 deletions
diff --git a/engines/bladerunner/scene_objects.h b/engines/bladerunner/scene_objects.h index bccb2ea376..047301d880 100644 --- a/engines/bladerunner/scene_objects.h +++ b/engines/bladerunner/scene_objects.h @@ -23,76 +23,76 @@ #ifndef BLADERUNNER_SCENE_OBJECTS_H #define BLADERUNNER_SCENE_OBJECTS_H -#include "bladerunner/bladerunner.h" - #include "bladerunner/boundingbox.h" -#include "bladerunner/view.h" #include "common/rect.h" namespace BladeRunner { - class BladeRunnerEngine; - enum SceneObjectType - { - SceneObjectTypeUnknown = -1, - SceneObjectTypeActor = 0, - SceneObjectTypeObject = 1, - SceneObjectTypeItem = 2, - }; +class BladeRunnerEngine; +class View; + +enum SceneObjectType +{ + SceneObjectTypeUnknown = -1, + SceneObjectTypeActor = 0, + SceneObjectTypeObject = 1, + SceneObjectTypeItem = 2 +}; #define SCENE_OBJECTS_COUNT 115 #define SCENE_OBJECTS_ACTORS_OFFSET 0 #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; - }; +struct SceneObject +{ + int _sceneObjectId; + SceneObjectType _sceneObjectType; + BoundingBox _boundingBox; + Common::Rect _screenRectangle; + float _distanceToCamera; + int _present; + int _isClickable; + int _isObstacle; + int _unknown1; + int _isTarget; + int _isMoving; + int _isRetired; +}; + +class SceneObjects { + BladeRunnerEngine *_vm; +private: + View *_view; + int _count; + SceneObject *_sceneObjects; + int *_sceneObjectsSortedByDistance; - class SceneObjects { - BladeRunnerEngine *_vm; - private: - View *_view; - int _count; - SceneObject *_sceneObjects; - int *_sceneObjectsSortedByDistance; +public: + SceneObjects(BladeRunnerEngine *vm, View *view); + ~SceneObjects(); + bool addActor(int sceneObjectId, BoundingBox *boundingBox, Common::Rect *screenRectangle, uint8 isClickable, uint8 unknown1, uint8 isTarget, uint8 isRetired); + bool addObject(int sceneObjectId, BoundingBox *boundingBox, uint8 isClickable, uint8 isObstacle, uint8 unknown1, uint8 isTarget); + bool addItem(int sceneObjectId, BoundingBox *boundingBox, Common::Rect *screenRectangle, uint8 isTarget, uint8 isObstacle); + bool remove(int sceneObjectId); + void clear(); + int findByXYZ(int *isClickable, int *isObstacle, int *isTarget, float x, float y, float z, int findClickables, int findObstacles, int findTargets); + void setMoving(int sceneObjectId, bool isMoving); + void setRetired(int sceneObjectId, bool isRetired); + bool isBetweenTwoXZ(int sceneObjectId, float x1, float z1, float x2, float z2); + void setIsClickable(int sceneObjectId, bool isClickable); + void setIsObstacle(int sceneObjectId, bool isObstacle); + void setIsTarget(int sceneObjectId, bool isTarget); + void updateWalkpath(); - public: - SceneObjects(BladeRunnerEngine *vm, View *view); - ~SceneObjects(); - 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); - 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); - void setRetired(int sceneObjectId, bool isRetired); - bool isBetweenTwoXZ(int sceneObjectId, float x1, float z1, float x2, float z2); - void setIsClickable(int sceneObjectId, bool isClickable); - void setIsObstacle(int sceneObjectId, bool isObstacle); - void setIsCombatTarget(int sceneObjectId, bool isCombatTarget); - void updateWalkpath(); - 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(); - }; +private: + int findById(int sceneObjectId); + bool addSceneObject(int sceneObjectId, SceneObjectType sceneObjectType, BoundingBox *boundingBox, Common::Rect *screenRectangle, uint8 isClickable, uint8 isObstacle, uint8 unknown1, uint8 isTarget, uint unknown2, uint isRetired); + int findEmpty(); +}; +} // End of namespace BladeRunner -} #endif |