Commit graph

67 commits

Author SHA1 Message Date
Martin Griffin
3ad66028e9
Backwards-compatible BoxPokémon Refactor (#3438)
* Check progress in non-battle PARAMETRIZEd tests

* Overworld Script Tests

* Backward-compatible BoxPokemon Refactor

Reuses space that contains zeros to provide space for:
- HP/status in the box
- 12-character nicknames
- Up to 63 PokéBalls
- Shininess separate from PID
- Hidden Nature
- Hyper Training
- Dynamax Level
- Gigantamax Factor
- Terastallization Types
- Shadow

Implements:
- OW_PC_HEAL to switch between Gen7- and Gen8+ behavior
- Nature Mints
- Dynamax Candy
- Hyper Training commands (canhypertrain/hypertrain)
- Gigantamax Factor commands (hasgigantamaxfactor/togglegigantamaxfactor)
- Terastallization Type on the summary screen
- Prevents Gigantamax Factor Pokémon from evolving into a species without a Gigantamax form

* fixup! Backward-compatible BoxPokemon Refactor

* displaydexinfo fix from Jasper
2023-12-27 17:48:17 +01:00
DizzyEggg
1a7166c2bb
Tests do not allow to use SEND_OUT if the chosen mon is fainted (#3752)
* Tests dont allow to send out pokemon with 0 hp

* remove test test

* handle in-game 0 hp sent out

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-23 00:27:40 +01:00
tertu
fb28ce50ae
Optional high-quality RNG (#3780)
High-quality RNG, behind the HQ_RANDOM flag, enabled by default

Makes the shuffle test error a bit more tolerant
2023-12-22 17:39:15 +00:00
fakuzatsu
2af6d65893
added ability to set flags in tests (#3786) 2023-12-21 13:01:13 +00:00
Eduardo Quezada D'Ottone
4adc2dcb16
Species Simplifier™ - Part 3 (#3562)
* Added SpeciesInfo fields

# Conflicts:
#	include/pokemon.h

* Added missing comments

* Renamed gigantamax to isGigantamax

* Converted species flags to agbcc bit flags

* Added padding after flags

* Pikachu form config

* Dex text

* Reordered Paradox flag

* Missing Pikachu ifdef comments

* Moved P_GEN_x_POKEMON settings to the species_families file

* Gen 1 Dex entries

* Renamed file to species_enabled.h

* Prevent Pokémon from evolving if their evolution is disabled

* Prevent Pokémon from being affected by Eviolite if their evolution is disabled

* Prevent Pokémon offspring if they're disabled

* Corrected imprementation of evolution prevention

It could potentially overwrite items by accident

* Cross-evo configs

* Gen 2 dex entries

* Changed cry table to use assignable IDs

# Conflicts:
#	include/pokemon.h

* Form table pointers

* Beginning support for moving data to gSpeciesInfo

* Pokédexes reads text from gSpeciesInfo

* Reading species names from gSpeciesInfo

* Fixed erroneous copy-paste

* Moved Bulbasaur to Raichu Family data do gSpeciesinfo

* Added female pic sizes

* Macros for Front, Back, Palette and Learnsets

* Sandshrew to Dugtrio Families

* Obtains Height/Weight from gSpeciesInfo

* Read category from gSpeciesInfo

* Removed unused data from pokedex_entries.h

* Moved Gen 1 data to gSpeciesInfo

* Moved Gen 2 data to gSpeciesInfo + fixed Ursaluna Bloodmoon not producing Teddiursa eggs

* Moved Gen 3 data to gSpeciesInfo

* Moved Gen 4 data to gSpeciesInfo

* HGSS dex properly shows form sprites

* Fixed data type for GetSpeciesHeight/Weight

* Reading Pokédex Size data from gSpeciesInfo

* Cleaned up mon graphic decompression function

* Reading Front Pics gSpeciesInfo

* Reading Back Pics gSpeciesInfo

* Updated uses of GetMonSpritePalStruct to allow loading the data directly instead of reading the struct

* Reading palettes from gSpeciesInfo

* Reading animation delay from gSpeciesInfo

* Fixed Pokémon Debug Menu not reading animation delay

* Reading front anim Id from gSpeciesInfo

* Reading back anim Id from gSpeciesInfo

* Reading Animation Frames from gSpeciesInfo

* Reading Icon Sprites from gSpeciesInfo

* Reading Icon Palette IDs from gSpeciesInfo

* Reading Footprints from gSpeciesInfo

* Reading Mon Pic sizes from gSpeciesInfo

* Separate mon pic sizes for female mon

* Reading Level Up Learnsets from gSpeciesInfo

* Reading Teachable Learnsets from gSpeciesInfo

* Reading National Dex Number from gSpeciesInfo

* Reading Enemy Mon Elevation from gSpeciesInfo

* Reading Evolutions from gSpeciesInfo

* Reading form table from gSpeciesInfo

* Fixed button label inconsistency in pokémon debug menu

* Reading form change table from gSpeciesInfo

* Removed need to define mon graphics in include/graphics.h

* Reordered mon graphics by family

* Fixed National dex number offset

* gFrontierBannedSpecies now checks IsSpeciesEnabled

* Added 3 more toggles for Fusions, Primal Reversions and Ultra Burst

* Gen 3 & 4 family toggles for dex entries

* Fixed missing Mr. Rime data

* Gen 1 dex descriptions as compound strings

* Gen 2 dex descriptions as compound strings

* Gen 3 dex descriptions as compound strings

* Gen 4 dex descriptions as compound strings

* Fixed compile in agbcc

* Moved Gen 5 data to gSpeciesInfo

* Using PLACEHOLDER_ANIM_SINGLE_FRAME when needed (same hash)

* Renamed PLACEHOLDER_TWO_FRAME_ANIMATION to PLACEHOLDER_ANIM_TWO_FRAMES

* Fixed capitalization for front pic anims

* Fixed `CanEvolve`

* Moved Gen 6 data to gSpeciesInfo

* Gen 7 without macros

* Gen 8 without macros

* Gen 9 without macros

* Fixed Gen 9 sound data

* Finished moving Gen 7 data in macros (by Alex)

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>

* Ultra Necrozma is now included in the fusion forms define

* Cries are now properly excluded from the rom when disabling species

* Removed P_GEN_x_POKEMON from form_change_tables.h

* Fixed Yanmega's cry ignoring the P_GEN_4_CROSS_EVOS setting

* Added P_NEW_EVOS_IN_REGIONAL_DEX setting

* Automatic ASSUMPTION_FAIL when used species are disabled

* Finished moving Gen 8 data in macros (by Alex)

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>

* Expanded Alcremie macro

* Finished moving Gen 9 data in macros (by Alex)

* Fixed missing data for Komala and Marshadow

* Form species id tables use family toggles + added missing Ursaluna form species id table

* Fixed Genesect palettes

* Fixed Flabébé family graphics

* Fixed Minior Graphics

* Fixed missing Calyrex data

* Family toggles in mon graphcis (By Jasper/Bassoonian)

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed missing Ogerpon data

* Ordered Level Up Learnsets (missing toggles)

Also added White Basculin learnset

* Added more Minior synonyms

* Fixed enamorus order

* Reordered teachable learnsets

* Removed sSpeciesXXX level up learnsets + reordered

* Removed unneeded assumes

* Removed unused extra animations

* Family toggles in mon level up learnsets (By Jasper/Bassoonian)

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed Phione graphics inclusion

* Family toggles for Teachable Learnsets

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Ordered Front Pic Anims

* Family toggles for front pic animations

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed HGSS dex incorrectly showing the wrong mon when catching it

* Family toggles for Egg Moves + reodered

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>

* Fixed HGSS not checking for null footprints

* Review changes

* Fixed Female difference mon not using their macros

* Fixed Alcremie Macro

* Fixed compile error when disabling the Bulbasaur family

* Fixed Turtwig and Chimchar family + Houndour and Mareep cries not being excluded properly

* Re-added missing Egg graphical data

* Fixed crash during the Birch Intro when Lotad is disabled

* Renamed PALLETE to PALETTES

* Removed extra spacing for YOffsets

* Fixed compile when only disabling cross-gen evolutions

* Added Tera Forms define (Ogerpon and Terapagos)

* Fixed Necrozma macro

* Removed .noFlip = FALSE

* Fixed dex number in summary screen for forms when nat dex is disabled

* Fixed Paldean form paths

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2023-12-08 15:05:10 +01:00
kittenchilly
9d2be9f3a6
Remove all trailing whitespace (upcoming) (#3473) 2023-10-27 13:54:55 -03:00
Martin Griffin
74c08dc955 Merge remote-tracking branch 'rhh/master' into upcoming 2023-10-24 08:58:02 +01:00
Martin Griffin
5fe564f014
Detect 'NOT x; NOT y;' (#3459)
Fix Purifying Salt to be immune to statuses from secondary effects.
2023-10-24 09:55:32 +02:00
Eduardo Quezada
bcf0377d9a Merge branch 'RHH/master' into RHH/upcoming 2023-10-22 16:30:26 -03:00
Martin Griffin
8a6284c408
Fix battle test estimateCost bug (#3448) 2023-10-22 10:03:46 -03:00
Eduardo Quezada
c0540a3559 Merge branch 'RHH/upcoming' into RHH/pr/upcoming/dynamax
# Conflicts:
#	include/battle.h
#	include/constants/battle_move_effects.h
#	include/constants/battle_string_ids.h
#	src/battle_main.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
2023-10-15 00:30:00 -03:00
Martin Griffin
45897cefbc
Move battle tests off the heap (#3414) 2023-10-13 16:31:10 -03:00
Martin Griffin
cbdba65218
Move battle tests off the heap (#3413)
* Catch OOM in tests

* Alias gBattleTestRunnerState with sBackupMapData

Reverts #3398 "Fix Broken Move Anims in Tests" which moved the AI logs
to statically-allocated EWRAM_DATA instead of being part of
gBattleTestRunnerState.
2023-10-13 20:29:30 +02:00
DizzyEggg
a7b9d139da
Fix Wall Werrors on modern (#3412)
* Fix Wall Werror errors

* fix hgss pokedex modern errors

* tests build on modern

* learnset change

* Update src/battle_ai_util.c

Co-authored-by: Philipp AUER <SBird1337@users.noreply.github.com>

* Update src/battle_anim_new.c

Co-authored-by: Philipp AUER <SBird1337@users.noreply.github.com>

* Update src/debug.c

Co-authored-by: Philipp AUER <SBird1337@users.noreply.github.com>

* Update src/debug.c

Co-authored-by: Philipp AUER <SBird1337@users.noreply.github.com>

* Update src/pokedex_plus_hgss.c

Co-authored-by: Philipp AUER <SBird1337@users.noreply.github.com>

* review changes

* unused cmd args

* various args back

---------

Co-authored-by: Philipp AUER <SBird1337@users.noreply.github.com>
2023-10-13 18:39:35 +02:00
DizzyEggg
403326035e
fix broken move anims in tests (#3398) 2023-10-10 22:41:34 -03:00
Eduardo Quezada
92301398bc Merge branch 'RHH/upcoming' into RHH/pr/upcoming/dynamax
# Conflicts:
#	asm/macros/battle_script.inc
#	data/battle_anim_scripts.s
#	data/battle_scripts_1.s
#	include/battle.h
#	include/battle_controllers.h
#	include/battle_interface.h
#	include/config/battle.h
#	include/constants/battle.h
#	include/constants/battle_anim.h
#	include/constants/battle_move_effects.h
#	include/constants/battle_string_ids.h
#	include/data.h
#	include/random.h
#	sound/cry_tables.inc
#	src/battle_anim_new.c
#	src/battle_controller_opponent.c
#	src/battle_controller_player.c
#	src/battle_controller_player_partner.c
#	src/battle_interface.c
#	src/battle_main.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/data/pokemon/form_change_table_pointers.h
#	src/data/pokemon/species_info.h
#	src/data/text/move_names.h
#	test/test_runner_battle.c
2023-10-09 16:51:41 -03:00
Eduardo Quezada
7c7396c1be Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	src/battle_ai_main.c
2023-10-05 13:31:22 -03:00
DizzyEggg
be5683e899
AI battle tests + AI logic fixes (#3361) 2023-10-04 18:53:29 +01:00
Alex
b18d01878f
Fix Battle/Shell Armor + crit chance Tests (#3377)
* Fix Battle/Shell Armor + crit chance Tests

* fix typos

* minor record ability change
2023-10-04 16:46:42 +02:00
DizzyEggg
2fcb9bbc9b
Wild battle tests + tests for exp points (#3342)
* Add WIld Battles to test runner + exp tests
2023-09-27 08:35:05 +01:00
Eduardo Quezada
35d7201935 Merge branch 'RHH/master' into RHH/upcoming
# Conflicts:
#	data/battle_scripts_1.s
#	include/battle_scripts.h
2023-08-31 20:46:53 -04:00
Eduardo Quezada
be152fbee8 Merge branch 'RHH/master' into RHH/pr/master/opponentName 2023-08-29 13:11:32 -04:00
kittenchilly
3435c590c9 Merge branch 'upcoming' into ultraburst 2023-08-12 18:58:38 -05:00
Eduardo Quezada D'Ottone
d62c0d6d51
Organized tests into subfolders (#2822) 2023-08-12 20:00:15 +01:00
kittenchilly
c3e31af5f3 Ultra burst trigger 2023-08-09 22:12:26 -05:00
Eduardo Quezada
8dafc5e208 Fixed B_ATK_TRAINER_NAME not working properly in tests 2023-07-26 17:36:37 -04:00
Martin Griffin
6f40d44a23 Cleanup RandomUniform and RandomElementArray 2023-07-23 10:24:58 +01:00
Martin Griffin
fc321965a9 RNG_HITS and RNG_LOADED_DICE 2023-07-23 10:24:58 +01:00
Martin Griffin
b406a9c1bd RandomUniformExcept and RNG_METRONOME 2023-07-20 10:25:03 +01:00
Eduardo Quezada D'Ottone
5f29ae6f99
Failed tests are now listed in the total (#3073)
* Failed tests are now listed in the total
2023-07-14 10:17:54 +01:00
Martin Griffin
3e6f499517 TearDownBattle function 2023-06-22 15:08:15 +01:00
Martin Griffin
97bc8e4689
At most one PASSES_RANDOMLY (#3065) 2023-06-20 14:46:02 -04:00
AgustinGDLV
d795256142 remove debug 2023-06-03 11:56:01 -07:00
AgustinGDLV
53fa7e524c allow for illegal abilities within tests 2023-06-03 11:32:54 -07:00
Martin Griffin
412f6f5352
Separate build directory for tests and TESTING define (#3002)
* Separate build directory for tests and TESTING define

* fixup! Separate build directory for tests and TESTING define

* fixup! Separate build directory for tests and TESTING define

* fixup! Separate build directory for tests and TESTING define
2023-05-31 09:38:37 -04:00
AgustinGDLV
d22efc9a68 fixed UB with unassigned variable 2023-05-16 23:14:54 -07:00
AgustinGDLV
34abc440cb fixed RandomElement 2023-05-16 23:13:48 -07:00
AgustinGDLV
d133564e21 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into dynamax 2023-05-16 21:57:06 -07:00
AgustinGDLV
aec51b5b04 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into dynamax 2023-05-11 20:02:06 -07:00
Martin Griffin
efab893c47 INVALID if results without PARAMETRIZE 2023-05-07 07:50:41 +01:00
Martin Griffin
29fa6ba574 INVALID if PASSES_RANDOMLY and results 2023-05-07 07:50:41 +01:00
Martin Griffin
9cd13cc520 Fix USE_ITEM explicit targets 2023-05-07 07:50:41 +01:00
Martin Griffin
e0bed6776b INVALID if FINALLY without PARAMETRIZE 2023-05-07 07:50:41 +01:00
Eduardo Quezada D'Ottone
220b60f315
Detect memory leaks in tests (#2698) 2023-05-06 21:22:47 -04:00
Eduardo Quezada D'Ottone
42445512ad
Battle Item Tests + critical fixes + new test macro (#2940) 2023-05-06 20:43:32 -04:00
ghoulslash
8cce130643
Add Frostbite status (#2942) 2023-05-01 09:45:47 -04:00
Alex
a98da30ec7 frostbite tests 2023-04-28 12:38:34 +02:00
Bassoonian
c279830892 Merge branch 'upcoming' of https://github.com/rh-hideout/pokeemerald-expansion into formbattlechangecontribution 2023-04-27 10:50:32 +02:00
CallmeEchoo
a2809acfd1 fix gChosenMovePos not being assigned correctly for battle items
thanks griffin <3

Co-Authored-By: Martin Griffin <838573+mrgriffin@users.noreply.github.com>
2023-04-26 01:02:47 +02:00
CallmeEchoo
08ec873ef2 update MoveWithPP macro to use struct 2023-04-25 20:35:36 +02:00