#pragma once #include using namespace Stuff; namespace Adept { class Entity; }; namespace gosFX { class Light; }; extern bool GameInitilized; extern bool AllowBuild; extern bool AllowBldSkies; // jcem extern bool NoBldMissions; // jcem extern bool NeedResourceBuild; void _stdcall TerminateGameEngine(); float ComputeTerrainElevation(float x,float z,Adept::Entity *ignore_entity=NULL); Adept::Entity *GetTopEntity(float x,float z,float& height); CString GetMissionScriptName(); void SetMissionScriptName(const CString& script_name); void BindEntity(Adept::Entity *entity); void UnBindEntity(Adept::Entity *entity); void AddEntityToMap(Adept::Entity *entity,Stuff::LinearMatrix4D &mat); void RemoveEntityFromMap(Adept::Entity *entity); void MoveEntityTo(Adept::Entity *entity,Stuff::LinearMatrix4D &mat); const char*GetEntityScriptName(Adept::Entity *entity); void SetEntityScriptName(Adept::Entity *entity,char* script_name); void SetEntityName(Adept::Entity *entity,CString newname); void RemoveEntityFromNameTable(Adept::Entity *entity); void AddEntityAI(Adept::Entity *entity); void RemoveEntityAI(Adept::Entity *entity); void AddEntityToNameTable(Adept::Entity *entity); void MakeMissionNight(bool night); bool IsMissionNight(); bool HasSkin(Adept::Entity *entity); char GetEntitySkin(Adept::Entity *entity); void SetEntitySkin(Adept::Entity *entity,char skin); void AdoptFogColors(); void AddLightToMap(gosFX::Light *light); void RemoveLightFromMap(gosFX::Light *light); Scalar GetWaterLevel(); void MakeFileWriteable(CString str); void LoadSkys(CComboBox *ctrl); bool HasCollsion(Adept::Entity *entity); CString DaySkyName(); CString NightSkyName(); void SetDaySky(CString sname); void SetNightSky(CString sname); float GetFarClip(); int GetSkinCount(); int EntitiesInTile(int x,int y); CString GetSkinName(char skin); CString GetNthSkinName(int val); char GetNthSkin(int val); void TranslateMissionNameBackIfNecessary(CString &mis_name); CString GetMissionName(); void RunEula();