2009-05-08 13:28:41 +00:00
|
|
|
/*
|
|
|
|
* OpenClonk, http://www.openclonk.org
|
|
|
|
*
|
2009-06-05 13:41:20 +00:00
|
|
|
* Copyright (c) 1998-2000, 2007 Matthes Bender
|
|
|
|
* Copyright (c) 2005 Tobias Zwick
|
2010-12-23 00:01:24 +00:00
|
|
|
* Copyright (c) 2005, 2008, 2010 Sven Eberhardt
|
2013-01-09 23:23:06 +00:00
|
|
|
* Copyright (c) 2005-2006, 2010, 2012 Günther Brammer
|
2010-12-23 00:01:24 +00:00
|
|
|
* Copyright (c) 2010 Nicolas Hake
|
2009-05-08 13:28:41 +00:00
|
|
|
* Copyright (c) 2001-2009, RedWolf Design GmbH, http://www.clonk.de
|
|
|
|
*
|
|
|
|
* Portions might be copyrighted by other authors who have contributed
|
|
|
|
* to OpenClonk.
|
|
|
|
*
|
|
|
|
* Permission to use, copy, modify, and/or distribute this software for any
|
|
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
|
|
* copyright notice and this permission notice appear in all copies.
|
|
|
|
* See isc_license.txt for full license and disclaimer.
|
|
|
|
*
|
|
|
|
* "Clonk" is a registered trademark of Matthes Bender.
|
|
|
|
* See clonk_trademark_license.txt for full license.
|
|
|
|
*/
|
|
|
|
|
2012-03-04 20:23:11 +00:00
|
|
|
/* This header is included first from every source file. It serves three purposes:
|
|
|
|
- PlatformAbstraction.h
|
|
|
|
- Common utility functionality that's used everywhere
|
|
|
|
- Speeding up the compilation by precompiling this header
|
|
|
|
All of our headers are designed to be used with C4Include.h included before and
|
|
|
|
don't need to include this file or any of the files it includes. */
|
2009-05-08 13:28:41 +00:00
|
|
|
|
|
|
|
#ifndef INC_C4Include
|
|
|
|
#define INC_C4Include
|
|
|
|
|
2010-12-09 11:19:39 +00:00
|
|
|
#include "PlatformAbstraction.h"
|
|
|
|
|
|
|
|
// boost headers - after PlatformAbstraction to prevent redefines of stdint
|
2010-12-08 19:20:41 +00:00
|
|
|
#include <boost/function.hpp>
|
|
|
|
#include <boost/bind.hpp>
|
|
|
|
|
2009-05-08 13:28:41 +00:00
|
|
|
#define DEBUGREC_SCRIPT
|
|
|
|
#define DEBUGREC_START_FRAME 0
|
|
|
|
#define DEBUGREC_PXS
|
|
|
|
#define DEBUGREC_OBJCOM
|
|
|
|
#define DEBUGREC_MATSCAN
|
|
|
|
#define DEBUGREC_MENU
|
|
|
|
#define DEBUGREC_OCF
|
|
|
|
|
|
|
|
// solidmask debugging
|
|
|
|
//#define SOLIDMASK_DEBUG
|
|
|
|
|
2010-01-02 00:11:54 +00:00
|
|
|
#include <algorithm>
|
|
|
|
#include <cassert>
|
|
|
|
#include <cctype>
|
|
|
|
#include <cerrno>
|
|
|
|
#include <climits>
|
2010-04-24 15:40:41 +00:00
|
|
|
|
2010-01-02 00:11:54 +00:00
|
|
|
#include <cmath>
|
|
|
|
#include <cstdarg>
|
|
|
|
#include <cstddef>
|
|
|
|
#include <cstdio>
|
|
|
|
#include <cstdlib>
|
|
|
|
#include <cstring>
|
|
|
|
#include <ctime>
|
|
|
|
#include <iostream>
|
|
|
|
#include <list>
|
|
|
|
#include <map>
|
|
|
|
#include <memory>
|
|
|
|
#include <set>
|
|
|
|
#include <sstream>
|
|
|
|
#include <stdexcept>
|
|
|
|
#include <string>
|
|
|
|
#include <utility>
|
|
|
|
#include <vector>
|
2009-05-08 13:28:41 +00:00
|
|
|
|
2012-06-03 23:18:28 +00:00
|
|
|
// debug memory management - must come after standard and boost headers,
|
|
|
|
// because those libraries use placement new
|
|
|
|
#ifndef NODEBUGMEM
|
|
|
|
#if defined(_DEBUG) && defined(_MSC_VER)
|
|
|
|
#if _MSC_VER <= 1200
|
|
|
|
#include <new>
|
|
|
|
#include <memory>
|
|
|
|
#include <crtdbg.h>
|
|
|
|
#include <malloc.h>
|
|
|
|
#define malloc(size) ::_malloc_dbg(size, _NORMAL_BLOCK, __FILE__, __LINE__)
|
|
|
|
#else
|
|
|
|
#define _CRTDBG_MAP_ALLOC
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <crtdbg.h>
|
|
|
|
#endif
|
|
|
|
inline void *operator new(size_t s, const char *szFile, long iLine)
|
|
|
|
{ return ::operator new(s, _NORMAL_BLOCK, szFile, iLine); }
|
|
|
|
inline void operator delete(void *p, const char *, long)
|
|
|
|
{ ::operator delete(p); }
|
|
|
|
#define new_orig new
|
|
|
|
#define new new(__FILE__, __LINE__)
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#include <new>
|
|
|
|
|
2012-03-14 00:13:11 +00:00
|
|
|
#include "Standard.h"
|
|
|
|
#include "C4Prototypes.h"
|
|
|
|
#include "C4Real.h"
|
|
|
|
#include "StdBuf.h"
|
|
|
|
#include "StdFile.h"
|
2013-10-19 17:28:54 +00:00
|
|
|
#include "C4Language.h"
|
2012-03-14 00:13:11 +00:00
|
|
|
#include "C4Log.h"
|
|
|
|
#include "C4Reloc.h"
|
|
|
|
#include "C4Config.h"
|
|
|
|
|
|
|
|
#include "C4Game.h"
|
|
|
|
|
2009-05-08 13:28:41 +00:00
|
|
|
#endif // INC_C4Include
|