/*
 =======================================================================================
  Name        : TPG_Strg.hpp
  Author      : David Reizer
  Description : String constants
 =======================================================================================
 */

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#ifndef _TPG_STRINGS_
#define _TPG_STRINGS_
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#include "x:\cpa\Main\inc\_EditId.h"
#include "PRT.h"
#include "incGAM.h"
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

/*
 * effect main directory
 */
#define C_szEffectPath						"gamedata\\World\\Effects"

/*
 * effects script files
 */
#define C_szGeneratorAndSourceFileName		"Generators.prt"
#define C_szSystemFileName					"Systems.prt"
#define C_szEnvironmentFileName				"Environments.prt"
#define C_szSpritesFileName					"Sprites.prt"

//Used for Errors
const CString g_c_csPartGenModuleNameForErrors = "Particles Generator Editor";

//DLL Name
const CString g_c_csDLLPartGenName = C_szDLLPartGenName;

//Objects Names
const CString g_C_csPartGenGeneratorName = C_szPartGenGeneratorName;
const CString g_C_csPartGenSourceName = C_szPartGenSourceName;
const CString g_C_csPartGenSystemName = C_szPartGenSystemName;
const CString g_C_csPartGenEnvName = C_szPartGenEnvName;

const CString g_C_csGeneratorNoSystem = "No System";
const CString g_C_csGeneratorNoEnv = "No Environment";

//Generation Mode Names
#define C_uwNbOfGenerationMode 4
const CString g_C_a_csSourceGenerationModeName[C_uwNbOfGenerationMode] =
	{"No Generation", "Continous", "Probabilist", "Crenel"};
const CString g_C_a_csScrGenerationModeName[C_uwNbOfGenerationMode] =
	{C_szNoGeneration, C_szContinuousGeneration, C_szProbabilistGeneration, C_szCrenelGeneration};

//Nb particles to generate mode
#define C_uwNbOfNbGenerateMode 2
const CString g_C_a_csSourceNbGenerateModeName[C_uwNbOfNbGenerateMode] =
	{"Constant", "Probabilist"};
const CString g_C_a_csScrNbGenerateModeName[C_uwNbOfNbGenerateMode] =
	{C_szConstantNb, C_szProbabilistNb};

//Geometry mode
#define C_uwNbOfGeometryMode 2
const CString g_C_a_csSourceGeometryModeName[C_uwNbOfGeometryMode] =
	{C_szPoint, C_szQuad};

//Link mode
#define C_uwNbOfLinkMode 3
const CString g_C_a_csSourceLinkModeName[C_uwNbOfLinkMode] =
	{"Rotation", "Translation", "Rotation et Translation"};
const CString g_C_a_csScrLinkModeName[C_uwNbOfLinkMode] =
	{C_szRotationLink, C_szTranslationLink, C_szRotationAndTranslationLink};


//Environment Type
#define C_uwNbOfEnvType 2
const CString g_C_a_csEnvironmentTypeName[C_uwNbOfEnvType] =
	{"Box", "Sphere"};

// System Objects Type
#define C_uwNbOfObjType 7
const CString g_C_a_csSystemObjTypeName[C_uwNbOfObjType] =
	{"Null", "Bubble", "Point", "Segment", "Sprite", "Triangle", "Rectangle"};

#define M_MAKECHAR(a)	((char *)LPCSTR(a))


#define TPG_READONLY TRUE
#define TPG_READWRITE FALSE

#define TPG_SIGNED TRUE
#define TPG_UNSIGNED FALSE

#define TPG_CANCHANGE TRUE
#define TPG_NOCHANGE FALSE

#endif //_TPG_STRINGS_

