mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-11-16 16:09:42 +01:00
89 lines
1.1 KiB
C++
89 lines
1.1 KiB
C++
|
#include "Ent.h"
|
||
|
|
||
|
entclass::entclass()
|
||
|
{
|
||
|
clear();
|
||
|
}
|
||
|
|
||
|
void entclass::clear()
|
||
|
{
|
||
|
// Set all values to a default, required for creating a new entity
|
||
|
active = false;
|
||
|
invis = false;
|
||
|
type = 0;
|
||
|
size = 0;
|
||
|
tile = 0;
|
||
|
rule = 0;
|
||
|
state = 0;
|
||
|
statedelay = 0;
|
||
|
life = 0;
|
||
|
colour = 0;
|
||
|
para = 0;
|
||
|
behave = 0;
|
||
|
animate = 0;
|
||
|
|
||
|
xp = 0;
|
||
|
yp = 0;
|
||
|
ax = 0;
|
||
|
ay = 0;
|
||
|
vx = 0;
|
||
|
vy = 0;
|
||
|
w = 16;
|
||
|
h = 16;
|
||
|
cx = 0;
|
||
|
cy = 0;
|
||
|
newxp = 0;
|
||
|
newyp = 0;
|
||
|
|
||
|
x1 = 0;
|
||
|
y1 = 0;
|
||
|
x2 = 320;
|
||
|
y2 = 240;
|
||
|
|
||
|
jumping = false;
|
||
|
gravity = false;
|
||
|
onground = 0;
|
||
|
onroof = 0;
|
||
|
jumpframe = 0;
|
||
|
|
||
|
onentity = 0;
|
||
|
harmful = false;
|
||
|
onwall = 0;
|
||
|
onxwall = 0;
|
||
|
onywall = 0;
|
||
|
isplatform = false;
|
||
|
|
||
|
framedelay = 0;
|
||
|
drawframe = 0;
|
||
|
walkingframe = 0;
|
||
|
dir = 0;
|
||
|
actionframe = 0;
|
||
|
}
|
||
|
|
||
|
bool entclass::outside()
|
||
|
{
|
||
|
// Returns true if any point of the entity is outside the map.
|
||
|
// Adjusts velocity for a clean collision.
|
||
|
if (xp < x1)
|
||
|
{
|
||
|
xp = x1;
|
||
|
return true;
|
||
|
}
|
||
|
if (yp < y1)
|
||
|
{
|
||
|
yp = y1;
|
||
|
return true;
|
||
|
}
|
||
|
if (xp + w > x2)
|
||
|
{
|
||
|
xp = x2 - w;
|
||
|
return true;
|
||
|
}
|
||
|
if (yp + h > y2)
|
||
|
{
|
||
|
yp = y2 - h;
|
||
|
return true;
|
||
|
}
|
||
|
return false;
|
||
|
}
|