mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-01-17 22:50:51 +00:00
rename Cvar_GetCvarString to Cvar_GetString and add
Cvar_Set{String,Float,Integer,Vector} and Cvar_Get{String,Float,Integer,Vector}. use them in the menus
This commit is contained in:
parent
0e147a7b61
commit
103299e7e4
5 changed files with 143 additions and 56 deletions
|
@ -39,22 +39,96 @@ static __attribute__ ((unused)) const char rcsid[] =
|
|||
#endif
|
||||
|
||||
#include "QF/cvar.h"
|
||||
#include "QF/mathlib.h"
|
||||
#include "QF/progs.h"
|
||||
#include "QF/zone.h"
|
||||
#include "QF/va.h"
|
||||
|
||||
#include "rua_internal.h"
|
||||
|
||||
/*
|
||||
bi_Cvar_GetCvarString
|
||||
|
||||
QC-Function for get a string from a cvar
|
||||
*/
|
||||
static void
|
||||
bi_Cvar_GetCvarString (progs_t *pr)
|
||||
bi_Cvar_SetString (progs_t *pr)
|
||||
{
|
||||
const char *varname = P_GSTRING (pr, 0);
|
||||
const char *val = P_GSTRING (pr, 1);
|
||||
cvar_t *var = Cvar_FindVar (varname);
|
||||
|
||||
RETURN_STRING (pr, Cvar_VariableString (varname));
|
||||
if (var)
|
||||
Cvar_Set (var, val);
|
||||
}
|
||||
|
||||
static void
|
||||
bi_Cvar_SetInteger (progs_t *pr)
|
||||
{
|
||||
const char *varname = P_GSTRING (pr, 0);
|
||||
int val = P_INT (pr, 1);
|
||||
cvar_t *var = Cvar_FindVar (varname);
|
||||
|
||||
if (var)
|
||||
Cvar_Set (var, va ("%d", val));
|
||||
}
|
||||
|
||||
static void
|
||||
bi_Cvar_SetFloat (progs_t *pr)
|
||||
{
|
||||
const char *varname = P_GSTRING (pr, 0);
|
||||
float val = P_FLOAT (pr, 1);
|
||||
cvar_t *var = Cvar_FindVar (varname);
|
||||
|
||||
if (var)
|
||||
Cvar_Set (var, va ("%g", val));
|
||||
}
|
||||
|
||||
static void
|
||||
bi_Cvar_SetVector (progs_t *pr)
|
||||
{
|
||||
const char *varname = P_GSTRING (pr, 0);
|
||||
float *val = P_VECTOR (pr, 1);
|
||||
cvar_t *var = Cvar_FindVar (varname);
|
||||
|
||||
if (var)
|
||||
Cvar_Set (var, va ("%g %g %g", val[0], val[1], val[2]));
|
||||
}
|
||||
|
||||
static void
|
||||
bi_Cvar_GetString (progs_t *pr)
|
||||
{
|
||||
const char *varname = P_GSTRING (pr, 0);
|
||||
cvar_t *var = Cvar_FindVar (varname);
|
||||
|
||||
if (var)
|
||||
RETURN_STRING (pr, var->string);
|
||||
else
|
||||
RETURN_STRING (pr, "");
|
||||
}
|
||||
|
||||
static void
|
||||
bi_Cvar_GetInteger (progs_t *pr)
|
||||
{
|
||||
const char *varname = P_GSTRING (pr, 0);
|
||||
cvar_t *var = Cvar_FindVar (varname);
|
||||
|
||||
R_INT (pr) = var ? var->int_val : 0;
|
||||
}
|
||||
|
||||
static void
|
||||
bi_Cvar_GetFloat (progs_t *pr)
|
||||
{
|
||||
const char *varname = P_GSTRING (pr, 0);
|
||||
cvar_t *var = Cvar_FindVar (varname);
|
||||
|
||||
R_FLOAT (pr) = var ? var->value : 0;
|
||||
}
|
||||
|
||||
static void
|
||||
bi_Cvar_GetVector (progs_t *pr)
|
||||
{
|
||||
const char *varname = P_GSTRING (pr, 0);
|
||||
cvar_t *var = Cvar_FindVar (varname);
|
||||
|
||||
if (var)
|
||||
RETURN_VECTOR (pr, var->vec);
|
||||
else
|
||||
VectorZero (R_VECTOR (pr));
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -71,8 +145,15 @@ bi_Cvar_Toggle (progs_t *pr)
|
|||
}
|
||||
|
||||
static builtin_t builtins[] = {
|
||||
{"Cvar_GetCvarString", bi_Cvar_GetCvarString, -1},
|
||||
{"Cvar_Toggle", bi_Cvar_Toggle, -1},
|
||||
{"Cvar_SetFloat", bi_Cvar_SetFloat, -1},
|
||||
{"Cvar_SetInteger", bi_Cvar_SetInteger, -1},
|
||||
{"Cvar_SetVector", bi_Cvar_SetVector, -1},
|
||||
{"Cvar_SetString", bi_Cvar_SetString, -1},
|
||||
{"Cvar_GetFloat", bi_Cvar_GetFloat, -1},
|
||||
{"Cvar_GetInteger", bi_Cvar_GetInteger, -1},
|
||||
{"Cvar_GetVector", bi_Cvar_GetVector, -1},
|
||||
{"Cvar_GetString", bi_Cvar_GetString, -1},
|
||||
{"Cvar_Toggle", bi_Cvar_Toggle, -1},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ CvarToggleView time_view;
|
|||
CvarRangeView gamma_view;
|
||||
CvarRangeView viewsize_view;
|
||||
|
||||
Group control_options;
|
||||
Group control_options; // not done
|
||||
CvarToggleView grab_mouse_view;
|
||||
CvarToggleView freelook_view;
|
||||
CvarToggleView lookspring_view;
|
||||
|
@ -65,19 +65,14 @@ CvarRangeView volume_view;
|
|||
CvarRangeView bgmvolume_view;
|
||||
|
||||
Group player_options;
|
||||
// input for playername and teamname
|
||||
InputLine player_config_plname_il;
|
||||
InputLine player_config_tname_il;
|
||||
InputLine player_config_iactive;
|
||||
CvarColorView topcolor_view;
|
||||
CvarColorView bottomcolor_view;
|
||||
|
||||
// this holds active inputline pointer
|
||||
InputLine player_config_iactive;
|
||||
|
||||
Group network_options;
|
||||
// input for playername
|
||||
InputLine network_config_rate_il;
|
||||
// this holds active inputline pointer
|
||||
InputLine network_config_iactive;
|
||||
|
||||
/*
|
||||
|
@ -355,12 +350,12 @@ CB_control_options =
|
|||
[grab_mouse_view toggle];
|
||||
break;
|
||||
case "autorun":
|
||||
if(cvar("cl_forwardspeed") < 400) {
|
||||
Cbuf_AddText ("set cl_forwardspeed 400\n");
|
||||
Cbuf_AddText ("set cl_backspeed 400\n");
|
||||
if(Cvar_GetFloat ("cl_forwardspeed") < 400) {
|
||||
Cvar_SetFloat ("cl_forwardspeed", 400);
|
||||
Cvar_SetFloat ("cl_backspeed", 400);
|
||||
} else {
|
||||
Cbuf_AddText ("set cl_forwardspeed 200\n");
|
||||
Cbuf_AddText ("set cl_backspeed 200\n");
|
||||
Cvar_SetFloat ("cl_forwardspeed", 200);
|
||||
Cvar_SetFloat ("cl_backspeed", 200);
|
||||
}
|
||||
break;
|
||||
case "freelook":
|
||||
|
@ -373,10 +368,10 @@ CB_control_options =
|
|||
[lookstrafe_view toggle];
|
||||
break;
|
||||
case "m_pitch":
|
||||
if(cvar("m_pitch") < 0) {
|
||||
Cbuf_AddText ("set m_pitch 0.022\n");
|
||||
if(Cvar_GetFloat ("m_pitch") < 0) {
|
||||
Cvar_SetFloat ("m_pitch", 0.022);
|
||||
} else {
|
||||
Cbuf_AddText ("set m_pitch -0.022\n");
|
||||
Cvar_SetFloat ("m_pitch", -0.022);
|
||||
}
|
||||
break;
|
||||
case "mouseamp":
|
||||
|
@ -409,9 +404,9 @@ DRAW_control_options =
|
|||
[grab_mouse_view draw];
|
||||
|
||||
draw_val_item (x + 70, y + 80, spacing, "Auto run",
|
||||
cvar ("cl_forwardspeed") < 400 ? "Off" : "On");
|
||||
Cvar_GetFloat ("cl_forwardspeed") < 400 ? "Off" : "On");
|
||||
draw_val_item (x + 70, y + 90, spacing, "Mouse Invert",
|
||||
cvar ("m_pitch") < 0 ? "On" : "Off");
|
||||
Cvar_GetFloat ("m_pitch") < 0 ? "On" : "Off");
|
||||
bar_pad = y + 90;
|
||||
|
||||
[mouse_amp_view setBasePos:x y:y];
|
||||
|
@ -627,9 +622,11 @@ KEYEV_player_options =
|
|||
case QFK_RETURN:
|
||||
if (player_config_iactive) {
|
||||
if (player_config_iactive == player_config_plname_il) {
|
||||
cvar_set (playername_cvar, [player_config_plname_il text]);
|
||||
Cvar_SetString (playername_cvar,
|
||||
[player_config_plname_il text]);
|
||||
} else if (player_config_iactive == player_config_tname_il) {
|
||||
cvar_set (teamname_cvar, [player_config_tname_il text]);
|
||||
Cvar_SetString (teamname_cvar,
|
||||
[player_config_tname_il text]);
|
||||
}
|
||||
player_config_iactive = NIL;
|
||||
} else {
|
||||
|
@ -683,12 +680,6 @@ DRAW_player_options =
|
|||
[player_options setBasePos:x y:y];
|
||||
[player_options draw];
|
||||
|
||||
// draw_val_item (x + 70, y + PLAYER_CONF_Y_PAD + 45, spacing, "Top color",
|
||||
// " " + ftos (cvar ("topcolor")));
|
||||
// draw_val_item (x + 70, y + PLAYER_CONF_Y_PAD + 60, spacing,
|
||||
// "Bottom color", " " + ftos (cvar ("bottomcolor")));
|
||||
|
||||
|
||||
opt_cursor (x + 62, y + player_config_cursor_tbl[player_config_cursor]);
|
||||
return 1;
|
||||
};
|
||||
|
@ -710,8 +701,8 @@ CB_ME_player_options =
|
|||
|
||||
teamname_cvar = "team"; // FIXME: is this something else in netquake?
|
||||
|
||||
[player_config_plname_il setText:Cvar_GetCvarString (playername_cvar)];
|
||||
[player_config_tname_il setText:Cvar_GetCvarString (teamname_cvar)];
|
||||
[player_config_plname_il setText:Cvar_GetString (playername_cvar)];
|
||||
[player_config_tname_il setText:Cvar_GetString (teamname_cvar)];
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -832,7 +823,8 @@ KEYEV_network_options =
|
|||
case QFK_RETURN:
|
||||
if (network_config_iactive) {
|
||||
if(network_config_iactive == network_config_rate_il) {
|
||||
cvar_set("rate", [network_config_rate_il text]);
|
||||
Cvar_SetString ("rate",
|
||||
[network_config_rate_il text]);
|
||||
}
|
||||
network_config_iactive = NIL;
|
||||
} else {
|
||||
|
@ -882,7 +874,7 @@ DRAW_network_options =
|
|||
integer ()
|
||||
CB_ME_network_options =
|
||||
{
|
||||
[network_config_rate_il setText:Cvar_GetCvarString("rate")];
|
||||
[network_config_rate_il setText:Cvar_GetString ("rate")];
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
|
||||
-(BOOL)value
|
||||
{
|
||||
return cvar (name);
|
||||
return Cvar_GetInteger (name);
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -110,21 +110,21 @@
|
|||
@implementation CvarColor
|
||||
-(void)next
|
||||
{
|
||||
local float val = cvar (name);
|
||||
local float val = Cvar_GetFloat (name);
|
||||
val = min_max_cnt (0, 13, 1, val, 1);
|
||||
cvar_set (name, ftos (val));
|
||||
Cvar_SetFloat (name, val);
|
||||
}
|
||||
|
||||
-(void)prev
|
||||
{
|
||||
local float val = cvar (name);
|
||||
local float val = Cvar_GetFloat (name);
|
||||
val = min_max_cnt (0, 13, 1, val, 0);
|
||||
cvar_set (name, ftos (val));
|
||||
Cvar_SetFloat (name, val);
|
||||
}
|
||||
|
||||
-(integer)value
|
||||
{
|
||||
return (integer) cvar (name);
|
||||
return Cvar_GetInteger (name);
|
||||
}
|
||||
@end
|
||||
|
||||
|
@ -174,26 +174,26 @@
|
|||
|
||||
-(void)inc
|
||||
{
|
||||
local float val = cvar (name);
|
||||
local float val = Cvar_GetFloat (name);
|
||||
val = min_max_cnt (min, max, step, val, 1);
|
||||
cvar_set (name, ftos (val));
|
||||
Cvar_SetFloat (name, val);
|
||||
}
|
||||
|
||||
-(void)dec
|
||||
{
|
||||
local float val = cvar (name);
|
||||
local float val = Cvar_GetFloat (name);
|
||||
val = min_max_cnt (min, max, step, val, 0);
|
||||
cvar_set (name, ftos (val));
|
||||
Cvar_SetFloat (name, val);
|
||||
}
|
||||
|
||||
-(float)value
|
||||
{
|
||||
return cvar (name);
|
||||
return Cvar_GetFloat (name);
|
||||
}
|
||||
|
||||
-(integer)percentage
|
||||
{
|
||||
return to_percentage(min, max, cvar (name));
|
||||
return to_percentage(min, max, Cvar_GetFloat (name));
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -253,13 +253,13 @@
|
|||
@implementation CrosshairCvar
|
||||
-(void) next
|
||||
{
|
||||
local integer val = cvar (name);
|
||||
cvar_set (name, itos ((val + 1) % 4));
|
||||
local integer val = Cvar_GetInteger (name);
|
||||
Cvar_SetInteger (name, (val + 1) % 4);
|
||||
}
|
||||
|
||||
-(integer) crosshair
|
||||
{
|
||||
return cvar (name);
|
||||
return Cvar_GetInteger (name);
|
||||
}
|
||||
@end
|
||||
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
#ifndef __ruamoko_cvar_h
|
||||
#define __ruamoko_cvar_h
|
||||
|
||||
@extern string (string varname) Cvar_GetCvarString;
|
||||
@extern void (string varname, string value) Cvar_SetString;
|
||||
@extern void (string varname, float value) Cvar_SetFloat;
|
||||
@extern void (string varname, integer value) Cvar_SetInteger;
|
||||
@extern void (string varname, vector value) Cvar_SetVector;
|
||||
@extern string (string varname) Cvar_GetString;
|
||||
@extern float (string varname) Cvar_GetFloat;
|
||||
@extern integer (string varname) Cvar_GetInteger;
|
||||
@extern vector (string varname) Cvar_GetVector;
|
||||
@extern void (string varname) Cvar_Toggle;
|
||||
|
||||
#endif//__ruamoko_cvar_h
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
#include "cvar.h"
|
||||
|
||||
string (string varname) Cvar_GetCvarString = #0;
|
||||
void (string varname, string value) Cvar_SetString = #0;
|
||||
void (string varname, float value) Cvar_SetFloat = #0;
|
||||
void (string varname, integer value) Cvar_SetInteger = #0;
|
||||
void (string varname, vector value) Cvar_SetVector = #0;
|
||||
string (string varname) Cvar_GetString = #0;
|
||||
float (string varname) Cvar_GetFloat = #0;
|
||||
integer (string varname) Cvar_GetInteger = #0;
|
||||
vector (string varname) Cvar_GetVector = #0;
|
||||
void (string varname) Cvar_Toggle = #0;
|
||||
|
|
Loading…
Reference in a new issue