opensludge / opensludge Goto Github PK
View Code? Open in Web Editor NEWSLUDGE Adventure Game Engine
Home Page: http://opensludge.github.io
License: GNU Lesser General Public License v2.1
SLUDGE Adventure Game Engine
Home Page: http://opensludge.github.io
License: GNU Lesser General Public License v2.1
For installation instructions, see INSTALL. SLUDGE (except the GTK Dev Kit) is licenced under GNU LGPL version 2.1. The GTK Dev Kit is licensed under GNU GPL version 3 or later. Enjoy! - Tim, Rikard and Tobias
Hi! I used to be on the Hungry Software forums. Got nostalgic for SLUDGE games and discovered that sludge-devkit packages are still available in the Ubuntu repos. So I wanted to mess around with it a little but hit a roadblock pretty quickly: I cannot create a project file.
When I click on File -> New and try to save the new SLUDGE project file anywhere, the result is a segfault.
Running on Ubuntu 20.10 with the SLUDGE 2.2.2 package available in the official repos.
GDB output:
Thread 1 "sludge-projectm" received signal SIGSEGV, Segmentation fault.
0x00007ffff74ec769 in __GI___libc_free (mem=0x6f662e44434c2e6e) at malloc.c:3288
3288 malloc.c: No such file or directory.
(gdb) bt
#0 0x00007ffff74ec769 in __GI___libc_free (mem=0x6f662e44434c2e6e) at malloc.c:3288
#1 0x0000555555562a6f in clearFileList ()
#2 0x0000555555563332 in doNewProject ()
#3 0x00005555555613b6 in SludgeProjectManager::postNew() ()
#4 0x00007ffff79fbbcf in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5 0x00007ffff7a2581b in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6 0x00007ffff7a19638 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7 0x00007ffff7a19893 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x00007ffff7cce9cc in gtk_widget_activate () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#9 0x00007ffff7bbf3d5 in gtk_menu_shell_activate_item () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#10 0x00007ffff7bbf6e9 in () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#11 0x00007ffff7bac31b in () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#12 0x00007ffff79fbbcf in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff7a25239 in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff7a19046 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff7a19893 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff7ccfc74 in () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#17 0x00007ffff7baa854 in gtk_propagate_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#18 0x00007ffff7baaccb in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#19 0x00007ffff7f3a400 in () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#20 0x00007ffff79078eb in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff795ad28 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff7906e53 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff7ba9b22 in gtk_main () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#24 0x000055555555e5cb in main ()
I checked in on SLUDGE and saw that it hadn't gotten any attention on Mac since a few years back, and I sat down trying to see if I could bring it up to speed. (The 2019 release of macOS will drop support for 32-bit binaries, so there's reason to produce a build again soon.)
These are a few of the issues I encountered. Most of them are just the platform having changed since the last time - I simply mean to document them to help anyone giving this a try after me. Ultimately it looked like these changes would be too disruptive to the current state to be done by an outsider, so I thought the best I could do was to write it up instead.
.c
file is included as well as the header, so it's intended to be provided manually? Trying to retrieve it from its site reveals that the site is busted. Grabbing it from a random other repository worked.#include <CoreFoundation/CoreFoundation.h>
worked. (GLee only uses it for the CoreFoundation APIs.)Compiling with clang did reveal two memory management-related warnings:
Hi there, does anybody still read this or is this abandoned since 2016? Latest release is even 2014โฆ
I got a game written in sludge I really need to get running again. And this does not compile anymore because it got automake1.14 and others as dependencies which is way too old to get it to work again on modern systems.
Can this be updated?
Greetings
I'll take a look at it later, but if someone wants to beat me I won't complain ;)
make all-recursive
make[1]: Entering directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2'
Making all in source
make[2]: Entering directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/source'
Making all in Engine
make[3]: Entering directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/source/Engine'
CXX backdrop.o
CXX bg_effects.o
CXX builtin.o
CXX cursors.o
CXX debug.o
CXX fileset.o
CXX floor.o
CXX fonttext.o
CXX freeze.o
CXX graphics.o
CXX helpers.o
CXX language.o
CXX line.o
CXX linuxstuff.o
CXX loadsave.o
CXX main.o
CXX memwatch.o
CXX moreio.o
CXX movie.o
CXX newfatal.o
CXX objtypes.o
CXX people.o
CXX region.o
CXX savedata.o
CXX shaders.o
CXX sludger.o
CXX sprbanks.o
CXX sprites.o
CXX statusba.o
CXX stringy.o
CXX talk.o
CXX thumbnail.o
CXX timing.o
CXX transition.o
CXX variable.o
CXX zbuffer.o
CXX sound_openal.o
sound_openal.cpp: In function 'ALuint DUMBdecode(void*, ALubyte*, ALuint)':
sound_openal.cpp:122:38: warning: 'long int duh_render(DUH_SIGRENDERER*, int, int, float, float, long int, void*)' is deprecated [-Wdeprecated-declarations]
DUMB_volume, delta, bufsize, data);
^
In file included from sound_openal.cpp:24:
/usr/include/dumb.h:309:6: note: declared here
long duh_render(DUH_SIGRENDERER *sigrenderer, int bits, int unsign,
^~~~~~~~~~
sound_openal.cpp:122:38: warning: 'long int duh_render(DUH_SIGRENDERER*, int, int, float, float, long int, void*)' is deprecated [-Wdeprecated-declarations]
DUMB_volume, delta, bufsize, data);
^
In file included from sound_openal.cpp:24:
/usr/include/dumb.h:309:6: note: declared here
long duh_render(DUH_SIGRENDERER *sigrenderer, int bits, int unsign,
^~~~~~~~~~
CXX ../CommonCode/utf8.o
CXX libwebm/mkvparser.o
CXX libwebm/mkvreader.o
CXXLD sludge-engine
make[3]: Leaving directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/source/Engine'
make[3]: Entering directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/source'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/source'
make[2]: Leaving directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/source'
Making all in GTK_Dev_Kit
make[2]: Entering directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/GTK_Dev_Kit'
Making all in support
make[3]: Entering directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/GTK_Dev_Kit/support'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/GTK_Dev_Kit/support'
make[3]: Entering directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/GTK_Dev_Kit'
CXX FloorMakerMain.o
CXX SludgeFloorMaker.o
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12066:105: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, const GLfloat*)'
typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:18734:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, GLfloat*)'
typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat* params);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12068:103: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, const GLint*)'
typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:18736:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, GLint*)'
typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint* params);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12070:96: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum, const GLfloat*)'
typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:18730:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum, GLfloat*)'
typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, GLfloat* params);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12072:94: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum, const GLint*)'
typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:18732:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum, GLint*)'
typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, GLint* params);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12079:104: error: conflicting declaration 'typedef void (* PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, GLfloat*)'
typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:18743:28: note: previous declaration as 'typedef void (* PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, const GLfloat*)'
typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* data);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12080:102: error: conflicting declaration 'typedef void (* PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum, GLenum, GLint*)'
typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:18744:28: note: previous declaration as 'typedef void (* PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum, GLenum, const GLint*)'
typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* data);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12083:74: error: 'void __glewFragmentColorMaterialSGIX(GLenum, GLenum)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentColorMaterialSGIX (GLenum face, GLenum mode);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22672:52: note: previous declaration 'void (* __glewFragmentColorMaterialSGIX)(GLenum, GLenum)'
GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12084:84: error: 'void __glewFragmentLightfSGIX(GLenum, GLenum, GLfloat)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightfSGIX (GLenum light, GLenum pname, GLfloat param);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22677:45: note: previous declaration 'void (* __glewFragmentLightfSGIX)(GLenum, GLenum, GLfloat)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12085:93: error: 'void __glewFragmentLightfvSGIX(GLenum, GLenum, const GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightfvSGIX (GLenum light, GLenum pname, const GLfloat *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22678:46: note: previous declaration 'void (* __glewFragmentLightfvSGIX)(GLenum, GLenum, GLfloat*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12086:82: error: 'void __glewFragmentLightiSGIX(GLenum, GLenum, GLint)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightiSGIX (GLenum light, GLenum pname, GLint param);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22679:45: note: previous declaration 'void (* __glewFragmentLightiSGIX)(GLenum, GLenum, GLint)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12087:91: error: 'void __glewFragmentLightivSGIX(GLenum, GLenum, const GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightivSGIX (GLenum light, GLenum pname, const GLint *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22680:46: note: previous declaration 'void (* __glewFragmentLightivSGIX)(GLenum, GLenum, GLint*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12088:75: error: 'void __glewFragmentLightModelfSGIX(GLenum, GLfloat)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightModelfSGIX (GLenum pname, GLfloat param);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22673:50: note: previous declaration 'void (* __glewFragmentLightModelfSGIX)(GLenum, GLfloat)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12089:84: error: 'void __glewFragmentLightModelfvSGIX(GLenum, const GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightModelfvSGIX (GLenum pname, const GLfloat *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22674:51: note: previous declaration 'void (* __glewFragmentLightModelfvSGIX)(GLenum, GLfloat*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12090:73: error: 'void __glewFragmentLightModeliSGIX(GLenum, GLint)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightModeliSGIX (GLenum pname, GLint param);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22675:50: note: previous declaration 'void (* __glewFragmentLightModeliSGIX)(GLenum, GLint)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12091:82: error: 'void __glewFragmentLightModelivSGIX(GLenum, const GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightModelivSGIX (GLenum pname, const GLint *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22676:51: note: previous declaration 'void (* __glewFragmentLightModelivSGIX)(GLenum, GLint*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12092:86: error: 'void __glewFragmentMaterialfSGIX(GLenum, GLenum, GLfloat)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentMaterialfSGIX (GLenum face, GLenum pname, GLfloat param);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22681:48: note: previous declaration 'void (* __glewFragmentMaterialfSGIX)(GLenum, GLenum, GLfloat)'
GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12093:95: error: 'void __glewFragmentMaterialfvSGIX(GLenum, GLenum, const GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentMaterialfvSGIX (GLenum face, GLenum pname, const GLfloat *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22682:49: note: previous declaration 'void (* __glewFragmentMaterialfvSGIX)(GLenum, GLenum, const GLfloat*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12094:84: error: 'void __glewFragmentMaterialiSGIX(GLenum, GLenum, GLint)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentMaterialiSGIX (GLenum face, GLenum pname, GLint param);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22683:48: note: previous declaration 'void (* __glewFragmentMaterialiSGIX)(GLenum, GLenum, GLint)'
GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12095:93: error: 'void __glewFragmentMaterialivSGIX(GLenum, GLenum, const GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentMaterialivSGIX (GLenum face, GLenum pname, const GLint *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22684:49: note: previous declaration 'void (* __glewFragmentMaterialivSGIX)(GLenum, GLenum, const GLint*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12096:90: error: 'void __glewGetFragmentLightfvSGIX(GLenum, GLenum, GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glGetFragmentLightfvSGIX (GLenum light, GLenum pname, GLfloat *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22685:49: note: previous declaration 'void (* __glewGetFragmentLightfvSGIX)(GLenum, GLenum, GLfloat*)'
GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12097:88: error: 'void __glewGetFragmentLightivSGIX(GLenum, GLenum, GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glGetFragmentLightivSGIX (GLenum light, GLenum pname, GLint *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22686:49: note: previous declaration 'void (* __glewGetFragmentLightivSGIX)(GLenum, GLenum, GLint*)'
GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12098:92: error: 'void __glewGetFragmentMaterialfvSGIX(GLenum, GLenum, GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glGetFragmentMaterialfvSGIX (GLenum face, GLenum pname, GLfloat *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22687:52: note: previous declaration 'void (* __glewGetFragmentMaterialfvSGIX)(GLenum, GLenum, const GLfloat*)'
GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from FloorMakerMain.cpp:32:
/usr/include/GL/glext.h:12099:90: error: 'void __glewGetFragmentMaterialivSGIX(GLenum, GLenum, GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glGetFragmentMaterialivSGIX (GLenum face, GLenum pname, GLint *params);
^
In file included from FloorMakerMain.cpp:28:
/usr/include/GL/glew.h:22688:52: note: previous declaration 'void (* __glewGetFragmentMaterialivSGIX)(GLenum, GLenum, const GLint*)'
GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FloorMakerMain.cpp: In function 'int main(int, char**)':
FloorMakerMain.cpp:282:50: warning: 'void g_thread_init(gpointer)' is deprecated [-Wdeprecated-declarations]
if (!g_thread_supported ()){ g_thread_init (NULL); }
^
In file included from /usr/include/glib-2.0/glib.h:111,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/glib-2.0/gio/gioenums.h:28,
from /usr/include/glib-2.0/gio/giotypes.h:28,
from /usr/include/glib-2.0/gio/gio.h:26,
from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
from /usr/include/gtk-2.0/gdk/gdk.h:32,
from /usr/include/gtk-2.0/gtk/gtk.h:32,
from FloorMakerMain.cpp:21:
/usr/include/glib-2.0/glib/deprecated/gthread.h:265:10: note: declared here
void g_thread_init (gpointer vtable);
^~~~~~~~~~~~~
FloorMakerMain.cpp:282:50: warning: 'void g_thread_init(gpointer)' is deprecated [-Wdeprecated-declarations]
if (!g_thread_supported ()){ g_thread_init (NULL); }
^
In file included from /usr/include/glib-2.0/glib.h:111,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/glib-2.0/gio/gioenums.h:28,
from /usr/include/glib-2.0/gio/giotypes.h:28,
from /usr/include/glib-2.0/gio/gio.h:26,
from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
from /usr/include/gtk-2.0/gdk/gdk.h:32,
from /usr/include/gtk-2.0/gtk/gtk.h:32,
from FloorMakerMain.cpp:21:
/usr/include/glib-2.0/glib/deprecated/gthread.h:265:10: note: declared here
void g_thread_init (gpointer vtable);
^~~~~~~~~~~~~
make[3]: *** [Makefile:908: FloorMakerMain.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12066:105: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, const GLfloat*)'
typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:18734:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, GLfloat*)'
typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat* params);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12068:103: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, const GLint*)'
typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:18736:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, GLint*)'
typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint* params);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12070:96: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum, const GLfloat*)'
typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:18730:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum, GLfloat*)'
typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, GLfloat* params);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12072:94: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum, const GLint*)'
typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:18732:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum, GLint*)'
typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, GLint* params);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12079:104: error: conflicting declaration 'typedef void (* PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, GLfloat*)'
typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:18743:28: note: previous declaration as 'typedef void (* PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, const GLfloat*)'
typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* data);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12080:102: error: conflicting declaration 'typedef void (* PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum, GLenum, GLint*)'
typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:18744:28: note: previous declaration as 'typedef void (* PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum, GLenum, const GLint*)'
typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* data);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12083:74: error: 'void __glewFragmentColorMaterialSGIX(GLenum, GLenum)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentColorMaterialSGIX (GLenum face, GLenum mode);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22672:52: note: previous declaration 'void (* __glewFragmentColorMaterialSGIX)(GLenum, GLenum)'
GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12084:84: error: 'void __glewFragmentLightfSGIX(GLenum, GLenum, GLfloat)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightfSGIX (GLenum light, GLenum pname, GLfloat param);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22677:45: note: previous declaration 'void (* __glewFragmentLightfSGIX)(GLenum, GLenum, GLfloat)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12085:93: error: 'void __glewFragmentLightfvSGIX(GLenum, GLenum, const GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightfvSGIX (GLenum light, GLenum pname, const GLfloat *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22678:46: note: previous declaration 'void (* __glewFragmentLightfvSGIX)(GLenum, GLenum, GLfloat*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12086:82: error: 'void __glewFragmentLightiSGIX(GLenum, GLenum, GLint)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightiSGIX (GLenum light, GLenum pname, GLint param);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22679:45: note: previous declaration 'void (* __glewFragmentLightiSGIX)(GLenum, GLenum, GLint)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12087:91: error: 'void __glewFragmentLightivSGIX(GLenum, GLenum, const GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightivSGIX (GLenum light, GLenum pname, const GLint *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22680:46: note: previous declaration 'void (* __glewFragmentLightivSGIX)(GLenum, GLenum, GLint*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12088:75: error: 'void __glewFragmentLightModelfSGIX(GLenum, GLfloat)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightModelfSGIX (GLenum pname, GLfloat param);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22673:50: note: previous declaration 'void (* __glewFragmentLightModelfSGIX)(GLenum, GLfloat)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12089:84: error: 'void __glewFragmentLightModelfvSGIX(GLenum, const GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightModelfvSGIX (GLenum pname, const GLfloat *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22674:51: note: previous declaration 'void (* __glewFragmentLightModelfvSGIX)(GLenum, GLfloat*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12090:73: error: 'void __glewFragmentLightModeliSGIX(GLenum, GLint)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightModeliSGIX (GLenum pname, GLint param);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22675:50: note: previous declaration 'void (* __glewFragmentLightModeliSGIX)(GLenum, GLint)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12091:82: error: 'void __glewFragmentLightModelivSGIX(GLenum, const GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentLightModelivSGIX (GLenum pname, const GLint *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22676:51: note: previous declaration 'void (* __glewFragmentLightModelivSGIX)(GLenum, GLint*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12092:86: error: 'void __glewFragmentMaterialfSGIX(GLenum, GLenum, GLfloat)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentMaterialfSGIX (GLenum face, GLenum pname, GLfloat param);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22681:48: note: previous declaration 'void (* __glewFragmentMaterialfSGIX)(GLenum, GLenum, GLfloat)'
GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12093:95: error: 'void __glewFragmentMaterialfvSGIX(GLenum, GLenum, const GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentMaterialfvSGIX (GLenum face, GLenum pname, const GLfloat *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22682:49: note: previous declaration 'void (* __glewFragmentMaterialfvSGIX)(GLenum, GLenum, const GLfloat*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12094:84: error: 'void __glewFragmentMaterialiSGIX(GLenum, GLenum, GLint)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentMaterialiSGIX (GLenum face, GLenum pname, GLint param);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22683:48: note: previous declaration 'void (* __glewFragmentMaterialiSGIX)(GLenum, GLenum, GLint)'
GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12095:93: error: 'void __glewFragmentMaterialivSGIX(GLenum, GLenum, const GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glFragmentMaterialivSGIX (GLenum face, GLenum pname, const GLint *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22684:49: note: previous declaration 'void (* __glewFragmentMaterialivSGIX)(GLenum, GLenum, const GLint*)'
GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12096:90: error: 'void __glewGetFragmentLightfvSGIX(GLenum, GLenum, GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glGetFragmentLightfvSGIX (GLenum light, GLenum pname, GLfloat *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22685:49: note: previous declaration 'void (* __glewGetFragmentLightfvSGIX)(GLenum, GLenum, GLfloat*)'
GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12097:88: error: 'void __glewGetFragmentLightivSGIX(GLenum, GLenum, GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glGetFragmentLightivSGIX (GLenum light, GLenum pname, GLint *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22686:49: note: previous declaration 'void (* __glewGetFragmentLightivSGIX)(GLenum, GLenum, GLint*)'
GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12098:92: error: 'void __glewGetFragmentMaterialfvSGIX(GLenum, GLenum, GLfloat*)' redeclared as different kind of symbol
GLAPI void APIENTRY glGetFragmentMaterialfvSGIX (GLenum face, GLenum pname, GLfloat *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22687:52: note: previous declaration 'void (* __glewGetFragmentMaterialfvSGIX)(GLenum, GLenum, const GLfloat*)'
GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from SludgeFloorMaker.cpp:32:
/usr/include/GL/glext.h:12099:90: error: 'void __glewGetFragmentMaterialivSGIX(GLenum, GLenum, GLint*)' redeclared as different kind of symbol
GLAPI void APIENTRY glGetFragmentMaterialivSGIX (GLenum face, GLenum pname, GLint *params);
^
In file included from SludgeFloorMaker.cpp:28:
/usr/include/GL/glew.h:22688:52: note: previous declaration 'void (* __glewGetFragmentMaterialivSGIX)(GLenum, GLenum, const GLint*)'
GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:908: SludgeFloorMaker.o] Error 1
make[3]: Leaving directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/GTK_Dev_Kit'
make[2]: *** [Makefile:951: all-recursive] Error 1
make[2]: Leaving directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2/GTK_Dev_Kit'
make[1]: *** [Makefile:427: all-recursive] Error 1
make[1]: Leaving directory '/home/dos/.cache/yay/sludge/src/sludge-2.2.2'
make: *** [Makefile:347: all] Error 2
Hi,
The gist of the problem on Odroid C1 is this happens to be the most problem-free colour depth at the moment. Here's a trace:
(gdb) run
Starting program: /home/odroid/sludge-engine -d 1 /usr/share/out-of-order/gamedata
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
EGL Opening X11 display
EGL Getting EGL display
[New Thread 0xb5d06450 (LWP 2190)]
EGL Initializing
[New Thread 0xb5506450 (LWP 2191)]
EGL_VENDOR: ARM
EGL_VERSION: 1.4 Linux-r5p0-01rel0
EGL_EXTENSIONS: EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_EXT_swap_buffers_with_damage EGL_KHR_lock_surface EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness EGL_ANDROID_blob_cache EGL_KHR_create_context
*** Engine compiled Dec 9 2015 at 05:16:30.
Video mode 1024 768 set successfully.
EGL Found 3 available configs
EGL Config 0
EGL Binding API
EGL Creating Context
EGL Creating window surface
ERROR: EGL Error detected in file eglport/eglport.cpp at line 287: EGL_BAD_NATIVE_WINDOW (0x300B)
EGL ERROR: Unable to create EGL surface!
EGL ERROR: Unable to configure EGL. See previous error.
Compiling vertex shader...
Compiling fragment shader...
Shaders compiled.
Shader program linked.
[Thread 0xb5506450 (LWP 2191) exited]
EGL Closed
Program received signal SIGSEGV, Segmentation fault.
0xb675a862 in __GI___pthread_mutex_lock (mutex=0xb) at pthread_mutex_lock.c:66
66 pthread_mutex_lock.c: No such file or directory.
(gdb) bt
#0 0xb675a862 in __GI___pthread_mutex_lock (mutex=0xb) at pthread_mutex_lock.c:66
#1 0xb6ba943c in XrmDestroyDatabase () from /usr/lib/arm-linux-gnueabihf/libX11.so.6
#2 0xb6b99fe4 in _XFreeDisplayStructure () from /usr/lib/arm-linux-gnueabihf/libX11.so.6
#3 0xb6b8f2bc in XCloseDisplay () from /usr/lib/arm-linux-gnueabihf/libX11.so.6
#4 0xb6f7060e in ?? () from /usr/lib/arm-linux-gnueabihf/libSDL-1.2.so.0
One other GLES2 app I'd had a similar problem with, namely caveexpress, managed to make it work but it was using SDL2 however.
Thx
Playback of MOD files is broken for a long time, because libalure can't distinguish them from mp3's and sometimes this leads to libmpg123 playing MOD files, producing annoying noise. This is the case for the intro song of "Out Of Order". More info at https://bugs.debian.org/908352
I looked into it a bit more and it seems we can force libalure to play the module files using libdumb by ditching alures internal libdumb support and instead create callbacks and play the module files using alureCreateStreamFromCallback. As I just found out I even added such callbacks in the beginning and removed them in be6c922 when libalure gout libdumb support.
I'll try to get around doing this soon.
The latest macOS release is 32-bit, so it doesn't work. There's no way to make it work unless you use an outdated version of macOS like 10.14 or below. For people on macOS 10.15-13.0, especially on ARM64, this programme simply will not work.
Hi! :-)
I tried to run "Frasse and the Peas of Kejick" on my system (Debian Jessie x64 KDE, last Open Sludge version), but I'm receiving a segfault when trying to "catch" something.
Here's the konsole's output:
>sludge-engine -f -a1 -d1 Gamedata.slg
*** Engine compiled May 3 2014 at 12:41:09.
Video mode 1360 768 set successfully.
Compiling vertex shader...
Compiling fragment shader...
Shaders compiled.
Shader program linked.
Built shader program: 3 (smartScaler)
Compiling vertex shader...
Compiling fragment shader...
Shaders compiled.
Shader program linked.
Built shader program: 6 (fixScaleSprite)
Compiling vertex shader...
Compiling fragment shader...
Shaders compiled.
Shader program linked.
Built shader program: 9 (yuv)
Compiling vertex shader...
Compiling fragment shader...
Shaders compiled.
Shader program linked.
Built shader program: 12 (texture)
Compiling vertex shader...
Compiling fragment shader...
Shaders compiled.
Shader program linked.
Built shader program: 15 (color)
OpenGL 2.0! All is good.
Max texture image units: 32
loadBankForAnim: New sprite bank created OK
loadBankForAnim: New sprite bank created OK
loadBankForAnim: New sprite bank created OK
loadBankForAnim: New sprite bank created OK
loadBankForAnim: New sprite bank created OK
loadBankForAnim: New sprite bank created OK
calling freeze()
loadBankForAnim: New sprite bank created OK
Failed to set stream order: Could not reload data
loadBankForAnim: New sprite bank created OK
Segmentation fault
>
Glee has been a dead project for many years and it was removed from Debian testing a while ago due to copyright issues. In order to keep sludge in Debian, Glee has to replaced by a OpenGL loading library that is still maintained.
I found GLEW and glbinding to be natural candidates. Any thoughts or opinions? Otherwise I'll try my luck with glbinding first.
I added with the translation editor some greek text but when i compile and run
squares are displayed in the game instead of text.
Isnt utf8 text suporrted ?
Although the program is available in the Software Manager (that's how I found it, by chance)
and you can install it from there, it doesn't launch from either the menu or the Software Manager itself.
I hope this info helps!
I've tried looking into why playing https://dosowisko.net/sludge/dosowisko30.webm with SLUDGE causes audible clicks.
Turns out that clicks happen in places where vorbis_synthesis_pcmout
returns a lower value than usual. Usually it returns 4096, for other files I tested even all the time, however, in this file it sometimes returns lower values: 2304 and 512. The moments it happens correlate with audible clicks.
So, I have looked into how the audio samples are queued and fed into ALURE.
opensludge/source/Engine/movie.cpp
Lines 293 to 339 in df0989e
The code looks like it used to be a loop. When wrapping most of it with while (length > 0)
and modifying the memcpy
call a bit to take previous loop rolls into account (memcpy(data+got, buffer+bufOffset, bufLen);
), the clicks are fixed - however, the A/V sync is now broken (the video is way too fast).
However, when adding if (length > 4096) { length = 4096; }
before the loop, audible clicks are gone and A/V sync is left intact. This is a very ugly hack though and I'm not sure yet how to deal with it properly, so I'm opening this ticket instead.
Any ideas?
PS. Those two lines should be swapped around, shouldn't they?
opensludge/source/Engine/movie.cpp
Lines 332 to 335 in df0989e
Hi folks, this isn't an issue per se, but I wasn't sure where else to post this. ๐
After some work, I have a working proof-of-concept for getting SLUDGE games running in the web browser.
Here is my (very!) old game Nathan's Second Chance running under WebGL2 in Chrome. After quite a lot of fiddling getting things working, I was very pleased to see this:
I've only played to the second chapter so far, but as far as I can tell the game itself is all running perfectly well:
INVALID_OPERATION
errors you can see in the console, which don't appear to have visible impact, but are bothering meHere's the personal Trello I'm using to track stuff. Not very detailed as it's just been my own notes as I think of them: https://trello.com/b/hK7eZcQz/sludge-emscripten
Let me know if anyone is interested in this work โ I'm keen to discuss, if there is interest in the community. And I would welcome advice/suggestions/help on how to get this all shipshape for an eventual pull request.
With everything up to date, my XP machine fails because it cannot compile the graphics shaders for the demos. That would make this a mostly - if not totally - GPU issue in the engine.
It tries to load the fallback (linear scaling) and chokes miserably, giving me several errors - all of them failed shader compilation - before dying.
I understand XP is officially EoL'd by Microsoft; however I have a nagging suspicion I'll check when I return home off the road that machines that can run modern OSes may not be able to run SLUDGE based games if this is the case, and certainly XP itself is still widely used and will likely see many people resist the change to a newer OS for some time, despite the lack of current support from vendor.
I'm happy to give any help I can in this matter.
I'm trying to get my macOS-building version up to date with the released version. sound_bass.cpp refers to bass.h
which is not present anywhere in the source tree.
I have noticed that, at least on GNU/Linux, the audio as played by the engine differs greatly with the same audio file as played by music player.
I suspect that SLUDGE may be doing some downsampling as a relict from old times where it was somewhat reasonable to distribute audio in 22050 Hz. Needs looking into.
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.