-#ifndef COLORBUTTON_H
-#define COLORBUTTON_H
-#include "../item/radiobutton.qc"
-CLASS(XonoticColorButton, RadioButton)
- METHOD(XonoticColorButton, configureXonoticColorButton, void(entity, float, float, float));
- METHOD(XonoticColorButton, setChecked, void(entity, float));
- METHOD(XonoticColorButton, draw, void(entity));
- ATTRIB(XonoticColorButton, fontSize, float, 0)
- ATTRIB(XonoticColorButton, image, string, SKINGFX_COLORBUTTON)
+#include "colorbutton.qh"
- ATTRIB(XonoticColorButton, useDownAsChecked, float, 1)
-
- ATTRIB(XonoticColorButton, cvarPart, float, 0)
- ATTRIB(XonoticColorButton, cvarName, string, string_null)
- ATTRIB(XonoticColorButton, cvarValueFloat, float, 0)
- METHOD(XonoticColorButton, loadCvars, void(entity));
- METHOD(XonoticColorButton, saveCvars, void(entity));
-ENDCLASS(XonoticColorButton)
-entity makeXonoticColorButton(float, float, float);
-#endif
-
-#ifdef IMPLEMENTATION
entity makeXonoticColorButton(float theGroup, float theColor, float theValue)
{
entity me;
// no change
break;
}
- me.cvarName = "_cl_color";
+ me.controlledCvar = "_cl_color";
me.cvarValueFloat = theValue;
me.cvarPart = theColor;
me.loadCvars(me);
}
void XonoticColorButton_loadCvars(entity me)
{
- if (!me.cvarName)
+ if (!me.controlledCvar)
return;
- if(cvar_string(me.cvarName) == cvar_defstring(me.cvarName))
- cvar_set(me.cvarName, ftos(16 * floor(random() * 15) + floor(random() * 15)));
+ if(cvar_string(me.controlledCvar) == cvar_defstring(me.controlledCvar))
+ cvar_set(me.controlledCvar, ftos(16 * floor(random() * 15) + floor(random() * 15)));
if(me.cvarPart == 1)
- me.checked = (cvar(me.cvarName) & 240) == me.cvarValueFloat * 16;
+ me.checked = (cvar(me.controlledCvar) & 240) == me.cvarValueFloat * 16;
else
- me.checked = (cvar(me.cvarName) & 15) == me.cvarValueFloat;
+ me.checked = (cvar(me.controlledCvar) & 15) == me.cvarValueFloat;
}
void XonoticColorButton_saveCvars(entity me)
{
- if (!me.cvarName)
+ if (!me.controlledCvar)
return;
if(me.checked)
{
if(me.cvarPart == 1)
- cvar_set(me.cvarName, ftos((cvar(me.cvarName) & 15) + me.cvarValueFloat * 16));
+ cvar_set(me.controlledCvar, ftos((cvar(me.controlledCvar) & 15) + me.cvarValueFloat * 16));
else
- cvar_set(me.cvarName, ftos((cvar(me.cvarName) & 240) + me.cvarValueFloat));
+ cvar_set(me.controlledCvar, ftos((cvar(me.controlledCvar) & 240) + me.cvarValueFloat));
}
- // TODO on an apply button, read _cl_color and execute the color command for it
}
void XonoticColorButton_draw(entity me)
{
me.colorD = me.color;
SUPER(XonoticColorButton).draw(me);
}
-#endif