From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- pipermail/nel/2001-April/000392.html | 52 ++++++ pipermail/nel/2001-April/000393.html | 114 ++++++++++++ pipermail/nel/2001-April/000394.html | 64 +++++++ pipermail/nel/2001-April/000395.html | 70 ++++++++ pipermail/nel/2001-April/000396.html | 61 +++++++ pipermail/nel/2001-April/000397.html | 56 ++++++ pipermail/nel/2001-April/000398.html | 72 ++++++++ pipermail/nel/2001-April/000399.html | 105 +++++++++++ pipermail/nel/2001-April/000400.html | 325 ++++++++++++++++++++++++++++++++++ pipermail/nel/2001-April/000401.html | 84 +++++++++ pipermail/nel/2001-April/000402.html | 123 +++++++++++++ pipermail/nel/2001-April/000403.html | 96 ++++++++++ pipermail/nel/2001-April/000404.html | 105 +++++++++++ pipermail/nel/2001-April/000405.html | 78 ++++++++ pipermail/nel/2001-April/000406.html | 63 +++++++ pipermail/nel/2001-April/000407.html | 106 +++++++++++ pipermail/nel/2001-April/000408.html | 100 +++++++++++ pipermail/nel/2001-April/000409.html | 83 +++++++++ pipermail/nel/2001-April/000410.html | 312 ++++++++++++++++++++++++++++++++ pipermail/nel/2001-April/000412.html | 162 +++++++++++++++++ pipermail/nel/2001-April/000413.html | 107 +++++++++++ pipermail/nel/2001-April/author.html | 68 +++++++ pipermail/nel/2001-April/date.html | 68 +++++++ pipermail/nel/2001-April/index.html | 110 ++++++++++++ pipermail/nel/2001-April/subject.html | 68 +++++++ pipermail/nel/2001-April/thread.html | 110 ++++++++++++ 26 files changed, 2762 insertions(+) create mode 100644 pipermail/nel/2001-April/000392.html create mode 100644 pipermail/nel/2001-April/000393.html create mode 100644 pipermail/nel/2001-April/000394.html create mode 100644 pipermail/nel/2001-April/000395.html create mode 100644 pipermail/nel/2001-April/000396.html create mode 100644 pipermail/nel/2001-April/000397.html create mode 100644 pipermail/nel/2001-April/000398.html create mode 100644 pipermail/nel/2001-April/000399.html create mode 100644 pipermail/nel/2001-April/000400.html create mode 100644 pipermail/nel/2001-April/000401.html create mode 100644 pipermail/nel/2001-April/000402.html create mode 100644 pipermail/nel/2001-April/000403.html create mode 100644 pipermail/nel/2001-April/000404.html create mode 100644 pipermail/nel/2001-April/000405.html create mode 100644 pipermail/nel/2001-April/000406.html create mode 100644 pipermail/nel/2001-April/000407.html create mode 100644 pipermail/nel/2001-April/000408.html create mode 100644 pipermail/nel/2001-April/000409.html create mode 100644 pipermail/nel/2001-April/000410.html create mode 100644 pipermail/nel/2001-April/000412.html create mode 100644 pipermail/nel/2001-April/000413.html create mode 100644 pipermail/nel/2001-April/author.html create mode 100644 pipermail/nel/2001-April/date.html create mode 100644 pipermail/nel/2001-April/index.html create mode 100644 pipermail/nel/2001-April/subject.html create mode 100644 pipermail/nel/2001-April/thread.html (limited to 'pipermail/nel/2001-April') diff --git a/pipermail/nel/2001-April/000392.html b/pipermail/nel/2001-April/000392.html new file mode 100644 index 00000000..7fce366d --- /dev/null +++ b/pipermail/nel/2001-April/000392.html @@ -0,0 +1,52 @@ + + + + [Nel] Subscribe Me + + + + + + +

[Nel] Subscribe Me

+ Brandon + brandon_425@yahoo.com
+ Thu, 5 Apr 2001 10:19:11 -0700 (PDT) +

+
+ +
 
+ 
+
+__________________________________________________
+Do You Yahoo!?
+Get email at your own domain with Yahoo! Mail. 
+http://personal.mail.yahoo.com/
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000393.html b/pipermail/nel/2001-April/000393.html new file mode 100644 index 00000000..6edaeeaa --- /dev/null +++ b/pipermail/nel/2001-April/000393.html @@ -0,0 +1,114 @@ + + + + [Nel] Mark Ewert ewert@reflexnet.net + + + + + + +

[Nel] Mark Ewert ewert@reflexnet.net

+ Brandon + brandon_425@yahoo.com
+ Thu, 5 Apr 2001 11:24:17 -0700 (PDT) +

