C-Engine/CEngine.hpp

114 lines
2.8 KiB
C++

/* ************************************************************************** */
/* _____ _ __ ___ __ */
/* CEngine.hpp | ___(_)/ _| ___ ( _ ) / /_ */
/* Project: C-Engine | |_ | | |_ / _ \/ _ \| '_ \ */
/* | _| | | _| __/ (_) | (_) | */
/* Author: Fife <wasabifife@gmail.com> |_| |_|_| \___|\___/ \___/ */
/* */
/* ************************************************************************** */
#ifndef CENGINE_HPP
#define CENGINE_HPP
extern "C" // Ajout des librairies externes au C-Engine
{
#include <fxlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "otherlib/input.h"
#include "otherlib/MonochromeLib.h"
#include "otherlib/FonctionC.h"
}
#define rand_int(M) (rand() % (M))
#define rand_int_ab(m, M) (rand() % ((M) - (m)) + (m))
#define abs(A) ((A) > 0 ? (A) : -(A))
#define sgn(A) ((A) > 0 ? 1 : -1)
#define deg2rad(V) ((V) * 3.1415 / 180)
#define rad2deg(V) ((V) * 180 / 3.1415)
//#define CE_ALL
#define CE_BASIC
//#define CE_RPG
#define CE_PLATEFORME
//#define CE_NETWORK
#define CE_DELTA1
#ifdef CE_ALL
#define CE_BASIC
#define CE_RPG
#define CE_PLATEFORME
#define CE_NETWORK
#endif
//*********Declaration**********//
#ifdef CE_BASIC
class Engine;
class Object;
class Transform;
class RigidBody;
class Render;
class Animation;
class Sprite;
class Script;
class Level;
class Trigger;
class Trigger_Script;
struct MassData
{
float mass;
float inv_mass;
};
struct Vec2
{
int x;
int y;
};
struct AABB
{
Vec2 min;
Vec2 max;
};
struct Body
{
Transform * transform;
MassData mass_data;
Vec2 velocity;
Vec2 acceleration;
Vec2 force;
};
#endif
//********Include**********//
#ifdef CE_BASIC
#include "include\Engine.hpp"
#include "include\Object.hpp"
#include "include\Level.hpp"
#include "include\Object\Transform.hpp" //Les composants de la class Object.
#include "include\Object\RigidBody.hpp"
#include "include\Object\Render.hpp"
#include "include\Object\Animation.hpp"
#include "include\Object\Sprite.hpp"
#include "include\Object\Script.hpp"
#endif
#endif /* CENGINE_HPP */