2D Run-and-gun shooter inspired by One Man's Doomsday, Counter-Strike, and Metal Slug.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
TheoryOfNekomata 8ea5d36a6b Update configs 1 year ago
__mocks__ Extract config code 1 year ago
__tests__/src/packages/game Organize codebase 1 year ago
assets Add GUID config handling, refine gamepad 1 year ago
assets_src Update weapon sprites 1 year ago
docs Update weapon data 1 year ago
src/packages Update configs 1 year ago
subprojects Update configs 1 year ago
tools Fix test client 1 year ago
.editorconfig Organize test fixtures 2 years ago
.gitignore Add build scripts for Windows 1 year ago
.gitmodules Remove minIni direct dependency 1 year ago
00-generate-cmake-cache-x64 Update scripts 1 year ago
00-generate-cmake-cache-x64.bat Update scripts 1 year ago
01-build-executable Fix logging 1 year ago
01-build-executable.bat Update scripts 1 year ago
CMakeLists.txt Extract config code 1 year ago
README.md Update README 1 year ago
TODO.md Update TODO 1 year ago

README.md

izanagi

A run-and-gun shooter inspired by Metal Slug and Counter-Strike.

Setup

For Windows, it is recommended to use Chocolatey for retrieving the required tools. Use Homebrew for macOS instead.

For *NIX, use whatever dependency manager you prefer.

The following are required for building on all platforms:

  • CMake
  • Ninja
  • Clang

Windows

  1. Install the Windows SDK.

  2. Ensure your environment variables are set up.

    Important: Set your CC environment variable to the full path of clang-cl.exe

    Important: Set your CMAKE_MT environment variable to the full path of mt.exe, which can be found on your Windows SDK installation folder (usually C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/mt.exe)

  3. Clone this repo recursively.

  4. Build the dependencies under subprojects. Follow the instructions on building for Visual C.

    Important: For libwebsockets, follow the instructions on building LWS.

  5. Generate the CMake cache.

    cmake^
      -DCMAKE_SIZEOF_VOID_P=8^
      "-DCMAKE_MT=%CMAKE_MT%"^
      "-DCMAKE_BUILD_TYPE=%BUILD_TYPE%"^
      -DCMAKE_MAKE_PROGRAM=ninja^
      -DCMAKE_C_COMPILER=clang-cl^
      -DCMAKE_C_FLAGS=-m64^
      -G Ninja^
      -S .^
      -B "./build/%BUILD_TYPE%"
    

    Important: Create the directories under /build per each BUILD_TYPE you are generating.

  6. Build the specific executables you want to build, which are defined in CMakeLists.txt.

    cmake^
      --build "./build/%BUILD_TYPE%"^
      -t "%EXECUTABLE%"
    

macOS/*NIX

  1. Ensure additional tools are present in the system:

    • autoconf
    • make
    • libtool (*NIX only)
  2. Clone this repo recursively.

  3. Build the dependencies under subprojects. Follow the instructions on building for *NIX (macOS should have similar instructions for *NIX).

  4. Generate the CMake cache.

    cmake \
      -DCMAKE_SIZEOF_VOID_P=8 \
      "-DCMAKE_BUILD_TYPE=$BUILD_TYPE" \
      -DCMAKE_MAKE_PROGRAM=ninja \
      -DCMAKE_C_COMPILER=cc \
      -DCMAKE_C_FLAGS=-m64 \
      -G Ninja \
      -S . \
      -B "./build/$BUILD_TYPE"
    

    Important: Create the directories under /build per each BUILD_TYPE you are generating.

  5. Build the specific executables you want to build, which are defined in CMakeLists.txt.

    cmake \
      --build "./build/$BUILD_TYPE" \
      -t "$EXECUTABLE"