Crossfire TRT Server, Maps and Archetypes ChangeLog 2.1 - complete rewrite of the range/attack skill slot system: there are now two slots, one for combat, one for ranged attacks. - introduce the concept of a current weapon (either a ranged or a combat weapon/skill/tool) and switch between them as needed. - rewrite bow code so bows get more useful: apply damage, attacktype and other stats to the arrows and treat bows as weapons. also rebalance the missile weapons skill so its damage increases with level. - rewrite the complete player speed logic: weapon_speed now works as documented and there are no unnatural speed boosts. - implement a utility - cfutil - that simplifies arch and map installation, replacing the old collect scripts and simplying deployment by scaling and cutting faces as required. - simplify the map protocol extensively by taking advantage of missing bigfaces, speeding up map generation immensely. - implement inherit keyword allowing archetypes to inherit from other archetypes. - rationalise archetype, region and treasurelist file format into a single file format and make them reloadable asynchronously. - make the worldmap, facedata (smoothing, faces, magicmap) reloadable at runtime. - implement 64x64 faceset support. - implement fxixsx protocol that saves a lot of bandwidth over the old image/face/smooth packets and allows images > packetsize, incremental and background transfers. - implement a bandwidth-saving smoothing protocol that works on a face basis as opposed to a mapspace basis. - the server can now rate-limit image uploads to not exceed a certain (client-configurable) speed while guarenteeing full freedom of movement. - implement new ex command to request item descriptions. - implement new msg command for in-game messages with meta information (using xml). - enforce utf-8 for all text messages. - many, many bugfixes. 2.0 Tue Mar 6 15:22:53 CET 2007 - make coroapi accessible to cf+. - moved map handling logic completely to perl - per player maps are now marked in the map - maps are saved completely differently now, and much more often. - rewrote map header parser and writer - maps and players are now (in the average case) loaded and saved completely asynchronously, I/O contention will no longer freeze the server. - players and maps can be loaded anytime, without the player being logged in. - automatically generate method interfaces for perl from headers - unbundled freezethaw - mostly rewrote common/map.C - completely rewrite server/swap.C - introduced "runtime", the CCT clock (corrected crossfire time) :) - introduced new keyword for map files: file_format_version (integer, server version: 0) - better message for apply failures due to applymode - removed most all of the weather code - unified logging to stderr and file - too many minor changes to document