blob: 4398a1c01bd3d87060fcb758f33af27280b9c2bc (
plain) (
tree)
|
|
/*
* Code taken from: http://mumble.sourceforge.net/Link
*
* All code listed below is in the public domain and can be used, shared or
* modified freely
*
* Copyright (C) 2011-2012 The ManaPlus Developers
*/
#ifndef MUMBLEMANAGER_H
#define MUMBLEMANAGER_H
#include <string>
#include <stdint.h>
#include "localconsts.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 final
{
public:
MumbleManager();
A_DELETE_COPY(MumbleManager);
~MumbleManager();
void init();
void setPlayer(const std::string &userName);
void setAction(const int action);
void setPos(const int tileX, const int tileY, const int direction);
void setMap(const std::string &mapName);
void setServer(const std::string &serverName);
private:
uint16_t getMapId(std::string mapName) const;
void setMapBase(uint16_t mapid);
LinkedMem *mLinkedMem;
LinkedMem mLinkedMemCache;
float mMapBase[3];
};
extern MumbleManager *mumbleManager;
#endif
|