Commit Graph

17 Commits

Author SHA1 Message Date
Philippe Symons
99b2e41f42 Fix bug: Japanese saves were not detected correctly for gen I 2024-12-12 13:22:31 +01:00
Philippe Symons
e3ae0845c9 Streamline the Gen I localization code to be structured similarly to the gen II's 2024-11-21 21:32:02 +01:00
Philippe Symons
a61b727023 Add support for the gen II localizations
Note: for Korean games, specifically, I did not implement the Korean character set
(nor do I plan to)

The reason is that it is entirely different and more complex to implement than the other
character sets. I'm not personally invested nor interested enough to go through the hassle.

This affects the pokémon names that will be displayed when using libpokemegb. Instead as
a fallback, it will return "poke-<number>" for these roms.

Feel free to contribute proper Korean character set (and pokémon names) support!
2024-11-20 23:46:27 +01:00
Philippe Symons
0f56da84b6 Add gen1_determineGameLanguage() and use it automatically in Gen1GameReader if not specified in the constructor 2024-11-15 12:34:33 +01:00
Philippe Symons
3065163b1b Add support for gen I localizations
There currently is no way to automatically detect the localization yet though.
2024-11-14 21:16:57 +01:00
risingPhil
bd518d0d87 Fix GameReader::decodePokemonIcon() API inconsistency in relation to decodeSprite() 2024-09-25 22:15:46 +02:00
risingPhil
a44b908587 Implement gen 2 party icon decoding
Now you can also decode the party icons for the gen 2 pokémon games
2024-09-25 20:22:17 +02:00
risingPhil
04bc493c03 Add Gen1GameReader::getPokemonIconType() 2024-09-24 22:52:26 +02:00
Philippe Symons
2643a00ca7 Add party icon decoding for gen 1 pokémon games.
Now you can decode the pokemon mini sprites/party icons from the rom into an RGB/RGBA buffer
2024-09-24 12:21:35 +02:00
Philippe Symons
de5381da81 Add code to consider an empty (zero'd out) save as an invalid checksum
The gen 2 saves contain 2 markers per section (main/backup) to serve as canary values to see whether an actual save is stored.
Because after all: checksum 0 is a valid checksum in some cases. So to distinguish between a valid and a corrupted save, these markers are used.

And now we use it too! This will be necessary to detect that there's no save file in case the save was wiped (or a reproduction cart is used)
2024-09-11 12:28:11 +02:00
risingPhil
e5342451ce Add more SpriteRenderer output formats and move the removeBackground functionality
- Add SpriteRenderer::OutputFormat::RGBA32 and SpriteRenderer::OutputFormat::RGBA16
- Move the removeBackground functionality out of the decodeSprite example application and into SpriteRenderer. It's RGBA32 only though
2024-08-07 21:11:55 +02:00
risingPhil
a43345317b Add some example code to the decodeSprite example application to remove the white background from a Sprite 2024-08-07 12:55:24 +02:00
risingPhil
4a3bc9de18 Add functionality to get and set event flags 2024-07-29 00:51:54 +02:00
risingPhil
80e8397b93 Add functionality to remove an item and 2 example programs to add or remove an item. 2024-07-28 22:57:59 +02:00
risingPhil
99e495dad9 Add an API in Gen2GameReader to unlock the GS Ball event 2024-07-26 23:13:24 +02:00
risingPhil
747bdd4b4b Fix bug gen2 addItem 2024-07-19 21:31:16 +02:00
risingPhil
5954a2a036 Initial import 2024-06-11 21:45:59 +02:00