ScummVM
Glk::Adrift Namespace Reference

Classes

class  Adrift
 Adrift game interpreter. More...
 
class  AdriftMetaEngine
 Meta engine for Adrift interpreter. More...
 
struct  gsc_abbreviation_t
 
struct  gsc_codepages_t
 
struct  gsc_command_t
 
struct  gsc_font_size_t
 
struct  gsc_locale_t
 
class  LoadSerializer
 Loading serializer class. More...
 
class  SaveSerializer
 Saving serializer class. More...
 
struct  sc_commands_s
 
struct  sc_debugger_s
 
struct  sc_eventstate_s
 
struct  sc_expr_multichar_t
 
struct  sc_filter_s
 
struct  sc_game_s
 
struct  sc_history_s
 
struct  sc_html_tags_t
 
struct  sc_locale_t
 
struct  sc_locale_table_t
 
struct  sc_memo_s
 
struct  sc_memo_set_s
 
struct  sc_npcstate_s
 
struct  sc_objectstate_s
 
struct  sc_parse_resource_t
 
struct  sc_parse_schema_t
 
struct  sc_precedence_entry_t
 
struct  sc_prop_node_s
 
struct  sc_prop_set_s
 
struct  sc_ptnode_s
 
struct  sc_ptshortword_t
 
struct  sc_resource_s
 
struct  sc_roomstate_s
 
struct  sc_slabdesc_t
 
struct  sc_stack_t
 
struct  sc_strings_t
 
struct  sc_taf_s
 
struct  sc_taskstate_s
 
struct  sc_uip_token_entry_t
 
struct  sc_var_s
 
struct  sc_var_set_s
 
union  sc_vartype_t
 
struct  sx_scr_location_t
 
struct  sx_scr_stream_t
 
struct  sx_test_data_t
 
struct  sx_test_descriptor_s
 

Typedefs

typedef gsc_command_tgsc_commandref_t
 
typedef gsc_abbreviation_tgsc_abbreviationref_t
 
typedef char sc_char
 
typedef unsigned char sc_byte
 
typedef long sc_int
 
typedef unsigned long sc_uint
 
typedef int sc_bool
 
typedef void * sc_game
 
typedef void * sc_game_hint
 
typedef sc_debugger_s sc_debugger_t
 
typedef sc_roomstate_s sc_roomstate_t
 
typedef sc_objectstate_s sc_objectstate_t
 
typedef sc_taskstate_s sc_taskstate_t
 
typedef sc_eventstate_s sc_eventstate_t
 
typedef sc_npcstate_s sc_npcstate_t
 
typedef sc_resource_s sc_resource_t
 
typedef sc_game_s sc_game_t
 
typedef sc_memo_s sc_memo_t
 
typedef sc_memo_tsc_memoref_t
 
typedef sc_history_s sc_history_t
 
typedef sc_history_tsc_historyref_t
 
typedef sc_memo_set_s sc_memo_set_t
 
typedef sc_ptnode_s sc_ptnode_t
 
typedef sc_ptnode_tsc_ptnoderef_t
 
typedef sc_ptshortword_tsc_ptshortwordref_t
 
typedef sc_filter_s sc_filter_t
 
typedef sc_prop_node_s sc_prop_node_t
 
typedef sc_prop_node_tsc_prop_noderef_t
 
typedef sc_prop_set_s sc_prop_set_t
 
typedef sc_int(* sc_read_callbackref_t) (void *, sc_byte *, sc_int)
 
typedef void(* sc_write_callbackref_t) (void *, const sc_byte *, sc_int)
 
typedef struct sc_taf_ssc_tafref_t
 
typedef struct sc_prop_set_ssc_prop_setref_t
 
typedef struct sc_game_ssc_gameref_t
 
typedef struct sc_taskstate_ssc_hintref_t
 
typedef struct sc_var_set_ssc_var_setref_t
 
typedef struct sc_filter_ssc_filterref_t
 
typedef struct sc_memo_set_ssc_memo_setref_t
 
typedef struct sc_resource_ssc_resourceref_t
 
typedef struct sc_debugger_ssc_debuggerref_t
 
typedef sc_commands_s sc_commands_t
 
typedef sc_commands_tsc_commandsref_t
 
typedef sc_slabdesc_tsc_slabdescref_t
 
typedef sc_taf_s sc_taf_t
 
typedef sc_var_s sc_var_t
 
typedef sc_var_tsc_varref_t
 
typedef sc_var_set_s sc_var_set_t
 
typedef Common::SeekableReadStreamsx_script
 
typedef struct Glk::Adrift::sx_test_descriptor_s sx_test_descriptor_t
 
typedef sx_scr_location_tsx_scr_locationref_t
 

Enumerations

enum  { VERSION_HEADER_SIZE = 14 }
 
enum  { GSC_TABLE_SIZE = 256 }
 
enum  { GSC_STATUS_BUFFER_LENGTH = 74 }
 
enum  { GSC_MAX_STYLE_NESTING = 32 }
 
enum  gsc_end_option { GAME_RESTART, GAME_UNDO, GAME_QUIT }
 
enum  { BYTE_MAX = 0xff }
 
enum  { INTEGER_MAX = 0x7fff }
 
enum  {
  SC_CONF_QUIT = 0, SC_CONF_RESTART, SC_CONF_SAVE, SC_CONF_RESTORE,
  SC_CONF_VIEW_HINTS
}
 
enum  {
  SC_TAG_UNKNOWN = 0, SC_TAG_ITALICS, SC_TAG_ENDITALICS, SC_TAG_BOLD,
  SC_TAG_ENDBOLD, SC_TAG_UNDERLINE, SC_TAG_ENDUNDERLINE, SC_TAG_COLOR,
  SC_TAG_ENDCOLOR, SC_TAG_FONT, SC_TAG_ENDFONT, SC_TAG_BGCOLOR,
  SC_TAG_CENTER, SC_TAG_ENDCENTER, SC_TAG_RIGHT, SC_TAG_ENDRIGHT,
  SC_TAG_WAIT, SC_TAG_WAITKEY, SC_TAG_CLS, SC_TAG_COLOUR = SC_TAG_COLOR,
  SC_TAG_ENDCOLOUR = SC_TAG_ENDCOLOR, SC_TAG_BGCOLOUR = SC_TAG_BGCOLOR, SC_TAG_CENTRE = SC_TAG_CENTER, SC_TAG_ENDCENTRE = SC_TAG_ENDCENTER
}
 
enum  {
  SC_TRACE_PARSE = 1, SC_TRACE_PROPERTIES = 2, SC_TRACE_VARIABLES = 4, SC_TRACE_PARSER = 8,
  SC_TRACE_LIBRARY = 16, SC_TRACE_EVENTS = 32, SC_TRACE_NPCS = 64, SC_TRACE_OBJECTS = 128,
  SC_TRACE_TASKS = 256, SC_TRACE_PRINTFILTER = 512, SC_DUMP_TAF = 1024, SC_DUMP_PROPERTIES = 2048,
  SC_DUMP_VARIABLES = 4096, SC_DUMP_PARSER_TREES = 8192, SC_DUMP_LOCALE_TABLES = 16384
}
 
enum  { DEBUG_BUFFER_SIZE = 256 }
 
enum  sc_command_t {
  DEBUG_NONE = 0, DEBUG_CONTINUE, DEBUG_STEP, DEBUG_BUFFER,
  DEBUG_RESOURCES, DEBUG_HELP, DEBUG_GAME, DEBUG_PLAYER,
  DEBUG_ROOMS, DEBUG_OBJECTS, DEBUG_NPCS, DEBUG_EVENTS,
  DEBUG_TASKS, DEBUG_VARIABLES, DEBUG_OLDPLAYER, DEBUG_OLDROOMS,
  DEBUG_OLDOBJECTS, DEBUG_OLDNPCS, DEBUG_OLDEVENTS, DEBUG_OLDTASKS,
  DEBUG_OLDVARIABLES, DEBUG_WATCHPLAYER, DEBUG_WATCHOBJECTS, DEBUG_WATCHNPCS,
  DEBUG_WATCHEVENTS, DEBUG_WATCHTASKS, DEBUG_WATCHVARIABLES, DEBUG_CLEARPLAYER,
  DEBUG_CLEAROBJECTS, DEBUG_CLEARNPCS, DEBUG_CLEAREVENTS, DEBUG_CLEARTASKS,
  DEBUG_CLEARVARIABLES, DEBUG_WATCHALL, DEBUG_CLEARALL, DEBUG_RANDOM,
  DEBUG_QUIT
}
 
enum  sc_command_type_t { COMMAND_QUERY = 0, COMMAND_RANGE, COMMAND_ONE, COMMAND_ALL }
 
enum  { MAX_NESTING_DEPTH = 32 }
 
enum  {
  TOK_NONE = -1, TOK_ADD = '+', TOK_SUBTRACT = '-', TOK_MULTIPLY = '*',
  TOK_DIVIDE = '/', TOK_AND = '&', TOK_OR = '|', TOK_LPAREN = '(',
  TOK_RPAREN = ')', TOK_COMMA = ',', TOK_POWER = '^', TOK_EQUAL = '=',
  TOK_GREATER = '>', TOK_LESS = '<', TOK_IDENT = 256, TOK_INTEGER,
  TOK_STRING, TOK_VARIABLE, TOK_UMINUS, TOK_UPLUS,
  TOK_MOD, TOK_NOT_EQUAL, TOK_GREATER_EQ, TOK_LESS_EQ,
  TOK_IF, TOK_MIN, TOK_MAX, TOK_EITHER,
  TOK_RANDOM, TOK_INSTR, TOK_LEN, TOK_VAL,
  TOK_ABS, TOK_UPPER, TOK_LOWER, TOK_PROPER,
  TOK_RIGHT, TOK_LEFT, TOK_MID, TOK_STR,
  TOK_CONCATENATE, TOK_EOS = '\0'
}
 
enum  {
  OBJ_HIDDEN = -1, OBJ_HELD_PLAYER = 0, OBJ_HELD_NPC = -200, OBJ_WORN_PLAYER = -100,
  OBJ_WORN_NPC = -300, OBJ_PART_PLAYER = -30, OBJ_PART_NPC = -30, OBJ_ON_OBJECT = -20,
  OBJ_IN_OBJECT = -10
}
 
enum  {
  ES_WAITING = 1, ES_RUNNING = 2, ES_AWAITING = 3, ES_FINISHED = 4,
  ES_PAUSED = 5
}
 
enum  { SECS_PER_MINUTE = 60, MINS_PER_HOUR = 60, SECS_PER_HOUR = 3600 }
 
enum  { LIB_ALLOCATION_AVOIDANCE_SIZE = 128 }
 
enum  {
  DIR_NORTH = 0, DIR_EAST = 1, DIR_SOUTH = 2, DIR_WEST = 3,
  DIR_UP = 4, DIR_DOWN = 5, DIR_IN = 6, DIR_OUT = 7,
  DIR_NORTHEAST = 8, DIR_SOUTHEAST = 9, DIR_SOUTHWEST = 10, DIR_NORTHWEST = 11
}
 
enum  { OBJ_STANDABLE_MASK = 1 << 0, OBJ_LIEABLE_MASK = 1 << 1 }
 
enum  {
  MOVE_SIT, MOVE_SIT_FLOOR, MOVE_STAND, MOVE_STAND_FLOOR,
  MOVE_LIE, MOVE_LIE_FLOOR
}
 
enum  { TABLE_SIZE = 256 }
 
enum  { RANGES_LENGTH = 32 }
 
enum  { SIGNATURE_COUNT = 24, SIGNATURE_LENGTH = 3 }
 
enum  { MEMO_ALLOCATION_BLOCK = 32 }
 
enum  { MEMO_UNDO_TABLE_SIZE = 16, MEMO_HISTORY_TABLE_SIZE = 64 }
 
enum  { OBJ_DIMENSION_DIVISOR = 10, OBJ_DIMENSION_MULTIPLE = 3 }
 
enum  { OBJ_STANDABLE_MASK = 1 << 0, OBJ_LIEABLE_MASK = 1 << 1 }
 
enum  sc_uip_tok_t {
  TOK_NONE = -1, TOK_CHOICE, TOK_CHOICE_END, TOK_OPTIONAL,
  TOK_OPTIONAL_END, TOK_ALTERNATES_SEPARATOR, TOK_WILDCARD, TOK_WHITESPACE,
  TOK_WORD, TOK_VARIABLE, TOK_CHARACTER_REFERENCE, TOK_OBJECT_REFERENCE,
  TOK_NUMBER_REFERENCE, TOK_TEXT_REFERENCE, TOK_EOS = '\0'
}
 
enum  { UIP_ALLOCATION_AVOIDANCE_SIZE = 128 }
 
enum  sc_pttype_t {
  NODE_UNUSED = 0, NODE_CHOICE, NODE_OPTIONAL, NODE_WILDCARD,
  NODE_WHITESPACE, NODE_CHARACTER_REFERENCE, NODE_OBJECT_REFERENCE, NODE_TEXT_REFERENCE,
  NODE_NUMBER_REFERENCE, NODE_WORD, NODE_VARIABLE, NODE_LIST,
  NODE_EOS
}
 
enum  { UIP_NODE_POOL_SIZE = 128 }
 
enum  { UIP_WORD_POOL_SIZE = 64, UIP_SHORT_WORD_SIZE = 16 }
 
enum  { BUFFER_GROW_INCREMENT = 32, ITERATION_LIMIT = 32 }
 
enum  { ENTITY_LENGTH = 4, PERCENT_LENGTH = 9 }
 
enum  { PROP_GROW_INCREMENT = 32, MAX_INTEGER_KEY = 65535, NODE_POOL_CAPACITY = 512 }
 
enum  {
  TAF_VERSION_NONE = 0, TAF_VERSION_SAVE = 999, TAF_VERSION_500 = 500, TAF_VERSION_400 = 400,
  TAF_VERSION_390 = 390, TAF_VERSION_380 = 380
}
 
enum  { PROP_KEY_STRING = 's', PROP_KEY_INTEGER = 'i' }
 
enum  { PROP_INTEGER = 'I', PROP_BOOLEAN = 'B', PROP_STRING = 'S' }
 
enum  {
  ROOMLIST_NO_ROOMS = 0, ROOMLIST_ONE_ROOM = 1, ROOMLIST_SOME_ROOMS = 2, ROOMLIST_ALL_ROOMS = 3,
  ROOMLIST_NPC_PART = 4
}
 
enum  { TAFVAR_NUMERIC = 0, TAFVAR_STRING = 1 }
 
enum  { VAR_INTEGER = 'I', VAR_STRING = 'S' }
 
enum  { LIB_FIRST_PERSON = 0, LIB_SECOND_PERSON = 1, LIB_THIRD_PERSON = 2 }
 
enum  { NPC_MALE = 0, NPC_FEMALE = 1, NPC_NEUTER = 2 }
 
enum  { OBJ_WONTCLOSE = 0, OBJ_OPEN = 5, OBJ_CLOSED = 6, OBJ_LOCKED = 7 }
 
enum  { MAX_NESTING_DEPTH = 32 }
 
enum  {
  TOK_RESTRICTION = '#', TOK_AND = '&', TOK_OR = '|', TOK_LPAREN = '(',
  TOK_RPAREN = ')', TOK_EOS = '\0'
}
 
enum  { LINE_BUFFER_SIZE = 256 }
 
enum  { VERSION_HEADER_SIZE = 14, V400_HEADER_EXTRA = 8 }
 
enum  { OUT_BUFFER_SIZE = 31744, IN_BUFFER_SIZE = 16384, GROW_INCREMENT = 8 }
 
enum  { PARSE_TEMP_LENGTH = 256, PARSE_MAX_DEPTH = 32 }
 
enum  { SEPARATOR_SIZE = 3 }
 
