ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/client.h
Revision 1.121 - (view) (download) (annotate) - [select for diffs]
Sat Nov 17 23:40:00 2018 UTC (5 years, 5 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Changes since 1.120: +1 -0 lines
Diff to previous 1.120
copyright update 2018

Revision 1.120 - (view) (download) (annotate) - [select for diffs]
Sat Nov 17 23:33:18 2018 UTC (5 years, 5 months ago) by root
Branch: MAIN
Changes since 1.119: +1 -1 lines
Diff to previous 1.119
*** empty log message ***

Revision 1.119 - (view) (download) (annotate) - [select for diffs]
Sun Jan 29 02:47:04 2017 UTC (7 years, 3 months ago) by root
Branch: MAIN
Changes since 1.118: +1 -1 lines
Diff to previous 1.118
remove eol whitespace

Revision 1.118 - (view) (download) (annotate) - [select for diffs]
Sun Jan 29 00:09:31 2017 UTC (7 years, 3 months ago) by root
Branch: MAIN
Changes since 1.117: +1 -1 lines
Diff to previous 1.117
*** empty log message ***

Revision 1.117 - (view) (download) (annotate) - [select for diffs]
Sat Jan 28 23:58:52 2017 UTC (7 years, 3 months ago) by root
Branch: MAIN
Changes since 1.116: +1 -1 lines
Diff to previous 1.116
*** empty log message ***

Revision 1.116 - (view) (download) (annotate) - [select for diffs]
Wed Nov 16 23:42:00 2016 UTC (7 years, 5 months ago) by root
Branch: MAIN
Changes since 1.115: +1 -1 lines
Diff to previous 1.115
copyright update 2016

Revision 1.115 - (view) (download) (annotate) - [select for diffs]
Wed Nov 21 13:22:34 2012 UTC (11 years, 5 months ago) by root
Branch: MAIN
CVS Tags: rel-3_1
Changes since 1.114: +1 -1 lines
Diff to previous 1.114
*** empty log message ***

Revision 1.114 - (view) (download) (annotate) - [select for diffs]
Sun Nov 18 09:39:11 2012 UTC (11 years, 5 months ago) by root
Branch: MAIN
Changes since 1.113: +0 -2 lines
Diff to previous 1.113
drawinfo

Revision 1.113 - (view) (download) (annotate) - [select for diffs]
Thu Nov 15 04:50:50 2012 UTC (11 years, 5 months ago) by root
Branch: MAIN
Changes since 1.112: +3 -4 lines
Diff to previous 1.112
ncom bye bye

Revision 1.112 - (view) (download) (annotate) - [select for diffs]
Sun Nov 11 05:53:12 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.111: +4 -4 lines
Diff to previous 1.111
move face blob manegemnt fully to perl

Revision 1.111 - (view) (download) (annotate) - [select for diffs]
Sun Nov 11 04:29:11 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.110: +8 -5 lines
Diff to previous 1.110
*** empty log message ***

Revision 1.110 - (view) (download) (annotate) - [select for diffs]
Fri Nov 9 00:11:49 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.109: +7 -7 lines
Diff to previous 1.109
*** empty log message ***

Revision 1.109 - (view) (download) (annotate) - [select for diffs]
Tue Nov 6 03:45:17 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.108: +11 -1 lines
Diff to previous 1.108
websockets, a bit of them

Revision 1.108 - (view) (download) (annotate) - [select for diffs]
Tue Oct 30 17:07:50 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.107: +1 -0 lines
Diff to previous 1.107
*** empty log message ***

Revision 1.107 - (view) (download) (annotate) - [select for diffs]
Mon Oct 29 23:55:53 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.106: +5 -5 lines
Diff to previous 1.106
trailing space removal

Revision 1.106 - (view) (download) (annotate) - [select for diffs]
Wed Jan 4 08:49:01 2012 UTC (12 years, 4 months ago) by root
Branch: MAIN
Changes since 1.105: +1 -1 lines
Diff to previous 1.105
*** empty log message ***

Revision 1.105 - (view) (download) (annotate) - [select for diffs]
Tue Jan 3 13:44:11 2012 UTC (12 years, 4 months ago) by root
Branch: MAIN
Changes since 1.104: +0 -12 lines
Diff to previous 1.104
*** empty log message ***

Revision 1.104 - (view) (download) (annotate) - [select for diffs]
Tue Jan 3 11:25:31 2012 UTC (12 years, 4 months ago) by root
Branch: MAIN
Changes since 1.103: +1 -1 lines
Diff to previous 1.103
update copyrights to 2012

Revision 1.103 - (view) (download) (annotate) - [select for diffs]
Tue Jan 3 11:23:41 2012 UTC (12 years, 4 months ago) by root
Branch: MAIN
Changes since 1.102: +3 -0 lines
Diff to previous 1.102
*** empty log message ***

Revision 1.102 - (view) (download) (annotate) - [select for diffs]
Sat Apr 23 04:56:47 2011 UTC (13 years ago) by root
Branch: MAIN
Changes since 1.101: +1 -1 lines
Diff to previous 1.101
update copyright to 2011

Revision 1.101 - (view) (download) (annotate) - [select for diffs]
Sat Oct 16 22:51:51 2010 UTC (13 years, 6 months ago) by root
Branch: MAIN
Changes since 1.100: +3 -10 lines
Diff to previous 1.100
*** empty log message ***

Revision 1.100 - (view) (download) (annotate) - [select for diffs]
Thu Apr 15 00:36:51 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
CVS Tags: rel-3_0
Changes since 1.99: +1 -1 lines
Diff to previous 1.99
*** empty log message ***

Revision 1.99 - (view) (download) (annotate) - [select for diffs]
Sun Apr 11 23:56:09 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.98: +2 -2 lines
Diff to previous 1.98
no delitem player

Revision 1.98 - (view) (download) (annotate) - [select for diffs]
Sun Apr 11 23:48:57 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.97: +2 -0 lines
Diff to previous 1.97
optimize delinv 0

Revision 1.97 - (view) (download) (annotate) - [select for diffs]
Thu Apr 8 20:05:35 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.96: +0 -1 lines
Diff to previous 1.96
remove support for toggleextendedtext

Revision 1.96 - (view) (download) (annotate) - [select for diffs]
Thu Apr 8 19:31:22 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.95: +0 -5 lines
Diff to previous 1.95
new server protocol

Revision 1.95 - (view) (download) (annotate) - [select for diffs]
Thu Apr 8 17:36:53 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.94: +0 -2 lines
Diff to previous 1.94
move version to perl, support json versions

Revision 1.94 - (view) (download) (annotate) - [select for diffs]
Tue Apr 6 21:11:48 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.93: +0 -4 lines
Diff to previous 1.93
fix change_abil messages for rods

Revision 1.93 - (view) (download) (annotate) - [select for diffs]
Fri Mar 26 01:04:44 2010 UTC (14 years, 1 month ago) by root
Branch: MAIN
Changes since 1.92: +1 -1 lines
Diff to previous 1.92
update copyright for up to 2010

Revision 1.92 - (view) (download) (annotate) - [select for diffs]
Sat Jan 16 13:41:37 2010 UTC (14 years, 3 months ago) by root
Branch: MAIN
CVS Tags: rel-2_93
Changes since 1.91: +7 -7 lines
Diff to previous 1.91
more utf8 marking

Revision 1.91 - (view) (download) (annotate) - [select for diffs]
Mon Nov 9 18:47:56 2009 UTC (14 years, 6 months ago) by root
Branch: MAIN
CVS Tags: rel-2_92
Changes since 1.90: +1 -0 lines
Diff to previous 1.90
remove max_nrof from maps, make spell updates delayed

Revision 1.90 - (view) (download) (annotate) - [select for diffs]
Sat Nov 7 18:30:05 2009 UTC (14 years, 6 months ago) by root
Branch: MAIN
Changes since 1.89: +1 -1 lines
Diff to previous 1.89
lots of cleanups

Revision 1.89 - (view) (download) (annotate) - [select for diffs]
Thu Nov 5 15:57:15 2009 UTC (14 years, 6 months ago) by root
Branch: MAIN
CVS Tags: rel-2_90
Changes since 1.88: +8 -0 lines
Diff to previous 1.88
mark gpl sections, include/

Revision 1.88 - (view) (download) (annotate) - [select for diffs]
Tue Nov 3 23:44:21 2009 UTC (14 years, 6 months ago) by root
Branch: MAIN
Changes since 1.87: +0 -2 lines
Diff to previous 1.87
tighten copyright statements for files containing no gpl code whatsoever anymore

Revision 1.87 - (view) (download) (annotate) - [select for diffs]
Mon Oct 12 14:00:58 2009 UTC (14 years, 7 months ago) by root
Branch: MAIN
CVS Tags: rel-2_81, rel-2_82
Changes since 1.86: +7 -6 lines
Diff to previous 1.86
clarify license

Revision 1.86 - (view) (download) (annotate) - [select for diffs]
Wed Sep 2 16:54:20 2009 UTC (14 years, 8 months ago) by root
Branch: MAIN
CVS Tags: rel-2_80
Changes since 1.85: +1 -0 lines
Diff to previous 1.85
*** empty log message ***

Revision 1.85 - (view) (download) (annotate) - [select for diffs]
Sun Dec 28 06:59:26 2008 UTC (15 years, 4 months ago) by root
Branch: MAIN
CVS Tags: rel-2_74, rel-2_75, rel-2_76, rel-2_77, rel-2_78, rel-2_79
Changes since 1.84: +1 -3 lines
Diff to previous 1.84
smell, remove gcfclient support, material fixes, cfpod parse fixes, refactoring

Revision 1.84 - (view) (download) (annotate) - [select for diffs]
Sat Dec 27 01:25:00 2008 UTC (15 years, 4 months ago) by root
Branch: MAIN
Changes since 1.83: +3 -14 lines
Diff to previous 1.83
gcfclient removal

Revision 1.83 - (view) (download) (annotate) - [select for diffs]
Fri Dec 26 10:44:17 2008 UTC (15 years, 4 months ago) by root
Branch: MAIN
Changes since 1.82: +0 -30 lines
Diff to previous 1.82
extdnedMapInfos removal, mapextended removal

Revision 1.82 - (view) (download) (annotate) - [select for diffs]
Tue Dec 23 22:03:06 2008 UTC (15 years, 4 months ago) by root
Branch: MAIN
Changes since 1.81: +11 -10 lines
Diff to previous 1.81
improve los, fix bugs

Revision 1.81 - (view) (download) (annotate) - [select for diffs]
Mon Sep 8 11:27:25 2008 UTC (15 years, 8 months ago) by root
Branch: MAIN
CVS Tags: rel-2_71, rel-2_72, rel-2_73
Changes since 1.80: +1 -1 lines
Diff to previous 1.80
*** empty log message ***

Revision 1.80 - (view) (download) (annotate) - [select for diffs]
Sun Jul 27 05:33:52 2008 UTC (15 years, 9 months ago) by root
Branch: MAIN
CVS Tags: rel-2_61, rel-2_7
Changes since 1.79: +2 -2 lines
Diff to previous 1.79
*** empty log message ***

Revision 1.79 - (view) (download) (annotate) - [select for diffs]
Mon Jul 14 23:47:06 2008 UTC (15 years, 10 months ago) by root
Branch: MAIN
CVS Tags: rel-2_6
Changes since 1.78: +1 -1 lines
Diff to previous 1.78
*** empty log message ***

Revision 1.78 - (view) (download) (annotate) - [select for diffs]
Thu May 8 20:03:50 2008 UTC (16 years ago) by root
Branch: MAIN
CVS Tags: rel-2_54, rel-2_55, rel-2_56
Changes since 1.77: +7 -0 lines
Diff to previous 1.77
*** empty log message ***

Revision 1.77 - (view) (download) (annotate) - [select for diffs]
Tue May 6 16:55:25 2008 UTC (16 years ago) by root
Branch: MAIN
Changes since 1.76: +1 -1 lines
Diff to previous 1.76
update copyright

Revision 1.76 - (view) (download) (annotate) - [select for diffs]
Tue Apr 22 07:28:05 2008 UTC (16 years ago) by root
Branch: MAIN
CVS Tags: rel-2_52, rel-2_53
Changes since 1.75: +1 -1 lines
Diff to previous 1.75
reintroduce last_weight optimisation, clear TODO

Revision 1.75 - (view) (download) (annotate) - [select for diffs]
Tue Apr 22 07:01:46 2008 UTC (16 years ago) by root
Branch: MAIN
Changes since 1.74: +30 -30 lines
Diff to previous 1.74
see Changes

Revision 1.74 - (view) (download) (annotate) - [select for diffs]
Mon Apr 21 21:32:32 2008 UTC (16 years ago) by root
Branch: MAIN
Changes since 1.73: +1 -1 lines
Diff to previous 1.73
bug1

Revision 1.73 - (view) (download) (annotate) - [select for diffs]
Mon Apr 21 13:10:07 2008 UTC (16 years ago) by pippijn
Branch: MAIN
Changes since 1.72: +1 -1 lines
Diff to previous 1.72
wasn't a typo :\\

Revision 1.72 - (view) (download) (annotate) - [select for diffs]
Mon Apr 21 13:06:33 2008 UTC (16 years ago) by pippijn
Branch: MAIN
Changes since 1.71: +1 -1 lines
Diff to previous 1.71
typo

Revision 1.71 - (view) (download) (annotate) - [select for diffs]
Sun Jan 13 12:39:29 2008 UTC (16 years, 4 months ago) by root
Branch: MAIN
CVS Tags: rel-2_4, rel-2_41, rel-2_42, rel-2_43, rel-2_5
Changes since 1.70: +0 -5 lines
Diff to previous 1.70
*** empty log message ***

Revision 1.70 - (view) (download) (annotate) - [select for diffs]
Wed Nov 14 08:09:46 2007 UTC (16 years, 6 months ago) by root
Branch: MAIN
CVS Tags: rel-2_32
Changes since 1.69: +1 -1 lines
Diff to previous 1.69
switch from Event to EV

Revision 1.69 - (view) (download) (annotate) - [select for diffs]
Thu Nov 8 19:43:24 2007 UTC (16 years, 6 months ago) by root
Branch: MAIN
Changes since 1.68: +5 -5 lines
Diff to previous 1.68
update copyrights and other minor stuff to deliantra

Revision 1.68 - (view) (download) (annotate) - [select for diffs]
Mon Oct 1 01:09:10 2007 UTC (16 years, 7 months ago) by root
Branch: MAIN
CVS Tags: rel-2_3
Changes since 1.67: +0 -1 lines
Diff to previous 1.67
do away with silly command process idle watcher, we process most commands in the mainloop anyways, so its only overhead

Revision 1.67 - (view) (download) (annotate) - [select for diffs]
Fri Aug 24 00:26:10 2007 UTC (16 years, 8 months ago) by root
Branch: MAIN
CVS Tags: rel-2_2
Changes since 1.66: +37 -32 lines
Diff to previous 1.66
major changes:

- on_same_map and related functions now do not block on map loads, instead
  they pretend the map is not there. this ensures lag-free operation, but changes
  semantics considerably: running quickly over the worldmap often lets you bump
  into map borders until the map has been loaded. also, rabies takes longer
  to nuke a full continent now.
- mapinfo (a major sync blocker) is now fully asynchronous, and works by
  quieing all mapinfo requests and retrying them on every tick until satisfed.

Revision 1.66 - (view) (download) (annotate) - [select for diffs]
Mon Jul 30 02:03:02 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.65: +2 -0 lines
Diff to previous 1.65
big semantic change

- old server and crossfire did
  update/draw maps
  check for player commands, move players and monsters
  flush sockets

- new server does
  check for player commands, move players and monsters
  update/draw maps
  flush sockets

I have zero idea why the old code didn't do it this way. the net effect is
that there is a guarenteed delay of one tick between an issued command and
the player seeing its execution. The same for monster movements.

That is, the new ordering reduces "lag" by a constant 120ms, which is
immense, and can be felt immediately.

This is a change I wanted to do for a long time.

Apart from that, the tcp send code has been simplified and underwent some
further tuning, leading to an even more accurate congestion management.

Revision 1.65 - (view) (download) (annotate) - [select for diffs]
Sat Jul 28 00:15:03 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.64: +72 -3 lines
Diff to previous 1.64
allow perl access to the full tcpi structure. do some elaborate congestion control (very experimental, but better than the old way)

Revision 1.64 - (view) (download) (annotate) - [select for diffs]
Thu Jul 26 00:27:08 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.63: +1 -0 lines
Diff to previous 1.63
very very preliminary, non-working sound framework

Revision 1.63 - (view) (download) (annotate) - [select for diffs]
Tue Jul 24 04:55:34 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.62: +11 -10 lines
Diff to previous 1.62
welcome to fxix protocol version 3, with uniform handling over all resources

Revision 1.62 - (view) (download) (annotate) - [select for diffs]
Mon Jul 23 21:02:50 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.61: +1 -1 lines
Diff to previous 1.61
- new extcmd version, much streamlined
- new npc dialogue protocol
- older cfplus clients are supported, without cfplus_support (no dialogue),
  for some time.
- improved worldmap support.

Revision 1.61 - (view) (download) (annotate) - [select for diffs]
Thu Jul 12 19:36:58 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.60: +1 -0 lines
Diff to previous 1.60
try a very simple method of failsafe-bandweidthing by not sending any data when the socket buffer could not be drained in the last tick

Revision 1.60 - (view) (download) (annotate) - [select for diffs]
Thu Jul 12 08:40:14 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.59: +10 -0 lines
Diff to previous 1.59
first workable server-side music implementation

Revision 1.59 - (view) (download) (annotate) - [select for diffs]
Sun Jul 1 05:00:18 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.58: +11 -12 lines
Diff to previous 1.58
- 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.

Revision 1.58 - (view) (download) (annotate) - [select for diffs]
Sun Jul 1 04:08:14 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.57: +6 -3 lines
Diff to previous 1.57
- support priority as second argument of askface
- send images of same priority in fifo order,
  but higher priorities first.

Revision 1.57 - (view) (download) (annotate) - [select for diffs]
Sun Jul 1 03:16:56 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56
prepare for better fxixsx+rx protocol

Revision 1.56 - (view) (download) (annotate) - [select for diffs]
Sun Jun 24 15:33:41 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.55: +1 -1 lines
Diff to previous 1.55
folded developers into authors and fixed stuff

Revision 1.55 - (view) (download) (annotate) - [select for diffs]
Sun Jun 24 04:09:29 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.54: +1 -1 lines
Diff to previous 1.54
first rough cut of msg rewriting, introducing cfpod, a haxored pod variant for crossfire messgaes. where will it end?

Revision 1.54 - (view) (download) (annotate) - [select for diffs]
Sun Jun 24 00:33:54 2007 UTC (16 years, 10 months ago) by root
Branch: MAIN
Changes since 1.53: +1 -1 lines
Diff to previous 1.53
- pippijn unknowingly inspired the idea of documenting the
  type of the objetc_vector_index explicitly.
- pippijn spotted a typoe, to, go figure!

Revision 1.53 - (view) (download) (annotate) - [select for diffs]
Sat Jun 9 22:54:03 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
Changes since 1.52: +2 -1 lines
Diff to previous 1.52
- introduce global NOW variable storing current tick time.
- force some packet send at least every 2 seconds, forcing
  an ack reply.
- timeout connections on ack delay exclusively, by default disconnect
  after 8 seconds (allowing for at least 5.5s of network hiccups).
  (linux only, should port to bsds).
- nuke ericserver stats code.
- reduce number of syscalls (less gettimeofday, only get tcp_info
  about once/second).
- get rid of coroapi.time () in favour of now ().

Revision 1.52 - (view) (download) (annotate) - [select for diffs]
Mon Jun 4 12:19:08 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
Changes since 1.51: +1 -1 lines
Diff to previous 1.51
rename arch->name to arch->archname for preparation of subclassing object

Revision 1.51 - (view) (download) (annotate) - [select for diffs]
Mon May 28 21:15:56 2007 UTC (16 years, 11 months ago) by root
Branch: MAIN
Changes since 1.50: +17 -17 lines
Diff to previous 1.50
- update copyrights in .h files, where applicable
- rename preprocess to genkeywords

Revision 1.50 - (view) (download) (annotate) - [select for diffs]
Fri Apr 27 02:43:04 2007 UTC (17 years ago) by root
Branch: MAIN
CVS Tags: rel-2_1
Changes since 1.49: +0 -38 lines
Diff to previous 1.49
very very aggressive tcp keepalive - tghis might time out connections in 4 seconds

Revision 1.49 - (view) (download) (annotate) - [select for diffs]
Wed Apr 25 18:47:50 2007 UTC (17 years ago) by root
Branch: MAIN
Changes since 1.48: +21 -12 lines
Diff to previous 1.48
rewrote output buffer handling. the new system:
- outputs messages immediately.
- suppresses following duplicates.
- enforces a minimum setting.
- is, as usual, faster and leaner.

the only problem is that the code worked out of the box, which is not reassuring.

Revision 1.48 - (view) (download) (annotate) - [select for diffs]
Tue Apr 24 00:42:02 2007 UTC (17 years ago) by root
Branch: MAIN
Changes since 1.47: +3 -2 lines
Diff to previous 1.47
- 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.

Revision 1.47 - (view) (download) (annotate) - [select for diffs]
Wed Apr 18 09:38:58 2007 UTC (17 years ago) by root
Branch: MAIN
Changes since 1.46: +1 -1 lines
Diff to previous 1.46
store and transfer the player objetc count not uuid in the extmap protocol, we cannot reasonably hope to get rid of the count anyway

Revision 1.46 - (view) (download) (annotate) - [select for diffs]
Tue Apr 10 09:35:23 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.45: +1 -0 lines
Diff to previous 1.45
- implement smoothing in the fxix (or better: fxixsx) protocol.
- this *enforces* that smoothing is *per face* and not *per archetype*.
- no extra bandwidth is needed for map information (unlike in the
  crossfire 1.x protocol, where smoothlevels are per-mapspace
  and take up a lot of bandwidth).
- no extra storage is required on the client-side (although smoothing
  for cached map data is then only available for tiles that have been seen).
- temporarily supply empty_S.x11 smoothfaces again, as this hack is required
  because there is no way to specify a smoothlevel but no smoothface
  otherwise. this should be optimised away at a future point, but this
  will break gcfclient (but disabling smoothing for that might be a good
  compromise).

Revision 1.45 - (view) (download) (annotate) - [select for diffs]
Tue Apr 3 00:21:37 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.44: +7 -1 lines
Diff to previous 1.44
- fix ber encoding
- reduce image checksum length to 6 bytes (from 16)
- implement fx packet, which reduces
  face overhead to amortised 10/12 bytes per face instead of
  21/32 bytes and allows an unlimited number of faces
  instead of 2**16.

Revision 1.44 - (view) (download) (annotate) - [select for diffs]
Mon Apr 2 19:56:11 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.43: +2 -0 lines
Diff to previous 1.43
add untested ber integer encoding function

Revision 1.43 - (view) (download) (annotate) - [select for diffs]
Mon Apr 2 18:54:00 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.42: +1 -0 lines
Diff to previous 1.42
find mss value for future use

Revision 1.42 - (view) (download) (annotate) - [select for diffs]
Mon Apr 2 18:04:46 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
Changes since 1.41: +7 -6 lines
Diff to previous 1.41
moved setup to perlspace to facilitate easier extensions and some cleanups. feels more secure, too

Revision 1.41 - (view) (download) (annotate) - [select for diffs]
Fri Mar 16 02:37:54 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.40: +1 -0 lines
Diff to previous 1.40
- implement yet another bug workaround for gcfclient. its rather sad.

when bg scrubbing, the server sends images in advance, about twice per second.

then receiving a new image, gcfclient destroys the imventory and rebuilds it
(the widgets). this makes using it rather hard, as twice per seconds all widgets
go away and are replaced by new ones, so mouse clicks, if not fast enough, will
be ignored, making the client rather hard to use.

soo.... only to background sending for cfplus, which needs it least.

Revision 1.40 - (view) (download) (annotate) - [select for diffs]
Thu Mar 15 16:25:45 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.39: +9 -7 lines
Diff to previous 1.39
implement another bug workaround for clients

Revision 1.39 - (view) (download) (annotate) - [select for diffs]
Thu Mar 15 03:30:37 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.38: +4 -0 lines
Diff to previous 1.38
- background scrub the client face cache:
  - on the first image request, start sending out
    all faces in order (one face per tick) when
    there is no other image sending activity.
  - send out one image every BG_SCRUB_RATE max.
    if there is no other image sending activity.
  - by default this sends roughly 2 images to the client
    per second, and 8 face indications if the faces
    are already known to the client.

Revision 1.38 - (view) (download) (annotate) - [select for diffs]
Wed Mar 14 15:44:47 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.37: +7 -2 lines
Diff to previous 1.37
- make face caching mandatory, and pester users to enable it
- implement rate-limiting, for images only right now
- implement and document output-rate command to set rate limit.
- default 1mbit.

Revision 1.37 - (view) (download) (annotate) - [select for diffs]
Wed Mar 14 04:12:28 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36
- rewrote more face handling code
- automatically send smooth faces, as the client will need them anyways
  and it makes little sense to wait for the client to axk for it. of course,
  gcfclient suffers from weird ordering problems again.
- UP_OBJ_FACE was often abused in situations where other things changed,
  updated lots of spaces, probably more to be done.
- update_smooth became so small that inlining it actually clarified
  the code. similar for update_space, which is not inlined for other reasons.
- faces were not initialised properly
- add versioncheck for face data
- rewrite invisibility handling a bit: god finger etc. now makes you blink,
  blinking routine has changed to be less annoying and more useful while
  still indicating invisibleness.

Revision 1.36 - (view) (download) (annotate) - [select for diffs]
Wed Mar 14 01:19:09 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.35: +5 -11 lines
Diff to previous 1.35
- send smooth faces automatically with their base face, anything else
  just complictaes everything and clients who want smoothing would
  requets the face anyways.
- this reduces the size of struct client considerably, from 300k to
  about 300k (whoops).

Revision 1.35 - (view) (download) (annotate) - [select for diffs]
Wed Mar 14 00:04:58 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.34: +6 -0 lines
Diff to previous 1.34
- rewrote smooth face handling, as a side-effect, smoothing seems to work
  again and smooth faces can be reloaded.
- the server now sends the full animation for an object the first time
  it is seen, this uses slightly more bandwidth initially, but avoids
  the flickering for objects change their face later.

Revision 1.34 - (view) (download) (annotate) - [select for diffs]
Mon Mar 12 23:45:10 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.33: +2 -0 lines
Diff to previous 1.33
- gcfclient compares against the server-provided image checksum but
  stores its own checksum in the database. needless to say, they differed.
  needless to say, we now have to provide a dummy superfluous gcfclient checksum
  for gcfclient only.
- add various bug workaround flags to enbale gcfclient to cache imges again.

Revision 1.33 - (view) (download) (annotate) - [select for diffs]
Mon Mar 12 01:13:10 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.32: +3 -10 lines
Diff to previous 1.32
- remove faces form each mapspace, as they were stored and calculated
  *solely* for magicmap. sic.
- as update_ is a major bottleneck, this will certainly help load, too.
- semantics have changed: objects with blank faces are now transfered,
  but i assume this is rare (and might give a nice hint about invisible stuff :)

Revision 1.32 - (view) (download) (annotate) - [select for diffs]
Sun Mar 11 02:12:44 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.31: +3 -5 lines
Diff to previous 1.31
- MAJOR CHANGE
- you now need to use cfutil to install arches.
- former bigfaces are broken in the server
- bigfaces are no longer supported. at all.
- use face numbers instead of pointers
  * saves lotsa space
  * saves lotsa indirections
  * saves lots(?) cpu cycles
- completely rewrote face handling
- faces can now be added at runtime
- reload will add new faces
- this does not apply to animations
- use a hastable instead of binary search (faster) for faces
- face caching is broken
- facesets are gone
- server always reports MAX_FACES to any client who asks

Revision 1.31 - (view) (download) (annotate) - [select for diffs]
Sat Mar 10 19:48:16 2007 UTC (17 years, 2 months ago) by root
Branch: MAIN
Changes since 1.30: +2 -1 lines
Diff to previous 1.30
- improve image_sums
- DOWNGRADE server protocol version to 1026.
  * this disables requestinfo image_sums and image_info in gcfclient,
    allowing us to use up to 10000 faces dynamically
    (right now, we already sue up to 7500 faces, but the 10000 face limit
    is, of coruse, hardcoded into gcfclient))

