21 #define _HWMAP_INCLUDED |
21 #define _HWMAP_INCLUDED |
22 |
22 |
23 #include <QByteArray> |
23 #include <QByteArray> |
24 #include <QString> |
24 #include <QString> |
25 #include <QImage> |
25 #include <QImage> |
|
26 #include <QTimer> |
26 |
27 |
27 #include "tcpBase.h" |
28 #include "tcpBase.h" |
28 |
29 #include "frontlib.h" |
29 enum MapGenerator |
|
30 { |
|
31 MAPGEN_REGULAR, |
|
32 MAPGEN_MAZE, |
|
33 MAPGEN_DRAWN, |
|
34 MAPGEN_MAP |
|
35 }; |
|
36 |
30 |
37 class HWMap : public TCPBase |
31 class HWMap : public TCPBase |
38 { |
32 { |
39 Q_OBJECT |
33 Q_OBJECT |
40 |
34 |
41 public: |
35 public: |
42 HWMap(QObject *parent = 0); |
36 HWMap(QObject *parent = 0); |
43 virtual ~HWMap(); |
37 virtual ~HWMap(); |
44 void getImage(const QString & seed, int templateFilter, MapGenerator mapgen, int maze_size, const QByteArray & drawMapData); |
38 void getImage(const QString & seed, int templateFilter, int mapgen, int maze_size, const QByteArray & drawMapData); |
45 bool couldBeRemoved(); |
39 bool couldBeRemoved(); |
46 |
40 |
47 protected: |
41 protected: |
48 virtual QStringList getArguments(); |
42 QStringList getArguments(); |
49 virtual void onClientDisconnect(); |
43 void onEngineStart(); |
50 virtual void SendToClientFirst(); |
|
51 |
44 |
52 signals: |
45 signals: |
53 void ImageReceived(const QImage newImage); |
46 void ImageReceived(const QImage newImage); |
54 void HHLimitReceived(int hhLimit); |
47 void HHLimitReceived(int hhLimit); |
55 |
48 |
56 private: |
49 private: |
57 QString m_seed; |
50 QString m_seed; |
58 int templateFilter; |
|
59 MapGenerator m_mapgen; |
|
60 int m_maze_size; |
|
61 QByteArray m_drawMapData; |
|
62 |
51 |
|
52 flib_mapconn * m_conn; |
|
53 flib_map * m_map; |
|
54 |
|
55 static void onSuccess(void *context, const uint8_t *bitmap, int numHedgehogs); |
|
56 static void onFailure(void *context, const char *errormessage); |
63 private slots: |
57 private slots: |
64 }; |
58 }; |
65 |
59 |
66 #endif // _HWMAP_INCLUDED |
60 #endif // _HWMAP_INCLUDED |