Skip to content

script_variable_meanings.txt: Followup script engine implementation research #144

@UsernameFodder

Description

@UsernameFodder

See the follow-up ideas suggested in #143 (comment). 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:

  • VAR_VERSION: 0x204C448
  • VAR_DUNGEON_SELECT: 0x22E1DC8, 0x22DDA78
  • VAR_DUNGEON_ENTER: 0x204E848, 0x204E8BC, 0x204F1D0, 0x22E8A58, 0x22DDA88
  • VAR_REQUEST_CLEAR_COUNT: 0x22E6D34
  • VAR_PLAYER_KIND: 0x20650E8, 0x2065188
  • VAR_ATTENDANT1_KIND: 0x20651BC, 0x22F7EEC
  • VAR_ATTENDANT2_KIND: 0x20651CC
  • VAR_HERO_FIRST_KIND: 0x2048868
  • VAR_HERO_FIRST_NAME: 0x2048878
  • VAR_PARTNER_FIRST_KIND: 0x20488D8
  • VAR_PARTNER_FIRST_NAME: 0x20488E8
  • VAR_HERO_TALK_KIND: 0x204893C
  • VAR_PARTNER_TALK_KIND: 0x209CCE4, 0x204897C
  • VAR_RANDOM_REQUEST_NPC03_KIND: 0x2065BA4, 0x205EB5C
  • VAR_CONFIG_COLOR_KIND: 0x20AFF28, 0x2048990
  • VAR_ROM_VARIATION: 0x204B0E4
  • VAR_GAME_MODE: 0x204B018, 0x2065D1C
  • VAR_SPECIAL_EPISODE_TYPE: 0x204C910
  • VAR_SPECIAL_EPISODE_CONQUEST: 0x204CA30
  • VAR_DUNGEON_ENTER_LIST: 0x204CEE0
  • VAR_WORLD_MAP_LEVEL: 0x204CDF8, 0x204CDD8
  • VAR_POSITION_X: 0x22E0E10, 0x22E0D18
  • VAR_POSITION_Y: 0x22E0E28, 0x22E0D30
  • VAR_POSITION_HEIGHT: 0x22E0E40, 0x22E0D48
  • VAR_POSITION_DIRECTION: 0x22E0E58, 0x22E0D60
  • VAR_SUB30_TREASURE_DISCOVER: 0x2012078, 0x2011AB8
  • VAR_SUB30_SPOT_DISCOVER: 0x2012100, 0x2011AB8
  • VAR_RECYCLE_COUNT: 0x2012004, 0x2011AB8
  • VAR_SUB30_SPOT_LEVEL: 0x20120F0, 0x2011AB8

Metadata

Metadata

Assignees

No one assigned

    Labels

    researchThese symbols, headers, etc. need more research

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions