ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/util.h
Revision 1.45 - (view) (download) (annotate) - [select for diffs]
Sat May 26 15:44:05 2007 UTC (17 years ago) by root
Branch: MAIN
CVS Tags: rel-2_1
Changes since 1.44: +12 -2 lines
Diff to previous 1.44
- restore after combined mainboard+harddisk crash
- cleanup/fixes for 2.1 release
- fix invoke to actually do work
- refactor invoke shortcuts, gcc cannot inline
  varargs functions.
- optimised invoke to 4-5 insns in the common case.
- optimised (For no good reason) the int-to-ascii
  conversions of dynbuf_text into division-less and
  branchless code (of which I am pretty proud).
- actually move players to their savebed when they did
  not use one and the map has been reste in the meantime.
  does not kill (yet) when too long.
- enter_map is now handled completely in perl.
- goto is now using generation counting to ensure that only the
  most-recently-issues goto will succeed.
- make some heavy use of __builtin_expect to streamline
  rare callbacks even more.
- optimised thawer.

Revision 1.44 - (view) (download) (annotate) - [select for diffs]
Fri May 11 08:00:00 2007 UTC (17 years ago) by root
Branch: MAIN
Changes since 1.43: +7 -0 lines
Diff to previous 1.43
- introduce a notion of cpu load average within the server
- use it to more gracefully increase swap intervals in the map-scheduler
- add clip and lerp utility functions.

Revision 1.43 - (view) (download) (annotate) - [select for diffs]
Mon Apr 23 18:09:57 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.42: +3 -0 lines
Diff to previous 1.42
- 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).

Revision 1.42 - (view) (download) (annotate) - [select for diffs]
Sat Apr 21 23:03:54 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.41: +6 -6 lines
Diff to previous 1.41
- rely on new stability for further cleanups and minor improvements

Revision 1.41 - (view) (download) (annotate) - [select for diffs]
Sat Apr 21 22:57:16 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40
- fix tausworthe generator initialisation (no big deal)
- use numerically more correct multiplication instead
  of remainder. this has surprisingly good consequences
  (which I originally didn't expect):
  - the generated code is smaller and faster
  - gcc optimises the 64 bit arithmetic extremely well on 32 bit archs.
  - behaviour for negative and zero arguments (both illegal) is
    pretty well-behaved.

Revision 1.40 - (view) (download) (annotate) - [select for diffs]
Mon Apr 16 15:41:27 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.39: +1 -1 lines
Diff to previous 1.39
replace AUTODECL by auto. this is the first time in my life, I think, that I redefined a keyword - fortunately only with arguments

Revision 1.39 - (view) (download) (annotate) - [select for diffs]
Thu Mar 1 12:28:16 2007 UTC (17 years, 2 months ago) by pippijn
Branch: MAIN
CVS Tags: rel-2_0
Changes since 1.38: +1 -1 lines
Diff to previous 1.38
nano-cleanups

Revision 1.38 - (view) (download) (annotate) - [select for diffs]
Thu Feb 15 18:09:34 2007 UTC (17 years, 3 months ago) by root
Branch: MAIN
Changes since 1.37: +9 -3 lines
Diff to previous 1.37
- the damn rotate shift checksum just failed on me
- add crc32 and use it for bmaps_checksum (probably also for images).

Revision 1.37 - (view) (download) (annotate) - [select for diffs]
Thu Feb 15 15:43:36 2007 UTC (17 years, 3 months ago) by root
Branch: MAIN
Changes since 1.36: +39 -0 lines
Diff to previous 1.36
- useless ยต-opts
- use maximum norm in get_rangevector (a bit, should use more)

Revision 1.36 - (view) (download) (annotate) - [select for diffs]
Thu Jan 25 03:54:45 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.35: +6 -0 lines
Diff to previous 1.35
added checkrusage extension

Revision 1.35 - (view) (download) (annotate) - [select for diffs]
Fri Jan 19 22:47:57 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.34: +5 -3 lines
Diff to previous 1.34
*** empty log message ***

Revision 1.34 - (view) (download) (annotate) - [select for diffs]
Fri Jan 19 15:15:50 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.33: +22 -4 lines
Diff to previous 1.33
- goofing around with my skills (overoptimisation to learn something)

Revision 1.33 - (view) (download) (annotate) - [select for diffs]
Thu Jan 18 22:20:00 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.32: +1 -1 lines
Diff to previous 1.32
RANDOM was broken due to signedness issues, also rewrote random_roll, no longer uses luck, but should

Revision 1.32 - (view) (download) (annotate) - [select for diffs]
Thu Jan 18 19:32:37 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.31: +37 -6 lines
Diff to previous 1.31
just experimenting

Revision 1.31 - (view) (download) (annotate) - [select for diffs]
Mon Jan 15 02:39:41 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.30: +2 -0 lines
Diff to previous 1.30
- fix crash bug
- better fork & abort (untested)

Revision 1.30 - (view) (download) (annotate) - [select for diffs]
Mon Jan 15 01:50:33 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.29: +1 -1 lines
Diff to previous 1.29
testing helps

Revision 1.29 - (view) (download) (annotate) - [select for diffs]
Mon Jan 15 01:39:42 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.28: +10 -0 lines
Diff to previous 1.28
more micro-optimisation, use idistance, min is faster than MIN

Revision 1.28 - (view) (download) (annotate) - [select for diffs]
Mon Jan 15 01:25:41 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.27: +31 -0 lines
Diff to previous 1.27
- 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.

Revision 1.27 - (view) (download) (annotate) - [select for diffs]
Mon Jan 15 00:40:49 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.26: +8 -0 lines
Diff to previous 1.26
- 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).

