#if !defined(__DataPath_h__)
#define __DataPath_h__
 
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
 
/****************************************/
#if !defined(CPA_EXPORT)
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif /* CPA_WANTS_IMPORT || CPA_WANTS_EXPORT */
#endif /* CPA_EXPORT */
/****************************************/
 
#undef EXTERN
#undef extern
#if !defined(D_DPT_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_DPT_VariableDefine*/
 
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
 
#include "cpa_std.h"
 
struct tdstDataPath_
{
 char szEngineDLL[_MAX_PATH];
 char szGameData[_MAX_PATH];
 char szTexts[_MAX_PATH];
 char szSaveGame[_MAX_PATH];
 char szExtras[_MAX_PATH];
 char szWorld[_MAX_PATH];
 char szFamilies[_MAX_PATH];
 char szCharacters[_MAX_PATH];
 char szLevels[_MAX_PATH];
 char szAnim[_MAX_PATH];
 char szGameMaterial[_MAX_PATH];
 char szCollideMaterial[_MAX_PATH];
 char szSoundMaterial[_MAX_PATH];
 char szMechanicsMaterial[_MAX_PATH];
 char szVisualMaterial[_MAX_PATH];
 char szTextures[_MAX_PATH];
 char szSound[_MAX_PATH];
 char szGraphicsClasses[_MAX_PATH];
 char szGraphicsBanks[_MAX_PATH];
 char szMechanics[_MAX_PATH];
 char szEnvironment[_MAX_PATH];
 char szVignettes[_MAX_PATH];
 char szOptions[_MAX_PATH];
 char szSyncLips[_MAX_PATH];
 char szZdx[_MAX_PATH];
 char szTemp[_MAX_PATH];
 char szEffects[_MAX_PATH];
};
 
EXTERN struct tdstDataPath_ g_stDataPath;
 
extern CPA_EXPORT void fn_vSetEngineDLLPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetEngineDLLPath(void);
extern CPA_EXPORT void fn_vSetGameDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetGameDataPath(void);
extern CPA_EXPORT void fn_vSetTextsDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetTextsDataPath(void);
extern CPA_EXPORT void fn_vSetSaveGameDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetSaveGameDataPath(void);
extern CPA_EXPORT void fn_vSetExtrasDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetExtrasDataPath(void);
extern CPA_EXPORT void fn_vSetWorldDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetWorldDataPath(void);
extern CPA_EXPORT void fn_vSetFamiliesDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetFamiliesDataPath(void);
extern CPA_EXPORT void fn_vSetCharactersDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetCharactersDataPath(void);
extern CPA_EXPORT void fn_vSetLevelsDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetLevelsDataPath(void);
extern CPA_EXPORT void fn_vSetAnimDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetAnimDataPath(void);
extern CPA_EXPORT void fn_vSetGameMaterialDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetGameMaterialDataPath(void);
extern CPA_EXPORT void fn_vSetCollideMaterialDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetCollideMaterialDataPath(void);
extern CPA_EXPORT void fn_vSetSoundMaterialDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetSoundMaterialDataPath(void);
extern CPA_EXPORT void fn_vSetMechanicsMaterialDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetMechanicsMaterialDataPath(void);
extern CPA_EXPORT void fn_vSetVisualMaterialDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetVisualMaterialDataPath(void);
extern CPA_EXPORT void fn_vSetTexturesDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetTexturesDataPath(void);
extern CPA_EXPORT void fn_vSetFixTexturesDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetFixTexturesDataPath(void);
extern CPA_EXPORT void fn_vSetSoundDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetSoundDataPath(void);
extern CPA_EXPORT void fn_vSetGraphicsClassesDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetGraphicsClassesDataPath(void);
extern CPA_EXPORT void fn_vSetGraphicsBanksDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetGraphicsBanksDataPath(void);
extern CPA_EXPORT void fn_vSetMechanicsDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetMechanicsDataPath(void);
extern CPA_EXPORT void fn_vSetEnvironmentDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetEnvironmentDataPath(void);
extern CPA_EXPORT void fn_vSetVignettesDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetVignettesDataPath(void);
extern CPA_EXPORT void fn_vSetOptionsDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetOptionsDataPath(void);
extern CPA_EXPORT void fn_vSetSyncLipsDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetSyncLipsDataPath(void);
extern CPA_EXPORT void fn_vSetZdxDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetZdxDataPath(void);
extern CPA_EXPORT void fn_vComputeTempDataPath(void);
extern CPA_EXPORT char *fn_szGetTempDataPath(void);
extern CPA_EXPORT void fn_vSetEffectsDataPath(char *_p_szPath);
extern CPA_EXPORT char *fn_szGetEffectsDataPath(void);
 
#if defined(__cplusplus)
}
#endif /* __cplusplus */
 
#endif /* __DataPath_h__ */
