ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/genkeywords
Revision: 1.5
Committed: Tue Jul 31 17:33:14 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.4: +1 -0 lines
Log Message:
- support more than the gcfclient-20-something sounds
  (dire hack) in sound.conf.res
- implement "sound" face for archetypes/objects.
- play sound face in signs either on map (triggered)
  or on the player reading it.

File Contents

# Content
1 #!/opt/bin/perl
2
3 my %ARG = @ARGV;
4
5 use List::Util;
6
7 # todo: gather dynamically
8 my @kw = qw(
9 no_pass
10 walk_on
11 walk_off
12 fly_on
13 fly_off
14 flying
15
16 gender
17 attack_skill
18 ranged_skill
19
20 ac
21 activate_on_push
22 activate_on_release
23 alive
24 anim_speed
25 animation
26 applied
27 arch
28 armour
29 attach
30 attack_movement
31 attacktype
32 auto_apply
33 been_applied
34 berserk
35 blocksview
36 body_range
37 body_arm
38 body_torso
39 body_head
40 body_neck
41 body_skill
42 body_finger
43 body_shoulder
44 body_foot
45 body_hand
46 body_wrist
47 body_waist
48 body_shield
49 body_combat
50 can_apply
51 can_cast_spell
52 can_roll
53 can_see_in_dark
54 can_use_armour
55 can_use_bow
56 can_use_horn
57 can_use_range
58 can_use_ring
59 can_use_rod
60 can_use_scroll
61 can_use_shield
62 can_use_skill
63 can_use_wand
64 can_use_weapon
65 carrying
66 casting_time
67 cha
68 changing
69 client_type
70 con
71 confused
72 connected
73 container
74 cursed
75 custom_name
76 dam
77 dam_modifier
78 damned
79 destroy_on_death
80 dex
81 direction
82 duration
83 duration_modifier
84 editable
85 editor_folder
86 elevation
87 end
88 endlore
89 endmsg
90 exp
91 expmul
92 face
93 food
94 friendly
95 gen_sp_armour
96 generator
97 glow_radius
98 grace
99 has_ready_bow
100 has_ready_scroll
101 has_ready_skill
102 has_ready_weapon
103 has_ready_range
104 hitback
105 hp
106 identified
107 immune
108 inherit
109 int
110 inv_locked
111 invisible
112 is_animated
113 is_blind
114 is_buildable
115 is_cauldron
116 is_dust
117 is_floor
118 is_hilly
119 is_lightable
120 is_thrown
121 is_turnable
122 is_used_up
123 is_water
124 is_wooded
125 item_power
126 known_cursed
127 known_magical
128 last_eat
129 last_grace
130 last_heal
131 last_sp
132 level
133 lifesave
134 lore
135 luck
136 magic
137 make_invisible
138 material
139 materialname
140 maxgrace
141 maxhp
142 maxsp
143 monster
144 more
145 move_allow
146 move_block
147 move_off
148 move_on
149 move_slow
150 move_slow_penalty
151 move_state
152 move_type
153 msg
154 name
155 name_pl
156 neutral
157 no_attack
158 no_damage
159 no_drop
160 no_fix_player
161 no_magic
162 no_pick
163 no_skill_ident
164 no_steal
165 no_strength
166 nrof
167 obj_original
168 object
169 oid
170 one_hit
171 only_attack
172 other_arch
173 overlay_floor
174 path_attuned
175 path_denied
176 path_repelled
177 perm_exp
178 pick_up
179 player_sold
180 pow
181 precious
182 protected
183 race
184 random_move
185 random_movement
186 randomitems
187 range
188 range_modifier
189 reflect_missile
190 reflect_spell
191 reflecting
192 resist_acid
193 resist_blind
194 resist_cancellation
195 resist_chaos
196 resist_cold
197 resist_confusion
198 resist_counterspell
199 resist_death
200 resist_deplete
201 resist_disease
202 resist_drain
203 resist_electricity
204 resist_fear
205 resist_fire
206 resist_ghosthit
207 resist_godpower
208 resist_holyword
209 resist_internal
210 resist_life_stealing
211 resist_magic
212 resist_paralyze
213 resist_physical
214 resist_poison
215 resist_slow
216 resist_turn_undead
217 resist_weaponmagic
218 run_away
219 scared
220 see_anywhere
221 see_invisible
222 skill
223 slaying
224 sleep
225 slow_move
226 sound
227 smoothlevel
228 sp
229 speed
230 speed_left
231 splitting
232 stand_still
233 startequip
234 state
235 stealth
236 str
237 subtype
238 tear_down
239 title
240 tooltype
241 treasure_env
242 type
243 unaggressive
244 undead
245 unique
246 unpaid
247 use_content_on_gen
248 uuid
249 value
250 vulnerable
251 wc
252 weapontype
253 weight
254 will_apply
255 wis
256 x
257 xrays
258 y
259
260 maplore
261 endmaplore
262 enter_x
263 enter_y
264 width
265 height
266 reset_timeout
267 reset_time
268 swap_time
269 difficulty
270 darkness
271 fixed_resettime
272 per_player
273 per_party
274 no_reset
275 region
276 shopitems
277 shopgreed
278 shopmin
279 shopmax
280 shoprace
281 outdoor
282 tile_path_1
283 tile_path_2
284 tile_path_3
285 tile_path_4
286
287 file_format_version
288
289 temp
290 pressure
291 humid
292 windspeed
293 winddir
294 sky
295
296 map
297 savebed_map
298 bed_x
299 bed_y
300 password
301 bowtype
302 petmode
303 gen_hp
304 gen_sp
305 gen_grace
306 listening
307 peaceful
308 digestion
309 pickup
310 outputs_sync
311 outputs_count
312 usekeys
313 unapply
314 weapon_sp
315 weapon_sp_left
316 lev_array
317 endplst
318
319 visibility
320 magicmap
321
322 parent
323 longname
324 jail_map
325 jail_x
326 jail_y
327 portal_map
328 portal_x
329 portal_y
330 fallback
331 nomore
332
333 chance
334 mods
335 diff
336 saves
337 description
338 density
339 damage
340
341 anim
342 mina
343 facings
344 player
345
346 allowed
347 keycode
348 trans
349 yield
350 ingred
351 cauldron
352
353 Str
354 Dex
355 Con
356 Wis
357 Cha
358 Int
359 Pow
360
361 treasure
362 treasureone
363 list
364 change_name
365 change_title
366 change_slaying
367 yes
368 no
369 );
370
371 open GPERF, "|-", "exec $ARG{GPERF} -m50 >kw_hash.h"
372 or die "$ARGV{GPERF}: $!";
373
374 print GPERF <<EOF;
375 %language=C++
376 %enum
377 %define class-name kw_lex
378 %define lookup-function-name match
379 %struct-type
380 %compare-strncmp
381 %delimiters=,
382 struct keyword_idx { const char *name; enum keyword index; };
383 %%
384 EOF
385
386 for (@kw) {
387 printf GPERF "%s,%s\n", $_, "KW_$_";
388 }
389
390 print GPERF <<EOF;
391 %%
392 extern const char *const keyword_str [] = {
393 "<EOF>",
394 "<ERROR>",
395 EOF
396
397 for (@kw) {
398 printf GPERF " \"%s\",\n", $_;
399 }
400
401 print GPERF "};\n";
402
403 printf GPERF "\nextern const unsigned char keyword_len [] = { 5, 7, %s };\n\n",
404 join ", ", map length, @kw;
405
406 close GPERF
407 or die "$ARG{GPERF}: failed to run";
408
409 open KW, ">", "keyword.h";
410
411 print KW <<EOF;
412 //
413 // AUTOGENERATED: this is a generated file
414 // edit include/genkeywords instead
415 //
416
417 #ifndef KW_H__
418 #define KW_H__
419
420 enum keyword {
421 KW_NULL = 0,
422 KW_EOF = 0,
423 KW_ERROR,
424 EOF
425
426 for (@kw) {
427 printf KW " %s,\n", "KW_$_",
428 }
429
430 print KW <<EOF;
431 NUM_KEYWORD,
432 };
433
434 extern const char *const keyword_str [];
435 extern const unsigned char keyword_len [];
436
437 EOF
438
439 printf KW "#define MAX_KEYWORD_LEN %d\n", List::Util::max map length, @kw;
440
441 print KW <<EOF;
442
443 #endif
444
445 EOF
446