diff --git a/.gitmodules b/.gitmodules index 0399fb0..f58e697 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "ext/cAudio"] path = ext/cAudio - url = https://git.socialnerds.org/otto/caudio.git + url = https://git.socialnerds.org/gfxdev/caudio.git diff --git a/README.md b/README.md index 13db96f..9c05639 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # flasim -FlaSim is a mini game I did as a birthday party gag. It lets you manually control an anti-aircraft cannon with your joystick. Five jets are then randomly spawned (one after the other) as targets to be engaged by the player. There is a [blog post](https://polylux.eu/blog/4/) about the implementation aspects of the game. +FlaSim is a mini game I did as a birthday party gag. It lets you control an anti-aircraft cannon with your joystick. Five jets are then randomly spawned (one after the other) as targets to be engaged by the player. There is a [blog post](https://polylux.eu/blog/4/) about the implementation aspects of the game. ## Controls -You'll need a joystick to play the game. The game starts out with no enemies so you can get used to steering the cannons. Joystick button 1 fires, button 2 reloads the guns (15 seconds penalty). Pressing F9 activates the game mode which spawns a plane every 45 secs (so scan your horizon!), F10 quits game mode (same as when 'aircraft remain' is zero), F12 quits the game. +You'll need a joystick to play the game. The game starts out with no enemies so you can get used to steering the cannons. Joystick button 1 fires, button 2 reloads the guns (15 seconds penalty). Pressing `F9` activates the game mode which spawns a plane every 45 secs (so scan your horizon!), `F10` quits game mode (same as when 'aircraft remain' is zero), `F12` quits the game. Successfully engaging a plane rewards you with 1000 points plus bonus for the distance (the further out the more points). Relevant info is shown in the top-left corner. ## About the game @@ -14,15 +14,25 @@ About the visual content shown in the game: I did some parts myself (cannon mode ## Building flasim -Currently only *Linux* works, should have a Windows buildability *in a couple of days* (yea, sure). -The game uses the CMake build system. Make sure you have GCC, Irrlicht and OpenAL available on your system. +The game is confirmed to be building on Windows and Linux. Start out with cloning and fetching the submodules. -1. Fetch the submodules. -1. Very recent versions of CMake have issues with the dated config in *cAudio*. If it complains about *flasim* not being defined inside *cAudio* open `ext/cAudio/CMakeLists.txt` and head to line 29 and 30. Replace `${CMAKE_PROJECT_NAME}` by the word `cAudio`. -1. CMake & build *flasim* +## Linux +1. Make sure to have `cmake`, `gcc`, `irrlicht` and `openal` installed and ready. If your distro differentiates, pull the dev options for the latter two. +1. `cmake` flasim and build. +1. Done. -Questions? Reach me at otto@socialnerds.org +## Windows + +1. Have `cmake` installed. +1. Next we need the *irrlicht* dependency. Either build it yourself or clone the ready compiled [irrlicht-bin](https://git.socialnerds.org/otto/irrlicht-bin) repo somewhere close to *flasim* +1. For windows, the cmake config needs some extra locations. One is to tell *flasim* where to find *irrlicht*, one where to look for the *OpenAL* binary deps which are included in cAudio. A typical call to `cmake` would look like this (assuming *irrlicht* is just outside the *flasim* folder): `cmake -DIRRLICHT_INC_DIR=../irrlicht-bin/inc -DIRRLICHT_LIB_DIR=../irrlicht-bin/lib -DCAUDIO_DEPENDENCIES_DIR=ext/cAudio/Dependencies64 (...)` for a x64 build. +1. Build flasim using your favorite IDE or `nmake` +1. Once successfully through, manually copy over `Irrlicht.dll` from `irrlicht-bin` to `flasim/bin` and you're ready to launch. +1. Find out how many more steps were necessary compared to Linux. +1. Done. + +Questions? Reach me at otto socialnerds.org diff --git a/ext/cAudio b/ext/cAudio index a5db745..7a7993d 160000 --- a/ext/cAudio +++ b/ext/cAudio @@ -1 +1 @@ -Subproject commit a5db74568fb88e776b8937964bb16a1822242268 +Subproject commit 7a7993d722e102b6f48ee3510364e46b47fc2995