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.17 by root, Fri Feb 9 01:52:10 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
101 int 105 int
103 invisible 107 invisible
104 is_animated 108 is_animated
105 is_blind 109 is_blind
106 is_buildable 110 is_buildable
107 is_cauldron 111 is_cauldron
112 is_dust
108 is_floor 113 is_floor
109 is_hilly 114 is_hilly
110 is_lightable 115 is_lightable
111 is_thrown 116 is_thrown
112 is_turnable 117 is_turnable
153 no_pick 158 no_pick
154 no_skill_ident 159 no_skill_ident
155 no_steal 160 no_steal
156 no_strength 161 no_strength
157 nrof 162 nrof
163 obj_original
158 object 164 object
159 oid 165 oid
160 one_hit 166 one_hit
161 only_attack 167 only_attack
162 other_arch 168 other_arch
164 path_attuned 170 path_attuned
165 path_denied 171 path_denied
166 path_repelled 172 path_repelled
167 perm_exp 173 perm_exp
168 pick_up 174 pick_up
175 player_sold
169 pow 176 pow
170 protected 177 protected
171 race 178 race
172 random_move 179 random_move
173 random_movement 180 random_movement
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 Object
257 Str
258 Dex
259 Con
260 Wis
261 Cha
262 Int
263 Pow
264 More
265
266 maplore
267 endmaplore
268 enter_x
269 enter_y
270 width
271 height
272 reset_timeout
273 reset_time
274 swap_time
275 difficulty
276 darkness
277 fixed_resettime
278 per_player
279 per_party
280 region
281 shopitems
282 shopgreed
283 shopmin
284 shopmax
285 shoprace
286 outdoor
287 tile_path_1
288 tile_path_2
289 tile_path_3
290 tile_path_4
291
292 file_format_version
293
294 temp
295 pressure
296 humid
297 windspeed
298 winddir
299 sky
300
301 map
302 savebed_map
303 bed_x
304 bed_y
305 password
306 shoottype
307 bowtype
308 petmode
309 gen_hp
310 gen_sp
311 gen_grace
312 listening
313 peaceful
314 digestion
315 pickup
316 outputs_sync
317 outputs_count
318 usekeys
319 unapply
320 weapon_sp
321 lev_array
322 endplst
323
324 color_fg
325 color_bg
326 visibility
327 magicmap
328
329 parent
330 longname
331 jail_map
332 jail_x
333 jail_y
334 fallback
335 nomore
336
337 chance
338 mods
339 diff
340 saves
341 description
342 density
343 damage
344
345 anim
346 mina
347 facings
247); 348);
248 349
249open GPERF, "|-", "gperf -m50 >kw_hash.h" 350open GPERF, "|-", "exec $ARG{GPERF} -m50 >kw_hash.h"
250 or die "gperf: $!"; 351 or die "$ARGV{GPERF}: $!";
251 352
252print GPERF <<EOF; 353print GPERF <<EOF;
253%language=C++ 354%language=C++
254%enum 355%enum
255%define class-name kw_lex 356%define class-name kw_lex
256%define lookup-function-name match 357%define lookup-function-name match
257%struct-type 358%struct-type
258%compare-strncmp 359%compare-strncmp
259%ignore-case
260%delimiters=, 360%delimiters=,
261struct keyword_idx { const char *name; enum keyword index; }; 361struct keyword_idx { const char *name; enum keyword index; };
262%% 362%%
263EOF 363EOF
264 364
280print GPERF "};\n"; 380print GPERF "};\n";
281 381
282printf GPERF "\nextern const unsigned char keyword_len [] = { 5, 7, %s };\n\n", 382printf GPERF "\nextern const unsigned char keyword_len [] = { 5, 7, %s };\n\n",
283 join ", ", map length, @kw; 383 join ", ", map length, @kw;
284 384
385close GPERF
386 or die "$ARG{GPERF}: failed to run";
387
285open KW, ">", "keyword.h"; 388open KW, ">", "keyword.h";
286 389
287print KW <<EOF; 390print KW <<EOF;
288#ifndef KW_H__ 391#ifndef KW_H__
289#define KW_H__ 392#define KW_H__
290 393
291enum keyword { 394enum keyword {
292 KW_EOF, KW_ERROR, 395 KW_NULL = 0,
396 KW_EOF = 0,
397 KW_ERROR,
293EOF 398EOF
294 399
295for (@kw) { 400for (@kw) {
296 printf KW " %s,\n", "KW_$_", 401 printf KW " %s,\n", "KW_$_",
297} 402}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines