JugiMap Framework
jmAGK.h
1 
2 //===================================================================================================
3 // JugiMap API extension for SFML.
4 //===================================================================================================
5 
6 
7 #ifndef JUGIMAP_AGK_H
8 #define JUGIMAP_AGK_H
9 
10 #include <map>
11 #include "AGK.h"
12 #include "../jugimap/jugimap.h"
13 
14 
15 
16 namespace jugimap {
17 
18 
19 
23 {
24 public:
25 
30  BinaryFileStreamReaderAGK(const std::string &fileName)
31  {
32  if(agk::GetFileExists(fileName.c_str())){
33  agkId = agk::OpenToRead(fileName.c_str());
34  if(agkId>0){
35  opened = true;
36  }
37  }else{
38  opened = false;
39  }
40  }
41 
42 
43  bool IsOpen() override { return opened; }
44  int Pos() override { return agk::GetFilePos(agkId); }
45  void Seek(int _pos) override { agk::SetFilePos(agkId, _pos); }
46  int Size() override { return agk::GetFileSize(agkId); }
47  void Close() override { agk::CloseFile(agkId); }
48 
49 
50  unsigned char ReadByte() override
51  {
52  unsigned char value = agk::ReadByte(agkId);
53  return value;
54  }
55 
56  int ReadInt() override
57  {
58  int value = agk::ReadInteger(agkId);
59  return value;
60  }
61 
62  float ReadFloat() override
63  {
64  float value = agk::ReadFloat(agkId);
65  return value;
66  }
67 
68  std::string ReadString() override
69  {
70  char *str = agk::ReadString2(agkId);
71  std::string value(str);
72  agk::DeleteString(str);
73  return value;
74  }
75 
76 
77 
78 private:
79  unsigned int agkId = 0;
80  bool opened = false;
81 };
82 
83 
87 {
88 public:
89 
90  TextFileStreamReaderAGK(const std::string &fileName)
91  {
92  if(agk::GetFileExists(fileName.c_str())){
93  agkId = agk::OpenToRead(fileName.c_str());
94  if(agkId>0){
95  opened = true;
96  }
97  }else{
98  opened = false;
99  }
100  }
101 
102 
103  ~TextFileStreamReaderAGK() override
104  {
105  if(opened){
106  Close();
107  }
108  }
109 
110 
111  bool IsOpen() override { return opened; }
112  bool Eof() override { return agk::FileEOF(agkId);}
113  void Close() override { if(opened) agk::CloseFile(agkId); }
114 
115 
116  void ReadLine(std::string &s) override
117  {
118  char *c = agk::ReadLine(agkId);
119  s = std::string(c);
120  agk::DeleteString(c);
121  }
122 
123 
124 private:
125  unsigned int agkId = 0;
126  bool opened = false;
127 
128 };
129 
130 
131 
135 {
136 public:
137 
138  GraphicItemAGK(){}
139  virtual ~GraphicItemAGK() override;
140 
141  virtual void Init() override;
142 
143  int GetAgkId() const {return agkId;}
144 
145 private:
146  unsigned int agkId = 0;
147 };
148 
149 
150 //=======================================================================================
151 
152 
156 {
157 public:
158 
159  GraphicFileAGK(){}
160  virtual ~GraphicFileAGK() override;
161 
162  virtual void Init() override;
163 
164  int GetAgkId() const {return agkId;}
165 
166 private:
167  unsigned int agkId = 0;
168 };
169 
170 
171 //=======================================================================================
172 
173 
177 {
178 public:
179  friend class JugiMapBinaryLoader;
180  friend class StandardSpriteFrameAnimationPlayer;
181 
182 
183  ~StandardSpriteAGK () override;
184 
185 
186  virtual void InitEngineObjects() override;
187  virtual void UpdateEngineObjects() override;
188  virtual void SetActiveImage(GraphicItem *_image) override;
189  virtual bool IsEngineSpriteInitialized() override {return agkId!=0;}
190  void SetPhysicsMode(PhysicsMode _physicsMode) override;
191 
192  //----
193  int GetAgkId(){return agkId;}
194 
195 
196 private:
197  unsigned int agkId = 0; // OWNED data (agk sprite id)
198  unsigned int shaderAgkId = 0; // LINK id
199 
200  void ManageShaders_OverlayColor();
201 };
202 
203 
204 
207 class TextSpriteAGK : public TextSprite
208 {
209 public:
210  virtual ~TextSpriteAGK();
211 
212  virtual void InitEngineObjects() override;
213  virtual void UpdateEngineObjects() override;
214  virtual bool IsEngineSpriteInitialized() override { return (agkId!=0); }
215 
216  int GetAgkId(){ return agkId;}
217 
218 private:
219  int agkId = 0; // OWNED
220 
221 };
222 
223 
224 
225 class ColliderAGK : public Collider
226 {
227 public:
228 
229  ColliderAGK(StandardSprite* _standardSprite);
230 
231  virtual Kind GetKind(){ return Kind::SINGLE_SHAPE; }
232  virtual void AddShapes() override;
233  virtual void UpdateShapes(const AffineMat3f &m) override;
234  virtual void ClearShapes() override;
235  virtual int GetShapesCount() override;
236  virtual bool PointInside(Vec2f _pos) override;
237  virtual bool Overlaps(Collider *_otherCollider) override;
238  virtual bool RaycastHit(Vec2f _rayStart, Vec2f _rayEnd, Vec2f &_hitPos) override;
239 
240 private:
241  int nShapes = 0;
242  int agkId = 0; // LINK ( StandardSpriteAGK agkID)
243 
244 };
245 
246 
247 //=======================================================================================
248 
249 
256 {
257 public:
258  friend class JugiMapBinaryLoader;
259 
260 
262  ~SkeletonSpriteAGK() override;
263 
264  void InitEngineObjects() override;
265  void UpdateEngineObjects() override;
266  void SetVisible(bool _visible) override;
267 
268 
269  //---- DATA
270  int GetAgkId(){return agkId;}
271 
272 private:
273  unsigned int agkId = 0;
274 };
275 
276 
277 
278 //===================================================================================================
279 
280 
284 {
285 public:
286 
287  void UpdateEngineObjects() override;
288 
289 };
290 
291 //===================================================================================================
292 
293 
294 
297 class MapAGK : public Map
298 {
299 public:
300 
301  MapAGK(){}
302  MapAGK(int _zOrderStart) : Map(_zOrderStart) {}
303 
304  void SetVisible(bool _visible) override;
305 
306  void UpdateEngineObjects() override;
307 
308 };
309 
310 
311 //===================================================================================================
312 
313 
317 {
318 public:
319 
320  EngineSceneAGK(Scene *_scene) : EngineScene(_scene){}
321 
322  void PreUpdate() override;
323 
324 };
325 
326 
327 //===================================================================================================
328 
329 
332 class EngineAppAGK : public EngineApp
333 {
334 public:
335 
336  EngineAppAGK(App *_app) : EngineApp(_app){}
337 
338  void SetSystemMouseCursorVisible(bool _visible) override;
339 
340 };
341 
342 
343 //===============================================================================================
344 
345 
348 class FontAGK : public Font
349 {
350 public:
351 
352  FontAGK(const std::string &_relativeFilePath, int _size, FontKind _kind);
353  ~FontAGK();
354 
355  int GetAgkId(){ return agkId; }
356 
357 
358  virtual int GetPixelWidth(const std::string &s) override;
359  virtual int GetPixelHeight(const std::string &s) override;
360  virtual Vec2f GetPixelSize(const std::string &s) override;
361 
362 private:
363  int agkId = 0; // OWNED
364  int agkProbeTextId = 0; // OWNED
365 };
366 
367 
368 
369 //===============================================================================================
370 
371 
374 class DrawerAGK : public Drawer
375 {
376 public:
377 
378  DrawerAGK();
379  void UpdateEngineDrawer() override;
380 
381  virtual void SetOutlineColor(ColorRGBA _outlineColor) override;
382  virtual void Line(jugimap::Vec2f p1, jugimap::Vec2f p2) override;
383  virtual void RectangleOutline(const jugimap::Rectf &rect) override;
384  virtual void EllipseOutline(jugimap::Vec2f c, jugimap::Vec2f r) override;
385  virtual void Dot(jugimap::Vec2f p) override;
386 
387 private:
388  int agkOutlineColor = 0;
389 
390 };
391 
392 
393 //===================================================================================================
394 
395 
396 class ShaderAGK_ColorBlend_SimpleMultiply;
397 class ShaderAGK_ColorBlend_Normal;
398 class ShaderAGK_ColorBlend_Multiply;
399 class ShaderAGK_ColorBlend_LinearDodge;
400 class ShaderAGK_ColorBlend_Color;
401 
402 
403 class FragmentShaderAGK_ColorBlend
404 {
405 public:
406 
407  friend class StandardSpriteAGK;
408  friend class ShaderAGK_ColorBlend_SimpleMultiply;
409  friend class ShaderAGK_ColorBlend_Normal;
410  friend class ShaderAGK_ColorBlend_Multiply;
411  friend class ShaderAGK_ColorBlend_LinearDodge;
412  friend class ShaderAGK_ColorBlend_Color;
413 
414 
415  virtual ~FragmentShaderAGK_ColorBlend();
416  void Load(const std::string &_filePath);
417 
418  unsigned int GetAgkId(){ return agkId;}
419 
420 private:
421  unsigned int agkId = 0;
422 
423  //--- uniforms
424  ColorRGBA colorRGBA{255, 255, 255, 128};
425  std::string colorRGBAname = "overlayColor";
426 };
427 
428 
429 
430 class ShaderAGK_ColorBlend_SimpleMultiply : public FragmentShaderAGK_ColorBlend
431 {};
432 
433 
434 class ShaderAGK_ColorBlend_Normal : public FragmentShaderAGK_ColorBlend
435 {};
436 
437 
438 class ShaderAGK_ColorBlend_Multiply : public FragmentShaderAGK_ColorBlend
439 {};
440 
441 
442 class ShaderAGK_ColorBlend_LinearDodge : public FragmentShaderAGK_ColorBlend
443 {};
444 
445 
446 class ShaderAGK_ColorBlend_Color : public FragmentShaderAGK_ColorBlend
447 {};
448 
449 
450 namespace shaders
451 {
452 
453 extern ShaderAGK_ColorBlend_SimpleMultiply* colorBlend_SimpleMultiply;
454 extern ShaderAGK_ColorBlend_Normal* colorBlend_Normal;
455 extern ShaderAGK_ColorBlend_Multiply* colorBlend_Multiply;
456 extern ShaderAGK_ColorBlend_LinearDodge* colorBlend_LinearDodge;
457 extern ShaderAGK_ColorBlend_Color* colorBlend_Color;
458 
459 void LoadJugimapShaders();
460 void DeleteShaders();
461 
462 
463 }
464 
465 
466 
467 //===============================================================================================
468 
469 
470 
471 struct KeyboardConversionTable
472 {
473 
474  KeyboardConversionTable();
475 
476  std::vector<jugimap::KeyCode>table;
477 
478 };
479 
480 extern KeyboardConversionTable keyboardConversionTable;
481 
482 
483 
484 //===============================================================================================
485 
486 
490 {
491 public:
492 
493 
494  BinaryStreamReader* NewBinaryFileStreamReader(const std::string &fileName) override { return new BinaryFileStreamReaderAGK(fileName); }
495 
496  TextStreamReader* NewTextFileStreamReader(const std::string &fileName) override { return new TextFileStreamReaderAGK(fileName); }
497 
498 
499  GraphicFile* NewFile() override { return new GraphicFileAGK(); }
500 
501  GraphicItem* NewItem() override { return new GraphicItemAGK(); }
502 
503  StandardSprite *NewStandardSprite() override { return new StandardSpriteAGK (); }
504 
505  TextSprite *NewTextSprite() override { return new TextSpriteAGK(); }
506 
507  SpriteLayer* NewSpriteLayer() override { return new SpriteLayerAGK(); }
508 
509  SkeletonSprite *NewSpineSprite() override { return new SkeletonSpriteAGK(); }
510 
511  SkeletonSprite *NewSpriterSprite() override { return new SkeletonSpriteAGK(); }
512 
513  Font* NewFont(const std::string &_relativeFilePath, int _size, FontKind _fontKind) override
514  {
515  return new FontAGK(_relativeFilePath, _size, _fontKind);
516  }
517 
518  Drawer* NewDrawer() override { return new DrawerAGK(); }
519 
520  Map * NewMap(int _zOrderStart) override
521  {
522  return new MapAGK(_zOrderStart);
523  }
524 
525  EngineScene * NewEngineScene(Scene *_scene) override
526  {
527  return new EngineSceneAGK(_scene);
528  }
529 
530  EngineApp * NewEngineApp(App *_app) override
531  {
532  return new EngineAppAGK(_app);
533 
534  }
535 
536 };
537 
538 
539 
540 }
541 
542 
543 
544 
545 
546 
547 #endif
jugimap::ObjectFactoryAGK::NewFile
GraphicFile * NewFile() override
Returns a new graphic file object.
Definition: jmAGK.h:499
jugimap::TextSpriteAGK::UpdateEngineObjects
virtual void UpdateEngineObjects() override
Update the engine sprite.
Definition: jmAGK.cpp:475
jugimap::EngineAppAGK
Extended EngineApp class for AGK.
Definition: jmAGK.h:332
jugimap::AffineMat3f
AffineMat3< float > AffineMat3f
AffineMat3 struct in float precision.
Definition: jmCommon.h:381
jugimap::StandardSpriteAGK::SetPhysicsMode
void SetPhysicsMode(PhysicsMode _physicsMode) override
Set the physics mode to the given *_physicsMode*.
Definition: jmAGK.cpp:411
jugimap::DrawerAGK::Dot
virtual void Dot(jugimap::Vec2f p) override
Draw a dot at the given position p.
Definition: jmAGK.cpp:1075
jugimap::TextFileStreamReaderAGK::ReadLine
void ReadLine(std::string &s) override
Returns true if the stream of this object is open for reading; if not it returns false.
Definition: jmAGK.h:116
jugimap::TextFileStreamReaderAGK
Extended TextStreamReader class for AGK.
Definition: jmAGK.h:86
jugimap::TextFileStreamReaderAGK::Close
void Close() override
Close the stream.
Definition: jmAGK.h:113
jugimap::Rect< float >
jugimap::BinaryFileStreamReaderAGK
Extended BinaryStreamReader class for AGK.
Definition: jmAGK.h:22
jugimap::TextSpriteAGK::InitEngineObjects
virtual void InitEngineObjects() override
Initialize the engine sprite.
Definition: jmAGK.cpp:443
jugimap::DrawerAGK::RectangleOutline
virtual void RectangleOutline(const jugimap::Rectf &rect) override
Draw the outline of the given rectangle rect.
Definition: jmAGK.cpp:1058
jugimap::StandardSprite::PhysicsMode
PhysicsMode
The physics mode of the standard sprite.
Definition: jmSprites.h:794
jugimap::ObjectFactoryAGK::NewSpineSprite
SkeletonSprite * NewSpineSprite() override
Returns a new spine object.
Definition: jmAGK.h:509
jugimap::SkeletonSpriteAGK::SetVisible
void SetVisible(bool _visible) override
Set the visibility of this sprite.
Definition: jmAGK.cpp:760
jugimap::ColorRGBA
Color in RGBA color space - integer variant.
Definition: jmColor.h:15
jugimap::EngineScene
The EngineScene class defines engine specific scene properties.
Definition: jmScene.h:109
jugimap::App
The App is the base class of the application.
Definition: jmApp.h:22
jugimap::Scene
The Scene class is the base class for the application scenes.
Definition: jmScene.h:23
jugimap::DrawerAGK
Extended Drawer class for AGK.
Definition: jmAGK.h:374
jugimap::TextFileStreamReaderAGK::Eof
bool Eof() override
Returns true if the end of file is reached; if not it returns false.
Definition: jmAGK.h:112
jugimap::SkeletonSpriteAGK
Extended SkeletonSprite class for AGK.
Definition: jmAGK.h:255
jugimap::TextFileStreamReaderAGK::IsOpen
bool IsOpen() override
Returns true if the stream of this object is open for reading; if not it returns false.
Definition: jmAGK.h:111
jugimap::GraphicItem
The GraphicItem class defines the equivalent object from JugiMap Editor.
Definition: jmSourceGraphics.h:34
jugimap::EngineApp
The EngineApp class defines engine specific application properties.
Definition: jmApp.h:115
jugimap::GraphicItemAGK::Init
virtual void Init() override
Initialize this graphic item.
Definition: jmAGK.cpp:26
jugimap::BinaryFileStreamReaderAGK::Size
int Size() override
Returns the size of the stream.
Definition: jmAGK.h:46
jugimap::ObjectFactoryAGK::NewStandardSprite
StandardSprite * NewStandardSprite() override
Returns a new standard sprite object.
Definition: jmAGK.h:503
jugimap::DrawerAGK::EllipseOutline
virtual void EllipseOutline(jugimap::Vec2f c, jugimap::Vec2f r) override
Draw the outline of an ellipse defined by the given center point c and radius r.
Definition: jmAGK.cpp:1067
jugimap::BinaryStreamReader
The base abstract class for reading binary streams.
Definition: jmStreams.h:33
jugimap::StandardSpriteAGK::IsEngineSpriteInitialized
virtual bool IsEngineSpriteInitialized() override
Returns true if the engine sprite of this sprite has been initialized; otherwise returns false.
Definition: jmAGK.h:189
jugimap::Map::Map
Map()
Constructor.
Definition: jmMap.h:34
jugimap::StandardSprite
The StandardSprite class defines the sprite from JugiMap Editor.
Definition: jmSprites.h:787
jugimap::ObjectFactoryAGK::NewEngineScene
EngineScene * NewEngineScene(Scene *_scene) override
Returns a new map object.
Definition: jmAGK.h:525
jugimap::MapAGK::UpdateEngineObjects
void UpdateEngineObjects() override
Update the engine map objects.
Definition: jmAGK.cpp:820
jugimap::TextStreamReader
The base abstract class for reading text streams.
Definition: jmStreams.h:194
jugimap::SpriteLayerAGK::UpdateEngineObjects
void UpdateEngineObjects() override
Update all engine objects related to this layer and its content.
Definition: jmAGK.cpp:774
jugimap::TextSpriteAGK::IsEngineSpriteInitialized
virtual bool IsEngineSpriteInitialized() override
Returns true if the engine sprite of this sprite has been initialized; otherwise returns false.
Definition: jmAGK.h:214
jugimap::BinaryFileStreamReaderAGK::ReadInt
int ReadInt() override
Read and returns the integer number (4 bytes).
Definition: jmAGK.h:56
jugimap::StandardSpriteAGK::SetActiveImage
virtual void SetActiveImage(GraphicItem *_image) override
Set the active image to the given *_image*.
Definition: jmAGK.cpp:154
jugimap::FontKind
FontKind
The kinds of font.
Definition: jmGlobal.h:124
jugimap::BinaryFileStreamReaderAGK::Close
void Close() override
Close the stream.
Definition: jmAGK.h:47
jugimap::GraphicFile
The GraphicFile class defines the equivalent object from JugiMap Editor.
Definition: jmSourceGraphics.h:148
jugimap::ObjectFactoryAGK::NewDrawer
Drawer * NewDrawer() override
Returns a new drawer object.
Definition: jmAGK.h:518
jugimap::BinaryFileStreamReaderAGK::ReadString
std::string ReadString() override
Read and returns the string. The length of string is written as the integer at the start.
Definition: jmAGK.h:68
jugimap::ObjectFactoryAGK::NewSpriteLayer
SpriteLayer * NewSpriteLayer() override
Returns a new sprite layer object.
Definition: jmAGK.h:507
jugimap::BinaryFileStreamReaderAGK::ReadFloat
float ReadFloat() override
Read and returns the float number (4 bytes).
Definition: jmAGK.h:62
jugimap::FontAGK
Extended Font class for AGK.
Definition: jmAGK.h:348
jugimap::StandardSpriteAGK::InitEngineObjects
virtual void InitEngineObjects() override
Initialize the engine sprite.
Definition: jmAGK.cpp:108
jugimap::Vec2f
Vec2< float > Vec2f
Vec2 struct in float precision.
Definition: jmCommon.h:167
jugimap::ObjectFactoryAGK::NewMap
Map * NewMap(int _zOrderStart) override
Returns a new map object.
Definition: jmAGK.h:520
jugimap::Drawer
The Drawer is the base drawer class.
Definition: jmDrawing.h:20
jugimap::SkeletonSprite
The SkeletonSprite class defines the skeleton sprite from JugiMap Editor.
Definition: jmSprites.h:1011
jugimap::ObjectFactoryAGK
Extended ObjectFactory class for AGK.
Definition: jmAGK.h:489
jugimap::SkeletonSpriteAGK::InitEngineObjects
void InitEngineObjects() override
Initialize the engine sprite.
Definition: jmAGK.cpp:719
jugimap::StandardSpriteAGK
Extended StandardSprite class for AGK.
Definition: jmAGK.h:176
jugimap::EngineSceneAGK::PreUpdate
void PreUpdate() override
Interface function for running engine specific code before the scene update.
Definition: jmAGK.cpp:844
jugimap::TextSpriteAGK
Extended TextSprite class for AGK.
Definition: jmAGK.h:207
jugimap::SkeletonSpriteAGK::UpdateEngineObjects
void UpdateEngineObjects() override
Update the engine sprite.
Definition: jmAGK.cpp:754
jugimap::ObjectFactoryAGK::NewItem
GraphicItem * NewItem() override
Returns a new graphic item object.
Definition: jmAGK.h:501
jugimap::BinaryFileStreamReaderAGK::Seek
void Seek(int _pos) override
Set the current reading position of the stream.
Definition: jmAGK.h:45
jugimap::SpriteLayerAGK
Extended SpriteLayer class for AGK.
Definition: jmAGK.h:283
jugimap::ObjectFactoryAGK::NewFont
Font * NewFont(const std::string &_relativeFilePath, int _size, FontKind _fontKind) override
Returns a new text object.
Definition: jmAGK.h:513
jugimap::DrawerAGK::SetOutlineColor
virtual void SetOutlineColor(ColorRGBA _outlineColor) override
Set outline color to the given *_outlineColor*.
Definition: jmAGK.cpp:1041
jugimap::BinaryFileStreamReaderAGK::ReadByte
unsigned char ReadByte() override
Read and returns the byte number.
Definition: jmAGK.h:50
jugimap::Font
The Font class defines fonts used in TextSprite objects.
Definition: jmFont.h:16
jugimap::ObjectFactoryAGK::NewEngineApp
EngineApp * NewEngineApp(App *_app) override
Returns a new map object.
Definition: jmAGK.h:530
jugimap::StandardSpriteAGK::UpdateEngineObjects
virtual void UpdateEngineObjects() override
Update the engine sprite.
Definition: jmAGK.cpp:207
jugimap::ObjectFactory
The ObjectFactory is the base class for engine specific object factories.
Definition: jmObjectFactory.h:48
jugimap::GraphicFileAGK
Extended GraphicFile class for AGK.
Definition: jmAGK.h:155
jugimap::Vec2< float >
jugimap::GraphicItemAGK
Extended GraphicItem class for AGK.
Definition: jmAGK.h:134
jugimap::GraphicFileAGK::Init
virtual void Init() override
Initialize this GraphicFile.
Definition: jmAGK.cpp:65
jugimap::MapAGK::SetVisible
void SetVisible(bool _visible) override
Set the visibility of this map.
Definition: jmAGK.cpp:803
jugimap::BinaryFileStreamReaderAGK::IsOpen
bool IsOpen() override
Returns true if the stream of this object is open for reading; if not it returns false.
Definition: jmAGK.h:43
jugimap::BinaryFileStreamReaderAGK::BinaryFileStreamReaderAGK
BinaryFileStreamReaderAGK(const std::string &fileName)
Constructor.
Definition: jmAGK.h:30
jugimap::MapAGK
Extended Map class for AGK.
Definition: jmAGK.h:297
jugimap::ObjectFactoryAGK::NewTextSprite
TextSprite * NewTextSprite() override
Returns a new standard sprite object.
Definition: jmAGK.h:505
jugimap::EngineSceneAGK
Extended EngineScene class for AGK.
Definition: jmAGK.h:316
jugimap::TextSprite
The TextSprite class defines the text sprite from JugiMap Editor.
Definition: jmSprites.h:889
jugimap::EngineAppAGK::SetSystemMouseCursorVisible
void SetSystemMouseCursorVisible(bool _visible) override
Set the visibility of the system mouse cursor.
Definition: jmAGK.cpp:964
jugimap::ObjectFactoryAGK::NewSpriterSprite
SkeletonSprite * NewSpriterSprite() override
Returns a new spriter object.
Definition: jmAGK.h:511
jugimap::JugiMapBinaryLoader
The JugiMapBinaryLoader class loads data from jugimap binary files (.jmb).
Definition: jmMapBinaryLoader.h:37
jugimap::Map
The Map class defines the map element from JugiMap Editor.
Definition: jmMap.h:26
jugimap::BinaryFileStreamReaderAGK::Pos
int Pos() override
Returns the current reading position of the stream.
Definition: jmAGK.h:44
jugimap::SpriteLayer
The SpriteLayer class defines the sprite and tile layers from JugiMap Editor.
Definition: jmLayers.h:303
jugimap::DrawerAGK::Line
virtual void Line(jugimap::Vec2f p1, jugimap::Vec2f p2) override
Draw a line from the given position p1 to p2.
Definition: jmAGK.cpp:1047
jugimap::DrawerAGK::UpdateEngineDrawer
void UpdateEngineDrawer() override
Update engine objects related to this drawer.
Definition: jmAGK.cpp:1033