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

# User Rev Content
1 root 1.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 root 1.3 gender
17 root 1.1 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 root 1.5 sound
227 root 1.1 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 root 1.2 no_reset
275 root 1.1 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