77 Commits

Author SHA1 Message Date
grintoul
a32da780c4
Corrects ONE_VS_TWO_BATTLE_TEST to use BATTLE_TEST_ARGS_ONE_VS_TWO (#8061) 2025-10-27 15:24:33 +00:00
grintoul
95c2a6e2b6
Multibattle testing system (#7257)
Co-authored-by: hedara90 <90hedara@gmail.com>
Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
2025-10-24 15:00:23 +02:00
Bassoonian
fbd702e3a4
Some more documentation and cleanup (#8020) 2025-10-23 20:14:38 +02:00
khbsd
e385c7f59f
feat: change defines in constants/abilities.h to an enum (#7006)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2025-09-29 21:35:09 +02:00
AlexOn1ine
a4470cac2c Master to upcoming merge 2025-09-27 22:42:53 +02:00
FosterProgramming
1d11a2cb0a
Improve how test involving ball throw work (#7774) 2025-09-22 20:44:12 +02:00
FosterProgramming
db7e062fe1
Add some missing move animations to the move animation tests (#7507) 2025-09-21 23:27:05 +02:00
Martin Griffin
97376a5b5a Support gimmicks in AI tests 2025-09-05 07:31:13 +01:00
Martin Griffin
7b5844762d
make check TESTS="..." support for filenames and infix matches (#7536) 2025-08-13 10:39:55 +02:00
Eduardo Quezada
a9d5c2cd28
Updated Dream Eater/Liquid Ooze's interaction to Gen 5 standards (#7528) 2025-08-11 16:06:58 +02:00
Martin Griffin
de6c9c6176
Hacky support for enums in C asm statements (#7494) 2025-08-11 10:06:23 +02:00
AlexOn1ine
68db4c5a77 12/07/25 master to upcoming merge 2025-07-12 11:55:06 +02:00
Martin Griffin
f4cc802656
Fix crashing tests looping (#7299) 2025-07-09 09:02:55 +02:00
AlexOn1ine
aabb632894 Master to upcoming merge, 20/06/25 2025-06-20 17:09:58 +02:00
hedara90
b2a0107a68
Test runner fixes (#7100)
Co-authored-by: Hedara <hedara90@gmail.com>
2025-06-15 12:02:29 +02:00
Bassoonian
1a6ed20713
Add dedicated getter functions for Pokémon types and abilities (#7043) 2025-06-03 22:05:22 +02:00
Pawkkie
3f5335c4ba
Refactor AI flags to u64 (#6753)
Co-authored-by: DizzyEggg
2025-05-04 17:16:34 +02:00
Eduardo Quezada
d2a4b5ef84
Changed Tackle for Scratch in tests (#6730) 2025-04-30 17:18:52 -04:00
Eduardo Quezada
f6a86a65ef Merge branch '_RHH/master' into _RHH/upcoming 2025-01-19 10:32:57 -03:00
Bassoonian
cc9a4d34c6 Fix tests not building 2025-01-18 13:07:01 +01:00
Martin Griffin
bb781f21a1
Arbitrary trainer scripts + map script/trigger softlock prevention (#5033)
Script_RunImmediatelyUntilEffect runs a script until either a specified
effect may occur or it reaches an end.

All existing script commands and natives, and some specials, call
Script_RequestEffects which allows us to analyze them.

Any downstream script commands/natives/specials will be statically known
not to call Script_RequestEffects and treated as if they have all
effects. Manually tagging them with requests_effects=1 and calling
Script_RequestEffects will make them analyzable.

Using these, we're able to execute scripts until they either exit with
no effect, or would possibly have an effect. This allows us to:
1. Not run on frame map scripts or triggers if they would have no
   effect.
2. Immediately run triggers if they only affect flags/vars. This removes
   the lag frames when biking into the Cycling Road, for example.
3. Migrate on load/on transition/on resume/on return to field/on dive
   warp scripts onto the global script context if they would block
   (approximated via SCREFF_HARDWARE).
4. Support arbitrary control flow in trainer scripts. The trainer does
   not see the player if the script has no effect, and the trainer will
   use whichever trainerbattle command is branched to.
5. Support arbitrary scripts in trainer scripts. cant_see and
   cant_see_if_* commands have been introduced so that scripts are able
   to do something when the player interacts with the trainer even if
   that trainer wouldn't see them.
2025-01-08 10:27:00 +00:00
Eduardo Quezada
9669a0554d
Encapsulate move data (#5852) 2025-01-01 20:34:33 +01:00
Eduardo Quezada
004efd1e5a Merge branch '_RHH/master' into _RHH/upcoming 2024-12-31 18:38:03 -03:00
Eduardo Quezada
009de5c98c
Setting Battle configs during tests (#5803)
Co-authored-by: sbird <sbird@no.tld>
2024-12-29 23:28:39 +01:00
Hedara
2088f2a12d Merge branch 'master' into master-upcoming 2024-12-29 21:43:07 +01:00
Eduardo Quezada
7ddb4cdc1b
Fixed TODO tests not showing up when filtering by name (#5894) 2024-12-29 14:18:33 +01:00
DizzyEggg
b1dbc6e9b2
Fix ASSUMPTIONS not working (#5869) 2024-12-24 06:46:40 -03:00
Eduardo Quezada
b48e5770be Merge branch '_RHH/master' into _RHH/upcoming 2024-11-11 15:58:42 -03:00
Martin Griffin
f770cb1ea3
Check that PASSES_RANDOMLY affected a Random call (#5635) 2024-11-11 10:59:58 +01:00
Eduardo Quezada
ee2535be96 Merge branch '_RHH/master' into _RHH/upcoming 2024-11-03 12:21:22 -03:00
Martin Griffin
39f5596d09 Improve unneeded SEND_OUT error 2024-11-01 17:06:22 +00:00
Martin Griffin
09c424b70f
Mark all tests as used (#5531) 2024-10-25 13:05:19 +02:00
kittenchilly
db24128ee3
Update battle messages to Gen 5+ standards (#3240)
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
2024-10-21 14:52:45 -03:00
Bassoonian
601438e980
Centralise AI Tests trainer name (#5532) 2024-10-19 17:51:20 -03:00
ghoulslash
d487bd0548
Revival Blessing fixes + Using Lunar Blessing's animation (#5490)
* revival blessing fixes, add anim

* fix lunar blessing anim

* Added support for Revival Blessing in tests

* Added test to confirm absent flag fix

---------

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
2024-10-19 11:34:58 -03:00
Pawkkie
efad9a32a9
Fix AI tests using PASSES_RANDOMLY (#5486) 2024-10-08 13:04:35 -04:00
Eduardo Quezada
c075d8e6b1
Fixed test system documentation (#5266) 2024-08-26 21:59:01 +02:00
Eduardo Quezada
18980b20a3
Remove trailing whitespace (master) (#5174) 2024-08-14 19:48:20 -07:00
Eduardo Quezada
0b02527e5c Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	test/test_runner.c
2024-07-21 13:36:07 -04:00
Eduardo Quezada
9d5e253867
Improved Test Runner Summary (#4641)
* Filename in list (no proper sorting yet)

* Line number and message in error list + removed sorting

* Style adjustment

* Added missing file/line number to "expected N passes/successes"

* Fixed Known Failing Passing test list

* Separated test list from totals

* Assumption fails list

* Better names

* Filename for KNOWN_FAILINGs passing

* Moved total back to the bottom

* Spaces correction

* Fixed test list count

* Source file for Alloc fails on tests

* Moved sourceLine from BattleTest to Test struct

* Fixed assumptions failed "and more" counter

* Fixed ASSUMPTION block not printing their line numbers

* Fixed when stopLine is printed

* Renamed stopLine to failedAssumptionsBlockLine
2024-07-20 18:22:40 +02:00
Eduardo Quezada
98eb4e5027 Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	asm/macros/battle_script.inc
#	include/constants/battle_string_ids.h
#	src/battle_ai_switch_items.c
#	src/battle_main.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/frontier_util.c
#	test/battle/ai/ai.c
2024-07-19 09:20:05 -04:00
fakuzatsu
0625c90277
fix tests when B_USE_FROSTBITE is TRUE (#4986) 2024-07-17 23:23:52 +02:00
Eduardo Quezada
fcdc9ed65a Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts:
#	src/battle_util.c
#	src/data/pokemon/species_info/gen_7_families.h
#	test/battle/ability/download.c
#	test/battle/ability/intimidate.c
#	test/battle/ability/supreme_overlord.c
#	test/battle/ability/zero_to_hero.c
#	test/battle/ai/ai.c
#	test/battle/move_effect/plasma_fists.c
2024-07-05 14:25:25 -04:00
AgustinGDLV
9797640dff
Gimmick Refactor (#4449)
* consolidated gimmick checks, triggers, communication, and activation; updated test runner

* fixed improper use of .usableGimmick

* cleaning up battle_dynamax.c, changing function args to u32s

* fixed '#ifdef TESTING' causing errors

* updated z-moves to use gimmick interface, pared down redundancies; no AI/tests

* added support for z-moves in tests, consolidated gimmick fields

* removed ShouldUseMaxMove and .usingMaxMove

* renamed TryChangeZIndicator, updated z move display

* added several z-move tests and fixed various z-move interactions; fixed z-move category calc

* fixed useless battler arg in GetTypeBasedZMove

* added basic test check for bad Z-Move or Mega usage

* reworked test runner gimmick functionality; added support for Ultra Burst + Z-Move to test Light That Burns the Sky

* fixed gimmick test logic; fixed damage category override

* fixed mega rayquaza test fail

* consolidated gimmick indicator logic; added graphics to gGimmicksInfo

* removed TeraData struct

* reimplemented AI logic for Z-Moves; no changes

* updated Z-Move and Ultra Burst trigger gfx

* added testrunner check for multiple gimmick use

* fixed duplicate z-move call in test

* reorganized data/graphics/gimmicks.h

* added signature Z-Move ability tests; implemented Guardian of Alola

* fixed bad test update

* fixed Thousand Arrows not affecting Tera Flying; clean-up

* fixed -ate tests

* fixed tera tests

* fixed tera tests really

* fixed last batch of tests

* fixed -ate mega test again

* code review

* code review pt.2

* tweaked CanTera again

* dynamax flag only required for player
2024-06-22 22:25:40 +02:00
Bassoonian
a24b767276 Merge branch 'master' of https://github.com/rh-hideout/pokeemerald-expansion into masterintoupcoming18jun 2024-06-18 15:27:06 +02:00
DizzyEggg
84d13d0abf
Fix Smack Down anim + move anim tests (#4774)
* Fix Smack Down anim + move anim tests

* really agbcc

* fix undefined reference

* hopefully everything works
2024-06-13 15:30:28 -04:00
sneed
87e2526665
Add switching message macros for tests (#4717)
* Add switching message macros

* Add test
2024-06-03 19:59:28 -04:00
Eduardo Quezada
0be643a517
Set TYPE_NONE as type 0 + other type data tweaks (#4462)
* Set TYPE_MYSTERY as type 0

* Remove redundant TYPE_NONE

* Moved Gen 1-3 type damage categories to gTypesInfo

* Set TYPE_NONE as 0 instead

* Grouped type info to a single file

* Fixed sTypeEffectivenessTable static name

* Adjusted MON_DATA_TERA_TYPE to account for shift in type IDs

* oops, missed the extern

* Moved Tera Type RGB values to gTypesInfo

* Fixed Tera Type test

* Added option test feature to set IVs

* Hidden Power type test

* Tera Type safeguard in givemon

* Removed isHiddenPowerType for a future PR that refactors Hidden Power

* Review changes
2024-06-01 07:38:22 +02:00
Bassoonian
e3959a764b
Rename MgbaPrintf_ to Test_MgbaPrintf (#4642) 2024-05-31 17:54:25 +02:00
Martin Griffin
1fea6b83cc PARAMETRIZE_LABEL in test/species.c
PARAMETRIZE_LABEL is like PARAMETRIZE, except that it allows the user to
provide a label which will be displayed in the test name line. This is
useful for tracking _which_ PARAMETRIZE case failed in the situation
where the numbers are unwieldy.
2024-04-25 18:40:37 +01:00