mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-06-25 22:18:30 +02:00
This removes the variables obj.nblocks, as well as removing the 'active' attribute from the block object. Now every block is guaranteed to be real without having to check the 'active' variable. Removing a block while iterating now uses the removeblock_iter() macro.
101 lines
1.1 KiB
C++
101 lines
1.1 KiB
C++
#include "BlockV.h"
|
|
|
|
blockclass::blockclass()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
void blockclass::clear()
|
|
{
|
|
type = 0;
|
|
trigger = 0;
|
|
|
|
xp = 0;
|
|
yp = 0;
|
|
wp = 0;
|
|
hp = 0;
|
|
rect.x = xp;
|
|
rect.y = yp;
|
|
rect.w = wp;
|
|
rect.h = hp;
|
|
|
|
prompt = "";
|
|
script = "";
|
|
r = 0;
|
|
g = 0;
|
|
b = 0;
|
|
}
|
|
|
|
void blockclass::rectset(const int xi, const int yi, const int wi, const int hi)
|
|
{
|
|
rect.x = xi;
|
|
rect.y = yi;
|
|
rect.w = wi;
|
|
rect.h = hi;
|
|
}
|
|
|
|
void blockclass::setblockcolour( std::string col )
|
|
{
|
|
if (col == "cyan")
|
|
{
|
|
r = 164;
|
|
g = 164;
|
|
b = 255;
|
|
}
|
|
else if (col == "red")
|
|
{
|
|
r = 255;
|
|
g = 60;
|
|
b = 60;
|
|
}
|
|
else if (col == "green")
|
|
{
|
|
r = 144;
|
|
g = 255;
|
|
b = 144;
|
|
}
|
|
else if (col == "yellow")
|
|
{
|
|
r = 255;
|
|
g = 255;
|
|
b = 134;
|
|
}
|
|
else if (col == "blue")
|
|
{
|
|
r = 95;
|
|
g = 95;
|
|
b = 255;
|
|
}
|
|
else if (col == "purple")
|
|
{
|
|
r = 255;
|
|
g = 134;
|
|
b = 255;
|
|
}
|
|
else if (col == "white")
|
|
{
|
|
r = 244;
|
|
g = 244;
|
|
b = 244;
|
|
}
|
|
else if (col == "gray")
|
|
{
|
|
r = 174;
|
|
g = 174;
|
|
b = 174;
|
|
}
|
|
else if (col == "orange")
|
|
{
|
|
r = 255;
|
|
g = 130;
|
|
b = 20;
|
|
}
|
|
else
|
|
{
|
|
//use a gray
|
|
r = 174;
|
|
g = 174;
|
|
b = 174;
|
|
}
|
|
}
|