remove default_smoothed images - unused. remove references to mythical sdefault.001 / default_smoothed.111 image from server code.
nano-cleanups
- tell player about each region as she enters. - region longnames no longer are prefixed with in, change accordingly.
mark watchers as reentrant, some FABS => fabs
comments
- rename Animations => animation - rename New_Face => facetile - add but do not implement some generic loader framework classes
aggressively prefetch tiled maps around the player - prefetch maps on every tick - prefetch maps and block the player when entering maps
- move most last_* values into socket, where they belong - this actually saved a lot of space in the text segment, which might mean less complicated pointer accesses, because the data is no where it belongs, mostly.
""
added some copyrights
- 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
- save before testing the map on swap_out, as save cedes and players might hop on the map while the map saves, changing its status.
set original flag so decay object doesn't go wild
preliminary snapshot check-in, DO NOT USE IN PRODUCTION SYSTEMS See the Changes file for details
the big rename
- 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.
- reorder stuff so that the endlessly sucky gcfclient doesn't get confused
- preliminary check in, stuff is rudimentarily working - moved most of the player creation process into a perl coroutine - changed internal design of player management to not reuse and morph the object in funny ways. should be safer and much nicer to handle. - got rid of some annoying hacks, such as clear() (TODO: get rid of player_pod and other stuff now unnecessary?)
- made state a per-client variable (that does not magically make state a per-client thing!) - rename player->socket to player->ns. its not a good name for "client", but it is an historical artifact, and better than "socket".
- made client a first-class crossfire-perl object (its attachable), but perl support is missing. - added some client events - fixed reply not working after logout
- mapspace caches are now reevaluated only on-demand only - "heavily" optimised get_map_flags - it might be MUCH faster now - some cleanups - some deoptimisaton in update_object - enabling it makes some bigfaces disappear when they are not fully visible. why?
some source simplification
- hide floorbox implementation details - use meaning (hopefully) names
- separate all comamnds into immediate/socket-level and queued/player-level - clean up player command handling, handle up to 8 commands/tick
- clean up some code - fix some possible (minor) bugs - use a bitset for anims_sent - fix a memory leak - removed dead code
WHAT FUCKING SHIT WAS THAT CODE DOING???
- socket i/o is completely asynchronous now - some command sare handled immediately - others (most palying related commands) are queued for later (as of now synchronous) processing - specifying a max queue length (in seconds) is possible, but disabled - also add some syntax sugar for network code
the rename for sanity campaign hits you died - renamed stuff - partially updated copyrights - some cleanups
while goofing around, trying to understand the command code - did some reindentation - which lead me to find some dead code - which lead me to some optimisations and more dead code fun.
streamlined packet processing a bit, experimentally enabled more immediate paclets
- implement event watcher autoncancellation on reload - used it everywhere - removed lots of compatibility cruft - configure does no longer check for mandatory unix functionality/headers - confgiure now runs much faster
- implement c++ interface to Event->io watchers - cut number of write()'s the server does in half
- rewrote most of the socket loop code - moved connection accept into tcp.ext - no evil socket copying anymore, needs more cleanups
moar\! rewrite\!
rewrite phase one finished
moar rewrite
(intermediate check-in for recoverability)
moar rewrite
- further cleanup and rewrite - fix a potential crash in "lock" and "mark" packets
continued simplifying network code, partially removed support for sc protocol 1026
started simplifying network code
started simplifying network code
removed #ifn?def WIN32 from all files
indent, properly clear map
add mapcell flags support and define #0 to be has_dialogue
argh
indent
mapstruct => maptile removed many ytypedefs in favor of structure tags
replace was_destroyed by much simpler and less expensive ->destroyed, which is valid, as objetc pointers are now reliable.
indent
remove rename command and implement lots of extra perl support
- improve assign to prepend "..." - make more use of assign - implement op->debug_desc() and make some more use of it
indent
Entirely removed cfpython.
removed && 0 for healthbars
THIS CODE WILL NOT COMPILE use the STABLE tag instead. - major changes in object lifetime and memory management - replaced manual refcounting by shstr class - removed quest system - many optimisations - major changes
expand initial tabs to spaces
nuke transports
converted more events, broken per-object events (needs map support), lots of fixes
- fix extmap protocol - lay foundation for new event interface (not used, not tested) - "slow down" in-game time specials
send player tag as extmap attribute
workaorund for client mapscroll overflow
send width of monster when sending health
*** empty log message ***
support health stats in an extensible way in map1
support health stats in an extensible way in map1
get rid of esrv_map_scroll and MapNewmapCmd, map update will handle it automatically
Made server compile with C++. Removed cfanim plugin and crossedit. C++ here we come.
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.