diff --git a/CHANGELOG.md b/CHANGELOG.md index 448de14e..e5c1a52b 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -199,3 +199,18 @@ All notable changes to this project will be documented in this file. - Added new Scripts and updated other. - Additional light sources for XPLUS also. - Restored the original menu design as in TFE (grid, clouds and so on). + +## 2023-10-27 - 2023-11-28 +- Added vkEnumerateInstanceExtensionProperties. + Replaced SDL_Vulkan_GetInstanceExtensions with vkEnumerateInstanceExtensionProperties. +- Removed hard preset Instance Extensions for Windows. +- Fixed SetCurrentViewport_Vulkan function and some warnings. +- Fix Debug install sections. +- Fixed delay in LimitFrameRate function. + Look here: https://forum.ubuntu.ru/index.php?topic=320015.msg2489163#msg2489163 +- Added OpenBSD support. +- Added searching library libvorbisfile for BSD platforms. +- Added install to system for FreeBSD and OpenBSD. +- Added templates for FreeBSD and OpenBSD for build package. +- Made many corrections in the code regarding compiler warnings. +- Added man pages for.for FreeBSD and OpenBSD. diff --git a/README.md b/README.md index 75f429e7..b5568c6e 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,7 @@ cmake .. make -j4 make install ``` +If you prefer **ninja**, then add key **-GNinja** to the cmake. And replace the **make** command with **ninja**. ### Ubuntu Instead of building you can install packages from ppa by adding ppa:tx00100xt/serioussam to your system's Software Sources. @@ -156,6 +157,8 @@ cmake .. make -j4 make install ``` +If you prefer **ninja**, then add key **-GNinja** to the cmake. And replace the **make** command with **ninja**. +For **i386** architecture, add key **-DUSE_I386_NASM_ASM=ON** to **cmake**. To build a binary package for installation on the system, you can use the template: https://github.com/tx00100xt/SeriousSamClassic-VK/tree/main/templates @@ -189,18 +192,8 @@ cmake .. make -j4 make install ``` -#### Building for i386 (for SS:TFE and SS:TSE) - -Type this in your terminal: - -``` -cd SeriousSamClassic-VK -mkdir build -cd build -cmake .. -DCMAKE_C_FLAGS=-mmmx -DCMAKE_CXX_FLAGS=-mmmx -DUSE_ASM=TRUE -DUSE_I386_NASM_ASM=TRUE -make -j4 -make install -``` +If you prefer **ninja**, then add key **-GNinja** to the cmake. And replace the **make** command with **ninja**. +For **i386** architecture, add key **-DUSE_I386_NASM_ASM=ON** to **cmake**. To build a binary package for installation on the system, you can use the template: https://github.com/tx00100xt/SeriousSamClassic-VK/tree/main/templates @@ -212,8 +205,8 @@ sudo pkgin install cmake nasm bison SDL2 libogg libvorbis ``` NetBSD does not have Vulkan support, so you need to disable its dependencies when building. To do this, use the argument **-DUSE_SYSTEM_VULKAN=FALSE** for the **cmake**. +For **i386** architecture, add key **-DUSE_I386_NASM_ASM=ON** to **cmake**. The **i386** version will only work with **sysctl -w security.pax.mprotect.global=0** -Also don’t forget to add the path **/usr/pkg/lib** to **LD_LIBRARY_PATH**. The rest is the same as described for the OpenBSD. ### macOS diff --git a/templates/freebsd/ports/serioussam-vk/Makefile b/templates/freebsd/ports/serioussam-vk/Makefile index a17f57fd..fb3d66f2 100644 --- a/templates/freebsd/ports/serioussam-vk/Makefile +++ b/templates/freebsd/ports/serioussam-vk/Makefile @@ -16,7 +16,9 @@ LICENSE_FILE= ${WRKSRC}/LICENSE # Building code for them workd. # Work on real hardware has been # tested for architectures: armv7 aaarch64 under Linux -ONLY_FOR_ARCHS= amd64 i386 +# When testing i386 on Virtualbox, image artifacts were sometimes observed. +# Perhaps everything will be fine on real hardware. +ONLY_FOR_ARCHS= amd64 BUILD_DEPENDS= flex:textproc/flex \ vulkan-headers>0:graphics/vulkan-headers \ @@ -52,11 +54,10 @@ post-install: #CMAKE_ON= RPI4 #.endif -.if ${ARCH} == i386 -CMAKE_ON= USE_I386_NASM_ASM -BUILD_DEPENDS+= nasm:devel/nasm -CFLAGS+= -mmmx -CXXFLAGS+= -mmmx -.endif +# Unocmment this for i386 architecture +#.if ${ARCH} == i386 +#CMAKE_ON= USE_I386_NASM_ASM +#BUILD_DEPENDS+= nasm:devel/nasm +#.endif .include diff --git a/templates/freebsd/ports/serioussam-vk/files/patch-SamTFE_Sources_CMakeLists.txt b/templates/freebsd/ports/serioussam-vk/files/patch-SamTFE_Sources_CMakeLists.txt deleted file mode 100644 index e2aad7cc..00000000 --- a/templates/freebsd/ports/serioussam-vk/files/patch-SamTFE_Sources_CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ ---- SamTFE/Sources/CMakeLists.txt.orig 2023-11-16 16:32:55 UTC -+++ SamTFE/Sources/CMakeLists.txt -@@ -265,9 +265,9 @@ - add_compile_options(-mpowerpc64) - else() - if(LOCAL_INSTALL) -- add_compile_options(-march=native) -+ add_compile_options(-mtune=generic) - elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i586|i686|x86|AMD64|x86_64") -- add_compile_options(-march=native) # set mtune=generic if nedded -+ add_compile_options(-mtune=generic) # set mtune=generic if nedded - endif() - endif() - endif diff --git a/templates/freebsd/ports/serioussam-vk/files/patch-SamTSE_Sources_CMakeLists.txt b/templates/freebsd/ports/serioussam-vk/files/patch-SamTSE_Sources_CMakeLists.txt deleted file mode 100644 index 6c139074..00000000 --- a/templates/freebsd/ports/serioussam-vk/files/patch-SamTSE_Sources_CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ ---- SamTSE/Sources/CMakeLists.txt.orig 2023-11-16 16:32:55 UTC -+++ SamTSE/Sources/CMakeLists.txt -@@ -265,9 +265,9 @@ - add_compile_options(-mpowerpc64) - else() - if(LOCAL_INSTALL) -- add_compile_options(-march=native) -+ add_compile_options(-mtune=generic) - elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i586|i686|x86|AMD64|x86_64") -- add_compile_options(-march=native) # set mtune=generic if nedded -+ add_compile_options(-mtune=generic) # set mtune=generic if nedded - endif() - endif() - endif diff --git a/templates/openbsd/ports/serioussam-vk/Makefile b/templates/openbsd/ports/serioussam-vk/Makefile index eeb7954a..9b222baa 100644 --- a/templates/openbsd/ports/serioussam-vk/Makefile +++ b/templates/openbsd/ports/serioussam-vk/Makefile @@ -56,13 +56,12 @@ NO_TEST = Yes #.endif .if ${MACHINE_ARCH} == amd64 -CONFIGURE_ARGS += -DUSE_ASM=ON CXXFLAGS += -Wno-nullability-completeness .endif .if ${MACHINE_ARCH}== i386 CXXFLAGS += -Wno-nullability-completeness -CONFIGURE_ARGS += -DUSE_ASM=ON -DUSE_I386_NASM_ASM=ON +CONFIGURE_ARGS += -DUSE_I386_NASM_ASM=ON .endif post-install: diff --git a/templates/openbsd/ports/serioussam-vk/patches/patch-SamTFE_Sources_CMakeLists.txt b/templates/openbsd/ports/serioussam-vk/patches/patch-SamTFE_Sources_CMakeLists.txt deleted file mode 100644 index e2aad7cc..00000000 --- a/templates/openbsd/ports/serioussam-vk/patches/patch-SamTFE_Sources_CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ ---- SamTFE/Sources/CMakeLists.txt.orig 2023-11-16 16:32:55 UTC -+++ SamTFE/Sources/CMakeLists.txt -@@ -265,9 +265,9 @@ - add_compile_options(-mpowerpc64) - else() - if(LOCAL_INSTALL) -- add_compile_options(-march=native) -+ add_compile_options(-mtune=generic) - elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i586|i686|x86|AMD64|x86_64") -- add_compile_options(-march=native) # set mtune=generic if nedded -+ add_compile_options(-mtune=generic) # set mtune=generic if nedded - endif() - endif() - endif diff --git a/templates/openbsd/ports/serioussam-vk/patches/patch-SamTSE_Sources_CMakeLists.txt b/templates/openbsd/ports/serioussam-vk/patches/patch-SamTSE_Sources_CMakeLists.txt deleted file mode 100644 index 6c139074..00000000 --- a/templates/openbsd/ports/serioussam-vk/patches/patch-SamTSE_Sources_CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ ---- SamTSE/Sources/CMakeLists.txt.orig 2023-11-16 16:32:55 UTC -+++ SamTSE/Sources/CMakeLists.txt -@@ -265,9 +265,9 @@ - add_compile_options(-mpowerpc64) - else() - if(LOCAL_INSTALL) -- add_compile_options(-march=native) -+ add_compile_options(-mtune=generic) - elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i586|i686|x86|AMD64|x86_64") -- add_compile_options(-march=native) # set mtune=generic if nedded -+ add_compile_options(-mtune=generic) # set mtune=generic if nedded - endif() - endif() - endif