- fix players frozen on movers - allow overriding of existing spells implement town portal: - new fields portasl_maap|x|y for regions - new ext town_portsla completelyx implementing it - some debugging code, some check code
new speed management: - weapon speed and object speed is now completekly decoupled for players. - both can be used at the same time, or indeepndent, when running or firing. - still only one command per object speed can be issued.
remove superfluous/broken settings and related code - COZY_SERVER: enabled most msall adjustments, changed digestion formula to the original one, party member treament w.r.t. pets enforced. - PROHIBIT_PLAYERKILL: default - real_wiz: removed and enforced - create_home_portals: removed and enforced - casting_time: removed and forced to be off (was crashing anyways) - was_wiz flag removed and treated as off usually unless it was used in place of flag_wiz. - do not save or restore wiz, wizcast and wizpass flags.
some more structure optimisations saving lots of code
only allow one range weapon to be applied at any one time, some dynbuf fixes
This is the first rough cut of the skill use system (use the STABLE tag). Details will likely change, and combat skills do not work very well, but it works quite well. Players no longer have a shoottype or range slots, instead, each player has these members: combat_skill/combat_ob the currently selected skill (and weapon) for direct attacks. ranged_skill/ranged_ob the currently selected ranged skill (and bow/spell/item) golem the currently-controlled golem, if any.
implement two new flags and associated gadgets: - FLAG_PRECIOUS: used to mark precious pet monsters. semantics are not fleshed out yet, but destroy_pets floors leave them be. ideas: save them to the player file, do not kill with killpets (but only with killpets all), try harder when following player on other maps. - FLAG_TREASURE_ENV: put treasure into the environment instead of into the object, useful for terrain types on the worldmap. - bumped chance field in treasures to 16 bit (ideally float).
parse_kv now behaves like other parse functions
- rewrite treasure parser to new framework just for fun. - actually call load_treasures again. - fix bugs.
implement defaulting region by map path match
- 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
- identified random memory corrutpion bug - fixed most likely cause for bug above - rewrote object loader etc. into a simple one-line lookahead parser. - rewrote/cleaned up archetype, treasure, artifact, formula parser. - some optimisations / cleanups
- use a simpler, less fancy loader base design (basically a one-line-lookahead top-down parser).
minor stuff, indent
- add density to lib/materials - rewrite parser to use object_thawer (but not new loader framework yet).
rewrote region parser, changed region fileformat a bit
- rename Animations => animation - rename New_Face => facetile - add but do not implement some generic loader framework classes
save obj_original flag
- more improvements/fixes - timestamp with millisecond accuracy, horrible code
""
use thawer for player loading: all objects are now being loaded through the thawer, although not everything uses the kv syntax.
preliminary snapshot check-in, DO NOT USE IN PRODUCTION SYSTEMS See the Changes file for details
- portability fixes - fail when GPERF not found
further simplify and speed up map saving, fixed - flag_player_sold was incorrectly saved as "player sold 1" - flag_has_ready_range was not saved - flag_is_dust is not in use anymore not well tested
preliminary uuid support
*** empty log message ***
string scanning (e.g. for patch) is not implemented ATM but should be easy to add with an alternative constructor for object_thawer. Rewrote flex scanner to be simpler, faster and more modularised. Initial speedup: 16% (ah well)
rewrote object serialiser, parser is next
*** empty log message ***
*** empty log message ***
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.