52 Commits

Author SHA1 Message Date
Hedara
a3a48c59b8 Merge remote-tracking branch 'pret/master' into pret-merge-2025-03-29 2025-03-29 14:21:29 +01:00
Eduardo Quezada
9c4fbbf274 Merge branch '_RHH/master' into _RHH/upcoming 2025-02-13 13:06:32 -03:00
Hedara
a859f40e37 Review comments 2025-02-12 14:31:42 +01:00
Hedara
7426a98dc5 Merge remote-tracking branch 'merrp/followers-expanded-id' into merrp-merge 2025-02-12 13:34:28 +01:00
DizzyEggg
07255a2237
extern void * const gNullScriptPtr; 2025-01-10 11:55:02 +01:00
Martin Griffin
4c4137d600
Revert #5033 change to MapHeaderRunScriptType (#5975) 2025-01-08 19:26:35 +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
Ariel A
4056804575 feat: improved follower handling during scripted movements 2024-10-20 23:55:05 -04:00
pkmnsnfrn
f0bd3c57da Fixed spacing per https://github.com/rh-hideout/pokeemerald-expansion/pull/5044\#pullrequestreview-2315029773 2024-09-19 05:45:11 -07:00
pkmnsnfrn
30cc06785d Fixed global variable naming conventions 2024-08-12 06:55:33 -07:00
pkmnsnfrn
4387b6ef70 Removed SetWalkingIntoSignVars per https://github.com/rh-hideout/pokeemerald-expansion/pull/5044\#discussion_r1712963824 2024-08-11 18:10:18 -07:00
pkmnsnfrn
c3c433439e Removed ClearMsgBoxCancelableState per https://github.com/rh-hideout/pokeemerald-expansion/pull/5044\#discussion_r1712963672 2024-08-11 18:01:52 -07:00
pkmnsnfrn
846e8a29da Removed IsMsgSignPost per https://github.com/rh-hideout/pokeemerald-expansion/pull/5044\#discussion_r1712963672 2024-08-11 17:49:07 -07:00
pkmnsnfrn
61eff23d89 Moved menu defines to header file
Added FRLG signpost border
Started working on LoadSignPostWindowFrameGfx
2024-07-15 22:57:29 -07:00
pkmnsnfrn
1ae615651d Renamed gWalkAwayFromSignInhibitTimer to gWalkAwayFromSignpostTimer 2024-07-15 22:33:31 -07:00
pkmnsnfrn
28183ec299 first merge of ghoul's branch 2024-07-15 21:35:58 -07: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
ghoulslash
5657f8369e merge w pret 2023-05-11 10:44:18 -04:00
ghoulslash
ee0652416d merge w pret 2023-05-11 10:27:41 -04:00
sbird
569fa0a60a [script-command] add dynmultichoice
* supports variable length arguments
 * automatically scrolls
 * supports building list menus from a stack
2023-01-17 21:49:06 +01:00
Eduardo Quezada
65108c3192 Cleaned trailing whitespace 2022-09-11 14:14:49 -04:00
tustin2121
ec73158f16 Moving documentation comments per request
from the discord chat.
2022-08-15 16:37:38 -04:00
tustin2121
1cb659df8c Renaming Script Contexts
- Determined how the various script contexts were used and renamed accordingly.
- ScriptContext2_Enable/Disable => Lock/UnlockPlayerFieldControls - The sole purpose of the flag is to make sure the player can't move around in the overworld. It has nothing to do with script contexts.
- ScriptContext1 => ScriptContext - It is the global script context used to set up scripts which run over many frames.
- ScriptContext2_RunNewScript => RunScriptImmediately - ScriptContext2's sole purpose was to run scripts immediately and in a separate context, usually while the global context is waiting for things like map loads or screen changes.
2022-08-15 15:18:12 -04:00
Eduardo Quezada
7b3401ee27 Standarized use of star in pointer types 2022-07-29 10:17:58 -04:00
ghoulslash
f9856c2833 merge w pret 2021-12-20 12:32:24 -05:00
GriffinR
04cc923d6c Handle optional arguments for warp commands, add WARP_ID_NONE 2021-11-16 10:53:00 -05:00
GriffinR
c1130592fa Drop some overworld prefixes 2021-11-15 10:58:05 -05:00
ghoulslash
c7a8d58eec merge w pret 2021-11-04 10:03:33 -04:00
GriffinR
ece7ef3410 Correct usage of MysteryEvent to MysteryGift 2021-10-17 03:00:48 -04:00
GriffinR
845a5e99cc General mystery gift documentation, finish mystery gift client/server/scripts 2021-10-16 23:35:17 -04:00
GriffinR
c02001c46d Document mystery gift link scripts, general mystery gift 2021-10-15 12:05:06 -04:00
Evan
ef6c4ddbb1 remove 1000ish bytes with ramscript (thx griffinR for advice) 2021-04-02 09:17:10 -06:00
ghoulslash
dfce7f1548 add auto read signposts 2021-04-01 09:45:17 -06:00
GriffinR
293df1887f Fix comment typo 2021-02-24 11:26:26 -05:00
GriffinR
e52b46ab43 Clean up script.c 2021-02-24 11:03:17 -05:00
GriffinR
0064333e4a Clean up scrcmd.c 2021-01-26 02:16:26 -05:00
GriffinR
b65980cd4e Remove unused local variables and functions 2021-01-19 18:19:33 -05:00
aaaaaa123456789
7dc95a0103 Undo PokeCodec's PRs
This commit undoes most of PokeCodec's PRs after the debate in chat. Some
harmless or completely superseded PRs have been left alone, as there is not
much benefit in attempting to undo them.

Reverts #1104, #1108, #1115, #1118, #1119, #1124, #1126, #1127, #1132, #1136,
#1137, #1139, #1140, #1144, #1148, #1149, #1150, #1153, #1155, #1177, #1179,
#1180, #1181, #1182 and #1183.
2020-09-13 06:30:55 -03:00
PokeCodec
1515a2ecc4 Fix To-Dos 2020-08-28 14:00:31 -04:00
GriffinR
ec3e86f1d2 Standardize Event Object to Object Event 2019-11-20 22:55:44 -05:00
PikalaxALT
b839c21307 Fix/suppress warnings when building with gcc-8 2019-06-26 16:42:57 -04:00
PikalaxALT
d220f876fc Some symbol documentation 2019-04-03 17:04:42 -05:00
PikalaxALT
ade0183378 Document mystery_gift 2019-03-31 18:59:52 -04:00
Marcus Huderle
d7a9fcb975 Cleanup mevent2 2019-03-24 18:29:00 -05:00
Phlosioneer
a5cf2b8090 Use map script constants in map script functions 2019-02-25 08:01:22 -06:00
Phlosioneer
5f7a971313 Source file part of map script renaming 2019-02-25 08:01:22 -06:00
Diegoisawesome
e75f0b4f80 Port/decompile field_control_avatar 2018-10-16 21:47:08 -05:00
DizzyEggg
824699f505 overworld review changes2 2018-02-15 23:09:52 +01:00
Diegoisawesome
f300f853c8 Add const qualifiers to scrcmd 2017-10-12 14:39:18 -05:00