-
Notifications
You must be signed in to change notification settings - Fork 11
How to build and setup on FreeBSD.md
sudo pkg install -y bison flex sdl2 libogg libvorbis zlib-ng cmake vulkan-headers
bash
git clone https://github.com/tx00100xt/SeriousSamClassic-VK.git
git clone https://github.com/tx00100xt/SeriousSamAlphaRemake.git
wget https://archive.org/download/serious-sam-alpha-remake-data/SeriousSamAlphaRemake_v1.5.tar.xz
tar xJvf SeriousSamAlphaRemake_v1.5.tar.xz -C SeriousSamClassic/SamTFE
or
for var in a b c d; do wget https://github.com/tx00100xt/serioussam-mods/raw/main/SamTFE-SSA/SeriousSamAlphaRemake_v1.5.tar.xz.parta$var; done; cat SeriousSamAlphaRemake_v1.5.tar.xz.part* > SeriousSamAlphaRemake_v1.5.tar.xz
tar -xJvpf SeriousSamAlphaRemake_v1.5.tar.xz -C SeriousSamClassic-VK/SamTFE
wget https://archive.org/download/sam-tfe-xplus/SamTFE-XPLUS.tar.xz
tar -xJvpf SamTFE-XPLUS.tar.xz -C SeriousSamClassic-VK/SamTFE
wget https://archive.org/download/sam-tse-xplus/SamTSE-XPLUS.tar.xz
tar -xJvpf SamTSE-XPLUS.tar.xz -C SeriousSamClassic-VK/SamTSE
or
for var in a b c; do wget https://github.com/tx00100xt/serioussam-mods/raw/main/SamTFE-XPLUS/SamTFE-XPLUS.tar.xz.parta$var; done; cat SamTFE-XPLUS.tar.xz.part* > SamTFE-XPLUS.tar.xz
tar -xJvpf SamTFE-XPLUS.tar.xz -C SeriousSamClassic-VK/SamTFE
for var in a b c; do wget https://github.com/tx00100xt/serioussam-mods/raw/main/SamTSE-XPLUS/SamTSE-XPLUS.tar.xz.parta$var; done; cat SamTSE-XPLUS.tar.xz.part* > SamTSE-XPLUS.tar.xz
tar -xJvpf SamTSE-XPLUS.tar.xz -C SeriousSamClassic-VK/SamTSE
If you are building for everyone, then you need to replace -march=native to mtune=generis in the CMakeLists.txt file
cd SeriousSamClassic-VK/SamTFE/Sources
awk '{sub("-march=native","-mtune=generic")}1' CMakeLists.txt > CmakeTemp.txt && mv CmakeTemp.txt CMakeLists.txt
cd ../../../
cd SeriousSamClassic/SamTSE/Sources
awk '{sub("-march=native","-mtune=generic")}1' CMakeLists.txt > CmakeTemp.txt && mv CmakeTemp.txt CMakeLists.txt
cd ../../../
cd SeriousSamAlphaRemake/Sources
awk '{sub("-march=native","-mtune=generic")}1' CMakeLists.txt > CmakeTemp.txt && mv CmakeTemp.txt CMakeLists.txt
cd ../../
cd SeriousSamClassic-VK
mkdir build
mkdir build-xplus
cd build
cmake ..
make -j8
make install
cd ..
cd build-xplus
cmake -DXPLUS=TRUE ..
make -j8
make install
cd SeriousSamAlphaRemake/Sources
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DTFE=TRUE ..
make ecc
make -j8
Place the resulting libraries libEntities.so and libGame.so from build/Debug into the SamTFE/Mods/SSA/Bin folder
cp -vfr Debug/libEntities.so ../../Mods/SSA/Bin
cp -vfr Debug/libGame.so ../../Mods/SSA/Bin
cd ../../../../
To start the game, you'll need the original resurces of a licensed copy of Serious Sam: The First Encounter and Serious Sam: The Second Encounter.
If you have a digital copy of the game on Steam then the resources can be found in ~/.local/share/Steam/steamapps/common/Serious Sam Classic The Second Encounter/ (the default Steam game installation directory on Linux).
cd SeriousSamClassic-VK
rsync --progress -rh "$HOME/.local/share/Steam/steamapps/common/Serious Sam Classic The First Encounter/" SamTFE
rsync --progress -rh "$HOME/.local/share/Steam/steamapps/common/Serious Sam Classic The Second Encounter/" SamTSE
rm -fr "SamTFE/Bin/"{*.exe,*.dll,*.EXE,*.DLL}
rm -fr "SamTSE/Bin/"{*.exe,*.dll,*.EXE,*.DLL}
If you bought a digital on GOG, you can unpack the resources with the innoextract CLI tool. To install innoextract via your package manager, run:
sudo pkg install -y innoextract
Copy files "setup_serious_sam_the_first_encounter_2.0.0.10.exe" and "setup_serious_sam_the_second_encounter_2.1.0.8.exe" to a directory SeriousSamClassic-VK and run the following commands:
cd SeriousSamClassic-VK
innoextract --gog setup_serious_sam_the_first_encounter_2.0.0.10.exe
cp -vfr "app/"{*.gro,Levels,Help} SamTFE
rm setup_serious_sam_the_first_encounter_2.0.0.10.exe
rm -rf app
rm -rf tmp
innoextract --gog setup_serious_sam_the_second_encounter_2.1.0.8.exe
cp -vfr "app/"{*.gro,Levels,Help} SamTSE
rm setup_serious_sam_the_first_encounter_2.0.0.10.exe
rm -rf app
rm -rf tmp
rm -rf commonappdata
If you bought a physical copy of the game and you have an ISO of your disk, you can unpack the resources with the any archive manager. Game resources are located in the Install directory of the disk. Just copy all the *.gro files from there, as well as the Levels directory to directories SeriousSamClassic-VK/SamTFE and SeriousSamClassic-VK/SamTSE, respectively, for games Serious Sam: The First Encounter and Serious Sam: The Second Encounter.
To start the game, use the script:
bash run_game.sh
or
bash run_game_hud.sh
if you need to monitor MangoHUD.