Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
cl_minigames_hud.qh File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

float HUD_Minigame_InputEvent (float bInputType, float nPrimary, float nSecondary)
void HUD_Minigame_Mouse ()
void HUD_MinigameMenu_Close (entity this, entity actor, entity trigger)
void HUD_MinigameMenu_CustomEntry (entity parent, string message, string event_arg)
float HUD_MinigameMenu_IsOpened ()

Function Documentation

◆ HUD_Minigame_InputEvent()

float HUD_Minigame_InputEvent ( float bInputType,
float nPrimary,
float nSecondary )

Definition at line 606 of file cl_minigames_hud.qc.

607{
608
610 return false;
611
612 if(bInputType == 3)
613 {
614 mousepos_x = nPrimary;
615 mousepos_y = nSecondary;
616 if ( active_minigame && HUD_mouse_over(HUD_PANEL(MINIGAMEBOARD)) )
617 active_minigame.minigame_event(active_minigame,"mouse_moved",mousepos);
618 return true;
619 }
620
621 if(bInputType == 2)
622 {
623 if ( active_minigame && HUD_mouse_over(HUD_PANEL(MINIGAMEBOARD)) )
624 active_minigame.minigame_event(active_minigame,"mouse_moved",mousepos);
625 return false;
626 }
627
628 // at this point bInputType can only be 0 or 1 (key pressed or released)
629 bool key_pressed = (bInputType == 0);
630
631 if(key_pressed) {
632 if(nPrimary == K_ALT) hudShiftState |= S_ALT;
633 if(nPrimary == K_CTRL) hudShiftState |= S_CTRL;
634 if(nPrimary == K_SHIFT) hudShiftState |= S_SHIFT;
635 if(nPrimary == K_MOUSE1) mouseClicked |= S_MOUSE1;
636 if(nPrimary == K_MOUSE2) mouseClicked |= S_MOUSE2;
637 }
638 else {
639 if(nPrimary == K_ALT) hudShiftState &= ~S_ALT;
640 if(nPrimary == K_CTRL) hudShiftState &= ~S_CTRL;
641 if(nPrimary == K_SHIFT) hudShiftState &= ~S_SHIFT;
642 if(nPrimary == K_MOUSE1) mouseClicked &= ~S_MOUSE1;
643 if(nPrimary == K_MOUSE2) mouseClicked &= ~S_MOUSE2;
644 }
645
646 // allow some binds
647 string con_keys = findkeysforcommand("toggleconsole", 0);
648 int keys = tokenize(con_keys); // findkeysforcommand returns data for this
649 int i;
650 for (i = 0; i < keys; ++i)
651 {
652 if(nPrimary == stof(argv(i)))
653 return false;
654 }
655
656 if ( active_minigame )
657 {
658 string device = "";
659 string action = key_pressed ? "pressed" : "released";
660 if ( nPrimary >= K_MOUSE1 && nPrimary <= K_MOUSE16 )
661 {
662 if ( HUD_mouse_over(HUD_PANEL(MINIGAMEBOARD)) )
663 device = "mouse";
664 }
665 else
666 device = "key";
667
668 if ( device && active_minigame.minigame_event(
669 active_minigame,strcat(device,"_",action),nPrimary) )
670 return true;
671 }
672
673 if ( nPrimary == K_MOUSE2 )
674 {
675 return true;
676 }
677 if ( nPrimary == K_MOUSE1 )
678 {
679 if (!key_pressed)
680 return true;
683 return true;
684 }
685 if ( nPrimary == K_UPARROW || nPrimary == K_KP_UPARROW )
686 {
687 if (!key_pressed)
688 return true;
691 else
693 return true;
694 }
695 else if ( nPrimary == K_DOWNARROW || nPrimary == K_KP_DOWNARROW )
696 {
697 if (!key_pressed)
698 return true;
701 else
703 return true;
704 }
705 else if ( nPrimary == K_HOME || nPrimary == K_KP_HOME )
706 {
707 if (!key_pressed)
708 return true;
710 return true;
711 }
712 else if ( nPrimary == K_END || nPrimary == K_KP_END )
713 {
714 if (!key_pressed)
715 return true;
717 return true;
718 }
719 else if ( nPrimary == K_KP_ENTER || nPrimary == K_ENTER || nPrimary == K_SPACE )
720 {
721 if (!key_pressed)
722 return true;
724 return true;
725 }
726 else if ( nPrimary == K_ESCAPE )
727 {
728 if (!key_pressed)
729 return true;
731 return true;
732 }
733
734 return false;
735}
entity active_minigame
entity HUD_MinigameMenu_entries
entity HUD_MinigameMenu_last_entry
void HUD_MinigameMenu_Click(entity menuitem)
entity HUD_MinigameMenu_activeitem
bool HUD_mouse_over(entity somepanel)
void HUD_MinigameMenu_Close(entity this, entity actor, entity trigger)
bool HUD_MinigameMenu_IsOpened()
#define HUD_PANEL(NAME)
Definition hud.qh:52
const int S_SHIFT
Definition hud.qh:129
int hudShiftState
Definition hud.qh:128
const int S_ALT
Definition hud.qh:131
vector mousepos
Definition hud.qh:103
const int S_CTRL
Definition hud.qh:130
const int S_MOUSE1
Definition hud_config.qh:10
bool autocvar__hud_configure
Definition hud_config.qh:3
int mouseClicked
Definition hud_config.qh:13
const int S_MOUSE2
Definition hud_config.qh:11
float K_SHIFT
Definition keycodes.qc:22
float K_MOUSE16
Definition keycodes.qc:146
float K_UPARROW
Definition keycodes.qc:15
float K_DOWNARROW
Definition keycodes.qc:16
float K_MOUSE1
Definition keycodes.qc:129
float K_CTRL
Definition keycodes.qc:21
float K_KP_UPARROW
Definition keycodes.qc:64
float K_SPACE
Definition keycodes.qc:10
float K_ALT
Definition keycodes.qc:20
float K_ENTER
Definition keycodes.qc:8
float K_KP_HOME
Definition keycodes.qc:62
float K_KP_DOWNARROW
Definition keycodes.qc:53
float K_MOUSE2
Definition keycodes.qc:130
float K_HOME
Definition keycodes.qc:41
float K_KP_ENTER
Definition keycodes.qc:74
float K_END
Definition keycodes.qc:42
float K_KP_END
Definition keycodes.qc:51
float K_ESCAPE
Definition keycodes.qc:9
float stof(string val,...)
float tokenize(string s)
string argv(float n)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))
#define NULL
Definition post.qh:14