+
+ +
Mark,
+
+I noticed that you had reflexnet.net also as your ISP. I can't
+believe they pulled the carpet right out from under us and went
+bankrupt. Technology is funny these days.  Just like the stock
+market. Ouch!!!  :)  Funny huh?  I found a great new ISP, let me
+know if you want the info or if you could give me some help
+finding a new ISP.
+
+Thanks,
+
+Brandon
+brandon_425@yahoo.com
+Home: 503.605.5433
+
+
+--- nel-request@nevrax.org wrote:
+> Welcome to the Nel@nevrax.org mailing list!
+> 
+> To post to this list, send your email to:
+> 
+>   nel@nevrax.org
+> 
+> General information about the mailing list is at:
+> 
+>   http://www.nevrax.org/mailman/listinfo.cgi/nel
+> 
+> If you ever want to unsubscribe or change your options (eg,
+> switch to
+> or from digest mode, change your password, etc.), visit your
+> subscription page at:
+> 
+>  
+>
+http://www.nevrax.org/mailman/options.cgi/nel/brandon_425@yahoo.com
+> 
+> You can also make such adjustments via email by sending a
+> message to:
+> 
+>   Nel-request@nevrax.org
+> 
+> with the word `help' in the subject or body (don't include the
+> quotes), and you will get back a message with instructions.
+> 
+> You must know your password to change your options (including
+> changing
+> the password, itself) or to unsubscribe.  It is:
+> 
+>   by09661
+> 
+> If you forget your password, don't worry, you will receive a
+> monthly
+> reminder telling you what all your nevrax.org mailing list
+> passwords
+> are, and how to unsubscribe or change your options.  There is
+> also a
+> button on your options page that will email your current
+> password to
+> you.
+> 
+> You may also have your password mailed to you automatically
+> off of the
+> Web page noted above.
+
+
+__________________________________________________
+Do You Yahoo!?
+Get email at your own domain with Yahoo! Mail. 
+http://personal.mail.yahoo.com/
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000394.html b/pipermail/nel/2001-April/000394.html new file mode 100644 index 00000000..f0770969 --- /dev/null +++ b/pipermail/nel/2001-April/000394.html @@ -0,0 +1,64 @@ + + + + [Nel] You guys will let us know when you're done mucking about, right? + + + + + + +

[Nel] You guys will let us know when you're done mucking about, right?

+ robert@thatsnice.org + robert@thatsnice.org
+ Sun, 8 Apr 2001 08:47:53 -0700 (PDT) +

+
+ +
Hello again Nevrax folks,
+
+I'm still interested in using NeL in a project, and I wanted to prod
+you guys and see how things are coming along, and when we'll be able
+to get involved again.
+
+Don't forget that one of the selling points of free software is
+collaboration with the community.  We're not just here to bug you. :)
+
+Hope everything's going well.
+
+Robert
+
+-- 
+Robert de Forest      "Give a man a fire and he'll be warm for a day;
+System Administrator   set him on fire and he'll be warm 
+Got.net                for the rest of his life."
+<robert@got.net>                -- The Cube, forum3000.org
+
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000395.html b/pipermail/nel/2001-April/000395.html new file mode 100644 index 00000000..fbb8d5f1 --- /dev/null +++ b/pipermail/nel/2001-April/000395.html @@ -0,0 +1,70 @@ + + + + [Nel] You guys will let us know when you're done mucking about, right? + + + + + + +

[Nel] You guys will let us know when you're done mucking about, right?

+ Cedric Valignat + valignat@nevrax.com
+ Mon, 9 Apr 2001 18:52:53 +0200 +

+
+ +
Hello Robert,
+
+robert@thatsnice.org wrote:
+> 
+> Don't forget that one of the selling points of free software is
+> collaboration with the community.  We're not just here to bug you. :)
+
+hehe ... i think that we quite aware of that :-)
+
+We are just meeting some of our own internal Milestones so, as you guess,
+we are quite busy at the moment.
+
+Our 3D team are redisigning NeL's 3d interfaces, the network is redisigning
+the networks layers, and are curently working on the documentation too ...
+
+A new version of Snowball sould be done for the first of May. That new
+version will use the new network and 3D implementation of NeL.
+
+So don't worry, we didn't forget you, it's just that we are very busy.
+
+Sorry about that ...
+
+
+Cedric.
+
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000396.html b/pipermail/nel/2001-April/000396.html new file mode 100644 index 00000000..57c6c651 --- /dev/null +++ b/pipermail/nel/2001-April/000396.html @@ -0,0 +1,61 @@ + + + + [Nel] You guys will let us know when you're done mucking about, right? + + + + + + +

[Nel] You guys will let us know when you're done mucking about, right?

+ David Mentre + David.Mentre@inria.fr
+ 10 Apr 2001 09:17:41 +0200 +

+
+ +
Cedric Valignat <valignat@nevrax.com> writes:
+
+> Our 3D team are redisigning NeL's 3d interfaces, the network is redisigning
+> the networks layers, and are curently working on the documentation too ...
+
+About the network layer, what is the design you have finally chosen?
+Automata over kernel threads?
+
+BTW, have you setup unit tests? I had a (very) quick glance at code but
+did not found any. Would you be interested in such tests?
+
+d.
+-- 
+ David.Mentre@inria.fr -- http://www.irisa.fr/prive/dmentre/
+ Opinions expressed here are only mine.
+
+
+ + + + +
+

+ diff --git a/pipermail/nel/2001-April/000397.html b/pipermail/nel/2001-April/000397.html new file mode 100644 index 00000000..5a171923 --- /dev/null +++ b/pipermail/nel/2001-April/000397.html @@ -0,0 +1,56 @@ + + + + [Nel] You guys will let us know when you're done mucking about, right? + + + + + + +

[Nel] You guys will let us know when you're done mucking about, right?

+ sameh chafik Pro + chafik@nevrax.com
+ Tue, 10 Apr 2001 10:01:48 +0200 +

+
+ +
Hello Robert
+
+> I'm still interested in using NeL in a project, and I wanted to prod
+> you guys and see how things are coming along, and when we'll be able
+> to get involved again.
+
+What kind of project you are working on ?
+
+
+
+ + + + +
+

+ diff --git a/pipermail/nel/2001-April/000398.html b/pipermail/nel/2001-April/000398.html new file mode 100644 index 00000000..b9b5a28a --- /dev/null +++ b/pipermail/nel/2001-April/000398.html @@ -0,0 +1,72 @@ + + + + [Nel] You guys will let us know when you're done mucking about, right? + + + + + + +

[Nel] You guys will let us know when you're done mucking about, right?

+ Vincent Archer + archer@nevrax.com
+ Tue, 10 Apr 2001 16:35:06 +0200 +

+
+ +
According to David Mentre:
+> Cedric Valignat <valignat@nevrax.com> writes:
+> > Our 3D team are redisigning NeL's 3d interfaces, the network is redisigning
+> > the networks layers, and are curently working on the documentation too ...
+> 
+> About the network layer, what is the design you have finally chosen?
+> Automata over kernel threads?
+
+We're finishing the design docs, which will explain exactly how we're
+going to work. Can't explain further yet. You'll have to wait a little bit
+more for these to appear on the web/CVS.
+
+> BTW, have you setup unit tests? I had a (very) quick glance at code but
+> did not found any. Would you be interested in such tests?
+
+We haven't any formal test system for elementary modules. There are some
+self-contained examples in the nel/samples directory that show how some
+modules work, and which could easily be turned into testbeds to check
+functionality.
+
+If you think you can find better examples, or put added examples that
+can serve as tests at the same time, your contribution will be well
+appreciated.
+
+-- 
+Vincent Archer                                         Email: archer@nevrax.com
+
+Nevrax France.                              Off on the yellow brick road we go!
+
+
+ + +
+

+ diff --git a/pipermail/nel/2001-April/000399.html b/pipermail/nel/2001-April/000399.html new file mode 100644 index 00000000..639b02a5 --- /dev/null +++ b/pipermail/nel/2001-April/000399.html @@ -0,0 +1,105 @@ + + + + [Nel] You guys will let us know when you're done mucking about, + right? + + + + + + +

[Nel] You guys will let us know when you're done mucking about, + right?

+ robert@thatsnice.org + robert@thatsnice.org
+ Tue, 10 Apr 2001 15:35:01 -0700 (PDT) +

+
+ +
[ Charset ISO-8859-1 unsupported, converting... ]
+> Hello Robert
+> 
+> > I'm still interested in using NeL in a project, and I wanted to prod
+> > you guys and see how things are coming along, and when we'll be able
+> > to get involved again.
+> 
+> What kind of project you are working on ?
+
+Why a 3d MUD, of course.
+
+I started out on a MOO, then got into ColdMUD, which then begat this
+project:
+
+coldstore.sourceforge.net
+
+Which is just the back-end, and is embrionic still.
+
+My goal is to replace all the MMORPGs with a decentralized free
+alternative.  Of course, this would compete with Nevrax, but that will
+just encourage them to be better. :)
+
+I think Nevrax has the best philosophical approach to this problem of
+any commercial effort, and I applaud them.  However, since I don't
+work there, and I still want to work on these problems, I work for
+free.
+
+The particular subject I wish to tackle with an MMORPG is the social
+experimentation subject.  This has been tried before in text-based
+adventures (LambdaMOO and its descendents), but never on a large
+enough scale or with new technology.
+
+I want to see if we can learn something as a culture by creating a
+super dynamic world with maximum "player" input into the universe and
+maybe solve some of our differences inside that world.  Then maybe we
+can carry those lessons to the outside world.
+
+My experiment would NOT be a game.  It would also not be a pure
+simulation because we just don't have that technology yet, either in
+input and output or in resources to process or computer it.  It would
+be a rough analogy of life, and would try to put everyone at roughly
+the same level of world interaction, within reason.  It would be based
+heavily on life as we know it, but with an accelerated time scale.
+
+I try not to think too much about whether I actually expect this to
+ever happen or be popular. :)
+
+Thanks for asking!
+
+Robert
+
+-- 
+Robert de Forest      "Give a man a fire and he'll be warm for a day;
+System Administrator   set him on fire and he'll be warm 
+Got.net                for the rest of his life."
+<robert@got.net>                -- The Cube, forum3000.org
+
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000400.html b/pipermail/nel/2001-April/000400.html new file mode 100644 index 00000000..2121389f --- /dev/null +++ b/pipermail/nel/2001-April/000400.html @@ -0,0 +1,325 @@ + + + + [Nel] proposed control changes + + + + + + +

[Nel] proposed control changes

+ Dan Erikson + derikson@montana.com
+ Thu, 12 Apr 2001 20:49:18 -0600 +

+
+ +
Hi all, this is kind of long, sorry.  I had some thoughts that I'd like to
+get some feedback on, and some code that you might find useful.
+
+I've put together a patch that changes the mouse control in snowballs so
+that the mouse is normally free, and you have to click on the window
+and move the mouse in order to move the view around.  This is a change
+from the current behavior where the mouse is always locked by the
+application.  This allows one to use other applications while the game
+is running.  I've even used it to have two instances of snowball running at
+the same time, which should be useful for testing reasons.  It'll also alow
+for using the mouse in the future for clicking on controls on other parts of
+the screen.  The only thing I'm not sure about is how well it will work on
+windows.  It looks like it'll work, but it would be nice if someone 
+would test it.
+
+I used the right mouse button because the left mouse button is already 
+in use
+for throwing a snowball, but I think these changes to the controls would
+work better:
+
+* Left mouse button to move the view around
+* Right mouse button to move forward
+* Space button to throw a snowball
+* Enter button to enter chat mode
+     After text is typed and enter is pressed, return from chat mode
+* Mousewheel forward to zoom in
+* Mousewheel backwards to zoom out
+* Left button turns the view left normally
+* If control+left or left_mouse+left, then strafe left
+* Right button turns the view right normally
+* If control+right or left_mouse+right, then strafe right
+
+The normal mode/chat mode allows us to use the keys for functionality rather
+than F1-F12, which is a little harder to remember than something like 
+'r' for
+toggle radar.  Also, there are a limited number of function buttons, so I
+think having access to all the other keys would allow good future expansion.
+
+The changes to the mouse buttons allows one to move around the world using
+only the mouse.
+
+It would also be nice to have the ability to customize these keys, but 
+that's
+something for a little later.
+
+If anyone has any comments about this stuff, I'd love to hear them.
+
+Patch to use right mouse button to move the heading around:
+
+Index: move_listener.cpp
+===================================================================
+RCS file: /home/cvsroot/code/client/src/move_listener.cpp,v
+retrieving revision 1.23
+diff -c -r1.23 move_listener.cpp
+*** move_listener.cpp    2001/04/10 10:20:48    1.23
+--- move_listener.cpp    2001/04/13 02:21:30
+***************
+*** 54,63 ****
+  \****************************************************************/
+  CMoveListener::CMoveListener()
+  {
+!     _MouseFree = false;
+    
+-     _CursorInit = false;
+-
+     _Width = 0;
+     _Height = 0;
+ 
+--- 54,61 ----
+  \****************************************************************/
+  CMoveListener::CMoveListener()
+  {
+!     _MouseFree = true;
+    
+     _Width = 0;
+     _Height = 0;
+ 
+***************
+*** 184,190 ****
+  \****************************************************************/
+  void CMoveListener::operator()(const CEvent& event)
+  {
+!     static const float eps = 0.001f;
+ 
+     // Rotation
+     if (event==EventMouseMoveId)
+--- 182,188 ----
+  \****************************************************************/
+  void CMoveListener::operator()(const CEvent& event)
+  {
+!     static const float eps = 0.002f;
+ 
+     // Rotation
+     if (event==EventMouseMoveId)
+***************
+*** 196,240 ****
+ 
+         if(!_MouseFree)
+         {
+!             if(_CursorInit)
+             {
+!                 float difx =  0.5f-mouseEvent->X;
+!                 float dify =  -(0.5f-mouseEvent->Y);
+!                 if( (float)fabs(difx) > eps || (float)fabs(dify) > eps)
+                 {
+!                     if ( (float)fabs(difx) > eps)
+!                     {
+!                          LocalArea->User.yaw( _RotSpeed*(difx) );
+                     }
+!                     if ( (float)fabs(dify) > eps)
+!                     {
+!                          LocalArea->User.ViewPitch += _RotSpeed*(dify);
+!                          if(LocalArea->User.ViewPitch>(float)Pi/2)
+!                          {
+!                              LocalArea->User.ViewPitch = (float)Pi/2;
+!                          }
+!                          if(LocalArea->User.ViewPitch<-(float)Pi/2)
+!                          {
+!                              LocalArea->User.ViewPitch = -(float)Pi/2;
+!                          }
+                     }
+-                     _Scene->getDriver()->setMousePos(0.5,0.5);
+                 }
+               }
+-               else
+-               {
+-                   _CursorInit = true;
+-                 _Scene->getDriver()->setMousePos(0.5,0.5);
+-               }
+         }
+     }
+  
+ 
+ 
+-     // Shoot with left mouse button
+     if ( event==EventMouseDownId)
+     {
+         CEventMouse* mouseEvent=(CEventMouse*)&event;
+         if(mouseEvent->Button==leftButton && CanShot)
+         {
+             if ( (ClientSocket!=NULL) && ClientSocket->connected() )
+--- 194,230 ----
+ 
+         if(!_MouseFree)
+         {
+!             float difx =  _MouseLockX-mouseEvent->X;
+!             float dify =  -(_MouseLockY-mouseEvent->Y);
+!             if( (float)fabs(difx) > eps || (float)fabs(dify) > eps)
+             {
+!                 if ( (float)fabs(difx) > eps)
+!                 {
+!                     LocalArea->User.yaw( _RotSpeed*(difx) );
+!                 }
+!                 if ( (float)fabs(dify) > eps)
+                 {
+!                     LocalArea->User.ViewPitch += _RotSpeed*(dify);
+!                     if(LocalArea->User.ViewPitch>(float)Pi/2)
+!                      {
+!                         LocalArea->User.ViewPitch = (float)Pi/2;
+                     }
+!                     if(LocalArea->User.ViewPitch<-(float)Pi/2)
+!                      {
+!                         LocalArea->User.ViewPitch = -(float)Pi/2;
+                     }
+                 }
++                 _Scene->getDriver()->setMousePos(_MouseLockX,_MouseLockY);
+               }
+         }
+     }
+  
+ 
+ 
+     if ( event==EventMouseDownId)
+     {
+         CEventMouse* mouseEvent=(CEventMouse*)&event;
++         // Shoot with left mouse button
+         if(mouseEvent->Button==leftButton && CanShot)
+         {
+             if ( (ClientSocket!=NULL) && ClientSocket->connected() )
+***************
+*** 249,254 ****
+--- 239,259 ----
+                 }
+             }
+         }
++         if(mouseEvent->Button==rightButton && _MouseFree)
++         {
++             _MouseLockX = mouseEvent->X;
++             _MouseLockY = mouseEvent->Y;
++             changeControlMode();
++         }
++     }
++
++     if(event==EventMouseUpId)
++     {
++         CEventMouse* mouseEvent=(CEventMouse*)&event;
++         if(mouseEvent->Button==rightButton && !_MouseFree)
++         {
++             changeControlMode();
++         }
+     }
+  }
+ 
+***************
+*** 260,265 ****
+--- 265,271 ----
+  {
+     server.addListener (EventMouseMoveId, this);
+     server.addListener (EventMouseDownId, this);
++     server.addListener (EventMouseUpId, this);
+  }
+ 
+ 
+***************
+*** 270,274 ****
+--- 276,281 ----
+  {
+     server.removeListener (EventMouseMoveId, this);
+     server.removeListener (EventMouseDownId, this);
++     server.removeListener (EventMouseUpId, this);
+  }
+ 
+Index: move_listener.h
+===================================================================
+RCS file: /home/cvsroot/code/client/src/move_listener.h,v
+retrieving revision 1.15
+diff -c -r1.15 move_listener.h
+*** move_listener.h    2001/03/05 09:39:44    1.15
+--- move_listener.h    2001/04/13 02:21:30
+***************
+*** 119,127 ****
+     /// Internal use
+     virtual void operator()(const NLMISC::CEvent& event);
+    
+-     /// true if first setMousePos done
+-     bool _CursorInit;
+-
+     CScene * _Scene;
+    
+     /// screen width
+--- 119,124 ----
+***************
+*** 155,160 ****
+--- 152,160 ----
+     float _MouseY;
+ 
+     bool _Shot;
++
++     float _MouseLockX;
++     float _MouseLockY;
+  };
+ 
+ 
+Index: client.cpp
+===================================================================
+RCS file: /home/cvsroot/code/client/src/client.cpp,v
+retrieving revision 1.177
+diff -c -r1.177 client.cpp
+*** client.cpp    2001/04/12 17:06:42    1.177
+--- client.cpp    2001/04/13 02:22:13
+***************
+*** 1880,1893 ****
+     LocalArea->setEntityMovedCallback( moveEntityInstance );
+     LocalArea->setEntityRemovedCallback( deleteEntityInstance );
+ 
+-     // hide mouse cursor
+-     CNELU::Driver->showCursor(false);
+- #ifdef NL_RELEASE
+-     CNELU::Driver->setCapture(true);
+- #endif
+-
+-
+-
+     // Load meshes
+     /*
+     vector<string>::iterator itshp;
+--- 1880,1885 ----
+
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000401.html b/pipermail/nel/2001-April/000401.html new file mode 100644 index 00000000..5d6ea3bb --- /dev/null +++ b/pipermail/nel/2001-April/000401.html @@ -0,0 +1,84 @@ + + + + [Nel] proposed control changes + + + + + + +

[Nel] proposed control changes

+ Cedric Valignat + valignat@nevrax.com
+ Fri, 13 Apr 2001 19:41:25 +0200 +

+
+ +
Hi,
+
+Dan Erikson wrote:
+> 
+> I've put together a patch that changes the mouse control in snowballs so
+> that the mouse is normally free, and you have to click on the window
+> and move the mouse in order to move the view around.  This is a change
+> from the current behavior where the mouse is always locked by the
+> application.  This allows one to use other applications while the game
+> is running.  I've even used it to have two instances of snowball running at
+> the same time, which should be useful for testing reasons.  It'll also alow
+> for using the mouse in the future for clicking on controls on other parts of
+> the screen.  The only thing I'm not sure about is how well it will work on
+> windows.  It looks like it'll work, but it would be nice if someone 
+> would test it.
+
+Nice :-)
+
+I'm going to take a look on that next week and i will test it on windows
+before to integrate the patch. I will keep you inform of the results :-)
+
+> I used the right mouse button because the left mouse button is already 
+> in use
+> for throwing a snowball, but I think these changes to the controls would
+> work better:
+> [...]
+
+The control configuration is a very personal thing, we choose a quite common
+way to configure the moves control ... but it wiil be nice to be able to
+easly configure them :-)
+
+I do agree with you on the Function keys and the ability to be able to use
+the other keys of the keyboard ... migth be nice to have ;-)
+
+
+Thanks for your help,
+
+Cedric.
+
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000402.html b/pipermail/nel/2001-April/000402.html new file mode 100644 index 00000000..feee946b --- /dev/null +++ b/pipermail/nel/2001-April/000402.html @@ -0,0 +1,123 @@ + + + + [Nel] A small document for your consumption + + + + + + +

[Nel] A small document for your consumption

+ Vincent Archer + archer@nevrax.com
+ Fri, 13 Apr 2001 11:34:53 +0200 +

+
+ +
While waiting for the whole load, here's a quick and short document. Look
+at it, and critique your hearts out...
+
+Client server connect
+
+This document describes quickly the connection process of a client to a world
+running a NeL-based system.
+
+Abbreviations
+-------------
+
+LS: The login service (one overall)
+WS: The welcome service (one for each world)
+FES: The front-end service (N per world)
+
+Steps
+-----
+
+1: The client initiates a connection to the login service, using the supplied
+   IP and port from the configuration file, with the help of the DNS for IP
+   resolution.
+
+   Note: DNS spoofing or configuration file modification can lead to LS
+   spoofing and hacking of the login/password information of the client.
+   However, DNS is needed for flexibility of the login service location.
+
+2: The client submits its login, password, and system capabilities.
+
+3: The LS checks the login/password validity, and builds the list of all
+   available worlds according to account information and current system
+   settings. This list contains world names and the IP for the WS of that
+   world.
+
+   Note: DNS is not used in that step.
+
+4: The client selects the world it wants to log on, and submits the IP address
+   of its world service to the LS.
+
+5: The LS sends a notification to the selected WS of the client's connection
+   desires. It generates and submits a single-use cookie to validate the
+   incoming connection.
+
+   Note: The cookie includes the client's IP, as seen by the LS (to avoid
+   address translation problems) for validation.
+
+6: The WS selects a FES to accept the client connexion, and submits the cookie
+   to the FES.
+
+7: The FES acknowledges its capacity to accept the client to the WS.
+
+8: The WS acknowledges its capacity to accept the client to the LS, and
+   indicates the IP/port of the selected FES.
+
+9: The LS acknowledges the login request to the client, and indicates the
+   IP/port of the selected FES.
+
+10: The client disconnects from the LS.
+
+11: The client initiates a connection to the indicated FES.
+
+12: The client sends the submitted cookie to the FES.
+
+13: The FES validates and acknowledges the cookie.
+
+Side notes
+----------
+
+Whenever a world starts, the WS establishes a permanent link with the LS,
+using an encrypted link (it is assumed that the LS and WS are located on two
+physically and probably geographically distinct networks). A 'SHARD' message
+serves as authentification, and the WS then updates the LS with its state,
+name and IP address. The WS may have a list of valid IP/port address for WS
+to avoid the occasional pirate server registration.
+
+-- 
+Vincent Archer                                         Email: archer@nevrax.com
+
+Nevrax France.                              Off on the yellow brick road we go!
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000403.html b/pipermail/nel/2001-April/000403.html new file mode 100644 index 00000000..50a2b06f --- /dev/null +++ b/pipermail/nel/2001-April/000403.html @@ -0,0 +1,96 @@ + + + + [Nel] A small document for your consumption + + + + + + +

[Nel] A small document for your consumption

+ Thierry Mallard + thierry@mallard.com
+ Mon, 16 Apr 2001 21:59:43 +0200 +

+
+ +
On Fri, Apr 13, 2001 at 11:34:53AM +0200, Vincent Archer wrote:
+> Steps
+> -----
+> 
+> 1: The client initiates a connection to the login service, using the supplied
+>    IP and port from the configuration file, with the help of the DNS for IP
+>    resolution.
+> 
+>    Note: DNS spoofing or configuration file modification can lead to LS
+>    spoofing and hacking of the login/password information of the client.
+>    However, DNS is needed for flexibility of the login service location.
+
+Possibly this can be partially avoided by providing your own DN Server's IP ?
+(dunno precisly how the client would connect to it, but still...)
+
+> 2: The client submits its login, password, and system capabilities.
+
+In plaintext ?
+
+> 3: The LS checks the login/password validity, and builds the list of all
+>    available worlds according to account information and current system
+>    settings. This list contains world names and the IP for the WS of that
+>    world.
+
+Maybe the use of challenges would be more secure, but i'm not a specialist in
+this matter :-(
+
+> 4: The client selects the world it wants to log on, and submits the IP address
+>    of its world service to the LS.
+
+Would it be good if the client could select several worlds ?
+(then the negociation following could use this to get a good WS)
+
+> [...]
+> 10: The client disconnects from the LS.
+> 
+> 11: The client initiates a connection to the indicated FES.
+
+I wonder if it couldn't be more interesting if the client disconnects from LS
+_after_ having initiated the connection to the FES. Then, if something goes
+wrong, the client could goto 4 directly.
+
+
+Best regards,
+
+-- 
+Thierry Mallard              | http://vawis.net
+GnuPG key on wwwkeys.pgp.net | http://erlang-fr.org (new)
+key 0xA3D021CB               | http://worldforge.org
+
+
+
+ + + + +
+

+ diff --git a/pipermail/nel/2001-April/000404.html b/pipermail/nel/2001-April/000404.html new file mode 100644 index 00000000..cde29a46 --- /dev/null +++ b/pipermail/nel/2001-April/000404.html @@ -0,0 +1,105 @@ + + + + [Nel] A small document for your consumption + + + + + + +

[Nel] A small document for your consumption

+ Thierry Mallard + thierry@mallard.com
+ Tue, 17 Apr 2001 08:33:31 +0200 +

+
+ +
On Fri, Apr 13, 2001 at 11:34:53AM +0200, Vincent Archer wrote:
+> Steps
+> -----
+> [...]
+> 5: The LS sends a notification to the selected WS of the client's connection
+>    desires. It generates and submits a single-use cookie to validate the
+>    incoming connection.
+
+The LS <--> WS connection should be studied, perhaps ?
+(if it wasn't intended in this document, then let's see that later.. ;-) )
+
+[ *err.. ok i just read the end on the original mail, just forget it* ]
+
+> 6: The WS selects a FES to accept the client connexion, and submits the cookie
+>    to the FES.
+> 
+> 7: The FES acknowledges its capacity to accept the client to the WS.
+
+So the WS is (or can be?) a load-balancer to all the FES in a given world ?
+-- the balancing being done at network level, not process level --
+
+> 8: The WS acknowledges its capacity to accept the client to the LS, and
+>    indicates the IP/port of the selected FES.
+> 
+> 9: The LS acknowledges the login request to the client, and indicates the
+>    IP/port of the selected FES.
+> 
+> 10: The client disconnects from the LS.
+> 
+> 11: The client initiates a connection to the indicated FES.
+> 
+> 12: The client sends the submitted cookie to the FES.
+> 
+> 13: The FES validates and acknowledges the cookie.
+
+IMHO, as said in the other mail, the client should then disconnect from the
+LS ; not before. The downside I see in this case would be the extended time of
+connection (steps 11 et 13), which will lead to more network load. I don't see
+how important that would be.
+
+> Side notes
+> ----------
+> 
+> Whenever a world starts, the WS establishes a permanent link with the LS,
+> using an encrypted link (it is assumed that the LS and WS are located on two
+> physically and probably geographically distinct networks). A 'SHARD' message
+> serves as authentification, and the WS then updates the LS with its state,
+> name and IP address. The WS may have a list of valid IP/port address for WS
+> to avoid the occasional pirate server registration.
+
+ok, so i should have read the whole document before arguing ;-))
+
+Hope this helps..
+
+-- 
+Thierry Mallard              | http://vawis.net
+GnuPG key on wwwkeys.pgp.net | http://erlang-fr.org (new)
+key 0xA3D021CB               | http://worldforge.org
+
+
+
+ + + + +
+

+ diff --git a/pipermail/nel/2001-April/000405.html b/pipermail/nel/2001-April/000405.html new file mode 100644 index 00000000..2bd73e60 --- /dev/null +++ b/pipermail/nel/2001-April/000405.html @@ -0,0 +1,78 @@ + + + + [Nel] CVS tree changes + + + + + + +

[Nel] CVS tree changes

+ Cedric Valignat + valignat@nevrax.com
+ Tue, 17 Apr 2001 18:58:19 +0200 +

+
+ +
Hello everybody,
+
+We have made some small changement in the CVS tree about Snowballs :
+
+   - a directory "code/snowballs" was created. This directory contain 2
+     subdirectories : "client" & "server".
+
+   - the "code/client" files were moved to "code/snowballs/client".
+
+   - the "code/server/moves_service" was moved to "code/snowballs/server/moves_service".
+
+
+It ws a little mess and we had to clen it up, so as the client directory was
+*only* the snowballs client and the mose_service was used only for running
+a snowballs shard we decided to move these diretories in a more appropriate
+directory.
+
+Some of the txt file were not corrected yet so you migth find them quite
+innacurate ... that will be fixed tomorow ...
+
+Otherwise, the "code/server" directory will be renamed to "code/nelns"
+(standing for NeL Network Service) and will contain our services
+to run a generic shard, services that aren't part of the games
+services but are necessary to run a shard ...
+
+
+Have fune :-)
+
+
+Cedric.
+
+
+
+ + + + + +
+

+ diff --git a/pipermail/nel/2001-April/000406.html b/pipermail/nel/2001-April/000406.html new file mode 100644 index 00000000..dbfb28e8 --- /dev/null +++ b/pipermail/nel/2001-April/000406.html @@ -0,0 +1,63 @@ + + + + [Nel] CVS code/server renamed to code nelns + + + + + + +

[Nel] CVS code/server renamed to code nelns

+ Cedric Valignat + valignat@nevrax.com
+ Wed, 18 Apr 2001 18:59:08 +0200 +

+
+ +
Hello,
+
+As i told about in my preceding mail, the CVS code/server directory was renamed
+to code nelns (standing for NeL Network Services).
+
+So you will get that new structure from tonigth CVS synchronization ...
+
+
+Have a good time ...
+
+
+Cedric.
+
+
+
+
+ + + + + + + +
+

+ diff --git a/pipermail/nel/2001-April/000407.html b/pipermail/nel/2001-April/000407.html new file mode 100644 index 00000000..e39ca9de --- /dev/null +++ b/pipermail/nel/2001-April/000407.html @@ -0,0 +1,106 @@ + + + + [Nel] A small document for your consumption + + + + + + +

[Nel] A small document for your consumption

+ Vincent Archer + archer@nevrax.com
+ Tue, 17 Apr 2001 12:27:13 +0200 +

+
+ +
I'll answer both posts at the same time...
+
+According to Thierry Mallard:
+> Possibly this can be partially avoided by providing your own DN Server's IP ?
+> (dunno precisly how the client would connect to it, but still...)
+
+There are two ways you can find out a server:
+
+1) Hardcode the IP address (then, you cannot move the server)
+2) Use DNS for dynamic IP (then, the hardcoded address is the root of the
+	DNS tree - which, hopefully, changes even less often than we will)
+
+You can't specify your "own DNS". Using that is basically the same as
+using method 1: you still have to put a server at a static IP that gives
+you off the dynamic IP.
+
+> > 2: The client submits its login, password, and system capabilities.
+> 
+> In plaintext ?
+
+If we assume the link has a crypt method in it, why not.
+
+Three possible methods for password submission
+
+1) Plaintext, assuming the connection has a form of crypt in place
+2) MD5/crypt password. Spoofable, since:
+	a) You can capture the MD5/crypt string
+	b) You have the client source, so can hack it to send the static
+		crypted password instead of crypting the - unknown - plaintext
+3) MD5 for a dynamic challenge. A good example: the server sends you the
+	current date when you connect, and you use that date as the first
+	bytes of the MD5 digest.
+
+> > 4: The client selects the world it wants to log on, and submits the IP address
+> >    of its world service to the LS.
+> 
+> Would it be good if the client could select several worlds ?
+> (then the negociation following could use this to get a good WS)
+
+Not good. Typically, the client will connect to the world the player has
+a character he wants to play today :)
+
+However, the client may use the IP addresses of the WS to ping them and
+figure out which connection is better (when selecting its first world).
+
+> So the WS is (or can be?) a load-balancer to all the FES in a given world ?
+> -- the balancing being done at network level, not process level --
+
+The WS *is* the load balancing mechanism. Since he's aware of all FES
+up and running, and knows their load right now, he's best suited to
+determine which FES can afford to manage a new character.
+
+> I wonder if it couldn't be more interesting if the client disconnects from LS
+> _after_ having initiated the connection to the FES. Then, if something goes
+> wrong, the client could goto 4 directly.
+
+Hmmm, that might be good, yes.
+
+-- 
+Vincent Archer                                         Email: archer@nevrax.com
+
+Nevrax France.                              Off on the yellow brick road we go!
+
+
+ + +
+

+ diff --git a/pipermail/nel/2001-April/000408.html b/pipermail/nel/2001-April/000408.html new file mode 100644 index 00000000..2ddc5c96 --- /dev/null +++ b/pipermail/nel/2001-April/000408.html @@ -0,0 +1,100 @@ + + + + [Nel] NeL Status Update? + + + + + + +

[Nel] NeL Status Update?

+ EagleEye + eagleeye@flashmail.com
+ Tue, 17 Apr 2001 14:10:03 -0500 +

+
+ +
This is a multi-part message in MIME format.
+
+------=_NextPart_000_0118_01C0C748.1901E060
+Content-Type: text/plain;
+	charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+My game project has gotten to the point where I am ready to start =
+putting the world together, and doing some logic/AI scripting and such.  =
+The problem is, I have no idea how the data structure works for NeL, and =
+we still have no access to the 3D Studio plugin that NeL needs for it's =
+textures.
+
+Is there any way I can get an ETA on that 3DS plugin, and detailed =
+documentation of how to structure the data for my world, so NeL will =
+work with it?
+
+Thanks,
+
+Jared Mark
+
+------=_NextPart_000_0118_01C0C748.1901E060
+Content-Type: text/html;
+	charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML><HEAD>
+<META http-equiv=3DContent-Type content=3D"text/html; =
+charset=3Diso-8859-1">
+<META content=3D"MSHTML 5.50.4522.1801" name=3DGENERATOR>
+<STYLE></STYLE>
+</HEAD>
+<BODY bgColor=3D#ffffff>
+<DIV><FONT size=3D2>My game project has gotten to the point where I am =
+ready to=20
+start putting the world together, and doing some logic/AI scripting and=20
+such.&nbsp; The problem is, I have no idea how the data structure works =
+for NeL,=20
+and we still have no access to the 3D Studio plugin that NeL needs for =
+it's=20
+textures.</FONT></DIV>
+<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT size=3D2>Is there any way I can get an ETA on that 3DS =
+plugin,=20
+and&nbsp;detailed documentation of how to structure the data for my =
+world, so=20
+NeL will work with it?</FONT></DIV>
+<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT size=3D2>Thanks,</FONT></DIV>
+<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT size=3D2>Jared Mark</FONT></DIV></BODY></HTML>
+
+------=_NextPart_000_0118_01C0C748.1901E060--
+
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000409.html b/pipermail/nel/2001-April/000409.html new file mode 100644 index 00000000..2e1cae7e --- /dev/null +++ b/pipermail/nel/2001-April/000409.html @@ -0,0 +1,83 @@ + + + + [Nel] NeL Status Update? + + + + + + +

[Nel] NeL Status Update?

+ Dim Segebart + zager@teleaction.com
+ Thu, 19 Apr 2001 14:55:25 +0200 +

+
+ +
E> My game project has gotten to the point where I am ready to start putting the world together, and doing some logic/AI scripting and such.  The problem is, I have no idea how the data structure
+E> works for NeL, and we still have no access to the 3D Studio plugin that NeL needs for it's textures.
+
+E> Is there any way I can get an ETA on that 3DS plugin, and detailed documentation of how to structure the data for my world, so NeL will work with it?
+
+As  I  noted  earlier, IMHO the  best solution for all of us, will be open
+format  of  NeL's  data files and accompanying stuff. In such a case we
+will be free to write converters from our favorite 3D tools XYZ to the NeL
+format. But I  can  predict  changes in format of NeL files to extend the
+current  set  of features. Just like DWG file format was always closed
+to  the  most  of  us and was subject of permanent changes, DXF file format was opened to everyone, so  I'm
+offer  not  too  stick  to  the  current implementation of NeL's binary file
+format,  but just invent some formal data format which will be the same for NeL as DXF
+is for DWG (let's name it NFF - NelFileFormat). In such a case Nevrax team create translator
+from  NFF  to  the  internal representation and the people outside the
+Nevrax  create translator from format XYZ to the NFF. With addition of
+new  features  and  other  format  changes  Nevrax make changes to the
+NFF2INTERNAL  and  we  make changes to the XYZ2NFF As a consequence of
+such  a  decision Nevrax will be free to change internal stuff without
+breaking  users  world's data and users always can store their data in
+some  intermediate  format.  Just imagine the situation. Nevrax add new
+really  cool features to the game and release new internal file format
+with  new  release  of engine. What happen with users worlds which are
+incompatible with new version ? I think you may guess ;)
+But  if  along  with  a  new  version  Nevrax will release a new version of
+converter  NFF2INTERNAL  the  problem  will be solved. This converter takes
+care  about  all internal changes and user's data will be on-line again
+within short period of time.
+
+What's about standard XML as a basement?  :)
+
+-- 
+Dim Segebart
+
+PS.  May  be  I'm  completely  wrong  and  Nevrax  team  has a better
+solution?
+
+
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000410.html b/pipermail/nel/2001-April/000410.html new file mode 100644 index 00000000..03c5f96e --- /dev/null +++ b/pipermail/nel/2001-April/000410.html @@ -0,0 +1,312 @@ + + + + [Nel] NeL Status Update? + + + + + + +

[Nel] NeL Status Update?

+ Cyril Corvazier + corvazier@nevrax.com
+ Fri, 20 Apr 2001 19:06:03 +0200 +

+
+ +
Hi,
+
+> E> Is there any way I can get an ETA on that 3DS plugin, and detailed
+documentation of how to structure the data for my world, so NeL will work
+with it?
+
+What you said about the NeL file format makes a lot of sense,  and it match
+what we planned to do in a near future.
+
+Actually, i'm going to describe the current data management.
+
+Today, our export plug-ins generate NeL binary files using the NeL
+serialisation system.
+The serialisation system is described in the document inserted at the end of
+the mail. This document
+will be available on the web site in the Doxygen Related Pages during the
+next week.
+
+Here is the URL of another document that describes how to build NeL 3d data
+from your 3d editor and export them in NeL binary format:
+
+http://www.nevrax.org/docs/doxygen/nel/3d_data_howto.html
+
+---
+
+NeL Files and Serialisation
+
+* Introduction
+
+This is really quite a difficult subject to write about - so this file is an
+introduction which describes the basic features and principles of our
+system.
+
+
+* How our files work in NeL
+
+The NeL files are NOT designed to be man-readable.  Interpretation and
+generation of file contents is performed by the objects that are to be read
+and written using a standardised mechanism. This mechanism was inspired by
+the system provided by Java.
+
+We use the term 'serialisable' to describe a class  that can be read from/
+written to a NeL data file.
+Counter-intuitive as it may, at first, appear, each 'serialisable' class
+supplies a single method that is used for both reading and writing.
+
+Note that the files are encoded in little-endian and that the NeL library
+code deals with conversion of endian-ness for big-endian platforms
+
+
+* Serialisation beyond files
+
+The serialisation system can be used for generating binary data buffers in
+memory (without writing the result to a file) or for packing and unpacking
+data for transfer over a LAN.
+
+
+* How it works
+
+Technically, we define a 'serialisable' class as a class that can be passed
+to IStream::serial().
+In order for a class to be serialisable it is sufficient for it to include
+the following method:
+ void serial(IStream&).
+The fact that we use a template method definition means that a serialisable
+class does not have to be derived from any other class.
+All standard types are serialisable due to a non-template prototypes shown
+below.
+STL containers of serialisable types are serialisadble
+Pointers to non-polymorphic serialisable types are serialisable.
+
+The IStream class definition looks something like this:
+
+ class IStream
+ {
+ ...
+  void serial (int&);
+  void serial (float&);
+ ...
+  template <class T> void serial (T&t)
+  {
+   t.serial (*this);
+  }
+ };
+
+
+Example:
+To make the following class serialisable:
+
+ class myFirstClass
+ {
+  int a,b;
+ };
+
+you would need to extend the class as follows:
+
+ class myFirstClass
+ {
+  int a,b;
+  void serial (IStream&istream)
+  {
+   istream.serial(a);
+   istream.serial(b);
+  }
+ };
+
+The following example shows how to serialise a more complicated data
+structure
+
+ class myFirstClass
+ {
+  void serial (IStream&);
+ };
+
+ class myclass
+ {
+  int     BaseType;
+  myFirstClass    SerialisableClass
+  std::vector< myFirstClass>  STLContainerOfSerialisableClass;
+  myFirstClass    *PointerToSerialisableClass;
+  std::vector< myFirstClass*>  STLContainerOfPointersToSerialisableClass;
+
+  void serial (IStream&istream)
+  {
+   istream.serial(BaseType);
+   istream.serial(SerialisableClass);
+   istream.serialCont(STLContainerOfSerialisableClass);
+   istream.serialPtr(PointerToSerialisableClass);
+   istream.serialContPtr(STLContainerOfPointersToSerialisableClass);
+  }
+ };
+
+
+
+* Dealing with cross referenced or hierarchical data
+
+If an object contains a pointer to another object in memory then the
+serialPtr() method is used to read/ write the referenced object.
+The NeL library code writes a value corresponding to the pointer to the
+serialised data, followed by the data that the pointer points to (In the
+case of a NULL pointer the value 0 is written without any following data)
+The NeL library code automatically deals with the cases where two or more
+objects reference the same object or there is a circular reference.  Each
+time a pointer is de-referenced, for writing, NeL checks against a table of
+previous pointers;  if the pointer value already exists in the table then no
+data is written.  At read time the data structures are faithfully
+reconstructed.
+
+
+* Dealing with polymorphism within cross referenced data
+
+In a nut shell, in order to un-serialise a data record that one only has an
+interface type for, one needs to store an additional identifier with the
+data record that identifies it's real type.  The mechanism for doing this is
+best shown with an example:
+
+ class IBaseClass : public IStreamable
+ {
+  // This class is an interface. It is polymorphic.
+  virtual void foo ()=0;
+
+  // It must declare it's name
+  NLMISC_DECLARE_CLASS (MyClass);
+ };
+
+ class CClassToSerialise
+ {
+  IBaseClass  *PointerToAPolymorphicClass;
+
+  void serial (IStream& s)
+  {
+   s.serialPolyPtr (PointerToAPolymorphicClass);
+  }
+ };
+
+ void main ()
+ {
+ ...
+  // The polymorphic class must be registered in the registry
+  NLMISC_REGISTER_CLASS (MyClass);
+ ...
+ }
+
+
+* Dealing with file format evolution
+
+ void serial (IStream& s)
+ {
+  // At the begining of the serial process, read/ write the version number
+of the class implementation
+
+  // In the following example - at read time 'version' contains the version
+read from the stream. At
+  // write time version code '3' is written to the stream and to the
+variable 'version'.
+  int version=s.serialVersion (3);
+
+  // Now switch the version
+  switch (version)
+  {
+  case 3:
+   // The last field added in the class
+   s.serial (LastField);
+
+   // do some different stuff at read time and write time
+   if (s.isReading())
+   {
+    // at read time
+    ...
+   }
+   else
+   {
+    // at write time
+    ...
+   }
+
+  case 2:
+   // note that the code provided as of here allows for the reading of old
+versions of the class
+
+   s.serial (Toto);
+
+   // in the case where the evolution from my version 1 implementation to my
+version 2
+   // is not simply an extension of version 1 we need to break execution
+here
+   break;
+
+  case 1:
+   s.serial (Foo);
+  case 0:
+   s.serial (Truc);
+  }
+
+ }
+
+
+* NeL File Headers
+
+The objective of NeL file headers is to verify that a file is in the right
+format before attempting to interpret the contents.
+
+ // The NeL team use the following advise serialise a file this way:
+ void CFileRootClass::serial (IStream& s)
+ {
+  // First write / read-check the header
+  s.serialCheck ((uint32)'_LEN');
+  s.serialCheck ((uint32)'HSEM');
+
+  // This code write / read-check the header 'NEL_MESH' at the beginning of
+the file.
+  // If the check fails, serialCheck throws the EInvalidDataStream
+exception.
+ }
+
+* Good examples to look at:
+
+ include/nel/misc/stream.h   // Stream base classes
+ class CTileBank in src/3d/tile_bank.cpp // Good example of file format
+evolution
+ class CAnimation in src/3d/animation.cpp // Good example of polymorphism
+
+
+---
+Cyril Corvazier
+Lead 3d programmer
+Nevrax France
+
+
+
+ + +
+

+ diff --git a/pipermail/nel/2001-April/000412.html b/pipermail/nel/2001-April/000412.html new file mode 100644 index 00000000..61445ed5 --- /dev/null +++ b/pipermail/nel/2001-April/000412.html @@ -0,0 +1,162 @@ + + + + [Nel] 3dsmax 3.1 plug-ins + + + + + + +

[Nel] 3dsmax 3.1 plug-ins

+ Cyril Corvazier + corvazier@nevrax.com
+ Thu, 26 Apr 2001 19:56:44 +0200 +

+
+ +
This is a multi-part message in MIME format.
+
+------=_NextPart_000_0007_01C0CE8B.05058E00
+Content-Type: text/plain;
+	charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+Hi,
+
+The good news:
+
+We have released the source code of some of our plug-ins for 3dsmax 3.1.
+
+The sources available are:
+
+* Scene exporter plug-in. Export NeL binary meshes, animations, skeleton =
+etc..
+* Patch converter plug-in. Convert a 3dsmax PatchMesh in a NeLPatchMesh.
+* TileUtility plug-in. Use tile banks in 3dsmax.
+
+You can find thoses plugins in the CVS tree in nel/tools/3d/plugins_max
+
+The bad news:
+
+1) One of our plugin, the landscape painter, is not in this package =
+because it is based=20
+on Discreet EditPatch source code, and we can't distribute this modified =
+source code.
+
+2) Given that Max plug-ins are linked to the 3DSMax SDK (which is not =
+Gnu GPL)=20
+and to NeL (which is Gnu GPL), anyone distributing plug-ins in binary =
+form will be in=20
+breach of the Gnu GPL.
+
+In English than means that you shouldn't distribute the plug-ins as =
+binaries.
+You are, of course, free to distribute the source code.
+
+Regards,
+Cyril Corvazier
+Lead 3d programmer
+Nevrax France
+
+
+
+------=_NextPart_000_0007_01C0CE8B.05058E00
+Content-Type: text/html;
+	charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML><HEAD>
+<META content=3D"text/html; charset=3Diso-8859-1" =
+http-equiv=3DContent-Type>
+<META content=3D"MSHTML 5.00.2919.6307" name=3DGENERATOR>
+<STYLE></STYLE>
+</HEAD>
+<BODY bgColor=3D#c8bcb0>
+<DIV><FONT face=3DArial size=3D2>Hi,</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>The good news:</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>We have released the source code of =
+some of our=20
+plug-ins for 3dsmax 3.1.</FONT></DIV>
+<DIV>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>The sources available are:</FONT></DIV>
+<DIV>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>* Scene exporter plug-in. Export NeL =
+binary meshes,=20
+animations, skeleton etc..</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2>* Patch converter plug-in. Convert a =
+3dsmax=20
+PatchMesh in a NeLPatchMesh.</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2>* TileUtility plug-in. Use tile banks =
+in=20
+3dsmax.</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>You can find thoses plugins in the CVS =
+tree in=20
+nel/tools/3d/plugins_max</FONT></DIV>
+<DIV>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>The bad news:</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>1) One of our plugin, the landscape =
+painter, is not=20
+in this package because it is based </FONT></DIV>
+<DIV><FONT face=3DArial size=3D2>on Discreet EditPatch source code, and =
+we can't=20
+distribute this modified source code.</FONT></DIV>
+<DIV>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>2) Given that Max plug-ins are linked =
+to the 3DSMax=20
+SDK (which is not Gnu GPL) </FONT></DIV>
+<DIV><FONT face=3DArial size=3D2>and to NeL (which is Gnu GPL), anyone =
+distributing=20
+plug-ins in binary form will be in </FONT></DIV>
+<DIV><FONT face=3DArial size=3D2>breach of the Gnu GPL.</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>In English than means that you =
+shouldn't distribute=20
+the plug-ins as binaries.</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2>You are, of course, free to distribute =
+the source=20
+code.</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>Regards,</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2>
+<P class=3DMsoNormal><FONT color=3Dblack face=3DArial size=3D2><SPAN=20
+style=3D"COLOR: black; FONT-FAMILY: Arial; FONT-SIZE: 10pt">Cyril=20
+Corvazier<BR>Lead 3d programmer<BR>Nevrax =
+France<BR></SPAN></FONT></FONT><FONT=20
+face=3DArial size=3D2></P></FONT></DIV></BODY></HTML>
+
+------=_NextPart_000_0007_01C0CE8B.05058E00--
+
+
+
+ + + +
+

+ diff --git a/pipermail/nel/2001-April/000413.html b/pipermail/nel/2001-April/000413.html new file mode 100644 index 00000000..ff93dba5 --- /dev/null +++ b/pipermail/nel/2001-April/000413.html @@ -0,0 +1,107 @@ + + + + [Nel] A small document for your consumption + + + + + + +

[Nel] A small document for your consumption

+ Vincent Archer + archer@nevrax.com
+ Fri, 27 Apr 2001 17:15:17 +0200 +

+
+ +
According to Brenden Towey:
+> From: Vincent Archer <archer@nevrax.com>
+> > 3) MD5 for a dynamic challenge. A good example: the server sends you the
+> > current date when you connect, and you use that date as the first
+> > bytes of the MD5 digest.
+> 
+> Would #3 solve the login & password hacking problem?
+
+More or less. However, most of the hacking problems I've seen these days
+on MMOGs do not involve a spoofed server or anything else. They're all
+revolving around:
+
+1) A scam aimed at getting your login and password
+	(we have this incredible powerleveling service. Send us $30 and
+	 your password and we'll have you level 50 in a month)
+
+2) A trojan (last one on EQ pretending to be an 'undetectable macro
+   program') that intercept the login/password pair when you *type them*.
+
+Still, it doesn't hurt to make a MD5 challenge. If someone can spoof
+you into believing you're talking to the server, the usual crypto layer
+that protects your connection against sniffing will not protect your
+password (something some web designers conveniently forget, saying that
+once you're using https:// urls, you can send you password in clear to
+the web).
+
+> >serves as authentification, and the WS then updates the LS with its state,
+> >name and IP address. The WS may have a list of valid IP/port address for WS
+> >to avoid the occasional pirate server registration.
+> 
+> 
+> Ok, I don't understand this.  Why would one person or company want to do
+> this?  What's the advantage to having a login service in one location and a
+> world service in another?  Why not just co-locate all your services behind
+> one firewall?
+
+Bandwidth/Lag/Security issues.
+
+Bandwidth is the first, and usually the less important one. But when you
+start talking multiple OC12 links for your bandwidth consumption, you
+quickly have limits on where you can locate your worlds. It is a lot easier
+to negociate several locations with OC4 for each than say "I need a place
+with two OC12".
+
+Lag is another one. All the world is not the states... tell it to the Aussies
+who ranted and screamed till they finally got one Ultima Online server
+down under. We're doing our best to make lag irrelevant, but given the
+choice of playing on a server with 500 ms ping and a server with 100 ms
+ping times... The experience with the latter will always be a *lot*
+smoother.
+
+And finally security. Not network security, I'm talking real security.
+Despite every premium paid, what happens if your server room catches
+fire, and despite generous smothering of Halon, all your servers are
+burnt to a nice crispy taste? Sure, the insurance will pay you lots of
+money. But your players will no longer be there.
+
+Spreading your servers around makes sense on several points.
+
+-- 
+Vincent Archer                                         Email: archer@nevrax.com
+
+Nevrax France.                              Off on the yellow brick road we go!
+
+
+ + +
+

+ diff --git a/pipermail/nel/2001-April/author.html b/pipermail/nel/2001-April/author.html new file mode 100644 index 00000000..60e27165 --- /dev/null +++ b/pipermail/nel/2001-April/author.html @@ -0,0 +1,68 @@ + + + + The Nel 2001-April Archive by Author + + + +

2001-April Archives by Author

+ +

Starting: Thu Apr 5 18:19:11 2001
+ Ending: Fri Apr 27 16:15:17 2001
+ Messages: 22

+

+

+ Last message date: + Fri Apr 27 16:15:17 2001
+ Archived on: Fri Apr 27 17:28:02 2001 +

+

+

+


+ This archive was generated by + Pipermail 0.05 (Mailman edition). + + + diff --git a/pipermail/nel/2001-April/date.html b/pipermail/nel/2001-April/date.html new file mode 100644 index 00000000..11e15aa2 --- /dev/null +++ b/pipermail/nel/2001-April/date.html @@ -0,0 +1,68 @@ + + + + The Nel 2001-April Archive by Date + + + +

2001-April Archives by Date

+ +

Starting: Thu Apr 5 18:19:11 2001
+ Ending: Fri Apr 27 16:15:17 2001
+ Messages: 22

+

+

+ Last message date: + Fri Apr 27 16:15:17 2001
+ Archived on: Fri Apr 27 17:28:02 2001 +

+

+

+


+ This archive was generated by + Pipermail 0.05 (Mailman edition). + + + diff --git a/pipermail/nel/2001-April/index.html b/pipermail/nel/2001-April/index.html new file mode 100644 index 00000000..25407f43 --- /dev/null +++ b/pipermail/nel/2001-April/index.html @@ -0,0 +1,110 @@ + + + + The Nel 2001-April Archive by Thread + + + +

2001-April Archives by Thread

+ +

Starting: Thu Apr 5 18:19:11 2001
+ Ending: Fri Apr 27 16:15:17 2001
+ Messages: 22

+

+

+ Last message date: + Fri Apr 27 16:15:17 2001
+ Archived on: Fri Apr 27 17:28:02 2001 +

+

+

+


+ This archive was generated by + Pipermail 0.05 (Mailman edition). + + + diff --git a/pipermail/nel/2001-April/subject.html b/pipermail/nel/2001-April/subject.html new file mode 100644 index 00000000..a8578886 --- /dev/null +++ b/pipermail/nel/2001-April/subject.html @@ -0,0 +1,68 @@ + + + + The Nel 2001-April Archive by Subject + + + +

2001-April Archives by Subject

+ +

Starting: Thu Apr 5 18:19:11 2001
+ Ending: Fri Apr 27 16:15:17 2001
+ Messages: 22

+

+

+ Last message date: + Fri Apr 27 16:15:17 2001
+ Archived on: Fri Apr 27 17:28:02 2001 +

+

+

+


+ This archive was generated by + Pipermail 0.05 (Mailman edition). + + + diff --git a/pipermail/nel/2001-April/thread.html b/pipermail/nel/2001-April/thread.html new file mode 100644 index 00000000..25407f43 --- /dev/null +++ b/pipermail/nel/2001-April/thread.html @@ -0,0 +1,110 @@ + + + + The Nel 2001-April Archive by Thread + + + +

2001-April Archives by Thread

+ +

Starting: Thu Apr 5 18:19:11 2001
+ Ending: Fri Apr 27 16:15:17 2001
+ Messages: 22

+

+

+ Last message date: + Fri Apr 27 16:15:17 2001
+ Archived on: Fri Apr 27 17:28:02 2001 +

+

+

+


+ This archive was generated by + Pipermail 0.05 (Mailman edition). + + + -- cgit v1.2.1