- more rewrite: change_skill now only changes the chosen_skill, nothing else. new flag to suppress skill tool behaviour of readying the skill when applying the tool, for use in find_skill.
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.
fix weapon speed to be more in line with documentation
almost works
- rework body locations to give betetr feedback and make use of combat and shield slots.
do not output archetypes with names starting with type_ or class_, a bit of a hack
- add two new slots for shields and combat weapons - make slots into bitfields, they are not too speed-critical and this saves 16 bytes in the object structure. - add accessors to body lcoation names etc. to perl - use those in the body command
- skill system is looking as if it were going somewhere, slowly. - support a regex argument to who to limit user reports.
need to learn c properly
why oh why those stupid bugs again and again
- 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.
use g_slice for dynbufs
- 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).
- reduce default output-sync to less than a second - output-sync command now uses seconds as unit, not something users cannot even know. - lots of useless const adjustments.
- run, fire, mark in perl - no more NewServerCommands
- avoid floorbox updates when client has container open, this completely confused gcfclient, although completely valid by the protocol (and of course, cfplus didn't even notice it).
interim check-in for server upgrade
comments
- 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
""
added some copyrights
add some robustness checks, add map find/load locking
replace update_ob_speed by ->set_speed
- 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".
- minor cleanups - minor optimisations (in_player vs. is_player_inv) - added P_PLAYER map flag - some (dead) concept code
- hide floorbox implementation details - use meaning (hopefully) names
- rewrote most of the socket loop code - moved connection accept into tcp.ext - no evil socket copying anymore, needs more cleanups
no generation counters anymore
- more ooficiation - removed now superfluous remove calls
replace some function- by method-calls
reduced dependencies on old plug-in api, fixed some bugs and renamed some methods while I was at it.
updated and applied newpickup flesh patch by benoƮt <bencha1969@yahoo.fr>
more now invalid tag_t uses replaced by refcounting. reduced codesize quite a bit.
added many accessors and mutators to struct player, including *title* and (hint, hint) *own_title*
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
Some cleanups.
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
removed all the broken SHOP_FLOOR checks and replaced them with the is_in_shop () check function.
expand initial tabs to spaces
nuke transports
better but more wasteful serialisation support, perl can invoke events, fixes
further refinements
intermediate check-in, per-object events work
for EVENT_DROP iterate through all objects on the space now.
preventing renaming of unpaid items.
removed debugging output
fixed bug in cf.pm when unloading extensions. added EVENT_DROP_ON for the trade shops and made query_cost using double
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.