enum  {
  PARSE_INTEGER = '#', PARSE_DEFAULT_ZERO = 'Z', PARSE_BOOLEAN = 'B', PARSE_DEFAULT_FALSE = 'F',
  PARSE_DEFAULT_TRUE = 'T', PARSE_STRING = '$', PARSE_DEFAULT_EMPTY = 'E', PARSE_MULTILINE = 'M',
  PARSE_VECTOR = 'V', PARSE_VECTOR_ALTERNATE = 'W', PARSE_ARRAY = '[', PARSE_EXPRESSION = '?',
  PARSE_EXPRESSION_NOT = '!', PARSE_GLOBAL_EXPRESSION = 'G', PARSE_CLASS = '<', PARSE_FIXUP = '|',
  PARSE_SPECIAL = '{', PARSE_IGNORE_INTEGER = 'i', PARSE_IGNORE_BOOLEAN = 'b', PARSE_IGNORE_STRING = 's'
}
 
enum  { RESOURCE_GROW_INCREMENT = 32 }
 
enum  { V390_V380_ALT_TYPEHIDE_MULT = 10 }
 
enum  { V380_OBJ_IS_SURFACE = 2, V380_OBJ_IS_CONTAINER = 1 }
 
enum  { V380_OBJ_CAPACITY_MULT = 10, V380_OBJ_DEFAULT_SIZE = 2 }
 
enum  { V380_TASK_MOVEMENTS = 6 }
 
enum  { TASK_MAXIMUM_RECURSION = 128 }
 
enum  { VAR_NUMBERS_SIZE = 21 }
 
enum  { VAR_HASH_TABLE_SIZE = 211 }
 
enum  { BUFFER_SIZE = 4096 }
 

Functions

static void gsc_event_wait_2 (glui32 wait_type_1, glui32 wait_type_2, event_t *event)
 
static void gsc_event_wait (glui32 wait_type, event_t *event)
 
static void gsc_short_delay ()
 
static void gsc_fatal (const char *string)
 
static void * gsc_malloc (size_t size)
 
static void glk_put_char_uni (glui32 ch)
 
static void glk_request_line_event_uni (winid_t win, glui32 *buf, glui32 maxlen, glui32 initlen)
 
static void gsc_set_locale (const sc_char *name)
 
static void gsc_put_char_uni (glui32 unicode, const char *ascii)
 
static void gsc_put_char_locale (sc_char ch, const gsc_locale_t *locale, sc_bool is_alternate)
 
static void gsc_put_char (const sc_char character)
 
static void gsc_put_char_alternate (const sc_char character)
 
static void gsc_put_buffer_using (const sc_char *buffer, sc_int length, void(*putchar_function)(sc_char))
 
static void gsc_put_buffer (const sc_char *buffer, sc_int length)
 
static void gsc_put_string (const sc_char *string)
 
static void gsc_put_string_alternate (const sc_char *string)
 
static sc_char gsc_unicode_to_locale (glui32 unicode, const gsc_locale_t *locale)
 
static void gsc_unicode_buffer_to_locale (const glui32 *unicode, sc_int length, sc_char *buffer, const gsc_locale_t *locale)
 
static sc_int gsc_read_line_locale (sc_char *buffer, sc_int length, const gsc_locale_t *locale)
 
static sc_int gsc_read_line (sc_char *buffer, sc_int length)
 
static sc_bool gsc_is_string_usable (const sc_char *string)
 
static void gsc_status_update ()
 
static void gsc_status_safe_strcat (char *dest, size_t length, const char *src)
 
static void gsc_status_print ()
 
static void gsc_status_notify ()
 
static void gsc_status_redraw ()
 
static void gsc_output_register_help_request ()
 
static void gsc_output_silence_help_hints ()
 
static void gsc_output_provide_help_hint ()
 
static void gsc_set_glk_style ()
 
static void gsc_handle_font_tag (const sc_char *argument)
 
static void gsc_handle_endfont_tag ()
 
static void gsc_handle_attribute_tag (sc_int tag)
 
static void gsc_handle_endattribute_tag (sc_int tag)
 
static void gsc_handle_wait_tag (const sc_char *argument)
 
static void gsc_reset_glk_style ()
 
void os_print_tag (sc_int tag, const sc_char *argument)
 
void os_print_string (const sc_char *string)
 
void os_print_string_debug (const sc_char *string)
 
static void gsc_styled_string (glui32 style, const char *message)
 
static void gsc_styled_char (glui32 style, char c)
 
static void gsc_standout_string (const char *message)
 
static void gsc_standout_char (char c)
 
static void gsc_normal_string (const char *message)
 
static void gsc_normal_char (char c)
 
static void gsc_header_string (const char *message)
 
void os_display_hints (sc_game game)
 
void os_play_sound (const sc_char *filepath, sc_int offset, sc_int length, sc_bool is_looping)
 
void os_stop_sound ()
 
void os_show_graphic (const sc_char *filepath, sc_int offset, sc_int length)
 
static void gsc_command_script (const char *argument)
 
static void gsc_command_inputlog (const char *argument)
 
static void gsc_command_readlog (const char *argument)
 
static void gsc_command_abbreviations (const char *argument)
 
static void gsc_command_print_version_number (glui32 version)
 
static void gsc_command_version (const char *argument)
 
static void gsc_command_commands (const char *argument)
 
static void gsc_command_license (const char *argument)
 
static void gsc_command_summary (const char *argument)
 
static void gsc_command_help (const char *argument)
 
static int gsc_command_escape (const char *string)
 
static void gsc_expand_abbreviations (char *buffer, int size)
 
sc_bool os_read_line (sc_char *buffer, sc_int length)
 
sc_bool os_read_line_debug (sc_char *buffer, sc_int length)
 
sc_bool os_confirm (sc_int type)
 
void * os_open_file (sc_bool is_save)
 
void os_write_file (void *opaque, const sc_byte *buffer, sc_int length)
 
sc_int os_read_file (void *opaque, sc_byte *buffer, sc_int length)
 
void os_close_file (void *opaque)
 
static sc_int gsc_callback (void *opaque, sc_byte *buffer, sc_int length)
 
static enum gsc_end_option gsc_get_ending_option ()
 
static int gsc_startup_code (Common::SeekableReadStream *game_stream, int restore_slot, sc_uint trace_flags, sc_bool enable_debugger, sc_bool stable_random, const sc_char *locale)
 
static void gsc_main ()
 
void adrift_main ()
 
bool adrift_startup_code (Common::SeekableReadStream *gameFile)
 
void sc_set_trace_flags (sc_uint trace_flags)
 
sc_game sc_game_from_filename (const sc_char *filename)
 
sc_game sc_game_from_stream (Common::SeekableReadStream *stream)
 
sc_game sc_game_from_callback (sc_int(*callback)(void *, sc_byte *, sc_int), void *opaque)
 
void sc_interpret_game (CONTEXT, sc_game game)
 
void sc_restart_game (CONTEXT, sc_game game)
 
sc_bool sc_save_game (sc_game game)
 
sc_bool sc_load_game (sc_game game)
 
sc_bool sc_undo_game_turn (CONTEXT, sc_game game)
 
void sc_quit_game (sc_game game)
 
sc_bool sc_save_game_to_filename (sc_game game, const sc_char *filename)
 
void sc_save_game_to_stream (sc_game game, Common::SeekableReadStream *stream)
 
void sc_save_game_to_callback (sc_game game, void(*callback)(void *, const sc_byte *, sc_int), void *opaque)
 
sc_bool sc_load_game_from_filename (sc_game game, const sc_char *filename)
 
sc_bool sc_load_game_from_stream (sc_game game, Common::SeekableReadStream *stream)
 
sc_bool sc_load_game_from_callback (sc_game game, sc_int(*callback)(void *, sc_byte *, sc_int), void *opaque)
 
void sc_free_game (sc_game game)
 
sc_bool sc_is_game_running (sc_game game)
 
const sc_charsc_get_game_name (sc_game game)
 
const sc_charsc_get_game_author (sc_game game)
 
const sc_charsc_get_game_compile_date (sc_game game)
 
sc_int sc_get_game_turns (sc_game game)
 
sc_int sc_get_game_score (sc_game game)
 
sc_int sc_get_game_max_score (sc_game game)
 
const sc_charsc_get_game_room (sc_game game)
 
const sc_charsc_get_game_status_line (sc_game game)
 
const sc_charsc_get_game_preferred_font (sc_game game)
 
sc_bool sc_get_game_bold_room_names (sc_game game)
 
sc_bool sc_get_game_verbose (sc_game game)
 
sc_bool sc_get_game_notify_score_change (sc_game game)
 
sc_bool sc_has_game_completed (sc_game game)
 
sc_bool sc_is_game_undo_available (sc_game game)
 
void sc_set_game_bold_room_names (sc_game game, sc_bool flag)
 
void sc_set_game_verbose (sc_game game, sc_bool flag)
 
void sc_set_game_notify_score_change (sc_game game, sc_bool flag)
 
sc_bool sc_does_game_use_sounds (sc_game)
 
sc_bool sc_does_game_use_graphics (sc_game)
 
sc_game_hint sc_get_first_game_hint (sc_game game)
 
sc_game_hint sc_get_next_game_hint (sc_game game, sc_game_hint hint)
 
const sc_charsc_get_game_hint_question (sc_game game, sc_game_hint hint)
 
const sc_charsc_get_game_subtle_hint (sc_game game, sc_game_hint hint)
 
const sc_charsc_get_game_unsubtle_hint (sc_game game, sc_game_hint hint)
 
void sc_set_game_debugger_enabled (sc_game game, sc_bool flag)
 
sc_bool sc_get_game_debugger_enabled (sc_game game)
 
sc_bool sc_run_game_debugger_command (sc_game game, const sc_char *debug_command)
 
void sc_set_portable_random (sc_bool flag)
 
void sc_reseed_random_sequence (sc_uint new_seed)
 
sc_bool sc_set_locale (const sc_char *name)
 
const sc_charsc_get_locale ()
 
sc_int sc_strncasecmp (const sc_char *s1, const sc_char *s2, sc_int n)
 
sc_int sc_strcasecmp (const sc_char *s1, const sc_char *s2)
 
const sc_charsc_scare_version ()
 
sc_int sc_scare_emulation ()
 
char * adrift_fgets (char *buf, int max, Common::SeekableReadStream *s)
 
static sc_bool debug_is_valid (sc_debuggerref_t debug)
 
static sc_debuggerref_t debug_get_debugger (sc_gameref_t game)
 
static sc_int debug_variable_count (sc_gameref_t game)
 
static void debug_initialize (sc_gameref_t game)
 
static void debug_finalize (sc_gameref_t game)
 
static void debug_help (sc_command_t topic)
 
static void debug_print_quoted (const sc_char *string)
 
static void debug_print_player (sc_gameref_t game)
 
static void debug_print_room (sc_gameref_t game, sc_int room)
 
static void debug_print_object (sc_gameref_t game, sc_int object)
 
static void debug_print_npc (sc_gameref_t game, sc_int npc)
 
static void debug_print_event (sc_gameref_t game, sc_int event)
 
static void debug_print_task (sc_gameref_t game, sc_int task)
 
static void debug_print_variable (sc_gameref_t game, sc_int variable)
 
static void debug_game (sc_gameref_t game, sc_command_type_t type)
 
static void debug_player (sc_gameref_t game, sc_command_t command, sc_command_type_t type)
 
static sc_bool debug_normalize_arguments (sc_command_type_t type, sc_int *arg1, sc_int *arg2, sc_int limit)
 
static sc_bool debug_filter_room (sc_gameref_t game, sc_int room)
 
static void debug_dump_room (sc_gameref_t game, sc_int room)
 
static sc_bool debug_filter_object (sc_gameref_t game, sc_int object)
 
static void debug_dump_object (sc_gameref_t game, sc_int object)
 
static sc_bool debug_filter_npc (sc_gameref_t game, sc_int npc)
 
static void debug_dump_npc (sc_gameref_t game, sc_int npc)
 
static sc_bool debug_filter_event (sc_gameref_t game, sc_int event)
 
static void debug_dump_event (sc_gameref_t game, sc_int event)
 
static sc_bool debug_filter_task (sc_gameref_t game, sc_int task)
 
static void debug_dump_task (sc_gameref_t game, sc_int task)
 
static void debug_dump_variable (sc_gameref_t game, sc_int variable)
 
static void debug_dump_common (sc_gameref_t game, sc_command_t command, sc_command_type_t type, sc_int arg1, sc_int arg2)
 
static void debug_buffer (sc_gameref_t game, sc_command_type_t type)
 
static void debug_print_resource (const sc_resource_t *resource)
 
static void debug_resources (sc_gameref_t game, sc_command_type_t type)
 
static void debug_random (sc_command_type_t type, sc_int new_seed)
 
static void debug_watchpoint_common (sc_gameref_t game, sc_command_t command, sc_command_type_t type, sc_int arg1, sc_int arg2)
 
static void debug_watchall_common (sc_gameref_t game, sc_command_t command, sc_command_type_t type)
 
static sc_bool debug_compare_object (sc_gameref_t from, sc_gameref_t with, sc_int object)
 
static sc_bool debug_compare_npc (sc_gameref_t from, sc_gameref_t with, sc_int npc)
 
static sc_bool debug_compare_event (sc_gameref_t from, sc_gameref_t with, sc_int event)
 
static sc_bool debug_compare_task (sc_gameref_t from, sc_gameref_t with, sc_int task)
 
static sc_bool debug_compare_variable (sc_gameref_t from, sc_gameref_t with, sc_int variable)
 
static sc_bool debug_check_class (sc_gameref_t from, sc_gameref_t with, const sc_char *class_, sc_int class_count, const sc_bool *watchpoints, sc_bool(*const compare_function)(sc_gameref_t, sc_gameref_t, sc_int))
 
static sc_bool debug_check_watchpoints (sc_gameref_t game)
 
static sc_command_t debug_parse_command (const sc_char *command_string, sc_command_type_t *type, sc_int *arg1, sc_int *arg2, sc_command_t *help_topic)
 
static void debug_dispatch (sc_gameref_t game, sc_command_t command, sc_command_type_t type, sc_int arg1, sc_int arg2, sc_command_t help_topic)
 
static void debug_dialog (CONTEXT, sc_gameref_t game)
 
sc_bool debug_run_command (sc_gameref_t game, const sc_char *debug_command)
 
sc_bool debug_cmd_debugger (sc_gameref_t game)
 
void debug_game_started (CONTEXT, sc_gameref_t game)
 
void debug_game_ended (CONTEXT, sc_gameref_t game)
 
void debug_turn_update (CONTEXT, sc_gameref_t game)
 
void debug_set_enabled (sc_gameref_t game, sc_bool enable)
 
sc_bool debug_get_enabled (sc_gameref_t game)
 
static sc_bool evt_any_task_in_state (sc_gameref_t game, sc_bool state)
 
sc_bool evt_can_see_event (sc_gameref_t game, sc_int event)
 
static void evt_move_object (sc_gameref_t game, sc_int object, sc_int destination)
 
static sc_bool evt_fixup_v390_v380_immediate_restart (sc_gameref_t game, sc_int event)
 
static void evt_start_event (sc_gameref_t game, sc_int event)
 
static sc_int evt_get_starter_type (sc_gameref_t game, sc_int event)
 
static void evt_finish_event (sc_gameref_t game, sc_int event)
 
static sc_bool evt_has_starter_task (sc_gameref_t game, sc_int event)
 
static sc_bool evt_starter_task_is_complete (sc_gameref_t game, sc_int event)
 
static sc_bool evt_pauser_task_is_complete (sc_gameref_t game, sc_int event)
 
static sc_bool evt_resumer_task_is_complete (sc_gameref_t game, sc_int event)
 
static void evt_handle_preftime_notifications (sc_gameref_t game, sc_int event)
 
static void evt_tick_event (sc_gameref_t game, sc_int event)
 
void evt_tick_events (sc_gameref_t game)
 
void evt_debug_trace (sc_bool flag)
 
static sc_int expr_multichar_search (const sc_char *name, const sc_expr_multichar_t *table)
 
static void expr_tokenize_start (const sc_char *expression)
 
static void expr_tokenize_end (void)
 
static sc_int expr_next_token_unadjusted (sc_vartype_t *token_value)
 
static sc_int expr_next_token (void)
 
