/* * 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 : OTUTOR.H //Description : Header file of object RaceRes #ifndef __OH #define __OH #ifndef __ORESX_H #include #endif //------------ Define constant -----------// #define MAX_TUTOR_TEXT_BLOCK 100 //------------ Define struct TutorRec ---------------// struct TutorRec { enum { CODE_LEN=8, DES_LEN=40 }; char code[CODE_LEN]; char des[DES_LEN]; }; //------------- Define struct TutorInfo --------------// struct TutorInfo { enum { CODE_LEN=8, DES_LEN=40 }; char code[CODE_LEN+1]; char des[DES_LEN+1]; }; //---------- Define struct TutorTextBlock ------------// struct TutorTextBlock { enum { BUTTON_CODE_LEN=8 }; char* text_ptr; // offset of the help text in the text buffer short text_len; // length of the help text char button_code[BUTTON_CODE_LEN+1]; }; //----------- Define class Tutor ---------------// class Tutor { public: char init_flag; short tutor_count; TutorInfo* tutor_info_array; ResourceIdx res_tutor_text, res_tutor_intro; //-------------------------------// short cur_tutor_id; short cur_text_block_id; short last_text_block_id; int cur_speech_wav_id; char *tutor_text_buf; int tutor_text_buf_size; char *tutor_intro_buf; int tutor_intro_buf_size; TutorTextBlock *text_block_array; int text_block_count; public: Tutor(); ~Tutor(); void init(); void deinit(); int select_tutor(int); void select_run_tutor(int inGameCall); void run(int tutorId, int inGameCall); void load(int tutorId); char* get_intro(int tutorId); void disp(); int detect(); void prev_text_block(); void next_text_block(); void play_speech(); void stop_speech(); int write_file(File*); int read_file(File*); TutorInfo* operator[](int tutorId); // pass tutorId as recno private: void load_tutor_info(); }; extern Tutor tutor; //----------------------------------------------------// #endif