--
A student, in hopes of understanding the Lambda-nature, came to
Greenblatt.  As they spoke a Multics system hacker walked by.  "Is it
true", asked the student, "that PL-1 has many of the same data types as
Lisp".  Almost before the student had finshed his question, Greenblatt
shouted, "FOO!", and hit the student with a stick.

Revision 1.30 - (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.29: +2 -2 lines
Diff to previous 1.29
nano-cleanups

Revision 1.29 - (view) (download) (annotate) - [select for diffs]
Thu Feb 15 04:04:22 2007 UTC (17 years, 3 months ago) by root
Branch: MAIN
Changes since 1.28: +1 -0 lines
Diff to previous 1.28
- tell player about each region as she enters.
- region longnames no longer are prefixed with in, change accordingly.

Revision 1.28 - (view) (download) (annotate) - [select for diffs]
Sun Feb 4 21:02:54 2007 UTC (17 years, 3 months ago) by root
Branch: MAIN
Changes since 1.27: +4 -2 lines
Diff to previous 1.27
make a horrendous hack to enable say and chat to be executed almost anytime

Revision 1.27 - (view) (download) (annotate) - [select for diffs]
Sun Feb 4 00:39:32 2007 UTC (17 years, 3 months ago) by root
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26
*** empty log message ***

Revision 1.26 - (view) (download) (annotate) - [select for diffs]
Mon Jan 15 21:06:18 2007 UTC (17 years, 4 months ago) by pippijn
Branch: MAIN
Changes since 1.25: +22 -22 lines
Diff to previous 1.25
comments

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

Revision 1.24 - (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.23: +7 -2 lines
Diff to previous 1.23
""

Revision 1.23 - (view) (download) (annotate) - [select for diffs]
Sat Jan 6 14:42:30 2007 UTC (17 years, 4 months ago) by pippijn
Branch: MAIN
Changes since 1.22: +1 -0 lines
Diff to previous 1.22
added some copyrights

Revision 1.22 - (view) (download) (annotate) - [select for diffs]
Tue Dec 26 05:44:14 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.21: +12 -10 lines
Diff to previous 1.21
formatting

Revision 1.21 - (view) (download) (annotate) - [select for diffs]
Mon Dec 25 11:25:49 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.20: +4 -4 lines
Diff to previous 1.20
- 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.20 - (view) (download) (annotate) - [select for diffs]
Sat Dec 23 15:49:40 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.19: +2 -1 lines
Diff to previous 1.19
- implement (mostly untested) array member support for genacc
- make some arrays and other members available to perl
- redefined meaning of NUM_FLAGS (really meaning number of flags now,
  as the code assumed anyway).
- moved afk flag to client, where it belongs (make sno sense to save it,
  is also true for wiz &c).
- updated extensions to reflect all that (Jewler.pm should be tested w.r.t.
  resistances)

Revision 1.19 - (view) (download) (annotate) - [select for diffs]
Sat Dec 23 09:41:55 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.18: +0 -1 lines
Diff to previous 1.18
- reorder stuff so that the endlessly sucky gcfclient doesn't get confused

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

Revision 1.17 - (view) (download) (annotate) - [select for diffs]
Sat Dec 23 00:14:29 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.16: +0 -2 lines
Diff to previous 1.16
*** empty log message ***

Revision 1.16 - (view) (download) (annotate) - [select for diffs]
Fri Dec 22 16:34:00 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.15: +1 -6 lines
Diff to previous 1.15
- 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?)

Revision 1.15 - (view) (download) (annotate) - [select for diffs]
Thu Dec 21 23:37:05 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.14: +21 -2 lines
Diff to previous 1.14
- 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".

Revision 1.14 - (view) (download) (annotate) - [select for diffs]
Thu Dec 21 06:12:36 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.13: +11 -11 lines
Diff to previous 1.13
- 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.13 - (view) (download) (annotate) - [select for diffs]
Wed Dec 20 09:14:22 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.12: +25 -4 lines
Diff to previous 1.12
- minor cleanups
- minor optimisations (in_player vs. is_player_inv)
- added P_PLAYER map flag
- some (dead) concept code

Revision 1.12 - (view) (download) (annotate) - [select for diffs]
Wed Dec 20 01:19:11 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.11: +20 -1 lines
Diff to previous 1.11
some source simplification

Revision 1.11 - (view) (download) (annotate) - [select for diffs]
Tue Dec 19 05:41:21 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10
goofing around in vain, trying to find a generalisation for esrv*item

Revision 1.10 - (view) (download) (annotate) - [select for diffs]
Tue Dec 19 05:12:52 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.9: +34 -30 lines
Diff to previous 1.9
- hide floorbox implementation details
- use meaning (hopefully) names

Revision 1.9 - (view) (download) (annotate) - [select for diffs]
Tue Dec 19 04:58:04 2006 UTC (17 years, 4 months ago) by root
Branch: MAIN
Changes since 1.8: +2 -3 lines
Diff to previous 1.8
- separate all comamnds into immediate/socket-level and queued/player-level
- clean up player command handling, handle up to 8 commands/tick

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

Revision 1.7 - (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.6: +14 -11 lines
Diff to previous 1.6
- clean up some code
- fix some possible (minor) bugs
- use a bitset for anims_sent
- fix a memory leak
- removed dead code

Revision 1.6 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 18:39:26 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5
fix memory leak in player command queue.

Revision 1.5 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 03:21:08 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4
- limit command backlog to two seconds

Revision 1.4 - (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.3: +48 -16 lines
Diff to previous 1.3
- 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.3 - (view) (download) (annotate) - [select for diffs]
Fri Dec 15 20:08:45 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.2: +1 -1 lines
Diff to previous 1.2
I goofed.

Revision 1.2 - (view) (download) (annotate) - [select for diffs]
Fri Dec 15 20:07:02 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1
more slight copyright adjustments

Revision 1.1 - (view) (download) (annotate) - [select for diffs]
Fri Dec 15 19:59:19 2006 UTC (17 years, 5 months ago) by root
Branch: MAIN
the rename for sanity campaign hits
you died
- renamed stuff
- partially updated copyrights
- some cleanups

Convenience Links

Links to HEAD: (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