static void expr_current_token_value (sc_vartype_t *value)
 
static void expr_eval_start (sc_var_setref_t vars)
 
static void expr_eval_garbage_collect (void)
 
static void expr_eval_push_integer (sc_int value)
 
static void expr_eval_push_string (const sc_char *value)
 
static void expr_eval_push_alloced_string (sc_char *value)
 
static sc_int expr_eval_pop_integer (void)
 
static sc_charexpr_eval_pop_string (void)
 
static void expr_eval_result (sc_vartype_t *vt_rvalue)
 
static sc_int expr_eval_abs (sc_int value)
 
static void expr_eval_action (CONTEXT, sc_int token)
 
static void expr_parse_numeric_factor (CONTEXT)
 
static void expr_parse_string_factor (CONTEXT)
 
static void expr_parse_string_expr (CONTEXT)
 
static void expr_parse_match (CONTEXT, sc_int token)
 
static int expr_parse_contains_token (const sc_precedence_entry_t *entry, sc_int token)
 
static void expr_parse_numeric_element (CONTEXT, sc_int precedence)
 
static void expr_parse_numeric_expr (CONTEXT)
 
static sc_bool expr_evaluate_expression (const sc_char *expression, sc_var_setref_t vars, sc_int assign_type, sc_vartype_t *vt_rvalue)
 
sc_bool expr_eval_numeric_expression (const sc_char *expression, sc_var_setref_t vars, sc_int *rvalue)
 
sc_bool expr_eval_string_expression (const sc_char *expression, sc_var_setref_t vars, sc_char **rvalue)
 
void gs_move_player_to_room (sc_gameref_t game, sc_int room)
 
sc_bool gs_player_in_room (sc_gameref_t game, sc_int room)
 
static sc_bool gs_in_range (sc_int value, sc_int limit)
 
sc_var_setref_t gs_get_vars (sc_gameref_t gs)
 
sc_prop_setref_t gs_get_bundle (sc_gameref_t gs)
 
sc_filterref_t gs_get_filter (sc_gameref_t gs)
 
sc_memo_setref_t gs_get_memento (sc_gameref_t gs)
 
void gs_set_playerroom (sc_gameref_t gs, sc_int room)
 
void gs_set_playerposition (sc_gameref_t gs, sc_int position)
 
void gs_set_playerparent (sc_gameref_t gs, sc_int parent)
 
sc_int gs_playerroom (sc_gameref_t gs)
 
sc_int gs_playerposition (sc_gameref_t gs)
 
sc_int gs_playerparent (sc_gameref_t gs)
 
sc_int gs_event_count (sc_gameref_t gs)
 
void gs_set_event_state (sc_gameref_t gs, sc_int event, sc_int state)
 
void gs_set_event_time (sc_gameref_t gs, sc_int event, sc_int etime)
 
sc_int gs_event_state (sc_gameref_t gs, sc_int event)
 
sc_int gs_event_time (sc_gameref_t gs, sc_int event)
 
void gs_decrement_event_time (sc_gameref_t gs, sc_int event)
 
sc_int gs_room_count (sc_gameref_t gs)
 
void gs_set_room_seen (sc_gameref_t gs, sc_int room, sc_bool seen)
 
sc_bool gs_room_seen (sc_gameref_t gs, sc_int room)
 
sc_int gs_task_count (sc_gameref_t gs)
 
void gs_set_task_done (sc_gameref_t gs, sc_int task, sc_bool done)
 
void gs_set_task_scored (sc_gameref_t gs, sc_int task, sc_bool scored)
 
sc_bool gs_task_done (sc_gameref_t gs, sc_int task)
 
sc_bool gs_task_scored (sc_gameref_t gs, sc_int task)
 
sc_int gs_object_count (sc_gameref_t gs)
 
void gs_set_object_openness (sc_gameref_t gs, sc_int object, sc_int openness)
 
void gs_set_object_state (sc_gameref_t gs, sc_int object, sc_int state)
 
void gs_set_object_seen (sc_gameref_t gs, sc_int object, sc_bool seen)
 
void gs_set_object_unmoved (sc_gameref_t gs, sc_int object, sc_bool unmoved)
 
void gs_set_object_static_unmoved (sc_gameref_t gs, sc_int object, sc_bool unmoved)
 
sc_int gs_object_openness (sc_gameref_t gs, sc_int object)
 
sc_int gs_object_state (sc_gameref_t gs, sc_int object)
 
sc_bool gs_object_seen (sc_gameref_t gs, sc_int object)
 
sc_bool gs_object_unmoved (sc_gameref_t gs, sc_int object)
 
sc_bool gs_object_static_unmoved (sc_gameref_t gs, sc_int object)
 
sc_int gs_object_position (sc_gameref_t gs, sc_int object)
 
sc_int gs_object_parent (sc_gameref_t gs, sc_int object)
 
static void gs_object_move_onto_unchecked (sc_gameref_t gs, sc_int object, sc_int onto)
 
static void gs_object_move_into_unchecked (sc_gameref_t gs, sc_int object, sc_int into)
 
static void gs_object_make_hidden_unchecked (sc_gameref_t gs, sc_int object)
 
static void gs_object_player_get_unchecked (sc_gameref_t gs, sc_int object)
 
static void gs_object_npc_get_unchecked (sc_gameref_t gs, sc_int object, sc_int npc)
 
static void gs_object_player_wear_unchecked (sc_gameref_t gs, sc_int object)
 
static void gs_object_npc_wear_unchecked (sc_gameref_t gs, sc_int object, sc_int npc)
 
static void gs_object_to_room_unchecked (sc_gameref_t gs, sc_int object, sc_int room)
 
void gs_object_move_onto (sc_gameref_t gs, sc_int object, sc_int onto)
 
void gs_object_move_into (sc_gameref_t gs, sc_int object, sc_int into)
 
void gs_object_make_hidden (sc_gameref_t gs, sc_int object)
 
void gs_object_player_get (sc_gameref_t gs, sc_int object)
 
void gs_object_npc_get (sc_gameref_t gs, sc_int object, sc_int npc)
 
void gs_object_player_wear (sc_gameref_t gs, sc_int object)
 
void gs_object_npc_wear (sc_gameref_t gs, sc_int object, sc_int npc)
 
void gs_object_to_room (sc_gameref_t gs, sc_int object, sc_int room)
 
sc_int gs_npc_count (sc_gameref_t gs)
 
void gs_set_npc_location (sc_gameref_t gs, sc_int npc, sc_int location)
 
sc_int gs_npc_location (sc_gameref_t gs, sc_int npc)
 
void gs_set_npc_position (sc_gameref_t gs, sc_int npc, sc_int position)
 
sc_int gs_npc_position (sc_gameref_t gs, sc_int npc)
 
void gs_set_npc_parent (sc_gameref_t gs, sc_int npc, sc_int parent)
 
sc_int gs_npc_parent (sc_gameref_t gs, sc_int npc)
 
void gs_set_npc_seen (sc_gameref_t gs, sc_int npc, sc_bool seen)
 
sc_bool gs_npc_seen (sc_gameref_t gs, sc_int npc)
 
sc_int gs_npc_walkstep_count (sc_gameref_t gs, sc_int npc)
 
void gs_set_npc_walkstep (sc_gameref_t gs, sc_int npc, sc_int walk, sc_int walkstep)
 
sc_int gs_npc_walkstep (sc_gameref_t gs, sc_int npc, sc_int walk)
 
void gs_decrement_npc_walkstep (sc_gameref_t gs, sc_int npc, sc_int walk)
 
void gs_clear_npc_references (sc_gameref_t gs)
 
void gs_clear_object_references (sc_gameref_t gs)
 
void gs_set_multiple_references (sc_gameref_t gs)
 
void gs_clear_multiple_references (sc_gameref_t gs)
 
sc_gameref_t gs_create (sc_var_setref_t vars, sc_prop_setref_t bundle, sc_filterref_t filter)
 
sc_bool gs_is_game_valid (const sc_gameref_t game)
 
static void gs_string_copy (sc_char **to_string, const sc_char *from_string)
 
void gs_copy (sc_gameref_t to, sc_gameref_t from)
 
void gs_destroy (sc_gameref_t game)
 
static void if_initialize (void)
 
static sc_bool if_bool (sc_uint flag)
 
sc_bool if_get_trace_flag (sc_uint bitmask)
 
static void if_print_string_common (const sc_char *string, void(*print_string_function)(const sc_char *))
 
void if_print_string (const sc_char *string)
 
void if_print_debug (const sc_char *string)
 
static void if_print_character_common (sc_char character, void(*print_string_function)(const sc_char *))
 
void if_print_character (sc_char character)
 
void if_print_debug_character (sc_char character)
 
void if_print_tag (sc_int tag, const sc_char *arg)
 
static void if_read_line_common (sc_char *buffer, sc_int length, sc_bool(*read_line_function)(sc_char *, sc_int))
 
void if_read_line (sc_char *buffer, sc_int length)
 
void if_read_debug (sc_char *buffer, sc_int length)
 
sc_bool if_confirm (sc_int type)
 
void * if_open_saved_game (sc_bool is_save)
 
void if_write_saved_game (void *opaque, const sc_byte *buffer, sc_int length)
 
sc_int if_read_saved_game (void *opaque, sc_byte *buffer, sc_int length)
 
void if_close_saved_game (void *opaque)
 
void if_display_hints (sc_gameref_t game)
 
void if_update_sound (const sc_char *filename, sc_int sound_offset, sc_int sound_length, sc_bool is_looping)
 
void if_update_graphic (const sc_char *filename, sc_int graphic_offset, sc_int graphic_length)
 
static sc_int if_file_read_callback (void *opaque, sc_byte *buffer, sc_int length)
 
static void if_file_write_callback (void *opaque, const sc_byte *buffer, sc_int length)
 
static sc_bool if_game_error (const sc_gameref_t game, const sc_char *function_name)
 
sc_bool sc_load_game (CONTEXT, sc_game game)
 
void sc_quit_game (CONTEXT, sc_game game)
 
sc_bool sc_load_game_from_filename (CONTEXT, sc_game game, const sc_char *filename)
 
sc_bool sc_load_game_from_stream (CONTEXT, sc_game game, Common::SeekableReadStream *stream)
 
sc_bool sc_load_game_from_callback (CONTEXT, sc_game game, sc_int(*callback)(void *, sc_byte *, sc_int), void *opaque)
 
void lib_warn_battle_system (void)
 
sc_int lib_random_roomgroup_member (sc_gameref_t game, sc_int roomgroup)
 
static sc_bool lib_use_room_alt (sc_gameref_t game, sc_int room, sc_int alt)
 
static sc_int lib_find_starting_alt (sc_gameref_t game, sc_int room)
 
const sc_charlib_get_room_name (sc_gameref_t game, sc_int room)
 
void lib_print_room_name (sc_gameref_t game, sc_int room)
 
static void lib_print_object_np (sc_gameref_t game, sc_int object)
 
static void lib_print_object (sc_gameref_t game, sc_int object)
 
static void lib_print_npc_np (sc_gameref_t game, sc_int npc)
 
static void lib_print_npc (sc_gameref_t game, sc_int npc)
 
static const sc_charlib_select_response (sc_gameref_t game, const sc_char *second_person, const sc_char *first_person, const sc_char *third_person)
 
static const sc_charlib_select_plurality (sc_gameref_t game, sc_int object, const sc_char *singular, const sc_char *plural)
 
static const sc_charlib_get_npc_inroom_text (sc_gameref_t game, sc_int npc)
 
static void lib_print_room_contents (sc_gameref_t game, sc_int room)
 
void lib_print_room_description (sc_gameref_t game, sc_int room)
 
static sc_bool lib_can_go (sc_gameref_t game, sc_int room, sc_int direction)
 
sc_bool lib_cmd_print_room_exits (sc_gameref_t game)
 
static void lib_describe_player_room (sc_gameref_t game, sc_bool force_verbose)
 
sc_bool lib_cmd_look (sc_gameref_t game)
 
sc_bool lib_cmd_quit (sc_gameref_t game)
 
sc_bool lib_cmd_restart (sc_gameref_t game)
 
sc_bool lib_cmd_undo (sc_gameref_t game)
 
static sc_bool lib_cmd_history_common (sc_gameref_t game, sc_int limit)
 
sc_bool lib_cmd_history_number (sc_gameref_t game)
 
sc_bool lib_cmd_history (sc_gameref_t game)
 
sc_bool lib_cmd_again (sc_gameref_t game)
 
sc_bool lib_cmd_redo_number (sc_gameref_t game)
 
static sc_bool lib_cmd_redo_text_last_common (sc_gameref_t game, const sc_char *target)
 
sc_bool lib_cmd_redo_text (sc_gameref_t game)
 
sc_bool lib_cmd_redo_last (sc_gameref_t game)
 
sc_bool lib_cmd_hints (sc_gameref_t game)
 
static void lib_print_string_bold (const sc_char *string)
 
static void lib_print_string_italics (const sc_char *string)
 
sc_bool lib_cmd_help (sc_gameref_t game)
 
sc_bool lib_cmd_license (sc_gameref_t game)
 
sc_bool lib_cmd_information (sc_gameref_t game)
 
sc_bool lib_cmd_clear (sc_gameref_t game)
 
sc_bool lib_cmd_statusline (sc_gameref_t game)
 
sc_bool lib_cmd_version (sc_gameref_t game)
 
sc_bool lib_cmd_wait (sc_gameref_t game)
 
sc_bool lib_cmd_wait_number (sc_gameref_t game)
 
sc_bool lib_cmd_verbose (sc_gameref_t game)
 
sc_bool lib_cmd_brief (sc_gameref_t game)
 
sc_bool lib_cmd_notify_on_off (sc_gameref_t game)
 
sc_bool lib_cmd_notify (sc_gameref_t game)
 
sc_bool lib_cmd_time (sc_gameref_t game)
 
sc_bool lib_cmd_date (sc_gameref_t game)
 
static sc_bool lib_go (sc_gameref_t game, sc_int direction)
 
sc_bool lib_cmd_go_north (sc_gameref_t game)
 
sc_bool lib_cmd_go_east (sc_gameref_t game)
 
sc_bool lib_cmd_go_south (sc_gameref_t game)
 
sc_bool lib_cmd_go_west (sc_gameref_t game)
 
sc_bool lib_cmd_go_up (sc_gameref_t game)
 
sc_bool lib_cmd_go_down (sc_gameref_t game)
 
sc_bool lib_cmd_go_in (sc_gameref_t game)
 
sc_bool lib_cmd_go_out (sc_gameref_t game)
 
sc_bool lib_cmd_go_northeast (sc_gameref_t game)
 
sc_bool lib_cmd_go_southeast (sc_gameref_t game)
 
sc_bool lib_cmd_go_northwest (sc_gameref_t game)
 
sc_bool lib_cmd_go_southwest (sc_gameref_t game)
 
static sc_bool lib_compare_rooms (sc_gameref_t game, sc_int room, const sc_char *string)
 
sc_bool lib_cmd_go_room (sc_gameref_t game)
 
sc_bool lib_cmd_examine_self (sc_gameref_t game)
 
static sc_int lib_disambiguate_npc (sc_gameref_t game, const sc_char *verb, sc_bool *is_ambiguous)
 
static sc_int lib_disambiguate_object_common (sc_gameref_t game, const sc_char *verb, sc_bool(*resolver)(sc_gameref_t, sc_int, sc_int), sc_int resolver_arg, sc_bool *is_ambiguous)
 
static sc_int lib_disambiguate_object (sc_gameref_t game, const sc_char *verb, sc_bool *is_ambiguous)
 
static sc_int lib_disambiguate_object_extended (sc_gameref_t game, const sc_char *verb, sc_bool(*resolver)(sc_gameref_t, sc_int, sc_int), sc_int resolver_arg, sc_bool *is_ambiguous)
 
static sc_bool lib_list_npc_inventory (sc_gameref_t game, sc_int npc, sc_bool is_described)
 
sc_bool lib_cmd_examine_npc (sc_gameref_t game)
 
static sc_bool lib_list_in_object_normal (sc_gameref_t game, sc_int container, sc_bool is_described)
 
