r3705 - trunk/data/qcsrc/menu/nexuiz
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Tue Jun 17 02:06:54 EDT 2008
Author: div0
Date: 2008-06-17 02:06:52 -0400 (Tue, 17 Jun 2008)
New Revision: 3705
Modified:
trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mapinfo.c
trunk/data/qcsrc/menu/nexuiz/maplist.c
Log:
cleanup of victim's patch for a Play button
Modified: trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mapinfo.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mapinfo.c 2008-06-13 15:07:18 UTC (rev 3704)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mapinfo.c 2008-06-17 06:06:52 UTC (rev 3705)
@@ -1,7 +1,7 @@
#ifdef INTERFACE
CLASS(NexuizMapInfoDialog) EXTENDS(NexuizDialog)
METHOD(NexuizMapInfoDialog, fill, void(entity))
- METHOD(NexuizMapInfoDialog, loadMapInfo, void(entity, float))
+ METHOD(NexuizMapInfoDialog, loadMapInfo, void(entity, float, entity))
ATTRIB(NexuizMapInfoDialog, title, string, "Map Information")
ATTRIB(NexuizMapInfoDialog, color, vector, SKINCOLOR_DIALOG_MAPINFO)
ATTRIB(NexuizMapInfoDialog, intendedWidth, float, 0.85)
@@ -36,9 +36,10 @@
#endif
#ifdef IMPLEMENTATION
-void loadMapInfoNexuizMapInfoDialog(entity me, float i)
+void loadMapInfoNexuizMapInfoDialog(entity me, float i, entity mlb)
{
me.currentMapIndex = i;
+ me.startButton.onClickEntity = mlb;
MapInfo_Get_ByID(i);
if(me.currentMapBSPName)
@@ -140,8 +141,14 @@
me.descriptionLabel = e;
me.gotoRC(me, me.rows - 1, 0);
- me.TD(me, 1, me.columns, e = makeNexuizButton("OK", '0 0 0'));
+ me.TDempty(me, 0.5);
+
+ me.TD(me, 1, me.columns - 5.5, e = makeNexuizButton("OK", '0 0 0'));
e.onClick = Dialog_Close;
e.onClickEntity = me;
+ me.TD(me, 1, me.columns - 5.5, me.startButton = e = makeNexuizButton("Play", '0 0 0'));
+ me.startButton.onClick = MapList_LoadMap;
+ me.startButton.onClickEntity = NULL; // filled later
+ me.TDempty(me, 0.5);
}
#endif
Modified: trunk/data/qcsrc/menu/nexuiz/maplist.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/maplist.c 2008-06-13 15:07:18 UTC (rev 3704)
+++ trunk/data/qcsrc/menu/nexuiz/maplist.c 2008-06-17 06:06:52 UTC (rev 3705)
@@ -54,6 +54,7 @@
me.configureNexuizMapList(me);
return me;
}
+
void configureNexuizMapListNexuizMapList(entity me)
{
me.configureNexuizListBox(me);
@@ -129,6 +130,7 @@
me.checkMarkSize = (eX * (me.itemAbsSize_y / me.itemAbsSize_x) + eY) * 0.5;
me.checkMarkOrigin = eY + eX * (me.columnPreviewOrigin + me.columnPreviewSize) - me.checkMarkSize;
}
+
void clickListBoxItemNexuizMapList(entity me, float i, vector where)
{
if(where_x <= me.columnPreviewOrigin + me.columnPreviewSize)
@@ -144,7 +146,7 @@
{
// DOUBLE CLICK!
// pop up map info screen
- main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, i);
+ main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, i, me);
DialogOpenButton_Click_withCoords(NULL, main.mapInfoDialog, me.origin + eX * (me.columnNameOrigin * me.size_x) + eY * ((me.itemHeight * i - me.scrollPos) * me.size_y), eY * me.itemAbsSize_y + eX * (me.itemAbsSize_x * me.columnNameSize));
return;
}
@@ -152,6 +154,7 @@
me.lastClickedTime = time;
}
}
+
void drawListBoxItemNexuizMapList(entity me, float i, vector absSize, float isSelected)
{
// layout: Ping, Map name, Map name, NP, TP, MP
@@ -221,6 +224,7 @@
me.setSelected(me, 0);
}
}
+
void MapList_All(entity btn, entity me)
{
float i;
@@ -232,19 +236,35 @@
cvar_set("g_maplist", substring(s, 1, strlen(s) - 1));
me.refilter(me);
}
+
void MapList_None(entity btn, entity me)
{
cvar_set("g_maplist", "");
me.refilter(me);
}
+
void MapList_LoadMap(entity btn, entity me)
{
string m;
- if(me.selectedItem >= me.nItems || me.selectedItem < 0)
+ float i;
+
+ i = me.selectedItem;
+
+ if(btn.parent.instanceOfNexuizMapInfoDialog)
+ {
+ i = btn.parent.currentMapIndex;
+ Dialog_Close(btn, btn.parent);
+ }
+
+ if(i >= me.nItems || i < 0)
return;
- m = MapInfo_BSPName_ByID(me.selectedItem);
+
+ m = MapInfo_BSPName_ByID(i);
if not(m)
+ {
+ print("Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n");
return;
+ }
if(MapInfo_CheckMap(m))
{
localcmd("\ndisconnect\nwait\nmaxplayers $menu_maxplayers\ng_maplist_shufflenow\nhostname \"", strdecolorize(cvar_string("_cl_name")), "'s Nexuiz server\"\n");
@@ -252,7 +272,7 @@
}
else
{
- print("Huh? Can't play this. Refiltering so this won't happen again.\n");
+ print("Huh? Can't play this (invalid game type). Refiltering so this won't happen again.\n");
me.refilter(me);
}
}
@@ -263,7 +283,7 @@
if(scan == K_ENTER)
{
// pop up map info screen
- main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, me.selectedItem);
+ main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, me.selectedItem, me);
DialogOpenButton_Click_withCoords(NULL, main.mapInfoDialog, me.origin + eX * (me.columnNameOrigin * me.size_x) + eY * ((me.itemHeight * me.selectedItem - me.scrollPos) * me.size_y), eY * me.itemAbsSize_y + eX * (me.itemAbsSize_x * me.columnNameSize));
}
else if(scan == K_SPACE)
@@ -316,4 +336,5 @@
return keyDownListBox(me, scan, ascii, shift);
return 1;
}
+
#endif
More information about the nexuiz-commits
mailing list