fix MD3 model entities crash on OS X (by renaming a class; apparently something weird happens when a class name is used twice)

git-svn-id: svn://svn.icculus.org/netradiant/trunk@201 61c419a2-8eb2-4b30-bcec-8cead039b335
This commit is contained in:
divverent 2009-03-04 07:06:05 +00:00
parent 8b446e3fbe
commit 469e4fc146
5 changed files with 34 additions and 12 deletions

View File

@ -22,8 +22,8 @@ To get a copy of the source using the commandline Subversion client:
Linux/OSX(using X-windows) Linux(using X-windows)
========================== ======================
environment: environment:
- gcc >= version 3.1 (preferably) - gcc >= version 3.1 (preferably)
@ -43,7 +43,22 @@ run 'make'
run: run:
Execute './GtkRadiant/install/radiant.x86' (or './GtkRadiant/install/radiant.ppc' on osx) Execute './GtkRadiant/install/radiant.x86' (or './GtkRadiant/install/radiant.ppc' on osx)
OSX(using X-windows)
====================
environment:
- OS X 10.5
- Xcode developer tools installed
- X11 (from the OS X DVD)
- fink installed
- the following fink packages installed:
gtkglext1 pkgconfig glib2-dev libxml2 gtk+2-dev pango1-xft2-dev atk-dev atk1 gettext-dev
build:
run 'make'
run:
???
Jva32 (2000, KC be Ivfgn) Jva32 (2000, KC be Ivfgn)
================== ==================

View File

@ -187,6 +187,9 @@ ifeq ($(OS),Darwin)
DLL = dylib DLL = dylib
MWINDOWS = MWINDOWS =
# workaround for weird prints
ECHO_NOLF = /bin/echo -n
# workaround: http://developer.apple.com/qa/qa2007/qa1567.html # workaround: http://developer.apple.com/qa/qa2007/qa1567.html
LIBS_GL += -lX11 -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib LIBS_GL += -lX11 -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
LIBS_GTKGLEXT += -lX11 -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib LIBS_GTKGLEXT += -lX11 -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
@ -938,7 +941,7 @@ $(INSTALLDIR)/heretic2/h2data.$(EXE): \
.PHONY: install-data .PHONY: install-data
install-data: binaries install-data: binaries
$(MKDIR) $(INSTALLDIR)/games $(MKDIR) $(INSTALLDIR)/games
$(FIND) $(INSTALLDIR)/ -name .svn -exec $(RM_R) {} \; -prune $(FIND) $(INSTALLDIR_BASE)/ -name .svn -exec $(RM_R) {} \; -prune
[ "$(OS)" != "Darwin" ] || $(CP_R) setup/data/osx/NetRadiant.app/* $(INSTALLDIR_BASE)/NetRadiant.app/ [ "$(OS)" != "Darwin" ] || $(CP_R) setup/data/osx/NetRadiant.app/* $(INSTALLDIR_BASE)/NetRadiant.app/
set -ex; \ set -ex; \
for GAME in games/*; do \ for GAME in games/*; do \
@ -955,7 +958,7 @@ install-data: binaries
$(ECHO) $(RADIANT_MINOR_VERSION) > $(INSTALLDIR)/RADIANT_MINOR $(ECHO) $(RADIANT_MINOR_VERSION) > $(INSTALLDIR)/RADIANT_MINOR
$(ECHO) $(RADIANT_MAJOR_VERSION) > $(INSTALLDIR)/RADIANT_MAJOR $(ECHO) $(RADIANT_MAJOR_VERSION) > $(INSTALLDIR)/RADIANT_MAJOR
$(CP_R) setup/data/tools/* $(INSTALLDIR)/ $(CP_R) setup/data/tools/* $(INSTALLDIR)/
$(FIND) $(INSTALLDIR)/ -name .svn -exec $(RM_R) {} \; -prune $(FIND) $(INSTALLDIR_BASE)/ -name .svn -exec $(RM_R) {} \; -prune
.PHONY: install-dll .PHONY: install-dll
ifeq ($(OS),Win32) ifeq ($(OS),Win32)

View File

@ -6,7 +6,7 @@
name="Nexuiz" name="Nexuiz"
enginepath_win32="C:/Program Files/Nexuiz/" enginepath_win32="C:/Program Files/Nexuiz/"
enginepath_linux="/usr/share/games/nexuiz/" enginepath_linux="/usr/share/games/nexuiz/"
enginepath_macos="/Applications/Nexuiz/" enginepath_macos="../../../../.."
engine_win32="nexuiz-sdl.exe" engine_win32="nexuiz-sdl.exe"
engine_linux="nexuiz-sdl" engine_linux="nexuiz-sdl"
engine_macos="Nexuiz.app" engine_macos="Nexuiz.app"

View File

@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "os/path.h" #include "os/path.h"
#include "moduleobserver.h" #include "moduleobserver.h"
class Model : public ModuleObserver class EModel : public ModuleObserver
{ {
ResourceReference m_resource; ResourceReference m_resource;
scene::Traversable& m_traverse; scene::Traversable& m_traverse;
@ -37,12 +37,12 @@ class Model : public ModuleObserver
Callback m_modelChanged; Callback m_modelChanged;
public: public:
Model(scene::Traversable& traversable, const Callback& modelChanged) EModel(scene::Traversable& traversable, const Callback& modelChanged)
: m_resource(""), m_traverse(traversable), m_node(0), m_modelChanged(modelChanged) : m_resource(""), m_traverse(traversable), m_node(0), m_modelChanged(modelChanged)
{ {
m_resource.attach(*this); m_resource.attach(*this);
} }
~Model() ~EModel()
{ {
m_resource.detach(*this); m_resource.detach(*this);
} }
@ -73,7 +73,7 @@ public:
m_resource.attach(*this); m_resource.attach(*this);
m_modelChanged(); m_modelChanged();
} }
typedef MemberCaller1<Model, const char*, &Model::modelChanged> ModelChangedCaller; typedef MemberCaller1<EModel, const char*, &EModel::modelChanged> ModelChangedCaller;
const char* getName() const const char* getName() const
{ {
@ -88,7 +88,7 @@ public:
class SingletonModel class SingletonModel
{ {
TraversableNode m_traverse; TraversableNode m_traverse;
Model m_model; EModel m_model;
public: public:
SingletonModel() SingletonModel()
: m_model(m_traverse, Callback()) : m_model(m_traverse, Callback())

View File

@ -6,5 +6,9 @@ MY_DIRECTORY="${MY_DIRECTORY%/*}" # cut off Contents
#export DYLD_LIBRARY_PATH="$MY_DIRECTORY/Contents/MacOS" #export DYLD_LIBRARY_PATH="$MY_DIRECTORY/Contents/MacOS"
cd "$MY_DIRECTORY/Contents/MacOS/NetRadiant/install" cd "$MY_DIRECTORY/Contents/MacOS/install"
exec /usr/bin/open-x11 ./radiant.ppc if [ -x /usr/bin/open-x11 ]; then
exec /usr/bin/open-x11 ./radiant.ppc
else
exec ./radiant.ppc
fi