nano-cleanups
- the damn rotate shift checksum just failed on me - add crc32 and use it for bmaps_checksum (probably also for images).
- useless ยต-opts - use maximum norm in get_rangevector (a bit, should use more)
added checkrusage extension
*** empty log message ***
- goofing around with my skills (overoptimisation to learn something)
RANDOM was broken due to signedness issues, also rewrote random_roll, no longer uses luck, but should
just experimenting
- fix crash bug - better fork & abort (untested)
testing helps
more micro-optimisation, use idistance, min is faster than MIN
- faster implementation for isqrt - add fast idistance approximation now find_dir_2 has moved to the top of the profiling output for mlab/cwdccastleofmarquis3, followed by get_rangevector, hit_map and ok_to_put_more.
- micro-optimised hit_map and ok_to_put_more, this immensely helped reduce load on dense maps. - introduced xy_normalise, which is imho a saner interface and much faster than get_map_flags so should be used in new code (and time-critical code).
""
preliminary snapshot check-in, DO NOT USE IN PRODUCTION SYSTEMS See the Changes file for details
- 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.
- made refcounted use a virtual destructor (codesize enlargement ~5k), in preparation for correctly refcounted objects with definite lifetime on both perl and c sides.
- improved login code - removed some cruft code and (finally), the player_pod hack
- 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
another bug, do some adjustments to coredumping 'algorithm'
thats the crash bug
- clean up some code - fix some possible (minor) bugs - use a bitset for anims_sent - fix a memory leak - removed dead code
- 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
* remove arch.h * use refcounting for archetypes * cleanup * strat of generic garbage collector
*** empty log message ***
presuppose iso c++0x
reenable shstr gc, fix bug bad bug in allocator
tuning
make use of slice_allocator and inline zero_initialised
- improve assign to prepend "..." - make more use of assign - implement op->debug_desc() and make some more use of it
- introduce shstr_cmp for mass comparisons to shstr and make use of it - introduce assign utility function to replace strncpy
- temporarily disabled shstr garbage collection - use sint64 instead of uint64 in shop code - implement fully recursive item iterator for object - add some utility functions
implement owner pointer using refcounted refptr templates
fix perl class for archetype, never free once-allocated objects, or destruct them, there are too many long-lived references (and refcount doesn't help, likely because it isn't correctly being incremented/decremented).
Entirely removed cfpython.
*** empty log message ***
Changes... - alternative shstr representation, saves code - use glibs splice memory allocator (seems slower) - use simpler memory/lifetime management for objects, no recycling
use alternative shstr representation, might or might not be faster, but does save code
*** 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.