static sc_bool lib_list_in_object_alternate (sc_gameref_t game, sc_int container, sc_bool is_described)
 
static sc_bool lib_list_in_object (sc_gameref_t game, sc_int container, sc_bool is_described)
 
static sc_bool lib_list_on_object (sc_gameref_t game, sc_int supporter, sc_bool is_described)
 
static sc_bool lib_list_object_state (sc_gameref_t game, sc_int object, sc_bool is_described)
 
sc_bool lib_cmd_examine_object (sc_gameref_t game)
 
static sc_boollib_save_object_references (sc_gameref_t game, sc_bool buffer[], sc_int length)
 
static void lib_restore_object_references (sc_gameref_t game, const sc_bool references[])
 
static sc_bool lib_try_game_command_common (sc_gameref_t game, const sc_char *verb, sc_int object, const sc_char *preposition, sc_int associate, sc_bool is_associate_object, sc_bool is_associate_npc)
 
static sc_bool lib_try_game_command_short (sc_gameref_t game, const sc_char *verb, sc_int object)
 
static sc_bool lib_try_game_command_with_object (sc_gameref_t game, const sc_char *verb, sc_int object, const sc_char *preposition, sc_int other_object)
 
static sc_bool lib_try_game_command_with_npc (sc_gameref_t game, const sc_char *verb, sc_int object, const sc_char *preposition, sc_int npc)
 
static sc_bool lib_parse_next_object (sc_gameref_t game, const sc_char *verb, sc_bool(*resolver)(sc_gameref_t, sc_int, sc_int), sc_int resolver_arg, sc_int *object, sc_bool *are_more_objects, sc_bool *is_ambiguous)
 
static sc_bool lib_parse_multiple_objects (sc_gameref_t game, const sc_char *verb, sc_bool(*resolver)(sc_gameref_t, sc_int, sc_int), sc_int resolver_arg, sc_int *count)
 
static sc_int lib_apply_multiple_filter (sc_gameref_t game, sc_bool(*filter)(sc_gameref_t, sc_int, sc_int), sc_int filter_arg, sc_int *references)
 
static sc_int lib_apply_except_filter (sc_gameref_t game, sc_bool(*filter)(sc_gameref_t, sc_int, sc_int), sc_int filter_arg, sc_int *references)
 
sc_bool lib_cmd_count (sc_gameref_t game)
 
static sc_bool lib_object_too_heavy (sc_gameref_t game, sc_int object, sc_bool *is_portable)
 
static sc_bool lib_object_too_large (sc_gameref_t game, sc_int object, sc_bool *is_portable)
 
sc_bool lib_cmd_take_npc (sc_gameref_t game)
 
static void lib_take_backend_common (sc_gameref_t game, sc_int associate, sc_bool is_associate_object, sc_bool is_associate_npc)
 
static void lib_take_backend (sc_gameref_t game)
 
static void lib_take_from_object_backend (sc_gameref_t game, sc_int associate)
 
static void lib_take_from_npc_backend (sc_gameref_t game, sc_int associate)
 
static sc_bool lib_take_filter (sc_gameref_t game, sc_int object, sc_int unused)
 
static sc_bool lib_take_not_associated_filter (sc_gameref_t game, sc_int object, sc_int unused)
 
sc_bool lib_cmd_take_all (sc_gameref_t game)
 
sc_bool lib_cmd_take_except_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_take_multiple (sc_gameref_t game)
 
static sc_bool lib_take_from_filter (sc_gameref_t game, sc_int object, sc_int associate)
 
static void lib_take_from_empty (sc_gameref_t game, sc_int associate, sc_bool is_except)
 
static sc_bool lib_take_from_is_valid (sc_gameref_t game, sc_int associate)
 
sc_bool lib_cmd_take_all_from (sc_gameref_t game)
 
sc_bool lib_cmd_take_from_except_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_take_from_multiple (sc_gameref_t game)
 
static sc_bool lib_take_from_npc_filter (sc_gameref_t game, sc_int object, sc_int associate)
 
sc_bool lib_cmd_take_all_from_npc (sc_gameref_t game)
 
sc_bool lib_cmd_take_from_npc_except_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_take_from_npc_multiple (sc_gameref_t game)
 
static void lib_drop_backend (sc_gameref_t game)
 
static sc_bool lib_drop_filter (sc_gameref_t game, sc_int object, sc_int unused)
 
sc_bool lib_cmd_drop_all (sc_gameref_t game)
 
sc_bool lib_cmd_drop_except_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_drop_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_give_object_npc (sc_gameref_t game)
 
sc_bool lib_cmd_give_object (sc_gameref_t game)
 
static void lib_wear_backend (sc_gameref_t game)
 
static sc_bool lib_wear_filter (sc_gameref_t game, sc_int object, sc_int unused)
 
sc_bool lib_cmd_wear_all (sc_gameref_t game)
 
sc_bool lib_cmd_wear_except_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_wear_multiple (sc_gameref_t game)
 
static void lib_remove_backend (sc_gameref_t game)
 
static sc_bool lib_remove_filter (sc_gameref_t game, sc_int object, sc_int unused)
 
sc_bool lib_cmd_remove_all (sc_gameref_t game)
 
sc_bool lib_cmd_remove_except_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_remove_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_inventory (sc_gameref_t game)
 
sc_bool lib_cmd_open_object (sc_gameref_t game)
 
sc_bool lib_cmd_close_object (sc_gameref_t game)
 
static void lib_attempt_key_acquisition (sc_gameref_t game, sc_int object)
 
sc_bool lib_cmd_unlock_object_with (sc_gameref_t game)
 
sc_bool lib_cmd_unlock_object (sc_gameref_t game)
 
sc_bool lib_cmd_lock_object_with (sc_gameref_t game)
 
sc_bool lib_cmd_lock_object (sc_gameref_t game)
 
static sc_bool lib_compare_subject (const sc_char *subject, sc_int posn, const sc_char *string)
 
static sc_bool lib_npc_reply_to (sc_gameref_t game, sc_int npc, sc_int topic)
 
sc_bool lib_cmd_ask_npc_about (sc_gameref_t game)
 
static sc_bool lib_check_put_in_recursion (sc_gameref_t game, sc_int object, sc_int container, sc_bool report)
 
static void lib_put_in_backend (sc_gameref_t game, sc_int container)
 
static sc_bool lib_put_in_filter (sc_gameref_t game, sc_int object, sc_int unused)
 
static sc_bool lib_put_in_not_container_filter (sc_gameref_t game, sc_int object, sc_int container)
 
static sc_bool lib_put_in_is_valid (sc_gameref_t game, sc_int container)
 
sc_bool lib_cmd_put_all_in (sc_gameref_t game)
 
sc_bool lib_cmd_put_in_except_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_put_in_multiple (sc_gameref_t game)
 
static sc_bool lib_check_put_on_recursion (sc_gameref_t game, sc_int object, sc_int supporter, sc_bool report)
 
static void lib_put_on_backend (sc_gameref_t game, sc_int supporter)
 
static sc_bool lib_put_on_filter (sc_gameref_t game, sc_int object, sc_int unused)
 
static sc_bool lib_put_on_not_supporter_filter (sc_gameref_t game, sc_int object, sc_int supporter)
 
static sc_bool lib_put_on_is_valid (sc_gameref_t game, sc_int supporter)
 
sc_bool lib_cmd_put_all_on (sc_gameref_t game)
 
sc_bool lib_cmd_put_on_except_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_put_on_multiple (sc_gameref_t game)
 
sc_bool lib_cmd_read_object (sc_gameref_t game)
 
sc_bool lib_cmd_read_other (sc_gameref_t game)
 
sc_bool lib_cmd_attack_npc (sc_gameref_t game)
 
sc_bool lib_cmd_attack_npc_with (sc_gameref_t game)
 
sc_bool lib_cmd_kiss_npc (sc_gameref_t game)
 
sc_bool lib_cmd_kiss_object (sc_gameref_t game)
 
sc_bool lib_cmd_kiss_other (sc_gameref_t game)
 
sc_bool lib_cmd_buy_object (sc_gameref_t game)
 
sc_bool lib_cmd_buy_other (sc_gameref_t game)
 
sc_bool lib_cmd_break_object (sc_gameref_t game)
 
sc_bool lib_cmd_break_other (sc_gameref_t game)
 
sc_bool lib_cmd_smell_object (sc_gameref_t game)
 
sc_bool lib_cmd_smell_other (sc_gameref_t game)
 
sc_bool lib_cmd_sell_object (sc_gameref_t game)
 
sc_bool lib_cmd_sell_other (sc_gameref_t game)
 
sc_bool lib_cmd_eat_object (sc_gameref_t game)
 
static sc_bool lib_stand_sit_lie (sc_gameref_t game, sc_int movement)
 
sc_bool lib_cmd_stand_on_object (sc_gameref_t game)
 
sc_bool lib_cmd_stand_on_floor (sc_gameref_t game)
 
sc_bool lib_cmd_sit_on_object (sc_gameref_t game)
 
sc_bool lib_cmd_sit_on_floor (sc_gameref_t game)
 
sc_bool lib_cmd_lie_on_object (sc_gameref_t game)
 
sc_bool lib_cmd_lie_on_floor (sc_gameref_t game)
 
sc_bool lib_cmd_get_off_object (sc_gameref_t game)
 
sc_bool lib_cmd_get_off (sc_gameref_t game)
 
sc_bool lib_cmd_save (sc_gameref_t game)
 
sc_bool lib_cmd_restore (sc_gameref_t game)
 
sc_bool lib_cmd_locate_object (sc_gameref_t game)
 
sc_bool lib_cmd_locate_npc (sc_gameref_t game)
 
sc_bool lib_cmd_turns (sc_gameref_t game)
 
sc_bool lib_cmd_score (sc_gameref_t game)
 
sc_bool lib_cmd_profanity (sc_gameref_t game)
 
sc_bool lib_cmd_examine_all (sc_gameref_t game)
 
sc_bool lib_cmd_examine_other (sc_gameref_t game)
 
sc_bool lib_cmd_locate_other (sc_gameref_t game)
 
sc_bool lib_cmd_unix_like (sc_gameref_t game)
 
sc_bool lib_cmd_dos_like (sc_gameref_t game)
 
sc_bool lib_cmd_cry (sc_gameref_t game)
 
sc_bool lib_cmd_dance (sc_gameref_t game)
 
sc_bool lib_cmd_eat_other (sc_gameref_t game)
 
sc_bool lib_cmd_fight (sc_gameref_t game)
 
sc_bool lib_cmd_feed (sc_gameref_t game)
 
sc_bool lib_cmd_feel (sc_gameref_t game)
 
sc_bool lib_cmd_fly (sc_gameref_t game)
 
sc_bool lib_cmd_hint (sc_gameref_t game)
 
sc_bool lib_cmd_hum (sc_gameref_t game)
 
sc_bool lib_cmd_jump (sc_gameref_t game)
 
sc_bool lib_cmd_listen (sc_gameref_t game)
 
sc_bool lib_cmd_please (sc_gameref_t game)
 
sc_bool lib_cmd_punch (sc_gameref_t game)
 
sc_bool lib_cmd_run (sc_gameref_t game)
 
sc_bool lib_cmd_shout (sc_gameref_t game)
 
sc_bool lib_cmd_say (sc_gameref_t game)
 
sc_bool lib_cmd_sing (sc_gameref_t game)
 
sc_bool lib_cmd_sleep (sc_gameref_t game)
 
sc_bool lib_cmd_talk (sc_gameref_t game)
 
sc_bool lib_cmd_thank (sc_gameref_t game)
 
sc_bool lib_cmd_whistle (sc_gameref_t game)
 
sc_bool lib_cmd_interrogation (sc_gameref_t game)
 
sc_bool lib_cmd_xyzzy (sc_gameref_t game)
 
sc_bool lib_cmd_egotistic (sc_gameref_t game)
 
sc_bool lib_cmd_yes_or_no (sc_gameref_t game)
 
sc_bool lib_cmd_ask_npc (sc_gameref_t game)
 
sc_bool lib_cmd_ask_object (sc_gameref_t game)
 
sc_bool lib_cmd_ask_other (sc_gameref_t game)
 
sc_bool lib_cmd_kill_other (sc_gameref_t game)
 
static sc_bool lib_nothing_happens_common (sc_gameref_t game, const sc_char *verb_general, const sc_char *verb_third_person, sc_bool is_object)
 
static sc_bool lib_nothing_happens_object (sc_gameref_t game, const sc_char *verb_general, const sc_char *verb_third_person)
 
static sc_bool lib_nothing_happens_other (sc_gameref_t game, const sc_char *verb_general, const sc_char *verb_third_person)
 
sc_bool lib_cmd_hit_object (sc_gameref_t game)
 
sc_bool lib_cmd_kick_object (sc_gameref_t game)
 
sc_bool lib_cmd_press_object (sc_gameref_t game)
 
sc_bool lib_cmd_push_object (sc_gameref_t game)
 
sc_bool lib_cmd_pull_object (sc_gameref_t game)
 
sc_bool lib_cmd_shake_object (sc_gameref_t game)
 
sc_bool lib_cmd_hit_other (sc_gameref_t game)
 
sc_bool lib_cmd_kick_other (sc_gameref_t game)
 
sc_bool lib_cmd_press_other (sc_gameref_t game)
 
sc_bool lib_cmd_push_other (sc_gameref_t game)
 
sc_bool lib_cmd_pull_other (sc_gameref_t game)
 
sc_bool lib_cmd_shake_other (sc_gameref_t game)
 
static sc_bool lib_cant_do_common (sc_gameref_t game, const sc_char *verb, sc_bool is_object)
 
static sc_bool lib_cant_do_object (sc_gameref_t game, const sc_char *verb)
 
static sc_bool lib_cant_do_other (sc_gameref_t game, const sc_char *verb)
 
sc_bool lib_cmd_block_object (sc_gameref_t game)
 
sc_bool lib_cmd_climb_object (sc_gameref_t game)
 
sc_bool lib_cmd_clean_object (sc_gameref_t game)
 
sc_bool lib_cmd_cut_object (sc_gameref_t game)
 
sc_bool lib_cmd_drink_object (sc_gameref_t game)
 
sc_bool lib_cmd_light_object (sc_gameref_t game)
 
sc_bool lib_cmd_lift_object (sc_gameref_t game)
 
sc_bool lib_cmd_move_object (sc_gameref_t game)
 
sc_bool lib_cmd_rub_object (sc_gameref_t game)
 
sc_bool lib_cmd_stop_object (sc_gameref_t game)
 
sc_bool lib_cmd_suck_object (sc_gameref_t game)
 
sc_bool lib_cmd_touch_object (sc_gameref_t game)
 
sc_bool lib_cmd_turn_object (sc_gameref_t game)
 
sc_bool lib_cmd_unblock_object (sc_gameref_t game)
 
sc_bool lib_cmd_wash_object (sc_gameref_t game)
 
sc_bool lib_cmd_block_other (sc_gameref_t game)
 
sc_bool lib_cmd_climb_other (sc_gameref_t game)
 
sc_bool lib_cmd_clean_other (sc_gameref_t game)
 
sc_bool lib_cmd_close_other (sc_gameref_t game)
 
sc_bool lib_cmd_lock_other (sc_gameref_t game)
 
sc_bool lib_cmd_unlock_other (sc_gameref_t game)
 
sc_bool lib_cmd_stand_other (sc_gameref_t game)
 
sc_bool lib_cmd_sit_other (sc_gameref_t game)
 
sc_bool lib_cmd_lie_other (sc_gameref_t game)
 
sc_bool lib_cmd_cut_other (sc_gameref_t game)
 
sc_bool lib_cmd_drink_other (sc_gameref_t game)
 
sc_bool lib_cmd_lift_other (sc_gameref_t game)
 
sc_bool lib_cmd_light_other (sc_gameref_t game)
 
sc_bool lib_cmd_move_other (sc_gameref_t game)
 
sc_bool lib_cmd_stop_other (sc_gameref_t game)
 
sc_bool lib_cmd_rub_other (sc_gameref_t game)
 
