// Draws the minigame game board
void HUD_MinigameBoard ()
{
- entity hud_minigame = world;
+ entity hud_minigame = NULL;
if(!autocvar__hud_configure)
hud_minigame = active_minigame.descriptor;
// Draws the minigame status panel
void HUD_MinigameStatus ()
{
- entity hud_minigame = world;
+ entity hud_minigame = NULL;
if(!autocvar__hud_configure)
hud_minigame = active_minigame.descriptor;
// Click the given item
void HUD_MinigameMenu_Click(entity menuitem)
-{SELFPARAM();
+{
if ( menuitem )
{
- WITHSELF(menuitem, menuitem.use());
+ menuitem.use(menuitem, NULL, NULL);
}
}
HUD_MinigameMenu_last_entry = e.list_prev;
if ( HUD_MinigameMenu_activeitem == e )
- HUD_MinigameMenu_activeitem = world;
+ HUD_MinigameMenu_activeitem = NULL;
remove(e);
}
// Minigame menu options: create entry
-entity HUD_MinigameMenu_SpawnEntry(string s, vector offset, vector fontsize, vector color,void() click)
+entity HUD_MinigameMenu_SpawnEntry(string s, vector offset, vector fontsize, vector color,void(entity, entity, entity) click)
{
entity entry = spawn();
entry.message = s;
}
// Spawn a child entry of a collapsable entry
-entity HUD_MinigameMenu_SpawnSubEntry(string s, void() click, entity parent)
+entity HUD_MinigameMenu_SpawnSubEntry(string s, void(entity, entity, entity) click, entity parent)
{
vector item_fontsize = hud_fontsize*1.25;
vector item_offset = '1 0 0' * item_fontsize_x;
}
// Click action for Create sub-entries
-void HUD_MinigameMenu_ClickCreate_Entry()
-{SELFPARAM();
- minigame_cmd("create ",self.netname);
+void HUD_MinigameMenu_ClickCreate_Entry(entity this, entity actor, entity trigger)
+{
+ minigame_cmd("create ", this.netname);
}
// Helper click action for collapsible entries
// returns true when you have to create the sub-entries
-bool HUD_MinigameMenu_Click_ExpandCollapse()
-{SELFPARAM();
+bool HUD_MinigameMenu_Click_ExpandCollapse(entity this)
+{
entity e;
- if ( self.flags & 2 )
+ if ( this.flags & 2 )
{
if ( HUD_MinigameMenu_activeitem &&
- HUD_MinigameMenu_activeitem.owner == self )
- HUD_MinigameMenu_activeitem = world;
- self.flags &= ~2;
- for ( e = self.list_next; e != world && e.owner == self; e = self.list_next )
+ HUD_MinigameMenu_activeitem.owner == this )
+ HUD_MinigameMenu_activeitem = NULL;
+ this.flags &= ~2;
+ for ( e = this.list_next; e != NULL && e.owner == this; e = this.list_next )
{
if ( e.flags & 2 )
HUD_MinigameMenu_Click(e);
- self.list_next = e.list_next;
+ this.list_next = e.list_next;
remove(e);
}
- if ( self.list_next )
- self.list_next.list_prev = self;
+ if ( this.list_next )
+ this.list_next.list_prev = this;
else
- HUD_MinigameMenu_last_entry = self;
+ HUD_MinigameMenu_last_entry = this;
}
else
{
- for ( e = HUD_MinigameMenu_entries; e != world; e = e.list_next )
+ for ( e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next )
{
- if ( e.flags & 2 && e.origin_x == self.origin_x)
+ if ( e.flags & 2 && e.origin_x == this.origin_x)
HUD_MinigameMenu_Click(e);
}
- self.flags |= 2;
+ this.flags |= 2;
return true;
}
}
// Click action for the Create menu
-void HUD_MinigameMenu_ClickCreate()
-{SELFPARAM();
- if ( HUD_MinigameMenu_Click_ExpandCollapse() )
+void HUD_MinigameMenu_ClickCreate(entity this, entity actor, entity trigger)
+{
+ if ( HUD_MinigameMenu_Click_ExpandCollapse(this) )
{
entity curr;
- entity prev = self;
+ entity prev = this;
FOREACH(Minigames, true, {
- curr = HUD_MinigameMenu_SpawnSubEntry(it.message, HUD_MinigameMenu_ClickCreate_Entry, self);
+ curr = HUD_MinigameMenu_SpawnSubEntry(it.message, HUD_MinigameMenu_ClickCreate_Entry, this);
curr.netname = it.netname;
curr.model = strzone(minigame_texture(strcat(it.netname,"/icon")));
HUD_MinigameMenu_InsertEntry( curr, prev );
}
// Click action for Join sub-entries
-void HUD_MinigameMenu_ClickJoin_Entry()
-{SELFPARAM();
- minigame_cmd("join ",self.netname);
- HUD_MinigameMenu_EraseEntry(self);
+void HUD_MinigameMenu_ClickJoin_Entry(entity this, entity actor, entity trigger)
+{
+ minigame_cmd("join ",this.netname);
+ HUD_MinigameMenu_EraseEntry(this);
}
// Click action for the Join menu
-void HUD_MinigameMenu_ClickJoin()
-{SELFPARAM();
- if ( HUD_MinigameMenu_Click_ExpandCollapse() )
+void HUD_MinigameMenu_ClickJoin(entity this, entity actor, entity trigger)
+{
+ if ( HUD_MinigameMenu_Click_ExpandCollapse(this) )
{
- entity e = world;
+ entity e = NULL;
entity curr;
- entity prev = self;
+ entity prev = this;
while( (e = find(e,classname,"minigame")) )
{
if ( e != active_minigame )
{
curr = HUD_MinigameMenu_SpawnSubEntry(
- e.netname, HUD_MinigameMenu_ClickJoin_Entry, self );
+ e.netname, HUD_MinigameMenu_ClickJoin_Entry, this );
curr.netname = e.netname;
curr.model = strzone(minigame_texture(strcat(e.descriptor.netname,"/icon")));
HUD_MinigameMenu_InsertEntry( curr, prev );
/*// Temporary placeholder for un-implemented Click actions
void HUD_MinigameMenu_ClickNoop()
{
- dprint("Placeholder for ",self.message,"\n");
+ dprint("Placeholder for ",this.message,"\n");
}*/
// Click action for Quit
-void HUD_MinigameMenu_ClickQuit()
+void HUD_MinigameMenu_ClickQuit(entity this, entity actor, entity trigger)
{
deactivate_minigame();
minigame_cmd("end");
}
// Click action for Invite sub-entries
-void HUD_MinigameMenu_ClickInvite_Entry()
-{SELFPARAM();
- minigame_cmd("invite #",self.netname);
+void HUD_MinigameMenu_ClickInvite_Entry(entity this, entity actor, entity trigger)
+{
+ minigame_cmd("invite #",this.netname);
}
// Click action for the Invite menu
-void HUD_MinigameMenu_ClickInvite()
-{SELFPARAM();
- if ( HUD_MinigameMenu_Click_ExpandCollapse() )
+void HUD_MinigameMenu_ClickInvite(entity this, entity actor, entity trigger)
+{
+ if ( HUD_MinigameMenu_Click_ExpandCollapse(this) )
{
entity e;
- entity prev = self;
+ entity prev = this;
for(int i = 0; i < maxclients; ++i)
{
if ( player_localnum != i && playerslots[i] && entcs_GetName(i) != "" &&
- !findfloat(world,minigame_playerslot,i+1) && playerslots[i].ping )
+ !findfloat(NULL,minigame_playerslot,i+1) && playerslots[i].ping )
{
e = HUD_MinigameMenu_SpawnSubEntry(
strzone(entcs_GetName(i)), HUD_MinigameMenu_ClickInvite_Entry,
- self );
+ this );
e.flags |= 1;
e.netname = strzone(ftos(i+1));
e.origin_x *= 2;
}
}
-void HUD_MinigameMenu_ClickCustomEntry()
-{SELFPARAM();
+void HUD_MinigameMenu_ClickCustomEntry(entity this, entity actor, entity trigger)
+{
if ( active_minigame )
- active_minigame.minigame_event(active_minigame,"menu_click",self.netname);
+ active_minigame.minigame_event(active_minigame,"menu_click",this.netname);
}
// Adds a game-specific entry to the menu
}
// Click action for the Current Game menu
-void HUD_MinigameMenu_ClickCurrentGame()
-{SELFPARAM();
- if ( HUD_MinigameMenu_Click_ExpandCollapse() )
+void HUD_MinigameMenu_ClickCurrentGame(entity this, entity actor, entity trigger)
+{
+ if ( HUD_MinigameMenu_Click_ExpandCollapse(this) )
{
HUD_MinigameMenu_InsertEntry( HUD_MinigameMenu_SpawnSubEntry(
- _("Quit"), HUD_MinigameMenu_ClickQuit, self ), self);
+ _("Quit"), HUD_MinigameMenu_ClickQuit, this ), this);
- active_minigame.minigame_event(active_minigame,"menu_show",self);
+ active_minigame.minigame_event(active_minigame,"menu_show",this);
HUD_MinigameMenu_InsertEntry( HUD_MinigameMenu_SpawnSubEntry(
- _("Invite"), HUD_MinigameMenu_ClickInvite, self), self);
+ _("Invite"), HUD_MinigameMenu_ClickInvite, this), this);
}
}
// Whether the minigame menu panel is open
}
// Close the minigame menu panel
-void HUD_MinigameMenu_Close()
+void HUD_MinigameMenu_Close(entity this, entity actor, entity trigger)
{
if ( HUD_MinigameMenu_IsOpened() )
{
entity e, p;
- for ( e = HUD_MinigameMenu_entries; e != world; e = p )
+ for ( e = HUD_MinigameMenu_entries; e != NULL; e = p )
{
p = e.list_next;
remove(e);
}
- HUD_MinigameMenu_entries = world;
- HUD_MinigameMenu_last_entry = world;
- HUD_MinigameMenu_activeitem = world;
+ HUD_MinigameMenu_entries = NULL;
+ HUD_MinigameMenu_last_entry = NULL;
+ HUD_MinigameMenu_activeitem = NULL;
if(autocvar_hud_cursormode)
if ( !autocvar__hud_configure )
setcursormode(0);
entity e;
if ( active_minigame )
{
- for ( e = HUD_MinigameMenu_last_entry; e != world; e = e.list_prev )
+ for ( e = HUD_MinigameMenu_last_entry; e != NULL; e = e.list_prev )
if ( e.classname == "hud_minigamemenu_exit" )
{
HUD_MinigameMenu_EraseEntry(e);
else
{
entity p;
- for ( e = HUD_MinigameMenu_last_entry; e != world; e = p.list_prev )
+ for ( e = HUD_MinigameMenu_last_entry; e != NULL; e = p.list_prev )
{
p = e;
if ( e.classname == "hud_minigamemenu_current" )
break;
}
}
- for ( e = HUD_MinigameMenu_last_entry; e != world; e = e.list_prev )
+ for ( e = HUD_MinigameMenu_last_entry; e != NULL; e = e.list_prev )
if ( e.classname == "hud_minigamemenu_exit" )
return;
entity exit = HUD_MinigameMenu_SpawnEntry(
_("Join"),'0 0 0',hud_fontsize*1.5,'0.7 0.84 1', HUD_MinigameMenu_ClickJoin),
HUD_MinigameMenu_last_entry );
HUD_MinigameMenu_CurrentButton();
- HUD_MinigameMenu_activeitem = world;
+ HUD_MinigameMenu_activeitem = NULL;
if(autocvar_hud_cursormode)
setcursormode(1);
}
panel_pos_y += hud_fontsize_y*2;
- HUD_MinigameMenu_activeitem = world;
+ HUD_MinigameMenu_activeitem = NULL;
vector sz;
- for ( e = HUD_MinigameMenu_entries; e != world; e = e.list_next )
+ for ( e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next )
{
sz = eX*panel_size_x + eY*e.size_y;
if ( e.model )
vector offset;
float itemh;
vector imgsz = '22 22 0'; // NOTE: if changed, edit where HUD_MinigameMenu_activeitem is selected
- for ( entity e = HUD_MinigameMenu_entries; e != world; e = e.list_next )
+ for ( entity e = HUD_MinigameMenu_entries; e != NULL; e = e.list_next )
{
color = e.colormod;
}
// allow some binds
- string con_keys;
- con_keys = findkeysforcommand("toggleconsole", 0);
+ string con_keys = findkeysforcommand("toggleconsole", 0);
int keys = tokenize(con_keys); // findkeysforcommand returns data for this
- for (int i = 0; i < keys; ++i)
+ int i;
+ for (i = 0; i < keys; ++i)
{
if(nPrimary == stof(argv(i)))
return false;
}
else if ( nPrimary == K_ESCAPE )
{
- HUD_MinigameMenu_Close();
+ HUD_MinigameMenu_Close(NULL, NULL, NULL);
return true;
}
}