Popover Menu get started
Popover Menu Tools
client discord
Menu
supported games setup guides f.a.q. generate game host game user content clients discord
Pokemon FireRed and LeafGreen Guide

Pokémon Gen 3 Adjuster for Pokémon Firered/Leafgreen

  1. Introduction
  2. Quickstart
  3. Sprite Pack
    1. Extracting Resources from the ROM
    2. Pokémon Folder Specifications
      1. Pokémon Folder Sprites
      2. Pokémon Folder Exceptions
    3. Player Folder Specifications
      1. Player Folder Palettes
      2. Player Folder Sprites
      3. Player Folder Sprite Size Override
    4. Trainer Folder Specifications
      1. Trainer Folder Palettes
      2. Trainer Folder Sprites
      3. Trainer Folder Exceptions
      4. Trainer Folder Sprite Size Override
  4. Pokémon Data Edition
  5. Applying the Sprite Pack

Introduction

The Pokémon Gen 3 Adjuster allows anyone to apply a sprite pack to Pokémon Emerald, Pokémon Firered and Pokémon Leafgreen, in order to personnalize runs made in Archipelago with these games.

While its main goal is to apply said sprite packs to an AP-patched version of said ROMs, the tool also allows the patching of vanilla ROMs.

Quickstart

If you want to quickly get into using the adjuster, you can create a sprite pack by extracting resources from the ROM.

Once you have said pack, modify the sprites in it at your leisure, but feel free to check the specifications for each folder if you encounter any problem.

Once a ROM (or AP patch) and a sprite pack is given, you just need to apply the sprite pack and run your adjusted ROM in your emulator of choice, and you're good to go!

Sprite Pack

A sprite pack is a folder containing folders with specific names for the various objects you want to replace. Here is an example of a valid sprite pack, who replaces some resources from the Pokémon Latios and the Player Red:

Sprite Pack/
    Red/
        battle_back.png
        battle_front.png
    Latios/
        front_anim.png
        back.png

Note: If sprites contain several frames, then said frames must be vertical: a 64x64px sprite with 2 frames will require a 64x128px sprite.

Warning: All sprites used in sprite packs must be Indexed PNG files. Some pixel editing programs such as Aseprite allow you to make those easily instead of standard PNG files.

Different types of folder exists: mainly Pokémon folders, and Player folders.

Extracting Resources from the ROM

The Pokémon Gen 3 Adjuster allows you to extract resources from any object handled by the adjuster. In order to extract a resource, a ROM, a .apfirered patch or a .apleafgreen patch must be given.

Once a valid ROM or patch is given, a new module will appear within the adjuster named Sprite Extractor. In it, you can either select one specific object to extract the resources of using the field given in it, or you can extract all resources from the ROM with one button press.

Once you press any of the Extract buttons, you must select a folder in which either all resources from the currently selected object will be extracted, or in which a complete sprite pack will be extracted.

Note: If you try to extract resources in a folder that doesn't exist, the adjuster will create said folders first.

Pokémon Folder Specifications

Pokémon folder names correspond to the name of the 386 Pokémon available within Generation 3 of Pokémon, with some extras and exceptions. Here is a list of them:

Pokémon Folder Sprites

Generally, Pokémon folders will handle these sprites:

Pokémon Folder Exceptions

While most Pokémon follow the rules above, some of them have different requirements:

Player Folder Specifications

Player folder names correspond to the name of the male and female players within Firered and Leafgreen: Red for the male trainer, and Leaf for the female trainer.

These sprites are separated in two categories: battle sprites and overworld sprites. The sprites' palettes must be the same between battle sprites, and between overworld sprites, unless stated otherwise.

Player Folder Palettes

The palettes used for overworld sprites has some restrictions, as elements other than the player uses said palette:

As a sum-up:

For this reason, color #10 of the player's overworld palette must be white (255, 255, 255), and color #16 must be black (0, 0, 0).

Player Folder Sprites

Player Folder Sprite Size Override

All overworld sprites frames can have a different size if you wish for your sprite to be bigger or smaller. In order to change a sprite's size, you must add -XxY at the end of their file name, with X the width of the sprite, and Y the height of the sprite.

Currently, only three overworld sprite sizes are allowed: 16x16px, 16x32px and 32x32px.

For example, if you want the frames of the sprite walking_running.png to have a size of 32x32px, then the sprite must be named walking_running-32x32.png, and its size must be 32x576px.

Trainer Folder Specifications

On top of the two types of folders above, simple trainers can be replaced. For now, only Blue, the rival, can be replaced, but more may be covered in the future.

Much like players, these sprites are separated in two categories: battle sprites and overworld sprites. The sprites' palettes must be the same between battle sprites, and between overworld sprites.

Trainer Folder Palettes

Much like player sprites, color #15 of the trainer's overworld palette must be white (255, 255, 255), and color #16 must be black (0, 0, 0).

Trainer Folder Sprites

Trainer Folder Exceptions

Even if currently only Blue can be changed as a standard trainer, he is handled differently than the others would be.

Trainer Folder Sprite Size Override

Much like player sprites, trainer overworld sprites can support more sizes. See Trainer Folder Sprite Size Override for more information.

Pokémon Data Edition

Once a sprite pack has been loaded into the adjuster, a Sprite Preview module will be added to it. It allows you to preview the various sprites within the sprite pack, as well as their palette.

If a valid ROM or AP patch have been given, then the Pokémon Data Editor module will appear. This module allows you to edit some data related to the Pokémon in the current sprite pack.

Here is a list of the values and their specifications:

Warning: Some of these values may overwrite randomization options selected in MultiworldGG: if the Pokémon's base stats or level up move pool have been randomized, the adjuster will replace the randomized values with its values.

Hovering over a field's name will tell you more details about what kind of value it needs. Additionally, if the value's text is red, blue or in bold, it will tell you exactly why.

Saving any changes for the Pokémon's data will create a file named data.txt in the Pokémon's folder. The contents of the file should not be modified manually.

Applying the Sprite Pack

Once both a ROM (or AP patch) and a sprite pack have been passed to the adjuster, you can press the Adjust ROM button and a new ROM will be made from the patch application, whih is usable as-is.

In order to use this ROM instead of the standard AP-patched ROM with MultiworldGG, once BizHawk or any other emulator is running, you should open the ROM made from the adjuster instead of the original one. Normally, the ROM made by the adjuster should have the same name as the ROM or AP patch you passed to it, with -adjusted added at the end of its name.