No history found.

README.md:

Confectioner Engine

This repository contains the engine and some permissively licensed third-party code.

Though Confectioner Engine is FLOSS (see: COPYING), Cave Confectioner's art, game assets, and IP are proprietary. This applies regardless of the licensing of the engine. Please don't name products "Cave Confectioner".

After compiling, place the "base" and "game" folders from a commercial Cave Confectioner release in this folder, then run the game.

Compiling

To be on the safe side, you should have a spare 2 GB of storage to build. The makefile uses wget to download compressed archives from the Internet: source code for GNU/Linux, binaries for Windows. Steam and Mac libraries currently must be downloaded manually if you target Steam or Mac.

Dependencies

  • A Unix-compatible environment (GNU/Linux, Mac, or possibly BSD)
  • GCC or Clang
  • MinGW (only if targeting Windows)
  • CMake
  • wget
  • tar
  • Boost (source downloaded automatically for any target platform, HUGE when extracted)
  • Poco is NOT used anymore, but its ghost floats around the code
  • OpenSSL 1.1 (system version used on GNU/Linux, downloaded for other platforms)
  • SDL 2.0.x (source optionally downloaded for GNU/Linux, binaries for Windows)
  • SDL's dependencies (only if building static for GNU/Linux, see below)

To install many of the core dependencies on Debian/Ubuntu/Mint/Trisquel:

sudo apt install build-essential libsdl2-dev
libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev
libxrandr-dev libxi-dev libasound2-dev libpulse-dev libudev-dev

To compile with static SDL2 and Boost on GNU/Linux, simply run make. The default DRM-free static executable is called cave-confec.

To compile with dynamic SDL2 on GNU/Linux (but still downloading and compiling Boost) run make confec-dynamic. The DRM-free dynamic executable is called confec-dynamic.

Read the makefile for other target platforms and configurations.

If you care to update non-executable dependencies, here is where to get them:

openjdk.pem

  • OpenJDK SSL trust store, which is used in the Windows build.
  • https://github.com/nabla-c0d3/trust_stores_observatory

gamecontrollerdb.txt

  • Used by SDL to recognize game controllers and assign mappings.
  • https://github.com/gabomdq/SDL_GameControllerDB

Tools used

These tools are used for programming and content creation. They are not needed for compilation, but you can use them to expand, rework, or mod the game.

  • Geany - code editing
  • Tiled - maps
  • GIMP - sprites
  • Audacity - audio

All of the tools are cross-platform and can be installed on free systems as well as Windows and Mac.

To install the tools on Debian/Ubuntu/Mint/Trisquel:

sudo apt install geany tiled gimp audacity

Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/mse/ConfectionerEngine

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/mse/ConfectionerEngine

Clone this repository using git:
git clone git://git.rocketgit.com/user/mse/ConfectionerEngine

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main