sc_bool lib_cmd_suck_other (sc_gameref_t game)
 
sc_bool lib_cmd_turn_other (sc_gameref_t game)
 
sc_bool lib_cmd_touch_other (sc_gameref_t game)
 
sc_bool lib_cmd_unblock_other (sc_gameref_t game)
 
sc_bool lib_cmd_wash_other (sc_gameref_t game)
 
static sc_bool lib_dont_think_common (sc_gameref_t game, const sc_char *verb, sc_bool is_object)
 
static sc_bool lib_dont_think_object (sc_gameref_t game, const sc_char *verb)
 
static sc_bool lib_dont_think_other (sc_gameref_t game, const sc_char *verb)
 
sc_bool lib_cmd_fix_object (sc_gameref_t game)
 
sc_bool lib_cmd_mend_object (sc_gameref_t game)
 
sc_bool lib_cmd_repair_object (sc_gameref_t game)
 
sc_bool lib_cmd_fix_other (sc_gameref_t game)
 
sc_bool lib_cmd_mend_other (sc_gameref_t game)
 
sc_bool lib_cmd_repair_other (sc_gameref_t game)
 
static sc_bool lib_what (sc_gameref_t game, const sc_char *verb)
 
sc_bool lib_cmd_block_what (sc_gameref_t game)
 
sc_bool lib_cmd_break_what (sc_gameref_t game)
 
sc_bool lib_cmd_destroy_what (sc_gameref_t game)
 
sc_bool lib_cmd_smash_what (sc_gameref_t game)
 
sc_bool lib_cmd_buy_what (sc_gameref_t game)
 
sc_bool lib_cmd_clean_what (sc_gameref_t game)
 
sc_bool lib_cmd_climb_what (sc_gameref_t game)
 
sc_bool lib_cmd_cut_what (sc_gameref_t game)
 
sc_bool lib_cmd_drink_what (sc_gameref_t game)
 
sc_bool lib_cmd_fix_what (sc_gameref_t game)
 
sc_bool lib_cmd_hit_what (sc_gameref_t game)
 
sc_bool lib_cmd_kick_what (sc_gameref_t game)
 
sc_bool lib_cmd_light_what (sc_gameref_t game)
 
sc_bool lib_cmd_lift_what (sc_gameref_t game)
 
sc_bool lib_cmd_mend_what (sc_gameref_t game)
 
sc_bool lib_cmd_move_what (sc_gameref_t game)
 
sc_bool lib_cmd_press_what (sc_gameref_t game)
 
sc_bool lib_cmd_pull_what (sc_gameref_t game)
 
sc_bool lib_cmd_push_what (sc_gameref_t game)
 
sc_bool lib_cmd_repair_what (sc_gameref_t game)
 
sc_bool lib_cmd_sell_what (sc_gameref_t game)
 
sc_bool lib_cmd_shake_what (sc_gameref_t game)
 
sc_bool lib_cmd_rub_what (sc_gameref_t game)
 
sc_bool lib_cmd_stop_what (sc_gameref_t game)
 
sc_bool lib_cmd_suck_what (sc_gameref_t game)
 
sc_bool lib_cmd_touch_what (sc_gameref_t game)
 
sc_bool lib_cmd_turn_what (sc_gameref_t game)
 
sc_bool lib_cmd_unblock_what (sc_gameref_t game)
 
sc_bool lib_cmd_wash_what (sc_gameref_t game)
 
sc_bool lib_cmd_drop_what (sc_gameref_t game)
 
sc_bool lib_cmd_get_what (sc_gameref_t game)
 
sc_bool lib_cmd_give_what (sc_gameref_t game)
 
sc_bool lib_cmd_open_what (sc_gameref_t game)
 
sc_bool lib_cmd_remove_what (sc_gameref_t game)
 
sc_bool lib_cmd_wear_what (sc_gameref_t game)
 
sc_bool lib_cmd_lock_what (sc_gameref_t game)
 
sc_bool lib_cmd_unlock_what (sc_gameref_t game)
 
sc_bool lib_cmd_verb_object (sc_gameref_t game)
 
sc_bool lib_cmd_verb_npc (sc_gameref_t game)
 
void lib_debug_trace (sc_bool flag)
 
static void loc_setrange_bool (sc_int start, sc_int end, sc_bool table[])
 
static void loc_setranges_bool (const sc_int ranges[], sc_bool table[])
 
static void loc_setrange_char (sc_int start, sc_int end, sc_int offset, sc_char table[])
 
static void loc_setranges_char (const sc_int ranges[], sc_char table[])
 
static void loc_synchronize_tables (const sc_locale_t *locale)
 
static void loc_check_tables_synchronized (const sc_locale_t *locale)
 
static const sc_charloc_locate_signature_in_date (const sc_char *date)
 
static sc_bool loc_compare_locale_signatures (const char *signature, const sc_locale_t *locale)
 
static const sc_locale_tloc_find_matching_locale (const sc_char *date, const sc_locale_t *const *locales)
 
void loc_detect_game_locale (sc_prop_setref_t bundle)
 
static sc_char loc_ascii_tolower (sc_char ch)
 
static sc_int loc_ascii_strncasecmp (const sc_char *s1, const sc_char *s2, sc_int n)
 
sc_bool loc_set_locale (const sc_char *name)
 
const sc_charloc_get_locale (void)
 
static int loc_debug_dump_new_line (sc_int index_, sc_int count)
 
static void loc_debug_dump_bool_table (const sc_char *label, sc_int count, const sc_bool table[])
 
static void loc_debug_dump_char_table (const sc_char *label, sc_int count, const sc_char table[])
 
void loc_debug_dump (void)
 
static sc_bool loc_bool_template (sc_char character, const sc_bool table[])
 
static sc_char loc_char_template (sc_char character, const sc_char table[])
 
sc_bool sc_isspace (sc_char character)
 
sc_bool sc_isalpha (sc_char character)
 
sc_bool sc_isdigit (sc_char character)
 
sc_char sc_toupper (sc_char character)
 
sc_char sc_tolower (sc_char character)
 
static sc_bool memo_is_valid (sc_memo_setref_t memento)
 
static sc_int memo_round_up (sc_int allocation)
 
sc_memo_setref_t memo_create (void)
 
void memo_destroy (sc_memo_setref_t memento)
 
static void memo_save_game_callback (void *opaque, const sc_byte *buffer, sc_int length)
 
void memo_save_game (sc_memo_setref_t memento, sc_gameref_t game)
 
static sc_int memo_load_game_callback (void *opaque, sc_byte *buffer, sc_int length)
 
sc_bool memo_load_game (sc_memo_setref_t memento, sc_gameref_t game)
 
sc_bool memo_is_load_available (sc_memo_setref_t memento)
 
void memo_clear_games (sc_memo_setref_t memento)
 
void memo_save_command (sc_memo_setref_t memento, const sc_char *command, sc_int timestamp, sc_int turns)
 
void memo_unsave_command (sc_memo_setref_t memento)
 
sc_int memo_get_command_count (sc_memo_setref_t memento)
 
void memo_first_command (sc_memo_setref_t memento)
 
void memo_next_command (sc_memo_setref_t memento, const sc_char **command, sc_int *sequence, sc_int *timestamp, sc_int *turns)
 
sc_bool memo_more_commands (sc_memo_setref_t memento)
 
const sc_charmemo_find_command (sc_memo_setref_t memento, sc_int sequence)
 
void memo_clear_commands (sc_memo_setref_t memento)
 
sc_bool npc_in_room (sc_gameref_t game, sc_int npc, sc_int room)
 
sc_int npc_count_in_room (sc_gameref_t game, sc_int room)
 
void npc_start_npc_walk (sc_gameref_t game, sc_int npc, sc_int walk)
 
void npc_turn_update (sc_gameref_t game)
 
void npc_setup_initial (sc_gameref_t game)
 
static sc_bool npc_room_in_roomgroup (sc_gameref_t game, sc_int room, sc_int group)
 
static sc_int npc_random_adjacent_roomgroup_member (sc_gameref_t game, sc_int room, sc_int group)
 
static void npc_announce (sc_gameref_t game, sc_int npc, sc_int room, sc_bool is_exit, sc_int npc_room)
 
static void npc_tick_npc_walk (sc_gameref_t game, sc_int npc, sc_int walk)
 
static void npc_tick_npc (sc_gameref_t game, sc_int npc)
 
void npc_tick_npcs (sc_gameref_t game)
 
void npc_debug_trace (sc_bool flag)
 
sc_bool obj_is_static (sc_gameref_t game, sc_int object)
 
sc_bool obj_is_container (sc_gameref_t game, sc_int object)
 
sc_bool obj_is_surface (sc_gameref_t game, sc_int object)
 
sc_int obj_container_object (sc_gameref_t game, sc_int n)
 
sc_int obj_container_index (sc_gameref_t game, sc_int objnum)
 
sc_int obj_surface_object (sc_gameref_t game, sc_int n)
 
sc_int obj_surface_index (sc_gameref_t game, sc_int objnum)
 
sc_int obj_stateful_object (sc_gameref_t game, sc_int n)
 
sc_int obj_stateful_index (sc_gameref_t game, sc_int objnum)
 
sc_charobj_state_name (sc_gameref_t game, sc_int objnum)
 
sc_int obj_dynamic_object (sc_gameref_t game, sc_int n)
 
sc_int obj_wearable_object (sc_gameref_t game, sc_int n)
 
sc_int obj_get_size (sc_gameref_t game, sc_int object)
 
sc_int obj_get_weight (sc_gameref_t game, sc_int object)
 
static sc_int obj_convert_player_limit (sc_int value)
 
sc_int obj_get_player_size_limit (sc_gameref_t game)
 
sc_int obj_get_player_weight_limit (sc_gameref_t game)
 
sc_int obj_get_container_maxsize (sc_gameref_t game, sc_int object)
 
sc_int obj_get_container_capacity (sc_gameref_t game, sc_int object)
 
sc_int obj_standable_object (sc_gameref_t game, sc_int n)
 
sc_int obj_lieable_object (sc_gameref_t game, sc_int n)
 
sc_bool obj_appears_plural (sc_gameref_t game, sc_int object)
 
static sc_bool obj_directly_in_room_internal (sc_gameref_t game, sc_int object, sc_int room)
 
sc_bool obj_directly_in_room (sc_gameref_t game, sc_int object, sc_int room)
 
static sc_bool obj_indirectly_in_room_internal (sc_gameref_t game, sc_int object, sc_int room)
 
sc_bool obj_indirectly_in_room (sc_gameref_t game, sc_int object, sc_int room)
 
static sc_bool obj_indirectly_held_by_player_internal (sc_gameref_t game, sc_int object)
 
sc_bool obj_indirectly_held_by_player (sc_gameref_t game, sc_int object)
 
sc_bool obj_shows_initial_description (sc_gameref_t game, sc_int object)
 
void obj_turn_update (sc_gameref_t game)
 
void obj_setup_initial (sc_gameref_t game)
 
void obj_debug_trace (sc_bool flag)
 
static void uip_tokenize_start (const sc_char *pattern)
 
static void uip_tokenize_end (void)
 
static sc_uip_tok_t uip_next_token (void)
 
static const sc_charuip_current_token_value (void)
 
static void uip_parse_list (CONTEXT, sc_ptnoderef_t list)
 
static void uip_parse_match (CONTEXT, sc_uip_tok_t token)
 
static sc_charuip_new_word (const sc_char *word)
 
static void uip_free_word (sc_char *word)
 
static sc_ptnoderef_t uip_new_node (sc_pttype_t type)
 
static void uip_destroy_node (sc_ptnoderef_t node)
 
static void uip_parse_alternatives (CONTEXT, sc_ptnoderef_t node)
 
static void uip_destroy_tree (sc_ptnoderef_t node)
 
static void uip_debug_dump_node (sc_ptnoderef_t node, sc_int depth)
 
static void uip_debug_dump (void)
 
static void uip_match_start (const sc_char *string, sc_gameref_t game)
 
static void uip_match_end (void)
 
static sc_gameref_t uip_get_game (void)
 
static sc_bool uip_match_node (sc_ptnoderef_t node)
 
static sc_bool uip_match_eos (void)
 
static sc_bool uip_match_word (sc_ptnoderef_t node)
 
static sc_bool uip_match_variable (sc_ptnoderef_t node)
 
static sc_bool uip_match_whitespace (void)
 
static sc_bool uip_match_list (sc_ptnoderef_t node)
 
static sc_bool uip_match_alternatives (sc_ptnoderef_t node)
 
static sc_bool uip_match_choice (sc_ptnoderef_t node)
 
static sc_bool uip_match_optional (sc_ptnoderef_t node)
 
static sc_bool uip_match_wildcard (sc_ptnoderef_t node)
 
static sc_bool uip_match_number (void)
 
static sc_bool uip_match_text (sc_ptnoderef_t node)
 
static sc_int uip_skip_article (const sc_char *string, sc_int start)
 
static sc_int uip_compare_reference (const sc_char *words)
 
static sc_int uip_compare_prefixed_name (const sc_char *prefix, const sc_char *name)
 
static sc_bool uip_match_remainder (sc_ptnoderef_t node, sc_int extent)
 
static sc_bool uip_match_character (sc_ptnoderef_t node)
 
static sc_bool uip_match_object (sc_ptnoderef_t node)
 
static sc_charuip_cleanse_string (const sc_char *original, sc_char *buffer, sc_int length)
 
static sc_charuip_free_cleansed_string (sc_char *string, const sc_char *buffer)
 
void uip_debug_trace (sc_bool flag)
 
sc_bool uip_match (const sc_char *pattern, const sc_char *string, sc_gameref_t game)
 
sc_charuip_replace_pronouns (sc_gameref_t game, const sc_char *string)
 
void uip_assign_pronouns (sc_gameref_t game, const sc_char *string)
 
static sc_bool pf_is_valid (sc_filterref_t filter)
 
sc_filterref_t pf_create (void)
 
void pf_destroy (sc_filterref_t filter)
 
static sc_charpf_interpolate_vars (const sc_char *string, sc_var_setref_t vars)
 
static sc_bool pf_replace_alr (const sc_char *string, sc_char **buffer, sc_int alr, sc_prop_setref_t bundle)
 
static sc_charpf_replace_alrs (const sc_char *string, sc_prop_setref_t bundle, sc_bool alr_applied[], sc_int alr_count)
 
static void pf_output_text (const sc_char *string)
 
static void pf_output_tag (const sc_char *contents)
 
static void pf_output_untagged (const sc_char *string)
 
static sc_charpf_filter_internal (const sc_char *string, sc_var_setref_t vars, sc_prop_setref_t bundle)
 
sc_charpf_filter (const sc_char *string, sc_var_setref_t vars, sc_prop_setref_t bundle)
 
sc_charpf_filter_for_info (const sc_char *string, sc_var_setref_t vars)
 
void pf_flush (sc_filterref_t filter, sc_var_setref_t vars, sc_prop_setref_t bundle)
 
static void pf_append_string (sc_filterref_t filter, const sc_char *string)
 
void pf_checkpoint (sc_filterref_t filter, sc_var_setref_t vars, sc_prop_setref_t bundle)
 
const sc_charpf_get_buffer (sc_filterref_t filter)
 
sc_charpf_transfer_buffer (sc_filterref_t filter)
 
void pf_empty (sc_filterref_t filter)
 
void pf_buffer_string (sc_filterref_t filter, const sc_char *string)
 
void pf_buffer_character (sc_filterref_t filter, sc_char character)
 
void pf_prepend_string (sc_filterref_t filter, const sc_char *string)
 
void pf_new_sentence (sc_filterref_t filter)
 
void pf_mute (sc_filterref_t filter)
 
void pf_clear_mute (sc_filterref_t filter)
 
void pf_buffer_tag (sc_filterref_t filter, sc_int tag)
 
static void pf_strip_tags_common (sc_char *string, sc_bool allow_newlines)
 
void pf_strip_tags (sc_char *string)
 
void pf_strip_tags_for_hints (sc_char *string)
 
sc_charpf_escape (const sc_char *string)
 
