/*
* 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 : OGAMESET.H
//Description : Header file of Object GameSet
#ifndef __OGAMESET_H
#define __OGAMESET_H
#ifndef __ORESX_H
#include
#endif
#ifndef __ODB_H
#include
#endif
//-------- Define struct SetRec ---------//
struct SetRec
{
enum { CODE_LEN=8, DES_LEN=60 };
char code[CODE_LEN];
char des[DES_LEN];
};
//-------- Define struct SetInfo ---------//
struct SetInfo
{
enum { CODE_LEN=8, DES_LEN=60 };
char code[CODE_LEN+1];
char des[DES_LEN+1];
};
//-------- Define class GameSet ---------//
class GameSet
{
public:
char init_flag;
short cur_set_id;
short set_count;
SetInfo* set_info_array;
ResourceIdx set_res;
Database set_db;
char set_opened_flag;
public:
GameSet() { init_flag=0; }
~GameSet() { deinit(); }
void init();
void deinit();
char* cur_set_code() { return set_info_array[cur_set_id-1].code; }
void open_set(int);
void close_set();
Database* open_db(char*);
Database* get_db();
int find_set(char*);
SetInfo* operator()() { return set_info_array+cur_set_id-1; }
SetInfo* operator[](int recNo) { return set_info_array+recNo-1; }
private:
void load_set_header();
};
//---------------------------------------//
extern GameSet game_set;
#endif