/* Copyright (c) 2002-2012 Croteam Ltd. This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation 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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef SE_INCL_ENGINE_H #define SE_INCL_ENGINE_H #ifdef PRAGMA_ONCE #pragma once #endif #ifdef _WIN32 #ifndef PLATFORM_WIN32 #define PLATFORM_WIN32 1 #endif #endif // set this to 1 to enable checks whether somethig is deleted while iterating some array/container #define CHECKARRAYLOCKING 0 #include #include #include #include #include #include #include #include // for qsort #include // for FPU control #if !PLATFORM_MACOSX #include #endif /* rcg10042001 !!! FIXME: Move these somewhere. */ #if (defined PLATFORM_WIN32) #include #include #include #include #include // for timers #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // rcg10082001 #include // rcg10082001 #include // rcg10242001 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // some global stuff // rcg10072001 (argv0) is, literally, argv[0] from your mainline. We need this // on some platforms to determine where the program is running from in the // filesystem. ENGINE_API void SE_InitEngine(const char *argv0, CTString strGameID); ENGINE_API void SE_EndEngine(void); ENGINE_API void SE_LoadDefaultFonts(void); ENGINE_API void SE_UpdateWindowHandle( HWND hwndWindowed); ENGINE_API void SE_PretouchIfNeeded(void); ENGINE_API extern CTString _strEngineBuild; // not valid before InitEngine()! ENGINE_API extern ULONG _ulEngineBuildMajor; ENGINE_API extern ULONG _ulEngineBuildMinor; ENGINE_API extern BOOL _bDedicatedServer; ENGINE_API extern BOOL _bWorldEditorApp; // is this world editor app ENGINE_API extern CTString _strLogFile; // temporary vars for adjustments ENGINE_API extern FLOAT tmp_af[10]; ENGINE_API extern INDEX tmp_ai[10]; ENGINE_API extern INDEX tmp_i; ENGINE_API extern INDEX tmp_fAdd; #endif /* include-once blocker. */