Commit Graph

1519 Commits

Author SHA1 Message Date
aaaaaa123456789 dcb610e88d Save the conversion table to SRAM, load it when loading the game, and clear it on new game
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 22:12:26 -06:00
aaaaaa123456789 e860d11b37 Fix Battle Tower parties to use 16-bit Pokémon IDs
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 22:12:26 -06:00
aaaaaa123456789 77bbe59f5a Remove 8-bit IDs from base data and rename wBaseDexNo to wBaseSpecies
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 22:12:26 -06:00
aaaaaa123456789 eb6a1adf61 Convert miscellaneous Pokémon IDs in ROM to 16-bit, 3
Features involved:
- In-game NPC trades
- Miscellaneous leftover mobile code
- Overworld Pokémon sprites
- Player's room decorations

Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 22:12:22 -06:00
aaaaaa123456789 73aa138207 Convert miscellaneous Pokémon IDs in ROM to 16-bit, 2
Features involved:
- Species checks in the battle engine core:
    - Unown checks (adding Unown forms to the dex, setting the first seen form)
    - Magikarp checks (broken checks used to adjust their size in the wild)
- Held items in battle that only work on specific species
- Battle Tower party validation
- Pokédex entries used for Oak's Pokédex Show radio broadcast
- Pokémon names used for Buena's Password radio broadcast/game
- Breeding (including special handling of Ditto and Nidoran)
- Map events:
    - Dratini giveaway in Dragon's Den
    - Magikarp length checker in Lake of Rage
    - Unown printer in Ruins of Alph
    - Ho-Oh's chamber in Ruins of Alph
    - Shuckle giveaway/return in Cianwood City
    - Legendary beasts' appearance in Tin Tower
