153 lines
5.2 KiB
C
153 lines
5.2 KiB
C
/*
|
|
=======================================================================================
|
|
Name :IniData.h
|
|
|
|
Author :Vincent lhullier Date :21/07/97
|
|
|
|
Description :function for initial value (saving, loading, ... ) Header file
|
|
=======================================================================================
|
|
Modification -> Author : Date :
|
|
Description :
|
|
=======================================================================================
|
|
*/
|
|
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#ifndef __INIDATA_H__
|
|
#define __INIDATA_H__
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#include <afxdisp.h>
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
typedef struct tdstProject_ tdstProject;
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
|
|
/*
|
|
=======================================================================================
|
|
Constants
|
|
=======================================================================================
|
|
*/
|
|
/*
|
|
* Ini file
|
|
*/
|
|
#define C_szIniFile "ChkData.ini"
|
|
|
|
/*
|
|
=======================================================================================
|
|
Structures
|
|
=======================================================================================
|
|
*/
|
|
|
|
typedef struct tdstAvailablePaths_
|
|
{
|
|
char szGraphicsBanks [ MAX_PATH ]; // ("GameData\World\Graphics\Objects\Banks")
|
|
char szLevels [ MAX_PATH ]; // ("GameData\World\Levels")
|
|
char szFamilies [ MAX_PATH ]; // ("GameData\World\Levels\_Common\Families")
|
|
char szTexture [ MAX_PATH ]; // ("GameData\World\Graphics\Textures")
|
|
char szGameData [ MAX_PATH ]; // ("GameData")
|
|
char szWorld [ MAX_PATH ]; // ("GameData\World")
|
|
char szAnimations [ MAX_PATH ]; // ("GameData\World\Graphics\Anims")
|
|
char szGraphicsClasses [ MAX_PATH ]; // ("GameData\World\Graphics\Objects\Classes")
|
|
char szMechanics [ MAX_PATH ]; // ("GameData\World\Libraries\Mechanics")
|
|
char szSound [ MAX_PATH ]; // ("GameData\World\Sound")
|
|
char szVisuals [ MAX_PATH ]; // ("GameData\World\Graphics\Visuals")
|
|
char szMaterials [ MAX_PATH ]; // ("GameData\World\Libraries\Materials")
|
|
char szEnvironment [ MAX_PATH ]; // ("GameData\World\Libraries\Environment")
|
|
char szSaveGame [ MAX_PATH ]; // ("GameData\SaveGame")
|
|
char szVignettes [ MAX_PATH ]; // ("GameData\Vignette")
|
|
char szOptions [ MAX_PATH ]; // ("GameData\Options")
|
|
char szZdx [ MAX_PATH ]; // ("GameData\World\Levels")
|
|
char szCharacters [ MAX_PATH ]; // ("GameData\World\Levels")
|
|
} tdstAvailablePaths;
|
|
|
|
typedef struct tdstDirectoryType_
|
|
{
|
|
char *szPath;
|
|
char szName[ 16 ];
|
|
}tdstDirectoryType;
|
|
|
|
/*
|
|
* structure to store config of file list information
|
|
*/
|
|
typedef struct tdstFileListConfig_
|
|
{
|
|
char szKey[20]; // congfing entry in vss entry
|
|
char cIndex; // current config index
|
|
char szId[20]; // current config id
|
|
char szName[40]; // current config name
|
|
long lNumberOfFiles; // number of file in current config
|
|
char **d_szFile; // list of file name in current config
|
|
} tdstFileListConfig;
|
|
|
|
/*
|
|
* structure to store program information
|
|
*/
|
|
typedef struct tdstIniData_
|
|
{
|
|
char szLocalPath[MAX_PATH]; // name of local data path
|
|
char szRootForSection[ MAX_PATH ];
|
|
long lRootForSectionLength;
|
|
char szResultFile[MAX_PATH]; // name of file that contains result
|
|
char szSectionFile[MAX_PATH];
|
|
|
|
char cNumberOfConfigs; // number of config found in ini file
|
|
tdstFileListConfig stCheckConfig;
|
|
|
|
tdstAvailablePaths stAvailablePaths;
|
|
char cNumberOfDataPaths;
|
|
tdstDirectoryType a_stDataPath[18];
|
|
} tdstIniData;
|
|
|
|
/*
|
|
* structure to store Window preference and options
|
|
*/
|
|
typedef struct tdstWindowsPref_
|
|
{
|
|
RECT stMainPos; // main window position and size
|
|
}tdstWindowsPref;
|
|
|
|
/*
|
|
=======================================================================================
|
|
GLOBALS
|
|
=======================================================================================
|
|
*/
|
|
extern tdstIniData g_stIniData; // initial data
|
|
extern tdstWindowsPref g_stWinPref; // program options
|
|
|
|
/*
|
|
=======================================================================================
|
|
FUNCTIONS
|
|
=======================================================================================
|
|
*/
|
|
|
|
/*
|
|
* specific function for file list configuration
|
|
*/
|
|
void fn_IniD_vFreeFileList( tdstFileListConfig *_p_stFileList );
|
|
void fn_IniD_vWriteFileList( tdstFileListConfig *_p_stFileList );
|
|
BOOL fn_IniD_bGetFileList( tdstFileListConfig *_p_stFileList, char _cConfig );
|
|
void fn_IniD_vSetSingleFileList( tdstFileListConfig *_p_stFileList, char *_szFileName );
|
|
|
|
char fn_IniD_cGetIndexFromId( char *_szId );
|
|
char fn_IniD_cGetNumberOfConfig( void );
|
|
void fn_IniD_vGetConfigName( char _cConfig, char *_szName );
|
|
|
|
/*
|
|
* function to get/set single initial data
|
|
*/
|
|
BOOL fn_IniD_bGetFileTypeConsiderStatus( char *_szExt );
|
|
void fn_IniD_vSetFileTypeConsiderStatus( char *_szExt, BOOL _bConsider );
|
|
|
|
void fn_IniD_vSetLocalPath( char *_szPath );
|
|
void fn_IniD_vSetResultFile( char *_szFileName );
|
|
|
|
/*
|
|
* function for windows preference data
|
|
*/
|
|
void fn_IniD_vGetWindowPreference( void );
|
|
void fn_IniD_vWriteWindowPreference( void );
|
|
|
|
/*
|
|
* function for all ini data
|
|
*/
|
|
void fn_IniD_vGetAllFromIniFile( BOOL _bFirst );
|
|
|
|
#endif //__INIDATA_H__
|