ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/preprocess
Revision: 1.20
Committed: Sun Mar 11 02:12:44 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.19: +0 -2 lines
Log Message:
- MAJOR CHANGE
- you now need to use cfutil to install arches.
- former bigfaces are broken in the server
- bigfaces are no longer supported. at all.
- use face numbers instead of pointers
  * saves lotsa space
  * saves lotsa indirections
  * saves lots(?) cpu cycles
- completely rewrote face handling
- faces can now be added at runtime
- reload will add new faces
- this does not apply to animations
- use a hastable instead of binary search (faster) for faces
- face caching is broken
- facesets are gone
- server always reports MAX_FACES to any client who asks

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 ac
17 activate_on_push
18 activate_on_release
19 alive
20 anim_speed
21 animation
22 applied
23 arch
24 armour
25 attach
26 attack_movement
27 attacktype
28 auto_apply
29 been_applied
30 berserk
31 blocksview
32 body_range
33 body_arm
34 body_torso
35 body_head
36 body_neck
37 body_skill
38 body_finger
39 body_shoulder
40 body_foot
41 body_hand
42 body_wrist
43 body_waist
44 can_apply
45 can_cast_spell
46 can_roll
47 can_see_in_dark
48 can_use_armour
49 can_use_bow
50 can_use_horn
51 can_use_range
52 can_use_ring
53 can_use_rod
54 can_use_scroll
55 can_use_shield
56 can_use_skill
57 can_use_wand
58 can_use_weapon
59 carrying
60 casting_time
61 cha
62 changing
63 client_type
64 con
65 confused
66 connected
67 container
68 cursed
69 custom_name
70 dam
71 dam_modifier
72 damned
73 destroy_on_death
74 dex
75 direction
76 duration
77 duration_modifier
78 editable
79 editor_folder
80 elevation
81 end
82 endlore
83 endmsg
84 exp
85 expmul
86 face
87 food
88 friendly
89 gen_sp_armour
90 generator
91 glow_radius
92 grace
93 has_ready_bow
94 has_ready_horn
95 has_ready_rod
96 has_ready_scroll
97 has_ready_skill
98 has_ready_wand
99 has_ready_weapon
100 has_ready_range
101 hitback
102 hp
103 identified
104 immune
105 int
106 inv_locked
107 invisible
108 is_animated
109 is_blind
110 is_buildable
111 is_cauldron
112 is_dust
113 is_floor
114 is_hilly
115 is_lightable
116 is_thrown
117 is_turnable
118 is_used_up
119 is_water
120 is_wooded
121 item_power
122 known_cursed
123 known_magical
124 last_eat
125 last_grace
126 last_heal
127 last_sp
128 level
129 lifesave
130 lore
131 luck
132 magic
133 make_invisible
134 material
135 materialname
136 maxgrace
137 maxhp
138 maxsp
139 monster
140 more
141 move_allow
142 move_block
143 move_off
144 move_on
145 move_slow
146 move_slow_penalty
147 move_state
148 move_type
149 msg
150 name
151 name_pl
152 neutral
153 no_attack
154 no_damage
155 no_drop
156 no_fix_player
157 no_magic
158 no_pick
159 no_skill_ident
160 no_steal
161 no_strength
162 nrof
163 obj_original
164 object
165 oid
166 one_hit
167 only_attack
168 other_arch
169 overlay_floor
170 path_attuned
171 path_denied
172 path_repelled
173 perm_exp
174 pick_up
175 player_sold
176 pow
177 protected
178 race
179 random_move
180 random_movement
181 randomitems
182 range
183 range_modifier
184 reflect_missile
185 reflect_spell
186 reflecting
187 resist_acid
188 resist_blind
189 resist_cancellation
190 resist_chaos
191 resist_cold
192 resist_confusion
193 resist_counterspell
194 resist_death
195 resist_deplete
196 resist_disease
197 resist_drain
198 resist_electricity
199 resist_fear
200 resist_fire
201 resist_ghosthit
202 resist_godpower
203 resist_holyword
204 resist_internal
205 resist_life_stealing
206 resist_magic
207 resist_paralyze
208 resist_physical
209 resist_poison
210 resist_slow
211 resist_turn_undead
212 resist_weaponmagic
213 run_away
214 scared
215 see_anywhere
216 see_invisible
217 skill
218 slaying
219 sleep
220 slow_move
221 smoothlevel
222 sp
223 speed
224 speed_left
225 splitting
226 stand_still
227 startequip
228 state
229 stealth
230 str
231 subtype
232 tear_down
233 title
234 tooltype
235 treasure
236 type
237 unaggressive
238 undead
239 unique
240 unpaid
241 use_content_on_gen
242 uuid
243 value
244 vulnerable
245 was_wiz
246 wc
247 weapontype
248 weight
249 will_apply
250 wis
251 wiz
252 x
253 xrays
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 parent
318 longname
319 jail_map
320 jail_x
321 jail_y
322 fallback
323 nomore
324
325 chance
326 mods
327 diff
328 saves
329 description
330 density
331 damage
332
333 anim
334 mina
335 facings
336 player
337
338 allowed
339 keycode
340 trans
341 yield
342 ingred
343 cauldron
344
345 Str
346 Dex
347 Con
348 Wis
349 Cha
350 Int
351 Pow
352 );
353
354 open GPERF, "|-", "exec $ARG{GPERF} -m50 >kw_hash.h"
355 or die "$ARGV{GPERF}: $!";
356
357 print GPERF <<EOF;
358 %language=C++
359 %enum
360 %define class-name kw_lex
361 %define lookup-function-name match
362 %struct-type
363 %compare-strncmp
364 %delimiters=,
365 struct keyword_idx { const char *name; enum keyword index; };
366 %%
367 EOF
368
369 for (@kw) {
370 printf GPERF "%s,%s\n", $_, "KW_$_";
371 }
372
373 print GPERF <<EOF;
374 %%
375 extern const char *const keyword_str [] = {
376 "<EOF>",
377 "<ERROR>",
378 EOF
379
380 for (@kw) {
381 printf GPERF " \"%s\",\n", $_;
382 }
383
384 print GPERF "};\n";
385
386 printf GPERF "\nextern const unsigned char keyword_len [] = { 5, 7, %s };\n\n",
387 join ", ", map length, @kw;
388
389 close GPERF
390 or die "$ARG{GPERF}: failed to run";
391
392 open KW, ">", "keyword.h";
393
394 print KW <<EOF;
395 #ifndef KW_H__
396 #define KW_H__
397
398 enum keyword {
399 KW_NULL = 0,
400 KW_EOF = 0,
401 KW_ERROR,
402 EOF
403
404 for (@kw) {
405 printf KW " %s,\n", "KW_$_",
406 }
407
408 print KW <<EOF;
409 NUM_KEYWORD,
410 };
411
412 extern const char *const keyword_str [];
413 extern const unsigned char keyword_len [];
414
415 EOF
416
417 printf KW "#define MAX_KEYWORD_LEN %d\n", List::Util::max map length, @kw;
418
419 print KW <<EOF;
420
421 #endif
422
423 EOF
424