copyright update 2018
copyright update 2016
*** empty log message ***
*** empty log message ***
*** empty log message ***
trailing space removal
update copyrights to 2012
update copyright to 2011
riddify us of fgets
get rid of QUERY_FLAG/SET_FLAG/CLEAR_FLAG macros that I always hated
slots
remove bogus 2007 copyright that was added wrongly by the script, update to affero license
*** empty log message ***
*** empty log message ***
more utf8 marking
*** empty log message ***
redesigned freezer API
*** empty log message ***
lots of cleanups
mark gpl sections, common/
*** empty log message ***
clarify license
*** empty log message ***
*** empty log message ***
*** empty log message ***
fixed bug with Z<>.
more commands to tabs
*** empty log message ***
smell, remove gcfclient support, material fixes, cfpod parse fixes, refactoring
destroy (true) => destroy ()
Replace all destroy calls by destroy (true) (after checking), add temporary debugging code for lost objects, fix some minor issues in random_maps.
*** empty log message ***
improve parser, nice switch statement
*** empty log message ***
*** empty log message ***
*** empty log message ***
remove listen(ing)?
*** empty log message ***
*** empty log message ***
*** empty log message ***
- fix weight/pickup bugs, visible_to - do more automatic nrof/weight updates - kill funcpoint.h
update copyrights and other minor stuff to deliantra
- 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.
- upgrade crossfire trt to the GPL version 3 (hopefully correctly). - add a single file covered by the GNU Affero General Public License (which is not yet released, so I used the current draft, which is legally a bit wavy, but its likely better than nothing as it expresses direct intent by the authors, and we can upgrade as soon as it has been released). * this should ensure availability of source code for the server at least and hopefully also archetypes and maps even when modified versions are not being distributed, in accordance of section 13 of the agplv3.
implement beginning of gender support, asking at character creation, showing in who and perceive self
- archetype is now a subclass of object. - store archetypes in an object_vector. - use a different startegy for archetype loading (reloading is MOST CERTAINLY broken).
update copyrights in common/*.C and util/*.C
remove remainign compatibility cruft
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.
*** empty log message ***
big simplification, still doesn't work, but feels cleaner
works a tad better
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
do not crash when trying to load nonexistant or broken players
- 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).
- remember the map path on deactivate and save (because enter_map isn't called for all map changes - doh)
- added $cf::WAIT_FOR_TICK* - tuned map-scheduler and player-scheduler - added $op->inv_recursive - added objects_size/objects($index) and actives_size/actives($index) for access to the object and actives vector. - more robust player loader - removed _perl_data attribute support - SIGINT/TERM/HUP are now safe as they are handled synchronously. - replaced LOOK_OBJ by client_visible - cleanups
- fix This exit is cloed on login because the maplevel of players not on any map was not saved.
- bugfixes, bugfixes, bugfixes
- 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
- 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".
- 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
- rewrote most of the socket loop code - moved connection accept into tcp.ext - no evil socket copying anymore, needs more cleanups
- more ooficiation - removed now superfluous remove calls
replace some function- by method-calls
* nuke op->contr when players log out, to avoid dereferencing them later :( * also rename free to destroy * do not create weird messages when people examine pseudo inventory objects
indent
indent
for some unexplicable reasons, it seems to run after fixing the obvious errors
expand initial tabs to spaces
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.