- Colisions, movibles, reactius...
This commit is contained in:
@@ -1,6 +1,32 @@
|
||||
#pragma once
|
||||
#include <SDL2/SDL.h>
|
||||
|
||||
#define FLAG_NONE 0
|
||||
#define FLAG_HERO 1
|
||||
#define FLAG_PUSHABLE 2
|
||||
#define FLAG_REACTIVE 4
|
||||
#define FLAG_MOVING 8
|
||||
#define FLAG_ANIMATED 16
|
||||
#define FLAG_ORIENTABLE 32
|
||||
#define FLAG_DEADLY 64
|
||||
|
||||
#define PUSH_NONE 0
|
||||
#define PUSH_XP 1
|
||||
#define PUSH_XN 2
|
||||
#define PUSH_YP 4
|
||||
#define PUSH_YN 8
|
||||
#define PUSH_ZP 16
|
||||
#define PUSH_ZN 32
|
||||
|
||||
#define MOV_NONE 0
|
||||
#define MOV_X 1
|
||||
#define MOV_Y 2
|
||||
#define MOV_Z 3
|
||||
#define MOV_CW 4
|
||||
#define MOV_CCW 5
|
||||
#define MOV_RAND 6
|
||||
#define MOV_HUNT 7
|
||||
|
||||
namespace actor
|
||||
{
|
||||
struct vec3_t
|
||||
@@ -16,8 +42,15 @@ namespace actor
|
||||
vec3_t pos;
|
||||
vec3_t size;
|
||||
|
||||
uint8_t flags;
|
||||
uint8_t push;
|
||||
|
||||
uint8_t react_mask;
|
||||
uint8_t react_push;
|
||||
|
||||
uint8_t movement;
|
||||
uint8_t mov_push;
|
||||
|
||||
actor_t *prev;
|
||||
actor_t *next;
|
||||
};
|
||||
@@ -26,14 +59,16 @@ namespace actor
|
||||
|
||||
actor_t *create(vec3_t p, vec3_t s, SDL_Rect r, SDL_Point o);
|
||||
|
||||
void setDirty(actor_t *act);
|
||||
void setDirty(actor_t *act, const bool force=false);
|
||||
|
||||
void reorder();
|
||||
|
||||
void update(actor_t *act);
|
||||
void update(actor_t *act, const bool update_all=true);
|
||||
|
||||
void draw(actor_t *act, const bool draw_all=true);
|
||||
|
||||
actor_t *find_at(const int x, const int y, const int z);
|
||||
|
||||
actor_t *get_collision(actor_t *act);
|
||||
|
||||
const bool check_collision(actor_t *obj1, actor_t *obj2);
|
||||
|
||||
Reference in New Issue
Block a user