Add README

This commit is contained in:
ISSOtm
2018-10-19 02:30:30 +02:00
parent af10b29f87
commit db344c6264

View File

@@ -1,2 +1,24 @@
# gb-boilerplate
A customizable, ready-to-compile boilerplate for Game Boy RGBDS projects.
## Downloading
You can simply clone the repository using Git, or if you just want to download this, click the green `Clone or download` button up and to the right of this.
## Setting up
Make sure you have [RGBDS](https://github.com/rednex/rgbds) and Make installed. (GNU Make might be a requirement, but I'm not sure.) Python 3 is required for some tools.
## Customizing
Edit `Makefile.conf` to customize most things specific to the project (like the game name, file name and extension, etc.). Everything is commented.
Everything in the `src` folder is the source, and can be freely modified however you want. The basic structure in place should hint you at how things are organized. If you want to create a new "module" (such as the existing `home`, `engine`, `memory`...), you simply need to drop a `.asm` file in the `src` directory (name does not matter). All files in that root directory will be compiled individually.
The file at `src/res/build_date.asm` is compiled individually to include a build date in your ROM. Always comes in handy, and also displayed in the bundled error screen.
If you want to add resources, I recommend using the `res` folder: create one folder per resource, create a `Makefile` inside, and have it explain how to generate the needed resource. (Most likely a binary file.) If file `foo.bar` exists, a built-in rule exists to generate `foo.bar.pb16`, by compressing the file using PB16 (a variation of [PackBits](https://wiki.nesdev.com/w/index.php/Tile_compression#PackBits).
## Compiling
Simply put yourself in the root directory of this project, and run the command `make`. This should create a bunch of things, including the output in the `bin` folder.
If you get errors that you don't understand, try running `make clean`. If that gives the same error, try deleting the `deps` folder. If that still doesn't work, try deleting the `bin` and `obj` folders as well. If that still doesn't work, you probably did something wrong yourself.