Commit Graph

553 Commits

Author SHA1 Message Date
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 3f778c2de9 Remove dummy constants for dummy Pokémon and set EGG to -3 instead of 253 (for 16-bit extension into $FFFD)
- Also add table_width/assert_table_length to data/pokemon/pic_pointers.asm

Co-Authored-By: aaaaaa123456789 <aaaaaa123456789@acidch.at>
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
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 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 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 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 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 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
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
Rangi 86acbe5b55 Use dname macro to automatically pad names with "@" characters (#1198) 2025-08-17 09:48:05 -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
Rangi a15a2970a1 Use features new to RGBDS 0.9.2 (#1180) 2025-05-10 12:47:43 -04:00
Rangi42 098944485b Rename "city" treemon set to "none", since it has no encounters 2025-04-21 12:42:57 -04:00
Rangi 85ddf0e90a Don't pass redundant label names to table_width and list_start (#1160) 2024-12-27 12:35:35 -05:00
Hannabart Pekopon 3f686e67da Correct wrong and misleading comments about enemy trainer AI (#1149) 2024-12-26 08:59:18 -05:00
Jordan Moore d323aa83dd Rename checkcurl to checkrollout 2024-12-25 12:17:14 +01:00
Rangi42 26e9de55d6 Fix indentation 2024-12-16 10:48:48 -05:00
Sylvie 644bd42fb0 Identify more bit flags (#1153) 2024-11-29 19:29:30 -05:00
metallicity 0abd8a7b38 Rename Bill's brother to Bill's older sister (#1132) 2024-10-17 17:03:29 -04:00
Sylvie 2265e53d24 Rename dt and dd to bigdt and bigdd (#1141)
This makes their big-endianness obvious and matches `bigdw`
2024-10-17 14:52:47 -04:00
Sylvie e59624d1f5 Generate Unown sprite palette based on all front+back sprites (#1146) 2024-10-17 13:39:33 -04:00
Sylvie 5a53e297cf Sort Pokemon and trainer sprite palettes, with Makefile-specified exceptions (#1137)
This avoids the need to define their order via indexed PNG palettes

It also avoids the need to use gb-asm-tools' palfix.py on custom sprites

Fixes #1136
2024-10-16 10:48:00 -04:00
Sylvie 017bffaef9 Put front and back pics on a single line (#1139) 2024-09-26 00:20:04 -04:00
Sylvie fed587fc37 Refactor the Unown wall word data (#1131) 2024-07-24 10:56:46 -04:00
Rangi42 4f57e96f31 Consolidate the duplicate stat level data files 2024-06-12 13:13:58 -04:00
Sylvie 8819f7b117 Identify various "????"s (#1125) 2024-06-11 20:54:45 -04:00
xCrystal e0c278a595 Fix inaccurate denotations to the concepts of tile, tile collision, and collision permission (#1078) 2024-01-07 14:51:27 +01:00
xCrystal bd6ceec193 Improve some innacurate function names, labels, and comments (#1078)
[https://github.com/pret/pokecrystal/issues/1078#issue-1869550979 and https://github.com/pret/pokecrystal/issues/1078#issuecomment-1696394371]
2024-01-07 13:36:05 +01:00
Rangi dbf6044650 Update to RGBDS 0.7.0 (#1101) 2024-01-03 10:58:53 -05:00
vulcandth 30739842af Document Tackle is missing part of its hit animation
Co-Authored-By: SoupPotato <22991349+SoupPotato@users.noreply.github.com>
2024-01-03 15:41:28 +01:00
SnorlaxMonster a82dfd81bb Replace "¯" and "%" (breakable whitespace) with more meaningful charmap names (#1094) 2023-11-19 20:04:45 -05:00
vulcandth aba1f14044 Sync sprite and battle anim consts/labels (#1055)
* Sync sprite and battle anim consts/labels

* Add `; 00` comments

* Renamed to `SpriteAnimFunc_` and `BattleAnimFunc_`
2023-09-17 13:09:28 -05:00
Tiddlywinks b0ddb0758d 1) Fix DECOFLAG order. 2) The doll is Staryu, not Starmie (and the sprite can be either) 2023-09-13 08:08:27 +02:00
SoupPotato 6180be355e Labeled framesets and related constants (#1063)
* Labeled Framesets and Constants Related

* Feedback Implemented with PascalCase and Constant Renames

* Fix framset.asm comment spacing

* `BATTLEANIMFRAMESET_35` to `BATTLEANIMFRAMESET_THUNDER_WAVE_EXTRA`

* Feedback applied and labeled 1E & B2

* Fixed SpinningBone

---------

Co-authored-by: vulcandth <vulcandth@gmail.com>
2023-08-21 19:09:23 -05:00