From 8ba3d9e10f794bdc989baccb1c0eb704c2f212c7 Mon Sep 17 00:00:00 2001 From: Skeli Date: Fri, 24 May 2019 10:36:14 -0400 Subject: [PATCH 1/3] Update README.md --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 696338d..5269806 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,23 @@ # Dynamic-Pokemon-Expansion +## What is this: +A dynamic data inserter for expanding Pokemon in FireRed. + +## Features: +* Dynamic insertion, meaning no worrying about repointing ever! +* Support for as many different Pokemon (regular Pokemon, forms, etc.) as you'd like. +* Support for different gendered forms. +* Support for different form Pokedex entries like in Sun/Moon. +* Support for up to 999 different Pokedex entries (not including alternate forms). +* Support for Pokemon sprite and icon insertion. + +**NOTE** It is highly recommended to apply the [Complete Fire Red Upgrade](https://github.com/Skeli789/Complete-Fire-Red-Upgrade) +following the insertion of this hack. Otherwise, make sure to comment out the +line ``#define EXPAND_LEARNSETS`` in the defines file or your game will crash. +Additonally, if you're **not** using the Complete Fire Red Upgrade, in [bytereplacement](https://github.com/Skeli789/Dynamic-Pokemon-Expansion/blob/master/bytereplacement), +find the changes for the seen and caught flag ram, and change it to some free +save space. Make sure to apply a saveblock hack first, though. + ## Installation Instructions: ``` 1. Download devkitpro. Follow the instructions. From c37d70934254313832066d09382f57955d60de2a Mon Sep 17 00:00:00 2001 From: Skeli Date: Fri, 24 May 2019 10:49:43 -0400 Subject: [PATCH 2/3] Add Image Compilation Tools --- deps/grit.exe | Bin 0 -> 67072 bytes graphics/Pokemon_Back_Sprites/gritflags.txt | 1 + graphics/Pokemon_Front_Sprites/gritflags.txt | 1 + graphics/Pokemon_Icons/gritflags.txt | 1 + 4 files changed, 3 insertions(+) create mode 100644 deps/grit.exe create mode 100644 graphics/Pokemon_Back_Sprites/gritflags.txt create mode 100644 graphics/Pokemon_Front_Sprites/gritflags.txt create mode 100644 graphics/Pokemon_Icons/gritflags.txt diff --git a/deps/grit.exe b/deps/grit.exe new file mode 100644 index 0000000000000000000000000000000000000000..ac50f3322b4a39df51d9188d14d58270287db01a GIT binary patch literal 67072 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 A6951J literal 0 HcmV?d00001 diff --git a/graphics/Pokemon_Back_Sprites/gritflags.txt b/graphics/Pokemon_Back_Sprites/gritflags.txt new file mode 100644 index 0000000..e8b07e7 --- /dev/null +++ b/graphics/Pokemon_Back_Sprites/gritflags.txt @@ -0,0 +1 @@ +-gzl -gB4 -fts -fh -pe16 -pzlz77 -gu8 \ No newline at end of file diff --git a/graphics/Pokemon_Front_Sprites/gritflags.txt b/graphics/Pokemon_Front_Sprites/gritflags.txt new file mode 100644 index 0000000..e8b07e7 --- /dev/null +++ b/graphics/Pokemon_Front_Sprites/gritflags.txt @@ -0,0 +1 @@ +-gzl -gB4 -fts -fh -pe16 -pzlz77 -gu8 \ No newline at end of file diff --git a/graphics/Pokemon_Icons/gritflags.txt b/graphics/Pokemon_Icons/gritflags.txt new file mode 100644 index 0000000..1511db6 --- /dev/null +++ b/graphics/Pokemon_Icons/gritflags.txt @@ -0,0 +1 @@ +-g -gB4 -fts -fh -gu8 \ No newline at end of file From 8f6825e7ca875c0d1af87a028b6164e3bff9b7d6 Mon Sep 17 00:00:00 2001 From: Skeli Date: Fri, 24 May 2019 11:17:36 -0400 Subject: [PATCH 3/3] Update README.md --- README.md | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5269806..6774747 100644 --- a/README.md +++ b/README.md @@ -11,12 +11,7 @@ A dynamic data inserter for expanding Pokemon in FireRed. * Support for up to 999 different Pokedex entries (not including alternate forms). * Support for Pokemon sprite and icon insertion. -**NOTE** It is highly recommended to apply the [Complete Fire Red Upgrade](https://github.com/Skeli789/Complete-Fire-Red-Upgrade) -following the insertion of this hack. Otherwise, make sure to comment out the -line ``#define EXPAND_LEARNSETS`` in the defines file or your game will crash. -Additonally, if you're **not** using the Complete Fire Red Upgrade, in [bytereplacement](https://github.com/Skeli789/Dynamic-Pokemon-Expansion/blob/master/bytereplacement), -find the changes for the seen and caught flag ram, and change it to some free -save space. Make sure to apply a saveblock hack first, though. +**NOTE** It is highly recommended to apply the [Complete Fire Red Upgrade](https://github.com/Skeli789/Complete-Fire-Red-Upgrade) following the insertion of this hack. Otherwise, make sure to comment out the line ``#define EXPAND_LEARNSETS`` in the defines file or your game will crash. Additonally, if you're **not** using the Complete Fire Red Upgrade, in [bytereplacement] (https://github.com/Skeli789/Dynamic-Pokemon-Expansion/blob/master/bytereplacement), find the changes for the seen and caught flag ram, and change it to some free save space. Make sure to apply a saveblock hack first, though. ## Installation Instructions: ``` @@ -61,3 +56,32 @@ type 'python scripts//make.py' A new gba file will appear named as test.gba and an offsets.ini file. That is your resultant file. ``` +## Inserting Sprites: +There are two ways of inserting sprites with this hack. +1. The first is to place the image file in the appropriate section found in [graphics](https://github.com/Skeli789/Dynamic-Pokemon-Expansion/tree/master/graphics). Images placed there will be compiled automatically by the compiler. To refer to any of the images in the code, first place a reference near the top of the file to the image with the following format: ``extern u32 [IMAGE_NAME]Tiles;``. For example, if you have a *Charmander* front sprite named ``CharmanderFront.png``, the reference would look like this: ``extern u32 CharmanderFrontTiles;``. Then, replace the old front pic table entry for *Charmander*, with a new entry like this: ``[SPECIES_CHARMANDER] = {CharmanderFrontTiles, 0x800, SPECIES_CHARMANDER},``. Palettes can similarly be done by replacing ``Tiles`` with ``Pal``. This method may be convenient, however, many of the sprites found online will not be in the required format to do this easily. Therefore, the second method is recommened. +2. The second method involves using the [Advance Series](https://hackromtools.altervista.org/advance-series/) to insert sprites. If you would like to use this, open up the generated ``offsets.ini`` found in the root, and edit the offsets in the A-Series ini to resemble the following (where the ``**`` refer to offsets found in ``offsets.ini``): +``` +GameCode=BPRE +FrontSpriteTable=**gMonFrontPicTable** +BackSpriteTable=**gMonBackPicTable** +FrontPaletteTable=**gMonPaletteTable** +BackPaletteTable=**gMonShinyPaletteTable** +EnemyYTable=**gMonFrontPicCoords** +PlayerYTable=**gMonBackPicCoords** +EnemyAltitudeTable=**gEnemyMonElevation** +IconSpriteTable=**gMonIconTable** +IconPaletteTable=**gMonIconPaletteIndices** +IconPalettes=0x3D3740 +SpeciesNames=**gSpeciesNames** +TotalSpecies=[The same NUMBER as NUM_SPECIES found in include/species.h] +``` +Once you are content with your sprite data, and you'd like to continue editing offsets with this hack without overwriting the offsets set by A-Series, then make sure you take a look at ``Extracting Data`` below. + +Different pokemon sprites that can be used with A-Series: +* [Pokemon Sprites Gens 1 - 5](https://www.pokecommunity.com/showthread.php?t=267728) +* [Pokemon Sprites Gen 6](https://www.pokecommunity.com/showthread.php?t=314422) +* [Pokemon Sprites Gen 7](https://www.pokecommunity.com/showthread.php?t=368703) +* [Pokemon Sprites Sugimori Palettes](https://www.pokecommunity.com/showthread.php?t=336945) + +## Extracting Data: +When inserting Pokemon sprites, you may find it easier to use the Advance Series. If so, and you wish to keep modifying the data with this engine, you will need to extract the new graphics data pointers from your rom. To to do this, overwrite the ``BRPE0.gba`` file in the root with this new rom that has the updated graphics data (always make a backup first!). Then, open [scripts/data_extractor.py](https://github.com/Skeli789/Dynamic-Pokemon-Expansion/blob/master/scripts/data_extractor.py) and change the line ``NumberOfPokemon`` to the number of species in your rom + 1. Go back to the root, open the command line, and type ``python scripts//data_extractor.py``. Extracted graphics and cry data will be pulled from your rom and placed in a new folder ``extracted``. Copy the contents of the **tables** found in these files and overwrite the **tables** found in the equivalent files found in [src](https://github.com/Skeli789/Dynamic-Pokemon-Expansion/tree/master/src). Now, the next time you insert this hack, all of your graphics and cry pointers will remain unchanged, allowing you to make changes to things such as the Pokedex data and level-up movesets without worrying about repointing anything.