summaryrefslogtreecommitdiff
path: root/src/environment.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/environment.h')
-rw-r--r--src/environment.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/environment.h b/src/environment.h
index 11c2533ca..b45775f4c 100644
--- a/src/environment.h
+++ b/src/environment.h
@@ -42,6 +42,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
class IGameDef;
class Map;
+struct PointedThing;
+class RaycastState;
class Environment
{
@@ -76,6 +78,26 @@ public:
u32 getDayCount();
+ /*!
+ * Gets the objects pointed by the shootline as
+ * pointed things.
+ * If this is a client environment, the local player
+ * won't be returned.
+ * @param[in] shootline_on_map the shootline for
+ * the test in world coordinates
+ *
+ * @param[out] objects found objects
+ */
+ virtual void getSelectedActiveObjects(const core::line3d<f32> &shootline_on_map,
+ std::vector<PointedThing> &objects) = 0;
+
+ /*!
+ * Returns the next node or object the shootline meets.
+ * @param state current state of the raycast
+ * @result output, will contain the next pointed thing
+ */
+ void continueRaycast(RaycastState *state, PointedThing *result);
+
// counter used internally when triggering ABMs
u32 m_added_objects;