summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorArchadept2016-03-15 11:49:57 +0100
committerArchadept2016-03-15 11:49:57 +0100
commitc359ecbd499278af6e6eca46ee94903857b72925 (patch)
tree957517b39f6d6a24c843ee4aeb027ff9b1c29b20
downloadaur-c359ecbd499278af6e6eca46ee94903857b72925.tar.gz
Initial import
-rw-r--r--.SRCINFO28
-rw-r--r--CMakeCache.txt810
-rwxr-xr-xOpenGLTexture.cpp837
-rw-r--r--PKGBUILD86
-rw-r--r--frikingshark.desktop9
5 files changed, 1770 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e36acfa41d68
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+# Generated by mksrcinfo v8
+# Tue Mar 15 10:47:47 UTC 2016
+pkgbase = friking-shark-git
+ pkgdesc = Latest version of vertical shooter with upgrades to machine gun of a bomber fighter
+ pkgver = 1.01beta
+ pkgrel = 1
+ url = https://github.com/ptitSeb/friking-shark
+ arch = x86_64
+ license = GPL3
+ makedepends = git
+ makedepends = cmake2
+ depends = libxinerama
+ depends = libxrandr
+ depends = freealut
+ depends = libvorbis
+ depends = glu
+ depends = libpng14
+ source = git://github.com/ptitSeb/friking-shark.git
+ source = OpenGLTexture.cpp
+ source = CMakeCache.txt
+ source = frikingshark.desktop
+ md5sums = SKIP
+ md5sums = b4ff7a43dd97aa7a4f5158311ddf0e5f
+ md5sums = 85b1db2d1cd093d9cfe769beb86a65a3
+ md5sums = c6ae445d9227bd6b4c4e684ab6be73b0
+
+pkgname = friking-shark-git
+
diff --git a/CMakeCache.txt b/CMakeCache.txt
new file mode 100644
index 000000000000..a96827a8fede
--- /dev/null
+++ b/CMakeCache.txt
@@ -0,0 +1,810 @@
+# This is the CMakeCache file.
+# For build in directory: /home/amarant/Dokumenty/arch/dev/build/friking-shark-git/src/friking-shark-build
+# It was generated by CMake: /opt/cmake2/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//Dependencies for the target
+./GameRunTime_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;dl;
+
+//Path to a library.
+ALUT_LIBRARY:FILEPATH=/usr/lib64/libalut.so
+
+//Dependencies for the target
+AirUnitTypes_LIB_DEPENDS:STATIC=general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+AnimationSystems_LIB_DEPENDS:STATIC=general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+BSPDebugger_LIB_DEPENDS:STATIC=general;GameGUILib;general;GameRunTimeLib;general;VectorLib;
+
+//Dependencies for the target
+BonusTypes_LIB_DEPENDS:STATIC=general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
+// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
+CMAKE_BUILD_TYPE:STRING=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler.
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//Flags used by the compiler during all build types.
+CMAKE_CXX_FLAGS:STRING='-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong '
+
+//Flags used by the compiler during debug builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the compiler during release minsize builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the compiler during release builds (/MD /Ob1 /Oi
+// /Ot /Oy /Gs will produce slightly less optimized but smaller
+// files).
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the compiler during Release with Debug Info builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//C compiler.
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+//Flags used by the compiler during all build types.
+CMAKE_C_FLAGS:STRING='-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong '
+
+//Flags used by the compiler during debug builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the compiler during release minsize builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the compiler during release builds (/MD /Ob1 /Oi
+// /Ot /Oy /Gs will produce slightly less optimized but smaller
+// files).
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the compiler during Release with Debug Info builds.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Flags used by the linker.
+CMAKE_EXE_LINKER_FLAGS:STRING= -Wl,-O1,--sort-common,--as-needed,-z,relro
+
+//Flags used by the linker during debug builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
+
+//Flags used by the linker during the creation of modules.
+CMAKE_MODULE_LINKER_FLAGS:STRING= -Wl,-O1,--sort-common,--as-needed,-z,relro
+
+//Flags used by the linker during debug builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=frikingshark
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Flags used by the linker during the creation of dll's.
+CMAKE_SHARED_LINKER_FLAGS:STRING= -Wl,-O1,--sort-common,--as-needed,-z,relro
+
+//Flags used by the linker during debug builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during debug builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If true, cmake will use relative paths in makefiles and projects.
+CMAKE_USE_RELATIVE_PATHS:BOOL=OFF
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Enable to build TBZ2 source packages
+CPACK_SOURCE_TBZ2:BOOL=ON
+
+//Enable to build TGZ source packages
+CPACK_SOURCE_TGZ:BOOL=ON
+
+//Enable to build TZ source packages
+CPACK_SOURCE_TZ:BOOL=ON
+
+//Enable to build ZIP source packages
+CPACK_SOURCE_ZIP:BOOL=OFF
+
+//Dependencies for the target
+EntityEditor_LIB_DEPENDS:STATIC=general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+FormationEditor_LIB_DEPENDS:STATIC=general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Set to ON for using libgsalt to reduce triangle count
+GSALT:BOOL=OFF
+
+//Dependencies for the target
+GUISystems_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+GameEntityLib_LIB_DEPENDS:STATIC=general;rt;
+
+//Dependencies for the target
+GameGUILib_LIB_DEPENDS:STATIC=general;rt;
+
+//Dependencies for the target
+GameGUI_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+GameGraphics_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;/usr/lib64/libXinerama.so;general;/usr/lib64/libXrandr.so;
+
+//Dependencies for the target
+GameManagers_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+GameRunTimeLib_LIB_DEPENDS:STATIC=general;rt;
+
+//Dependencies for the target
+GroundUnitTypes_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+IATestSystems_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;
+
+//Set to ON if targeting a MAC
+MACOS:BOOL=OFF
+
+//Path to a library.
+OGG_LIBRARY:FILEPATH=/usr/lib64/libogg.so
+
+//Path to a file.
+OPENAL_INCLUDE_DIR:PATH=/usr/include/AL
+
+//Path to a library.
+OPENAL_LIBRARY:FILEPATH=/usr/lib64/libopenal.so
+
+//Path to a file.
+OPENGL_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a library.
+OPENGL_gl_LIBRARY:FILEPATH=/usr/lib64/libGL.so
+
+//Path to a library.
+OPENGL_glu_LIBRARY:FILEPATH=/usr/lib64/libGLU.so
+
+//Path to a file.
+OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND
+
+//Set to ON if targeting an OpenPandora device
+PANDORA:BOOL=OFF
+
+//Path to a library.
+PNG_LIBRARY_DEBUG:FILEPATH=PNG_LIBRARY_DEBUG-NOTFOUND
+
+//Path to a library.
+PNG_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libpng14.so.14.19.0
+
+//Path to a file.
+PNG_PNG_INCLUDE_DIR:PATH=/usr/include
+
+//Dependencies for the target
+ParticleSystems_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+PlayAreaElements_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+ScenarioEditor_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Dependencies for the target
+SoundSystems_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libopenal.so;general;/usr/lib64/libalut.so;general;/usr/lib64/libvorbisfile.so;general;/usr/lib64/libvorbis.so;general;/usr/lib64/libogg.so;
+
+//Path to a library.
+VORBISFILE_LIBRARY:FILEPATH=/usr/lib64/libvorbisfile.so
+
+//Path to a library.
+VORBIS_LIBRARY:FILEPATH=/usr/lib64/libvorbis.so
+
+//Dependencies for the target
+VectorLib_LIB_DEPENDS:STATIC=general;rt;
+
+//Dependencies for the target
+WeaponTypes_LIB_DEPENDS:STATIC=general;rt;general;GameGUILib;general;GameRunTimeLib;general;VectorLib;general;GameEntityLib;general;/usr/lib64/libpng14.so.14.19.0;general;/usr/lib64/libopenal.so;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;
+
+//Path to a file.
+X11_ICE_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_ICE_LIB:FILEPATH=/usr/lib64/libICE.so
+
+//Path to a file.
+X11_SM_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_SM_LIB:FILEPATH=/usr/lib64/libSM.so
+
+//Path to a file.
+X11_X11_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so
+
+//Path to a file.
+X11_XRes_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_XRes_LIB:FILEPATH=/usr/lib64/libXRes.so
+
+//Path to a file.
+X11_XShm_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_XSync_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_XTest_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_XTest_LIB:FILEPATH=/usr/lib64/libXtst.so
+
+//Path to a file.
+X11_Xaccessrules_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xaccessstr_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xau_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xau_LIB:FILEPATH=/usr/lib64/libXau.so
+
+//Path to a file.
+X11_Xcomposite_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xcomposite_LIB:FILEPATH=/usr/lib64/libXcomposite.so
+
+//Path to a file.
+X11_Xcursor_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xcursor_LIB:FILEPATH=/usr/lib64/libXcursor.so
+
+//Path to a file.
+X11_Xdamage_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xdamage_LIB:FILEPATH=/usr/lib64/libXdamage.so
+
+//Path to a file.
+X11_Xdmcp_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xdmcp_LIB:FILEPATH=/usr/lib64/libXdmcp.so
+
+//Path to a library.
+X11_Xext_LIB:FILEPATH=/usr/lib64/libXext.so
+
+//Path to a file.
+X11_Xfixes_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xfixes_LIB:FILEPATH=/usr/lib64/libXfixes.so
+
+//Path to a file.
+X11_Xft_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xft_LIB:FILEPATH=/usr/lib64/libXft.so
+
+//Path to a file.
+X11_Xi_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xi_LIB:FILEPATH=/usr/lib64/libXi.so
+
+//Path to a file.
+X11_Xinerama_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xinerama_LIB:FILEPATH=/usr/lib64/libXinerama.so
+
+//Path to a file.
+X11_Xinput_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xinput_LIB:FILEPATH=/usr/lib64/libXi.so
+
+//Path to a file.
+X11_Xkb_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xkbfile_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xkbfile_LIB:FILEPATH=/usr/lib64/libxkbfile.so
+
+//Path to a file.
+X11_Xkblib_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xlib_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xmu_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xmu_LIB:FILEPATH=/usr/lib64/libXmu.so
+
+//Path to a file.
+X11_Xpm_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xpm_LIB:FILEPATH=/usr/lib64/libXpm.so
+
+//Path to a file.
+X11_Xrandr_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xrandr_LIB:FILEPATH=/usr/lib64/libXrandr.so
+
+//Path to a file.
+X11_Xrender_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xrender_LIB:FILEPATH=/usr/lib64/libXrender.so
+
+//Path to a file.
+X11_Xscreensaver_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xscreensaver_LIB:FILEPATH=/usr/lib64/libXss.so
+
+//Path to a file.
+X11_Xshape_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xt_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xt_LIB:FILEPATH=/usr/lib64/libXt.so
+
+//Path to a file.
+X11_Xutil_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_Xv_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+X11_Xv_LIB:FILEPATH=/usr/lib64/libXv.so
+
+//Path to a library.
+X11_Xxf86misc_LIB:FILEPATH=X11_Xxf86misc_LIB-NOTFOUND
+
+//Path to a library.
+X11_Xxf86vm_LIB:FILEPATH=/usr/lib64/libXxf86vm.so
+
+//Path to a file.
+X11_dpms_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a file.
+X11_xf86misc_INCLUDE_PATH:PATH=X11_xf86misc_INCLUDE_PATH-NOTFOUND
+
+//Path to a file.
+X11_xf86vmode_INCLUDE_PATH:PATH=/usr/include
+
+//Path to a library.
+XINERAMA_LIBRARY:FILEPATH=/usr/lib64/libXinerama.so
+
+//Path to a library.
+XRANDR_LIBARY:FILEPATH=/usr/lib64/libXrandr.so
+
+//Path to a file.
+ZLIB_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a library.
+ZLIB_LIBRARY:FILEPATH=/usr/lib64/libz.so
+
+//Value Computed by CMake
+frikingshark_BINARY_DIR:STATIC=/home/amarant/Dokumenty/arch/dev/build/friking-shark-git/src/friking-shark-build
+
+//Value Computed by CMake
+frikingshark_SOURCE_DIR:STATIC=/home/amarant/Dokumenty/arch/dev/build/friking-shark-git/src/friking-shark-build
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_BUILD_TOOL
+CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1
+//What is the target build tool cmake is generating for.
+CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/make
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/amarant/Dokumenty/arch/dev/build/friking-shark-git/src/friking-shark-build
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=8
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=12
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/opt/cmake2/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/opt/cmake2/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/opt/cmake2/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//Path to cache edit program executable.
+CMAKE_EDIT_COMMAND:INTERNAL=/opt/cmake2/bin/ccmake
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Have function connect
+CMAKE_HAVE_CONNECT:INTERNAL=1
+//Have function gethostbyname
+CMAKE_HAVE_GETHOSTBYNAME:INTERNAL=1
+//Have function remove
+CMAKE_HAVE_REMOVE:INTERNAL=1
+//Have function shmat
+CMAKE_HAVE_SHMAT:INTERNAL=1
+//Start directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/amarant/Dokumenty/arch/dev/build/friking-shark-git/src/friking-shark-build
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
+//Have library ICE
+CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=5
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/opt/cmake2/share/cmake-2.8
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//processor type (i386 and x86_64)
+CMAKE_SYSTEM_PROCESSOR:INTERNAL=x86_64
+//uname command
+CMAKE_UNAME:INTERNAL=/usr/bin/uname
+//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS
+CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CPACK_SOURCE_TBZ2
+CPACK_SOURCE_TBZ2-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CPACK_SOURCE_TGZ
+CPACK_SOURCE_TGZ-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CPACK_SOURCE_TZ
+CPACK_SOURCE_TZ-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CPACK_SOURCE_ZIP
+CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1
+//Details about finding OpenAL
+FIND_PACKAGE_MESSAGE_DETAILS_OpenAL:INTERNAL=[/usr/lib64/libopenal.so][/usr/include/AL][v()]
+//Details about finding OpenGL
+FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib64/libGL.so][/usr/include][v()]
+//Details about finding PNG
+FIND_PACKAGE_MESSAGE_DETAILS_PNG:INTERNAL=[/usr/lib64/libpng14.so.14.19.0][/usr/include][v1.6.21()]
+//Details about finding X11
+FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include]
+//Details about finding ZLIB
+FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib64/libz.so][/usr/include][v1.2.8()]
+//ADVANCED property for variable: OPENAL_INCLUDE_DIR
+OPENAL_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENAL_LIBRARY
+OPENAL_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_INCLUDE_DIR
+OPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_gl_LIBRARY
+OPENGL_gl_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_glu_LIBRARY
+OPENGL_glu_LIBRARY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: OPENGL_xmesa_INCLUDE_DIR
+OPENGL_xmesa_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PNG_LIBRARY_DEBUG
+PNG_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PNG_LIBRARY_RELEASE
+PNG_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: PNG_PNG_INCLUDE_DIR
+PNG_PNG_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_ICE_INCLUDE_PATH
+X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_ICE_LIB
+X11_ICE_LIB-ADVANCED:INTERNAL=1
+//Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so
+X11_LIB_X11_SOLO:INTERNAL=1
+//ADVANCED property for variable: X11_SM_INCLUDE_PATH
+X11_SM_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_SM_LIB
+X11_SM_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_X11_INCLUDE_PATH
+X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_X11_LIB
+X11_X11_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XRes_INCLUDE_PATH
+X11_XRes_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XRes_LIB
+X11_XRes_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XShm_INCLUDE_PATH
+X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XSync_INCLUDE_PATH
+X11_XSync_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XTest_INCLUDE_PATH
+X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_XTest_LIB
+X11_XTest_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xaccessrules_INCLUDE_PATH
+X11_Xaccessrules_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xaccessstr_INCLUDE_PATH
+X11_Xaccessstr_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xau_INCLUDE_PATH
+X11_Xau_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xau_LIB
+X11_Xau_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xcomposite_INCLUDE_PATH
+X11_Xcomposite_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xcomposite_LIB
+X11_Xcomposite_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xcursor_INCLUDE_PATH
+X11_Xcursor_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xcursor_LIB
+X11_Xcursor_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xdamage_INCLUDE_PATH
+X11_Xdamage_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xdamage_LIB
+X11_Xdamage_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xdmcp_INCLUDE_PATH
+X11_Xdmcp_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xdmcp_LIB
+X11_Xdmcp_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xext_LIB
+X11_Xext_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xfixes_INCLUDE_PATH
+X11_Xfixes_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xfixes_LIB
+X11_Xfixes_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xft_INCLUDE_PATH
+X11_Xft_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xft_LIB
+X11_Xft_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xi_INCLUDE_PATH
+X11_Xi_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xi_LIB
+X11_Xi_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xinerama_INCLUDE_PATH
+X11_Xinerama_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xinerama_LIB
+X11_Xinerama_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xinput_INCLUDE_PATH
+X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xinput_LIB
+X11_Xinput_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xkb_INCLUDE_PATH
+X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xkbfile_INCLUDE_PATH
+X11_Xkbfile_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xkbfile_LIB
+X11_Xkbfile_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xkblib_INCLUDE_PATH
+X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xlib_INCLUDE_PATH
+X11_Xlib_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xmu_INCLUDE_PATH
+X11_Xmu_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xmu_LIB
+X11_Xmu_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xpm_INCLUDE_PATH
+X11_Xpm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xpm_LIB
+X11_Xpm_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xrandr_INCLUDE_PATH
+X11_Xrandr_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xrandr_LIB
+X11_Xrandr_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xrender_INCLUDE_PATH
+X11_Xrender_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xrender_LIB
+X11_Xrender_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xscreensaver_INCLUDE_PATH
+X11_Xscreensaver_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xscreensaver_LIB
+X11_Xscreensaver_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xshape_INCLUDE_PATH
+X11_Xshape_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xt_INCLUDE_PATH
+X11_Xt_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xt_LIB
+X11_Xt_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xutil_INCLUDE_PATH
+X11_Xutil_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xv_INCLUDE_PATH
+X11_Xv_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xv_LIB
+X11_Xv_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xxf86misc_LIB
+X11_Xxf86misc_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_Xxf86vm_LIB
+X11_Xxf86vm_LIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_dpms_INCLUDE_PATH
+X11_dpms_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xf86misc_INCLUDE_PATH
+X11_xf86misc_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: X11_xf86vmode_INCLUDE_PATH
+X11_xf86vmode_INCLUDE_PATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: ZLIB_INCLUDE_DIR
+ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: ZLIB_LIBRARY
+ZLIB_LIBRARY-ADVANCED:INTERNAL=1
+
diff --git a/OpenGLTexture.cpp b/OpenGLTexture.cpp
new file mode 100755
index 000000000000..50ca3e019a94
--- /dev/null
+++ b/OpenGLTexture.cpp
@@ -0,0 +1,837 @@
+// Friking Shark, a Flying Shark arcade remake.
+// Copyright (C) 2011 Javier Martin Garcia (javiermartingarcia@gmail.com)
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+
+
+
+#include "./stdafx.h"
+#include <stdint.h>
+#include "OpenGLGraphics.h"
+#include "OpenGLTexture.h"
+#define PNG_SKIP_SETJMP_CHECK
+#define PNG_NO_PEDANTIC_WARNINGS
+#include <libpng14/png.h>
+
+#pragma pack(push,1)
+struct BMPFILEHEADER
+{
+ uint16_t bfType;
+ uint32_t bfSize;
+ uint16_t bfReserved1;
+ uint16_t bfReserved2;
+ uint32_t bfOffBits;
+};
+struct BMPINFOHEADER
+{
+ uint32_t biSize;
+ uint32_t biWidth;
+ uint32_t biHeight;
+ uint16_t biPlanes;
+ uint16_t biBitCount;
+ uint32_t biCompression;
+ uint32_t biSizeImage;
+ uint32_t biXPelsPerMeter;
+ uint32_t biYPelsPerMeter;
+ uint32_t biClrUsed;
+ uint32_t biClrImportant;
+};
+#pragma pack(pop)
+
+bool LoadBMPFile(const char *pFileName,unsigned int nBits,unsigned int *pnWidth,unsigned int *pnHeight,unsigned char **ppPixels)
+{
+ BMPFILEHEADER fileHeader={0};
+ BMPINFOHEADER fileInfo={0};
+
+ FILE *pFile=fopen(pFileName,"rb");
+ if(!pFile){return false;}
+ // Make room for the header
+ bool bOk=(fread(&fileHeader,sizeof(fileHeader),1,pFile)==1);
+ if(bOk){bOk=(fileHeader.bfType == 0x4d42);}
+ if(bOk){bOk=(fread(&fileInfo,sizeof(fileInfo),1,pFile)==1);}
+ if(bOk){bOk=(fileInfo.biSize==sizeof(fileInfo));}
+ if(bOk){bOk=(fileInfo.biPlanes==1);}
+ if(bOk){bOk=(fileInfo.biBitCount==24 || fileInfo.biBitCount==32);}
+ if(bOk){bOk=(fileInfo.biCompression==0);} // BI_RGB
+ if(bOk){fseek(pFile,fileHeader.bfOffBits,SEEK_SET);}
+ if(bOk)
+ {
+ unsigned char *pFileBits=(unsigned char*)malloc(fileInfo.biSizeImage);
+ if(bOk){bOk=(fread(pFileBits,fileInfo.biSizeImage,1,pFile)==1);}
+ if(bOk)
+ {
+ *pnHeight=fileInfo.biHeight;
+ *pnWidth=fileInfo.biWidth;
+ *ppPixels = new unsigned char[fileInfo.biHeight * fileInfo.biWidth * nBits/8];
+ // Set alpha to 1
+ if(nBits==32){memset(*ppPixels,0xFF,fileInfo.biHeight * fileInfo.biWidth * nBits/8);}
+
+ int sourceLineSize = fileInfo.biWidth * fileInfo.biBitCount/8;
+ int paddedLineSize = ((sourceLineSize/4)*4);
+ int pad=0;
+ if(paddedLineSize < sourceLineSize){pad=4;}
+
+ unsigned char *bufferPointer = (*ppPixels);// + (lineSize * (fileInfo.biHeight-1));
+ unsigned char *imagePointer = pFileBits;
+
+ int x, y;
+ int nSourceExcess=fileInfo.biBitCount>nBits?1:0;
+ int nDestExcess=nBits>fileInfo.biBitCount?1:0;
+ int nCommon=fileInfo.biBitCount==nBits?fileInfo.biBitCount/8:3;
+
+ for(x = fileInfo.biHeight-1; x >= 0; x--)
+ {
+ for(y = 0; y < (int)fileInfo.biWidth; y++)
+ {
+ bufferPointer[0] = imagePointer[2];
+ bufferPointer[1] = imagePointer[1];
+ bufferPointer[2] = imagePointer[0];
+ bufferPointer+=nCommon+nDestExcess;
+ imagePointer+=nCommon+nSourceExcess;
+ }
+ imagePointer += pad;
+ }
+ }
+ free(pFileBits);
+ pFileBits=NULL;
+ }
+
+ fclose(pFile);
+ pFile=NULL;
+ return bOk;
+}
+
+bool LoadPngFile(const char *pFileName,unsigned int nBits,unsigned int *pnWidth,unsigned int *pnHeight,unsigned char **ppPixels)
+{
+ png_structp pPNGHeader=NULL;
+ png_infop pPNGInfo=NULL;
+
+ bool bOk;
+ FILE *pFile=fopen(pFileName,"rb");
+ bOk=(pFile!=NULL);
+ if(bOk){pPNGHeader=png_create_read_struct(PNG_LIBPNG_VER_STRING,NULL,NULL,NULL);bOk=(pPNGHeader!=NULL);}
+ if(bOk){pPNGInfo=png_create_info_struct(pPNGHeader);bOk=(pPNGInfo!=NULL);}
+ if(bOk){bOk=(setjmp(png_jmpbuf(pPNGHeader))==0);}
+ if(bOk){png_init_io(pPNGHeader, pFile);}
+ if(bOk){png_set_sig_bytes(pPNGHeader, 0);}
+ if(bOk){png_read_png(pPNGHeader, pPNGInfo, PNG_TRANSFORM_STRIP_16 | PNG_TRANSFORM_PACKING | PNG_TRANSFORM_EXPAND, NULL);}
+ if(bOk){bOk=(pPNGInfo->color_type==PNG_COLOR_TYPE_RGBA || pPNGInfo->color_type==PNG_COLOR_TYPE_RGB);}
+ if(bOk)
+ {
+ *pnWidth= pPNGInfo->width;
+ *pnHeight= pPNGInfo->height;
+ unsigned int nFileBits=pPNGInfo->color_type==PNG_COLOR_TYPE_RGBA?32:24;
+ unsigned int nRequestedBits=(nBits==GL_RGBA)?32:24;
+
+ if(nFileBits==nRequestedBits)
+ {
+ unsigned int nRowSize = png_get_rowbytes(pPNGHeader, pPNGInfo);
+ *ppPixels = new unsigned char [nRowSize* pPNGInfo->height];
+ png_bytepp ppRows = png_get_rows(pPNGHeader, pPNGInfo);
+ for(unsigned int y=0;y<pPNGInfo->height;y++)
+ {
+ memcpy(*ppPixels+(nRowSize* (pPNGInfo->height-1-y)), ppRows[y], nRowSize);
+ }
+ }
+ else
+ {
+ int nDestBytesPerColor=(nRequestedBits>>3);
+ int nFileBytesPerColor=(nFileBits>>3);
+
+ png_get_rowbytes(pPNGHeader, pPNGInfo);
+ unsigned int nDestRowSize = nDestBytesPerColor*pPNGInfo->width;
+ *ppPixels = new unsigned char [nDestBytesPerColor*pPNGInfo->width*pPNGInfo->height];
+
+ if(nDestBytesPerColor>nFileBytesPerColor)
+ {
+ // Alpha channel to full opacity if missing.
+ memset(*ppPixels,255,nDestBytesPerColor*pPNGInfo->width*pPNGInfo->height);
+ }
+
+ png_bytepp ppRows = png_get_rows(pPNGHeader, pPNGInfo);
+ for(unsigned int y=0;y<pPNGInfo->height;y++)
+ {
+ unsigned char *pFile=ppRows[y];
+ unsigned char *pDest=(*ppPixels)+(nDestRowSize* (pPNGInfo->height-1-y));
+
+ for(unsigned int x=0;x<pPNGInfo->width;x++)
+ {
+ pDest[0]=pFile[0];
+ pDest[1]=pFile[1];
+ pDest[2]=pFile[2];
+ pDest+=nDestBytesPerColor;
+ pFile+=nFileBytesPerColor;
+ }
+ }
+ }
+ }
+
+ if(pPNGHeader){png_destroy_read_struct(&pPNGHeader, &pPNGInfo,NULL);}
+ if(pFile){fclose(pFile);}
+ return bOk;
+}
+
+
+bool LoadImageHelper(std::string sFile,unsigned int dwColorType,unsigned *pOpenGLSkinWidth,unsigned *pOpenGLSkinHeight,unsigned char **ppBuffer)
+{
+ *pOpenGLSkinWidth=0;
+ *pOpenGLSkinHeight=0;
+ *ppBuffer=NULL;
+
+ char sFileName[MAX_PATH]={0};
+ strcpy(sFileName,sFile.c_str());
+
+ char sExt[MAX_PATH]={0};
+ GetExtension(sFile.c_str(),sExt);
+
+ std::string path=sFile;
+ char pFileFolder[MAX_PATH];
+ GetFileFolder(sFileName,pFileFolder);
+ if(pFileFolder[0]==0 || strcmp(pFileFolder,".")==0)
+ {
+ std::string sTemp="Textures/";
+ sTemp+=path;
+ path=sTemp;
+ }
+ if(sExt[0]==0)
+ {
+ path+=".bmp";
+ }
+ else
+ {
+ if(strcasecmp(sExt,".PNG")==0)
+ {
+ return LoadPngFile(path.c_str(),dwColorType,pOpenGLSkinWidth,pOpenGLSkinHeight,ppBuffer);
+ }
+ }
+ return LoadBMPFile(path.c_str(),(dwColorType==GL_RGBA)?32:24,pOpenGLSkinWidth,pOpenGLSkinHeight,ppBuffer);
+}
+
+
+COpenGLTexture::COpenGLTexture(void)
+{
+ m_bDepth=false;
+ m_bRenderTarget=false;
+ m_dwWidth=0;
+ m_dwHeight=0;
+ m_pBuffer=NULL;
+
+ m_bColorKey=false;
+ m_fOpacity=1.0;
+
+ m_nTextureIndex=0;
+ m_nFrameBuffer=0;
+ m_nFrameBufferDepth=0;
+
+#ifdef WIN32
+ m_hPBufferDC=NULL;
+ m_hPBufferRC=NULL;
+ m_nPBufferPixelFormatIndex=0;
+ m_hPBuffer=NULL;
+
+ m_hPBufferOldDC=NULL;
+ m_hPBufferOldRC=NULL;
+#endif
+}
+
+void COpenGLTexture::Clear()
+{
+ if(m_pBuffer)
+ {
+ delete [] m_pBuffer;
+ m_pBuffer=NULL;
+ }
+
+#ifdef WIN32
+ if(m_hPBufferRC){wglDeleteContext(m_hPBufferRC);m_hPBufferRC=NULL;}
+ if(m_hPBufferDC){wglReleasePbufferDCARB(m_hPBuffer,m_hPBufferDC);m_hPBufferDC=NULL;}
+ if(m_hPBuffer){wglDestroyPbufferARB(m_hPBuffer);m_hPBuffer=NULL;}
+#endif
+
+ if(m_nFrameBuffer)
+ {
+ glDeleteFramebuffersEXT(1,&m_nFrameBuffer);
+ m_nFrameBuffer=0;
+ }
+ if(m_nFrameBufferDepth)
+ {
+ glDeleteRenderbuffersEXT(1,&m_nFrameBufferDepth);
+ m_nFrameBufferDepth=0;
+ }
+ if(m_nTextureIndex)
+ {
+ glDeleteTextures(1,&m_nTextureIndex);
+ m_nTextureIndex=0;
+ }
+}
+
+COpenGLTexture::~COpenGLTexture(void)
+{
+ Clear();
+}
+
+std::string COpenGLTexture::GetFileName(){return m_sFileName;}
+bool COpenGLTexture::HasAlphaFile(){return m_sAlphaFileName!="";}
+std::string COpenGLTexture::GetAlphaFileName(){return m_sAlphaFileName;}
+void COpenGLTexture::GetSize(unsigned *pdwWidth,unsigned *pdwHeight){*pdwWidth=m_dwWidth;*pdwHeight=m_dwHeight;}
+bool COpenGLTexture::HasColorKey(){return m_bColorKey;}
+CVector COpenGLTexture::GetColorKey(){return m_vColorKey;}
+bool COpenGLTexture::LoadFromFile()
+{
+ int nStartTime=GetTimeStamp();
+
+ bool bResult=true;
+ unsigned int dwColorType=HasAlphaChannel()?GL_RGBA:GL_RGB;
+
+ if(LoadImageHelper(m_sFileName,dwColorType,&m_dwWidth,&m_dwHeight,&m_pBuffer))
+ {
+ if(m_sAlphaFileName!="")
+ {
+ unsigned char *pAlphaBuffer=NULL;
+ unsigned nAlphaOpenGLSkinWidth=0,nAlphaOpenGLSkinHeight=0;
+
+ if(LoadImageHelper(m_sAlphaFileName,GL_RGB,&nAlphaOpenGLSkinWidth,&nAlphaOpenGLSkinHeight,&pAlphaBuffer))
+ {
+ if(nAlphaOpenGLSkinWidth==m_dwWidth && m_dwHeight==nAlphaOpenGLSkinHeight)
+ {
+ unsigned char *pTempBuffer=m_pBuffer;
+ unsigned char *pTempAlpha=pAlphaBuffer;
+
+ for(unsigned y=0; y < m_dwHeight; y++)
+ {
+ for(unsigned x = 0; x < m_dwWidth; x++,pTempBuffer+=4,pTempAlpha+=3)
+ {
+ pTempBuffer[3] = (unsigned char)((((unsigned int)pTempAlpha[0])+((unsigned int)pTempAlpha[1])+((unsigned int)pTempAlpha[2]))/3);
+ }
+ }
+ }
+ else
+ {
+ bResult=false;
+ RTTRACE("COpenGLTexture::LoadFromFile -> Texture %s size does not match with alpha texture %s",m_sFileName.c_str(),m_sAlphaFileName.c_str());
+ }
+ }
+ else
+ {
+ bResult=false;
+ RTTRACE("COpenGLTexture::LoadFromFile -> Failed to load alpha texture %s",m_sAlphaFileName.c_str());
+ }
+ if(pAlphaBuffer){delete [] pAlphaBuffer;pAlphaBuffer=NULL;}
+ }
+ else if(m_bColorKey)
+ {
+ unsigned char red=(unsigned char)(m_vColorKey.c[0]*255.0);
+ unsigned char green=(unsigned char)(m_vColorKey.c[1]*255.0);
+ unsigned char blue=(unsigned char)(m_vColorKey.c[2]*255.0);
+
+ unsigned char *pTempBuffer=m_pBuffer;
+
+ for(unsigned y=0; y < m_dwHeight; y++)
+ {
+ for(unsigned x = 0; x < m_dwWidth; x++,pTempBuffer+=4)
+ {
+ pTempBuffer[3] = (pTempBuffer[0]==red && pTempBuffer[1]==green && pTempBuffer[2]==blue)?0:255;
+ }
+ }
+ }
+ else if(m_fOpacity<1.0)
+ {
+ unsigned char *pTempBuffer=m_pBuffer;
+
+ for(unsigned int y=0; y < m_dwWidth; y++)
+ {
+ for(unsigned int x = 0; x < m_dwHeight; x++,pTempBuffer+=4)
+ {
+ pTempBuffer[3] = (unsigned char)(255.0*m_fOpacity);
+ }
+ }
+ }
+ }
+ else
+ {
+ bResult=false;
+ }
+
+ if(bResult)
+ {
+ glGenTextures(1,&m_nTextureIndex);
+
+ if(m_nTextureIndex)
+ {
+ glBindTexture(GL_TEXTURE_2D,m_nTextureIndex);
+ glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
+ gluBuild2DMipmaps(GL_TEXTURE_2D,dwColorType==GL_RGBA?4:3,m_dwWidth,m_dwHeight,dwColorType,GL_UNSIGNED_BYTE,m_pBuffer);
+ }
+ m_bRenderTarget=false;
+
+ RTTRACE("COpenGLTexture::LoadFromFile -> Loaded texture %s (%d ms)",m_sFileName.c_str(),GetTimeStamp()-nStartTime);
+ }
+ else
+ {
+ RTTRACE("COpenGLTexture::LoadFromFile -> Failed to load texture %s",m_sFileName.c_str());
+ }
+
+ return bResult;
+}
+
+bool COpenGLTexture::Unserialize(ISystemPersistencyNode *piNode)
+{
+ bool bResult=CSystemObjectBase::Unserialize(piNode);
+ if(bResult){bResult=LoadFromFile();}
+ return bResult;
+}
+bool COpenGLTexture::HasAlphaChannel(){return (m_bColorKey || m_sAlphaFileName!="" || m_fOpacity<=1.0 || m_bRenderTarget);}
+
+unsigned long COpenGLTexture::GetByteBufferLength(){return HasAlphaChannel()?m_dwHeight*m_dwWidth*4:m_dwHeight*m_dwWidth*3;}
+void *COpenGLTexture::GetByteBuffer(){return m_pBuffer;}
+
+bool COpenGLTexture::Load(std::string sFileName,CVector *pColorKey,std::string *pAlphaFile,float fOpacity)
+{
+ Clear();
+
+ m_sFileName=sFileName;
+ m_sAlphaFileName=pAlphaFile?*pAlphaFile:"";
+ m_bColorKey=false;
+ m_fOpacity=fOpacity;
+ if(pColorKey)
+ {
+ m_vColorKey=*pColorKey;
+ m_bColorKey=true;
+ }
+ if(m_pBuffer)
+ {
+ delete [] m_pBuffer;
+ m_pBuffer=NULL;
+ }
+ return LoadFromFile();
+}
+
+CVector COpenGLTexture::GetPixelColor( unsigned long x, unsigned long y )
+{
+ CVector vResult;
+ if(x<m_dwWidth && y<m_dwHeight)
+ {
+ unsigned long nPixel=x+(y*m_dwWidth);
+ unsigned long nPixelSize=(HasAlphaChannel()?4:3);
+ unsigned char *pPixel=m_pBuffer+(nPixel*nPixelSize);
+ for(int p=0;p<3;p++){vResult.c[p]=((double)pPixel[p])/255.0;}
+ }
+ return vResult;
+}
+
+double COpenGLTexture::GetPixelAlpha( unsigned long x, unsigned long y )
+{
+ if(!HasAlphaChannel()){return m_fOpacity;}
+ if(x<m_dwWidth && y<m_dwHeight)
+ {
+ unsigned long nPixel=x+(y*m_dwWidth);
+ unsigned long nPixelSize=4;
+ unsigned char *pPixel=m_pBuffer+(nPixel*nPixelSize);
+ return ((double)pPixel[3])/255.0;
+ }
+ return m_fOpacity;
+}
+
+bool COpenGLTexture::CreateFrameBuffer(bool bDepth)
+{
+ // FrameBuffer Implementation
+
+ glGenTextures(1,&m_nTextureIndex);
+ if(!bDepth)
+ {
+ glGenRenderbuffersEXT(1, &m_nFrameBufferDepth);
+ }
+ glGenFramebuffersEXT(1,&m_nFrameBuffer);
+
+ if(m_nTextureIndex && m_nFrameBuffer && (m_nFrameBufferDepth|| bDepth))
+ {
+ m_bRenderTarget=true;
+
+ glBindTexture(GL_TEXTURE_2D,m_nTextureIndex);
+ if(bDepth)
+ {
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+ glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_FALSE);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, m_dwWidth,m_dwHeight, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0);
+ }
+ else
+ {
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+ glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_FALSE);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, m_dwWidth,m_dwHeight, 0,GL_RGBA, GL_UNSIGNED_BYTE, 0);
+ }
+ glBindTexture(GL_TEXTURE_2D, 0);
+
+ glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, m_nFrameBufferDepth);
+ glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, m_dwWidth, m_dwHeight);
+ glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,m_nFrameBuffer);
+ if(!bDepth)
+ {
+ glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_TEXTURE_2D,m_nTextureIndex,0);
+ glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,GL_RENDERBUFFER_EXT, m_nFrameBufferDepth);
+ }
+ else
+ {
+ glDrawBuffer(GL_NONE);
+ glReadBuffer(GL_NONE);
+ glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,GL_TEXTURE_2D, m_nTextureIndex, 0);
+ }
+
+ GLenum status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,0);
+ return (status == GL_FRAMEBUFFER_COMPLETE_EXT);
+ }
+ else
+ {
+ return false;
+ }
+}
+bool COpenGLTexture::CreateBackBuffer(bool bDepth,IGenericViewport *piViewport)
+{
+ bool bOk=true;
+ // BackBuffer Implementation
+ glGenTextures(1,&m_nTextureIndex);
+ bOk=(m_nTextureIndex!=0);
+ if(bOk)
+ {
+ SVideoMode mode;
+ piViewport->GetCurrentVideoMode(&mode);
+
+ while(m_dwWidth>(mode.w/2)){m_dwWidth/=2;}
+ while(m_dwHeight>(mode.h/2)){m_dwHeight/=2;}
+ m_bRenderTarget=true;
+
+ glBindTexture(GL_TEXTURE_2D,m_nTextureIndex);
+ if(bDepth)
+ {
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+ glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_FALSE);
+
+ do
+ {
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, m_dwWidth,m_dwHeight, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0);
+ bOk=(glGetError()==GL_NO_ERROR);
+ if(!bOk)
+ {
+ m_dwWidth/=2;m_dwHeight/=2;
+ }
+ }
+ while(!bOk && (m_dwWidth>1 || m_dwHeight>1));
+ }
+ else
+ {
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+ glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_FALSE);
+ do
+ {
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, m_dwWidth,m_dwHeight, 0,GL_RGBA, GL_UNSIGNED_BYTE, 0);
+ bOk=(glGetError()==GL_NO_ERROR);
+ if(!bOk){m_dwWidth/=2;m_dwHeight/=2;}
+ }
+ while(!bOk && (m_dwWidth>1 || m_dwHeight>1));
+ }
+ glBindTexture(GL_TEXTURE_2D, 0);
+ }
+ return bOk;
+}
+
+bool COpenGLTexture::CreatePBuffer(bool bDepth)
+{
+#ifdef WIN32
+ if(bDepth){return false;}
+
+ HDC hdc=wglGetCurrentDC();
+ HGLRC hrc=wglGetCurrentContext();
+
+ PIXELFORMATDESCRIPTOR pixelFormat={0};
+ pixelFormat.nSize = sizeof(PIXELFORMATDESCRIPTOR);
+
+ // se coge el formato de pixel mas adecuado con la descripcion anterior
+ if(m_nPBufferPixelFormatIndex==0)
+ {
+ int pFormatTypes[]={WGL_DRAW_TO_PBUFFER_EXT,TRUE,WGL_BIND_TO_TEXTURE_RGBA_ARB,TRUE,0,0};
+ int pFormats[1000]={0};
+ UINT nFormats=0;
+
+ wglChoosePixelFormatARB(hdc,pFormatTypes,NULL,1000,pFormats,&nFormats);
+
+ int nMinDepthBits=1000;
+ int nMaxDepthFormatIndex=-1;
+ for(unsigned x=0;x<nFormats;x++)
+ {
+ DescribePixelFormat(hdc,pFormats[x],sizeof(PIXELFORMATDESCRIPTOR), &pixelFormat);
+ if( pixelFormat.cColorBits == GetDeviceCaps(hdc,BITSPIXEL) && pixelFormat.cAlphaBits!=0 && pixelFormat.cDepthBits<nMinDepthBits)
+ {
+ nMinDepthBits=pixelFormat.cDepthBits;
+ nMaxDepthFormatIndex=pFormats[x];
+ }
+ }
+ if(nMaxDepthFormatIndex!=-1)
+ {
+ m_nPBufferPixelFormatIndex=nMaxDepthFormatIndex;
+ DescribePixelFormat(hdc,m_nPBufferPixelFormatIndex,sizeof(PIXELFORMATDESCRIPTOR), &pixelFormat);
+ int pnAttribs[]={WGL_TEXTURE_FORMAT_ARB,WGL_TEXTURE_RGBA_ARB,WGL_TEXTURE_TARGET_ARB,WGL_TEXTURE_2D_ARB,0,0};
+ int types[]={WGL_ACCELERATION_ARB,WGL_DRAW_TO_PBUFFER_ARB,0};
+ int values[]={0,0,0};
+ wglGetPixelFormatAttribivARB(hdc,m_nPBufferPixelFormatIndex,0,2,types,values);
+ m_hPBuffer = wglCreatePbufferARB( hdc, m_nPBufferPixelFormatIndex, m_dwWidth,m_dwHeight, pnAttribs);
+ if(m_hPBuffer){m_hPBufferDC = wglGetPbufferDCARB( m_hPBuffer );}
+ if(m_hPBufferDC){m_hPBufferRC = wglCreateContext( m_hPBufferDC);}
+ }
+ }
+ wglMakeCurrent(hdc,hrc);
+ if(m_hPBufferRC)
+ {
+ wglShareLists(hrc,m_hPBufferRC);
+ }
+ if(m_hPBufferRC)
+ {
+ // setup mutitexture 1 for window buffer
+ GLfloat bordercolor[]={1,1,1,1};
+ glActiveTexture(GL_TEXTURE1_ARB);
+ glEnable( GL_TEXTURE_2D );
+ glGenTextures(1,&m_nTextureIndex);
+ glBindTexture(GL_TEXTURE_2D,m_nTextureIndex);
+ glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
+ glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, bordercolor);
+ glActiveTexture(GL_TEXTURE0_ARB);
+ glBindTexture(GL_TEXTURE_2D,0);
+
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+#else
+ return false;
+#endif
+}
+
+bool COpenGLTexture::Create( unsigned nWidth,unsigned nHeight,IGenericViewport *piViewport)
+{
+ Clear();
+
+ int nMaxTextureSize=0;
+ glGetIntegerv(GL_MAX_TEXTURE_SIZE,&nMaxTextureSize);
+ if((int)m_dwWidth>nMaxTextureSize){m_dwWidth=nMaxTextureSize;}
+ if((int)m_dwHeight>nMaxTextureSize){m_dwHeight=nMaxTextureSize;}
+
+ m_sFileName="";
+ m_sAlphaFileName="";
+ m_bColorKey=false;
+ m_fOpacity=1.0;
+ m_dwWidth=nWidth;
+ m_dwHeight=nHeight;
+ m_bDepth=false;
+
+ bool bOk=false;
+ if(!bOk){bOk=CreateFrameBuffer(false);}
+ if(!bOk){bOk=CreatePBuffer(false);}
+ if(!bOk){bOk=CreateBackBuffer(false,piViewport);}
+ if(!bOk){Clear();}
+ return bOk;
+}
+
+bool COpenGLTexture::CreateDepth( unsigned nWidth,unsigned nHeight,IGenericViewport *piViewport)
+{
+ Clear();
+
+ m_sFileName="";
+ m_sAlphaFileName="";
+ m_bColorKey=false;
+ m_fOpacity=1.0;
+ m_dwWidth=nWidth;
+ m_dwHeight=nHeight;
+ m_bDepth=true;
+
+ bool bOk=false;
+ /* Don't support Depth texture for now
+ if(!bOk){bOk=CreateFrameBuffer(true);}
+ if(!bOk){bOk=CreatePBuffer(true);}
+ if(!bOk){bOk=CreateBackBuffer(true,piViewport);}
+ if(!bOk){Clear();}
+ */
+ return bOk;
+}
+
+bool COpenGLTexture::StartRenderingToTexture()
+{
+ // FrameBuffer Implementation
+ if(m_nFrameBuffer)
+ {
+ glPushAttrib(GL_ALL_ATTRIB_BITS);
+ glDisable(GL_SCISSOR_TEST);
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,m_nFrameBuffer);
+ return true;
+ }
+ else if(m_bDepth && m_nFrameBufferDepth)
+ {
+ glPushAttrib(GL_ALL_ATTRIB_BITS);
+ glDisable(GL_SCISSOR_TEST);
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,m_nFrameBufferDepth);
+ return true;
+ }
+#ifdef WIN32
+ // PBuffer Implementation
+ else if(m_hPBufferRC)
+ {
+ m_hPBufferOldDC=wglGetCurrentDC();
+ m_hPBufferOldRC=wglGetCurrentContext();
+
+ wglMakeCurrent(m_hPBufferDC,m_hPBufferRC);
+ return true;
+ }
+#endif
+ else if(m_bDepth)
+ {
+ glPushAttrib(GL_ALL_ATTRIB_BITS);
+ glDisable(GL_SCISSOR_TEST);
+ glClear(GL_DEPTH_BUFFER_BIT);
+ glColorMask(false,false,false,false);
+ glDepthMask(true);
+ }
+ else
+ {
+ glPushAttrib(GL_ALL_ATTRIB_BITS);
+ glDisable(GL_SCISSOR_TEST);
+ glClear(GL_DEPTH_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
+ glColorMask(true,true,true,true);
+ glDepthMask(true);
+ }
+ return false;
+}
+
+void COpenGLTexture::StopRenderingToTexture()
+{
+#ifdef WIN32
+ // PBuffer implementation
+ if(m_hPBufferRC)
+ {
+ wglMakeCurrent(m_hPBufferOldDC,m_hPBufferOldRC);
+ m_hPBufferOldDC=NULL;
+ m_hPBufferOldRC=NULL;
+ }
+ else
+#endif
+ // FrameBuffer Implementation
+ if(m_nFrameBuffer)
+ {
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,0);
+ glPopAttrib();
+ }
+ // FrameBuffer Implementation
+ else if(m_bDepth && m_nFrameBufferDepth)
+ {
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,0);
+ glPopAttrib();
+ }
+ else
+ {
+ int nPreviousTexture=0;
+ glGetIntegerv(GL_TEXTURE_BINDING_2D,&nPreviousTexture);
+ glBindTexture(GL_TEXTURE_2D, m_nTextureIndex);
+ glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, m_dwWidth, m_dwHeight);
+ glBindTexture(GL_TEXTURE_2D, nPreviousTexture);
+ glPopAttrib();
+ }
+}
+
+bool COpenGLTexture::PrepareTexture(IGenericRender *piRender,int nTextureLevel)
+{
+ bool bShader=piRender->IsRenderingWithShader();
+#ifdef WIN32
+ if(m_hPBuffer)
+ {
+ glActiveTexture(GL_TEXTURE0_ARB+nTextureLevel);
+ if(!bShader){glEnable(GL_TEXTURE_2D);}
+ wglBindTexImageARB(m_hPBuffer,WGL_FRONT_LEFT_ARB);
+ }
+ else
+#endif
+ if(m_nFrameBuffer)
+ {
+ glActiveTexture(GL_TEXTURE0_ARB+nTextureLevel);
+ if(!bShader){glEnable(GL_TEXTURE_2D);}
+ glBindTexture(GL_TEXTURE_2D,m_nTextureIndex);
+ }
+ else if(m_nFrameBufferDepth)
+ {
+ glActiveTexture(GL_TEXTURE0_ARB+nTextureLevel);
+ if(!bShader){glEnable(GL_TEXTURE_2D);}
+ glBindTexture(GL_TEXTURE_2D,m_nTextureIndex);
+ }
+ else
+ {
+ glActiveTexture(GL_TEXTURE0_ARB+nTextureLevel);
+ if(!bShader){glEnable(GL_TEXTURE_2D);}
+ glBindTexture(GL_TEXTURE_2D,m_nTextureIndex);
+ }
+ return true;
+}
+
+void COpenGLTexture::UnprepareTexture(IGenericRender *piRender,int nTextureLevel)
+{
+ bool bShader=piRender->IsRenderingWithShader();
+#ifdef WIN32
+ if(m_hPBuffer)
+ {
+ wglReleaseTexImageARB(m_hPBuffer,WGL_FRONT_LEFT_ARB);
+ glActiveTexture(GL_TEXTURE0_ARB+nTextureLevel);
+ if(!bShader){glDisable(GL_TEXTURE_2D);}
+ glBindTexture(GL_TEXTURE_2D,0);
+ }
+ else
+#endif
+ if(m_nFrameBuffer)
+ {
+ glActiveTexture(GL_TEXTURE0_ARB+nTextureLevel);
+ if(!bShader){glDisable(GL_TEXTURE_2D);}
+ glBindTexture(GL_TEXTURE_2D,0);
+ }
+ else if(m_nFrameBufferDepth)
+ {
+ glActiveTexture(GL_TEXTURE0_ARB+nTextureLevel);
+ if(!bShader){glDisable(GL_TEXTURE_2D);}
+ glBindTexture(GL_TEXTURE_2D,0);
+ }
+ else
+ {
+ glActiveTexture(GL_TEXTURE0_ARB+nTextureLevel);
+ if(!bShader){glDisable(GL_TEXTURE_2D);}
+ glBindTexture(GL_TEXTURE_2D,0);
+ }
+}
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..789068cbf212
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,86 @@
+# Contributor: Archadept
+# Revision: 2016-03-15
+
+# Package workarounds:
+# 1 Requires cmake2 to compile
+# Updating the code to current standards would be desirable
+# 2 Requires libpng14 to run
+# This one is fairly easy to fix since there is only couple of lines in one file in need of editing - OpenGLTexture.cpp
+# Unfortunately I know nothing about this changes so it remains not updated
+# 3 Game doesn't support saving settings in home directory (per user). On each run game default settings are restored
+# This is the biggest problem with it and the fix was moving configuration files to var and granting write permissions
+# to everyone to these files. It is the only possible solution without modifying the code
+
+# If you like this little game and know how to remedy any of the above problems by correcting actual application rather than
+# fixing them in PKGBUILD you are encourage to post them so the game could easily and flawlessly support linux
+
+
+pkgname=friking-shark-git
+_gitname=friking-shark
+pkgver=1.01beta
+pkgrel=1
+pkgdesc="Latest version of vertical shooter with upgrades to machine gun of a bomber fighter"
+arch=('x86_64')
+url="https://github.com/ptitSeb/friking-shark"
+license=('GPL3')
+makedepends=('git' 'cmake2')
+depends=('libxinerama' 'libxrandr' 'freealut' 'libvorbis' 'glu' 'libpng14')
+source=('git://github.com/ptitSeb/friking-shark.git' 'OpenGLTexture.cpp' 'CMakeCache.txt' 'frikingshark.desktop')
+md5sums=('SKIP' 'b4ff7a43dd97aa7a4f5158311ddf0e5f' '85b1db2d1cd093d9cfe769beb86a65a3' 'c6ae445d9227bd6b4c4e684ab6be73b0')
+
+build() {
+ cd "${srcdir}"
+
+ rm -rf ${srcdir}/$_gitname-build
+ cp -r ${_gitname} ${_gitname}-build || return 1
+
+ cp $srcdir/CMakeCache.txt $srcdir/${_gitname}-build/
+ cp $srcdir/OpenGLTexture.cpp $srcdir/${_gitname}-build/GameGraphics/
+ cp $srcdir/frikingshark.desktop $srcdir/${_gitname}-build/Demo/Linux/
+
+ cd ${_gitname}-build
+
+ cmake-2 ./
+ make -j 2
+}
+
+package () {
+ cd ${_gitname}-build
+
+ make DESTDIR="$pkgdir" install
+
+ cd $pkgdir
+
+ mkdir usr/bin
+ mkdir usr/share
+
+ mv usr/local/games/frikingshark usr/bin/
+ mv usr/local/share/frikingshark usr/share/
+ mv usr/local/share/applications usr/share/
+ mv usr/local/share/pixmaps usr/share/
+ mv usr/local/share/doc usr/share/
+
+ chmod 755 usr/bin/frikingshark
+
+ rm usr/local/share/menu/frikingshark
+
+ rmdir usr/local/share/menu
+ rmdir usr/local/games
+ rmdir usr/share/frikingshark/Resources/BSPDebugger
+ rmdir usr/share/frikingshark/Resources/IATestSystems
+ rmdir usr/local/share
+ rmdir usr/local
+
+ # Game settings saving workaround
+ # If for any reason you don't want it just comment it out by placing # mark at beginning of every line in section below
+ # Game settings save section >>
+ mkdir -p var/cache/frikingshark/
+
+ mv usr/share/frikingshark/Player/ var/cache/frikingshark/
+
+ ln -s /var/cache/frikingshark/Player usr/share/frikingshark/Player
+
+ chmod 666 var/cache/frikingshark/Player/HighScores.cfg
+ chmod 666 var/cache/frikingshark/Player/PlayerProfiles.cfg
+ # Game settings save section <<
+}
diff --git a/frikingshark.desktop b/frikingshark.desktop
new file mode 100644
index 000000000000..8e9123bea04f
--- /dev/null
+++ b/frikingshark.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=Friking Shark
+Comment=Flying Shark arcade remake
+Exec=frikingshark
+Terminal=false
+Type=Application
+Categories=Game;ArcadeGame;
+Icon=frikingshark