Lastexpress/Internals

From ScummVM :: Wiki
Jump to navigation Jump to search

Entities

The AI logic for the game was originally written in a script language and then compiled to native code.

Each character (plus some specific non-characters) in the game - called entities in the ScummVM engine - has a set of logic functions:

  • a global setup function, called on engine startup and once for each chapter
  • a CallFunction method that increments the current call index and calls a function pointer with the passed arguments
  • a set of logic functions that comes in pair: a setup function that prepares the arguments and store them in a custom structure, and the function itself
    • shared functions (they are mostly identical between each entity, but duplicated in the original engine)
    • chapter setup/handler functions
    • per-chapter functions

Actions

Scenes

Objects

Inventory

Sound

Menu

Beetle

Combat