aboutsummaryrefslogtreecommitdiff
path: root/cvs/cvsweb.cgi/~checkout~/code/client
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /cvs/cvsweb.cgi/~checkout~/code/client
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'cvs/cvsweb.cgi/~checkout~/code/client')
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.cpp?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html66
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.cpp?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html27
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.h?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html95
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/bootstrap?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html12
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/bootstrap?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html11
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html27
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html82
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.3&content-type=text/plain&hideattic=0&sortby=date/index.html126
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.4&content-type=text/plain&hideattic=0&sortby=date/index.html128
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.5&content-type=text/plain&hideattic=0&sortby=date/index.html127
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.6&content-type=text/plain&hideattic=0&sortby=date/index.html207
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.8&content-type=text/plain&hideattic=0&sortby=date/index.html265
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.9&content-type=text/plain&hideattic=0&sortby=date/index.html185
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/english.txt?rev=1.2&content-type=text/plain&sortby=log/index.html4
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/english.uxt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html4
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.txt?rev=1.2&content-type=text/plain&sortby=log/index.html4
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.uxt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html4
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.uxt?rev=1.5&content-type=text/plain&hideattic=0&sortby=date/index.html5
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/fun.txt?rev=1.1&content-type=text/plain&sortby=log/index.html4
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/german.txt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html6
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/Attic/move_listener.h?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html163
-rw-r--r--cvs/cvsweb.cgi/~checkout~/code/client/doc/Attic/client.dox?rev=1.1&content-type=text/plain&hideattic=0/index.html693
22 files changed, 2245 insertions, 0 deletions
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.cpp?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.cpp?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..2176da62
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.cpp?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,66 @@
+/** \file blank_interface.cpp
+ * Language interface
+ *
+ * $Id: blank_interface.cpp,v 1.1 2000/11/23 15:36:14 coutelas Exp $
+ */
+
+/* Copyright, 2000 Nevrax Ltd.
+ *
+ * This file is part of NEVRAX NEL.
+ * NEVRAX NEL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+
+ * NEVRAX NEL is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with NEVRAX NEL; see the file COPYING. If not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "nel/misc/i18n.h"
+#include "blank_interface.h"
+
+
+using namespace NL3D;
+using namespace NLMISC;
+
+
+
+
+
+
+/****************************************************************\
+ init()
+\****************************************************************/
+void CBlankInterface::init(NL3D::CScene * scene, uint w, uint h)
+{
+ _Scene = scene;
+
+ _FontManager.setMaxMemory(2000000);
+ _EventServer.addEmitter(_Scene->getDriver()->getEventEmitter());
+
+ CDisplayDescriptor displayDesc;
+ displayDesc.ResX = w;
+ displayDesc.ResY = h;
+ ScreenWidth = w;
+ ScreenHeight = h;
+
+}
+
+
+
+
+/****************************************************************\
+ release()
+\****************************************************************/
+void CBlankInterface::release()
+{
+ _EventServer.removeListener(EventCharId, _Listener);
+}
+
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.cpp?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.cpp?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..eca156e3
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.cpp?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,27 @@
+/** \file blank_interface.cpp
+ * Language interface
+ *
+ * $Id: blank_interface.cpp,v 1.2 2000/11/24 14:17:35 coutelas Exp $
+ */
+
+/* Copyright, 2000 Nevrax Ltd.
+ *
+ * This file is part of NEVRAX NEL.
+ * NEVRAX NEL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+
+ * NEVRAX NEL is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with NEVRAX NEL; see the file COPYING. If not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "blank_interface.h"
+
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.h?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.h?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..bb8cab84
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/blank_interface.h?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,95 @@
+/** \file blank_interface.h
+ *
+ *
+ * $Id: blank_interface.h,v 1.2 2000/11/23 16:41:20 lecroart Exp $
+ */
+
+/* Copyright, 2000 Nevrax Ltd.
+ *
+ * This file is part of NEVRAX NEL.
+ * NEVRAX NEL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+
+ * NEVRAX NEL is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with NEVRAX NEL; see the file COPYING. If not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#ifndef NL_BLANK_INTERFACE_H
+#define NL_BLANK_INTERFACE_H
+
+#include <vector>
+#include "nel/misc/types_nl.h"
+#include "nel/misc/event_emitter.h"
+#include "nel/misc/event_listener.h"
+#include "nel/3d/scene_ut.h"
+#include "nel/3d/font_manager.h"
+#include "nel/3d/computed_string.h"
+
+
+
+
+/**
+ * Class CBlankInterface
+ * \author Stephane Coutelas
+ * \author Nevrax France
+ * \date 2000
+ */
+class CBlankInterface
+{
+protected:
+ /// screen width
+ uint ScreenWidth;
+
+ /// screen height
+ uint ScreenHeight;
+
+ /// font manager providing font textures
+ NL3D::CFontManager _FontManager;
+
+ /// font generator
+ NL3D::CFontGenerator _FontGenerator;
+
+ /// scene (provides driver)
+ NL3D::CScene * _Scene;
+
+ /// event manager
+ NLMISC::CEventServer _EventServer;
+
+ /// event listener
+ NLMISC::IEventListener * _Listener;
+
+ void release();
+
+public:
+
+ /// default constructor
+ CBlankInterface():_FontGenerator("c:/winnt/fonts/arialuni.ttf")
+ {
+ ScreenWidth = 0;
+ ScreenHeight = 0;
+ }
+
+ /// init font manager, event server,...
+ virtual void init(NL3D::CScene * scene, uint w, uint h);
+
+ /// destructor
+ virtual ~CBlankInterface() { release(); }
+
+};
+
+
+
+
+
+#endif // NL_BLANK_INTERFACE_H
+
+/* End of blank_interface.h */
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/bootstrap?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/bootstrap?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..e8e3c67d
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/bootstrap?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+set -x
+
+rm -f config.cache
+
+aclocal \
+&& libtoolize --force --copy \
+&& autoheader \
+&& automake --gnu --add-missing --copy \
+&& autoconf
+
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/bootstrap?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/bootstrap?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..666c7d38
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/bootstrap?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+set -x
+
+rm -f config.cache
+
+aclocal \
+&& autoheader \
+&& automake --gnu --add-missing --copy \
+&& autoconf
+
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..b61f812a
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,27 @@
+
+#include <windows.h>
+#include <gl/gl.h>
+
+#include "nel/misc/types_nl.h"
+#include "login_interface.h"
+
+
+
+LogUserId login()
+{
+ CLoginInterface logscreen;
+ logscreen.init(800,600);
+ return logscreen.log();
+}
+
+
+/****************************************************************\
+ MAIN
+\****************************************************************/
+void main()
+{
+ LogUserId id = login();
+ // connect
+ // list
+
+} \ No newline at end of file
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..ee0ac1ec
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,82 @@
+
+#include <windows.h>
+#include <gl/gl.h>
+
+
+#include <string>
+#include "nel/3d/driver.h"
+#include "nel/misc/types_nl.h"
+#include "login_interface.h"
+#include "shards_list_interface.h"
+
+
+CLogUserId login(NL3D::CScene * scene, uint w, uint h)
+{
+ CLoginInterface logscreen;
+ logscreen.init(scene, w, h);
+ return logscreen.log();
+}
+
+uint chooseShard(NL3D::CScene * scene, uint w, uint h,
+ const std::vector<ucstring>& shards)
+{
+ CShardsListInterface shardListScreen;
+ shardListScreen.init(scene, w, h, shards);
+ return shardListScreen.choose();
+}
+
+
+
+std::vector<ucstring> connect(CLogUserId id) //TEMP !!
+{
+ std::vector<ucstring> shards;
+ shards.reserve(10);
+ ucstring ucs;
+ ucs+='s';ucs+='h';ucs+='a';ucs+='r';ucs+='d';ucs+=' ';
+ ucstring ucsa = ucs; ucsa += 'A';
+ shards.push_back(ucsa);
+ ucstring ucsb = ucs; ucsb += 'B';
+ shards.push_back(ucsb);
+ ucstring ucsc = ucs; ucsc += 'C';
+ shards.push_back(ucsc);
+ ucstring ucsd = ucs; ucsd += 'D';
+ shards.push_back(ucsd);
+ ucstring ucse = ucs; ucse += 'E';
+ shards.push_back(ucse);
+ ucstring ucsf = ucs; ucsf += 'F';
+ shards.push_back(ucsf);
+ ucstring ucsg = ucs; ucsg += 'G';
+ shards.push_back(ucsg);
+ return shards;
+}
+
+
+
+
+
+/****************************************************************\
+ MAIN
+\****************************************************************/
+void main()
+{
+ // init scene
+ uint w = 800;
+ uint h = 600;
+ uint bpp = 32;
+ bool windowed = true;
+ NL3D::CScene scene;
+ NL3D::CSceneUt::init3d(scene, w, h, bpp, windowed);
+
+
+ // user login session
+ CLogUserId id = login(&scene, w, h);
+
+ // connection // TEMP !!
+ std::vector<ucstring> shards = connect(id);
+
+ // shard choice
+ uint shardIndex = chooseShard(&scene, w, h, shards);
+
+ // release scene
+ NL3D::CSceneUt::release3d(scene);
+} \ No newline at end of file
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.3&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.3&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..85dd33f5
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.3&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,126 @@
+
+#include "nel/misc/types_nl.h"
+#include "nel/misc/debug.h"
+#include "login_interface.h"
+
+#include "nel/net/msg_socket.h"
+#include "nel/net/naming_client.h"
+
+#include <string>
+#include "nel/3d/driver.h"
+#include "nel/misc/types_nl.h"
+#include "login_interface.h"
+#include "shards_list_interface.h"
+
+using namespace std;
+using namespace NLNET;
+using namespace NLMISC;
+
+CLogUserId login(NL3D::CScene * scene, uint w, uint h)
+{
+ CLoginInterface logscreen;
+ logscreen.init(scene, w, h);
+ return logscreen.log();
+}
+
+void connectToLS (LogUserId &luid)
+{
+ CInetAddress servaddr("vianneyl", 49999);
+
+ CSocket server;
+ server.connect(servaddr);
+
+ CMessage msgout("");
+ msgout.setType(0); // we don't listen for incoming replies, therefore we must not use a type as string. 0 is the default action for CLogService : "LOG"
+
+ string l, p;
+ int i;
+ for (i=0;i<luid.Login.size (); i++) l+=luid.Login[i];
+ for (i=0;i<luid.Password.size (); i++) p+=luid.Password[i];
+ msgout.serial(l);
+ msgout.serial(p);
+
+ // send the message
+ server.send(msgout);
+
+ // receive the answer
+ CMessage msgin("", true);
+ server.receive(msgin);
+
+ uint8 ok;
+ msgin.serial (ok);
+ nlinfo ("res=%d", ok);
+ server.close();
+}
+
+
+uint chooseShard(NL3D::CScene * scene, uint w, uint h,
+ const std::vector<ucstring>& shards)
+{
+ CShardsListInterface shardListScreen;
+ shardListScreen.init(scene, w, h, shards);
+ return shardListScreen.choose();
+}
+
+
+
+std::vector<ucstring> connect(CLogUserId id) //TEMP !!
+{
+ std::vector<ucstring> shards;
+ shards.reserve(10);
+ ucstring ucs;
+ ucs+='s';ucs+='h';ucs+='a';ucs+='r';ucs+='d';ucs+=' ';
+ ucstring ucsa = ucs; ucsa += 'A';
+ shards.push_back(ucsa);
+ ucstring ucsb = ucs; ucsb += 'B';
+ shards.push_back(ucsb);
+ ucstring ucsc = ucs; ucsc += 'C';
+ shards.push_back(ucsc);
+ ucstring ucsd = ucs; ucsd += 'D';
+ shards.push_back(ucsd);
+ ucstring ucse = ucs; ucse += 'E';
+ shards.push_back(ucse);
+ ucstring ucsf = ucs; ucsf += 'F';
+ shards.push_back(ucsf);
+ ucstring ucsg = ucs; ucsg += 'G';
+ shards.push_back(ucsg);
+ return shards;
+}
+
+
+
+/****************************************************************\
+ MAIN
+\****************************************************************/
+void main()
+{
+ InitDebug ();
+
+ LogUserId id;
+ id.Login = 'c';
+ id.Password = 'c';
+
+ //id = login();
+
+ // init scene
+ uint w = 800;
+ uint h = 600;
+ uint bpp = 32;
+ bool windowed = true;
+ NL3D::CScene scene;
+ NL3D::CSceneUt::init3d(scene, w, h, bpp, windowed);
+
+
+ // user login session
+ CLogUserId id = login(&scene, w, h);
+
+ // connection // TEMP !!
+ std::vector<ucstring> shards = connect(id);
+
+ // shard choice
+ uint shardIndex = chooseShard(&scene, w, h, shards);
+
+ connectToLS (id);
+ // release scene
+ NL3D::CSceneUt::release3d(scene);
+}
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.4&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.4&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..ff20c163
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.4&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,128 @@
+
+#include "nel/misc/types_nl.h"
+#include "nel/misc/debug.h"
+#include "login_interface.h"
+
+#include "nel/net/msg_socket.h"
+#include "nel/net/naming_client.h"
+
+#include <string>
+#include "nel/3d/driver.h"
+#include "nel/misc/types_nl.h"
+#include "login_interface.h"
+#include "shards_list_interface.h"
+
+using namespace std;
+using namespace NLNET;
+using namespace NLMISC;
+
+CLogUserId login(NL3D::CScene * scene, uint w, uint h)
+{
+ CLoginInterface logscreen;
+ logscreen.init(scene, w, h);
+ return logscreen.log();
+}
+
+void connectToLS (CLogUserId &luid)
+{
+ CInetAddress servaddr("vianneyl", 49999);
+
+ CSocket server;
+ server.connect(servaddr);
+
+ CMessage msgout("");
+ msgout.setType(0); // we don't listen for incoming replies, therefore we must not use a type as string. 0 is the default action for CLogService : "LOG"
+
+ string l, p;
+ int i;
+ // TEMPPP
+ for (i=0;i<luid.Login.size (); i++) l+=luid.Login[i];
+ for (i=0;i<luid.Password.size (); i++) p+=luid.Password[i];
+ msgout.serial(l);
+ msgout.serial(p);
+
+ // send the message
+ server.send(msgout);
+
+ // receive the answer
+ CMessage msgin("", true);
+ server.receive(msgin);
+
+ uint8 ok;
+ msgin.serial (ok);
+ nlinfo ("res=%d", ok);
+ server.close();
+}
+
+
+uint chooseShard(NL3D::CScene * scene, uint w, uint h,
+ const std::vector<ucstring>& shards)
+{
+ CShardsListInterface shardListScreen;
+ shardListScreen.init(scene, w, h, shards);
+ return shardListScreen.choose();
+}
+
+
+
+std::vector<ucstring> connect(CLogUserId id) //TEMP !!
+{
+ std::vector<ucstring> shards;
+ shards.reserve(10);
+ ucstring ucs;
+ ucs+='s';ucs+='h';ucs+='a';ucs+='r';ucs+='d';ucs+=' ';
+ ucstring ucsa = ucs; ucsa += 'A';
+ shards.push_back(ucsa);
+ ucstring ucsb = ucs; ucsb += 'B';
+ shards.push_back(ucsb);
+ ucstring ucsc = ucs; ucsc += 'C';
+ shards.push_back(ucsc);
+ ucstring ucsd = ucs; ucsd += 'D';
+ shards.push_back(ucsd);
+ ucstring ucse = ucs; ucse += 'E';
+ shards.push_back(ucse);
+ ucstring ucsf = ucs; ucsf += 'F';
+ shards.push_back(ucsf);
+ ucstring ucsg = ucs; ucsg += 'G';
+ shards.push_back(ucsg);
+ return shards;
+}
+
+
+
+/****************************************************************\
+ MAIN
+\****************************************************************/
+void main()
+{
+ InitDebug ();
+
+ //id = login();
+
+ // init scene
+ uint w = 800;
+ uint h = 600;
+ uint bpp = 32;
+ bool windowed = true;
+ NL3D::CScene scene;
+ NL3D::CSceneUt::init3d(scene, w, h, bpp, windowed);
+
+
+ // user login session
+ CLogUserId id = login(&scene, w, h);
+/*
+ CLogUserId id;
+ id.Login = 'c';
+ id.Password = 'c';
+*/
+
+ // connection // TEMP !!
+ std::vector<ucstring> shards = connect(id);
+
+ // shard choice
+ uint shardIndex = chooseShard(&scene, w, h, shards);
+
+ connectToLS (id);
+ // release scene
+ NL3D::CSceneUt::release3d(scene);
+}
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.5&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.5&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..f23d09d6
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.5&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,127 @@
+
+#include "nel/misc/types_nl.h"
+#include "nel/misc/debug.h"
+#include "login_interface.h"
+
+#include "nel/net/msg_socket.h"
+#include "nel/net/naming_client.h"
+
+#include <string>
+#include "nel/3d/driver.h"
+#include "nel/misc/types_nl.h"
+#include "login_interface.h"
+#include "shards_list_interface.h"
+
+using namespace std;
+using namespace NLNET;
+using namespace NLMISC;
+
+CLogUserId login(NL3D::CScene * scene, uint w, uint h)
+{
+ CLoginInterface logscreen;
+ logscreen.init(scene, w, h);
+ return logscreen.log();
+}
+
+void connectToLS (CLogUserId &luid)
+{
+ CInetAddress servaddr("vianneyl", 49999);
+
+ CSocket server;
+ server.connect(servaddr);
+
+ CMessage msgout("");
+ msgout.setType(0); // we don't listen for incoming replies, therefore we must not use a type as string. 0 is the default action for CLogService : "LOG"
+
+ string l, p;
+ int i;
+ // TEMPPP
+ for (i=0;i<luid.Login.size (); i++) l+=luid.Login[i];
+ for (i=0;i<luid.Password.size (); i++) p+=luid.Password[i];
+ msgout.serial(l);
+ msgout.serial(p);
+
+ // send the message
+ server.send(msgout);
+
+ // receive the answer
+ CMessage msgin("", true);
+ server.receive(msgin);
+
+ uint8 ok;
+ msgin.serial (ok);
+ nlinfo ("res=%d", ok);
+ server.close();
+}
+
+
+uint chooseShard(NL3D::CScene * scene, uint w, uint h,
+ const std::vector<ucstring>& shards)
+{
+ CShardsListInterface shardListScreen;
+ shardListScreen.init(scene, w, h, shards);
+ return shardListScreen.choose();
+}
+
+
+
+std::vector<ucstring> connect(CLogUserId id) //TEMP !!
+{
+ std::vector<ucstring> shards;
+ shards.reserve(10);
+ ucstring ucs;
+ ucs+='s';ucs+='h';ucs+='a';ucs+='r';ucs+='d';ucs+=' ';
+ ucstring ucsa = ucs; ucsa += 'A';
+ shards.push_back(ucsa);
+ ucstring ucsb = ucs; ucsb += 'B';
+ shards.push_back(ucsb);
+ ucstring ucsc = ucs; ucsc += 'C';
+ shards.push_back(ucsc);
+ ucstring ucsd = ucs; ucsd += 'D';
+ shards.push_back(ucsd);
+ ucstring ucse = ucs; ucse += 'E';
+ shards.push_back(ucse);
+ ucstring ucsf = ucs; ucsf += 'F';
+ shards.push_back(ucsf);
+ ucstring ucsg = ucs; ucsg += 'G';
+ shards.push_back(ucsg);
+ return shards;
+}
+
+
+
+/****************************************************************\
+ MAIN
+\****************************************************************/
+void main()
+{
+ //id = login();
+
+ // init scene
+ uint w = 800;
+ uint h = 600;
+ uint bpp = 32;
+ bool windowed = true;
+ NL3D::CScene scene;
+ NL3D::CSceneUt::init3d(scene, w, h, bpp, windowed);
+
+
+ // user login session
+ CLogUserId id = login(&scene, w, h);
+/*
+ CLogUserId id;
+ id.Login = 'c';
+ id.Password = 'c';
+*/
+
+ connectToLS (id);
+
+ // connection // TEMP !!
+ std::vector<ucstring> shards = connect(id);
+
+ // shard choice
+ uint shardIndex = chooseShard(&scene, w, h, shards);
+
+ // release scene
+ NL3D::CSceneUt::release3d(scene);
+}
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.6&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.6&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..65013a62
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.6&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,207 @@
+/** \file client.cpp
+ * Client prototype
+ *
+ * $Id: client.cpp,v 1.6 2000/11/23 15:36:14 coutelas Exp $
+ */
+
+/* Copyright, 2000 Nevrax Ltd.
+ *
+ * This file is part of NEVRAX NEL.
+ * NEVRAX NEL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+
+ * NEVRAX NEL is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with NEVRAX NEL; see the file COPYING. If not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "nel/misc/types_nl.h"
+#include "nel/misc/debug.h"
+#include "nel/misc/i18n.h"
+
+#include "nel/net/msg_socket.h"
+#include "nel/net/naming_client.h"
+#include "nel/net/unitime.h"
+
+#include "nel/3d/driver.h"
+
+#include "language_interface.h"
+#include "login_interface.h"
+#include "shards_list_interface.h"
+
+#include <string>
+
+using namespace std;
+using namespace NLNET;
+using namespace NLMISC;
+using namespace NL3D;
+
+
+
+/**
+ * login
+ */
+CLogUserId login(NL3D::CScene * scene, uint w, uint h)
+{
+ CLoginInterface logscreen;
+ logscreen.init(scene, w, h);
+ return logscreen.log();
+}
+
+
+/**
+ * connect
+ */
+
+
+/**
+ * connectToLS
+ */
+bool connectToLS (CLogUserId &luid, vector<string>& shards)
+{
+ CInetAddress servaddr("vianneyl", 49999);
+
+ CSocket server;
+ try
+ {
+ server.connect(servaddr);
+ }
+ catch(Exception e)
+ {
+ return false;
+ }
+
+ CMessage msgout("");
+ msgout.setType(0); // we don't listen for incoming replies, therefore we must not use a type as string. 0 is the default action for CLogService : "LOG"
+
+ string l, p;
+ uint i;
+ // TEMPPP
+ for (i=0; i<luid.Login.size (); i++) l+=luid.Login[i];
+ for (i=0; i<luid.Password.size (); i++) p+=luid.Password[i];
+ msgout.serial(l);
+ msgout.serial(p);
+
+ // send the message
+ server.send(msgout);
+
+ // receive the answer
+ CMessage msgin("", true);
+ server.receive(msgin);
+
+ uint8 ok;
+ msgin.serial (ok);
+ nlinfo ("res=%d", ok);
+
+ if (ok)
+ {
+ uint32 nbshard, id;
+ msgin.serial (id);
+ msgin.serial (nbshard);
+ for (uint i = 0; i < nbshard; i++)
+ {
+ string shardip, shardname;
+ msgin.serial (shardip);
+ msgin.serial (shardname);
+ shards.push_back (shardip);
+ }
+ }
+
+ server.close();
+ if(ok)
+ return true;
+ else
+ return false;
+}
+
+
+/**
+ * chooseLanguage
+ */
+uint chooseLanguage(NL3D::CScene * scene, uint w, uint h)
+{
+ CLanguageInterface languageScreen;
+ languageScreen.init(scene, w, h);
+ return languageScreen.choose();
+}
+
+
+
+/**
+ * chooseShard
+ */
+uint chooseShard(NL3D::CScene * scene, uint w, uint h,
+ const std::vector<std::string>& shards)
+{
+ CShardsListInterface shardListScreen;
+ shardListScreen.init(scene, w, h, shards);
+ return shardListScreen.choose();
+}
+
+
+
+
+
+/****************************************************************\
+ MAIN
+\****************************************************************/
+void main()
+{
+ // synchronize time with server
+ CUniTime::syncUniTimeFromService();
+
+ // init scene
+ uint w = 800;
+ uint h = 600;
+ uint bpp = 32;
+ bool windowed = true;
+ NL3D::CScene scene;
+ NL3D::CSceneUt::init3d(scene, w, h, bpp, windowed);
+
+
+ // language choice
+ uint languageIndex = chooseLanguage(&scene, w, h);
+ CI18N::load(languageIndex);
+
+ //shard's name list
+ vector<string> shards;
+
+ // user id (login & password)
+ CLogUserId id;
+
+ // connection
+ bool connected = false;
+ bool goOn = true;
+ do
+ {
+ id = login(&scene, w, h);
+ connected = connectToLS (id,shards);
+ if(!connected)
+ {
+ IDriver::TMessageBoxId answer =
+ scene.getDriver()->systemMessageBox(CI18N::get("Can't establish connection").c_str(),
+ CI18N::get("user connection").c_str(), IDriver::retryCancelType, IDriver::errorIcon);
+ if(answer==IDriver::cancelId) goOn = false;
+ }
+ }
+ while(!connected && goOn);
+
+
+ // shard choice
+ if(connected)
+ uint shardIndex = chooseShard(&scene, w, h, shards);
+
+ // release scene
+ NL3D::CSceneUt::release3d(scene);
+
+
+
+}
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.8&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.8&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..37604174
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.8&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,265 @@
+/** \file client.cpp
+ * Client prototype
+ *
+ * $Id: client.cpp,v 1.8 2000/11/24 14:17:35 coutelas Exp $
+ */
+
+/* Copyright, 2000 Nevrax Ltd.
+ *
+ * This file is part of NEVRAX NEL.
+ * NEVRAX NEL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+
+ * NEVRAX NEL is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with NEVRAX NEL; see the file COPYING. If not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "nel/misc/types_nl.h"
+#include "nel/misc/debug.h"
+#include "nel/misc/i18n.h"
+
+#include "nel/net/msg_socket.h"
+#include "nel/net/naming_client.h"
+#include "nel/net/unitime.h"
+
+#include "nel/3d/driver.h"
+
+#include "language_interface.h"
+#include "login_interface.h"
+#include "shards_list_interface.h"
+
+#include <string>
+
+using namespace std;
+using namespace NLNET;
+using namespace NLMISC;
+using namespace NL3D;
+
+
+#ifdef NL_OS_WINDOWS
+CFontGenerator fontGen("\\\\server\\code\\fonts\\arialuni.ttf");
+#else
+CFontGenerator fontGen("arialuni.ttf");
+#endif
+
+
+/**
+ * login
+ */
+CLogUserId login(NL3D::CScene * scene,
+ NL3D::CFontGenerator * fontGenerator,
+ uint w, uint h)
+{
+ CLoginInterface logscreen(scene, fontGenerator, w, h);
+ return logscreen.log();
+}
+
+
+
+/**
+ * connectToLS
+ */
+bool connectToLS (CLogUserId &luid, vector<string>& shards)
+{
+ CInetAddress servaddr("vianneyl", 49999);
+
+ CSocket server;
+ try
+ {
+ server.connect(servaddr);
+ }
+ catch(Exception)
+ {
+ return false;
+ }
+
+ CMessage msgout("");
+ msgout.setType(0); // we don't listen for incoming replies, therefore we must not use a type as string. 0 is the default action for CLogService : "LOG"
+
+ string l = luid.Login.toString(), p = luid.Password.toString();
+ msgout.serial(l);
+ msgout.serial(p);
+
+ // send the message
+ server.send(msgout);
+
+ // receive the answer
+ CMessage msgin("", true);
+ server.receive(msgin);
+
+ uint8 ok;
+ msgin.serial (ok);
+ nlinfo ("res=%d", ok);
+
+ if (ok)
+ {
+ uint32 nbshard, id;
+ msgin.serial (id);
+ msgin.serial (nbshard);
+ for (uint i = 0; i < nbshard; i++)
+ {
+ string shardip, shardname;
+ msgin.serial (shardip);
+ msgin.serial (shardname);
+ shards.push_back (shardip);
+ }
+ }
+
+ server.close();
+
+ return ok==1;
+}
+
+
+/**
+ * chooseLanguage
+ */
+sint chooseLanguage(NL3D::CScene * scene,
+ NL3D::CFontGenerator * fontGenerator,
+ uint w, uint h)
+{
+ CLanguageInterface languageScreen(scene, fontGenerator, w, h);
+ return languageScreen.choose();
+}
+
+
+
+/**
+ * chooseShard
+ */
+sint chooseShard(NL3D::CScene * scene,
+ NL3D::CFontGenerator * fontGenerator,
+ uint w, uint h,
+ const std::vector<std::string>& shards)
+{
+ CShardsListInterface shardListScreen(scene, fontGenerator, w, h, shards);
+ return shardListScreen.choose();
+}
+
+
+enum TState
+{
+ LANGUAGE,
+ LOGIN,
+ CONNECT,
+ SHARD
+};
+
+
+/****************************************************************\
+ MAIN
+\****************************************************************/
+void main()
+{
+ try
+ {
+ // init scene
+ uint w = 800;
+ uint h = 600;
+ uint bpp = 32;
+ bool windowed = true;
+ NL3D::CScene scene;
+ NL3D::CSceneUt::init3d(scene, w, h, bpp, windowed);
+
+ // synchronize time with server
+ CUniTime::syncUniTimeFromService();
+
+ // user id (login & password)
+ CLogUserId id;
+
+ //shard's name list
+ vector<string> shards;
+
+ // index of chard in the list
+ sint shardIndex;
+
+ TState clientSate = LANGUAGE;
+ bool quit = false;
+ while(!quit)
+ {
+ switch(clientSate)
+ {
+ // language choice
+ case LANGUAGE:
+ {
+ sint languageIndex = chooseLanguage(&scene, &fontGen, w, h);
+ if(languageIndex==-1)
+ quit = true;
+ else
+ {
+ CI18N::load(languageIndex);
+ clientSate = LOGIN;
+ }
+ }
+ break;
+
+ // get user's login and password
+ case LOGIN:
+ {
+ id = login(&scene, &fontGen, w, h);
+ if(id.Login.size()==0) // happens only if return back is asked
+ clientSate = LANGUAGE;
+ else
+ clientSate = CONNECT;
+ }
+ break;
+
+ // connection
+ case CONNECT:
+ {
+ bool connected = connectToLS (id,shards);
+ if(!connected)
+ {
+ if(windowed)
+ {
+ IDriver::TMessageBoxId answer =
+ scene.getDriver()->systemMessageBox("Can't establish connection",
+ "user connection", IDriver::retryCancelType, IDriver::errorIcon);
+ if(answer==IDriver::cancelId)
+ clientSate = LOGIN;
+ else
+ clientSate = CONNECT;
+ }
+ else
+ clientSate = LOGIN;
+ }
+ else
+ clientSate = SHARD;
+ }
+ break;
+
+ // shard choice
+ case SHARD:
+ {
+ shardIndex = chooseShard(&scene, &fontGen, w, h, shards);
+ if(shardIndex==-1)
+ clientSate = LOGIN;
+ else
+ quit = true;
+ }
+ break;
+ }
+
+ if(quit) break;
+ }
+
+
+ // release scene
+ NL3D::CSceneUt::release3d(scene);
+
+ }
+ catch(Exception &e)
+ {
+ nlerror ("main(): Exception trapped: %s", e.what ());
+ }
+
+}
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.9&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.9&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..cf88fe72
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/client.cpp?rev=1.9&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,185 @@
+/** \file client.cpp
+ * Client prototype
+ *
+ * $Id: client.cpp,v 1.9 2000/11/28 13:21:23 coutelas Exp $
+ */
+
+/* Copyright, 2000 Nevrax Ltd.
+ *
+ * This file is part of NEVRAX NEL.
+ * NEVRAX NEL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+
+ * NEVRAX NEL is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with NEVRAX NEL; see the file COPYING. If not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "nel/misc/types_nl.h"
+#include "nel/misc/debug.h"
+#include "nel/misc/i18n.h"
+
+#include "nel/net/msg_socket.h"
+#include "nel/net/naming_client.h"
+#include "nel/net/unitime.h"
+
+#include "nel/3d/driver.h"
+
+#include "language_interface.h"
+#include "login_interface.h"
+#include "shards_list_interface.h"
+
+#include <string>
+
+using namespace std;
+using namespace NLNET;
+using namespace NLMISC;
+using namespace NL3D;
+
+
+#ifdef NL_OS_WINDOWS
+CFontGenerator fontGen("\\\\server\\code\\fonts\\arialuni.ttf");
+#else
+CFontGenerator fontGen("arialuni.ttf");
+#endif
+
+
+/**
+ * login
+ */
+sint8 login(NL3D::CScene * scene,
+ NL3D::CFontGenerator * fontGenerator,
+ uint w, uint h, vector<string>& shards)
+{
+ CLoginInterface logscreen(scene, fontGenerator, w, h);
+ return logscreen.log(shards);
+}
+
+
+
+/**
+ * chooseLanguage
+ */
+sint chooseLanguage(NL3D::CScene * scene,
+ NL3D::CFontGenerator * fontGenerator,
+ uint w, uint h)
+{
+ CLanguageInterface languageScreen(scene, fontGenerator, w, h);
+ return languageScreen.choose();
+}
+
+
+
+/**
+ * chooseShard
+ */
+sint chooseShard(NL3D::CScene * scene,
+ NL3D::CFontGenerator * fontGenerator,
+ uint w, uint h,
+ const std::vector<std::string>& shards)
+{
+ CShardsListInterface shardListScreen(scene, fontGenerator, w, h, shards);
+ return shardListScreen.choose();
+}
+
+
+enum TState
+{
+ LANGUAGE,
+ LOGIN,
+ SHARD
+};
+
+
+/****************************************************************\
+ MAIN
+\****************************************************************/
+void main()
+{
+ try
+ {
+ // init scene
+ uint w = 800;
+ uint h = 600;
+ uint bpp = 32;
+ bool windowed = false;//true;
+ NL3D::CScene scene;
+ NL3D::CSceneUt::init3d(scene, w, h, bpp, windowed);
+
+ // synchronize time with server
+ CUniTime::syncUniTimeFromService();
+
+ // user id (login & password)
+ CLogUserId id;
+
+ //shard's name list
+ vector<string> shards;
+
+ // index of chard in the list
+ sint shardIndex;
+
+
+ TState clientState = LANGUAGE;
+ bool quit = false;
+ while(!quit)
+ {
+ switch(clientState)
+ {
+ // language choice
+ case LANGUAGE:
+ {
+ sint languageIndex = chooseLanguage(&scene, &fontGen, w, h);
+ if(languageIndex==-1)
+ quit = true;
+ else
+ {
+ CI18N::load(languageIndex);
+ clientState = LOGIN;
+ }
+ }
+ break;
+
+ // get user's login and password
+ case LOGIN:
+ {
+ if(login(&scene, &fontGen, w, h, shards))
+ clientState = SHARD;
+ else
+ clientState = LANGUAGE;
+ }
+ break;
+
+ // shard choice
+ case SHARD:
+ {
+ shardIndex = chooseShard(&scene, &fontGen, w, h, shards);
+ if(shardIndex==-1)
+ clientState = LOGIN;
+ else
+ quit = true;
+ }
+ break;
+ }
+
+ if(quit) break;
+ }
+
+
+ // release scene
+ NL3D::CSceneUt::release3d(scene);
+
+ }
+ catch(Exception &e)
+ {
+ nlerror ("main(): Exception trapped: %s", e.what ());
+ }
+
+}
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/english.txt?rev=1.2&content-type=text/plain&sortby=log/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/english.txt?rev=1.2&content-type=text/plain&sortby=log/index.html
new file mode 100644
index 00000000..103279bd
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/english.txt?rev=1.2&content-type=text/plain&sortby=log/index.html
@@ -0,0 +1,4 @@
+"english"
+"Identification" = "<Not Translated>:Identification"
+"Login :" = "<Not Translated>:Login :"
+"Password :" = "<Not Translated>:Password :"
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/english.uxt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/english.uxt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..0c9f0142
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/english.uxt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,4 @@
+"english"
+"Identification" = "<Not Translated>:Identification"
+"Login :" = "<Not Translated>:Login :"
+"Password :" = "<Not Translated>:Password :"
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.txt?rev=1.2&content-type=text/plain&sortby=log/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.txt?rev=1.2&content-type=text/plain&sortby=log/index.html
new file mode 100644
index 00000000..fe395e28
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.txt?rev=1.2&content-type=text/plain&sortby=log/index.html
@@ -0,0 +1,4 @@
+"Français"
+"Identification" = "Identification (Nöel œuvre)"
+"Login :" = "Nom :"
+"Password :" = "Môt de passe :"
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.uxt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.uxt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..c3cc4b7b
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.uxt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,4 @@
+"Français"
+"Identification" = "Identification (Nöel œuvre)"
+"Login :" = "Nom :"
+"Password :" = "Môt de passe :"
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.uxt?rev=1.5&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.uxt?rev=1.5&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..47c94e44
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/french.uxt?rev=1.5&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,5 @@
+"Français"
+"Identification" = "Identification"
+"Login :" = "Nom :"
+"Password :" = "Mot de passe :"
+
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/fun.txt?rev=1.1&content-type=text/plain&sortby=log/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/fun.txt?rev=1.1&content-type=text/plain&sortby=log/index.html
new file mode 100644
index 00000000..af5b8b89
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/fun.txt?rev=1.1&content-type=text/plain&sortby=log/index.html
@@ -0,0 +1,4 @@
+"讋讍譯譭"
+"Identification" = "ﶰﶴﶚﶍ"
+"Login :" = "푦푆퐭쎫钀 :"
+"Password :" = "ພຕຂ๚ :"
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/german.txt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/german.txt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..0fba0a87
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/german.txt?rev=1.1&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,6 @@
+"Deutch"
+"user connection" = "<Not Translated>:user connection"
+"Can't establish connection" = "<Not Translated>:Can't establish connection"
+"Identification" = "<Not Translated>:Identification"
+"Login :" = "<Not Translated>:Login :"
+"Password :" = "<Not Translated>:Password :"
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/Attic/move_listener.h?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/move_listener.h?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
new file mode 100644
index 00000000..8fc3444c
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/Attic/move_listener.h?rev=1.2&content-type=text/plain&hideattic=0&sortby=date/index.html
@@ -0,0 +1,163 @@
+/** \file move_listener.h
+ * <File description>
+ *
+ * $Id: move_listener.h,v 1.2 2000/12/04 17:58:09 coutelas Exp $
+ */
+
+/* Copyright, 2000 Nevrax Ltd.
+ *
+ * This file is part of NEVRAX NEL.
+ * NEVRAX NEL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+
+ * NEVRAX NEL is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with NEVRAX NEL; see the file COPYING. If not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#ifndef NL_MOVE_LISTENER_H
+#define NL_MOVE_LISTENER_H
+
+#include "nel/misc/types_nl.h"
+#include "nel/misc/event_listener.h"
+#include "nel/misc/matrix.h"
+#include "nel/3d/viewport.h"
+#include "nel/3d/scene.h"
+#include "nel/3d/camera.h"
+
+
+
+namespace NL3D
+{
+
+
+/**
+ * CMoveListener is a listener that handle a 3d matrix with mouse events.
+ * \author Stephane Coutelas
+ * \author Nevrax France
+ * \date 2000
+ */
+class CMoveListener : public NLMISC::IEventListener
+{
+public:
+
+ /**
+ * TMoveMode.
+ * moving modes
+ */
+ enum TMoveMode
+ {
+ WALK,
+ FREE
+ };
+
+ /**
+ * Constructor.
+ * You should call init then.
+ */
+ CMoveListener();
+
+
+ /**
+ * Constructor.
+ * You should call init then.
+ * \param scene the scene
+ * \param w screen width in pixels
+ * \param h screen height in pixels
+ * \param camera the camera
+ */
+ void init(CScene * scene, uint w, uint h, const class CCamera& camera)
+ {
+ _Scene = scene;
+ _Width = w;
+ _Height = h;
+
+ _Viewport = scene->getViewport();
+
+ float dummy;
+ _ViewMatrix = camera.getMatrix ();
+ camera.getFrustum (_Left, _Right, _Bottom, _Top, _Depth, dummy);
+ }
+
+ /**
+ * Set the moving mode
+ * \param m the moving mode
+ */
+ void setMode(TMoveMode m)
+ {
+ _Mode = m;
+ }
+
+ /**
+ * Register the listener to the server.
+ */
+ void addToServer (NLMISC::CEventServer& server);
+
+ /**
+ * Unregister the listener to the server.
+ */
+ void removeFromServer (NLMISC::CEventServer& server);
+
+
+private:
+
+ /// Internal use
+ virtual void operator()(const NLMISC::CEvent& event);
+
+ /// moving mode
+ TMoveMode _Mode;
+
+ /// view matrix
+ NLMISC::CMatrix _ViewMatrix;
+
+ /// viewport
+ NL3D::CViewport _Viewport;
+
+ /// true if previous mouse move event was re-centering cursor
+ bool _CursorReset;
+
+ CScene * _Scene;
+
+ /// screen width
+ uint _Width;
+
+ /// screen height
+ uint _Height;
+
+ ///frustum parameters
+ float _Top;
+ float _Bottom;
+ float _Left;
+ float _Right;
+ float _Depth;
+
+ /// current position
+ CVector _Pos;
+
+ ///current rotation z angle
+ float _RotZ;
+
+ ///current rotation x angle
+ float _RotX;
+
+ /// step for translation
+ static const float _StepTrans;
+
+ /// step for rotation
+ static const float _StepRot;
+
+}; // NL3D
+
+}
+
+#endif // NL_MOVE_LISTENER_H
+
+/* End of move_listener.h */
diff --git a/cvs/cvsweb.cgi/~checkout~/code/client/doc/Attic/client.dox?rev=1.1&content-type=text/plain&hideattic=0/index.html b/cvs/cvsweb.cgi/~checkout~/code/client/doc/Attic/client.dox?rev=1.1&content-type=text/plain&hideattic=0/index.html
new file mode 100644
index 00000000..e119a4bd
--- /dev/null
+++ b/cvs/cvsweb.cgi/~checkout~/code/client/doc/Attic/client.dox?rev=1.1&content-type=text/plain&hideattic=0/index.html
@@ -0,0 +1,693 @@
+# Doxyfile 1.2.1
+
+# This file describes the settings to be used by doxygen for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = Client
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = r:\code\client\doc
+#/home/httpd/html/docs/code
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
+# Spanish, Russian, Croatian, Polish, and Portuguese.
+
+OUTPUT_LANGUAGE = English
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these class will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH =
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a class diagram (in Html and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off.
+
+CLASS_DIAGRAMS = YES
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen
+# will only generate file names in lower case letters. If set to
+# YES upper case letters are also allowed. This is useful if you have
+# classes or files whose names only differ in case and if your file system
+# supports case sensitive file names.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the Javadoc-style will
+# behave just like the Qt-style comments.
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# reimplements.
+
+INHERIT_DOCS = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# The ENABLE_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text.
+
+WARN_FORMAT = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = R:/code/client
+#/var/tmp/doxit.tmp/code/server
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+FILE_PATTERNS = *.h *.c *.cpp *.dxt
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+
+EXCLUDE_PATTERNS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+
+INPUT_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX = C I P
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = YES
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimised for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using a WORD or other.
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assigments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation. Warning: This feature
+# is still experimental and very incomplete.
+
+GENERATE_XML = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES = R:/code/nel/doc/nel.tag=/code/nel/doc/html
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE = client.tag
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
+# YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other
+# documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to
+# YES then doxygen will generate a graph for each documented header file showing
+# the documented files that directly or indirectly include this file
+
+INCLUDED_BY_GRAPH = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH = s:\bin\graphviz\bin
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_WIDTH = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = YES
+
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
+
+CGI_NAME = nel-search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
+
+CGI_URL = http://nevrax/cgi-bin/
+
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL = http://nevrax/docs/code/nel/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
+
+DOC_ABSPATH = /home/httpd/html/docs/code/nel/
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
+
+BIN_ABSPATH = /usr/bin/
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS =