Commit graph

507 commits

Author SHA1 Message Date
sneed
e64a2f3e25
Roamer's frostbite carries over between battles (#4822) 2024-06-17 11:44:47 +02:00
Eduardo Quezada
ac16a52918
Revert "Guillotine: Decapitalize everything (#3949)" (#4525)
This reverts commit e2d70d440e, reversing
changes made to 0d2b400953.

# Conflicts:
#	gflib/text.c
#	include/config/decap.h
#	src/battle_message.c
#	src/item.c
2024-05-13 19:19:37 +02:00
Eduardo Quezada D'Ottone
5e79fcd5b4
Added FREE_EXTRA_SEEN_FLAGS to Pokedex struct (#4213)
* Added FREE_EXTRA_SEEN_FLAGS to Pokedex struct

* Fixed SaveBlock1 comment (please squash)

* Separated FREE_EXTRA_SEEN_FLAGS for each SaveBlock
2024-02-19 18:42:56 +01:00
Martin Griffin
311d732359
Save-compatible SaveBlock3 (#4112)
* SaveBlock3 in sector footers

* Update load_save.c

Since mgriffin is currently not available I took the liberty to edit the file. Hope it's fine.

* SaveBlock3 in debug menu (#3)

---------

Co-authored-by: DizzyEggg <jajkodizzy@wp.pl>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com>
2024-02-10 18:14:36 +01:00
Bassoonian
84686d15d8
Merge branch 'upcoming' into ghoulsaveblock 2024-02-06 23:36:46 +01:00
Nephrite
f7ec44c2ea
Fixed Shield Dust, added tests (#4137)
* Fixed Shield Dust, added tests

Also fixed a duplicate macro caused by near-simultaneous PR merges (oops)

* Added KNOWN_FAILING Sparkling Aria test

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-02-06 09:19:37 +01:00
Eduardo Quezada
f89efad082 Merge branch '_RHH/master' into _RHH/upcoming 2024-02-05 17:52:34 -03:00
Nephrite
65c508d193
Secondary effects overhaul minor follow-up (#4062)
* settwoturnstring command

* Unified two-turn attacks and Meteor Beam

To do: Solar Beam

* Solar Beam

Also fixed various function, removed EFFECT_GUST (who knows why that exists?)

* Updated Solar Beam + tests

* Redid two turn move + animations logic

Removed pointless various function; to do: remove Skull Bash, fix AI test

* Removed now-pointless flag

* Removed Skull Bash

And temporarily commented out failing AI tests

* Removed Sky Uppercut effect

Not sure when or why this was ever necessary

* Removed BattleScript_EffectSemiInvulnerable

Now uses BattleScript_EffectTwoTurnsAttack. Kept the effect; used the argument field to determine which STATUS3 such moves should apply but added a function to jump over weather checks in BattleScript_EffectTwoTurnsAttack if the current move is semi-invulnerable (since the instant-fire weather check and STATUS3 use the same field)

* Applied review changes

* Replaced VARIOUS with callnative

Tried to fix test but couldn't :/ wtf is going on

* Fixed one AI test

Cant fix the other...

* Added KNOWN_FAILING to failing AI tests

Separated them out into their own test

* Optimised script, overhauled charge turn string setting

Condensed multiple confusing macros into one, jumpifweathercheckchargeeffects. Script now tweaked and trimmed, string ids for charge turns now added to argument along with status3 (thanks to compression macro) and instant-fire-weather for semi-invulnerable and two-turn moves respectively. Also introduced a savedStringId in gBattleScripting to make string selection work.

* Unified two turn move tests + minor corrections

* Added semi-invulnerable move tests

Set the Razor Wind test to known failing - something to do with its animation?

---------

Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
2024-02-04 23:02:59 +01:00
Nephrite
7ae50ea507
Metaprogram (#3968)
* metaprogram.h

Created by Mr. Griffin. Removed non-relevant parts

* Added DEFAULT/DEFAULT_2 macros

Also added a demonstration in battle_main

* Removed GET_ARGS

* Expanded DEFAULT

Because why not?

* Added EXCEPT

Expands to everything but the first x arguments.

* Added BIT_INDEX (thanks to MGriffin) and COMPRESS_BIT macros

These let you compress a bit up to a word in size inside a single byte and uncompress at the same time. BIT_INDEX just tells you where the bit is.

* Updated HANDLE_EXPANDED_MOVE_NAME

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
2024-02-04 16:28:27 -03:00
DizzyEggg
85eea4869d
Fix move animation crashing on some emulators because of division by zero (#4121)
* fix flip turn div by zero

* fix incinerate move anim div by zero
2024-02-03 16:56:50 +01:00
Bassoonian
6f668fb31d Add FREE_MYSTERY_GIFT 2024-02-02 16:31:19 +01:00
Bassoonian
495ee6698c Clean up code 2024-02-02 13:13:27 +01:00
Bassoonian
acf5d8133a Convert ifndef configs to standard configs 2024-02-02 12:43:31 +01:00
Bassoonian
d1bb078919 Merge branch 'saveblock' of https://github.com/ghoulslash/pokeemerald into ghoulsaveblock 2024-02-02 11:27:48 +01:00
Eduardo Quezada D'Ottone
c8d73c0827
Merge branch 'upcoming' into guillotine-expansion 2024-01-26 10:10:27 -03:00
LOuroboros
80ffaa5e2c
Raised the limit of max items per stack to 999 (#3923)
* Expanded the amount of max items per stack from 99 to 999

* Set Battle Pyramid Bag stack limit back to 99
This commit exists for archival purposes.
People who may want to set the limit of item stacks in the Battle Pyramid's bag to 999 can refer to its code diff.

* Reintroduced the Battle Pyramid changes through a MAX_PYRAMID_BAG_ITEM_CAPACITY constant

* Gave 3 digit support to the Battle Pyramid's bag

* Rewrote the comment for MAX_PYRAMID_BAG_ITEM_CAPACITY

* Made DebugAction_Give_Item_SelectQuantity use MAX_ITEM_DIGITS

* Ditched BERRY_CAPACITY_DIGITS and BAG_ITEM_CAPACITY_DIGITS

* Removed MAX_BERRY_CAPACITY
No point in keeping it if we're making all item stacks cap at 999.

* Applied review corrections

* Removed pointless local var in DebugAction_Give_Item_SelectQuantity

* Defined a MAX_PYRAMID_ITEM_DIGITS

* Cleaned up some of the functions in which MAX_ITEM_DIGITS is used

Summary:
-Removed pointless local variables in CheckBagHasSpace, AddBagItem, PrintItemQuantity and PrintItemSoldAmount.
-Removed pointless brackets in an if statement of CheckBagHasSpace.
-Initialized the pocket local variable of CheckBagHasSpace from the get go to save a few lines too.

---------

Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
2024-01-14 16:32:38 -03:00
Ariel A
85aab338a9 Merge branch 'guillotine' into guillotine-expansion 2024-01-08 19:43:06 -05:00
Ariel A
1ce961768e Added automatic runtime decapitalization. 2024-01-07 20:21:14 -05:00
Bassoonian
9e051aa058 Merge branch 'master' of https://github.com/pret/pokeemerald into pretmergenewyears 2023-12-30 20:49:05 +01:00
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
Bassoonian
e5ac2fe0b1 Clean up pokemon/ball/dex mentions in comments 2023-12-12 19:02:36 +01:00
psf
75d06bb599
Generation 6 Experience Share (#3276) 2023-09-07 23:18:18 -03:00
Eduardo Quezada
0d5b00aaf2 Merge remote-tracking branch 'pret/master' into RHH/pr/upcoming/pret_20230829
# Conflicts:
#	README.md
#	data/battle_ai_scripts.s
#	data/battle_scripts_1.s
#	data/maps/BattleFrontier_Lounge7/scripts.inc
#	include/battle_anim.h
#	include/battle_message.h
#	include/constants/items.h
#	src/battle_ai_script_commands.c
#	src/battle_ai_switch_items.c
#	src/battle_anim_throw.c
#	src/battle_anim_utility_funcs.c
#	src/battle_controller_link_opponent.c
#	src/battle_controller_link_partner.c
#	src/battle_controller_opponent.c
#	src/battle_controller_player.c
#	src/battle_controller_player_partner.c
#	src/battle_controller_recorded_opponent.c
#	src/battle_controller_recorded_player.c
#	src/battle_controller_wally.c
#	src/battle_gfx_sfx_util.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/data/party_menu.h
#	src/data/pokemon/tmhm_learnsets.h
#	src/daycare.c
#	src/field_specials.c
#	src/hall_of_fame.c
#	src/party_menu.c
#	src/pokemon.c
#	src/tv.c
2023-08-31 14:28:01 -04:00
GriffinR
bdc0ea1037 Add MOD to match mod with powers of 2 2023-08-16 16:44:45 -04:00
Eduardo Quezada
f94efa94e1 Merge branch 'RHH/master' into RHH/upcoming 2023-08-02 01:18:07 -04:00
Martin Griffin
0e5c78aeb6 Merge remote-tracking branch 'pret/master' into 'rhh/master' 2023-07-25 19:49:18 +01:00
Martin Griffin
31a3ada7de Detect potential misalignment in modern 2023-07-24 19:42:56 +01:00
Martin Griffin
b53cca1a06
Declarations for 2- and 3-argument GetMonData (#1756)
* Type-safe GetMonData/GetBoxMonData

* Comments
2023-07-24 09:57:37 -04:00
gruxor
5fd881a1b6 Remove unused macro to fix syntax highlights 2023-07-12 14:44:23 -04:00
sbird
6482279fa3 [battle, math] refactor damage calculation to use proper fp type and inlined multiplication 2023-07-07 18:51:23 +02:00
ghoulslash
ee0652416d merge w pret 2023-05-11 10:27:41 -04:00
Martin Griffin
76f02774ea Detect memory leaks in tests
Can use KNOWN_LEAKING; to specify that a test is known to leak memory.

The location information is available in regular game builds. Thus it is
available for use in debugging leaks in-game too. In the future we
should consider replacing it with NULL if NDEBUG is defined. This is not
currently possible because the tests do not force NDEBUG to be
undefined.
2023-04-20 20:35:22 +01:00
Eduardo Quezada
7c29a24110 Merge remote-tracking branch 'pret/master' into RHH/pr/sync/pretsync20230413 2023-04-13 17:05:48 -04:00
sbird
aea5d79aa2 [trainer_parties] implement fully customizable npc trainer parties
fix nature related bug, fix hash generation, add tests
2023-03-25 20:00:04 +01:00
GriffinR
6be9a79b8c
Merge pull request #1871 from GriffinRichards/doc-trendy-sayings
Document the trendy sayings word group
2023-03-24 08:05:51 -04:00
Eduardo Quezada
51b716c9d9 Merge remote-tracking branch 'pret/master' into RHH/pr/sync/pret_20230319
# Conflicts:
#	data/battle_scripts_2.s
#	include/constants/battle_string_ids.h
#	include/constants/songs.h
#	src/battle_message.c
#	src/data/pokemon/species_info.h
2023-03-19 20:28:56 -03:00
Eduardo Quezada
2cb54c49da Changed definitions of string conversion IDE macros to allow their use in compound literals without IDE errors 2023-03-14 15:38:18 -03:00
GriffinR
0c380862d6 Document the trendy saying word group 2023-03-13 15:58:40 -04:00
Martin Griffin
f1b9872bf0 Test moves, items, and abilities in battle
Thank you to SBird for providing mgba-rom-test binaries and Spikes/Toxic
Spikes tests!

Co-authored-by: sbird <sbird@no.tld>
2023-02-01 13:53:57 +00:00
Eduardo Quezada
749225ace1 Matching merge from upstream pret
# Conflicts:
#	graphics/interface/menu_info.png
#	include/pokemon.h
#	src/battle_ai_switch_items.c
#	src/battle_anim_mons.c
#	src/battle_anim_water.c
#	src/battle_controller_opponent.c
#	src/battle_gfx_sfx_util.c
#	src/battle_main.c
#	src/battle_pike.c
#	src/battle_script_commands.c
#	src/data/pokemon/species_info.h
#	src/pokemon.c
#	src/pokemon_summary_screen.c
2023-01-20 12:31:54 -03:00
GriffinR
36c89d345c
Merge branch 'master' into doc-wnews 2023-01-03 22:28:21 -05:00
Eduardo Quezada
e0802f13a2 Merge remote-tracking branch 'pret/master' into RHH/pr/sync/pretmerge_20230103
# Conflicts:
#	include/link_rfu.h
2023-01-03 15:40:33 -03:00
Eduardo Quezada
66d1c9bc65 Documenting padding in structs used by Saveblocks 2022-12-17 22:55:43 -03:00
GriffinR
483c3d5c13 Document wonder news 2022-11-22 02:17:03 -05:00
Eduardo Quezada
1d7e8bd730 Merge remote-tracking branch 'pret/master' into RHH/pr/pretmerge_20220909
# Conflicts:
#	asm/macros/battle_ai_script.inc
#	asm/macros/battle_script.inc
#	data/battle_ai_scripts.s
#	include/link_rfu.h
#	src/pokemon.c
#	src/pokemon_summary_screen.c
#	src/sound.c
2022-09-13 16:22:42 -03:00
Eduardo Quezada
65108c3192 Cleaned trailing whitespace 2022-09-11 14:14:49 -04:00
crater-git
940f9f1726 Moved branch defs to config.h, now only for compat 2022-08-24 16:10:32 -04:00
Eduardo Quezada
afcc1178b2 Merge remote-tracking branch 'pret/master' into MergedBranchUltimate
# Conflicts:
#	data/battle_ai_scripts.s
#	data/battle_scripts_1.s
#	include/battle_controllers.h
#	include/battle_script_commands.h
#	include/battle_util.h
#	include/constants/battle_script_commands.h
#	include/constants/global.h
#	include/decompress.h
#	src/battle_anim_effects_1.c
#	src/battle_anim_normal.c
#	src/battle_anim_poison.c
#	src/battle_anim_water.c
#	src/battle_arena.c
#	src/battle_controller_link_opponent.c
#	src/battle_controller_link_partner.c
#	src/battle_controller_opponent.c
#	src/battle_controller_player.c
#	src/battle_controller_player_partner.c
#	src/battle_controller_recorded_opponent.c
#	src/battle_controller_recorded_player.c
#	src/battle_controller_safari.c
#	src/battle_controller_wally.c
#	src/battle_gfx_sfx_util.c
#	src/battle_interface.c
#	src/battle_main.c
#	src/battle_message.c
#	src/battle_script_commands.c
#	src/battle_util.c
#	src/berry.c
#	src/data/trainers.h
#	src/decompress.c
#	src/field_effect.c
#	src/hall_of_fame.c
#	src/overworld.c
#	src/pokeball.c
#	src/pokemon.c
#	src/pokemon_icon.c
#	src/pokemon_storage_system.c
#	src/scrcmd.c
2022-08-22 20:30:45 -04:00
Eduardo Quezada
13672680b0 void pointer standarized 2022-07-29 10:52:35 -04:00
Eduardo Quezada
7b3401ee27 Standarized use of star in pointer types 2022-07-29 10:17:58 -04:00