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.10 by root, Sun Dec 31 21:26:18 2006 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(
92 has_ready_rod 94 has_ready_rod
93 has_ready_scroll 95 has_ready_scroll
94 has_ready_skill 96 has_ready_skill
95 has_ready_wand 97 has_ready_wand
96 has_ready_weapon 98 has_ready_weapon
99 has_ready_range
97 hitback 100 hitback
98 hp 101 hp
99 identified 102 identified
100 immune 103 immune
101 int 104 int
103 invisible 106 invisible
104 is_animated 107 is_animated
105 is_blind 108 is_blind
106 is_buildable 109 is_buildable
107 is_cauldron 110 is_cauldron
111 is_dust
108 is_floor 112 is_floor
109 is_hilly 113 is_hilly
110 is_lightable 114 is_lightable
111 is_thrown 115 is_thrown
112 is_turnable 116 is_turnable
164 path_attuned 168 path_attuned
165 path_denied 169 path_denied
166 path_repelled 170 path_repelled
167 perm_exp 171 perm_exp
168 pick_up 172 pick_up
173 player_sold
169 pow 174 pow
170 protected 175 protected
171 race 176 race
172 random_move 177 random_move
173 random_movement 178 random_movement
230 unaggressive 235 unaggressive
231 undead 236 undead
232 unique 237 unique
233 unpaid 238 unpaid
234 use_content_on_gen 239 use_content_on_gen
240 uuid
235 value 241 value
236 vulnerable 242 vulnerable
237 was_wiz 243 was_wiz
238 wc 244 wc
239 weapontype 245 weapontype
242 wis 248 wis
243 wiz 249 wiz
244 x 250 x
245 xrays 251 xrays
246 y 252 y
253
254 Object
255 Str
256 Dex
257 Con
258 Wis
259 Cha
260 Int
261 Pow
262 More
263
264 maplore
265 endmaplore
266 enter_x
267 enter_y
268 width
269 height
270 reset_timeout
271 reset_time
272 swap_time
273 difficulty
274 darkness
275 fixed_resettime
276 per_player
277 per_party
278 region
279 shopitems
280 shopgreed
281 shopmin
282 shopmax
283 shoprace
284 outdoor
285 tile_path_1
286 tile_path_2
287 tile_path_3
288 tile_path_4
289
290 file_format_version
291
292 temp
293 pressure
294 humid
295 windspeed
296 winddir
297 sky
298
299 map
300 savebed_map
301 bed_x
302 bed_y
303 password
304 explore
305 shoottype
306 bowtype
307 petmode
308 gen_hp
309 gen_sp
310 gen_grace
311 listening
312 peaceful
313 digestion
314 pickup
315 outputs_sync
316 outputs_count
317 usekeys
318 unapply
319 weapon_sp
320 lev_array
321 endplst
247); 322);
248 323
249open GPERF, "|-", "gperf -m50 >kw_hash.h" 324open GPERF, "|-", "exec $ARG{GPERF} -m50 >kw_hash.h"
250 or die "gperf: $!"; 325 or die "$ARGV{GPERF}: $!";
251 326
252print GPERF <<EOF; 327print GPERF <<EOF;
253%language=C++ 328%language=C++
254%enum 329%enum
255%define class-name kw_lex 330%define class-name kw_lex
256%define lookup-function-name match 331%define lookup-function-name match
257%struct-type 332%struct-type
258%compare-strncmp 333%compare-strncmp
259%ignore-case
260%delimiters=, 334%delimiters=,
261struct keyword_idx { const char *name; enum keyword index; }; 335struct keyword_idx { const char *name; enum keyword index; };
262%% 336%%
263EOF 337EOF
264 338
280print GPERF "};\n"; 354print GPERF "};\n";
281 355
282printf GPERF "\nextern const unsigned char keyword_len [] = { 5, 7, %s };\n\n", 356printf GPERF "\nextern const unsigned char keyword_len [] = { 5, 7, %s };\n\n",
283 join ", ", map length, @kw; 357 join ", ", map length, @kw;
284 358
359close GPERF
360 or die "$ARG{GPERF}: failed to run";
361
285open KW, ">", "keyword.h"; 362open KW, ">", "keyword.h";
286 363
287print KW <<EOF; 364print KW <<EOF;
288#ifndef KW_H__ 365#ifndef KW_H__
289#define KW_H__ 366#define KW_H__
290 367
291enum keyword { 368enum keyword {
292 KW_EOF, KW_ERROR, 369 KW_NULL = 0,
370 KW_EOF = 0,
371 KW_ERROR,
293EOF 372EOF
294 373
295for (@kw) { 374for (@kw) {
296 printf KW " %s,\n", "KW_$_", 375 printf KW " %s,\n", "KW_$_",
297} 376}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines