Pokémon Emerald
This is a decompilation of Pokémon Emerald.
It builds the following ROM:
- pokeemerald.gba
sha1: f3ae088181bf583e55daf962a92bb46f4f1d07b7
guillotine branch:
DecapitatesDecapitalizes all text at runtime, with some exceptions (see the FAQ)- Future-proof, does not require mass-replacing strings
To set up the repository, see INSTALL.md.
FAQ
(guillotine) Q: How can I keep my string(s) from being decapped?
A: There are a number of ways to make a string "fixed case" so that it will not be decapitalized when displayed:
C strings: Replace the _ with _C:
// _C = fixed (C)ase string!
const u8 gText_IDNumber[] = _C("IDNo.");
ASM strings: Replace .string with .fixstr:
gText_SavingDontTurnOff::
@ Lasts until the string terminator '$'
.fixstr "SAVING…\n"
.string "DON'T TURN OFF THE POWER.$"
You can fix-case/unfix parts of a string like so:
.string "{FIXED_CASE}WARNING!{UNFIX_CASE}\p"
For a placeholder (only the placeholder will be fixed-case):
.string "{STR_VAR_2_FIXED} was transferred to\n"
.string "BOX “{STR_VAR_1}.”$"
See also the configuration in text.h.
There are also a number of bigram exceptions that will not be decapped: TV, TM, HP, HM, PC, PP, PM
See also
For contacts and other pret projects, see pret.github.io.
Description
Languages
C
84.7%
Assembly
12%
C++
2.5%
Makefile
0.4%
Python
0.4%