mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-06-28 15:38:30 +02:00
b1b1474b7b
This removes the variables obj.nentity and obj.nlinecrosskludge, as well as removing the 'active' attribute from the entity class object. Now every entity you access is guaranteed to be real and you don't have to check the 'active' variable. The biggest part of this is changing createentity() to modify a newly-created entity object and push it back instead of already modifying an indice in obj.entities. As well, removing an entity now uses the new obj.removeentity() function and removeentity_iter() macro.
53 lines
921 B
C++
53 lines
921 B
C++
#ifndef ENT_H
|
|
#define ENT_H
|
|
|
|
#define rn( rx, ry) ((rx) + ((ry) * 100))
|
|
|
|
class entclass
|
|
{
|
|
public:
|
|
entclass();
|
|
|
|
void clear();
|
|
|
|
bool outside();
|
|
|
|
void setenemy(int t);
|
|
|
|
void setenemyroom(int rx, int ry);
|
|
|
|
void settreadmillcolour(int rx, int ry);
|
|
|
|
public:
|
|
//Fundamentals
|
|
bool invis;
|
|
int type, size, tile, rule;
|
|
int state, statedelay;
|
|
int behave, animate;
|
|
float para;
|
|
int life, colour;
|
|
|
|
//Position and velocity
|
|
int oldxp, oldyp;
|
|
float ax, ay, vx, vy;
|
|
int cx, cy, w, h;
|
|
float newxp, newyp;
|
|
bool isplatform;
|
|
int x1,y1,x2,y2;
|
|
//Collision Rules
|
|
int onentity;
|
|
bool harmful;
|
|
int onwall, onxwall, onywall;
|
|
|
|
//Platforming specific
|
|
bool jumping;
|
|
bool gravity;
|
|
int onground, onroof;
|
|
int jumpframe;
|
|
//Animation
|
|
int framedelay, drawframe, walkingframe, dir, actionframe;
|
|
int yp;int xp;
|
|
};
|
|
|
|
#endif /* ENT_H */
|