- [NEW] Gràfics de explosió/fum

- [NEW] Gràfics de Robin
- [NEW] Al agafar un booster / skill / part la pantalla fa colorets i es veu un fumet
- [ONGOING] Comencem a implementar la perdua de vides. Ja fa el fumet, colorins i reseteja la pantalla...
This commit is contained in:
2024-07-23 13:53:13 +02:00
parent 68608925d3
commit 68985ad843
14 changed files with 214 additions and 90 deletions

View File

@@ -22,6 +22,8 @@ namespace room
static int door_height[4]; // Altura de cada porta
static int exits[6]; // Habitació destí a la que du cada porta (piso i sostre inclosos)
static int color = 0; // Esquema de color de l'habitació
static int original_color = 0;
static int num_color_cycles =0;
static int floor_type = 0; // Tile per al piso
static int walls_type = 0; // Tile per a les pareds
@@ -139,7 +141,8 @@ namespace room
// Primer carreguem els valors per defecte
inner_w = inner_h = 2;
for (int i=0;i<4;++i) door_height[i] = -1;
color = 2;
color = original_color = 2;
num_color_cycles = 0;
floor_type = walls_type = doors_type = walldoors_type = 0;
for (int i=0;i<6;++i) exits[i] = -1;
@@ -179,7 +182,7 @@ namespace room
} else if (util::strcomp(key, "color:")) {
color = util::stringToInt(file::readString(&buffer), {"purple", "green", "cyan", "yellow", "white"}, {0, 1, 2, 3, 4});
original_color = color;
} else if (util::strcomp(key, "floor-texture:")) {
floor_type = file::readInt(&buffer);
} else if (util::strcomp(key, "wall-texture:")) {
@@ -272,6 +275,20 @@ namespace room
void draw()
{
if (num_color_cycles > 0)
{
color++;
if (color>4) color = 0;
if (color==original_color) num_color_cycles--;
if (num_color_cycles==0) {
actor::actor_t * hero = actor::find("HERO");
if (!hero) {
actor::hero::init(false);
load(current_room);
}
}
}
draw::pushSource();
draw::swapcol(1, color_schemes[color][0]);
@@ -417,6 +434,11 @@ namespace room
draw::popSource();
}
void cycleColor(int times)
{
num_color_cycles = times;
}
vec3_t getSize()
{
return size;