static sc_int pf_compare_words (const sc_char *string, const sc_char *words)
 
sc_charpf_filter_input (const sc_char *string, sc_prop_setref_t bundle)
 
void pf_debug_trace (sc_bool flag)
 
static sc_bool prop_is_valid (sc_prop_setref_t bundle)
 
static sc_int prop_round_up (sc_int elements)
 
static void * prop_ensure_capacity (void *array, sc_int old_size, sc_int new_size, sc_int element_size)
 
static void * prop_trim_capacity (void *array, sc_int size, sc_int element_size)
 
static int prop_compare (const void *string1, const void *string2)
 
static const sc_charprop_dictionary_lookup (sc_prop_setref_t bundle, const sc_char *string)
 
static sc_prop_noderef_t prop_new_node (sc_prop_setref_t bundle)
 
static sc_prop_noderef_t prop_find_child (sc_prop_noderef_t parent, sc_int type, sc_vartype_t name)
 
static sc_prop_noderef_t prop_add_child (sc_prop_noderef_t parent, sc_int type, sc_vartype_t name, sc_prop_setref_t bundle)
 
void prop_put (sc_prop_setref_t bundle, const sc_char *format, sc_vartype_t vt_value, const sc_vartype_t vt_key[])
 
sc_bool prop_get (sc_prop_setref_t bundle, const sc_char *format, sc_vartype_t *vt_rvalue, const sc_vartype_t vt_key[])
 
static void prop_trim_node (sc_prop_noderef_t node)
 
void prop_solidify (sc_prop_setref_t bundle)
 
sc_int prop_get_integer (sc_prop_setref_t bundle, const sc_char *format, const sc_vartype_t vt_key[])
 
sc_bool prop_get_boolean (sc_prop_setref_t bundle, const sc_char *format, const sc_vartype_t vt_key[])
 
const sc_charprop_get_string (sc_prop_setref_t bundle, const sc_char *format, const sc_vartype_t vt_key[])
 
sc_int prop_get_child_count (sc_prop_setref_t bundle, const sc_char *format, const sc_vartype_t vt_key[])
 
static sc_prop_setref_t prop_create_empty ()
 
static void prop_destroy_child_list (sc_prop_noderef_t node)
 
void prop_destroy (sc_prop_setref_t bundle)
 
sc_prop_setref_t prop_create (const sc_tafref_t taf)
 
void prop_adopt (sc_prop_setref_t bundle, void *addr)
 
static sc_bool prop_debug_is_dictionary_string (sc_prop_setref_t bundle, const sc_char *pointer)
 
static void prop_debug_dump_node (sc_prop_setref_t bundle, sc_int depth, sc_int child_index, sc_prop_noderef_t node)
 
void prop_debug_dump (sc_prop_setref_t bundle)
 
void prop_debug_trace (sc_bool flag)
 