Revision 1.26 - (view) (download) (annotate) - [select for diffs]
Sun Jan 7 02:39:14 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.25: +45 -2 lines
Diff to previous 1.25
""

Revision 1.25 - (view) (download) (annotate) - [select for diffs]
Sat Dec 30 10:16:10 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.24: +7 -2 lines
Diff to previous 1.24
preliminary snapshot check-in, DO NOT USE IN PRODUCTION SYSTEMS
See the Changes file for details

Revision 1.24 - (view) (download) (annotate) - [select for diffs]
Mon Dec 25 11:25:49 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.23: +3 -16 lines
Diff to previous 1.23
- 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.

Revision 1.23 - (view) (download) (annotate) - [select for diffs]
Sat Dec 23 16:05:19 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.22: +1 -1 lines
Diff to previous 1.22
- made refcounted use a virtual destructor (codesize enlargement ~5k),
  in preparation for correctly refcounted objects with definite lifetime
  on both perl and c sides.

Revision 1.22 - (view) (download) (annotate) - [select for diffs]
Sat Dec 23 06:21:02 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.21: +4 -0 lines
Diff to previous 1.21
- improved login code
- removed some cruft code and (finally), the player_pod hack

Revision 1.21 - (view) (download) (annotate) - [select for diffs]
Thu Dec 21 06:12:36 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.20: +4 -0 lines
Diff to previous 1.20
- 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

Revision 1.20 - (view) (download) (annotate) - [select for diffs]
Sun Dec 17 23:10:35 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.19: +9 -9 lines
Diff to previous 1.19
another bug, do some adjustments to coredumping 'algorithm'

Revision 1.19 - (view) (download) (annotate) - [select for diffs]
Sun Dec 17 19:07:23 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.18: +1 -1 lines
Diff to previous 1.18
thats the crash bug

Revision 1.18 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 21:40:26 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.17: +15 -6 lines
Diff to previous 1.17
- clean up some code
- fix some possible (minor) bugs
- use a bitset for anims_sent
- fix a memory leak
- removed dead code

Revision 1.17 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 03:08:26 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.16: +12 -5 lines
Diff to previous 1.16
- 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

