/* * Seven Kingdoms: Ancient Adversaries * * Copyright 1997,1998 Enlight Software Ltd. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ //Filename : ORESTXT.H //Description : Header file of Object Text ResTxt #ifndef __ORESTXT_H #define __ORESTXT_H #ifndef __OFILE_H #include #endif //------ Begin of function TxtIndex ------// struct TxtIndex { enum { TITLE_LEN=40, PICT_NAME_LEN=8 }; char title[TITLE_LEN+1]; // Title of the text article char pict_name[PICT_NAME_LEN+1]; short text_size; // size of the text body long file_pos; }; //--------- Define class ResTxt ----------// class ResTxt { public: int rec_count; private: enum { DEF_TXT_BUF_SIZE = 5120 }; // default buffer size : 5K // this size should be large enough for average text unit, also we don't need realloc very frequently char init_flag; char res_file_name[MAX_PATH+1]; // e.g. text file name, e.g. BOOK.RTX // we need to keep the file name, because the file is opened only when reading the content, and close when not necessary TxtIndex* txt_index_array; char* txt_buf; int txt_buf_size; File file_txt; char always_open_flag; // always open the text resource file or not public: ResTxt() { init_flag=0; } ~ResTxt() { deinit(); } void init(char*,int=1); void deinit(); char* get_title(int); char* get_body(int); char* get_pict_name(int); int locate_topic(char*); }; //-------------------------------------------// #endif