diff --git a/CMakeLists.txt b/CMakeLists.txt index 3865e9b..7c93540 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,10 +39,11 @@ mark_as_advanced(_CXX_FILESYSTEM_HAVE_HEADER) mark_as_advanced(_CXX_FILESYSTEM_HAVE_EXPERIMENTAL_HEADER) # Dependencies -find_package(SDL2 REQUIRED) -find_package(fmt REQUIRED) -find_package(OpenAL REQUIRED) #find_package(openal-soft CONFIG REQUIRED) -find_package(Bullet REQUIRED) +find_package(SDL2 REQUIRED) # https://www.libsdl.org +find_package(fmt REQUIRED) # https://fmt.dev +find_package(OpenAL REQUIRED) #find_package(openal-soft CONFIG REQUIRED) # https://github.com/kcat/openal-soft +find_package(Bullet REQUIRED) # http://www.bulletphysics.com/Bullet/ +find_package(glm REQUIRED) # http://glm.g-truc.net # Setup an interface library for Bullet, this allows us to target Debug/Release configurations properly. # This should be resolved once https://github.com/microsoft/vcpkg/pull/9098 is merged. diff --git a/README.md b/README.md index b5a2374..b42df18 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ You still need to have the original game assets in order to use this. -# Building +## Building Clone the code using: `git clone --recursive https://github.com/plowteam/donut.git` @@ -32,7 +32,7 @@ Linux:~/$ ./vcpkg install sdl2 bullet3 openal-soft fmt If you don't want to use vcpkg; CMake will fallback on installed system dependencies, or manually specified package directories. -## Windows +### Windows * Install [Visual Studio 2019](https://visualstudio.microsoft.com/downloads/) * Install [CMake](https://cmake.org/download/) @@ -47,7 +47,7 @@ cd donut cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows ``` -## Linux +### Linux *Note: These instructions are for Ubuntu, but can be easily applied to other distros.* @@ -61,6 +61,10 @@ cmake --build build -j 5 **Mesa drivers on Linux:** if you are trying to run with Mesa drivers and are getting issues with OpenGL context try messing with `MESA_GL_VERSION_OVERRIDE` when running like so: `MESA_GL_VERSION_OVERRIDE=4.3FC MESA_GLSL_VERSION_OVERRIDE=430 bin/donut` +## Running + +The binary called `donut` should be launched from the root of the original game deployment (similar to original `Simpsons` binary). Additional assets from the `assets` source directory (both `windows` and `shaders`) should also be copied to the root of the original game deployment. + ## Docs * [Chunks](dev/Chunks.md) * [Commands](dev/Commands.md) diff --git a/src/Character.cpp b/src/Character.cpp index df957d2..b85f4b1 100644 --- a/src/Character.cpp +++ b/src/Character.cpp @@ -41,7 +41,7 @@ void Character::LoadModel(const std::string& name) case P3D::ChunkType::Texture: Game::GetInstance().GetResourceManager().LoadTexture(*P3D::Texture::Load(*chunk)); break; case P3D::ChunkType::PolySkin: _skinModel->LoadPolySkin(*P3D::PolySkin::Load(*chunk)); break; case P3D::ChunkType::Skeleton: _skeleton = std::make_unique(*P3D::Skeleton::Load(*chunk)); break; - default: fmt::print("unhandled chunk {1} in character {0}\n", name, chunk->GetType()); break; + default: fmt::print("unhandled chunk {1} in character {0}\n", name, fmt::underlying(chunk->GetType())); break; } } } diff --git a/src/Core/MemoryStream.h b/src/Core/MemoryStream.h index 82ece52..57115b5 100644 --- a/src/Core/MemoryStream.h +++ b/src/Core/MemoryStream.h @@ -5,6 +5,7 @@ #include #include #include +#include namespace Donut {