I changed 4 things (these are just hacks, no real solution. I do not know what I'm doing
) in order to make the game work here:
- Changed from gl+glu to glew in pch.h and SConscript
- Disable GAME::LoadingScreen (there is this "GL_TEXTURE0_ARB" stuff in there that causes a crash here) - is there a better solution?
- Aborted an endless loop in SETTINGS::GetValidVideoModes with a break - a quick hack as well.
- Disable a gl comamnd in SHADER_MANAGER::EndScene
Code:
Index: include/pch.h
===================================================================
--- include/pch.h (Revision 1914)
+++ include/pch.h (Arbeitskopie)
@@ -14,8 +14,7 @@
#ifdef WIN32
#include <GL>
#endif
- #include <GL>
- #include <GL>
+ #include <GL>
#include <GL>
#include <SDL>
#include <SDL>
Index: src/settings.cpp
===================================================================
--- src/settings.cpp (Revision 1914)
+++ src/settings.cpp (Arbeitskopie)
@@ -908,6 +908,7 @@
modes.push_back( r );
}
}
+ break; /** @todo hackhack */
}
// sort vector by (w*h)
Index: src/shader.cpp
===================================================================
--- src/shader.cpp (Revision 1914)
+++ src/shader.cpp (Arbeitskopie)
@@ -117,7 +117,7 @@
throw EXCEPTION(__FILE__,__LINE__,"Beginning a scene without any active shader!");
}*/
- glUseProgramObjectARB(0);
+ /** glUseProgramObjectARB(0); @todo hackhack */
}
void SHADER::EndScene()
Index: src/game.cpp
===================================================================
--- src/game.cpp (Revision 1914)
+++ src/game.cpp (Arbeitskopie)
@@ -669,6 +669,8 @@
void GAME::LoadingScreen(string loadtext)
{
+#if 0
+/** @todo hackhack */
glPushAttrib(GL_ALL_ATTRIB_BITS);
string loadtexbase(settings.GetSkinPath()+"/textures/");
@@ -746,6 +748,7 @@
GLfloat seconds = (t - T0) / 1000.0;
fps = 1 / seconds;
T0 = t;*/
+#endif
}
/*void GAME::ApplyScaleBias(float scale, float bias)
Index: src/SConscript
===================================================================
--- src/SConscript (Revision 1914)
+++ src/SConscript (Arbeitskopie)
@@ -117,7 +117,7 @@
else:
local_env.ParseConfig('sdl-config --cflags --libs')
local_env.Append(LIBPATH = ['/usr/X11R6/lib', '#bullet-2.64/out/linuxx86/optimize/libs', '#bullet-2.64/out/linux/optimize/libs'])
- libs_link = ['GL', 'GLU', common_libs]
+ libs_link = ['GLEW', common_libs]
local_env.Append(LIBS = libs_link)
With this I can play the game and it runs quite smooth. Of course there are some things missing, but it's playable.
I still get the "OpenGL error during graphics init" error on startup of course.
It seems to be quite easy to get VDrift to work on older hardware.
I think the problems i had to work around may be solved in a similar way as on win32?
edit Dammit, this message board seems to swallow some of the code (mind the missing "gl.h" and "glu.h" in the headers). fortunately the diff is kinda short&easy
Werner