See the follow-up ideas suggested in https://github.com/UsernameFodder/pmdsky-debug/pull/143#issue-1729618573. It would probably be enlightening to dig into how the script engine is actually implemented in the game's code. Further understanding on this front would probably complement the community's current high-level understanding of scripting, and could be mutually beneficial for both sides.
Existing information
arm9.yml already has a block of functions obviously related to the script engine in the [NA]0x204B*** and [NA]0x204C*** area.
overlay11.yml has some particularly important-sounding functions like ScriptCommandParsing and ScriptSpecialProcessCall.
ram.yml has a couple data symbols that seem to back certain script variables.
enum script_var_id, and enum special_process_id, have useful notes.
Relevant addresses
These NA addresses are mentioned in the comments of enum script_var_id and could use symbol-ification:
See the follow-up ideas suggested in https://github.com/UsernameFodder/pmdsky-debug/pull/143#issue-1729618573. It would probably be enlightening to dig into how the script engine is actually implemented in the game's code. Further understanding on this front would probably complement the community's current high-level understanding of scripting, and could be mutually beneficial for both sides.
Existing information
arm9.yml
already has a block of functions obviously related to the script engine in the[NA]0x204B***
and[NA]0x204C***
area.overlay11.yml
has some particularly important-sounding functions likeScriptCommandParsing
andScriptSpecialProcessCall
.ram.yml
has a couple data symbols that seem to back certain script variables.enum script_var_id
, andenum special_process_id
, have useful notes.Relevant addresses These NA addresses are mentioned in the comments of
enum script_var_id
and could use symbol-ification:VAR_VERSION
: 0x204C448VAR_DUNGEON_SELECT
: 0x22E1DC8, 0x22DDA78VAR_DUNGEON_ENTER
: 0x204E848, 0x204E8BC, 0x204F1D0, 0x22E8A58, 0x22DDA88VAR_REQUEST_CLEAR_COUNT
: 0x22E6D34VAR_PLAYER_KIND
: 0x20650E8, 0x2065188VAR_ATTENDANT1_KIND
: 0x20651BC, 0x22F7EECVAR_ATTENDANT2_KIND
: 0x20651CCVAR_HERO_FIRST_KIND
: 0x2048868VAR_HERO_FIRST_NAME
: 0x2048878VAR_PARTNER_FIRST_KIND
: 0x20488D8VAR_PARTNER_FIRST_NAME
: 0x20488E8VAR_HERO_TALK_KIND
: 0x204893CVAR_PARTNER_TALK_KIND
: 0x209CCE4, 0x204897CVAR_RANDOM_REQUEST_NPC03_KIND
: 0x2065BA4, 0x205EB5CVAR_CONFIG_COLOR_KIND
: 0x20AFF28, 0x2048990VAR_ROM_VARIATION
: 0x204B0E4VAR_GAME_MODE
: 0x204B018, 0x2065D1CVAR_SPECIAL_EPISODE_TYPE
: 0x204C910VAR_SPECIAL_EPISODE_CONQUEST
: 0x204CA30VAR_DUNGEON_ENTER_LIST
: 0x204CEE0VAR_WORLD_MAP_LEVEL
: 0x204CDF8, 0x204CDD8VAR_POSITION_X
: 0x22E0E10, 0x22E0D18VAR_POSITION_Y
: 0x22E0E28, 0x22E0D30VAR_POSITION_HEIGHT
: 0x22E0E40, 0x22E0D48VAR_POSITION_DIRECTION
: 0x22E0E58, 0x22E0D60VAR_SUB30_TREASURE_DISCOVER
: 0x2012078, 0x2011AB8VAR_SUB30_SPOT_DISCOVER
: 0x2012100, 0x2011AB8VAR_RECYCLE_COUNT
: 0x2012004, 0x2011AB8VAR_SUB30_SPOT_LEVEL
: 0x20120F0, 0x2011AB8