114 lines
2.8 KiB
C++
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 */
|