References active_minigame, argv(), autocvar__hud_configure, HUD_MinigameMenu_activeitem, HUD_MinigameMenu_Click(), HUD_MinigameMenu_Close(), HUD_MinigameMenu_entries, HUD_MinigameMenu_IsOpened(), HUD_MinigameMenu_last_entry, HUD_mouse_over(), HUD_PANEL, hudShiftState, K_ALT, K_CTRL, K_DOWNARROW, K_END, K_ENTER, K_ESCAPE, K_HOME, K_KP_DOWNARROW, K_KP_END, K_KP_ENTER, K_KP_HOME, K_KP_UPARROW, K_MOUSE1, K_MOUSE16, K_MOUSE2, K_SHIFT, K_SPACE, K_UPARROW, mouseClicked, mousepos, NULL, S_ALT, S_CTRL, S_MOUSE1, S_MOUSE2, S_SHIFT, stof(), strcat(), and tokenize().

Referenced by CSQC_InputEvent().

◆ HUD_Minigame_Mouse()

void HUD_Minigame_Mouse ( )

Definition at line 737 of file cl_minigames_hud.qc.

738{
740 return;
741
742 if ( HUD_MinigameMenu_IsOpened() && HUD_mouse_over(HUD_PANEL(MINIGAMEMENU)) )
744}
void HUD_MinigameMenu_MouseInput()
bool mv_active
Definition mapvoting.qh:19

References autocvar__hud_configure, HUD_MinigameMenu_IsOpened(), HUD_MinigameMenu_MouseInput(), HUD_mouse_over(), HUD_PANEL, and mv_active.

Referenced by HUD_Mouse().

◆ HUD_MinigameMenu_Close()

void HUD_MinigameMenu_Close ( entity this,
entity actor,
entity trigger )

Definition at line 378 of file cl_minigames_hud.qc.

379{
381 {
382 entity e, p;
383 for ( e = HUD_MinigameMenu_entries; e != NULL; e = p )
384 {
385 p = e.list_next;
386 delete(e);
387 }
391 }
392}
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback

References entity(), HUD_MinigameMenu_activeitem, HUD_MinigameMenu_entries, HUD_MinigameMenu_IsOpened(), HUD_MinigameMenu_last_entry, and NULL.

Referenced by deactivate_minigame(), HUD_Minigame_InputEvent(), HUD_MinigameMenu(), HUD_MinigameMenu_CurrentButton(), MUTATOR_HOOKFUNCTION(), and Shutdown().

◆ HUD_MinigameMenu_CustomEntry()

void HUD_MinigameMenu_CustomEntry ( entity parent,
string message,
string event_arg )

Definition at line 348 of file cl_minigames_hud.qc.

349{
352 e.netname = event_arg;
354 //dprint("CustomEntry ",ftos(num_for_edict(parent))," ",menumessage," ",event_arg,"\n");
355}
entity parent
Definition animhost.qc:7
void HUD_MinigameMenu_ClickCustomEntry(entity this, entity actor, entity trigger)
void HUD_MinigameMenu_InsertEntry(entity newentry, entity prev)
entity HUD_MinigameMenu_SpawnSubEntry(string s, void(entity, entity, entity) click, entity parent)

References entity(), HUD_MinigameMenu_ClickCustomEntry(), HUD_MinigameMenu_InsertEntry(), HUD_MinigameMenu_SpawnSubEntry(), and parent.

◆ HUD_MinigameMenu_IsOpened()