rows = ceil(item_count/columns);
}
- if(vertical)
- return eX * best_rows + eY * best_columns;
- else
- return eX * best_columns + eY * best_rows;
+ return (vertical) ? vec2(best_rows, best_columns) : vec2(best_columns, best_rows);
}
/*
void Hud_Dynamic_Frame()
{
vector ofs = '0 0 0';
- hud_scale = '1 1 0';
- hud_shift = '0 0 0';
+ hud_scale_current = '1 1 0';
+ hud_shift_current = '0 0 0';
+
if (autocvar_hud_dynamic_follow)
{
entity view = CSQCModel_server2csqc(player_localentnum - 1);
ofs.y = bound(-0.1, ofs.y, 0.1);
ofs.z = bound(-0.1, ofs.z, 0.1);
- hud_shift.x = ofs.y * vid_conwidth;
- hud_shift.y = ofs.z * vid_conheight;
- hud_shift.z = ofs.x;
+ hud_shift_current.x = ofs.y * vid_conwidth;
+ hud_shift_current.y = ofs.z * vid_conheight;
+ hud_shift_current.z = ofs.x;
- hud_scale.x = (1 + hud_shift.z);
- hud_scale.y = hud_scale.x;
+ hud_scale_current.x = (1 + hud_shift_current.z);
+ hud_scale_current.y = hud_scale_current.x;
}
if(autocvar_hud_dynamic_shake > 0)
if(hud_dynamic_shake_factor > 0)
{
- hud_shift.x += hud_dynamic_shake_realofs.x;
- hud_shift.y += hud_dynamic_shake_realofs.y;
+ hud_shift_current.x += hud_dynamic_shake_realofs.x;
+ hud_shift_current.y += hud_dynamic_shake_realofs.y;
}
}
hud_scale_center.x = 0.5 * vid_conwidth;
hud_scale_center.y = 0.5 * vid_conheight;
- hud_scale_current = hud_scale;
- hud_shift_current = hud_shift;
+ HUD_Scale_Disable();
}
void HUD_Main()
float cl_followmodel_time;
vector hud_scale;
-vector hud_scale_current;
+vector hud_scale_current = '1 1 0';
vector hud_shift;
-vector hud_shift_current;
+vector hud_shift_current = '0 0 0';
vector hud_scale_center;
float stringwidth_colors(string s, vector theSize);
new_size.x = max_panel_width; \
new_size.y = panel_size.y * (new_size.x / panel_size.x); \
} \
- vector new_pos = eX * (panel_bg_border + 0.5 * max_panel_width) + eY * 0.5 * vid_conheight - 0.5 * new_size; \
+ vector new_pos = vec2(panel_bg_border + 0.5 * max_panel_width, 0.5 * vid_conheight) - 0.5 * new_size; \
panel_pos = (1 - autocvar__menu_alpha) * panel_pos + (autocvar__menu_alpha) * new_pos; \
panel_size = (1 - autocvar__menu_alpha) * panel_size + (autocvar__menu_alpha) * new_size; \
} MACRO_END
#ifndef IMPLEMENTATION
CLASS(Tuba, Weapon)
/* impulse */ ATTRIB(Tuba, impulse, int, 1);
-/* flags */ ATTRIB(Tuba, spawnflags, int, WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH);
+/* flags */ ATTRIB(Tuba, spawnflags, int, WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH | WEP_FLAG_NODUAL);
/* rating */ ATTRIB(Tuba, bot_pickupbasevalue, float, 2000);
/* color */ ATTRIB(Tuba, wpcolor, vector, '0 1 0');
/* modelname */ ATTRIB(Tuba, mdl, string, "tuba");
if (actor.(weaponentity).tuba_note == this)
{
actor.(weaponentity).tuba_lastnotes_last = (actor.(weaponentity).tuba_lastnotes_last + 1) % MAX_TUBANOTES;
- actor.(weaponentity).(tuba_lastnotes[actor.(weaponentity).tuba_lastnotes_last]) = eX * this.spawnshieldtime + eY * time + eZ * this.cnt;
+ actor.(weaponentity).(tuba_lastnotes[actor.(weaponentity).tuba_lastnotes_last]) = vec3(this.spawnshieldtime, time, this.cnt);
actor.(weaponentity).tuba_note = NULL;
actor.(weaponentity).tuba_lastnotes_cnt = bound(0, actor.(weaponentity).tuba_lastnotes_cnt + 1, MAX_TUBANOTES);