Update documentation

Added windows 10 (WSL) installation instructions and expanded linux instructions.
Clarified things in FAQ.md.
This commit is contained in:
mid-kid 2018-08-30 03:14:39 +02:00
parent a71b28e5b7
commit 1070115087
2 changed files with 129 additions and 37 deletions

17
FAQ.md
View File

@ -10,7 +10,9 @@
- ["Segmentation fault" from `rgbgfx`](#segmentation-fault-from-rgbgfx) - ["Segmentation fault" from `rgbgfx`](#segmentation-fault-from-rgbgfx)
- ["Section is too big" or "Unable to place section in bank"](#section-is-too-big-or-unable-to-place-section-in-bank) - ["Section is too big" or "Unable to place section in bank"](#section-is-too-big-or-unable-to-place-section-in-bank)
- ["Invalid file or object file version"](#invalid-file-or-object-file-version) - ["Invalid file or object file version"](#invalid-file-or-object-file-version)
- ["Syntax error"](#syntax-error)
- [How do I edit maps?](#how-do-i-edit-maps) - [How do I edit maps?](#how-do-i-edit-maps)
- [How do I edit the colors of an image?](#how-do-i-edit-the-colors-of-an-image)
- [How do I write new features?](#how-do-i-write-new-features) - [How do I write new features?](#how-do-i-write-new-features)
- [I need more help!](#i-need-more-help) - [I need more help!](#i-need-more-help)
@ -46,12 +48,27 @@ If you added or changed any code, it has to fit in the **memory banks**. The 2MB
Run `make clean` to remove all the old `o` files, then re-run `make`. Run `make clean` to remove all the old `o` files, then re-run `make`.
### "Syntax error"
You've made a mistake while writing some of the code. Re-read the modifications you've made to the file it complains about and try to compare them with other code.
If you're not using the latest version of [**rgbds**](https://github.com/rednex/rgbds/releases), update this as well. Don't forget to `make clean` afterwards.
## How do I edit maps? ## How do I edit maps?
For `asm` scripts, read [docs/map_event_scripts.md](docs/map_event_scripts.md). For `blk` layouts, try [Polished Map][polished-map] or [crowdmap][crowdmap]. For `asm` scripts, read [docs/map_event_scripts.md](docs/map_event_scripts.md). For `blk` layouts, try [Polished Map][polished-map] or [crowdmap][crowdmap].
## How do I edit the colors of an image?
Most `.png` images are paletted PNGs. You can edit these with any program that supports creating PNGs with palette information. These palettes should consist of exactly 4 colors. Additionally, for Pokémon images, the first color should be white, and the last black. Tools such as Paint and [GIMP](https://www.gimp.org/) will do the right job, while other tools such as Photoshop might mess it up and output palettes of 255 colors even though only using 4. You may try using tools like [GraphicsGale](https://graphicsgale.com/us/) or [IrfanView](https://www.irfanview.com/) to fix this, or sometimes resaving the image in Paint seems to help.
Some image `.png` files are greyscale. This indicates that even though these images do have proper colors in-game, they're shared with something else, and as such changing them will affect other things as well. Don't try opening the `.2bpp` files, these only contain the image data as well, not the palettes.
It really depends on what image you're trying to change the colors of, where these colors are specified. Try looking for related files or `.pal` files.
## How do I write new features? ## How do I write new features?
There are a number of special-purpose scripting languages, as described in [docs](docs/). For more general features, you'll need to code directly in assembly language. See [docs/assembly_programming.md](docs/assembly_programming.md). Some of the [tutorials][tutorials] may also be helpful. There are a number of special-purpose scripting languages, as described in [docs](docs/). For more general features, you'll need to code directly in assembly language. See [docs/assembly_programming.md](docs/assembly_programming.md). Some of the [tutorials][tutorials] may also be helpful.

View File

@ -6,63 +6,44 @@ These instructions explain how to set up the tools required to build.
If you run into trouble, ask for help on IRC or Discord (see [README.md](README.md)). If you run into trouble, ask for help on IRC or Discord (see [README.md](README.md)).
## Linux ## Windows 10
```bash Set up/install [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10).
sudo apt-get install make gcc bison git libpng-dev
git clone https://github.com/rednex/rgbds WSL has its own file system that's not accessible from Windows, but the Windows file system, *is* accessible from WSL. So you're going to want to install pokecrystal within the Windows file system.
cd rgbds
sudo make install
cd ..
git clone https://github.com/pret/pokecrystal The Windows `C:\` drive is called `/mnt/c/` in WSL. You will have to change the current working directory to within `/mnt/c/` every time you open WSL.
cd pokecrystal
For example, if you want your pokecrystal in `C:\Users\<user>\Desktop`:
```
cd /mnt/c/Users/<user>/Desktop
``` ```
To build **pokecrystal.gbc**: (Replace `<user>` with your username.)
```bash You will have to run this command each time you open WSL.
make
```
Follow [the instructions for Linux](#linux) to complete the installation.
## Mac If this doesn't work, try following the regular Windows installation instructions below.
In **Terminal**, run:
```bash
xcode-select --install
git clone https://github.com/rednex/rgbds
cd rgbds
sudo make install
cd ..
git clone https://github.com/pret/pokecrystal
cd pokecrystal
```
To build **pokecrystal.gbc**:
```bash
make
```
## Windows ## Windows
Download [**Cygwin**](http://cygwin.com/install.html): **setup-x86_64.exe** for 64-bit Windows, **setup-x86.exe** for 32-bit. Download [**Cygwin**](http://cygwin.com/install.html): **setup-x86_64.exe** for 64-bit Windows, **setup-x86.exe** for 32-bit.
Run setup and leave the default settings. At "Select Packages", choose to install the following: Run setup and leave the default settings. At "Select Packages", choose to install the following, all of which are in the "Devel" category:
- `make` - `make`
- `git` - `git`
- `gcc-core` - `gcc-core`
Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\Cygwin64\usr\local\bin**. Click once on the text that says "Skip" next to each package to select the most recent version to install.
**Note: If you have an older rgbds, you will need to update to 0.3.3 or newer.** Ignore this if you have never installed rgbds before. Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**.
**Note: If you have an older rgbds, you will need to update to 0.3.7 or newer.** Ignore this if you have never installed rgbds before.
In the **Cygwin terminal**, enter these commands: In the **Cygwin terminal**, enter these commands:
@ -71,6 +52,8 @@ git clone https://github.com/pret/pokecrystal
cd pokecrystal cd pokecrystal
``` ```
The files will be stored in **C:\cygwin64\home\<user>**.
To build **pokecrystal.gbc**: To build **pokecrystal.gbc**:
```bash ```bash
@ -82,3 +65,95 @@ To build **pokecrystal11.gbc**:
```bash ```bash
make crystal11 make crystal11
``` ```
## Mac
In **Terminal**, run:
```bash
xcode-select --install
git clone --depth=1 https://github.com/rednex/rgbds
cd rgbds
sudo make CFLAGS=-O2 install
cd ..
git clone https://github.com/pret/pokecrystal
cd pokecrystal
```
To build **pokecrystal.gbc**:
```bash
make
```
## Linux
### Install the required software
#### Debian/Ubuntu
```bash
sudo apt-get install make gcc bison git libpng-dev
git clone --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds CFLAGS=-O2 install
```
#### OpenSUSE
```bash
sudo zypper install make gcc bison git libpng16-devel
git clone --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds CFLAGS=-O2 install
```
#### Arch Linux
```bash
sudo pacman -S make gcc bison git libpng
git clone --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds CFLAGS=-O2 install
```
#### Termux
```bash
sudo apt install make clang git rgbds sed
```
#### Other distros
If your distro is not listed here, try to find the required software in the repositories:
- `make`
- `gcc` (or `clang`)
- `git`
- `rgbds`
To build `rgbds` from source, if not available for your distro, you need, additionally:
- `bison`
- `libpng` (and the development headers)
And run the following commands:
```bash
git clone --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds CFLAGS=-O2 install
```
### Download and build the code
```bash
git clone https://github.com/pret/pokecrystal
cd pokecrystal
```
To build **pokecrystal.gbc**:
```bash
make
```