introduce weight_t, make it unsigned
*** empty log message ***
renmae Layout => layout, add (as of now) useless accessors
*** empty log message ***
more utf8 marking
slim down perl interface
*** empty log message ***
further optimisations
*** empty log message ***
*** empty log message ***
minor refactoring
*** empty log message ***
- implemented ref/deref "framework" that allows one to create semipersistent references and dereference them later (works only for players right now). - (partially) expose freezer and thawer to perl. - thawers now do next() automatically after instantiating. - allow the thawer to record delayed dereference requests to be resolved, well, later (should be a different class actually but lets stay realistic). - use thawers when loading maps and players and resolve delayed derefs after loading them before activating them. - serialise io for no good reason.
- remote code was not making copies of strings it modified - implemented two ew flags: NDI_REPLY and NDI_DEF. - went over a lot of chat-related code and converted to send_msg, NDI_REPLY and NDI_DEF.
- unbundle marker code into force_find/force_add - use completely different (more efficient) speed logic - make those methods available to perl - to avoid numerical errors use an exact fp number for MIN_ACTIVE_SPEED.
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.
goofign around a bit: the while ranged/non-ranged system is borked and needs some serious redesign
- implement a rudimentary framework for a "msg" command that replaces drawinfo and drawextinfo and allows for simpler usage in simple cases and extensibility for the less complex uses. - moved the character race choosing logic into perl, making use of the new msg command if the client supports it.
- add format utility function. - split dynbuf into dynbuf and dynbuf_text. - use dynbuf_text for examine strings instead of outputting each line seperately. tried to use stringstreams but they add insane overheads (as does std::string, but less so).
move animation info into facedata and make it reloadable at runtime
minor optimisation, fixing a probable memory leak
bugs, bugs, bugs :/
make an effort of explicitly stating wether a string is a text string (where we use utf8) or binary, likely fixing the palyershop corruption bug
- rewrote smooth face handling, as a side-effect, smoothing seems to work again and smooth faces can be reloaded. - the server now sends the full animation for an object the first time it is seen, this uses slightly more bandwidth initially, but avoids the flickering for objects change their face later.
- 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
*** empty log message ***
- implement per-space regions
- word of recall activated the player indirectly - implement maptile->xy_find and xy_load - separate find and load, even on C level - generate map_leave/enter and map_change events even for tiled map changes (experimental) - implement mainloop freezeing by start/stop, not skipping ticks - no map updates when player !active
misc stuff
- small, but subtle, rewrite of object management - perl will now keep attachable objects alive - objects are now refcounted - refcouts need to be tested explicitly (refcnt_chk) - explicit destroy is required current - explicit destroy asks "nicely" for the object to self destruct, if possible - refcounts will be used during mortal killing - minor bugfixes, optimisations etc. - some former hacks removed.
the rename for sanity campaign hits you died - renamed stuff - partially updated copyrights - some cleanups
- remove some old socket mode cruft - preliminarily added attachable client_socket interface to perl (untested but also unreachable from perl code atm)
- medium decruftification - medium cleanups - make settings accessible to perl using cf::settings->mutator (completely untested)
mapstruct => maptile removed many ytypedefs in favor of structure tags
generic accessors, take one
better but more wasteful serialisation support, perl can invoke events, fixes
intermediate check-in, per-object events work
converted perl to a mandatory / non-dynamic plug-in, firts step to put it fully in-core
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.