ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/preprocess
(Generate patch)

Comparing deliantra/server/include/preprocess (file contents):
Revision 1.4 by root, Sun Sep 3 22:45:56 2006 UTC vs.
Revision 1.23 by root, Tue Apr 17 18:59:06 2007 UTC

1#!/opt/bin/perl 1#!/opt/bin/perl
2
3my %ARG = @ARGV;
2 4
3use List::Util; 5use List::Util;
4 6
5# todo: gather dynamically 7# todo: gather dynamically
6my @kw = qw( 8my @kw = qw(
66 cursed 68 cursed
67 custom_name 69 custom_name
68 dam 70 dam
69 dam_modifier 71 dam_modifier
70 damned 72 damned
73 destroy_on_death
71 dex 74 dex
72 direction 75 direction
73 duration 76 duration
74 duration_modifier 77 duration_modifier
75 editable 78 editable
92 has_ready_rod 95 has_ready_rod
93 has_ready_scroll 96 has_ready_scroll
94 has_ready_skill 97 has_ready_skill
95 has_ready_wand 98 has_ready_wand
96 has_ready_weapon 99 has_ready_weapon
100 has_ready_range
97 hitback 101 hitback
98 hp 102 hp
99 identified 103 identified
100 immune 104 immune
105 inherit
101 int 106 int
102 inv_locked 107 inv_locked
103 invisible 108 invisible
104 is_animated 109 is_animated
105 is_blind 110 is_blind
106 is_buildable 111 is_buildable
107 is_cauldron 112 is_cauldron
113 is_dust
108 is_floor 114 is_floor
109 is_hilly 115 is_hilly
110 is_lightable 116 is_lightable
111 is_thrown 117 is_thrown
112 is_turnable 118 is_turnable
153 no_pick 159 no_pick
154 no_skill_ident 160 no_skill_ident
155 no_steal 161 no_steal
156 no_strength 162 no_strength
157 nrof 163 nrof
164 obj_original
158 object 165 object
159 oid 166 oid
160 one_hit 167 one_hit
161 only_attack 168 only_attack
162 other_arch 169 other_arch
164 path_attuned 171 path_attuned
165 path_denied 172 path_denied
166 path_repelled 173 path_repelled
167 perm_exp 174 perm_exp
168 pick_up 175 pick_up
176 player_sold
169 pow 177 pow
170 protected 178 protected
171 race 179 race
172 random_move 180 random_move
173 random_movement 181 random_movement
223 str 231 str
224 subtype 232 subtype
225 tear_down 233 tear_down
226 title 234 title
227 tooltype 235 tooltype
228 treasure
229 type 236 type
230 unaggressive 237 unaggressive
231 undead 238 undead
232 unique 239 unique
233 unpaid 240 unpaid
234 use_content_on_gen 241 use_content_on_gen
242 uuid
235 value 243 value
236 vulnerable 244 vulnerable
237 was_wiz 245 was_wiz
238 wc 246 wc
239 weapontype 247 weapontype
242 wis 250 wis
243 wiz 251 wiz
244 x 252 x
245 xrays 253 xrays
246 y 254 y
255
256 maplore
257 endmaplore
258 enter_x
259 enter_y
260 width
261 height
262 reset_timeout
263 reset_time
264 swap_time
265 difficulty
266 darkness
267 fixed_resettime
268 per_player
269 per_party
270 region
271 shopitems
272 shopgreed
273 shopmin
274 shopmax
275 shoprace
276 outdoor
277 tile_path_1
278 tile_path_2
279 tile_path_3
280 tile_path_4
281
282 file_format_version
283
284 temp
285 pressure
286 humid
287 windspeed
288 winddir
289 sky
290
291 map
292 savebed_map
293 bed_x
294 bed_y
295 password
296 shoottype
297 bowtype
298 petmode
299 gen_hp
300 gen_sp
301 gen_grace
302 listening
303 peaceful
304 digestion
305 pickup
306 outputs_sync
307 outputs_count
308 usekeys
309 unapply
310 weapon_sp
311 lev_array
312 endplst
313
314 visibility
315 magicmap
316
317 match
318 parent
319 longname
320 jail_map
321 jail_x
322 jail_y
323 fallback
324 nomore
325
326 chance
327 mods
328 diff
329 saves
330 description
331 density
332 damage
333
334 anim
335 mina
336 facings
337 player
338
339 allowed
340 keycode
341 trans
342 yield
343 ingred
344 cauldron
345
346 Str
347 Dex
348 Con
349 Wis
350 Cha
351 Int
352 Pow
353
354 treasure
355 treasureone
356 list
357 change_name
358 change_title
359 change_slaying
360 yes
361 no
247); 362);
248 363
249open GPERF, "|-", "gperf -m50 >kw_hash.h" 364open GPERF, "|-", "exec $ARG{GPERF} -m50 >kw_hash.h"
250 or die "gperf: $!"; 365 or die "$ARGV{GPERF}: $!";
251 366
252print GPERF <<EOF; 367print GPERF <<EOF;
253%language=C++ 368%language=C++
254%enum 369%enum
255%define class-name kw_lex 370%define class-name kw_lex
256%define lookup-function-name match 371%define lookup-function-name match
257%struct-type 372%struct-type
258%compare-strncmp 373%compare-strncmp
259%ignore-case
260%delimiters=, 374%delimiters=,
261struct keyword_idx { const char *name; enum keyword index; }; 375struct keyword_idx { const char *name; enum keyword index; };
262%% 376%%
263EOF 377EOF
264 378
280print GPERF "};\n"; 394print GPERF "};\n";
281 395
282printf GPERF "\nextern const unsigned char keyword_len [] = { 5, 7, %s };\n\n", 396printf GPERF "\nextern const unsigned char keyword_len [] = { 5, 7, %s };\n\n",
283 join ", ", map length, @kw; 397 join ", ", map length, @kw;
284 398
399close GPERF
400 or die "$ARG{GPERF}: failed to run";
401
285open KW, ">", "keyword.h"; 402open KW, ">", "keyword.h";
286 403
287print KW <<EOF; 404print KW <<EOF;
288#ifndef KW_H__ 405#ifndef KW_H__
289#define KW_H__ 406#define KW_H__
290 407
291enum keyword { 408enum keyword {
292 KW_EOF, KW_ERROR, 409 KW_NULL = 0,
410 KW_EOF = 0,
411 KW_ERROR,
293EOF 412EOF
294 413
295for (@kw) { 414for (@kw) {
296 printf KW " %s,\n", "KW_$_", 415 printf KW " %s,\n", "KW_$_",
297} 416}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines