Hello!
I have been compiling nebula2tools target (revision 3218) in
GNU/Linux (Ubuntu, kernel 2.6.17). I have detected some errors in the
current SVN state, that I have changed locally. Just in case main
developers want to commit them to SVN, I am going to detail what I have
found (and changed), attaching the associated patch files. I also
include some explanations about the changes to ease the task of
considering whether commit them or not.
SVN IGNORE
----------
Please add the svn:ignore properties to nebula2/bin/linux directory.
SSE SUPPORT
-----------
Patch file: sse_support_patch
Nowadays, g++ is not invoked using the correct flags to support MMX and
SSE extensions. I have changed nebula2/buildsys3/config.mak to do that.
Unfortunately, SSE code is Win32 specific, so it do not compile in
Linux. With this patch, source code use the __USE_SSE macro to determine
whether the SSE code must be compiled or not.
Modified files:
nebula2/buildsys3/config.mak
nebula2/code/nebula2/src/mathlib/_vector3_sse.cc
nebula2/code/nebula2/src/mathlib/_vector4_sse.cc
nebula2/code/nebula2/src/mathlib/_matrix33_sse.cc
nebula2/code/nebula2/src/mathlib/_matrix44_sse.cc
nebula2/code/nebula2/inc/mathlib/_vector3_sse.h
nebula2/code/nebula2/inc/mathlib/_vector4_sse.h
nebula2/code/nebula2/inc/mathlib/_matrix33_sse.h
nebula2/code/nebula2/inc/mathlib/_matrix44_sse.h
UPPERCASE INCLUDE ERRORS
------------------------
Patch file: include_errors_patch
Such as use #include "nString.h" instead of #include "nstring.h".
Modified files:
nebula2/code/nebula2/inc/util/nmd5.h
nebula2/code/nebula2/src/particle/nparticle2emitter_main.cc
nebula2/code/nebula2/src/network/naddbuddy.cc
COMPILER DIFFERENCES
--------------------
Patch file: compiler_differences_patch
C++ errors that Visual C++ overcomes but g++ does not.
- nebula2/code/nebula2/inc/util/narray.h: it used std::sort, but it did
not include algorithm file.
- nebula2/code/nebula2/inc/mathlib/nmath.h: it uses n_error but it did
not include its declaration.
- nebula2/code/nebula2/src/character/ncharacter2.cc: .cc file had inline
methods.
- nebula2/code/nebula2/inc/input/nkeycodes.h: it had a variable without
extern keyword.
- nebula2/code/nebula2/inc/tools/nmeshbuilder.h: it included the class
qualifier in an internal attribute (class nMeshBuilder { ...; static
nMeshBuilder* nMeshBuilder::qsortData; }; )
Modified files:
nebula2/code/nebula2/inc/util/narray.h
nebula2/code/nebula2/inc/mathlib/nmath.h
nebula2/code/nebula2/src/character/ncharacter2.cc
nebula2/code/nebula2/inc/input/nkeycodes.h
nebula2/code/nebula2/inc/tools/nmeshbuilder.h
LIBS DIFFERENCES (related to both include and binary files)
----------------
Patch file: libs_differences_patch
When installing libraries using apt-get (libvorbis-dev, libtheora-dev,
libsqlite3-dev), header files are copied to different directories than
in Windows. Conditional compilation have been added.
I have also added linux library to nsqlite3database module in sql.bld.
Modified files:
nebula2/code/nebula2/inc/sql/nsqlite3database.h
nebula2/code/nebula2/inc/sql/nsqlite3query.h
nebula2/code/nebula2/inc/video/noggtheoraplayer.h
nebula2/code/nebula2/bldfiles/nnebula/sql.bld
NETWORK
-------
Patch file: network_patch
I do not know in detail network modules and targets. I have learnt
that some of the modules make use of windows specific functions and
defines, such as nbuddyclient, that uses WinBase.h.
For that reason, my first attempt was to configure all network related
modules for compiling only in Windows (I wanted to have nebula compiled!
:) ). However, it seems to be an error in the build tool, because when a
target has all its modules specific for another platform, generated make
files do not compile even the pkg file, leading to a linker error. When
I had all nnetwork modules for win32, generated makefile did not compile
pkg_nnetwork.cc, and therefore, I did not have nnetwork function and
kernelServer.AddPackage(nnetwork) did not link.
For that reason, I finally changed network.bld, adding "setplatform
win32" to all its modules except for nnetserver. However, someone should
try to reduced the number of win32 modules to the minimum...
I have modified also two kernel files related to network:
- nebula2/code/nebula2/src/kernel/nipcclient.cc: it made use of
WSAGetLastError() instead of the N_SOCKET_LAST_ERROR macro (platform
independent).
- nebula2/code/nebula2/inc/kernel/nsocketdefs.h: it do not define the
macro N_ECONNRESET for Linux platform. I have defined it with ENOTCONN
value, but a network expert should ensure that this is equivalent to
WSAECONNRESET (
http://msdn2.microsoft.com/en-us/library/ms740668.aspx)
Modified files:
nebula2/code/nebula2/src/kernel/nipcclient.cc
nebula2/code/nebula2/inc/kernel/nsocketdefs.h
nebula2/code/nebula2/bldfiles/nnetwork/network.bld
WIN32 SPECIFICS CODE
--------------------
Patch file: win32_specific_code_patch
Added #define's to code created for Win32 platform.
Modified files:
nebula2/code/nebula2/src/kernel/nwin32stacktrace.cc
nebula2/code/nebula2/src/kernel/nwin32wrapper.cc
nebula2/code/nebula2/inc/misc/nwin32prefserver.h
nebula2/code/nebula2/src/misc/nwin32prefserver_main.cc
nebula2/code/nebula2/src/misc/niniprefserver_main.cc
nebula2/code/nebula2/inc/kernel/nwin32stacktrace.h
nebula2/code/nebula2/inc/kernel/nwin32wrapper.h
nebula2/code/nebula2/inc/misc/niniprefserver.h
nebula2/code/nebula2/src/tools/nanalyzeexport.cc
WIN32 SPECIFICS MODULES AND TARGETS
-----------------------------------
Patch file: win32_specific_modules_patch
Added "setplatform win32" to:
- tools.bld: module nsetpath. Also to ncliensth and nmasterserversh
because of the network changes that make impossible to use network on Linux.
- gfx2.bld: DirectX modules.
- input.bld: ndinputerror (Direct Input specific)
- audio3.bld: direct sound modules. I have seen that naudiofile is
windows dependent, because it make use of WAVEFORMATEX type. That forced
me to remove this module from Linux compilation.
- misc.bld: niniprefserver and nwin32prefserver
Modified files:
nebula2/code/nebula2/bldfiles/ntoollib/tools.bld
nebula2/code/nebula2/bldfiles/nnebula/gfx2.bld
nebula2/code/nebula2/bldfiles/nnebula/input.bld
nebula2/code/nebula2/bldfiles/nnebula/audio3.bld
nebula2/code/nebula2/bldfiles/nnebula/misc.bld
WARNINGS
--------
Patch file: warnings_patch
G++ generates a great amount of warnings. I have just resolve two of them.
Modified files:
nebula2/code/nebula2/src/util/nmd5.cc
nebula2/code/nebula2/inc/kernel/nobject.h
That's all!!
Marco
Index: nebula2/code/nebula2/inc/util/narray.h
===================================================================
--- nebula2/code/nebula2/inc/util/narray.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/util/narray.h (copia de trabajo)
@@ -17,6 +17,8 @@
*/
#include "kernel/ntypes.h"
+#include <algorithm> // std::sort
+
//------------------------------------------------------------------------------
template<class TYPE> class nArray
{
Index: nebula2/code/nebula2/inc/mathlib/nmath.h
===================================================================
--- nebula2/code/nebula2/inc/mathlib/nmath.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/mathlib/nmath.h (copia de trabajo)
@@ -12,6 +12,8 @@
#include <math.h>
#include <stdlib.h>
+#include "kernel/ntypes.h"
+
#ifdef _MSC_VER
#define isnan _isnan
#define isinf _isinf
Index: nebula2/code/nebula2/src/character/ncharacter2.cc
===================================================================
--- nebula2/code/nebula2/src/character/ncharacter2.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/character/ncharacter2.cc (copia de trabajo)
@@ -46,7 +46,6 @@
//------------------------------------------------------------------------------
/**
*/
-inline
void
nCharacter2::SetSkinAnimator(nSkinAnimator* animator)
{
@@ -65,7 +64,6 @@
//------------------------------------------------------------------------------
/**
*/
-inline
void
nCharacter2::SetAnimEventHandler(nAnimEventHandler* handler)
{
Index: nebula2/code/nebula2/inc/input/nkeycodes.h
===================================================================
--- nebula2/code/nebula2/inc/input/nkeycodes.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/input/nkeycodes.h (copia de trabajo)
@@ -150,7 +150,7 @@
nKey key;
};
-nStrToKey key_remaptable[];
+extern nStrToKey key_remaptable[];
#endif
//------------------------------------------------------------------------------
Index: nebula2/code/nebula2/inc/tools/nmeshbuilder.h
===================================================================
--- nebula2/code/nebula2/inc/tools/nmeshbuilder.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/tools/nmeshbuilder.h (copia de trabajo)
@@ -375,7 +375,7 @@
};
/// static user data pointer for qsort hook
- static nMeshBuilder* nMeshBuilder::qsortData;
+ static nMeshBuilder* qsortData;
/// a qsort() hook for generating a sorted index array
static int __cdecl VertexSorter(const void* elm0, const void* elm1);
/// qsort hook for sorting triangles by their group index
Index: nebula2/code/nebula2/inc/util/nmd5.h
===================================================================
--- nebula2/code/nebula2/inc/util/nmd5.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/util/nmd5.h (copia de trabajo)
@@ -35,7 +35,7 @@
-#include "nString.h"
+#include "nstring.h"
typedef unsigned int uint4;
typedef unsigned short int uint2;
@@ -96,4 +96,4 @@
uchar m_Digest[16];
uchar m_Finalized;
-};
\ Sin fin-de-lÃnea al final del archivo
+};
Index: nebula2/code/nebula2/src/particle/nparticle2emitter_main.cc
===================================================================
--- nebula2/code/nebula2/src/particle/nparticle2emitter_main.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/particle/nparticle2emitter_main.cc (copia de trabajo)
@@ -2,7 +2,7 @@
// nparticle_main.cc
// (C) 2003 RadonLabs GmbH
//------------------------------------------------------------------------------
-#include "particle/nParticle2Emitter.h"
+#include "particle/nparticle2emitter.h"
#include "particle/nparticle2.h"
#include "mathlib/vector.h"
Index: nebula2/code/nebula2/src/network/naddbuddy.cc
===================================================================
--- nebula2/code/nebula2/src/network/naddbuddy.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/network/naddbuddy.cc (copia de trabajo)
@@ -2,7 +2,7 @@
// nAddBuddy.cc
// (C) 2006 RadonLabs GmbH
//------------------------------------------------------------------------------
-#include "network/nAddBuddy.h"
+#include "network/naddbuddy.h"
#include "network/nbuddyclient.h"
@@ -79,4 +79,4 @@
}
}
}
-}
\ Sin fin-de-lÃnea al final del archivo
+}
Index: nebula2/code/nebula2/inc/sql/nsqlite3database.h
===================================================================
--- nebula2/code/nebula2/inc/sql/nsqlite3database.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/sql/nsqlite3database.h (copia de trabajo)
@@ -9,7 +9,11 @@
(C) 2005 Radon Labs GmbH
*/
#include "sql/nsqldatabase.h"
+#ifdef __WIN32__
#include "sqlite/sqlite3.h"
+#else
+#include <sqlite3.h>
+#endif
//------------------------------------------------------------------------------
class nSQLite3Database : nSqlDatabase
Index: nebula2/code/nebula2/inc/sql/nsqlite3query.h
===================================================================
--- nebula2/code/nebula2/inc/sql/nsqlite3query.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/sql/nsqlite3query.h (copia de trabajo)
@@ -8,7 +8,12 @@
(C) 2005 Radon Labs GmbH
*/
+#ifdef __WIN32__
#include "sqlite/sqlite3.h"
+#else
+#include <sqlite3.h>
+#endif
+
#include "sql/nsqlquery.h"
#include "kernel/nref.h"
Index: nebula2/code/nebula2/inc/video/noggtheoraplayer.h
===================================================================
--- nebula2/code/nebula2/inc/video/noggtheoraplayer.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/video/noggtheoraplayer.h (copia de trabajo)
@@ -12,7 +12,11 @@
(C) 2005 RadonLabs GmbH
*/
#include "video/nvideoplayer.h"
+#ifdef __WIN32__
#include "ogg/theora.h"
+#else
+#include <theora/theora.h>
+#endif
#include "kernel/nfileserver2.h"
//------------------------------------------------------------------------------
Index: nebula2/code/nebula2/bldfiles/nnebula/sql.bld
===================================================================
--- nebula2/code/nebula2/bldfiles/nnebula/sql.bld (revisión: 3218)
+++ nebula2/code/nebula2/bldfiles/nnebula/sql.bld (copia de trabajo)
@@ -39,6 +39,9 @@
setlibs_win32_debug {
sqlite_d.lib
}
+ setlibs_linux {
+ sqlite3
+ }
endmodule
beginmodule nsqlite3query
Index: nebula2/code/nebula2/src/kernel/nipcclient.cc
===================================================================
--- nebula2/code/nebula2/src/kernel/nipcclient.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/kernel/nipcclient.cc (copia de trabajo)
@@ -238,7 +238,7 @@
}
else
{
- int a= WSAGetLastError();
+ int a= N_SOCKET_LAST_ERROR;
// either an error occured, or the method would block
if (N_SOCKET_LAST_ERROR == N_EWOULDBLOCK)
{
Index: nebula2/code/nebula2/inc/kernel/nsocketdefs.h
===================================================================
--- nebula2/code/nebula2/inc/kernel/nsocketdefs.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/kernel/nsocketdefs.h (copia de trabajo)
@@ -42,6 +42,7 @@
#define SOCKET_ERROR (-1)
#define N_SOCKET_LAST_ERROR errno
#define N_EWOULDBLOCK EWOULDBLOCK
+#define N_ECONNRESET ENOTCONN
#endif
#define N_SOCKET_MIN_PORTNUM (12000)
Index: nebula2/code/nebula2/bldfiles/nnetwork/network.bld
===================================================================
--- nebula2/code/nebula2/bldfiles/nnetwork/network.bld (revisión: 3218)
+++ nebula2/code/nebula2/bldfiles/nnetwork/network.bld (copia de trabajo)
@@ -36,6 +36,7 @@
beginmodule naddbuddy
setdir network
+ setplatform win32
setheaders {
naddbuddy
}
@@ -46,6 +47,7 @@
beginmodule nbuddyclient
setdir network
+ setplatform win32
setheaders {
nbuddyclient
}
@@ -57,6 +59,7 @@
beginmodule nbuddycommandhandler
setdir network
+ setplatform win32
setheaders {
nbuddycommandhandler
}
@@ -67,6 +70,7 @@
beginmodule nbuddycommandinterpreter
setdir network
+ setplatform win32
setheaders {
nbuddycommandinterpreter
}
@@ -77,6 +81,7 @@
beginmodule nbuddydatabase
setdir network
+ setplatform win32
setheaders {
nbuddydatabase
}
@@ -87,6 +92,7 @@
beginmodule nbuddyserver
setdir network
+ setplatform win32
setheaders {
nbuddyserver
}
@@ -97,6 +103,7 @@
beginmodule nbuddysession
setdir network
+ setplatform win32
setheaders {
nbuddysession
}
@@ -107,6 +114,7 @@
beginmodule nbuddysessioncontroller
setdir network
+ setplatform win32
setheaders {
nbuddysessioncontroller
}
@@ -117,6 +125,7 @@
beginmodule ncommand
setdir network
+ setplatform win32
setheaders {
ncommand
}
@@ -127,6 +136,7 @@
beginmodule ncreateuser
setdir network
+ setplatform win32
setheaders {
ncreateuser
}
@@ -137,6 +147,7 @@
beginmodule ngetbuddylist
setdir network
+ setplatform win32
setheaders {
ngetbuddylist
}
@@ -147,6 +158,7 @@
beginmodule ngetprofileattr
setdir network
+ setplatform win32
setheaders {
ngetprofileattr
}
@@ -157,6 +169,7 @@
beginmodule nhttpserver
setdir network
+ setplatform win32
setheaders {
nhttpserver
}
@@ -172,6 +185,7 @@
beginmodule nlogin
setdir network
+ setplatform win32
setheaders {
nlogin
}
@@ -182,6 +196,7 @@
beginmodule nmessage
setdir network
+ setplatform win32
setheaders {
nmessage
}
@@ -192,6 +207,7 @@
beginmodule nnetclient
setdir network
+ setplatform win32
setheaders {
nnetclient
}
@@ -214,6 +230,7 @@
beginmodule nsendmessage
setdir network
+ setplatform win32
setheaders {
nsendmessage
}
@@ -224,6 +241,7 @@
beginmodule nservermessageinterpreter
setdir network
+ setplatform win32
setheaders {
nservermessageinterpreter
}
@@ -234,6 +252,7 @@
beginmodule nsessionclient
setdir network
+ setplatform win32
setheaders {
nsessionattrpool
nsessionclient
@@ -246,6 +265,7 @@
beginmodule nsessionclientcontext
setdir network
+ setplatform win32
setheaders {
nsessionclientcontext
}
@@ -257,6 +277,7 @@
beginmodule nsessionserver
setdir network
+ setplatform win32
setheaders {
nsessionattrpool
nsessionserver
@@ -269,6 +290,7 @@
beginmodule nsessionservercontext
setdir network
+ setplatform win32
setheaders {
nsessionservercontext
}
@@ -280,6 +302,7 @@
beginmodule nsetprofileattr
setdir network
+ setplatform win32
setheaders {
nsetprofileattr
}
@@ -290,6 +313,7 @@
beginmodule nupdate
setdir network
+ setplatform win32
setheaders {
nupdate
}
@@ -300,6 +324,7 @@
beginmodule nusercontext
setdir network
+ setplatform win32
setheaders {
nusercontext
}
@@ -310,6 +335,7 @@
beginmodule nusercontroller
setdir network
+ setplatform win32
setheaders {
nusercontroller
}
Index: nebula2/buildsys3/config.mak
===================================================================
--- nebula2/buildsys3/config.mak (revisión: 3218)
+++ nebula2/buildsys3/config.mak (copia de trabajo)
@@ -188,7 +188,7 @@
CXX = c++
CC = c++ -x c
else
- CXX = g++
+ CXX = g++ -mmmx -msse
CC = gcc -x c
endif
RC =
Index: nebula2/code/nebula2/src/mathlib/_vector3_sse.cc
===================================================================
--- nebula2/code/nebula2/src/mathlib/_vector3_sse.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/mathlib/_vector3_sse.cc (copia de trabajo)
@@ -1,3 +1,5 @@
+#if defined(__USE_SSE) || defined(DOXYGEN)
#include "mathlib/_vector3_sse.h"
const _vector3_sse _vector3_sse::zero = _vector3_sse();
+#endif
Index: nebula2/code/nebula2/src/mathlib/_vector4_sse.cc
===================================================================
--- nebula2/code/nebula2/src/mathlib/_vector4_sse.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/mathlib/_vector4_sse.cc (copia de trabajo)
@@ -1,3 +1,5 @@
+#if defined(__USE_SSE) || defined(DOXYGEN)
#include "mathlib/_vector4_sse.h"
const _vector4_sse _vector4_sse::zero = _vector4_sse();
+#endif
Index: nebula2/code/nebula2/src/mathlib/_matrix33_sse.cc
===================================================================
--- nebula2/code/nebula2/src/mathlib/_matrix33_sse.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/mathlib/_matrix33_sse.cc (copia de trabajo)
@@ -1,3 +1,5 @@
+#if defined(__USE_SSE) || defined(DOXYGEN)
#include "mathlib/_matrix33_sse.h"
const _matrix33_sse _matrix33_sse::identity = _matrix33_sse();
+#endif
Index: nebula2/code/nebula2/src/mathlib/_matrix44_sse.cc
===================================================================
--- nebula2/code/nebula2/src/mathlib/_matrix44_sse.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/mathlib/_matrix44_sse.cc (copia de trabajo)
@@ -1,3 +1,4 @@
+#if defined(__USE_SSE) || defined(DOXYGEN)
#include "mathlib/_matrix44_sse.h"
const _matrix44_sse _matrix44_sse::identity = _matrix44_sse();
@@ -6,3 +7,4 @@
0.0f, 0.6667f, 0.0f, 0.0f,
0.0f, 0.0f, -0.5f, 0.0f,
0.0f, 0.0f, 0.5f, 1.0f);
+#endif
Index: nebula2/code/nebula2/inc/mathlib/_vector3_sse.h
===================================================================
--- nebula2/code/nebula2/inc/mathlib/_vector3_sse.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/mathlib/_vector3_sse.h (copia de trabajo)
@@ -1,3 +1,4 @@
+#if defined(__USE_SSE) || defined(DOXYGEN)
#ifndef _VECTOR3_SSE_H
#define _VECTOR3_SSE_H
//------------------------------------------------------------------------------
@@ -418,3 +419,4 @@
//------------------------------------------------------------------------------
#endif
+#endif
Index: nebula2/code/nebula2/inc/mathlib/_vector4_sse.h
===================================================================
--- nebula2/code/nebula2/inc/mathlib/_vector4_sse.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/mathlib/_vector4_sse.h (copia de trabajo)
@@ -1,3 +1,4 @@
+#if defined(__USE_SSE) || defined(DOXYGEN)
#ifndef _VECTOR4_SSE_H
#define _VECTOR4_SSE_H
//------------------------------------------------------------------------------
@@ -323,3 +324,4 @@
//------------------------------------------------------------------------------
#endif
+#endif
Index: nebula2/code/nebula2/inc/mathlib/_matrix33_sse.h
===================================================================
--- nebula2/code/nebula2/inc/mathlib/_matrix33_sse.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/mathlib/_matrix33_sse.h (copia de trabajo)
@@ -1,3 +1,4 @@
+#if defined(__USE_SSE) || defined(DOXYGEN)
#ifndef _MATRIX33_SSE_H
#define _MATRIX33_SSE_H
//------------------------------------------------------------------------------
@@ -700,3 +701,4 @@
//------------------------------------------------------------------------------
#endif
+#endif
Index: nebula2/code/nebula2/inc/mathlib/_matrix44_sse.h
===================================================================
--- nebula2/code/nebula2/inc/mathlib/_matrix44_sse.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/mathlib/_matrix44_sse.h (copia de trabajo)
@@ -1,3 +1,4 @@
+#if defined(__USE_SSE) || defined(DOXYGEN)
#ifndef _MATRIX44_SSE_H
#define _MATRIX44_SSE_H
//------------------------------------------------------------------------------
@@ -850,3 +851,4 @@
//------------------------------------------------------------------------------
#endif
+#endif
Index: nebula2/code/nebula2/src/util/nmd5.cc
===================================================================
--- nebula2/code/nebula2/src/util/nmd5.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/util/nmd5.cc (copia de trabajo)
@@ -286,4 +286,4 @@
dest[i] = ((uint4)src[j]) | (((uint4)src[j+1])<<8) |
(((uint4)src[j+2])<<16) | (((uint4)src[j+3])<<24);
}
-}
\ Sin fin-de-lÃnea al final del archivo
+}
Index: nebula2/code/nebula2/inc/kernel/nobject.h
===================================================================
--- nebula2/code/nebula2/inc/kernel/nobject.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/kernel/nobject.h (copia de trabajo)
@@ -114,7 +114,7 @@
{
return true;
}
- } while (actClass = actClass->GetSuperClass());
+ } while (0 == (actClass = actClass->GetSuperClass()));
return false;
}
Index: nebula2/code/nebula2/src/kernel/nwin32stacktrace.cc
===================================================================
--- nebula2/code/nebula2/src/kernel/nwin32stacktrace.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/kernel/nwin32stacktrace.cc (copia de trabajo)
@@ -1,3 +1,4 @@
+#if (defined __WIN32__ && !defined(__XBxX__)) || defined(DOXYGEN)
//------------------------------------------------------------------------------
// nwin32stacktrace.cc
//
@@ -223,3 +224,4 @@
return true;
}
+#endif
Index: nebula2/code/nebula2/src/kernel/nwin32wrapper.cc
===================================================================
--- nebula2/code/nebula2/src/kernel/nwin32wrapper.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/kernel/nwin32wrapper.cc (copia de trabajo)
@@ -1,3 +1,4 @@
+#if (defined __WIN32__ && !defined(__XBxX__)) || defined(DOXYGEN)
//------------------------------------------------------------------------------
// nwin32wrapper.cc
// (C) 2004 RadonLabs GmbH
@@ -93,3 +94,4 @@
n_assert(this->shGetFolderPathFunc);
return this->shGetFolderPathFunc(hwndOwner, nFolder, hToken, dwFlags, pszPath);
}
+#endif
Index: nebula2/code/nebula2/inc/misc/nwin32prefserver.h
===================================================================
--- nebula2/code/nebula2/inc/misc/nwin32prefserver.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/misc/nwin32prefserver.h (copia de trabajo)
@@ -1,3 +1,4 @@
+#if defined(__WIN32__) || defined(DOXYGEN)
#ifndef N_WIN32PREFSERVER_H
#define N_WIN32PREFSERVER_H
//------------------------------------------------------------------------------
@@ -41,3 +42,4 @@
};
//------------------------------------------------------------------------------
#endif
+#endif
Index: nebula2/code/nebula2/src/misc/nwin32prefserver_main.cc
===================================================================
--- nebula2/code/nebula2/src/misc/nwin32prefserver_main.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/misc/nwin32prefserver_main.cc (copia de trabajo)
@@ -1,3 +1,4 @@
+#if defined(__WIN32__) || defined(DOXYGEN)
//------------------------------------------------------------------------------
// nwin32prefserver_main.cc
// (C) 2004 RadonLabs GmbH
@@ -171,3 +172,4 @@
}
return returnValue;
}
+#endif
Index: nebula2/code/nebula2/src/misc/niniprefserver_main.cc
===================================================================
--- nebula2/code/nebula2/src/misc/niniprefserver_main.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/misc/niniprefserver_main.cc (copia de trabajo)
@@ -1,3 +1,4 @@
+#if defined(__WIN32__) || defined(DOXYGEN)
//------------------------------------------------------------------------------
// niniprefserver.h
// (C) 2005 Kim, Hyoun Woo.
@@ -111,3 +112,4 @@
return WritePrivateProfileString(section.Get(), key.Get(), NULL,
this->fileName.Get()) ? true : false;
}
+#endif
Index: nebula2/code/nebula2/inc/kernel/nwin32stacktrace.h
===================================================================
--- nebula2/code/nebula2/inc/kernel/nwin32stacktrace.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/kernel/nwin32stacktrace.h (copia de trabajo)
@@ -1,3 +1,4 @@
+#if (defined __WIN32__ && !defined(__XBxX__)) || defined(DOXYGEN)
#ifndef N_STACKTRACE_H
#define N_STACKTRACE_H
//------------------------------------------------------------------------------
@@ -56,3 +57,4 @@
};
//------------------------------------------------------------------------------
#endif
+#endif
Index: nebula2/code/nebula2/inc/kernel/nwin32wrapper.h
===================================================================
--- nebula2/code/nebula2/inc/kernel/nwin32wrapper.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/kernel/nwin32wrapper.h (copia de trabajo)
@@ -1,3 +1,4 @@
+#if (defined __WIN32__ && !defined(__XBxX__)) || defined(DOXYGEN)
#ifndef N_WIN32WRAPPER_H
#define N_WIN32WRAPPER_H
//------------------------------------------------------------------------------
@@ -73,3 +74,4 @@
//------------------------------------------------------------------------------
#endif
+#endif
Index: nebula2/code/nebula2/inc/misc/niniprefserver.h
===================================================================
--- nebula2/code/nebula2/inc/misc/niniprefserver.h (revisión: 3218)
+++ nebula2/code/nebula2/inc/misc/niniprefserver.h (copia de trabajo)
@@ -1,3 +1,4 @@
+#if defined(__WIN32__) || defined(DOXYGEN)
#ifndef N_INIPREFSERVER_H
#define N_INIPREFSERVER_H
//------------------------------------------------------------------------------
@@ -130,3 +131,4 @@
}
//------------------------------------------------------------------------------
#endif
+#endif
Index: nebula2/code/nebula2/src/tools/nanalyzeexport.cc
===================================================================
--- nebula2/code/nebula2/src/tools/nanalyzeexport.cc (revisión: 3218)
+++ nebula2/code/nebula2/src/tools/nanalyzeexport.cc (copia de trabajo)
@@ -8,14 +8,19 @@
#include "gfx2/ngfxserver2.h"
nNebulaUsePackage(nnebula);
+#ifdef __WIN32__
nNebulaUsePackage(ndinput8);
nNebulaUsePackage(ndirect3d9);
nNebulaUsePackage(ndshow);
+#endif
nNebulaUsePackage(ngui);
nNebulaUsePackage(nnetwork);
+#ifdef __WIN32__
nNebulaUsePackage(ndsound);
+#endif
//------------------------------------------------------------------------------
+#ifdef __WIN32__
/*
Win32 specific method which checks the registry for the Nebula2
Toolkit's project path. If the reg keys are not found, the
@@ -42,6 +47,7 @@
}
return nString(projectDir);
}
+#endif
//------------------------------------------------------------------------------
/*
@@ -52,12 +58,16 @@
// initialize Nebula runtime
nKernelServer kernelServer;
kernelServer.AddPackage(nnebula);
+#ifdef __WIN32__
kernelServer.AddPackage(ndinput8);
kernelServer.AddPackage(ndirect3d9);
kernelServer.AddPackage(ndshow);
+#endif
kernelServer.AddPackage(ngui);
kernelServer.AddPackage(nnetwork);
+#ifdef __WIN32__
kernelServer.AddPackage(ndsound);
+#endif
// initialize a display mode object
nDisplayMode2 displayMode;
@@ -70,7 +80,10 @@
displayMode.SetHeight(20);
displayMode.SetType(nDisplayMode2::Windowed);
- nString projDir = ReadProjRegistryKey();
+ nString projDir;
+#ifdef __WIN32__
+ projDir = ReadProjRegistryKey();
+#endif
if (projDir.IsEmpty())
{
projDir = "home:";
Index: nebula2/code/nebula2/bldfiles/ntoollib/tools.bld
===================================================================
--- nebula2/code/nebula2/bldfiles/ntoollib/tools.bld (revisión: 3218)
+++ nebula2/code/nebula2/bldfiles/ntoollib/tools.bld (copia de trabajo)
@@ -207,6 +207,7 @@
beginmodule nclientsh
setdir tools
+ setplatform win32
setfiles {
nclientsh
}
@@ -256,6 +257,7 @@
beginmodule nmasterserversh
setdir tools
+ setplatform win32
setfiles {
nmasterserversh
}
@@ -284,6 +286,7 @@
beginmodule nsetpath
setdir tools
+ setplatform win32
setfiles {
nsetpath
}
Index: nebula2/code/nebula2/bldfiles/nnebula/gfx2.bld
===================================================================
--- nebula2/code/nebula2/bldfiles/nnebula/gfx2.bld (revisión: 3218)
+++ nebula2/code/nebula2/bldfiles/nnebula/gfx2.bld (copia de trabajo)
@@ -189,6 +189,7 @@
beginmodule nd3d9font
setdir gfx2
+ setplatform win32
setheaders {
nd3d9font
}
@@ -199,6 +200,7 @@
beginmodule nd3d9mesh
setdir gfx2
+ setplatform win32
setheaders {
nd3d9mesh
}
@@ -209,6 +211,7 @@
beginmodule nd3d9mesharray
setdir gfx2
+ setplatform win32
setheaders {
nd3d9mesharray
}
@@ -219,6 +222,7 @@
beginmodule nd3d9occlusionquery
setdir gfx2
+ setplatform win32
setheaders {
nd3d9occlusionquery
}
@@ -229,6 +233,7 @@
beginmodule nd3d9server
setdir gfx2
+ setplatform win32
setheaders {
nd3d9server
}
@@ -254,6 +259,7 @@
beginmodule nd3d9shader
setdir gfx2
+ setplatform win32
setheaders {
nd3d9shader
}
@@ -264,6 +270,7 @@
beginmodule nd3d9shaderinclude
setdir gfx2
+ setplatform win32
setheaders {
nd3d9shaderinclude
}
@@ -274,6 +281,7 @@
beginmodule nd3d9texture
setdir gfx2
+ setplatform win32
setheaders {
nd3d9texture
}
@@ -284,6 +292,7 @@
beginmodule nd3d9windowhandler
setdir gfx2
+ setplatform win32
setheaders {
nd3d9windowhandler
}
Index: nebula2/code/nebula2/bldfiles/nnebula/input.bld
===================================================================
--- nebula2/code/nebula2/bldfiles/nnebula/input.bld (revisión: 3218)
+++ nebula2/code/nebula2/bldfiles/nnebula/input.bld (copia de trabajo)
@@ -157,6 +157,7 @@
beginmodule ndinputerror
setdir input
+ setplatform win32
setfiles {
ndinputerror
}
Index: nebula2/code/nebula2/bldfiles/nnebula/audio3.bld
===================================================================
--- nebula2/code/nebula2/bldfiles/nnebula/audio3.bld (revisión: 3218)
+++ nebula2/code/nebula2/bldfiles/nnebula/audio3.bld (copia de trabajo)
@@ -15,6 +15,7 @@
beginmodule naudiofile
setdir audio3
+ setplatform win32
setheaders {
naudiofile
}
@@ -37,6 +38,7 @@
beginmodule noggfile
setdir audio3
+ setplatform win32
setheaders {
noggfile
}
@@ -51,6 +53,10 @@
ogg_d.lib
vorbis_d.lib
}
+ setlibs_linux {
+ ogg
+ theora
+ }
endmodule
beginmodule nsound3
@@ -75,6 +81,7 @@
beginmodule nwavfile
setdir audio3
+ setplatform win32
setheaders {
nwavfile
}
@@ -114,6 +121,7 @@
beginmodule ndsound3
setdir audio3
+ setplatform win32
setheaders {
ndsound3
}
@@ -124,6 +132,7 @@
beginmodule ndsoundresource
setdir audio3
+ setplatform win32
setheaders {
ndsoundresource
}
@@ -134,6 +143,7 @@
beginmodule ndsoundserver3
setdir audio3
+ setplatform win32
setheaders {
ndsoundserver3
}
Index: nebula2/code/nebula2/bldfiles/nnebula/misc.bld
===================================================================
--- nebula2/code/nebula2/bldfiles/nnebula/misc.bld (revisión: 3218)
+++ nebula2/code/nebula2/bldfiles/nnebula/misc.bld (copia de trabajo)
@@ -37,6 +37,7 @@
beginmodule niniprefserver
setdir misc
+ setplatform win32
setheaders {
niniprefserver
}
@@ -65,6 +66,7 @@
beginmodule nwin32prefserver
setdir misc
+ setplatform win32
setheaders {
nwin32prefserver
}
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV*** NOTE: To reply to the list use "reply to all", ***
*** to reply direct to the sender use "reply" ***
_______________________________________________
Nebuladevice-discuss mailing list
Nebuladevice-discuss@...
https://lists.sourceforge.net/lists/listinfo/nebuladevice-discuss