void sc_trace (const sc_char *format,...) __attribute__((__format__(__printf__
 
void void sc_error (const sc_char *format,...) __attribute__((__format__(__printf__
 
void void void sc_fatal (const sc_char *format,...) __attribute__((__format__(__printf__
 
void * sc_malloc (size_t size)
 
void * sc_realloc (void *pointer, size_t size)
 
void sc_free (void *pointer)
 
void sc_set_congruential_random (void)
 
void sc_set_platform_random (void)
 
sc_bool sc_is_congruential_random (void)
 
void sc_seed_random (sc_uint new_seed)
 
sc_int sc_rand (void)
 
sc_int sc_randomint (sc_int low, sc_int high)
 
sc_bool sc_strempty (const sc_char *string)
 
sc_charsc_trim_string (sc_char *string)
 
sc_charsc_normalize_string (sc_char *string)
 
sc_bool sc_compare_word (const sc_char *string, const sc_char *word, sc_int length)
 
sc_uint sc_hash (const sc_char *string)
 
void taf_destroy (sc_tafref_t taf)
 
sc_tafref_t taf_create (sc_read_callbackref_t callback, void *opaque)
 
sc_tafref_t taf_create_tas (sc_read_callbackref_t callback, void *opaque)
 
void taf_first_line (sc_tafref_t taf)
 
const sc_chartaf_next_line (sc_tafref_t taf)
 
sc_bool taf_more_lines (sc_tafref_t taf)
 
sc_int taf_get_game_data_length (sc_tafref_t taf)
 
sc_int taf_get_version (sc_tafref_t taf)
 
sc_bool taf_debug_is_taf_string (sc_tafref_t taf, const void *addr)
 
void taf_debug_dump (sc_tafref_t taf)
 
sc_bool parse_game (sc_tafref_t taf, sc_prop_setref_t bundle)
 
void parse_debug_trace (sc_bool flag)
 
void var_put (sc_var_setref_t vars, const sc_char *name, sc_int type, sc_vartype_t vt_value)
 
sc_bool var_get (sc_var_setref_t vars, const sc_char *name, sc_int *type, sc_vartype_t *vt_rvalue)
 
void var_put_integer (sc_var_setref_t vars, const sc_char *name, sc_int value)
 
sc_int var_get_integer (sc_var_setref_t vars, const sc_char *name)
 
void var_put_string (sc_var_setref_t vars, const sc_char *name, const sc_char *string)
 
const sc_charvar_get_string (sc_var_setref_t vars, const sc_char *name)
 
sc_var_setref_t var_create (sc_prop_setref_t bundle)
 
void var_destroy (sc_var_setref_t vars)
 
void var_register_game (sc_var_setref_t vars, sc_gameref_t game)
 
void var_set_ref_character (sc_var_setref_t vars, sc_int character)
 
void var_set_ref_object (sc_var_setref_t vars, sc_int object)
 
void var_set_ref_number (sc_var_setref_t vars, sc_int number)
 
void var_set_ref_text (sc_var_setref_t vars, const sc_char *text)
 
sc_int var_get_ref_character (sc_var_setref_t vars)
 
sc_int var_get_ref_object (sc_var_setref_t vars)
 
sc_int var_get_ref_number (sc_var_setref_t vars)
 
const sc_charvar_get_ref_text (sc_var_setref_t vars)
 
sc_uint var_get_elapsed_seconds (sc_var_setref_t vars)
 
void var_set_elapsed_seconds (sc_var_setref_t vars, sc_uint seconds)
 
void var_debug_trace (sc_bool flag)
 
void var_debug_dump (sc_var_setref_t vars)
 
sc_bool lib_cmd_shake_npc (sc_gameref_t game)
 
sc_bool res_has_sound (sc_gameref_t game)
 
sc_bool res_has_graphics (sc_gameref_t game)
 
void res_clear_resource (sc_resourceref_t resource)
 
sc_bool res_compare_resource (sc_resourceref_t from, sc_resourceref_t with)
 
void res_handle_resource (sc_gameref_t game, const sc_char *partial_format, const sc_vartype_t vt_partial[])
 
void res_sync_resources (sc_gameref_t game)
 
void res_cancel_resources (sc_gameref_t game)
 
sc_bool run_game_task_commands (sc_gameref_t game, const sc_char *string)
 
sc_gameref_t run_create (sc_read_callbackref_t callback, void *opaque)
 
void run_interpret (CONTEXT, sc_gameref_t game)
 
void run_destroy (sc_gameref_t game)
 
void run_restart (CONTEXT, sc_gameref_t game)
 
void run_save (sc_gameref_t game, sc_write_callbackref_t callback, void *opaque)
 
sc_bool run_save_prompted (sc_gameref_t game)
 
sc_bool run_restore (CONTEXT, sc_gameref_t game, sc_read_callbackref_t callback, void *opaque)
 
sc_bool run_restore_prompted (CONTEXT, sc_gameref_t game)
 
sc_bool run_undo (CONTEXT, sc_gameref_t game)
 
void run_quit (CONTEXT, sc_gameref_t game)
 
sc_bool run_is_running (sc_gameref_t game)
 
sc_bool run_has_completed (sc_gameref_t game)
 
sc_bool run_is_undo_available (sc_gameref_t game)
 
void run_get_attributes (sc_gameref_t game, const sc_char **game_name, const sc_char **game_author, const sc_char **game_compile_date, sc_int *turns, sc_int *score, sc_int *max_score, const sc_char **current_room_name, const sc_char **status_line, const sc_char **preferred_font, sc_bool *bold_room_names, sc_bool *verbose, sc_bool *notify_score_change)
 
void run_set_attributes (sc_gameref_t game, sc_bool bold_room_names, sc_bool verbose, sc_bool notify_score_change)
 
sc_hintref_t run_hint_iterate (sc_gameref_t game, sc_hintref_t hint)
 
const sc_charrun_get_hint_question (sc_gameref_t game, sc_hintref_t hint)
 
const sc_charrun_get_subtle_hint (sc_gameref_t game, sc_hintref_t hint)
 
const sc_charrun_get_unsubtle_hint (sc_gameref_t game, sc_hintref_t hint)
 
sc_bool task_has_hints (sc_gameref_t game, sc_int task)
 
const sc_chartask_get_hint_question (sc_gameref_t game, sc_int task)
 
const sc_chartask_get_hint_subtle (sc_gameref_t game, sc_int task)
 
const sc_chartask_get_hint_unsubtle (sc_gameref_t game, sc_int task)
 
sc_bool task_can_run_task_directional (sc_gameref_t game, sc_int task, sc_bool forwards)
 
sc_bool task_can_run_task (sc_gameref_t game, sc_int task)
 
sc_bool task_run_task (sc_gameref_t game, sc_int task, sc_bool forwards)
 
void task_debug_trace (sc_bool flag)
 
sc_bool restr_pass_task_object_state (sc_gameref_t game, sc_int var1, sc_int var2)
 
sc_bool restr_eval_task_restrictions (sc_gameref_t game, sc_int task, sc_bool *pass, const sc_char **fail_message)
 
void restr_debug_trace (sc_bool flag)
 
static void res_set_resource (sc_resourceref_t resource, const sc_char *name, sc_int offset, sc_int length)
 
static sc_int restr_integer_variable (sc_gameref_t game, sc_int n)
 
static sc_bool restr_object_in_place (sc_gameref_t game, sc_int object, sc_int var2, sc_int var3)
 
static sc_bool restr_pass_task_object_location (sc_gameref_t game, sc_int var1, sc_int var2, sc_int var3)
 
static sc_bool restr_pass_task_task_state (sc_gameref_t game, sc_int var1, sc_int var2)
 
static sc_bool restr_pass_task_char (sc_gameref_t game, sc_int var1, sc_int var2, sc_int var3)
 
static sc_bool restr_pass_task_int_var (sc_gameref_t game, sc_int var2, sc_int var3, sc_int value)
 
static sc_bool restr_pass_task_string_var (sc_int var2, const sc_char *var4, const sc_char *value)
 
static sc_bool restr_pass_task_var (sc_gameref_t game, sc_int var1, sc_int var2, sc_int var3, const sc_char *var4)
 
static sc_bool restr_pass_task_restriction (sc_gameref_t game, sc_int task, sc_int restriction)
 
static void restr_tokenize_start (const sc_char *expression)
 
static void restr_tokenize_end (void)
 
static sc_char restr_next_token (void)
 
static void restr_eval_start (sc_gameref_t game, sc_int task)
 
static void restr_eval_push (sc_bool value)
 
static void restr_eval_action (sc_char token)
 
static sc_int restr_eval_result (sc_int *lowest_fail)
 
static void restr_match (CONTEXT, sc_char c)
 
static void restr_bexpr (CONTEXT)
 
static void restr_andexpr (CONTEXT)
 
static void restr_orexpr (CONTEXT)
 
static const sc_charrestr_get_fail_message (sc_gameref_t game, sc_int task, sc_int restriction)
 
static sc_bool run_is_task_function (const sc_char *pattern, sc_gameref_t game)
 
static sc_bool run_priority_commands (sc_gameref_t game, const sc_char *string)
 
static sc_bool run_standard_commands (sc_gameref_t game, const sc_char *string)
 
static void run_update_status (sc_gameref_t game)
 
static void run_notify_score_change (sc_gameref_t game)
 
static sc_bool run_match_task_common (sc_gameref_t game, sc_int task, const sc_char *string, sc_bool forwards, sc_bool is_library, sc_bool is_normal)
 
static sc_bool run_match_task_commands (sc_gameref_t game, sc_int task, const sc_char *string, sc_bool forwards, sc_bool is_library)
 
static sc_bool run_match_task_functions (sc_gameref_t game, sc_int task, const sc_char *string, sc_bool forwards)
 
static sc_bool run_task_is_unrestricted (sc_gameref_t game, sc_int task)
 
static sc_bool run_task_is_loudly_restricted (sc_gameref_t game, sc_int task)
 
static sc_bool run_game_commands_common (sc_gameref_t game, const sc_char *string, sc_bool include_restrictions, sc_bool is_library)
 
static sc_bool run_game_commands_in_parser_context (sc_gameref_t game, const sc_char *string, sc_bool include_restrictions)
 
static sc_bool run_game_commands_in_library_context (sc_gameref_t game, const sc_char *string)
 
static void run_game_functions (sc_gameref_t game, const sc_char *string)
 
static sc_bool run_all_commands (sc_gameref_t game, const sc_char *string)
 
static sc_bool run_player_input (sc_gameref_t game)
 
static void run_main_loop (CONTEXT, sc_gameref_t game)
 
static void run_restart_handler (sc_gameref_t game)
 
static void run_restore_handler (sc_gameref_t game)
 
static void run_quit_handler (sc_gameref_t game)
 
static sc_bool run_restore_common (CONTEXT, sc_gameref_t game, sc_read_callbackref_t callback, void *opaque)
 
static const sc_charrun_get_hint_common (sc_gameref_t game, sc_hintref_t hint, const sc_char *(*handler)(sc_gameref_t, sc_int))
 
static sc_byte taf_random (void)
 
static void taf_random_reset (void)
 
static sc_bool taf_is_valid (sc_tafref_t taf)
 
static sc_tafref_t taf_create_empty (void)
 
static void taf_finalize_last_slab (sc_tafref_t taf)
 
static sc_int taf_find_buffer_extent (const sc_byte *buffer, sc_int length, sc_bool *is_unterminated)
 
static sc_int taf_append_buffer (sc_tafref_t taf, const sc_byte *buffer, sc_int length)
 
static sc_bool taf_unobfuscate (sc_tafref_t taf, sc_read_callbackref_t callback, void *opaque, sc_bool is_gamefile)
 
static sc_bool taf_decompress (sc_tafref_t taf, sc_read_callbackref_t callback, void *opaque, sc_bool is_gamefile)
 
static sc_bool taf_read_raw (sc_tafref_t taf, sc_read_callbackref_t callback, void *opaque, sc_bool is_gamefile)
 
static sc_tafref_t taf_create_from_callback (sc_read_callbackref_t callback, void *opaque, sc_bool is_gamefile)
 
static const sc_parse_schema_tparse_select_schema (sc_tafref_t taf)
 
static void parse_push_key (sc_vartype_t vt_key, sc_char type)
 
static void parse_pop_key (void)
 
static void parse_retrieve_stack (sc_char format[], sc_vartype_t vt_key[], sc_int *depth)
 
static void parse_stack_backtrace (void)
 
static void parse_put_property (sc_vartype_t vt_value, sc_char type)
 
static sc_bool parse_get_property (sc_vartype_t *vt_rvalue, sc_char type)
 
static sc_int parse_get_child_count (void)
 
static sc_int parse_get_integer_property (void)
 
static sc_bool parse_get_boolean_property (void)
 
static const sc_charparse_get_string_property (void)
 
static const sc_charparse_get_taf_string (CONTEXT)
 
static sc_int parse_get_taf_integer (CONTEXT)
 
static sc_bool parse_get_taf_boolean (CONTEXT)
 
static void parse_taf_pushback (void)
 
static void parse_element (CONTEXT, const sc_char *element)
 
static void parse_class (CONTEXT, const sc_char *class_)
 
static void parse_descriptor (CONTEXT, const sc_char *descriptor)
 
static void parse_array (CONTEXT, const sc_char *array)
 
static void parse_vector_common (CONTEXT, const sc_char *vector, sc_int count)
 
static void parse_vector (CONTEXT, const sc_char *vector)
 
static void parse_vector_alternate (CONTEXT, const sc_char *vector)
 
static sc_bool parse_test_expression (const sc_char *test_expression)
 
static void parse_expression (CONTEXT, const sc_char *expression)
 
static sc_charparse_read_multiline (CONTEXT)
 
static void parse_terminal (CONTEXT, const sc_char *terminal)
 
static void parse_clear_v400_resources_table (void)
 
static sc_int parse_get_v400_resource_offset (const sc_char *name, sc_int length, sc_int *real_length)
 
static void parse_handle_v400_resources (sc_bool has_sound, sc_bool has_graphics)
 
static void parse_special (CONTEXT, const sc_char *special)
 
static void parse_fixup_v390_v380_room_alt (const sc_char *m1, sc_int type, const sc_char *resource1, const sc_char *m2, sc_int var2, const sc_char *resource2, sc_int hide_objects, const sc_char *changed, sc_int var3, sc_int display_room)
 
static void parse_fixup_v390_v380_room_alts (void)
 
static void parse_fixup_v390 (CONTEXT, const sc_char *fixup)
 
static void parse_fixup_v380_action (sc_int type, sc_int var_count, sc_int var1, sc_int var2, sc_int var3)
 
static void parse_fixup_v380_movement (sc_int mvar1, sc_int mvar2, sc_int mvar3)
 
static void parse_fixup_v380_restr (sc_int type, sc_int var_count, sc_int var1, sc_int var2, sc_int var3, const sc_char *failmessage)
 
static void parse_fixup_v380_obj_restr (sc_bool holding, sc_int holdobj, const sc_char *failmessage)
 
static void parse_fixup_v380_task_restr (sc_bool tasknotdone, sc_int task, const sc_char *failmessage)
 
static void parse_fixup_v380_wear_restr (sc_int wearobj, const sc_char *failmessage)
 
static void parse_fixup_v380_npc_restr (sc_bool notinsameroom, sc_int npc, const sc_char *failmessage)
 
static void parse_fixup_v380_objroom_restr (sc_int obj, sc_int objroom, const sc_char *failmessage)
 
static void parse_fixup_v380_objstate_restr (sc_int obj, sc_int ivar1, sc_int ivar2, const sc_char *failmessage)
 
static void parse_fixup_v380 (const sc_char *fixup)
 
static void parse_fixup (CONTEXT, const sc_char *fixup)
 
static void parse_add_walkalerts (sc_prop_setref_t bundle)
 
static void parse_add_movetimes (sc_prop_setref_t bundle)
 
static void parse_add_alrs_index (sc_prop_setref_t bundle)
 
static void parse_add_resources_offset (sc_prop_setref_t bundle, sc_tafref_t taf)
 
static void parse_add_version (sc_prop_setref_t bundle, sc_tafref_t taf)
 
static const sc_chartask_get_hint_common (sc_gameref_t game, sc_int task, const sc_char *hint)
 
static void task_move_object (sc_gameref_t game, sc_int object, sc_int var2, sc_int var3)
 
static void task_run_move_object_action (sc_gameref_t game, sc_int var1, sc_int var2, sc_int var3)
 
static void task_move_npc_to_room (sc_gameref_t game, sc_int npc, sc_int room)
 
static void task_run_move_npc_action (sc_gameref_t game, sc_int var1, sc_int var2, sc_int var3)
 
static void task_run_change_object_status (sc_gameref_t game, sc_int var1, sc_int var2)
 
static void task_run_change_variable_action (sc_gameref_t game, sc_int var1, sc_int var2, sc_int var3, const sc_char *expr, sc_int var5)
 
static void task_run_change_score_action (sc_gameref_t game, sc_int task, sc_int var1)
 
static sc_bool task_run_set_task_action (sc_gameref_t game, sc_int var1, sc_int var2)
 
static sc_bool task_run_end_game_action (sc_gameref_t game, sc_int var1)
 
static sc_bool task_run_task_action (sc_gameref_t game, sc_int task, sc_int action)
 
static sc_bool task_run_task_actions (sc_gameref_t game, sc_int task)
 
static void task_start_npc_walks (sc_gameref_t game, sc_int task)
 
static sc_bool task_run_task_unrestricted (sc_gameref_t game, sc_int task, sc_bool forwards)
 
static sc_int sc_platform_rand (sc_uint new_seed)
 
static sc_int sc_congruential_rand (sc_uint new_seed)
 
static sc_bool var_is_valid (sc_var_setref_t vars)
 
static sc_uint var_hash_name (const sc_char *name)
 
static sc_var_setref_t var_create_empty (void)
 
static sc_varref_t var_find (sc_var_setref_t vars, const sc_char *name)
 
static sc_varref_t var_add (sc_var_setref_t vars, const sc_char *name, sc_int type)
 
static sc_int var_get_scare_version (void)
 
static void var_append_temp (sc_var_setref_t vars, const sc_char *string)
 
static void var_print_object_np (sc_gameref_t game, sc_int object)
 
static void var_print_object (sc_gameref_t game, sc_int object)
 
static const sc_charvar_select_plurality (sc_gameref_t game, sc_int object, const sc_char *singular, const sc_char *plural)
 
static void var_list_in_object (sc_gameref_t game, sc_int container)
 
static void var_list_on_object (sc_gameref_t game, sc_int supporter)
 
static void var_list_onin_object (sc_gameref_t game, sc_int associate)
 
static sc_bool var_return_integer (sc_int value, sc_int *type, sc_vartype_t *vt_rvalue)
 
static sc_bool var_return_string (const sc_char *value, sc_int *type, sc_vartype_t *vt_rvalue)
 
static sc_bool var_get_system (sc_var_setref_t vars, const sc_char *name, sc_int *type, sc_vartype_t *vt_rvalue)
 
static sc_bool var_get_user (sc_var_setref_t vars, const sc_char *name, sc_int *type, sc_vartype_t *vt_rvalue)
 
void * file_open_file_callback (sc_bool is_save)
 
sc_int file_read_file_callback (void *opaque, sc_byte *buffer, sc_int length)
 
void file_write_file_callback (void *opaque, const sc_byte *buffer, sc_int length)
 
void file_close_file_callback (void *opaque)
 
void file_cleanup (void)
 
static int glob_inrange_unsigned (const unsigned char **const pattern, unsigned char ch)
 
static int glob_match_unsigned (const unsigned char *pattern, const unsigned char *string)
 
static void glob_self_test (void)
 
sc_bool glob_match (const sc_char *pattern, const sc_char *string)
 
void sx_trace (const sc_char *format,...) __attribute__((__format__(__printf__
 
void void sx_error (const sc_char *format,...) __attribute__((__format__(__printf__
 
void void void sx_fatal (const sc_char *format,...) __attribute__((__format__(__printf__
 
void * sx_malloc (size_t size)
 
void * sx_realloc (void *pointer, size_t size)
 
void sx_free (void *pointer)
 
Common::SeekableReadStreamsx_fopen (const sc_char *name, const sc_char *extension, const sc_char *mode)
 
sc_charsx_trim_string (sc_char *string)
 
sc_charsx_normalize_string (sc_char *string)
 
sc_int test_run_game_tests (const sx_test_descriptor_t tests[], sc_int count, sc_bool is_verbose)
 
void scr_set_verbose (sc_bool flag)
 
static void scr_test_message (const sc_char *format, const sc_char *string)
 
void scr_test_failed (const sc_char *format, const sc_char *string)
 
static sc_bool scr_is_line_type (const sc_char *line, sc_char type)
 
static sc_bool scr_is_line_comment_or_empty (const sc_char *line)
 
static sc_bool scr_is_line_game_command (const sc_char *line)
 
static sc_bool scr_is_line_debug_command (const sc_char *line)
 
static sc_bool scr_is_line_command (const sc_char *line)
 
static sc_bool scr_is_line_empty_debug_command (const sc_char *line)
 
static void scr_save_location (sx_script script, sx_scr_locationref_t location)
 
static void scr_restore_location (sx_script script, sx_scr_locationref_t location)
 
static sc_charscr_get_next_line (sx_script script)
 
static sc_charscr_concatenate (sc_char *string, const sc_char *buffer)
 
static sc_bool scr_get_next_section (sx_script script, sc_char **command, sc_char **expectation)
 
static void scr_expect (sc_char *expectation)
 
static void scr_verify_expectation (void)
 
static void scr_execute_debugger_command (const sc_char *command, sc_char *expectation)
 
static sc_bool scr_read_line_callback (sc_char *buffer, sc_int length)
 
static void scr_print_string_callback (const sc_char *string)
 
void scr_start_script (sc_game game, sx_script script)
 
sc_int scr_finalize_script (void)
 
void stub_attach_handlers (sc_bool(*read_line)(sc_char *, sc_int), void(*print_string)(const sc_char *), void *(*open_file)(sc_bool), sc_int(*read_file)(void *, sc_byte *, sc_int), void(*write_file)(void *, const sc_byte *, sc_int), void(*close_file)(void *))
 
void stub_detach_handlers (void)
 
static void stub_adjust_test_control (sc_int *control, sc_bool is_begin)
 
static sc_bool stub_catch_test_control (sc_int tag, const sc_char *argument)
 
static const sc_charstub_notnull (const sc_char *string)
 
void stub_debug_trace (sc_bool flag)
 
static sc_bool sx_isspace (sc_char character)
 
static sc_bool sx_isprint (sc_char character)
 

Variables

Adriftg_vm = nullptr
 
static const byte V500_SIGNATURE [VERSION_HEADER_SIZE]
 
static const byte V400_SIGNATURE [VERSION_HEADER_SIZE]
 
static const byte V390_SIGNATURE [VERSION_HEADER_SIZE]
 
static const byte V380_SIGNATURE [VERSION_HEADER_SIZE]
 
const PlainGameDescriptor ADRIFT_GAME_LIST []
 
const GlkDetectionEntry ADRIFT_GAMES []
 
static const glui32 GSC_PORT_VERSION = 0x00010310
 
static winid_t gsc_main_window = nullptr
 
static winid_t gsc_status_window = nullptr
 
static strid_t gsc_transcript_stream = nullptr
 
static strid_t gsc_inputlog_stream = nullptr
 
static strid_t gsc_readlog_stream = nullptr
 
static int gsc_commands_enabled = TRUE
 
static int gsc_abbreviations_enabled = TRUE
 
static int gsc_unicode_enabled = TRUE
 
sc_game gsc_game = nullptr
 
static const sc_int GSC_CONF_SUBTLE_HINT = INTEGER_MAX
 
static const sc_int GSC_CONF_UNSUBTLE_HINT = INTEGER_MAX - 1
 
static const sc_int GSC_CONF_CONTINUE_HINTS = INTEGER_MAX - 2
 
static const glui32 GSC_ISO_8859_EQUIVALENCE = 256
 
static const gsc_locale_t GSC_LATIN1_LOCALE
 
static const gsc_locale_t GSC_CYRILLIC_LOCALE
 
static const sc_bool gsc_has_unicode = TRUE
 
static const glui32 gestalt_Unicode = 15
 
static const glui32 GSC_MIN_PRINTABLE = ' '
 
static const glui32 GSC_MAX_PRINTABLE = '~'
 
static const gsc_locale_t *const GSC_AVAILABLE_LOCALES []
 
static const gsc_locale_tgsc_locale = nullptr
 
static const gsc_locale_t *const gsc_fallback_locale = &GSC_LATIN1_LOCALE
 
static const sc_int GSC_STATUS_SLOP = 10
 
static const sc_char *const GSC_WHITESPACE = "\t\n\v\f\r "
 
static int gsc_help_requested = FALSE
 
static int gsc_help_hints_silenced = FALSE
 
static gsc_font_size_t gsc_font_stack [GSC_MAX_STYLE_NESTING]
 
static glui32 gsc_font_index = 0
 
static glui32 gsc_attribute_bold = 0
 
static glui32 gsc_attribute_italic = 0
 
static glui32 gsc_attribute_underline = 0
 
static glui32 gsc_attribute_secondary_color = 0
 
static const sc_int GSC_DEFAULT_FONT_SIZE = 12
 
static const sc_int GSC_MEDIUM_FONT_SIZE = 14
 
static const sc_int GSC_LARGE_FONT_SIZE = 16
 
static const glui32 GSC_MILLISECONDS_PER_SECOND = 1000
 
static const glui32 GSC_TIMEOUTS_COUNT = 10
 
static const sc_int GSC_HINT_REFUSAL_LIMIT = 5
 
static const glui32 GSC_CANCEL_WAIT_1 = ' '
 
static const glui32 GSC_CANCEL_WAIT_2 = keycode_Return
 
static int gsclinux_graphics_enabled = TRUE
 
static char * gsclinux_game_file = nullptr
 
static gsc_command_t GSC_COMMAND_TABLE []
 
static const char GSC_QUOTED_INPUT = '\''
 
static gsc_abbreviation_t GSC_ABBREVIATIONS []
 
static const glui32 GSC_DELAY_TIMEOUT = 100
 
static const glui32 GSC_DELAY_TIMEOUTS_COUNT = 10
 
static const glui32 GSC_LOADING_TIMEOUT = 100
 
static const char * gsc_game_message
 
static int gsc_startup_called = FALSE
 
static int gsc_main_called = FALSE
 
glkunix_argumentlist_t glkunix_arguments []
 
static const sc_uint DEBUG_MAGIC = 0xc4584d2e
 
static const sc_strings_t DEBUG_COMMANDS []
 
static sc_bool evt_trace = FALSE
 
static const sc_char NUL = '\0'
 
static const sc_char PERCENT = '%'
 
static const sc_char SINGLE_QUOTE = '\''
 
static const sc_char DOUBLE_QUOTE = '"'
 
static const sc_expr_multichar_t FUNCTION_TOKENS []
 
static const sc_expr_multichar_t OPERATOR_TOKENS []
 
static const sc_charexpr_expression = NULL
 
static sc_int expr_index = 0
 
static sc_vartype_t expr_token_value
 
static sc_charexpr_temporary = NULL
 
static sc_int expr_current_token = TOK_NONE
 
static sc_stack_t expr_eval_stack [MAX_NESTING_DEPTH]
 
static sc_int expr_eval_stack_index = 0
 
static sc_var_setref_t expr_varset = NULL
 
static sc_int expr_parse_lookahead = TOK_NONE
 
static const sc_precedence_entry_t PRECEDENCE_TABLE []
 
static const sc_uint GAME_MAGIC = 0x35aed26e
 
static const sc_char NEWLINE = '\n'
 
static const sc_char CARRIAGE_RETURN = '\r'
 
static const sc_char NUL = '\0'
 
static sc_uint if_trace_flags = 0
 
static const sc_char NUL = '\0'
 
static const sc_char COMMA = ','
 
static sc_bool lib_trace = FALSE
 
static const sc_char *const DIRNAMES_4 []
 
static const sc_char *const DIRNAMES_8 []
 
static sc_locale_table_t loc_locale_tables = {NULL, {0}, {0}, {0}, {0}, {0}}
 
static const sc_locale_t LATIN1_LOCALE
 
static const sc_locale_t CYRILLIC_LOCALE
 
static const sc_locale_t *const AVAILABLE_LOCALES []
 
static const sc_locale_tloc_locale = &LATIN1_LOCALE
 
static sc_bool loc_is_autodetect_enabled = TRUE
 
static const sc_uint MEMENTO_MAGIC = 0x9fd33d1d
 
static sc_bool npc_trace = FALSE
 
static const sc_char *const DIRNAMES_4 []
 
static const sc_char *const DIRNAMES_8 []
 
static const sc_char NUL = '\0'
 
static sc_bool obj_trace = FALSE
 
static const sc_char NUL = '\0'
 
static const sc_char MINUS = '-'
 
static const sc_char PLUS = '+'
 
static const sc_char PERCENT = '%'
 
static const sc_char *const WHITESPACE = "\t\n\v\f\r "
 
static sc_bool uip_trace = FALSE
 
static const sc_uip_token_entry_t UIP_TOKENS []
 
static const sc_charuip_pattern = NULL
 
static sc_int uip_index = 0
 
static const sc_charuip_token_value
 
static sc_char uip_static_temporary [UIP_ALLOCATION_AVOIDANCE_SIZE]
 
static sc_charuip_temporary = NULL
 
static sc_uip_tok_t uip_parse_lookahead = TOK_NONE
 
static sc_ptnoderef_t uip_parse_tree = NULL
 
static sc_ptnode_t uip_node_pool [UIP_NODE_POOL_SIZE]
 
static sc_int uip_node_pool_cursor = 0
 
static sc_int uip_node_pool_available = UIP_NODE_POOL_SIZE
 
static sc_ptshortword_t uip_word_pool [UIP_WORD_POOL_SIZE]
 
static sc_int uip_word_pool_cursor = 0
 
static sc_int uip_word_pool_available = UIP_WORD_POOL_SIZE
 
static sc_ptnoderef_t uip_parse_new_list (CONTEXT)
 
static sc_ptnoderef_t uip_parse_element (CONTEXT)
 
static const sc_charuip_string = NULL
 
static sc_int uip_posn = 0
 
static sc_gameref_t uip_game = NULL
 
static const sc_uint PRINTFILTER_MAGIC = 0xb4736417
 
static const sc_char NUL = '\0'
 
static const sc_char LESSTHAN = '<'
 
static const sc_char GREATERTHAN = '>'
 
static const sc_char PERCENT = '%'
 
static const sc_char *const ENTITY_LESSTHAN = "&lt;"
 
static const sc_char *const *const ENTITY_GREATERTHAN = "&gt;"
 
static const sc_char *const *const *const ENTITY_PERCENT = "+percent+"
 
static const sc_char *const ESCAPES = "<>%&+"
 
static const sc_char *const WHITESPACE = "\t\n\v\f\r "
 
static sc_bool pf_trace = FALSE
 
static const sc_html_tags_t HTML_TAGS_TABLE []
 
static const sc_uint PROP_MAGIC = 0x7927b2e0
 
static const sc_char NUL = '\0'
 
static sc_bool prop_trace = FALSE
 
static const sc_char NUL = '\0'
 
static const sc_char NUL = '\0'
 
static sc_bool restr_trace = FALSE
 
static const sc_charrestr_expression = NULL
 
static sc_int restr_index = 0
 
static sc_bool restr_eval_values [MAX_NESTING_DEPTH]
 
static sc_int restr_eval_stack = 0
 
static sc_int restr_eval_restriction = 0
 
static sc_gameref_t restr_eval_game = NULL
 
static sc_int restr_eval_task = 0
 
static sc_int restr_lowest_fail = -1
 
static sc_char restr_lookahead = '\0'
 
static const sc_char NUL = '\0'
 
static const sc_char SPECIAL_PATTERN = '#'
 
static const sc_char WILDCARD_PATTERN = '*'
 
static const sc_char *const WHITESPACE = "\t\n\v\f\r "
 
static const sc_char *const SEPARATORS = ".,"
 
static sc_commands_t MOVE_COMMANDS_4 []
 
static sc_commands_t MOVE_COMMANDS_8 []
 
static sc_commands_t PRIORITY_COMMANDS []
 
static sc_commands_t STANDARD_COMMANDS []
 
static const sc_uint TAF_MAGIC = 0x5bdcfa41
 
static const sc_char NEWLINE = '\n'
 
static const sc_char CARRIAGE_RETURN = '\r'
 
static const sc_char NUL = '\0'
 
static const sc_int PRNG_CST1 = 0x43fd43fd
 
static const sc_int PRNG_CST2 = 0x00c39ec3
 
static const sc_int PRNG_CST3 = 0x00ffffff
 
static const sc_int PRNG_INITIAL_STATE = 0x00a09e86
 
static sc_int taf_random_state = 0x00a09e86
 
static const sc_char NUL = '\0'
 
static const sc_byte V400_SEPARATOR [SEPARATOR_SIZE] = {0xbd, 0xd0, 0x00}
 
static const sc_byte V390_SEPARATOR [SEPARATOR_SIZE] = {0x2a, 0x2a, 0x00}
 
static const sc_byte V380_SEPARATOR [SEPARATOR_SIZE] = {0x2a, 0x2a, 0x00}
 
static const sc_parse_schema_t V400_PARSE_SCHEMA []
 
static const sc_parse_schema_t V390_PARSE_SCHEMA []
 
static const sc_parse_schema_t V380_PARSE_SCHEMA []
 
static sc_tafref_t parse_taf = NULL
 
static sc_int parse_tafline = 0
 
static const sc_parse_schema_tparse_schema = NULL
 
static sc_prop_setref_t parse_bundle = NULL
 
static sc_bool parse_trace = FALSE
 
static sc_vartype_t parse_vt_key [PARSE_MAX_DEPTH]
 
static sc_char parse_format [PARSE_MAX_DEPTH]
 
static sc_int parse_depth = 0
 
static const sc_charparse_pushback_line = NULL
 
static sc_bool parse_use_pushback = FALSE
 
static sc_int parse_resources_length = 0
 
static sc_int parse_resources_size = 0
 
static sc_parse_resource_tparse_resources = NULL
 
static sc_bool task_trace = FALSE
 
static void * sc_zero_allocation = &sc_zero_allocation
 
static sc_int(* sc_rand_function )(sc_uint) = sc_platform_rand
 
static const sc_char NUL = '\0'
 
static const sc_char SPACE = ' '
 
static const sc_uint VARS_MAGIC = 0xabcc7a71
 
static const sc_char NUL = '\0'
 
static sc_bool var_trace = FALSE
 
static const sc_char *const VAR_NUMBERS [VAR_NUMBERS_SIZE]
 
static const sc_char NEWLINE = '\n'
 
static const sc_char CARRIAGE_RETURN = '\r'
 
static sx_scr_stream_t scr_serialization_stream = {NULL, 0, FALSE, FALSE}
 
static const sx_test_data_t SHOULD_MATCH []
 
static const sx_test_data_t SHOULD_NOT_MATCH []
 
static const sc_char NUL = '\0'
 
static const sc_char SCRIPT_COMMENT = '#'
 
static const sc_char GAME_COMMAND = '>'
 
static const sc_char DEBUG_COMMAND = '~'
 
static sc_bool scr_is_verbose = FALSE
 
static sc_game scr_game = NULL
 
static sx_script scr_script = NULL
 
static sc_int scr_line_number = 0
 
static sc_int scr_errors = 0
 
static sc_charscr_expectation = NULL
 
static sc_charscr_game_output = NULL
 
static sc_bool stub_trace = FALSE
 
static sc_bool(* stub_read_line )(sc_char *, sc_int) = NULL
 
static void(* stub_print_string )(const sc_char *) = NULL
 
static void *(* stub_open_file )(sc_bool) = NULL
 
static sc_int(* stub_read_file )(void *, sc_byte *, sc_int) = NULL
 
static void(* stub_write_file )(void *, const sc_byte *, sc_int) = NULL
 
static void(* stub_close_file )(void *) = NULL
 
static sc_int stub_show_resources = 0
 
static sc_int stub_show_tags = 0
 
static void * sx_zero_allocation = &sx_zero_allocation
 
static const sc_char NUL = '\0'
 

Typedef Documentation

◆ gsc_abbreviationref_t

◆ gsc_commandref_t

Definition at line 2007 of file os_glk.cpp.

◆ sc_bool

typedef int Glk::Adrift::sc_bool

Definition at line 48 of file scare.h.

◆ sc_byte

typedef unsigned char Glk::Adrift::sc_byte

Definition at line 45 of file scare.h.

◆ sc_char

typedef char Glk::Adrift::sc_char

Definition at line 44 of file scare.h.

◆ sc_commands_t

Definition at line 114 of file scrunner.cpp.

◆ sc_commandsref_t

Definition at line 115 of file scrunner.cpp.

◆ sc_debugger_t

Definition at line 95 of file scdebug.cpp.

◆ sc_debuggerref_t

Definition at line 752 of file scprotos.h.

◆ sc_eventstate_t

Definition at line 78 of file scgamest.h.

◆ sc_filter_t

Definition at line 103 of file scprintf.cpp.

◆ sc_filterref_t

Definition at line 223 of file scprotos.h.

◆ sc_game

typedef void* Glk::Adrift::sc_game

Definition at line 76 of file scare.h.

◆ sc_game_hint

Definition at line 157 of file scare.h.

◆ sc_game_t

Definition at line 184 of file scgamest.h.

◆ sc_gameref_t

Definition at line 170 of file scprotos.h.

◆ sc_hintref_t

Definition at line 173 of file scprotos.h.

◆ sc_history_t

Definition at line 58 of file scmemos.cpp.

◆ sc_historyref_t

Definition at line 59 of file scmemos.cpp.

◆ sc_int

typedef long Glk::Adrift::sc_int

Definition at line 46 of file scare.h.

◆ sc_memo_set_t

Definition at line 80 of file scmemos.cpp.

◆ sc_memo_setref_t

Definition at line 255 of file scprotos.h.

◆ sc_memo_t

Definition at line 43 of file scmemos.cpp.

◆ sc_memoref_t

Definition at line 44 of file scmemos.cpp.

◆ sc_npcstate_t

Definition at line 93 of file scgamest.h.

◆ sc_objectstate_t

Definition at line 59 of file scgamest.h.

◆ sc_prop_node_t

Definition at line 53 of file scprops.cpp.

◆ sc_prop_noderef_t

Definition at line 54 of file scprops.cpp.

◆ sc_prop_set_t

Definition at line 75 of file scprops.cpp.

◆ sc_prop_setref_t

Definition at line 131 of file scprotos.h.

◆ sc_ptnode_t

Definition at line 245 of file scparser.cpp.

◆ sc_ptnoderef_t

Definition at line 246 of file scparser.cpp.

◆ sc_ptshortwordref_t

Definition at line 275 of file scparser.cpp.

◆ sc_read_callbackref_t

typedef sc_int(* Glk::Adrift::sc_read_callbackref_t) (void *, sc_byte *, sc_int)

Definition at line 61 of file scprotos.h.

◆ sc_resource_t

Definition at line 106 of file scgamest.h.

◆ sc_resourceref_t

Definition at line 613 of file scprotos.h.

◆ sc_roomstate_t

Definition at line 36 of file scgamest.h.

◆ sc_slabdescref_t

Definition at line 68 of file sctaffil.cpp.

◆ sc_taf_t

Definition at line 81 of file sctaffil.cpp.

◆ sc_tafref_t

Definition at line 107 of file scprotos.h.

◆ sc_taskstate_t

Definition at line 67 of file scgamest.h.

◆ sc_uint

typedef unsigned long Glk::Adrift::sc_uint

Definition at line 47 of file scare.h.

◆ sc_var_set_t

Definition at line 91 of file scvars.cpp.

◆ sc_var_setref_t

Definition at line 185 of file scprotos.h.

◆ sc_var_t

Definition at line 67 of file scvars.cpp.

◆ sc_varref_t

Definition at line 68 of file scvars.cpp.

◆ sc_write_callbackref_t

typedef void(* Glk::Adrift::sc_write_callbackref_t) (void *, const sc_byte *, sc_int)

Definition at line 62 of file scprotos.h.

◆ sx_scr_locationref_t

◆ sx_script

Definition at line 41 of file sxprotos.h.

◆ sx_test_descriptor_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VERSION_HEADER_SIZE 

Definition at line 35 of file detection.cpp.

◆ anonymous enum

anonymous enum
Enumerator
GSC_TABLE_SIZE 

Definition at line 164 of file os_glk.cpp.

◆ anonymous enum

anonymous enum
Enumerator
GSC_STATUS_BUFFER_LENGTH 

Definition at line 795 of file os_glk.cpp.

◆ anonymous enum

anonymous enum
Enumerator
GSC_MAX_STYLE_NESTING 

Definition at line 1014 of file os_glk.cpp.

◆ anonymous enum

anonymous enum
Enumerator
BYTE_MAX 

Definition at line 50 of file scare.h.

◆ anonymous enum

anonymous enum
Enumerator
INTEGER_MAX 

Definition at line 51 of file scare.h.

◆ anonymous enum

anonymous enum
Enumerator
SC_CONF_QUIT 
SC_CONF_RESTART 
SC_CONF_SAVE 
SC_CONF_RESTORE 
SC_CONF_VIEW_HINTS 

Definition at line 54 of file scare.h.

◆ anonymous enum

anonymous enum
Enumerator
SC_TAG_UNKNOWN 
SC_TAG_ITALICS 
SC_TAG_ENDITALICS 
SC_TAG_BOLD 
SC_TAG_ENDBOLD 
SC_TAG_UNDERLINE 
SC_TAG_ENDUNDERLINE 
SC_TAG_COLOR 
SC_TAG_ENDCOLOR 
SC_TAG_FONT 
SC_TAG_ENDFONT 
SC_TAG_BGCOLOR 
SC_TAG_CENTER 
SC_TAG_ENDCENTER 
SC_TAG_RIGHT 
SC_TAG_ENDRIGHT 
SC_TAG_WAIT 
SC_TAG_WAITKEY 
SC_TAG_CLS 
SC_TAG_COLOUR 
SC_TAG_ENDCOLOUR 
SC_TAG_BGCOLOUR 
SC_TAG_CENTRE 
SC_TAG_ENDCENTRE 

Definition at line 60 of file scare.h.

◆ anonymous enum

anonymous enum
Enumerator
SC_TRACE_PARSE 
SC_TRACE_PROPERTIES 
SC_TRACE_VARIABLES 
SC_TRACE_PARSER 
SC_TRACE_LIBRARY 
SC_TRACE_EVENTS 
SC_TRACE_NPCS 
SC_TRACE_OBJECTS 
SC_TRACE_TASKS 
SC_TRACE_PRINTFILTER 
SC_DUMP_TAF 
SC_DUMP_PROPERTIES 
SC_DUMP_VARIABLES 
SC_DUMP_PARSER_TREES 
SC_DUMP_LOCALE_TABLES 

Definition at line 96 of file scare.h.

◆ anonymous enum

anonymous enum
Enumerator
DEBUG_BUFFER_SIZE 

Definition at line 32 of file scdebug.cpp.

◆ anonymous enum

anonymous enum
Enumerator
MAX_NESTING_DEPTH 

Definition at line 41 of file scexpr.cpp.

◆ anonymous enum

anonymous enum
Enumerator
TOK_NONE 
TOK_ADD 
TOK_SUBTRACT 
TOK_MULTIPLY 
TOK_DIVIDE 
TOK_AND 
TOK_OR 
TOK_LPAREN 
TOK_RPAREN 
TOK_COMMA 
TOK_POWER 
TOK_EQUAL 
TOK_GREATER 
TOK_LESS 
TOK_IDENT 
TOK_INTEGER 
TOK_STRING 
TOK_VARIABLE 
TOK_UMINUS 
TOK_UPLUS 
TOK_MOD 
TOK_NOT_EQUAL 
TOK_GREATER_EQ 
TOK_LESS_EQ 
TOK_IF 
TOK_MIN 
TOK_MAX 
TOK_EITHER 
TOK_RANDOM 
TOK_INSTR 
TOK_LEN 
TOK_VAL 
TOK_ABS 
TOK_UPPER 
TOK_LOWER 
TOK_PROPER 
TOK_RIGHT 
TOK_LEFT 
TOK_MID 
TOK_STR 
TOK_CONCATENATE 
TOK_EOS 

Definition at line 55 of file scexpr.cpp.

◆ anonymous enum

anonymous enum
Enumerator
OBJ_HIDDEN 
OBJ_HELD_PLAYER 
OBJ_HELD_NPC 
OBJ_WORN_PLAYER 
OBJ_WORN_NPC 
OBJ_PART_PLAYER 
OBJ_PART_NPC 
OBJ_ON_OBJECT 
OBJ_IN_OBJECT 

Definition at line 45 of file scgamest.h.

◆ anonymous enum

anonymous enum
Enumerator
ES_WAITING