Revision 1.16 - (view) (download) (annotate) - [select for diffs]
Fri Nov 17 19:40:54 2006 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.15: +8 -1 lines
Diff to previous 1.15
* remove arch.h
* use refcounting for archetypes
* cleanup
* strat of generic garbage collector

Revision 1.15 - (view) (download) (annotate) - [select for diffs]
Sat Sep 16 13:11:20 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.14: +1 -2 lines
Diff to previous 1.14
*** empty log message ***

Revision 1.14 - (view) (download) (annotate) - [select for diffs]
Thu Sep 14 18:13:02 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.13: +3 -0 lines
Diff to previous 1.13
presuppose iso c++0x

Revision 1.13 - (view) (download) (annotate) - [select for diffs]
Thu Sep 14 00:07:15 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.12: +1 -1 lines
Diff to previous 1.12
reenable shstr gc, fix bug bad bug in allocator

Revision 1.12 - (view) (download) (annotate) - [select for diffs]
Tue Sep 12 21:10:32 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.11: +6 -3 lines
Diff to previous 1.11
tuning

Revision 1.11 - (view) (download) (annotate) - [select for diffs]
Tue Sep 12 20:55:40 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.10: +91 -7 lines
Diff to previous 1.10
make use of slice_allocator and inline zero_initialised

Revision 1.10 - (view) (download) (annotate) - [select for diffs]
Tue Sep 12 19:20:08 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.9: +5 -4 lines
Diff to previous 1.9
- improve assign to prepend "..."
- make more use of assign
- implement op->debug_desc() and make some more use of it

Revision 1.9 - (view) (download) (annotate) - [select for diffs]
Tue Sep 12 18:15:34 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.8: +9 -0 lines
Diff to previous 1.8
- introduce shstr_cmp for mass comparisons to shstr and make use of it
- introduce assign utility function to replace strncpy

Revision 1.8 - (view) (download) (annotate) - [select for diffs]
Mon Sep 11 23:33:30 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.7: +6 -0 lines
Diff to previous 1.7
- temporarily disabled shstr garbage collection
- use sint64 instead of uint64 in shop code
- implement fully recursive item iterator for object
- add some utility functions

Revision 1.7 - (view) (download) (annotate) - [select for diffs]
Mon Sep 11 20:28:37 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.6: +40 -0 lines
Diff to previous 1.6
implement owner pointer using refcounted refptr templates

Revision 1.6 - (view) (download) (annotate) - [select for diffs]
Mon Sep 11 01:16:20 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.5: +22 -0 lines
Diff to previous 1.5
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).

Revision 1.5 - (view) (download) (annotate) - [select for diffs]
Thu Sep 7 20:03:20 2006 UTC (17 years, 8 months ago) by pippijn
Branch: MAIN
Changes since 1.4: +0 -1 lines
Diff to previous 1.4
Entirely removed cfpython.

Revision 1.4 - (view) (download) (annotate) - [select for diffs]
Mon Sep 4 17:16:19 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.3: +35 -0 lines
Diff to previous 1.3
*** empty log message ***

Revision 1.3 - (view) (download) (annotate) - [select for diffs]
Mon Sep 4 11:07:59 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.2: +2 -0 lines
Diff to previous 1.2
Changes...

- alternative shstr representation, saves code
- use glibs splice memory allocator (seems slower)
- use simpler memory/lifetime management for objects, no recycling

Revision 1.2 - (view) (download) (annotate) - [select for diffs]
Sun Sep 3 23:33:01 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
Changes since 1.1: +6 -0 lines
Diff to previous 1.1
use alternative shstr representation, might or might not be faster, but does save code

Revision 1.1 - (view) (download) (annotate) - [select for diffs]
Sat Sep 2 22:57:55 2006 UTC (17 years, 8 months ago) by root
Branch: MAIN
*** empty log message ***

Convenience Links

Links to HEAD: (view) (download) (annotate) Links to rel-2_1: (view) (download) (annotate)

Compare Revisions

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.

  Diffs between and
  Type of Diff should be a