2 CLASS(VoretMapInfoDialog) EXTENDS(VoretDialog)
\r
3 METHOD(VoretMapInfoDialog, fill, void(entity))
\r
4 METHOD(VoretMapInfoDialog, loadMapInfo, void(entity, float, entity))
\r
5 ATTRIB(VoretMapInfoDialog, title, string, "Map Information")
\r
6 ATTRIB(VoretMapInfoDialog, color, vector, SKINCOLOR_DIALOG_MAPINFO)
\r
7 ATTRIB(VoretMapInfoDialog, intendedWidth, float, 0.85)
\r
8 ATTRIB(VoretMapInfoDialog, rows, float, 9)
\r
9 ATTRIB(VoretMapInfoDialog, columns, float, 10)
\r
11 ATTRIB(VoretMapInfoDialog, previewImage, entity, NULL)
\r
12 ATTRIB(VoretMapInfoDialog, titleLabel, entity, NULL)
\r
13 ATTRIB(VoretMapInfoDialog, authorLabel, entity, NULL)
\r
14 ATTRIB(VoretMapInfoDialog, descriptionLabel, entity, NULL)
\r
15 ATTRIB(VoretMapInfoDialog, featuresLabel, entity, NULL)
\r
17 ATTRIB(VoretMapInfoDialog, typeDeathmatchLabel, entity, NULL)
\r
18 ATTRIB(VoretMapInfoDialog, typeTDMLabel, entity, NULL)
\r
19 ATTRIB(VoretMapInfoDialog, typeLMSLabel, entity, NULL)
\r
20 ATTRIB(VoretMapInfoDialog, typeArenaLabel, entity, NULL)
\r
21 ATTRIB(VoretMapInfoDialog, typeDominationLabel, entity, NULL)
\r
22 ATTRIB(VoretMapInfoDialog, typeKeyHuntLabel, entity, NULL)
\r
23 ATTRIB(VoretMapInfoDialog, typeCTFLabel, entity, NULL)
\r
24 ATTRIB(VoretMapInfoDialog, typeCALabel, entity, NULL)
\r
25 ATTRIB(VoretMapInfoDialog, typeAssaultLabel, entity, NULL)
\r
26 ATTRIB(VoretMapInfoDialog, typeOnslaughtLabel, entity, NULL)
\r
27 ATTRIB(VoretMapInfoDialog, typeRaceLabel, entity, NULL)
\r
28 ATTRIB(VoretMapInfoDialog, typeCTSLabel, entity, NULL)
\r
29 ATTRIB(VoretMapInfoDialog, typeRPGLabel, entity, NULL)
\r
31 ATTRIB(VoretMapInfoDialog, currentMapIndex, float, 0)
\r
32 ATTRIB(VoretMapInfoDialog, currentMapBSPName, string, string_null)
\r
33 ATTRIB(VoretMapInfoDialog, currentMapTitle, string, string_null)
\r
34 ATTRIB(VoretMapInfoDialog, currentMapAuthor, string, string_null)
\r
35 ATTRIB(VoretMapInfoDialog, currentMapDescription, string, string_null)
\r
36 ATTRIB(VoretMapInfoDialog, currentMapPreviewImage, string, string_null)
\r
37 ATTRIB(VoretMapInfoDialog, currentMapFeaturesText, string, string_null)
\r
38 ENDCLASS(VoretMapInfoDialog)
\r
41 #ifdef IMPLEMENTATION
\r
42 void loadMapInfoVoretMapInfoDialog(entity me, float i, entity mlb)
\r
44 me.currentMapIndex = i;
\r
45 me.startButton.onClickEntity = mlb;
\r
46 MapInfo_Get_ByID(i);
\r
48 if(me.currentMapBSPName)
\r
50 strunzone(me.currentMapBSPName);
\r
51 strunzone(me.currentMapTitle);
\r
52 strunzone(me.currentMapAuthor);
\r
53 strunzone(me.currentMapDescription);
\r
54 strunzone(me.currentMapPreviewImage);
\r
55 strunzone(me.currentMapFeaturesText);
\r
57 me.currentMapBSPName = strzone(MapInfo_Map_bspname);
\r
58 me.currentMapTitle = strzone(MapInfo_Map_title);
\r
59 me.currentMapAuthor = strzone(MapInfo_Map_author);
\r
60 me.currentMapDescription = strzone(MapInfo_Map_description);
\r
61 me.currentMapFeaturesText = strzone((MapInfo_Map_supportedFeatures & MAPINFO_FEATURE_WEAPONS) ? "Full item placement" : "MinstaGib only");
\r
62 me.currentMapPreviewImage = strzone(strcat("/maps/", MapInfo_Map_bspname));
\r
64 me.frame.setText(me.frame, me.currentMapBSPName);
\r
65 me.titleLabel.setText(me.titleLabel, me.currentMapTitle);
\r
66 me.authorLabel.setText(me.authorLabel, me.currentMapAuthor);
\r
67 me.descriptionLabel.setText(me.descriptionLabel, me.currentMapDescription);
\r
68 me.featuresLabel.setText(me.featuresLabel, me.currentMapFeaturesText);
\r
69 me.previewImage.src = me.currentMapPreviewImage;
\r
71 me.typeDeathmatchLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_DEATHMATCH);
\r
72 me.typeTDMLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_TEAM_DEATHMATCH);
\r
73 me.typeLMSLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_LMS);
\r
74 me.typeArenaLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_ARENA);
\r
75 me.typeDominationLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_DOMINATION);
\r
76 me.typeKeyHuntLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_KEYHUNT);
\r
77 me.typeCTFLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_CTF);
\r
78 me.typeCALabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_CA);
\r
79 me.typeAssaultLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_ASSAULT);
\r
80 me.typeOnslaughtLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_ONSLAUGHT);
\r
81 me.typeRaceLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_RACE);
\r
82 me.typeCTSLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_CTS);
\r
83 me.typeRPGLabel.disabled = !(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_RPG);
\r
85 MapInfo_ClearTemps();
\r
87 void fillVoretMapInfoDialog(entity me)
\r
92 me.TDempty(me, 0.2);
\r
93 me.TD(me, me.rows - 2, 3, e = makeVoretImage(string_null, 4.0/3.0));
\r
94 me.previewImage = e;
\r
95 me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
\r
96 w = me.columns - me.currentColumn;
\r
97 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Title:"));
\r
98 me.TD(me, 1, w-1, e = makeVoretTextLabel(0, ""));
\r
99 e.colorL = SKINCOLOR_MAPLIST_TITLE;
\r
103 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Author:"));
\r
104 me.TD(me, 1, w-1, e = makeVoretTextLabel(0, ""));
\r
105 e.colorL = SKINCOLOR_MAPLIST_AUTHOR;
\r
107 me.authorLabel = e;
\r
109 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Features:"));
\r
110 me.TD(me, 1, w-1, e = makeVoretTextLabel(0, ""));
\r
112 me.featuresLabel = e;
\r
114 me.TD(me, 1, w, e = makeVoretTextLabel(0, "Game types:"));
\r
115 me.TR(me); wgt = (w-0.2)/5;
\r
116 me.TDempty(me, 0.2);
\r
117 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "DM"));
\r
118 me.typeDeathmatchLabel = e;
\r
119 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "TDM"));
\r
120 me.typeTDMLabel = e;
\r
121 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "LMS"));
\r
122 me.typeLMSLabel = e;
\r
123 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "Arena"));
\r
124 me.typeArenaLabel = e;
\r
125 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "Domination"));
\r
126 me.typeDominationLabel = e;
\r
128 me.TDempty(me, 0.2);
\r
129 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "Key Hunt"));
\r
130 me.typeKeyHuntLabel = e;
\r
131 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "CTF"));
\r
132 me.typeCTFLabel = e;
\r
133 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "CA"));
\r
134 me.typeCALabel = e;
\r
135 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "Assault"));
\r
136 me.typeAssaultLabel = e;
\r
137 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "Onslaught"));
\r
138 me.typeOnslaughtLabel = e;
\r
140 me.TDempty(me, 0.2);
\r
141 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "Race"));
\r
142 me.typeRaceLabel = e;
\r
143 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "CTS"));
\r
144 me.typeCTSLabel = e;
\r
145 me.TD(me, 1, wgt, e = makeVoretTextLabel(0, "RPG"));
\r
146 me.typeRPGLabel = e;
\r
148 me.gotoRC(me, me.rows - 2, 0);
\r
149 me.TD(me, 1, me.columns, e = makeVoretTextLabel(0.5, ""));
\r
151 me.descriptionLabel = e;
\r
153 me.gotoRC(me, me.rows - 1, 0);
\r
154 me.TDempty(me, 0.5);
\r
156 me.TD(me, 1, me.columns - 5.5, e = makeVoretButton("Close", '0 0 0'));
\r
157 e.onClick = Dialog_Close;
\r
158 e.onClickEntity = me;
\r
159 me.TD(me, 1, me.columns - 5.5, me.startButton = e = makeVoretButton("Play", '0 0 0'));
\r
160 me.startButton.onClick = MapList_LoadMap;
\r
161 me.startButton.onClickEntity = NULL; // filled later
\r
162 me.TDempty(me, 0.5);
\r