ScummVM API documentation
holomap_v2.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef TWINE_HOLOMAPV2_H
23 #define TWINE_HOLOMAPV2_H
24 
25 #include "twine/holomap.h"
26 
27 #define MAX_OBJECTIF 50
28 #define MAX_CUBE 255
29 
30 namespace TwinE {
31 
37 class HolomapV2 : public Holomap {
38 private:
39  using Super = Holomap;
40 
41 public:
42  HolomapV2(TwinEEngine *engine) : Super(engine) {}
43  virtual ~HolomapV2() = default;
44 
45  struct Location {
46  int32 X; // Position Island X Y Z
47  int32 Y;
48  int32 Z;
49  int32 Alpha; // Position Planet Alpha, Beta and Altitude
50  int32 Beta;
51  int32 Alt;
52  int32 Mess;
53  int8 ObjFix; // Eventual Obj Inventory 3D (FREE NOT USED!)
54  uint8 FlagHolo; // Flag for Planet display, active, etc.
55  uint8 Planet;
56  uint8 Island;
57  };
58  static_assert(sizeof(Location) == 32, "Invalid Location size");
59  Location _locations[MAX_OBJECTIF + MAX_CUBE];
60 
65  bool setHoloPos(int32 locationIdx) override;
66 
67  bool loadLocations() override;
68 
69  const char *getLocationName(int index) const override;
70 
75  void clrHoloPos(int32 locationIdx) override;
76 
77  void holoTraj(int32 trajectoryIndex) override;
78 
80  void initHoloDatas() override;
81 
83  void holoMap() override;
84 };
85 
86 } // namespace TwinE
87 
88 #endif
Definition: holomap_v2.h:37
Definition: holomap.h:45
Definition: holomap_v2.h:45
void initHoloDatas() override
Definition: twine.h:207
Definition: achievements_tables.h:27
void clrHoloPos(int32 locationIdx) override
bool setHoloPos(int32 locationIdx) override
void holoMap() override