aboutsummaryrefslogtreecommitdiff
path: root/src/gui/tracers.cpp
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2020-10-04 17:43:37 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2020-10-04 17:43:37 +0200
commit044a12666e6140f15e073f528a9168348554dc52 (patch)
tree79c3b96fb185c1499346f5109e49884a129702c7 /src/gui/tracers.cpp
parentb9f8f0a232d9d00a323084e0e4807b3e3469720d (diff)
downloaddragonfireclient-044a12666e6140f15e073f528a9168348554dc52.tar.xz
Added Tracers, NoSlow and NoForceRotate; GUI Colors changed
Diffstat (limited to 'src/gui/tracers.cpp')
-rw-r--r--src/gui/tracers.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/gui/tracers.cpp b/src/gui/tracers.cpp
index 6bcbff546..34a6101ea 100644
--- a/src/gui/tracers.cpp
+++ b/src/gui/tracers.cpp
@@ -17,10 +17,25 @@ with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include <vector>
+#include "client/client.h"
+#include "client/camera.h"
#include "tracers.h"
#include "constants.h"
-void Tracers::draw(video::IVideoDriver* driver)
+void Tracers::draw(video::IVideoDriver* driver, Client *client)
{
- driver->draw3DLine(v3f(0, 0, 0), v3f(1000, 1000, 1000) * BS, video::SColor(255, 0, 0, 0));
+ ClientEnvironment &env = client->getEnv();
+ LocalPlayer *player = env.getLocalPlayer();
+ Camera *camera = client->getCamera();
+ v3f player_pos = camera->getPosition() + camera->getDirection();
+ v3f head_pos = player_pos;
+ std::vector<DistanceSortedActiveObject> allObjects;
+ env.getActiveObjects(player_pos, 1000000, allObjects);
+ for (const auto &allObject : allObjects) {
+ ClientActiveObject *obj = allObject.obj;
+ if (obj->isLocalPlayer())
+ continue;
+ driver->draw3DLine(head_pos, obj->getPosition(), video::SColor(255, 255, 255, 255));
+ }
}