ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/Changes
Revision: 1.348
Committed: Sun Feb 22 16:42:55 2009 UTC (15 years, 2 months ago) by elmex
Branch: MAIN
Changes since 1.347: +1 -0 lines
Log Message:
fixed message for too powerful weapons.

File Contents

# User Rev Content
1 root 1.36 Deliantra MORPG Server, Maps and Archetypes ChangeLog.
2 root 1.220 Version numbers sort like decimal numbers.
3 root 1.6
4 root 1.342 TODO: emergency swap mode is not working
5     TODO: xs-warn doesn't end up in server log.
6     TODO: 2008-07-13 00:41:27.8762 BUG: process_events(): removed object is on active list: {cnt:8720978,uuid:<1.37c8d364d>,name:"bomb",flags:[2,11],type:102}
7     TODO: inscription cannot be readied.
8     TODO: random destination transport may bring you tot nürnberg errornously, likely stoneville
9     TODO: reasy_skill find traps does nto unapply the range slot item (bow)
10     TODO: schmorp-neko-san force has sped zero but is on active lsit sometimes?
11     TODO: worldmaps still get loaded on startup before the gridmap is ready
12    
13     TODO: strange rign oif acid artifact description/story looks weird.
14     TODO: destry_inv() should destroy, drop_inv_to_ground method?
15     TODO: no detah messages for arena anymore
16     TODO: remove curse should *maybe* work on players themselves
17     TODO: remove curse in glyph/rune doesn't have any effect?
18     TODO: rewrite highscore code
19    
20     TODO: greeting message on what to do in dialog after race selection.
21     TODO: health bars for earthwalls seem to start at 100% end die at 50%
22    
23    
24     2009-01-23 07:55:29.4659 loading /opt/crossfire/share/deliantra-server/maps//mlab/cdcapart1.map (271878,0)
25     2009-01-23 07:55:29.4712 object refering to nonexistant archetype 'stonefloorred2'.
26     2009-01-23 07:55:29.4713 object refering to nonexistant archetype 'stonefloorred2'.
27     2009-01-23 07:55:29.4714 object refering to nonexistant archetype 'stonefloorred2'.
28     2009-01-23 07:55:29.4716 object refering to nonexistant archetype 'stonefloorred2'.
29     2009-01-23 07:55:29.4716 object refering to nonexistant archetype 'stonefloorred2'.
30     2009-01-23 07:55:29.4716 object refering to nonexistant archetype 'stonefloorred2'.
31    
32 root 1.346 - correctly clear op->env when inserting onto map, this was a potentially
33     disastrous bug of unfortunately unknown proportions...
34 root 1.347 - fix cone-spell symmetry that was broken for direction 8.
35 root 1.343 - use gender-neutral place descriptions for invite.
36 elmex 1.344 - (arch) new faces for alchemist class, wizard class and quetzalcoatl race.
37     Thanks go to Lisa Larsen!
38 root 1.345 - remove support for colour reducing 32x32 images (no cfclient support anymore).
39     - use better dependency tracking for include/keyword.h.
40 root 1.346 - add accept-invitation and suicide to the list of asynchronous commands, so
41     it is possible to invite somebody out of some stck-till-death traps,
42     or simply to commit suicide.
43 elmex 1.348 - fixed message for too powerful weapons.
44 root 1.343
45 root 1.341 2.77 Sun Feb 1 16:30:48 CET 2009
46 root 1.339 - convert me command from per-map to chat, which makes more sense, also
47     document it.
48 elmex 1.336 - more than one spellbooks of same class can now be given
49     in class selection.
50 elmex 1.337 - adjusted the starting_spell.trs treasure list to the recent
51     spell rebalancements.
52 elmex 1.338 - the IRC gateway filters IRC colors now.
53 elmex 1.336
54 root 1.335 2.76 Sat Jan 17 08:36:51 CET 2009
55 root 1.331 - (arch) fix quiver of Holding Bolts.
56 root 1.332 - applying unpaid items will now examine them.
57 root 1.330 - add "What" column to body command, showing items in that slot.
58 elmex 1.329 - redesigned and rebalanced lamps and torches.
59 root 1.330 - add "..." to item names that have been shortened.
60     - fixed "assign" function that squeezes strings into fixed length.
61 elmex 1.333 - add cursed effect to lamps and (some) torches.
62 elmex 1.334 - fixed bad assigned crafting skills and their tools.
63 root 1.312
64 root 1.327 2.75 Fri Jan 9 16:13:30 CET 2009
65 root 1.326 - rebalanced lighting w.r.t. outdoor, darkness and see_in_dark.
66 root 1.319 - fix a bug in the nimbus extension that allowed players to cheat.
67 root 1.312 - make monster smell logic dependent on their wisdom stat.
68 root 1.324 - put the death reason into a separate tab.
69     - converted "connected" slot to string, cleanly got rid of some ugly
70     hacks such as the path_attuned hack.
71 root 1.312 - introduce shstr_tmp for fast temporary shstr passing.
72     - replace one-at-a-time hash by faster than smaller FNV-1a hash
73     when hashing strings.
74 root 1.324 - sanitized alchemy-like skills and cauldrons to check earlier
75 elmex 1.320 whether the right cauldron is used.
76 root 1.313 - considerably optimise shared string implementation by
77 root 1.316 making its null value a compiletime constant.
78 root 1.314 - use shared string matching insteafd of strcmp in a lot of places,
79     as well as using shstr_cmp to pass shared stringsa round efficiently,
80     for lots of code size savings.
81 elmex 1.315 - monsters which breed new monsters shouldn't breed new monsters when
82     they are sleeping: generators now check for the sleeping flag.
83 root 1.318 - tell gcc not to excessively inline some perl interface functions.
84 root 1.322 - remove marking rune length limit.
85 root 1.323 - fix formatting of cfpod when a verbatim block was following
86     a single newline.
87     - move resistances, statistics and showpets command output into tabs.
88 root 1.326 - implement map scripts that can replace the boulder logic without
89     having to write extensions.
90 root 1.310
91 root 1.309 2.74 Mon Dec 29 15:23:38 CET 2008
92 root 1.302 - fix a longstanding bug that teared multipart monsters
93     at map boundaries apart.
94 root 1.292 - temporarily make permanently invisible player visible when
95     he/she makes noise.
96 root 1.284 - fix being able to see through walls a bit.
97 root 1.303 - improve look at output.
98 root 1.285 - completely replaced the line of sight algorithm with a variant
99     of spiral fov capable of visibility grades and arbitrary
100     shadow angles, that uses less memory and less code.
101     - the new los code supports arbitrary map rectangles and loosens
102 root 1.310 other restrictions of the old code, supporting further optimisations.
103     - update los if blocksview-objects are inserted in a map, not just when
104 root 1.287 removed (e.g. for summon fog).
105 root 1.303 - permanent invisibility doesn't make immune against making noise:
106     implement a noise system that allows monsters to locate the player
107     when he/she makes noise.
108     - implement a primitive smell system that monsters can use to track
109     players.
110 elmex 1.288 - create bomb now also works when casted by door traps.
111 elmex 1.290 - (arch) new torch graphics.
112 root 1.289 - (maps) considerably soften the subway spider.
113 elmex 1.295 - (maps) made the portgate of navar safe ground, to protect
114     the guards from being killed by players.
115 root 1.310 - (maps) lots of tweaks in and around scorn.
116     - (maps) use special non-blocksview jungle, mountain and
117     darkforest freely on the worldmap, to get gradual sight obstacles
118     instead of total blackout in those areas.
119 root 1.289 - no maximum darkness for outdoor maps anymore.
120 root 1.291 - add more hints, fix some messages.
121 root 1.292 - fix a bug: firing rods should tell you something about them.
122     - make light additive even within players.
123 root 1.293 - darken xrays effect a bit.
124     - improve handling of los changes when inserting or removing
125     objects, not perfect yet.
126     - make map darkness signed (formerly unsigned) to allow
127 root 1.294 ambient lighting and centrally manage darkness as an offset.
128     - revamped, fixed and documented the server calendrics, also
129     tell users the current time and data, to improve awareness.
130     - implement proper wizlook flag and handling of wizlook, instead
131     of dumbly just clearing los once.
132 root 1.296 - speed up los code - it's now about 2-3 times as fast as the old one,
133     and has a smaller runtime variance.
134 root 1.297 - daylight/nightfall can now increase/decrease past the natural limit,
135     making them actually useful.
136     - see_in_dark now increases the viewing radius by 3.
137 root 1.304 - implement a fast tiled map iterator and use it in LOS for a 20%
138     speedup, as well as in many other places.
139 root 1.299 - remove support for extended map infos - these are not used
140     by the deliantra client and removing them gives us a 10% speedup
141     when sending map changes.
142 root 1.300 - remove most gcfclient and other client bug workarounds, as well
143     as now obsolete protocol versions, simplying the code.
144 root 1.301 - optimise and simplify generation of random numbers.
145 root 1.303 - correctly provide a non-zero default density for materials, to
146     avoid crashes, fix other bugs in the material handling code.
147     - fix volume calculations.
148     - fix cfpod parsing when multiple verbatim blocks were separated by
149     newlines.
150 root 1.305 - increase monster detection radius from wis/5 to wis/3.
151 root 1.306 - remove old pickup modes.
152     - remove obsolete disarm and search commands (search wasn't working
153     anyways).
154 root 1.308 - fix a crash when an npc applied a sign.
155 root 1.284
156 root 1.282 2.73 Thu Dec 18 20:56:31 CET 2008
157 root 1.283 - this release is assumed to be very stable.
158     - (maps) radically redesigned and improved tutorial.
159 root 1.280 - directional casting no longer immediately removes the invisible effect.
160 root 1.279 - magic ears now trigger when used inside the NPC dialogue.
161 root 1.272 - fix overflow in lighting calculations.
162     - negative glow radii can no longer cause total darkness.
163 root 1.273 - allow lookat on spaces where we only barely see, as opposed to
164     only maximally-lit ones.
165 elmex 1.274 - class selection has been reworked completely and their documentation corrected.
166     - swashbucklers got the oratory skill now.
167 elmex 1.278 - jump skill was fixed to adhere to all the flags a mapspace has got.
168 elmex 1.275 - (maps) small fix w.r.t. magic ear in /scorn/houses/wizz.entry
169 root 1.276 - fix deadlock in Jeweler::improve_ring_by_plan.
170 root 1.277 - use Coro::SemaphoreSet instead of our own lock management
171     (which was probably broken, too).
172 root 1.281 - support negative glow radii during daytime, too.
173     - use circular, not rectangular, viewing area.
174     - use minimum viewing distance of 2 in outdoor maps.
175     - negative glow is stronger than viewing area or lamps.
176 root 1.283 - (arch) new darkness spell face.
177 root 1.272
178 root 1.271 2.72 Thu Dec 4 22:20:19 CET 2008
179     - (maps) completely redesigned scorn.
180 root 1.269 - "cast light" now works on oneself.
181 root 1.270 - bump max light radius to 9, rewrote glow lighting calculations, fix
182     negative glow radii again (they were totally broken before).
183 root 1.259 - the "worldmaps sometimes are black" bug is finally fixed.
184 root 1.255 - the "player objects are referenced in _GENxx globals" bug has finally
185 root 1.253 been fixed, by not relying on buggy perl internals when serialising.
186 elmex 1.257 - fixed a long standing bug in the anvil converters in armour shops.
187 elmex 1.256 - items shops weren't interested in don't vanish anymore, and are given
188     back to the player.
189 root 1.251 - attuned/repell and spell base level system reworked.
190 root 1.246 - rewrote skill cache (last_skill_ob) system and usage - might
191 root 1.247 be less erratic now.
192 root 1.248 - refuse to write the uuid file if the uuid is zero
193     (to avoid writing it in early crashes).
194 root 1.254 - pathsync the directory after saving a file for added slowdown^Wsafety.
195     - speed up emergency_save by not syncing every file separately.
196     - no longer reattach perl to every object on reload, it's slow, and no longer
197     necessary since we don't nuke stashes anymore.
198     - do not bootstrap perl from the commandline args, use separate eval for
199     better error reporting.
200 root 1.259 - fix a crash when pushing cone spells met ice attacks.
201 root 1.254 - pre-cache perl extension files on reload to speed up the reload.
202 root 1.255 - speed up map refresh in server a bit.
203 elmex 1.258 - refactored drop code and fixed some programming errors in it.
204 elmex 1.260 - fixed small regression in 'Slag Ex' potion extension.
205 elmex 1.261 - fixed a bug where some objects couldn't cross map tile boundaries.
206 elmex 1.263 - fixed a bug with weight update of the player, the client showed -0.0
207     as the current weight of the inventory.
208 elmex 1.264 - (arch) the dragonbreath spell is level 12 again, but the high level spell
209     dragonfire has been introduced for the non-dragon players.
210 root 1.265 - remove unused "tooltype", "start_holding" object slots.
211     - change "weapontype" object slot to uint8.
212     - convert "hide" object slot into flag.
213     - reorder object members for better locality of reference and codesize
214     decrease.
215 root 1.270 - correct rounding in lerp, add lerp_rd, lerp_ru.
216 root 1.267 - fix a crash when no skill could be found when killing amonster.
217 root 1.266 - fix a small memleak that would eat one pointer on the perl stack for
218     every completed aio operation.
219 root 1.270 - perl mapspace acessor methods now normalise (handle tiled maps)
220     and update mapspaces if necessary.
221 root 1.246
222 root 1.243 2.71 Tue Sep 23 07:02:23 CEST 2008
223 root 1.241 - removed all command line parsing, only env variables are supported
224     anymore.
225 root 1.239 - region-specific monsters will now once more be on the worldmap.
226 root 1.234 - fix a disastrous "memleak" where temporary memory allocations
227 root 1.225 would grow out of bounds.
228 root 1.234 - server now writes a pidfile and makes sure its alter ego is killed.
229 root 1.222 - fixed a double-escaping bug in the pod-parser.
230     - rewrote the cfpod parser in C++.
231     - hintmode moved to C++, players need to re-set their hintmode if
232     they dislike "show".
233 root 1.231 - fix RIP inscription.
234 root 1.239 - bump login name length from 18 to 20 char max.
235 root 1.231 - correctly support gender in emotes.
236     - correctly support gender in the death messages.
237     - correctly generate death messages for players only when they really die,
238     with increased information.
239 root 1.222 - fix a bug in the dynbuf code that could potentially lead to crashes
240     and data corruption (but apparently was never triggered).
241 root 1.223 - close the $ENV{LOCKUTIL_LOCK_FD} fd if in the env, for lockutil.
242 root 1.232 - make sure Compress::LZF acquires the storable lock, might fix some
243     data corruption bug.
244 root 1.223 - tweak coredumping/monitoring a bit.
245 root 1.241 - completely redid server initialisation to hopefully avoid rare races.
246 root 1.227 - do not crash in the loader when an inventory object could not be loaded
247     (from a corrupted file).
248 root 1.241 - redid skills command to send output to proper channel.
249 root 1.233 - object->map is no longer refcounting.
250 root 1.228 - add FLAG_DEBUG for internal debugging.
251 root 1.231 - add NDI_VERBATIM flag to send_msg.
252 root 1.230 - add perl backtraces to logBacktrace-initiated backtraces.
253 root 1.240 - player->exists is no longer a sync_job.
254 root 1.233 - split login.ext's player scheduler into
255     it's own player-scheduler.ext extension.
256 root 1.222
257 root 1.220 2.7 Sun Sep 7 16:32:03 CEST 2008
258 root 1.212 - require perl 5.10.
259 root 1.209 - make nrof signed, so that code that checks for underflow actually works.
260 root 1.204 - swap player and observed count's on the map when observing.
261 root 1.205 - add (mostly untested) mapspace perl class and accessors.
262 root 1.206 - re-"calibrate" value/weight autopickup to be silver/kg >= pickup*100.
263 root 1.207 - fix a crash in cast_bless (restoration et al.) when no target
264     could be found.
265 root 1.208 - pits now have a configurable "random spread" range and default
266 root 1.213 to a radius of two now.
267 root 1.212 - rewrite pay_player_arch.
268     - use a more stable perl_reload implementation.
269     - do not use Symbol::delete_package (causes crashes after perl-reload),
270     use our own, safer, clear_package instead.
271     - when asynchronously dumping core, close all file handles to allow
272     the server to restart concurrently.
273 root 1.215 - improve the cfpod parser to generate proper xml from proper cfpod
274     sequences, without double-encoding. it should be faster, too.
275     - the above fixes wrong display of help tetx and many other issues.
276 root 1.216 - use lzf and frag packets for large messages for clients supporting them
277 root 1.218 (0.9976+), use it for long books and other messages.
278 root 1.210 - eradicate listen command and corresponding code.
279 root 1.211 - eradicate logs command.
280 root 1.218 - let the client log into the server log, used for crash backtraces.
281 elmex 1.219 - fixed rods/wands/etc. with randomitem spells on maps, but broke
282     old style spell objects with the spell magic bullet.
283 root 1.220 - (arch) fixed skill less rods in the archetypes
284 root 1.204
285 root 1.203 2.61 Sun Aug 3 17:59:50 CEST 2008
286 elmex 1.197 - made jeweler workbench larger and some other minor map
287     changes in jeweler town.
288 root 1.196 - fixed wrong item handling in jeweler skill code.
289 root 1.198 - (arch) use a special "key_random_map" for random map keys
290     that are used up.
291 root 1.199 - fix a crash when the player who was observed has logged out long
292     enough for his region/map to be gone.
293 root 1.200 - port to g++-4.3's incompatible tr1 changes.
294 root 1.201 - add some missing dependencies.
295 root 1.203 - log to /var/log/deliantra/ by default.
296     - hack observe code to enable smooth movmenet when observing.
297 elmex 1.195
298 root 1.193 2.6 Sun Jul 20 18:58:08 CEST 2008
299 elmex 1.181 - (maps) extension of the jeweler quest/skill/town
300 root 1.179 - correctly move gsay to the party channel.
301 root 1.178 - fix a crash when animate weapon was used in some areas.
302 elmex 1.177 - fixed unnecessary identification of by converters created objects.
303 elmex 1.176 - (maps) tutorial now contains clues about chatting and talking
304     with NPCs.
305 elmex 1.175 - (arch) dragon scales got proper type now
306 root 1.193 - object::decrease would sometimes cause container weights to
307     be wrong, this has been fixed.
308 root 1.194 - do not send time updates for newly-seen items.
309 root 1.185 - thawing an icecube will once more drop its contents to the ground.
310 root 1.183 - fix cone spells etc. going through walls sometimes.
311 root 1.186 - fix a weight update bug that sometimes left containers
312     with wrong weights.
313 root 1.194 - added auto_apply event and extension for shop tiles.
314 root 1.172 - work around get_map_flags invoking perl and switching the stack.
315     - make sure the map is loaded when using a town portal return.
316 elmex 1.171 - fixed a bug with caching of sp/grace/food points for spells
317     where healing spells didn't cost any grace.
318 root 1.173 - fix starvation kill reason.
319 root 1.174 - fix pk killer name message.
320 root 1.189 - don't let people apply signs with @match.
321 root 1.190 - add support for berkeley db 4.7 (the new BDB module also fixes
322     what seems to be the biggets memleak in the server).
323 elmex 1.171
324 root 1.170 2.56 Wed Jun 4 10:50:40 CEST 2008
325 root 1.168 - require Coro 4.73 which contains an important performance-bugfix.
326     - use anyevent to manage listen ports (this enables IPv6 support).
327 root 1.167 - server supports ipv6 client connections now.
328 root 1.168 - use newly-available Coro::AnyEvent.
329 root 1.169 - get rid of the AnyEvent::AIO watcher, start the event thread earlier
330     to let it handle AIO requests.
331 root 1.167
332 root 1.166 2.55 Sat May 24 19:52:52 CEST 2008
333 root 1.165 - avoid newmap commands when crossing tiled map boundaries. this speeds up
334     processing considerably (especially in the client) and reduces data transfers
335     (saves roughly 1kb each crossing in typical configs). works even with gcfclient.
336 root 1.162 - (arch) fix typo in ixalovh treasurelist causing empty_archetypes to appear.
337     - (map) fixed npc dialogue in pup_land/s_f/special.
338     - bugfix: fix a crash when a player casts a swarm spell and then logs out
339     (swarm spells now stay in the player's inventory).
340 root 1.159 - bugfix: when unapplying skills also remove them from the range/combat slots.
341 root 1.162 - bugfix: do not merge items whose archetype name merges, use the
342     archetype *archname* (chairs of different facings were merged).
343     - bugfix: fix a potential crash issue in find_object_name (not used
344     normally).
345 root 1.164 - bugfix: locked doors cnanot be bashed down by magical means
346     (destruction, magic missile etc.).
347 root 1.163 - swarm spells without a direction now use various spiral patterns
348     instead of being fully random.
349 root 1.158 - update AnyEvent API to 3.4 and above.
350 root 1.156
351 root 1.155 2.54 Thu May 8 22:01:22 CEST 2008
352 root 1.146 - change floorbox item ordering to enable more efficient protocol and to
353 root 1.140 stay in sync with the 0.9971 client update which also reverses ordering.
354 root 1.152 - bugfix: the jumping skill now gives experience for jumping
355     and for attacking monsters. it also takes about one second to do a jump.
356 root 1.138 - bugfix: players couldn't starve in 2.53 :(
357 root 1.136 - bugfix: correctly send the client a del_spell when a spell gets removed.
358 root 1.152 - bugfix: spell effects like word of recall are removed on death.
359 root 1.141 - bugfix: fix a crash when objects with treasure on top (ground...)
360     were created outside a map.
361 root 1.145 - bugfix: couldn't apply inventory items when levitating, but ground items
362     (fixed by reversing the logic).
363 root 1.152 - bugfix: fixed a mismatched '"' in the debugging description of objects
364 root 1.153 - bugfix: the random map generator no longer leaks key objects.
365 root 1.154 - bugfix: support random maps >127x127.
366 root 1.152 - (maps) fixed the death certificate system in nimbus.
367 root 1.159 - (maps) rebalance onefang, build a road to onefang, temporarily closed zorn.
368 root 1.152 - (arch) the material 'wood' was undefined, it's now a burnable material.
369 root 1.147 - (arch) give ball lightning a real name.
370 root 1.152 - (arch) fixed material of bones (was 'wood', is now 'bone')
371 root 1.155 - support cfpod in ex replies (client item tooltips).
372 root 1.143 - unapply item in range slow when readying a spell.
373 root 1.148 - bugfix: account for rounding errors in weight updates.
374 root 1.139 - remove synchronous mkdir in chargen_race_done.
375     - fix per-race starting maps.
376 root 1.142 - check hiscore on suicide and quit as well.
377 root 1.138 - tell players when they are starving.
378 root 1.133 - get rid of costly object_from_name conversion for altar effects.
379     - fix map difficulty calculation for generators.
380 root 1.146 - slightly more intelligent handling of "is_animated" flag.
381 root 1.149 - support no_drop map header flag (before it was only available internally).
382 root 1.153 - make random-map-generated keys crumble after one hour, use more unique slaying.
383 root 1.133
384 root 1.130 2.53 Sun May 4 17:32:48 CEST 2008
385 root 1.119 - bugfix: custom skill settings were not saved by the server.
386     - bugfix: remove did not actually remove items from the inventory, leaving
387 root 1.116 ghost items.
388 root 1.119 - bugfix: properly update items identified on the ground.
389 root 1.120 - bugfix: use localtime_r in the logger thread.
390 root 1.122 - bugfix: player starvation will now give the correct kill reason.
391     - bugfix: archetype reloads could crash the server.
392 root 1.119 - bugfix: the mailscrolls are now correctly handed out even when the destination
393 elmex 1.114 player is not logged in.
394 root 1.119 - bugfix: make list_logins non-blocking (glaring oversight). this caused the lag at
395 root 1.117 server startup.
396 root 1.128 - bugfix: fix the door surround check in the random map generator.
397     - (maps) fix heaven quest difficulty progression.
398     - (maps) fix some random map styles.
399     - dropping items a shop is not interested in won't sell them anymore.
400     - rods and horns with a too low maximum charge allow now at least one discharge.
401     - implement kill & death statistics.
402     - random map preparation is no longer synchronous.
403     - rewrite find_style in perl, no longer does synchronous I/O.
404     - improve random map specials placement.
405     - make the killer a real object pointer instead of a string, improved
406     kill reason messages.
407 root 1.117 - take advantage of new aio_close and aio_chmod.
408 root 1.128 - implement archetype::get, object::deep_clone and update callers.
409 root 1.125 - change_abil is much faster.
410 root 1.126 - update the floorbox more often to work around the reverses item order
411     display in clients.
412 root 1.125 - cleaned up object copying by encapsulating it to a single place.
413 root 1.126 - add hints to the invite messages.
414 root 1.127 - rewrote key<->value pair handling.
415 root 1.128 - use an independent random number generator for the random map generator.
416 elmex 1.113
417 root 1.112 2.52 Thu Apr 24 11:47:19 CEST 2008
418 root 1.106 - completely automate the item add/delete on remove/insert. this should fix
419     all "ghost" item bugs caused by sloppy coding, as sloppy coding is now correct :)
420     - completely automate the weight handling, should fix all weight
421     accounting bugs caused by sloppy coding, as sloppy coding is now correct :)
422 root 1.103 - reloading archetypes while a user was in the character creation phase
423     could crash the server.
424 root 1.106 - fix a nontrivial number of cases of code commented similar
425     to "is this really correct?", as many of those cases are now handles
426     automatically by lower level code.
427     - replace many ad-hoc checks for client visibility by object::visible_to,
428     should result in broader applicability of functions using it.
429 root 1.104 - merge items with different arch pointers refering to the same arch
430     (due to archetype reloads).
431 root 1.106 - refactored the object remove/insert functions and most related
432     functions (decrease, split, merge_ob etc.).
433 root 1.105 - make it compile better on freebsd (reported by pippijn).
434 root 1.106 - remove GT_UPDATE_INV (no longer applicable).
435 root 1.108 - fix the longstanding "container stays open" bug.
436 root 1.107 - improved floorbox updating to be incremental and other protocol
437     optimisations.
438     - get rid of update_after_inventory_change and only do update stats
439     for weight once/tick/player at max.
440 root 1.109 - rewrite party commands, use party channel.
441 root 1.103
442 root 1.102 2.51 Sun Apr 20 21:27:37 CEST 2008
443 root 1.97 - properly link against libgthread as that is needed to make the slice
444     allocator thread-safe.
445 root 1.91 - support perls not compiled with 64 bit support (though this is not a
446     recommended configuration) (reported by Samuel Gondouin).
447 root 1.94 - always put godgiven items into the player inventory, never any containers.
448 root 1.92 - (maps, arch) the scorn go club was founded!
449 root 1.93 - (arch) do no longer support player abilities, they didn't work anyways.
450 root 1.100 - (arch) the alchemy spell is now of the alchemy spell school, which
451     became a real spell-class.
452 root 1.102 - (arch) the alchemist class now get an alchemy spell book for new characters.
453     - (arch) considerably strengthened spark shower and destruction.
454     - match archetypes by name, not by ptr, in treasure.C, this makes archetypes
455     finally reloadable at runtime.
456     - changed archetype loading algorithm to only require one pass and
457     use delayed resolving of references.
458 root 1.101 - examine command now uses the examine infobox.
459 root 1.102 - implement an "incremental garbage collector" for archetypes.
460 root 1.98 - enable slice allocator again.
461 root 1.96 - implement optional free memory poisoning.
462 root 1.91
463 root 1.89 2.5 Wed Apr 16 15:06:53 CEST 2008
464 root 1.90 - the two handed weapon skill can no longer be used as unarmed combat
465 root 1.85 skill.
466 root 1.84 - append [drop xxx coins] to altar/trigger_altar/identify_table/converter
467     names (also update all maps to use money instead of coins).
468 root 1.78 - add uuid accessors to perl.
469     - add coin names and archetype accessors to perl.
470 root 1.80 - fix runtime uuid file format to use "." instead of ",".
471 root 1.78 - change perl extensions to not use hardcoded coins and values.
472 root 1.79 - write uuids asynchronously (no hiccups due to uuid writes)
473     and be more parsimonous of uuid usage by the exact value out on exit.
474 root 1.86 - write log messages in another thread, removing another sync point.
475     - support multi-line log messages in a nicer way.
476 root 1.80 - be more portable w.r.t. uuids and format specifiers everywhere.
477 root 1.81 - fix a minor memleak in the random map generator.
478     - some parts of the random map generator are not coroutine-safe,
479     so only call it "single-threaded".
480     - major cleanup of memory management in random map generator.
481 root 1.87 - slight refactoring of the random map generator, faster too.
482 root 1.81 - solve the "slice_alloc becomes negative" mystery - no allocation bug,
483     bookkeeping bug.
484 root 1.87 - work around "player is on active list" problem by deactivating player
485     after loading.
486 root 1.81 - garbage collect shstr's more evenly and adaptively only when
487     there have in fact been allocations.
488 root 1.82 - fix object::insert to do as documented and insert into the env
489     if necessary.
490     - fix cf::map::unique_maps.
491     - fix nrof overflow check in can_merge_slow.
492     - fix converter code to handle >31 bit values.
493 elmex 1.83 - added support for the player_sold flag
494 root 1.84 - converters no longer accept unpaid items.
495 root 1.88 - canonicalize random map meta files for better unification.
496 root 1.77
497 root 1.75 2.43 Sun Apr 6 20:35:29 CEST 2008
498 root 1.72 - work around a glibc bug that causes calloc to return non-zero memory
499     when mlockall has been used.
500 root 1.71 - pass environment to perl_sys_init3, as required by newer perls.
501 root 1.72 - use separate thread for ticker timing (and more in the future).
502     this greatly increases timing accuracy and gets rid of an enourmous
503     number of gettimeofday calls.
504 root 1.82 - use a separate thread to signal aio completion, for lower latency.
505 root 1.73 - require Coro 4.47, which fixes a data corruption bug with its C API.
506 root 1.71
507 root 1.69 2.42 Sat Mar 15 12:05:21 CET 2008
508 root 1.68 - rebalanced default experience table to be more exponential
509     and much easier up to level ~40, then moderately harder.
510 root 1.67 - change attuned/repelled level boni to +-8 from +-2.
511 root 1.66 - use SvUPGRADE to avoid exception in sv_upgrade with perl 5.10.
512     - do not exit on reload/load errors but properly cleanup.
513 root 1.69 - fix a 32 bit uncleanlyness in the slice debugging wrapper.
514 root 1.66
515 root 1.64 2.41 Fri Jan 25 13:15:37 CET 2008
516 root 1.59 - get rid of YAML::Syck, it's too buggy and misparses many files
517     (this fixes the jeweler skill).
518 root 1.60 - back-to-back perl_reloads don't freeze the ticker anymore.
519 root 1.61 - convert cfutil from Event to EV (forgot to do this earlier...).
520 root 1.63 - move tombstone to real map if player died due to cave-in (even if
521     it has reset, which is better than putting it on the savebed, also as
522 root 1.321 proof that the player didn't use a savebed).
523 root 1.59
524 root 1.58 2.4 Sun Jan 13 13:41:29 CET 2008
525 root 1.56 - work around perl bug in configure perl module version check.
526 root 1.49 - fix bug in golem move code that would cause a crash at tiling borders.
527 root 1.50 - fix a freeze bug when looking for an arrow in the inventory.
528 root 1.52 - fix a bug in animate_weapon, causing a crash.
529 root 1.54 - no longer exit when a coroutine throws an exception.
530 root 1.57 - fix a potential double free bug (nicely exploited by g++ 4.2).
531 root 1.53 - fix the "<player> is nuts" message.
532 root 1.58 - fix an exception at logout due to the json_coder being gone.
533 root 1.43 - upgrade to EV version 2.0 API.
534 root 1.47 - when players don't apply a savebed correctly but stand above one,
535     do not move or kill them.
536 root 1.46 - implement client-side settings page in playerbook (0.9963+ required).
537 root 1.43 - implement generic framework for server-side resource files.
538     - implement resource file update event.
539     - hook experience table update into the framework.
540     - move jeweler.yaml to resources (arch/).
541 root 1.44 - switch from Crossfire to Deliantra perl module.
542     - implement json2json arch filter.
543 root 1.45 - implement widget protocol version 2, support for ui templates.
544 root 1.54 - mapinfo is now handled fully asynchronously.
545 root 1.48 - ext/irc: also log irc messages.
546 root 1.51 - ext/schmorplog: write user stat files asynchronously.
547 root 1.43
548 root 1.42 2.32 Sun Dec 2 18:11:01 CET 2007
549 elmex 1.41 - limited the number of items that can be picked up and dropped
550 root 1.42 as temporary measurement against bad performance or dropping things
551     (this lead to long freezes and triggered the watchdog).
552 elmex 1.41 - improved the performance of the drop command a bit.
553 root 1.38 - switch from Event to EV for higher performance, easier usage,
554     less bugs...
555 root 1.39 - updated to release version of the gnu affero license.
556 root 1.38
557 root 1.37 2.31 Sun Nov 11 17:26:28 CET 2007
558 root 1.36 - more thoroughly rename the binaries, contact addresses.
559     - update the copyrights.
560 root 1.37 - avoid backtraces due to old spells on some maps, sometimes causing
561     crashes.
562 root 1.36 - fix a problem where facedata wasn't initialised to zero properly,
563     potentially causing crashes.
564 root 1.35 - assign weapons on user load time, not login-time, avoiding
565     crashes.
566    
567 root 1.34 2.3 Sat Oct 27 11:22:38 CEST 2007
568 root 1.32 - fixed an important bug that caused passwords to be forgotten.
569 root 1.31 - implement *tag destinations for goto, slaying etc. and use it
570     in some of the maps.
571 root 1.32 - bigworldised many maps (islands as in pupland and aldwulf),
572     which is now trivial to do.
573 root 1.33 - removed all traces of the old (and never working) plug-in interface
574     (70kb code less on amd64).
575 root 1.34 - improve/tune scheduling priorities.
576     - fix some freezing bugs.
577     - fix a memory corruption problem in dynbuf.printf.
578     - use channels for chat and many informational commands.
579     - improved the tutorial.
580     - create missile is now fixed.
581     - race fields must now contain archetypes.
582     - jumping skill now works as advertised.
583 root 1.31
584 root 1.29 2.2 Tue Sep 11 15:41:24 CEST 2007
585 root 1.24 - relicense under the gnu affero license.
586 root 1.25 - new inscription skill, can only inscribe INSCRIBABLE items.
587 root 1.24 - implement server-side framework for generic resources.
588     - use resource framework for server-provided ambient
589     music.
590 root 1.27 - save object owners (players only atm).
591 root 1.24 - replace limited sound api with server-provided sound effects.
592     - new sc (sound control) protocol command.
593     - improve fxix protocol to include types.
594     - exactly fill tcp segments, if possible.
595     - output-rate is now an upper limit, the server will automatically
596     (and quite perfectly) adjust to the network conditions, ensuring
597     low latency even during bulk transfers (music, images, sounds etc.).
598     - implement server-side widgets (i.e. client widgets controlled
599     in the server side). this will allow future expansion without
600     having to upgrade clients.
601     - implement a (artwork) world map with realtime player position
602     tracking.
603     - new and more efficient extcmd (server still supports old extcmd
604     protocol).
605 root 1.26 - fixed lots of underflow/overflow bugs in diseases and general stats
606     calcluation that could be easily exploited by users.
607     - rebalanced diseases to spread more naturally/evenly.
608     - completely asynchronous map loading even for tiled maps.
609 root 1.24 - replace simple messaging protocol with channels carrying metadata
610     (similar to message types, but more directed at the user).
611     - reduce command processing latency by a whopping 120ms by
612     reordering some processing steps inside the server. this directly
613     reduces lag by 120ms.
614     - actually send spell faces to the client.
615 root 1.23 - implement player genders.
616 root 1.24 - unclean logout/login results in: nothing if map hasn't reset,
617     otherwise return to savebed and possible kill if the log-out
618     was for too long.
619     - fast socket-dead detection (kick player after 8 seconds without ack).
620     - greatly reduce the cpu time needed to draw maps _again_.
621     - archetypes are now subclasses of objects.
622     - rebalanced shop greed and approval functions to be more realistic
623     (and likely match the actual intention).
624 root 1.23 - implement "crossfire pod" format for messages, with working bold,
625     italic, gender-specific text, paragraphs etc.
626 root 1.24 - implemented hint framework, players can opt to receive hints.
627     - implemented (long) book framework, added some books from the cf wiki.
628 root 1.23 - implement generic message framework that uses xml, utf8 for the client
629     protocol and is capable of transmitting generic meta information.
630 root 1.21 - implement (in a suboptimal way) per-player instantiated maps.
631     - replace the nexus by a per-player tutorial map that teaches stuff
632     better than the newbie house.
633 root 1.18 - fix the magicmap colours.
634 root 1.19 - optimise map update even more by removing unneeded code and checks.
635     - decouple map and stats update from pl->ob and use pl->observe instead.
636     - implement observe command.
637 root 1.20 - major speed up in map refresh by replacing most get_map_from_coord
638     calls with a simple comparison.
639     - fix a latent crossfire bug that could crash the server because the
640     map refresh did not update the mapspace.
641 root 1.24 - support custom keys for regions and maps, regions are now
642     refcount-managed.
643     - allow worldmap overlays anywhere in the 000..999 range.
644     - new system to acquire time slices for background jobs, to reduce
645     jitter.
646 root 1.27 - semi-persistent object-referencing framework (currently only players
647     supported).
648 root 1.22 - dependency tracking for perl extensions.
649 root 1.24 - new slag-ex extension for cleaning cauldrons.
650     - fix invoke result processing.
651     - there are even less i/o syncpoints in the server now.
652 root 1.29 - added map-tags extension that scans all maps for object tags
653     and records them in the database (not used yet).
654 root 1.28 - metaserver 2 support.
655 root 1.22 - many more bugfixes and minor optimisations.
656 root 1.16
657 root 1.15 2.1 Sun May 27 04:21:29 CEST 2007
658 root 1.14 - optimised event invocation (non-wanted events can now be
659     skipped with 4-5 inlined instructions).
660 root 1.12 - complete rewrite of town_portal: it now creates a portal
661     to the "nearest" town only, travel is only possible
662 root 1.13 to the town and back, anybody can use it (also removes
663     one of the remaining syncpoints in the server).
664 root 1.10 - complete rewrite of the range/attack skill slot system:
665     there are now two slots, one for combat, one for ranged
666     attacks.
667     - introduce the concept of a current weapon (either a ranged
668     or a combat weapon/skill/tool) and switch between them as
669     needed.
670     - rewrite bow code so bows get more useful: apply damage,
671     attacktype and other stats to the arrows and treat
672     bows as weapons. also rebalance the missile weapons skill
673     so its damage increases with level.
674     - rewrite the complete player speed logic: weapon_speed now
675     works as documented and there are no unnatural speed boosts.
676 root 1.6 - implement a utility - cfutil - that simplifies arch and map
677     installation, replacing the old collect scripts and
678 root 1.9 simplying deployment by scaling and cutting faces as required.
679     - simplify the map protocol extensively by taking advantage
680     of missing bigfaces, speeding up map generation immensely.
681 root 1.6 - implement inherit keyword allowing archetypes to inherit from
682     other archetypes.
683     - rationalise archetype, region and treasurelist file format
684     into a single file format and make them reloadable asynchronously.
685 root 1.9 - make the worldmap, facedata (smoothing, faces, magicmap)
686     reloadable at runtime.
687 root 1.6 - implement 64x64 faceset support.
688     - implement fxixsx protocol that saves
689     a lot of bandwidth over the old image/face/smooth packets
690 root 1.11 and allows images > packetsize, incremental and background
691     transfers.
692 root 1.6 - implement a bandwidth-saving smoothing protocol that works
693     on a face basis as opposed to a mapspace basis.
694 root 1.7 - the server can now rate-limit image uploads to not exceed
695     a certain (client-configurable) speed while guarenteeing full
696     freedom of movement.
697 root 1.8 - implement new ex command to request item descriptions.
698     - implement new msg command for in-game messages with meta
699     information (using xml).
700 root 1.9 - enforce utf-8 for all text messages.
701 root 1.13 - added micropather (not used yet).
702 root 1.6 - many, many bugfixes.
703 root 1.1
704 root 1.5 2.0 Tue Mar 6 15:22:53 CET 2007
705 root 1.1 - make coroapi accessible to cf+.
706     - moved map handling logic completely to perl
707     - per player maps are now marked in the map
708 root 1.2 - maps are saved completely differently now,
709     and much more often.
710 root 1.17 - rewrote map header parser and writer, to be much faster.
711 pippijn 1.4 - maps and players are now (in the average case) loaded
712 root 1.2 and saved completely asynchronously, I/O contention will no
713     longer freeze the server.
714 pippijn 1.4 - players and maps can be loaded anytime, without the player
715 root 1.2 being logged in.
716 root 1.1 - automatically generate method interfaces for perl from headers
717     - unbundled freezethaw
718     - mostly rewrote common/map.C
719     - completely rewrite server/swap.C
720     - introduced "runtime", the CCT clock (corrected crossfire time) :)
721     - introduced new keyword for map files: file_format_version (integer, server version: 0)
722     - better message for apply failures due to applymode
723     - removed most all of the weather code
724     - unified logging to stderr and file
725     - too many minor changes to document