diff --git a/data/objectes.gif b/data/objectes.gif index e568856..5978dd6 100644 Binary files a/data/objectes.gif and b/data/objectes.gif differ diff --git a/source/actor.cpp b/source/actor.cpp index 77697fc..e36a144 100644 --- a/source/actor.cpp +++ b/source/actor.cpp @@ -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; diff --git a/source/m_ingame.cpp b/source/m_ingame.cpp index 55d533b..469607e 100644 --- a/source/m_ingame.cpp +++ b/source/m_ingame.cpp @@ -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; }