From 5fa01b0b8c68206356925f6b70b90d4e32d265c9 Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Tue, 11 Jan 2011 00:49:06 +0000 Subject: [PATCH] - attempt to throw exception (instead of assert) on bad texture detection --- mk/linux/Jamfile | 154 ------------------ mk/linux/Jamrules | 57 ------- .../sources/graphics/gl/model_renderer_gl.cpp | 27 +-- 3 files changed, 15 insertions(+), 223 deletions(-) delete mode 100644 mk/linux/Jamfile delete mode 100644 mk/linux/Jamrules diff --git a/mk/linux/Jamfile b/mk/linux/Jamfile deleted file mode 100644 index e4bd26bb..00000000 --- a/mk/linux/Jamfile +++ /dev/null @@ -1,154 +0,0 @@ -SubDir TOP ; - -UseAutoconf ; - -Package license.txt readme.txt ; - -#ALWAYS getSVNVersion : @getSVNVersion_action ; - -rule getSVNVersion { - echo 'hi' ; -} - -actions getSVNVersion_action -{ -# echo '"'`svnversion`'"' >sources/glest_game/facilities/svn_version_tmp.h - echo '"'`svnversion`'"' ; - echo 'hi' ; -# if diff -N svn_version_tmp.hpp src/svn_version.hpp >/dev/null; then -# rm svn_version_tmp.hpp -# else -# mv svn_version_tmp.hpp src/svn_version.hpp -# fi -} - -ALWAYS getSVNVersion ; - -#### Library #### - -SubDir TOP shared_lib sources ; - -LIB_STREFLOP_DIRS = - streflop/libm/flt-32 - streflop/libm/headers -; - -LIB_STREFLOP_INCLUDE_DIRS = ../include/$(LIB_STREFLOP_DIRS) ; - -for i in $(LIB_STREFLOP_DIRS) { - LIB_STREFLOP_SOURCES += [ Wildcard $(i) : *.c *.cpp *.h ] ; -} - -Library strefloplib : $(LIB_STREFLOP_SOURCES) ; -#ExternalLibs strefloplib : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL LUA JPEG PNG CURL IRCCLIENT ; -ExternalLibs strefloplib : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL LUA JPEG PNG CURL ; -IncludeDir strefloplib : $(LIB_STREFLOP_INCLUDE_DIRS) ; - -#### Library #### -SubDir TOP shared_lib sources ; - -LIB_DIRS = - platform/common - platform/sdl - platform/posix - platform/unix - util - graphics - graphics/gl - sound - sound/openal - xml - map - glew - lua - streflop - streflop/libm_flt32_source -; - -LIB_INCLUDE_DIRS = ../include/$(LIB_DIRS) ; - -for i in $(LIB_DIRS) { - LIB_SOURCES += [ Wildcard $(i) : *.c *.cpp *.h ] ; -} - -Library glestlib : $(LIB_SOURCES) ; -LinkWith glestlib : strefloplib ; -ExternalLibs glestlib : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL LUA JPEG PNG CURL ; -IncludeDir glestlib : $(LIB_INCLUDE_DIRS) ; - -#### Game #### -SubDir TOP glest_game ; - -GLEST_DIRS = - . - ai - facilities - game - global - graphics - gui - main - menu - network - sound - type_instances - types - world -; - -for i in $(GLEST_DIRS) { - GLEST_SOURCES += [ Wildcard $(i) : *.cpp *.h ] ; -} - -Application glest.bin : $(GLEST_SOURCES) ; -LinkWith glest.bin : glestlib strefloplib ; -ExternalLibs glest.bin : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL LUA JPEG PNG CURL X11 ; -IncludeDir glest.bin : ../shared_lib/include/$(LIB_INCLUDE_DIRS) $(GLEST_DIRS) ; - -#### Editor #### -if $(WX_AVAILABLE) = "yes" { - SubDir TOP glest_map_editor ; - - GLEST_MAP_DIRS = . ; - for i in $(GLEST_DIRS) { - GLEST_MAP_SOURCES += [ Wildcard $(i) : *.cpp *.h ] ; - } - - Application glest_editor : $(GLEST_MAP_SOURCES) ; - LinkWith glest_editor : glestlib strefloplib ; - ExternalLibs glest_editor : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL WX CURL ; - IncludeDir glest_editor : ../shared_lib/include/$(LIB_INCLUDE_DIRS) $(GLEST_MAP_DIRS) ; -} - -### Viewer ### -if $(WX_AVAILABLE) = "yes" { - SubDir TOP g3d_viewer ; - - GLEST_VIEWER_DIRS = - . - -; - - for i in $(GLEST_VIEWER_DIRS) { - GLEST_VIEWER_SOURCES += [ Wildcard $(i) : *.cpp *.h ] ; - } - - Application glest_g3dviewer : $(GLEST_VIEWER_SOURCES) ../glest_game/graphics/unit_particle_type.cpp ../glest_game/graphics/particle_type.cpp ; - LinkWith glest_g3dviewer : glestlib strefloplib ; - ExternalLibs glest_g3dviewer : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL LUA JPEG PNG CURL WX X11 ; - IncludeDir glest_g3dviewer : ../shared_lib/include/$(LIB_INCLUDE_DIRS) $(GLEST_VIEWER_DIRS) ../glest_game/graphics ../glest_game/global ../glest_game/sound ../glest_game/game ; -} - -### Configurator ### - SubDir TOP configurator ; - - GLEST_CONFIG_DIRS = . ; - for i in $(GLEST_DIRS) { - GLEST_CONFIG_SOURCES += [ Wildcard $(i) : *.cpp *.h ] ; - } - - Application glest_configurator : $(GLEST_CONFIG_SOURCES) ; - LinkWith glest_configurator : glestlib strefloplib ; - ExternalLibs glest_configurator : SDL GL GLU XERCES WX CURL ; - IncludeDir glest_configurator : ../shared_lib/include/$(LIB_INCLUDE_DIRS) $(GLEST_CONFIG_DIRS) ; - diff --git a/mk/linux/Jamrules b/mk/linux/Jamrules deleted file mode 100644 index baec1203..00000000 --- a/mk/linux/Jamrules +++ /dev/null @@ -1,57 +0,0 @@ -if ! $(top_builddir) -{ - top_builddir = $(TOP) ; -} -top_srcdir = $(TOP) ; - -MUDFLAP_FLAGS = -g -DGLIBCXX_FORCE_NEW ; -MUDFLAP_LIBS = ; -#MUDFLAP_FLAGS = -fmudflapth -include mf-runtime.h -#MUDFLAP_LIBS = -lmudflapth - -MGFLAGS = -fno-strict-aliasing -frounding-math -fsignaling-nans -mfpmath=sse -msse $(MUDFLAP_FLAGS) ; - -JAMCONFIG ?= $(top_builddir)/Jamconfig ; -include $(JAMCONFIG) ; -if ! $(JAMCONFIG_READ) -{ - EXIT "Couldn't find config. Please run 'configure' first." ; -} - -if $(USE_STLPORT_DEBUG) -{ - CPPFLAGS += -I/usr/include/stlport ; - CPPFLAGS += -D_STLP_DEBUG=1 -D_STLP_DEBUG_UNINITIALIZED=1 ; - CPPFLAGS += -D_STLP_SHRED_BYTE=0xA3 ; - LIBS += -lstlport_gcc_debug ; -} - -# if using streflop then add some special compiler defines -if $(USE_STREFLOP) -{ - CPPFLAGS += $(MGFLAGS) ; - COMPILER_CFLAGS += $(MGFLAGS) ; - COMPILER_CFLAGS_optimize += $(MGFLAGS) ; - COMPILER_CXXFLAGS_optimize += $(MGFLAGS) ; - -} - -CPPFLAGS += $(MGFLAGS) ; -COMPILER_CFLAGS += -Wall -W -Wno-unused -Wno-sign-compare $(MGFLAGS) ; -COMPILER_CFLAGS_optimize += -O3 -DNDEBUG $(MGFLAGS) ; -COMPILER_CXXFLAGS_optimize += -O3 -DNDEBUG $(MGFLAGS) ; -COMPILER_LIBS_optimize += $(MUDFLAP_LIBS) ; -COMPILER_CFLAGS_debug += -DDEBUG -g3 ; -COMPILER_CXXFLAGS_debug += -DDEBUG -g3 ; -COMPILER_LIBS_debug += -g3 $(MUDFLAP_LIBS) ; -COMPILER_CFLAGS_profile += -O3 -fno-inline -pg ; -COMPILER_CXXFLAGS_profile += -O3 -fno-inline -g3 -pg ; -COMPILER_LIBS_profile += -pg $(MUDFLAP_LIBS) ; - -LINK = $(CXX) ; - -# Include build rules -include $(TOP)/mk/jam/build.jam ; - -# Include Dirs -IncludeDir $(top_builddir) ; # for config.h diff --git a/source/shared_lib/sources/graphics/gl/model_renderer_gl.cpp b/source/shared_lib/sources/graphics/gl/model_renderer_gl.cpp index d6665f30..4637e1ce 100644 --- a/source/shared_lib/sources/graphics/gl/model_renderer_gl.cpp +++ b/source/shared_lib/sources/graphics/gl/model_renderer_gl.cpp @@ -3,9 +3,9 @@ // // Copyright (C) 2001-2008 Martio Figueroa // -// You can redistribute this code and/or modify it under -// the terms of the GNU General Public License as published -// by the Free Software Foundation; either version 2 of the +// You can redistribute this code and/or modify it under +// the terms of the GNU General Public License as published +// by the Free Software Foundation; either version 2 of the // License, or (at your option) any later version // ============================================================== @@ -50,7 +50,7 @@ void ModelRendererGl::begin(bool renderNormals, bool renderTextures, bool render //push attribs glPushAttrib(GL_ENABLE_BIT | GL_LIGHTING_BIT | GL_POLYGON_BIT | GL_CURRENT_BIT | GL_TEXTURE_BIT); glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT); - + //init opengl glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBindTexture(GL_TEXTURE_2D, 0); @@ -106,7 +106,7 @@ void ModelRendererGl::render(const Model *model){ for(uint32 i=0; igetMeshCount(); ++i){ renderMesh(model->getMesh(i)); } - + //assertions assertGl(); } @@ -118,9 +118,9 @@ void ModelRendererGl::renderNormalsOnly(const Model *model){ //render every mesh for(uint32 i=0; igetMeshCount(); ++i){ - renderMeshNormals(model->getMesh(i)); + renderMeshNormals(model->getMesh(i)); } - + //assertions assertGl(); } @@ -128,7 +128,7 @@ void ModelRendererGl::renderNormalsOnly(const Model *model){ // ===================== PRIVATE ======================= void ModelRendererGl::renderMesh(const Mesh *mesh){ - + //assertions assertGl(); @@ -150,7 +150,10 @@ void ModelRendererGl::renderMesh(const Mesh *mesh){ const Texture2DGl *texture= static_cast(mesh->getTexture(mtDiffuse)); if(texture != NULL && renderTextures){ if(lastTexture != texture->getHandle()){ - assert(glIsTexture(texture->getHandle())); + //assert(glIsTexture(texture->getHandle())); + if(glIsTexture(texture->getHandle()) == false) { + throw runtime_error("glIsTexture(texture->getHandle()) == false"); + } glBindTexture(GL_TEXTURE_2D, texture->getHandle()); lastTexture= texture->getHandle(); } @@ -167,10 +170,10 @@ void ModelRendererGl::renderMesh(const Mesh *mesh){ //misc vars uint32 vertexCount= mesh->getVertexCount(); uint32 indexCount= mesh->getIndexCount(); - + //assertions assertGl(); - + //vertices glVertexPointer(3, GL_FLOAT, 0, mesh->getInterpolationData()->getVertices()); @@ -217,7 +220,7 @@ void ModelRendererGl::renderMeshNormals(const Mesh *mesh){ for(unsigned int i= 0; igetIndexCount(); ++i){ const Vec3f &vertex= mesh->getInterpolationData()->getVertices()[mesh->getIndices()[i]]; const Vec3f &normal= vertex + mesh->getInterpolationData()->getNormals()[mesh->getIndices()[i]]; - + glVertex3fv(vertex.ptr()); glVertex3fv(normal.ptr()); }