raze/source/core/automap.h
Christoph Oelckers 7b46710d61 - got rid of the global compatibility modes and made 'precise' a parameter for clipmove.
This better reflects how this stuff gets used.
2023-11-03 16:52:10 +01:00

41 lines
1.4 KiB
C++

#pragma once
#include "tarray.h"
#include "build.h"
#include "c_cvars.h"
#include "palentry.h"
#include "maptypes.h"
class FSerializer;
struct event_t;
extern bool automapping;
extern bool gFullMap;
extern BitArray show2dsector;
extern BitArray show2dwall;
void SerializeAutomap(FSerializer& arc);
void ClearAutomap();
void MarkSectorSeen(sectortype* sect);
void DrawOverheadMap(const DVector2& plxy, const DAngle pl_angle, double const interpfrac);
bool AM_Responder(event_t* ev, bool last);
void drawlinergb(const DVector2& v1, const DVector2& v2, PalEntry p);
void DrawAutomapAlignmentFacing(const spritetype& spr, const DVector2& bpos, const DVector2& cangvect, const double czoom, const DVector2& xydim, const PalEntry& col);
void DrawAutomapAlignmentWall(const spritetype& spr, const DVector2& bpos, const DVector2& cangvect, const double czoom, const DVector2& xydim, const PalEntry& col);
void DrawAutomapAlignmentFloor(const spritetype& spr, const DVector2& bpos, const DVector2& cangvect, const double czoom, const DVector2& xydim, const PalEntry& col);
inline DVector2 OutAutomapVector(const DVector2& pos, const DVector2& angvect, const double zoom = 1., const DVector2& xydim = { 0, 0 })
{
return -pos.Rotated(angvect.Y, angvect.X) * zoom + xydim;
}
enum AM_Mode
{
am_off,
am_overlay,
am_full,
am_count
};
extern int automapMode;
EXTERN_CVAR(Bool, am_followplayer)