Before building for either GBA or Linux, you need to follow the instructions here:
First, you need CMake 3.15 or newer, make, and libpng 1.6. For example:
sudo apt install cmake build-essential libpng-dev
Then, clone the repository of this game, and the repositories of UGBA, UMOD Player and SuperFamiconv:
git clone https://github.com/AntonioND/ucity-advance
git clone https://github.com/AntonioND/ugba
git clone https://github.com/AntonioND/umod-player
git clone https://github.com/Optiroc/SuperFamicon
Build SuperFamiconv:
cd SuperFamiconv
mkdir build && cd build && cmake .. && make -j`nproc`
cd ..
Build the packer used by UMOD Player:
cd umod-player
mkdir build && cd build && cmake .. && make -j`nproc`
cd ../..
Finally, convert the assets of the game:
cd ucity-advance
bash assets.sh
First, you need to install devkitPro. Follow the instructions in the following link to install it in your system: https://devkitpro.org/wiki/Getting_Started
Build the library files of UGBA and the UMOD Player:
cd ugba/library && make -j`nproc` && cd ../..
cd umod-player/player && make -j`nproc` && cd ../..
Finally, build the game:
cd ucity-advance && make -j`nproc`
If you have devkitPro with grit in your system, it should be enough to do this:
cd ucity-advance
mkdir build && cd build && cmake .. && make -j`nproc`
If you don't install devkitPro because you only want to build the PC executables, you still need to get Grit to convert the graphics into the right format for the GBA: https://github.com/devkitPro/grit/releases
You'll need to make sure that CMake can find it by adding it to your system's
PATH
environment variable. If you have installed devkitPro, the build system
should be able to find the Grit executable installed by it. If you don't want to
have it in your PATH
, you can also set the GRIT_PATH
variable when
invoking cmake: cmake .. -DGRIT_PATH=/path/to/grit/folder/
If a tileset is modified, for example, it is needed to regenerate assets.
Install Tiled. Then run:
bash gen_maps.sh
It isn't needed to do this as part of the build process, the resulting files are included in the repository.