nashmuhandes / gzdoom-gpl Goto Github PK
View Code? Open in Web Editor NEWGZDoom-GPL is a GPL-compliant fork of GZDoom.
License: GNU General Public License v3.0
GZDoom-GPL is a GPL-compliant fork of GZDoom.
License: GNU General Public License v3.0
Probably it's worth to remove specs/fmod_version.txt
. Even if FMOD Studio integration will be restored the content of this file is misleading.
Doom was released under the GPLv2+.
I tried to compile build 3b98cb1 and I get this error (I didn't get this error in ZDoom/gzdoom@e993f93):
https://paste.debian.net/909758/
I'm running Xubuntu 16.04.1 64-bit.
Something is broken in Master branch:
Thread 1 "gzdoom" received signal SIGSEGV, Segmentation fault.
0x000000000071708c in FGLRenderer::RenderView (this=0x0, player=0x1087140 )
at src/gl/scene/gl_scene.cpp:905
905 gl_RenderState.SetVertexBuffer(mVBO);
Stuff from valgrind
==4949== Invalid read of size 8
==4949== at 0x71704A: FGLRenderer::RenderView(player_t_) (gl_scene.cpp:897)
==4949== by 0x71823F: FGLInterface::RenderView(player_t_) (gl_scene.cpp:1292)
==4949== by 0x7847D8: D_Display() (d_main.cpp:771)
==4949== by 0x78533C: D_DoomLoop() (d_main.cpp:1014)
==4949== by 0x789383: D_DoomMain() (d_main.cpp:2643)
==4949== by 0x5B4EF6: main (i_main.cpp:317)
==4949== Address 0x12822d10 is 16 bytes inside a block of size 120 free'd
==4949== at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4949== by 0x86BB0A8: XFree (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x869BA1A: XFreeEventData (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x5AA06AF: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5AA1907: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5A322E6: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5A32334: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5B1E8A: I_GetEvent() (i_input.cpp:467)
==4949== by 0x5B1EDE: I_StartTic() (i_input.cpp:481)
==4949== by 0x78D37D: NetUpdate() (d_net.cpp:978)
==4949== by 0x78F407: TryRunTics() (d_net.cpp:1834)
==4949== by 0x785332: D_DoomLoop() (d_main.cpp:1010)
==4949== Block was alloc'd at
==4949== at 0x4C2FB55: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4949== by 0xAF428F9: ??? (in /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0)
==4949== by 0x86BAEB4: XEnq (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x86B7B7E: ??? (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x86B8554: XEventsQueued (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x8699E49: XFlush (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x5AA17C1: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5A322E6: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5A32334: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5B1E8A: I_GetEvent() (i_input.cpp:467)
==4949== by 0x5B1EDE: I_StartTic() (i_input.cpp:481)
==4949== by 0x78D37D: NetUpdate() (d_net.cpp:978)
==4949==
==4949== Invalid write of size 8
==4949== at 0x717085: FGLRenderer::RenderView(player_t) (gl_scene.cpp:902)
==4949== by 0x71823F: FGLInterface::RenderView(player_t) (gl_scene.cpp:1292)
==4949== by 0x7847D8: D_Display() (d_main.cpp:771)
==4949== by 0x78533C: D_DoomLoop() (d_main.cpp:1014)
==4949== by 0x789383: D_DoomMain() (d_main.cpp:2643)
==4949== by 0x5B4EF6: main (i_main.cpp:317)
==4949== Address 0x12822d10 is 16 bytes inside a block of size 120 free'd
==4949== at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4949== by 0x86BB0A8: XFree (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x869BA1A: XFreeEventData (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x5AA06AF: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5AA1907: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5A322E6: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5A32334: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5B1E8A: I_GetEvent() (i_input.cpp:467)
==4949== by 0x5B1EDE: I_StartTic() (i_input.cpp:481)
==4949== by 0x78D37D: NetUpdate() (d_net.cpp:978)
==4949== by 0x78F407: TryRunTics() (d_net.cpp:1834)
==4949== by 0x785332: D_DoomLoop() (d_main.cpp:1010)
==4949== Block was alloc'd at
==4949== at 0x4C2FB55: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4949== by 0xAF428F9: ??? (in /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0)
==4949== by 0x86BAEB4: XEnq (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x86B7B7E: ??? (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x86B8554: XEventsQueued (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x8699E49: XFlush (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==4949== by 0x5AA17C1: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5A322E6: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5A32334: ??? (in /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0)
==4949== by 0x5B1E8A: I_GetEvent() (i_input.cpp:467)
==4949== by 0x5B1EDE: I_StartTic() (i_input.cpp:481)
==4949== by 0x78D37D: NetUpdate() (d_net.cpp:978)
==4949==
==4949== Invalid read of size 8
==4949== at 0x71708C: FGLRenderer::RenderView(player_t) (gl_scene.cpp:905)
==4949== by 0x71823F: FGLInterface::RenderView(player_t) (gl_scene.cpp:1292)
==4949== by 0x7847D8: D_Display() (d_main.cpp:771)
==4949== by 0x78533C: D_DoomLoop() (d_main.cpp:1014)
==4949== by 0x789383: D_DoomMain() (d_main.cpp:2643)
==4949== by 0x5B4EF6: main (i_main.cpp:317)
==4949== Address 0xc0 is not stack'd, malloc'd or (recently) free'd
OpenGL Information
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce GT 630/PCIe/SSE2
GL_VERSION: 4.5.0 NVIDIA 364.19
GZDoom-GPL removes "FMOD" from this line of code in s_advsound.h:
else if (sc.Compare("fmod") || sc.Compare("sndsys")) devset.device = MDEV_SNDSYS;
This will cause a parser incompatibility, if some mod actually uses that keyword. Since there is no dependency on FMod here this should be restored.
I've had this error for a few days:
/mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/src/sound/oalsound.cpp: In member function ‘virtual MIDIDevice* OpenALSoundRenderer::CreateMIDIDevice() const’:
/mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/src/sound/oalsound.cpp:2063:13: error: expected type-specifier before ‘OPLMIDIDevice’
return new OPLMIDIDevice(nullptr);
^~~~~~~~~~~~~
/mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/src/sound/oalsound.cpp:2063:13: error: expected ‘;’ before ‘OPLMIDIDevice’
/mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/src/sound/oalsound.cpp:2063:34: error: ‘OPLMIDIDevice’ was not declared in this scope
return new OPLMIDIDevice(nullptr);
^
src/CMakeFiles/zdoom.dir/build.make:3299: recipe for target 'src/CMakeFiles/zdoom.dir/sound/oalsound.cpp.o' failed
make[2]: *** [src/CMakeFiles/zdoom.dir/sound/oalsound.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:732: recipe for target 'src/CMakeFiles/zdoom.dir/all' failed
make[1]: *** [src/CMakeFiles/zdoom.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
this what I typed to compile:
cd /mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/build &&
a='' && [ "$(uname -m)" = x86_64 ] && a=64 ; make clean ;
cmake -DCMAKE_BUILD_TYPE=Release .. ;
make -j7
what I do:
cd /mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL
git reset --hard origin/master
git pull --no-edit
cd /mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/build &&
a='' && [ "$(uname -m)" = x86_64 ] && a=64 ; make clean ;
cmake -DCMAKE_BUILD_TYPE=Release .. ;
make -j7
the last lines of output:
/mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/src/sound/oalsound.cpp: In member function 'virtual MIDIDevice* OpenALSoundRenderer::CreateMIDIDevice() const':
/mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/src/sound/oalsound.cpp:2063:13: error: expected type-specifier before 'OPLMIDIDevice'
return new OPLMIDIDevice(nullptr);
^~~~~~~~~~~~~
/mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/src/sound/oalsound.cpp:2063:13: error: expected ';' before 'OPLMIDIDevice'
/mnt/ac/games2test/amd64/freedoom/gzdoom-GPL/GZDoom-GPL/src/sound/oalsound.cpp:2063:34: error: 'OPLMIDIDevice' was not declared in this scope
return new OPLMIDIDevice(nullptr);
^
[ 44%] Building CXX object src/CMakeFiles/zdoom.dir/gl/data/gl_setup.cpp.o
src/CMakeFiles/zdoom.dir/build.make:1859: recipe for target 'src/CMakeFiles/zdoom.dir/sound/oalsound.cpp.o' failed
make[2]: *** [src/CMakeFiles/zdoom.dir/sound/oalsound.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:732: recipe for target 'src/CMakeFiles/zdoom.dir/all' failed
make[1]: *** [src/CMakeFiles/zdoom.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
It's been happening for a few days now.
There is a hash function in src/c_dispatch.cpp
, SuperFastHash
under a custom license not scrutinized by either FSF nor OSI lawyers: http://www.azillionmonkeys.com/qed/weblicense.html
The language of the custom license seems to imply a sort of attempt at copyleft, but with a few phrases that are a bit questionable (such as "may be used for commercial purposes"). It also entirely lacks a warranty disclaimer.
According to the website, the function is also available as LGPLv2.1. I strongly recommend switching to the license. The text is more clear, it is better universally accepted, and has been hammered down by lawyers to make sure there aren't ambiguities within.
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.