eqemu-server/zone/water_map_v1.h
Michael Cook (mackal) 6a7ea65dd0 Ask water map if we're in a zoneline to prevent false positives
I don't think this should open up any chance to exploit
Trying to use a ZL to go somewhere else is still detected etc

This should really cut down on false positives and we really can't
see real cheater from all the noise this creates
2016-08-05 01:07:12 -04:00

41 lines
952 B
C++

#ifndef EQEMU_WATER_MAP_V1_H
#define EQEMU_WATER_MAP_V1_H
#include "water_map.h"
#pragma pack(1)
typedef struct ZBSP_Node {
int32 node_number;
float normal[3], splitdistance;
int32 region;
int32 special;
int32 left, right;
} ZBSP_Node;
#pragma pack()
class WaterMapV1 : public WaterMap
{
public:
WaterMapV1();
~WaterMapV1();
virtual WaterRegionType ReturnRegionType(const glm::vec3& location) const;
virtual bool InWater(const glm::vec3& location) const;
virtual bool InVWater(const glm::vec3& location) const;
virtual bool InLava(const glm::vec3& location) const;
virtual bool InLiquid(const glm::vec3& location) const;
virtual bool InPvP(const glm::vec3& location) const;
virtual bool InZoneLine(const glm::vec3& location) const;
protected:
virtual bool Load(FILE *fp);
private:
WaterRegionType BSPReturnRegionType(int32 node_number, const glm::vec3& location) const;
ZBSP_Node* BSP_Root;
friend class WaterMap;
};
#endif