mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2024-11-25 09:44:02 +00:00
Aquaria open source, forked from icculus.org due to inactivity. Has many enhancements compared to the official repo.
http://bit-blot.com/aquaria
fe0ab0418b
Mostly signed/unsigned comparisons. Also some bugs, but I don't remember where :D |
||
---|---|---|
Aquaria | ||
BBGE | ||
cmake/Modules | ||
ExternalLibs | ||
files | ||
game_scripts/_mods | ||
tools | ||
win | ||
.gitignore | ||
.travis.yml | ||
aquaria.ico | ||
aquaria.rc | ||
CMakeLists.txt | ||
CONTENT-LICENSE.txt | ||
COPYING.txt | ||
README.txt |
This folder contains all Aquaria sources and necessary build scripts. However, it does *not* contain any graphical file nor sound. If you want to play the game, you first need to buy the original full-featured version (http://www.bit-blot.com/aquaria/) and install it. Once you have done that, you need to build the files in this folder (see below for how to do that) and copy the resulting files to the place where you installed the original full-featured version. In case of problems, you can get support via IRC: #bitblot @ irc.esper.net. [1] BUILDING ------------ Follow these steps to build Aquaria. 1- Install required dependencies first. This includes a C++ compiler and a handful of libraries. Here is a list of the Debian names for some of these dependencies: build-essential cmake liblua5.1-0-dev libogg-dev libvorbis-dev libopenal-dev libsdl1.2-dev For Lua, libogg, and libvorbis the included versions can be used instead, thus a system-wide install of these libs is not required. 2- Create a sub-directory 'cmake-build' and move into it $ mkdir cmake-build $ cd cmake-build 3- run cmake $ cmake .. Alternatively, if you want to specifiy compile-time options: (See also [2] SETUP further down) $ ccmake .. 4- If you miss some dependencies, install them and run cmake again. Due to windows lacking package management, it is recommended to set all AQUARIA_INTERNAL_* cmake variables to TRUE for win32 builds, or for self-contained linux builds. 5- run make $ make 6- If everything went well, the 'aquaria' binary is now in the current directory (cmake-build). [2] SETUP --------- First, be sure you have an existing installation of Aquaria. This can be a Windows, Linux, or Mac OSX version, doesn't matter. Take this directory tree, showing the mandatory subdirs: Aquaria <--- this is the directory you want! | +--- data +--- gfx +--- mus +--- scripts +--- sfx +--- vox +--- ... There are three ways to setup Aquaria, you may choose the one that fits your intentions most: **** *** If you just want to get the thing working right now *** *** and don't care much about updating frequently *** **** After building, copy the executable to your aquaria root directory. Then copy all files inside the repo's "files" directory to your Aquaria root dir, replacing everything that exists. You should *not* remove any file from the Aquaria installation, just replace some of them with the versions included in the repo. /!\ Be careful if you do this on a Mac with finder because it replaces whole folders instead of just merging the new files in. You have been warned. Lastly, if you want to play the included default mods, copy game_scripts/_mods over your local _mods directory. **** *** If you want to hack on Aquaria or update frequently: *** **** * Linux/OSX: Set the AQUARIA_DATA_PATH environment variable to the installation directory as described above. E.g. add this line to your ~/.profile: export AQUARIA_DATA_PATH=~/games/Aquaria Alternatively, set the AQUARIA_DEFAULT_DATA_DIR compile time option when building with cmake. Then, go to $AQUARIA_DATA_PATH and create a symlink to the updated files directory: cd ~/games/Aquaria ln -s ~/code/Aquaria-repo/files override This will make sure that whenever you update the repo, the updated datafiles from the repo will be loaded instead of those that ship with the game. Lastly, if you want to play the included default mods, copy game_scripts/_mods over your local _mods directory. * Windows: You'll probably want to install something like this for symlink/junction support: --> http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html (You don't have to, but it's rather tedious to update everything by hand) Take all subdirs from the Aquaria root directory, and copy them into path/to/Aquaria-repo/bin, or whereever your compiler will output its executable. If you are able to, better create junctions to save space. Note that this will become your main working directory. Unfortunately you will have to use junctions to link the updated files. Create a junction in path/to/Aquaria-repo/bin that points to path/to/Aquaria-repo/files. Otherwise, if you don't use junctions, copy the files dir by hand should they change. You can either name it "override" and drop it into bin, or simply copy & replace its contents into bin if you don't mind keeping your data clean. Lastly, if you want to play the included default mods, copy game_scripts/_mods over your local _mods directory. **** *** If you're a Linux package maintainer *** **** I assume there is a package for e.g. the Humble Bundle version available; you'll want to make sure that the game path is fixed and the same on all user's installs when you set the following cmake options. Set the AQUARIA_DEFAULT_DATA_DIR cmake option to the game data dir as described above. Make sure your package includes all files from the repo's "files" directory. Set the AQUARIA_EXTRA_DATA_DIR cmake option to the directory where these extra files will be installed by the package. An example can be found here: https://aur.archlinux.org/packages/aquaria-git/ Using this package as data dependecy: https://aur.archlinux.org/packages/aquaria-data-hib/ You also need to make sure that the mod scripts in ~/.Aquaria/_mods/*/scripts/ are updated with those from the repo's game_scripts/_mods directory. If this doesn't apply to your setup, ask. [email, github, IRC, ...] [SDL 1.2 ONLY -- LINUX RUMBLE SUPPORT] --------------------------------------- SDL 1.2 does not support rumble features, even though Linux does. This feature will be added in SDL 1.3, which is still a long time coming. In the meantime there is a hackish rumble implementation for Linux that needs environment variables to be set that map joysticks via their indices to event devices. E.g. to map the first joystick to the event device "/dev/input/event6" you need to run aquaria like this: $ export AQUARIA_EVENT_JOYSTICK0=/dev/input/event6 $ aquaria Because aquaria is a single player game you never need to map another joystick than the first one. Also keep in mind that your joystick event device has another path. E.g. I use this command to run aquaria: $ export AQUARIA_EVENT_JOYSTICK0=/dev/input/by-id/usb-©Microsoft_Corporation_Controller_0709960-event-joystick $ aquaria