1 /*
2 * file atom .c - predefined atoms fast database access
3 *
4 * $Id: atom.c,v 1.21 2006/02/09 21:21:22 fzago Exp $
5 *
6 * Program XBLAST
7 * (C) by Oliver Vogel (e-mail: m.vogel@ndh.net)
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published
11 * by the Free Software Foundation; either version 2; or (at your option)
12 * any later version
13 *
14 * This program is distributed in the hope that it will be entertaining,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILTY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
17 * Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, write to the Free Software Foundation, Inc.
21 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23
24 #include "xblast.h"
25
26 /*
27 * global variables
28 */
29 XBAtom atomAllLevels;
30 XBAtom atomAllowNat;
31 XBAtom atomArmsLegs;
32 XBAtom atomAuthor;
33 XBAtom atomBackpack;
34 XBAtom atomBeep;
35 XBAtom atomBody;
36 XBAtom atomBombClick;
37 XBAtom atomBombs;
38 XBAtom atomBot;
39 XBAtom atomBottom;
40 XBAtom atomBrowseLan;
41 XBAtom atomCentral; // XBCC
42 XBAtom atomCentralJoinName; // XBCC
43 XBAtom atomCentralJoinPort; // XBCC
44 XBAtom atomCentralLocal; // XBCC
45 XBAtom atomCentralRemote; // XBCC
46 XBAtom atomClient;
47 XBAtom atomColor;
48 XBAtom atomControl;
49 XBAtom atomDarkText1;
50 XBAtom atomDarkText2;
51 XBAtom atomDefault;
52 XBAtom atomDemo;
53 XBAtom atomDirection;
54 XBAtom atomDrawGame;
55 XBAtom atomExtra;
56 XBAtom atomExtraDistribution;
57 XBAtom atomFace;
58 XBAtom atomFixedUdpPort;
59 XBAtom atomFont;
60 XBAtom atomFontMini;
61 XBAtom atomFrameRate;
62 XBAtom atomFrames;
63 XBAtom atomFunc;
64 XBAtom atomFuseTime;
65 XBAtom atomGame;
66 XBAtom atomGameMode;
67 XBAtom atomGeneral;
68 XBAtom atomGeometry;
69 XBAtom atomGraphics;
70 XBAtom atomHandsFeet;
71 XBAtom atomHaunt;
72 XBAtom atomHelmet;
73 XBAtom atomHidden;
74 XBAtom atomHint;
75 XBAtom atomHost;
76 XBAtom atomIfRecLives;
77 XBAtom atomInfo;
78 XBAtom atomInfoTime; // LRF
79 XBAtom atomInitExtra;
80 XBAtom atomInitVirus;
81 XBAtom atomKey;
82 XBAtom atomKeyAbort;
83 XBAtom atomKeyAbortCancel;
84 /* Skywalker */
85 XBAtom atomKeyLaola;
86 XBAtom atomKeyLooser;
87 XBAtom atomKeyBot;
88 XBAtom atomKeyChatStart;
89 XBAtom atomKeyChatChangeReceiver;
90 XBAtom atomKeyChatSend;
91 XBAtom atomKeyChatCancel;
92 /* */
93 XBAtom atomKeyBomb;
94 XBAtom atomKeyDown;
95 XBAtom atomKeyLeft;
96 XBAtom atomKeyPause;
97 XBAtom atomKeyRight;
98 XBAtom atomKeySpecial;
99 XBAtom atomKeyStop;
100 XBAtom atomKeyUp;
101 XBAtom atomLarge;
102 XBAtom atomLastPlayed; // LRF
103 XBAtom atomLeft;
104 XBAtom atomLeftKeyboard;
105 XBAtom atomLevel;
106 XBAtom atomLevelOrder; // LRF
107 XBAtom atomLevelShuffled;
108 XBAtom atomLevelSorted;
109 XBAtom atomLevelStat;
110 XBAtom atomLightText1;
111 XBAtom atomLightText2;
112 XBAtom atomLives;
113 XBAtom atomLocal;
114 XBAtom atomMap;
115 XBAtom atomMaskBytes;
116 XBAtom atomMaxHosts;
117 XBAtom atomMaxLocals;
118 XBAtom atomMaxMaskBytes;
119 XBAtom atomMaxPlayers;
120 XBAtom atomMedium;
121 XBAtom atomMissing;
122 XBAtom atomMode;
123 XBAtom atomMsgGloat;
124 XBAtom atomMsgLaola;
125 XBAtom atomMsgLoseLevel;
126 XBAtom atomMsgLoseLife;
127 XBAtom atomMsgLoser;
128 XBAtom atomMsgWelcome;
129 XBAtom atomMsgWinGame;
130 XBAtom atomMsgWinLevel;
131 XBAtom atomMusic;
132 XBAtom atomName;
133 XBAtom atomNastyCeil;
134 XBAtom atomNastyGentle;
135 XBAtom atomNastyRange;
136 XBAtom atomNextNasty;
137 XBAtom atomNumBlocks;
138 XBAtom atomNumFrames;
139 XBAtom atomNumPlayers;
140 XBAtom atomOutOfTime;
141 XBAtom atomPlayer;
142 XBAtom atomPass; // XBCC
143 XBAtom atomPID; // XBCC
144 XBAtom atomPlayerClick;
145 XBAtom atomPlayerRating; // XBCC
146 XBAtom atomPlayerStat;
147 XBAtom atomPort;
148 XBAtom atomProbBomb;
149 XBAtom atomProbHidden;
150 XBAtom atomProbRange;
151 XBAtom atomProbSpecial;
152 XBAtom atomProbVirus;
153 XBAtom atomRandomLevels;
154 XBAtom atomRandomPlayers;
155 XBAtom atomRandomSeed;
156 XBAtom atomRange;
157 XBAtom atomRatedGame; // XBCC
158 XBAtom atomRecLives;
159 XBAtom atomRecordDemo;
160 XBAtom atomRecorded;
161 XBAtom atomRemote;
162 XBAtom atomRemoteGame;
163 XBAtom atomRemotePlayer;
164 XBAtom atomResults;
165 XBAtom atomReviveExtra;
166 XBAtom atomReviveVirus;
167 XBAtom atomRight;
168 XBAtom atomRightKeyboard;
169 XBAtom atomScrambleDel;
170 XBAtom atomScrambleDraw;
171 XBAtom atomSelect;
172 XBAtom atomServer;
173 XBAtom atomShape;
174 XBAtom atomShrink;
175 XBAtom atomShuffle;
176 XBAtom atomSlowFlame;
177 XBAtom atomSmall;
178 XBAtom atomSound;
179 XBAtom atomSpecial;
180 XBAtom atomSpecialBombs;
181 XBAtom atomStatusBg;
182 XBAtom atomStatusFg;
183 XBAtom atomStatusLed;
184 XBAtom atomStereo;
185 XBAtom atomTeamMode;
186 XBAtom atomTime;
187 XBAtom atomTimeRatings;
188 XBAtom atomTitleBg;
189 XBAtom atomTitleFg;
190 XBAtom atomTop;
191 XBAtom atomTotal;
192 XBAtom atomTurnStepKeyboard;
193 XBAtom atomTurnStepJoystick;
194 XBAtom atomType;
195 XBAtom atomUseStopKey;
196 XBAtom atomVersionMajor;
197 XBAtom atomVersionMinor;
198 XBAtom atomVersionPatch;
199 XBAtom atomVideo;
200 XBAtom atomWallClick;
201 XBAtom atomWin32;
202 XBAtom atomWinner;
203 XBAtom atomWins;
204 XBAtom atomX11;
205 XBAtom atomXBCCRating; // XBCC
206 XBAtom atomXBCCGamesPlayed; // XBCC
207 XBAtom atomXBCCRealWins; // XBCC
208 XBAtom atomXBCCRelativeWins; // XBCC
209 XBAtom atomXBCCTimeUpdate; // XBCC
210 XBAtom atomXBCCTimeRegister; // XBCC
211 XBAtom atomXblast;
212
213 XBAtom atomArrayBlock00[MAX_BLOCK];
214 XBAtom atomArrayControl0[MAX_PLAYER + 1];
215 XBAtom atomArrayHost0[MAX_HOSTS];
216 XBAtom atomArrayPlayer0[MAX_PLAYER + 1];
217 XBAtom atomArrayPos0[MAX_PLAYER + 1];
218 XBAtom atomArrayPos000[MAZE_W * MAZE_H];
219 XBAtom atomArrayRow00[MAZE_H];
220 XBAtom atomArrayTeam0[MAX_PLAYER + 1];
221 XBAtom atomGamehis[10];
222 XBAtom atomPorthis[10];
223
224 /*
225 * initialize predefined atoms
226 */
227 void
InitDefaultAtoms(void)228 InitDefaultAtoms (void)
229 {
230 int i;
231 /* skalars */
232 atomAllLevels = GUI_StringToAtom ("allLevels");
233 atomAllowNat = GUI_StringToAtom ("allowNat");
234 atomArmsLegs = GUI_StringToAtom ("armsLegs");
235 atomAuthor = GUI_StringToAtom ("author");
236 atomAuthor = GUI_StringToAtom ("author");
237 atomBackpack = GUI_StringToAtom ("backpack");
238 atomBeep = GUI_StringToAtom ("beep");
239 atomBody = GUI_StringToAtom ("body");
240 atomBombClick = GUI_StringToAtom ("bombClick");
241 atomBombs = GUI_StringToAtom ("bombs");
242 atomBot = GUI_StringToAtom ("bot");
243 atomBottom = GUI_StringToAtom ("bottom");
244 atomBrowseLan = GUI_StringToAtom ("browseLan");
245 atomServer = GUI_StringToAtom ("server");
246 atomClient = GUI_StringToAtom ("client");
247 atomCentral = GUI_StringToAtom ("central"); // XBCC
248 atomCentralJoinName = GUI_StringToAtom ("centraljoinname"); // XBCC
249 atomCentralJoinPort = GUI_StringToAtom ("centraljoinport"); // XBCC
250 atomCentralLocal = GUI_StringToAtom ("localStat"); // XBCC
251 atomCentralRemote = GUI_StringToAtom ("remoteStat"); // XBCC
252 atomColor = GUI_StringToAtom ("color");
253 atomControl = GUI_StringToAtom ("control");
254 atomDarkText1 = GUI_StringToAtom ("darkText1");
255 atomDarkText2 = GUI_StringToAtom ("darkText2");
256 atomDefault = GUI_StringToAtom ("default");
257 atomDemo = GUI_StringToAtom ("demo");
258 atomDirection = GUI_StringToAtom ("direction");
259 atomDrawGame = GUI_StringToAtom ("drawGame");
260 atomExtra = GUI_StringToAtom ("extra");
261 atomExtraDistribution = GUI_StringToAtom ("extraDistribution");
262 atomFace = GUI_StringToAtom ("face");
263 atomFixedUdpPort = GUI_StringToAtom ("fixedUdpPort");
264 atomFont = GUI_StringToAtom ("font");
265 atomFontMini = GUI_StringToAtom ("fontMini");
266 atomFrameRate = GUI_StringToAtom ("frameRate");
267 atomFrames = GUI_StringToAtom ("frames");
268 atomFunc = GUI_StringToAtom ("func");
269 atomFuseTime = GUI_StringToAtom ("fuseTime");
270 atomGame = GUI_StringToAtom ("game");
271 atomGameMode = GUI_StringToAtom ("gameMode");
272 atomGeneral = GUI_StringToAtom ("general");
273 atomGeometry = GUI_StringToAtom ("geometry");
274 atomGraphics = GUI_StringToAtom ("graphics");
275 atomHandsFeet = GUI_StringToAtom ("handsFeet");
276 atomHaunt = GUI_StringToAtom ("haunt");
277 atomHelmet = GUI_StringToAtom ("helmet");
278 atomHidden = GUI_StringToAtom ("hidden");
279 atomHint = GUI_StringToAtom ("hint");
280 atomHost = GUI_StringToAtom ("host");
281 atomIfRecLives = GUI_StringToAtom ("ifRecLives");
282 atomInfo = GUI_StringToAtom ("info");
283 atomInfoTime = GUI_StringToAtom ("infoTime");
284 atomInitExtra = GUI_StringToAtom ("initExtra");
285 atomInitVirus = GUI_StringToAtom ("initVirus");
286 atomKey = GUI_StringToAtom ("key");
287 atomKeyAbort = GUI_StringToAtom ("keyAbort");
288 atomKeyAbortCancel = GUI_StringToAtom ("keyAbortCancel");
289 /* Skywalker */
290 atomKeyLaola = GUI_StringToAtom ("keyLaola");
291 atomKeyLooser = GUI_StringToAtom ("keyLooser");
292 atomKeyBot = GUI_StringToAtom ("keyBot");
293 atomKeyChatCancel = GUI_StringToAtom ("keyChatCancel");
294 atomKeyChatChangeReceiver = GUI_StringToAtom ("keyChatChangeReceiver");
295 atomKeyChatStart = GUI_StringToAtom ("keyChatStart");
296 atomKeyChatSend = GUI_StringToAtom ("keyChatSend");
297 /* */
298 atomKeyBomb = GUI_StringToAtom ("keyBomb");
299 atomKeyDown = GUI_StringToAtom ("keyDown");
300 atomKeyLeft = GUI_StringToAtom ("keyLeft");
301 atomKeyPause = GUI_StringToAtom ("keyPause");
302 atomKeyRight = GUI_StringToAtom ("keyRight");
303 atomKeySpecial = GUI_StringToAtom ("keySpecial");
304 atomKeyStop = GUI_StringToAtom ("keyStop");
305 atomKeyUp = GUI_StringToAtom ("keyUp");
306 atomLarge = GUI_StringToAtom ("large");
307 atomLastPlayed = GUI_StringToAtom ("lastPlayed"); // LRF
308 atomLeft = GUI_StringToAtom ("left");
309 atomLeftKeyboard = GUI_StringToAtom ("leftKeyboard");
310 atomLevel = GUI_StringToAtom ("level");
311 atomLevelOrder = GUI_StringToAtom ("levelOrder"); // LRF
312 atomLevelShuffled = GUI_StringToAtom ("levelShuffled");
313 atomLevelSorted = GUI_StringToAtom ("levelSorted");
314 atomLevelStat = GUI_StringToAtom ("levelStat");
315 atomLightText1 = GUI_StringToAtom ("lightText1");
316 atomLightText2 = GUI_StringToAtom ("lightText2");
317 atomLives = GUI_StringToAtom ("lives");
318 atomLocal = GUI_StringToAtom ("local");
319 atomMap = GUI_StringToAtom ("map");
320 atomMaskBytes = GUI_StringToAtom ("maskBytes");
321 atomMaxHosts = GUI_StringToAtom ("maxHosts");
322 atomMaxLocals = GUI_StringToAtom ("maxLocals");
323 atomMaxMaskBytes = GUI_StringToAtom ("maxMaskBytes");
324 atomMaxPlayers = GUI_StringToAtom ("maxPlayers");
325 atomMedium = GUI_StringToAtom ("medium");
326 atomMissing = GUI_StringToAtom ("missing");
327 atomMode = GUI_StringToAtom ("mode");
328 atomMsgGloat = GUI_StringToAtom ("msgGloat");
329 atomMsgLaola = GUI_StringToAtom ("msgLaola");
330 atomMsgLoseLevel = GUI_StringToAtom ("msgLoseLevel");
331 atomMsgLoseLife = GUI_StringToAtom ("msgLoseLife");
332 atomMsgLoser = GUI_StringToAtom ("msgLoser");
333 atomMsgWelcome = GUI_StringToAtom ("msgWelcome");
334 atomMsgWinGame = GUI_StringToAtom ("msgWinGame");
335 atomMsgWinLevel = GUI_StringToAtom ("msgWinLevel");
336 atomMusic = GUI_StringToAtom ("music");
337 atomName = GUI_StringToAtom ("name");
338 atomNastyCeil = GUI_StringToAtom ("nastyCeil");
339 atomNastyGentle = GUI_StringToAtom ("nastyGentle");
340 atomNastyRange = GUI_StringToAtom ("nastyRange");
341 atomNextNasty = GUI_StringToAtom ("nextNasty");
342 atomNumBlocks = GUI_StringToAtom ("numBlocks");
343 atomNumFrames = GUI_StringToAtom ("numFrames");
344 atomNumPlayers = GUI_StringToAtom ("numPlayers");
345 atomOutOfTime = GUI_StringToAtom ("outOfTime");
346 atomPass = GUI_StringToAtom ("pass"); // XBCC
347 atomPID = GUI_StringToAtom ("PID"); // XBCC
348 atomPlayer = GUI_StringToAtom ("player");
349 atomPlayerClick = GUI_StringToAtom ("playerClick");
350 atomPlayerRating = GUI_StringToAtom ("playerRating"); // XBCC
351 atomPlayerStat = GUI_StringToAtom ("playerStat");
352 atomPort = GUI_StringToAtom ("port");
353 atomProbBomb = GUI_StringToAtom ("probBomb");
354 atomProbHidden = GUI_StringToAtom ("probHidden");
355 atomProbRange = GUI_StringToAtom ("probRange");
356 atomProbSpecial = GUI_StringToAtom ("probSpecial");
357 atomProbVirus = GUI_StringToAtom ("probVirus");
358 atomRandomLevels = GUI_StringToAtom ("randomLevels");
359 atomRandomPlayers = GUI_StringToAtom ("randomPlayers");
360 atomRandomSeed = GUI_StringToAtom ("randomSeed");
361 atomRatedGame = GUI_StringToAtom ("ratedGame"); // XBCC
362 atomRange = GUI_StringToAtom ("range");
363 atomRecLives = GUI_StringToAtom ("reclives");
364 atomRecordDemo = GUI_StringToAtom ("recordDemo");
365 atomRecorded = GUI_StringToAtom ("recorded");
366 atomRemote = GUI_StringToAtom ("remote");
367 atomRemoteGame = GUI_StringToAtom ("remoteGame");
368 atomRemotePlayer = GUI_StringToAtom ("remotePlayer");
369 atomResults = GUI_StringToAtom ("results");
370 atomReviveExtra = GUI_StringToAtom ("reviveExtra");
371 atomReviveVirus = GUI_StringToAtom ("reviveVirus");
372 atomRight = GUI_StringToAtom ("right");
373 atomRightKeyboard = GUI_StringToAtom ("rightKeyboard");
374 atomScrambleDel = GUI_StringToAtom ("scrambleDel");
375 atomScrambleDraw = GUI_StringToAtom ("scrambleDraw");
376 atomSelect = GUI_StringToAtom ("select");
377 atomServer = GUI_StringToAtom ("server");
378 atomShape = GUI_StringToAtom ("shape");
379 atomShrink = GUI_StringToAtom ("shrink");
380 atomShuffle = GUI_StringToAtom ("shuffle");
381 atomSlowFlame = GUI_StringToAtom ("slowMotionBurst");
382 atomSmall = GUI_StringToAtom ("small");
383 atomSound = GUI_StringToAtom ("sound");
384 atomSpecial = GUI_StringToAtom ("special");
385 atomSpecialBombs = GUI_StringToAtom ("specialBombs");
386 atomStatusBg = GUI_StringToAtom ("statusBg");
387 atomStatusFg = GUI_StringToAtom ("statusFg");
388 atomStatusLed = GUI_StringToAtom ("statusLed");
389 atomStereo = GUI_StringToAtom ("stereo");
390 atomTeamMode = GUI_StringToAtom ("teamMode");
391 atomTime = GUI_StringToAtom ("time");
392 atomTimeRatings = GUI_StringToAtom ("ratings");
393 atomTitleBg = GUI_StringToAtom ("titleBg");
394 atomTitleFg = GUI_StringToAtom ("titleFg");
395 atomTurnStepKeyboard = GUI_StringToAtom ("turnStepKeyboard");
396 atomTurnStepJoystick = GUI_StringToAtom ("turnStepJoystick");
397 atomTop = GUI_StringToAtom ("top");
398 atomTotal = GUI_StringToAtom ("total");
399 atomType = GUI_StringToAtom ("type");
400 atomUseStopKey = GUI_StringToAtom ("useStopKey");
401 atomVersionMajor = GUI_StringToAtom ("major");
402 atomVersionMinor = GUI_StringToAtom ("minor");
403 atomVersionPatch = GUI_StringToAtom ("patch");
404 atomVideo = GUI_StringToAtom ("video");
405 atomWallClick = GUI_StringToAtom ("wallClick");
406 atomWin32 = GUI_StringToAtom ("win32");
407 atomWinner = GUI_StringToAtom ("winner");
408 atomWins = GUI_StringToAtom ("wins");
409 atomX11 = GUI_StringToAtom ("x11");
410 atomXblast = GUI_StringToAtom ("xblast");
411 atomXBCCRating = GUI_StringToAtom ("XBCCRating"); // XBCC
412 atomXBCCGamesPlayed = GUI_StringToAtom ("XBCCGamesPlayed");
413 atomXBCCRealWins = GUI_StringToAtom ("XBCCRealWins");
414 atomXBCCRelativeWins = GUI_StringToAtom ("XBCCRelativeWins");
415 atomXBCCTimeUpdate = GUI_StringToAtom ("XBCCTimeUpdate");
416 atomXBCCTimeRegister = GUI_StringToAtom ("XBCCTimeRegister");
417 /* arrays */
418 for (i = 0; i < MAX_BLOCK; i++) {
419 atomArrayBlock00[i] = GUI_FormatToAtom ("block%02d", i);
420 }
421 for (i = 0; i < MAX_HOSTS; i++) {
422 atomArrayHost0[i] = GUI_FormatToAtom ("host%01d", i);
423 }
424 for (i = 0; i <= MAX_PLAYER; i++) {
425 atomArrayControl0[i] = GUI_FormatToAtom ("control%1d", i);
426 atomArrayPos0[i] = GUI_FormatToAtom ("pos%1d", i);
427 atomArrayPlayer0[i] = GUI_FormatToAtom ("player%1d", i);
428 atomArrayTeam0[i] = GUI_FormatToAtom ("team%1d", i);
429 }
430 for (i = 0; i < MAZE_W * MAZE_H; i++) {
431 atomArrayPos000[i] = GUI_FormatToAtom ("pos%03d", i);
432 }
433 for (i = 0; i < MAZE_H; i++) {
434 atomArrayRow00[i] = GUI_FormatToAtom ("row%02d", i);
435 }
436 for (i = 0; i < 10; i++) {
437 atomGamehis[i] = GUI_FormatToAtom ("game%i", i);
438 atomPorthis[i] = GUI_FormatToAtom ("port%i", i);
439 }
440 } /* InitDefaultAtoms */
441
442 /*
443 * end of file atom.c
444 */
445