- [NEW] Els objectes especials tenen brilli brilli

This commit is contained in:
2024-07-24 13:54:07 +02:00
parent 087ed163cb
commit a459ff8a85
3 changed files with 18 additions and 0 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -22,6 +22,8 @@ namespace actor
actor_t *selected = nullptr;
actor_t *picked = nullptr;
static bool room_changed = false;
int brilli_brilli=0;
draw::surface *brilli;
int current_tag = 0;
@@ -975,6 +977,8 @@ namespace actor
{
if (!act) return;
if (act==first) { brilli_brilli=(brilli_brilli+1)&0x7; }
actor_t *next = act->next;
// Actualitzem el frame de l'animació (si no te el flag de animat, no afectarà per a res)
@@ -1072,7 +1076,14 @@ namespace actor
draw::stencil::set(act->tag);
draw::draw(x, y, act->bmp_rect.w, act->bmp_rect.h, act->bmp_rect.x+ao, act->bmp_rect.y+oo, flip);
draw::swapcol(1, room::getColor(0)); // Tornem al color per defecte
if (act->flags&FLAG_SPECIAL)
{
draw::setSource(brilli);
const int dx = (act->bmp_rect.w-22)>>1;
draw::draw(x+dx, y, 22, 24, brilli_brilli*22, 96, DRAW_FLIP_NONE);
}
draw::popSource();
if (debug::isEnabled(DEBUG_ACTOR_POS))
{
char tmp[100];
@@ -1346,6 +1357,7 @@ namespace actor
skills = SKILL_NONE;
parts = PART_NONE;
for (int i=0; i<100; ++i) boosters_collected[i] = false;
brilli = draw::getSurface("objectes.gif");
} else {
hero->pos = first_pos;
hero->orient = first_orient;

View File

@@ -23,36 +23,42 @@ namespace modules
if (parts[0]==nullptr)
{
parts[0] = actor::createFromTemplate("P-ELBOW");
parts[0]->flags=0;
parts[0]->inner_x=166+16;
parts[0]->inner_y=68+8;
}
if (parts[1]==nullptr)
{
parts[1] = actor::createFromTemplate("P-PIPE");
parts[1]->flags=0;
parts[1]->inner_x=148+16;
parts[1]->inner_y=75+8;
}
if (parts[2]==nullptr)
{
parts[2] = actor::createFromTemplate("P-SALT");
parts[2]->flags=0;
parts[2]->inner_x=123+16;
parts[2]->inner_y=84+8;
}
if (parts[3]==nullptr)
{
parts[3] = actor::createFromTemplate("P-FILTER");
parts[3]->flags=0;
parts[3]->inner_x=144+16;
parts[3]->inner_y=45+8;
}
if (parts[4]==nullptr)
{
parts[4] = actor::createFromTemplate("P-PUMP");
parts[4]->flags=0;
parts[4]->inner_x=121+16;
parts[4]->inner_y=54+8;
}
if (parts[5]==nullptr)
{
parts[5] = actor::createFromTemplate("P-TIMER");
parts[5]->flags=0;
parts[5]->inner_x=96+16;
parts[5]->inner_y=69+8;
}