mirror of
https://github.com/pret/pokeemerald.git
synced 2026-05-20 03:28:16 -05:00
Decompilation of Pokémon Emerald
| .github | ||
| asm | ||
| common_syms | ||
| constants | ||
| data | ||
| docs | ||
| gflib | ||
| graphics | ||
| include | ||
| libagbsyscall | ||
| sound | ||
| src | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| asmdiff.ps1 | ||
| asmdiff.sh | ||
| build_tools.sh | ||
| charmap.txt | ||
| graphics_file_rules.mk | ||
| INSTALL.md | ||
| json_data_rules.mk | ||
| ld_script_modern.ld | ||
| ld_script.ld | ||
| make_tools.mk | ||
| Makefile | ||
| map_data_rules.mk | ||
| README.md | ||
| rom.sha1 | ||
| songs.mk | ||
| spritesheet_rules.mk | ||
| sym_bss.txt | ||
| sym_common.txt | ||
| sym_ewram.txt | ||
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.