22 #ifndef TWINE_HOLOMAPV2_H 23 #define TWINE_HOLOMAPV2_H 25 #include "twine/holomap.h" 26 #include "twine/shared.h" 30 #define HOLO_MAX_OBJECTIF 50 31 #define HOLO_MAX_CUBE 255 32 #define HOLO_MAX_ARROW (HOLO_MAX_OBJECTIF + HOLO_MAX_CUBE) 35 #define HOLO_STEP_ANGLE 128 36 #define HOLO_GLOBE_ALPHA_STEPS ((LBAAngles::ANGLE_360 / HOLO_STEP_ANGLE) + 1) // 33 37 #define HOLO_GLOBE_BETA_STEPS ((LBAAngles::ANGLE_180 / HOLO_STEP_ANGLE) + 1) // 17 (alpha from -90 to +90 = 180 degrees) 39 #define HOLO_GLOBE_COLS 33 40 #define HOLO_GLOBE_ROWS 17 41 #define HOLO_GLOBE_VERTICES (HOLO_GLOBE_COLS * HOLO_GLOBE_ROWS) 42 #define HOLO_GLOBE_QUADS ((HOLO_GLOBE_COLS - 1) * (HOLO_GLOBE_ROWS - 1)) // 512 44 #define HOLO_RAYON_PLANET 1000 45 #define HOLO_ZOOM_PLANET 8000 46 #define HOLO_ZOOM_INIT_PLANET 3000 66 static_assert(
sizeof(
Location) == 32,
"Invalid Location size");
72 IVec3 _holomapSurface[HOLO_GLOBE_VERTICES];
74 struct HolomapProjectedPos {
80 HolomapProjectedPos _projectedSurfacePositions[HOLO_GLOBE_VERTICES];
84 uint16 projectedPosIdx = 0;
86 HolomapSort _holomapSort[HOLO_GLOBE_QUADS];
92 int32 _zoomPlanet = HOLO_ZOOM_INIT_PLANET;
93 int32 _zoomPlanetDest = HOLO_ZOOM_PLANET;
99 bool _automove =
false;
102 int32 _numObjectif = -1;
103 int32 _oldObjectif = -1;
106 bool _flagRedraw =
true;
107 bool _flagPal =
true;
108 bool _flagHoloEnd =
false;
111 uint8 *_holomapImagePtr =
nullptr;
112 int32 _holomapImageSize = 0;
114 void computeCoorMapping();
116 void computeGlobeProj();
118 void drawListHoloGlobe(
bool frontFace);
122 int32 distance(
float dist)
const;
123 int32 scale(
float val)
const;
130 bool loadLocations()
override;
131 const char *getLocationName(
int index)
const override;
133 void holoTraj(int32 trajectoryIndex)
override;
Definition: holomap_v2.h:48
Definition: holomap_v2.h:53
void initHoloDatas() override
Definition: achievements_tables.h:27
void clrHoloPos(int32 locationIdx) override
bool setHoloPos(int32 locationIdx) override