- C++ 71.9%
- C 20.1%
- ZenScript 5.8%
- Yacc 0.6%
- CMake 0.5%
- Other 0.8%
* split frame info calculation from RenderFrameModels
* clean up fvec4 being used as quat in iqms
* initial work on bone setting
* implement bone setters
* clean up FindModelFrame
* refactor model overrides into its own function
* refactor frame rendering into RenderModelFrame
* split frame processing into ProcessModelFrame
* refactor BoneOverride in preparation for translation/scale overrides
* clean up macros
* SetBoneTranslation/SetBoneScaling
* GetBoneOffset
* fix compilation on linux/mac (fuck you MSVC)
* fix typo 😅
* make sure bone overrides are cleared on model switches, add ClearBoneOffsets to clear them manually
* bone info getters
* fix joint lengths, add joint dirs
* serialize bone overrides
* fix bone dir return type
* GetBoneIndex/GetBoneCount
* helper functions for working with non-quat angles
* add mode enum, add more helper functions
* fix up formatting
|
||
|---|---|---|
| .github/workflows | ||
| bin | ||
| cmake | ||
| docs | ||
| fm_banks | ||
| libraries | ||
| soundfont | ||
| specs | ||
| src | ||
| tools | ||
| unused | ||
| wadsrc | ||
| wadsrc_bm | ||
| wadsrc_extra | ||
| wadsrc_lights | ||
| wadsrc_widepix | ||
| .gitattributes | ||
| .gitignore | ||
| AppImageBuilder.yml | ||
| CMakeLists.txt | ||
| LICENSE | ||
| options.checklist | ||
| README.md | ||
| vcpkg.json | ||
Welcome to VKDoom!
VKDoom is a source port based on the DOOM engine with a focus on Vulkan and modern computers.
Please see license files for individual contributor licenses.
Visit our website for more details.
Releases
We do not have any official release of VKDoom yet. You can however download a binary build of the latest master branch commit at https://github.com/dpjudas/VkDoom/releases/tag/nightly
Build Guide
Prep
For Windows, you need the latest version of Visual Studio, Windows SDK, Git, and CMake to build VKDoom.
For Linux, you need the following:
- libsdl2-dev
- libopenal-dev
- libvpx-dev
- git
- cmake
For Mac, the following project is recommended, as it contains all the dependencies and makes building easy: https://github.com/ZDoom/zdoom-macos-deps
Clone the repo
After you have the packages installed, cd into your projects directory, and do the following to clone:
git clone https://github.com/dpjudas/VkDoom
Afterwards, cd into it
cd VkDoom
Make a build folder, then cd into it
mkdir build
cd build
Building
Windows
For Windows, run the following to prepare your build environment and the second command will build:
cmake -A x64 ..
cmake --build . --config Release -- -maxcpucount
(replace x64 with ARM64 if you're building on ARM64)
Linux - Ninja (Recommended)
For 'ninja', make sure the ninja package is installed on your distro (ex: Debian: sudo apt install ninja) - then run the following to prepare your build environment and the second command will build:
cmake .. -DCMAKE_BUILD_TYPE=Release -G Ninja
cmake . --build
Linux - Make
For 'make', run the following to prepare your build environment and the second command will build:
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j $(nproc)
Mac OS
For Mac, if you're using zdoom-macos-deps, simply cd into it and type the following:
./build.py --target vkdoom