UFO: Alien Invasion
Loading...
Searching...
No Matches
s_mumble.cpp
Go to the documentation of this file.
1
6
7#include "../client.h"
8#include "s_mumble.h"
9#include "s_local.h"
10
11#ifdef ANDROID
12
13void S_MumbleInit (void)
14{
15}
16void S_MumbleLink (void)
17{
18}
19void S_MumbleUnlink (void)
20{
21}
22void S_MumbleUpdate (const vec3_t origin, const vec3_t forward, const vec3_t right, const vec3_t up)
23{
24}
25
26#else
27#include <libmumblelink.h>
28
32
33void S_MumbleInit (void)
34{
35 snd_mumble = Cvar_Get("snd_mumble", "0", CVAR_ARCHIVE | CVAR_LATCH);
36 snd_mumble_alltalk = Cvar_Get("snd_mumble_alltalk", "0", CVAR_ARCHIVE | CVAR_LATCH);
37 snd_mumble_scale = Cvar_Get("snd_mumble_scale", "0.0254", CVAR_ARCHIVE);
38}
39
40void S_MumbleLink (void)
41{
42 if (!s_env.initialized)
43 return;
44
45 if (!snd_mumble->integer)
46 return;
47
48 if (!mumble_islinked()) {
49 int ret = mumble_link(GAME_TITLE_LONG);
50 Com_Printf("S_MumbleLink: Linking to Mumble application %s\n", ret == 0 ? "ok" : "failed");
51 }
52}
53
54void S_MumbleUnlink (void)
55{
56 if (!s_env.initialized)
57 return;
58
59 if (!snd_mumble->integer)
60 return;
61
62 if (mumble_islinked()) {
63 Com_Printf("S_MumbleUnlink: Unlinking from Mumble application\n");
64 mumble_unlink();
65 }
66}
67
68void S_MumbleUpdate (const vec3_t origin, const vec3_t forward, const vec3_t right, const vec3_t up)
69{
70 if (!s_env.initialized)
71 return;
72
73 if (!snd_mumble->integer)
74 return;
75
76 vec3_t mp, mf, mt;
78 VectorSet(mf, forward[0], forward[2], forward[1]);
79 VectorSet(mt, up[0], up[2], up[1]);
80
81 if (snd_mumble->integer == 2)
82 Com_Printf("S_MumbleUpdate:\n%f, %f, %f\n%f, %f, %f\n%f, %f, %f", mp[0], mp[1], mp[2], mf[0], mf[1], mf[2], mt[0], mt[1], mt[2]);
83
84 mumble_update_coordinates(mp, mf, mt);
85
86#if 0
87 const unsigned int playerNum = CL_GetPlayerNum();
88 mumble_set_identity(CL_PlayerGetName(playerNum));
89#endif
90
91 char context[256];
92 if (snd_mumble_alltalk->integer)
93 Q_strncpyz(context, "*", sizeof(context));
94 else
95 Q_strncpyz(context, va("%i", cls.team), sizeof(context));
96 mumble_set_context(context, strlen(context) + 1);
97}
98
99#endif
client_static_t cls
Definition cl_main.cpp:83
const char * CL_PlayerGetName(unsigned int player)
Get the player name.
Definition cl_parse.cpp:113
int CL_GetPlayerNum(void)
Definition cl_parse.cpp:103
Primary header for client.
void Com_Printf(const char *const fmt,...)
Definition common.cpp:428
#define GAME_TITLE_LONG
Definition common.h:38
cvar_t * Cvar_Get(const char *var_name, const char *var_value, int flags, const char *desc)
Init or return a cvar.
Definition cvar.cpp:342
#define CVAR_ARCHIVE
Definition cvar.h:40
#define CVAR_LATCH
Definition cvar.h:44
voidpf uLong int origin
Definition ioapi.h:45
s_env_t s_env
Definition s_main.cpp:40
static cvar_t * snd_mumble
Definition s_mumble.cpp:29
static cvar_t * snd_mumble_scale
Definition s_mumble.cpp:31
static cvar_t * snd_mumble_alltalk
Definition s_mumble.cpp:30
void S_MumbleInit(void)
Definition s_mumble.cpp:33
void S_MumbleUpdate(const vec3_t origin, const vec3_t forward, const vec3_t right, const vec3_t up)
Definition s_mumble.cpp:68
void S_MumbleUnlink(void)
Definition s_mumble.cpp:54
void S_MumbleLink(void)
Definition s_mumble.cpp:40
void Q_strncpyz(char *dest, const char *src, size_t destsize)
Safe strncpy that ensures a trailing zero.
Definition shared.cpp:457
const char * va(const char *format,...)
does a varargs printf into a temp buffer, so I don't need to have varargs versions of all text functi...
Definition shared.cpp:410
This is a cvar definition. Cvars can be user modified and used in our menus e.g.
Definition cvar.h:71
vec_t vec3_t[3]
Definition ufotypes.h:39
#define VectorSet(v, x, y, z)
Definition vector.h:59
#define VectorScale(in, scale, out)
Definition vector.h:79