- Special surf icon when surfing on a Pikachu
- Berry Juice generation
- Unown's special handling when displaying or printing a Pokémon's picture
- Unown's special handling when catching one
- Initial intro sequence (displaying Wooper's image and playing its cry)
- Checks used to display the arrows in the Pokémon move info menu
- Fix Buena's Password doesn't load names correctly

Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:59:16 -06:00
aaaaaa123456789 fccdb119aa Convert miscellaneous Pokémon IDs in ROM to 16-bit, 1
Features involved:
- Bug-Catching Contest (wild Pokémon, other entrants' Pokémon, judging)
- Odd Egg handling
- Evolutions (including the first-stage-of-chain list and handling of evolutionary items and Moon Balls)
- All map event script commands that take a species as argument
- Unreferenced code to correct party errors
- IsAPokemon function

Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:59:16 -06:00
aaaaaa123456789 94a807937b Update the Pokédex to use 16-bit IDs
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:59:13 -06:00
vulcandth 166e5b647d Update remaining wild-Pokémon-related tables to contain 16-bit IDs
Fix Fast Ball code doesn't work

Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:34:34 -06:00
vulcandth e8bf4f199c Update wild Pokémon data to contain 16-bit IDs
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:33:13 -06:00
aaaaaa123456789 01b55b728e Modify map scripts to use 16-bit to 8-bit conversions (and vice-versa) when manipulating the script variable 2025-11-26 21:31:41 -06:00
aaaaaa123456789 e9662fe127 Use the 16-bit index to load Pokémon cries, dex entries and footprints 2025-11-26 21:31:41 -06:00
aaaaaa123456789 37e15a6d07 Convert Pokémon species in trainer data to 16-bit and update reading routines
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:31:41 -06:00
aaaaaa123456789 5bad33daec Insert a length byte in trainer parties, so they can contain $FF bytes within them 2025-11-26 21:31:41 -06:00
aaaaaa123456789 3a8ac8ce9f Make Pokémon names and palettes use the 16-bit index
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:31:39 -06:00
aaaaaa123456789 e5257bb6f7 Update pic data (pointers, animation frames, bitmasks and scripts) to use 16-bit indexes
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:23:08 -06:00
aaaaaa123456789 1855cbae8c Update references to evolutions, learnsets, base stats and egg moves to use the 16-bit index
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:22:34 -06:00
aaaaaa123456789 36cf897bda Reorganize ROM contents and remove unused parts to make room for future enhancements 2025-11-26 21:21:48 -06:00
aaaaaa123456789 ec45a503fc Add Pokémon conversion table functions
Fix Daycare doesn't preserve species

Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:21:08 -06:00
aaaaaa123456789 30cd5c9609 Add generic 16-bit function macros for table operations
Included operations:
- 8-bit to 16-bit conversions
- 16-bit to 8-bit conversions (allocations)
- ID locking/unlocking
- Garbage collection building blocks
2025-11-26 21:12:34 -06:00
vulcandth e9701dce61 QoL [17]: break the dependency between Pokédex entry bank and species ID number
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:07:56 -06:00
vulcandth d283eef440 QoL [15]: break link between animation frames bank and national dex ID
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:07:56 -06:00
vulcandth 64edd64199 QoL [14]: remove some unused and debug files
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:07:56 -06:00
aaaaaa123456789 4555c5e88a QoL [13]: Faster multiplication (AddNTimes) 2025-11-26 21:07:56 -06:00
aaaaaa123456789 70ad5cd4b9 QoL [12]: free up wasted home bank space
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:07:56 -06:00
aaaaaa123456789 35e929aaed QoL [11]: 255-tile mon animations
Fix OpenSRAM

Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:07:56 -06:00
aaaaaa123456789 eb0d237bc1 QoL [10]: better structuring of trainer data (allowing splitting it into banks)
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:07:56 -06:00
aaaaaa123456789 ab5ff26790 QoL [9]: fast saving (because we'll save a lot during testing here) 2025-11-26 21:07:56 -06:00
aaaaaa123456789 e6742aac58 QoL [8]: get rid of move grammar table 2025-11-26 21:07:56 -06:00
aaaaaa123456789 a7719f89df Some bug fixes related to sprites and objects 2025-11-26 21:07:56 -06:00
aaaaaa123456789 b51864c1c7 QoL [6]: allow mixing of EVOLVE_STAT and EVOLVE_ITEM evolutions without breaking anything 2025-11-26 21:07:56 -06:00
aaaaaa123456789 8bbb0c1652 QoL [5]: expand the temporary buffer used to check for stone evolutions from 9 bytes + terminator to 18 bytes + terminator 2025-11-26 21:07:56 -06:00
aaaaaa123456789 b6476c52f1 Fix Ditto assumption bug 2025-11-26 21:07:56 -06:00
aaaaaa123456789 1ea44bb3c6 QoL [4]: get rid of dummy items between and after TMs/HMs
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:07:56 -06:00
aaaaaa123456789 ec3ae6e624 QoL [3]: store footprints normally
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:07:55 -06:00
aaaaaa123456789 62a70c8e9e QoL [2]: unlink PokemonPicPointers and UnownPicPointers 2025-11-26 21:07:55 -06:00
aaaaaa123456789 34be126e79 QoL [1]: pic banks
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 21:07:55 -06:00
vulcandth 25f00a5181 Remove version differences, stuff required for matching, CI configuration, unused tools, and other things
Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
2025-11-26 20:48:40 -06:00
Pyrois81 95f3d3c092 Verify and document another bug in the catching formula (#1203)
Add a fix for a potential failure condition in the catch rate function.
2025-11-18 15:09:04 -05:00
Rangi a55bc33d67 Use features of RGBDS 1.0.0 (#1204)
- Use single-quoted character literals or `CHARVAL` when you need
  a character's numeric value; using strings as numbers is deprecated
- Use `?` to silence a node in warning/error location backtraces
- Use `===` and `!==` instead of `STRCMP`, and `++` instead of `STRCAT`
- Use `__SCOPE__` instead of checking for `..` and `.` separately
- Use `#string` instead of `"{string}"`
- All programs (rgbasm, rgblink, rgbfix, rgbgfx) support `-W` warnings
- `rgbgfx --colors dmg` is short for `rgbgfx --colors dmg=e4`
2025-11-12 15:43:54 -05:00
Linus Unnebäck d138ed1bd4 Make wBargainShopFlags 16 bits (#1200) 2025-09-06 16:47:48 -04:00
Rangi 86acbe5b55 Use dname macro to automatically pad names with "@" characters (#1198) 2025-08-17 09:48:05 -04:00
Linus Unnebäck b1f8d423a2 Inline NoSwarmWildmon label (#1199) 2025-08-15 16:08:52 -04:00
Rangi42 468488e7a5 Identify JOYP_SGB_MLT_REQ constant 2025-08-11 16:38:46 -04:00
Rangi42 fcd13b1298 Update hardware.inc to 5.3.0 and use its new constants 2025-08-11 16:01:32 -04:00
Linus Unnebäck b0d56dff91 Document time of day bug in RandomUnseenWildMon (#1196) 2025-08-03 13:57:07 -04:00
Rangi42 de396249e1 Use combined joypad masks 2025-06-30 12:47:36 -04:00
Rangi42 5abf8d01fb Update hardware.inc to 5.1.0 2025-06-30 12:47:36 -04:00
Brianum 8f5a8c5b5b Identify wCrystalData's content and rename memory locations accordingly (#1191) 2025-06-30 11:37:37 -04:00
Rangi 4c540aa43b Replace hardware_constants.asm with the community-standard hardware.inc 5.0 (#1186) 2025-06-23 09:11:33 -04:00
Brianum b8d0c93213 Make town map limits more intuitive (#1185) 2025-06-07 13:51:32 -04:00