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