Update FAQ

This commit is contained in:
Rangi 2018-07-15 19:52:11 -04:00
parent dba7f59d83
commit a02da98cec

36
FAQ.md
View File

@ -4,9 +4,12 @@
## Questions ## Questions
- [What is pokecrystal11.gbc?](#what-is-pokecrystal11gbc) - [What is pokecrystal11.gbc?](#what-is-pokecrystal11gbc)
- [Can't build ROM; "ERROR: `UNION` already defined"](#cant-build-rom-error-union-already-defined) - [I can't build the ROM, `make` just prints an error!](#I-cant-build-the-rom-make-just-prints-an-error)
- [Can't build ROM; "Segmentation fault" from `rgbgfx`](#cant-build-rom-segmentation-fault-from-rgbgfx) - [`gcc`: command not found](#gcc-command-not-found)
- [Can't build ROM; "Section is too big" or "Unable to place section in bank"](#cant-build-rom-section-is-too-big-or-unable-to-place-section-in-bank) - ["ERROR: `UNION` already defined"](#error-union-already-defined)
- ["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)
- ["Invalid file or object file version"](#invalid-file-or-object-file-version)
- [How do I edit maps?](#how-do-i-edit-maps) - [How do I edit maps?](#how-do-i-edit-maps)
- [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)
@ -17,31 +20,41 @@
Version 1.1 of Pokémon Crystal, which fixed some issues with the initial international release. `make crystal11` defines `_CRYSTAL11` so the assembly builds the changed version. Version 1.1 of Pokémon Crystal, which fixed some issues with the initial international release. `make crystal11` defines `_CRYSTAL11` so the assembly builds the changed version.
## Can't build ROM; "ERROR: `UNION` already defined" ## I can't build the ROM, `make` just prints an error!
Download [**rgbds 0.3.3**][rgbds]. Earlier versions will not work. Reread [INSTALL.md](INSTALL.md) carefully, and make sure you're following all its steps.
### `gcc`: command not found
## Can't build ROM; "Segmentation fault" from `rgbgfx` You need to install `gcc`. If you're using Cygwin, re-run its setup, and at "Select Packages", choose to install `gcc-core`.
### "ERROR: `UNION` already defined"
Download [the latest **rgbds** release][rgbds]. Versions earlier than 0.3.3 will not work.
### "Segmentation fault" from `rgbgfx`
If you are using 64-bit Windows, download [**64-bit Cygwin**][cygwin] and [**64-bit rgbds**][rgbds]. If you are using 64-bit Windows, download [**64-bit Cygwin**][cygwin] and [**64-bit rgbds**][rgbds].
### "Section is too big" or "Unable to place section in bank"
## Can't build ROM; "Section is too big" or "Unable to place section in bank"
If you have not changed any of the asm, make sure you have the latest version of pokecrystal and the correct version of rgbds (see [INSTALL.md](INSTALL.md)). If you have not changed any of the asm, make sure you have the latest version of pokecrystal and the correct version of rgbds (see [INSTALL.md](INSTALL.md)).
If you added or changed any code, it has to fit in the **memory banks**. The 2MB ROM is divided into 128 banks of 4KB each, numbered $00 to $7F. The linkerscript **pokecrystal.link** lists which `SECTION`s go in which banks. Try moving some code into a new section. If you added or changed any code, it has to fit in the **memory banks**. The 2MB ROM is divided into 128 banks of 4KB each, numbered $00 to $7F. The linkerscript **pokecrystal.link** lists which `SECTION`s go in which banks. Try moving some code into a new section.
### "Invalid file or object file version"
Run `make clean` to remove all the old `o` files, then re-run `make`.
## 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 [crowdmap][crowdmap] or [Polished Map][polished-map]. 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 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). 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.
## I need more help! ## I need more help!
@ -50,5 +63,6 @@ Try asking on IRC or Discord (see [README.md](README.md)).
[cygwin]: https://cygwin.com/install.html [cygwin]: https://cygwin.com/install.html
[rgbds]: https://github.com/rednex/rgbds/releases [rgbds]: https://github.com/rednex/rgbds/releases
[crowdmap]: https://github.com/yenatch/crowdmap/
[polished-map]: https://github.com/Rangi42/polished-map [polished-map]: https://github.com/Rangi42/polished-map
[crowdmap]: https://github.com/yenatch/crowdmap/
[tutorials]: https://github.com/pret/pokecrystal/wiki/Tutorials