diff options
author | Paul Gilbert | 2018-11-18 09:51:32 -0800 |
---|---|---|
committer | Paul Gilbert | 2018-12-08 19:05:59 -0800 |
commit | 79f3d946ef23ff121f30d9e429d2c4ab985ce29c (patch) | |
tree | d86c0a5ff560cd75378855c86744893dbeab7595 /engines/glk/frotz/mem.h | |
parent | 41a437816999c913f30f3ef2c1c751f646399c91 (diff) | |
download | scummvm-rg350-79f3d946ef23ff121f30d9e429d2c4ab985ce29c.tar.gz scummvm-rg350-79f3d946ef23ff121f30d9e429d2c4ab985ce29c.tar.bz2 scummvm-rg350-79f3d946ef23ff121f30d9e429d2c4ab985ce29c.zip |
GLK: FROTZ: Shift Header class into it's own file
Diffstat (limited to 'engines/glk/frotz/mem.h')
-rw-r--r-- | engines/glk/frotz/mem.h | 125 |
1 files changed, 2 insertions, 123 deletions
diff --git a/engines/glk/frotz/mem.h b/engines/glk/frotz/mem.h index 372c7e78d1..3b1b81b21f 100644 --- a/engines/glk/frotz/mem.h +++ b/engines/glk/frotz/mem.h @@ -24,6 +24,7 @@ #define GLK_FROTZ_MEM #include "glk/frotz/frotz_types.h" +#include "glk/frotz/header.h" namespace Glk { namespace Frotz { @@ -35,52 +36,6 @@ namespace Frotz { #define SET_BYTE(addr,v) zmp[addr] = v #define LOW_BYTE(addr,v) v = zmp[addr] -enum HeaderByte { - H_VERSION = 0, - H_CONFIG = 1, - H_RELEASE = 2, - H_RESIDENT_SIZE = 4, - H_START_PC = 6, - H_DICTIONARY = 8, - H_OBJECTS = 10, - H_GLOBALS = 12, - H_DYNAMIC_SIZE = 14, - H_FLAGS = 16, - H_SERIAL = 18, - H_ABBREVIATIONS = 24, - H_FILE_SIZE = 26, - H_CHECKSUM = 28, - H_INTERPRETER_NUMBER = 30, - H_INTERPRETER_VERSION = 31, - H_SCREEN_ROWS = 32, - H_SCREEN_COLS = 33, - H_SCREEN_WIDTH = 34, - H_SCREEN_HEIGHT = 36, - H_FONT_HEIGHT = 38, ///< this is the font width in V5 - H_FONT_WIDTH = 39, ///< this is the font height in V5 - H_FUNCTIONS_OFFSET = 40, - H_STRINGS_OFFSET = 42, - H_DEFAULT_BACKGROUND = 44, - H_DEFAULT_FOREGROUND = 45, - H_TERMINATING_KEYS = 46, - H_LINE_WIDTH = 48, - H_STANDARD_HIGH = 50, - H_STANDARD_LOW = 51, - H_ALPHABET = 52, - H_EXTENSION_TABLE = 54, - H_USER_NAME = 56 -}; - -enum { - HX_TABLE_SIZE = 0, - HX_MOUSE_X = 1, - HX_MOUSE_Y = 2, - HX_UNICODE_TABLE = 3, - HX_FLAGS = 4, - HX_FORE_COLOUR = 5, - HX_BACK_COLOUR = 6 -}; - /** * Stores undo information */ @@ -97,84 +52,8 @@ struct undo_struct { typedef undo_struct undo_t; /** - * Story file header data + * Handles the memory, header, and user options */ -struct Header { -private: - struct StoryEntry { - Story _storyId; - zword _release; - char _serial[7]; - }; - static const StoryEntry RECORDS[25]; -public: - zbyte h_version; - zbyte h_config; - zword h_release; - zword h_resident_size; - zword h_start_pc; - zword h_dictionary; - zword h_objects; - zword h_globals; - zword h_dynamic_size; - zword h_flags; - zbyte h_serial[6]; - zword h_abbreviations; - zword h_file_size; - zword h_checksum; - zbyte h_interpreter_number; - zbyte h_interpreter_version; - zbyte h_screen_rows; - zbyte h_screen_cols; - zword h_screen_width; - zword h_screen_height; - zbyte h_font_height; - zbyte h_font_width; - zword h_functions_offset; - zword h_strings_offset; - zbyte h_default_background; - zbyte h_default_foreground; - zword h_terminating_keys; - zword h_line_width; - zbyte h_standard_high; - zbyte h_standard_low; - zword h_alphabet; - zword h_extension_table; - zbyte h_user_name[8]; - - zword hx_table_size; - zword hx_mouse_x; - zword hx_mouse_y; - zword hx_unicode_table; - zword hx_flags; - zword hx_fore_colour; - zword hx_back_colour; - - Story _storyId; - - /** - * Constructor - */ - Header() : h_version(0), h_config(0), h_release(0), h_resident_size(0), h_start_pc(0), - h_dictionary(0), h_objects(0), h_globals(0), h_dynamic_size(0), h_flags(0), - h_abbreviations(0), h_file_size(0), h_checksum(0), h_interpreter_number(0), - h_interpreter_version(0), h_screen_rows(0), h_screen_cols(0), h_screen_width(0), - h_screen_height(0), h_font_height(1), h_font_width(1), h_functions_offset(0), - h_strings_offset(0), h_default_background(0), h_default_foreground(0), - h_terminating_keys(0), h_line_width(0), h_standard_high(1), h_standard_low(1), - h_alphabet(0), h_extension_table(0), - hx_table_size(0), hx_mouse_x(0), hx_mouse_y(0), hx_unicode_table(0), - hx_flags(0), hx_fore_colour(0), hx_back_colour(0), _storyId(UNKNOWN) { - Common::fill(&h_serial[0], &h_serial[6], '\0'); - Common::fill(&h_user_name[0], &h_user_name[8], '\0'); - } - - /** - * Load the header - */ - void loadHeader(Common::SeekableReadStream &f); -}; - class Mem : public Header, public virtual UserOptions { protected: Common::SeekableReadStream *story_fp; |