OpenGLide is a Glide to OpenGL wrapper. It emulates a Voodoo board so you can run old Windows Glide games by translating Glide calls into OpenGL.
This is a git mirror of the original CVS
Upstream site:http://openglide.sourceforge.net/
Git mirror of openglide CVS (http://openglide.sourceforge.net/)
License: GNU Lesser General Public License v2.1
OpenGLide is a Glide to OpenGL wrapper. It emulates a Voodoo board so you can run old Windows Glide games by translating Glide calls into OpenGL.
This is a git mirror of the original CVS
Upstream site:http://openglide.sourceforge.net/
Testing with dosbox-x and qemu-3dfx, EnableVertexArrayEXT=1 causes the program to crash.
The cause appears to be the arguments to p_glFogCoordPointerEXT in RenderUpdateArrays are incorrect. The following seems to solve the problem:
p_glFogCoordPointerEXT( GL_FLOAT, 0, &OGLRender.TFog[0] );
A change in DOSBox's configure.ac
file on 10th October 2017 ( https://sourceforge.net/p/dosbox/code-0/4056/ ) means that the platform/dosbox/dosbox_glide.diff
file in this project no longer cleanly applies; the hunk that changes the LIBS line for Cygwin/mingw32 gets rejected.
At a glance, the fix appears to be fairly simple - just add the "-lshlwapi" flag back - but I don't know enough about the patch to know whether this will work or not, and I don't have the correct build environment for it.
autotools script should be written targeting POSIX shell. If I change my default shell to say dash instead of bash, it will not work.
Solution: replace the expression ${SDL_LIBS/-lSDLmain/}
with something like $(echo "$SDL_LIBS" | sed 's/-lSDLmain//')
.
there's not configure file and make doesn't work.
Autoconf and automake also do nothing.
Is there some documentation that I'm missing? I can't figure it out
Hi there i had GNU/Linux Slackware 14.2 (32 Bits) & Slackware64 14.2 (64 Bits)
i try to do the follow :
git clone https://github.com/voyageur/openglide.git
cd openglide
./bootstrap
./configure
make
But i got this error :
32 Bits :
make all-recursive
make[1]: se entra en el directorio '/tmp/openglide'
Making all in platform
make[2]: se entra en el directorio '/tmp/openglide/platform'
Making all in linux
make[3]: se entra en el directorio '/tmp/openglide/platform/linux'
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include -g -O2 -mmmx -D__unix__ -D__linux__ -I../../platform/linux -MT library.lo -MD -MP -MF .deps/library.Tpo -c -o library.lo library.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include -g -O2 -mmmx -D__unix__ -D__linux__ -I../../platform/linux -MT library.lo -MD -MP -MF .deps/library.Tpo -c library.cpp -fPIC -DPIC -o .libs/library.o
In file included from /usr/include/c++/5.5.0/cstdint:35:0,
from ../../sdk2_3dfx.h:23,
from ../../platform/window.h:19,
from ../../GlOgl.h:39,
from library.cpp:15:
/usr/include/c++/5.5.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
^
Makefile:418: fallo en las instrucciones para el objetivo 'library.lo'
make[3]: *** [library.lo] Error 1
make[3]: se sale del directorio '/tmp/openglide/platform/linux'
Makefile:375: fallo en las instrucciones para el objetivo 'all-recursive'
make[2]: *** [all-recursive] Error 1
make[2]: se sale del directorio '/tmp/openglide/platform'
Makefile:665: fallo en las instrucciones para el objetivo 'all-recursive'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio '/tmp/openglide'
Makefile:487: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2
64 Bits :
make all-recursive
make[1]: se entra en el directorio '/tmp/openglide'
Making all in platform
make[2]: se entra en el directorio '/tmp/openglide/platform'
Making all in linux
make[3]: se entra en el directorio '/tmp/openglide/platform/linux'
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include -g -O2 -D__unix__ -D__linux__ -I../../platform/linux -MT library.lo -MD -MP -MF .deps/library.Tpo -c -o library.lo library.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include -g -O2 -D__unix__ -D__linux__ -I../../platform/linux -MT library.lo -MD -MP -MF .deps/library.Tpo -c library.cpp -fPIC -DPIC -o .libs/library.o
In file included from /usr/include/c++/5.5.0/cstdint:35:0,
from ../../sdk2_3dfx.h:23,
from ../../platform/window.h:19,
from ../../GlOgl.h:39,
from library.cpp:15:
/usr/include/c++/5.5.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
^
Makefile:418: fallo en las instrucciones para el objetivo 'library.lo'
make[3]: *** [library.lo] Error 1
make[3]: se sale del directorio '/tmp/openglide/platform/linux'
Makefile:375: fallo en las instrucciones para el objetivo 'all-recursive'
make[2]: *** [all-recursive] Error 1
make[2]: se sale del directorio '/tmp/openglide/platform'
Makefile:665: fallo en las instrucciones para el objetivo 'all-recursive'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio '/tmp/openglide'
Makefile:487: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2
This commit from October 2020 breaks compilation in macOS, at least in Mojave 10.14.6, which seems reliant on the local glext.h:
Terminal output is as follows:
In file included from grguTex.cpp:15:
./Glextensions.h:26:8: error: unknown type name 'PFNGLCLIENTACTIVETEXTUREARBPROC'
extern PFNGLCLIENTACTIVETEXTUREARBPROC p_glClientActiveTexture;
^
./Glextensions.h:27:8: error: unknown type name 'PFNGLMULTITEXCOORD4FARBPROC'
extern PFNGLMULTITEXCOORD4FARBPROC p_glMultiTexCoord4fARB;
^
./Glextensions.h:28:8: error: unknown type name 'PFNGLMULTITEXCOORD4FVARBPROC'
extern PFNGLMULTITEXCOORD4FVARBPROC p_glMultiTexCoord4fvARB;
^
./Glextensions.h:29:8: error: unknown type name 'PFNGLACTIVETEXTUREARBPROC'
extern PFNGLACTIVETEXTUREARBPROC p_glActiveTextureARB;
^
./Glextensions.h:30:8: error: unknown type name 'PFNGLSECONDARYCOLOR3UBVEXTPROC'
extern PFNGLSECONDARYCOLOR3UBVEXTPROC p_glSecondaryColor3ubvEXT;
^
./Glextensions.h:31:8: error: unknown type name 'PFNGLSECONDARYCOLOR3UBEXTPROC'
extern PFNGLSECONDARYCOLOR3UBEXTPROC p_glSecondaryColor3ubEXT;
^
./Glextensions.h:32:8: error: unknown type name 'PFNGLSECONDARYCOLORPOINTEREXTPROC'
extern PFNGLSECONDARYCOLORPOINTEREXTPROC p_glSecondaryColorPointerEXT;
^
./Glextensions.h:33:8: error: unknown type name 'PFNGLFOGCOORDFEXTPROC'
extern PFNGLFOGCOORDFEXTPROC p_glFogCoordfEXT;
^
./Glextensions.h:34:8: error: unknown type name 'PFNGLFOGCOORDPOINTEREXTPROC'
extern PFNGLFOGCOORDPOINTEREXTPROC p_glFogCoordPointerEXT;
^
./Glextensions.h:35:8: error: unknown type name 'PFNGLSECONDARYCOLOR3FVEXTPROC'
extern PFNGLSECONDARYCOLOR3FVEXTPROC p_glSecondaryColor3fvEXT;
^
./Glextensions.h:36:8: error: unknown type name 'PFNGLSECONDARYCOLOR3FEXTPROC'
extern PFNGLSECONDARYCOLOR3FEXTPROC p_glSecondaryColor3fEXT;
^
./Glextensions.h:38:8: error: unknown type name 'PFNGLCOLORTABLEEXTPROC'
extern PFNGLCOLORTABLEEXTPROC p_glColorTableEXT;
^
./Glextensions.h:39:8: error: unknown type name 'PFNGLCOLORSUBTABLEEXTPROC'
extern PFNGLCOLORSUBTABLEEXTPROC p_glColorSubTableEXT;
^
./Glextensions.h:40:8: error: unknown type name 'PFNGLGETCOLORTABLEEXTPROC'
extern PFNGLGETCOLORTABLEEXTPROC p_glGetColorTableEXT;
^
./Glextensions.h:41:8: error: unknown type name 'PFNGLGETCOLORTABLEPARAMETERIVEXTPROC'
extern PFNGLGETCOLORTABLEPARAMETERIVEXTPROC p_glGetColorTableParameterivEXT;
^
./Glextensions.h:42:8: error: unknown type name 'PFNGLGETCOLORTABLEPARAMETERFVEXTPROC'
extern PFNGLGETCOLORTABLEPARAMETERFVEXTPROC p_glGetColorTableParameterfvEXT;
^
./Glextensions.h:44:8: error: unknown type name 'PFNGLBLENDFUNCSEPARATEEXTPROC'
extern PFNGLBLENDFUNCSEPARATEEXTPROC p_glBlendFuncSeparateEXT;
^
./Glextensions.h:47:6: error: variable has incomplete type 'void'
void APIENTRY DummyV( const void *a );
^
./Glextensions.h:47:14: error: expected ';' after top level declarator
void APIENTRY DummyV( const void *a );
^
;
grguTex.cpp:399:9: warning: 'glTexEnvf' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATION to
silence these warnings) [-Wdeprecated-declarations]
glTexEnvf( GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, bias );
^
Removing the changes in commit a504670 and restoring the glext.h file from the preceding source code fixes the problem.
Do the changes in this commit provide any tangible benefits at the cost of breaking compatibility in a still supported version of macOS? The install base for Mojave (10.14.6) is still significant because it is the last version of macOS to support 32-bit binaries.
I have forked the changes in case there are any macOS users that are interested.
Trying to run the 64bit SDL2 build of DOSBox-X with glide passthrough enabled will result in a segfault when running Screamer Rally or GTA.
See also: joncampbell123/dosbox-x#2126
The SDL1 build of DOSBox-X however works fine. @Wengier suspects this may be an issue with the grSstWinOpen function being not quite compatible with SDL2.
Is openglide meant to work with SDL2?
Hello,
I tried today to compile openglide from source on Ubuntu 18.04.
Compilation finished without error but "make install" failed at install libopenglide.so.2 step:
make[3] : on entre dans le répertoire « /home/legluondunet/Bureau/openglide »
cd /usr/local/lib && \
ln -s -f lib*.so libglide.so.2
ln: 'libglide.so.2' is not a directory
Makefile:1110: recipe for target 'install-exec-hook' failed
make[3]: *** [install-exec-hook] Error 1
I joined you the log.
Thank you for your help.
Mageia Linux 7.1 64 bit:
glext.h:54: warning: "GL_GLEXT_VERSION" redefined
#define GL_GLEXT_VERSION 16
In file included from /usr/include/GL/gl.h:2050,
from /usr/include/SDL/SDL_opengl.h:48,
from platform/window.h:23,
from GlOgl.h:39,
from GLutil.cpp:19:
/usr/include/GL/glext.h:54: note: this is the location of the previous definition
#define GL_GLEXT_VERSION 20190911
This then crashes with Tomb Raider, Dosbox-x most recent, and high level emulation using the modified glide2x.ovl and openglide. Examining the core dump shows that the crash happens inside the openglide library, in RenderAddTriangle() in GLRender.cpp, as soon as I get to a screen which uses Glide.
I don't know if the compile warning is warning me of something that might cause a crash. I know that the warning is caused by a conflict between the glext header in openglide and the one on my system but I have no idea how to fix it. I also don't know if there's a test program for openglide I can use to narrow problems down and/or prove they are caused by the wrapper.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.