diff options
Diffstat (limited to 'src/mumblemanager.h')
-rw-r--r-- | src/mumblemanager.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/mumblemanager.h b/src/mumblemanager.h new file mode 100644 index 000000000..a3eddee02 --- /dev/null +++ b/src/mumblemanager.h @@ -0,0 +1,57 @@ +/* Code taken from: http://mumble.sourceforge.net/Link */ + +#ifndef MUMBLEMANAGER_H +#define MUMBLEMANAGER_H + +#include <string> +#include <stdint.h> + +struct LinkedMem +{ + uint32_t uiVersion; + uint32_t uiTick; + float fAvatarPosition[3]; + float fAvatarFront[3]; + float fAvatarTop[3]; + wchar_t name[256]; + float fCameraPosition[3]; + float fCameraFront[3]; + float fCameraTop[3]; + wchar_t identity[256]; + uint32_t context_len; + char context[256]; + wchar_t description[2048]; +}; + +class MumbleManager +{ + public: + MumbleManager(); + + ~MumbleManager(); + + void init(); + + void setPlayer(const std::string &userName); + + void setAction(int action); + + void setPos(int tileX, int tileY, int direction); + + void setMap(const std::string &mapName); + + void setServer(const std::string &serverName); + + private: + uint16_t getMapId(std::string mapName); + + void setMapBase(uint16_t mapid); + + LinkedMem *mLinkedMem; + LinkedMem mLinkedMemCache; + float mMapBase[3]; +}; + +extern MumbleManager *mumbleManager; + +#endif |