- Prologo quasi acabat

This commit is contained in:
2024-10-08 13:59:04 +02:00
parent 119136332b
commit 9827865e9c
16 changed files with 332 additions and 113 deletions

View File

@@ -24,7 +24,7 @@ namespace modules
void init(const bool prologo)
{
if (prologo) actor::hero::setPrologo();
actor::hero::setPrologo(prologo);
actor::clear(true);
::game::setUpdateTicks(64);
actor::templates::load();
@@ -398,45 +398,64 @@ namespace modules
draw::print2("no", 4, 25, col3, FONT_ZOOM_NONE);
draw::print2(actor::hero::getLives(), 2, 4, 26, col1, FONT_ZOOM_VERTICAL);
draw::print2("a", 9, 26, col1, FONT_ZOOM_NONE);
draw::print2("b", 12, 26, col2, FONT_ZOOM_NONE);
draw::print2("c", 15, 26, col3, FONT_ZOOM_NONE);
draw::print2(actor::hero::getBoostJump(), 2, 8, 27, col3, FONT_ZOOM_NONE);
draw::print2(actor::hero::getBoostGod()/2, 2, 11, 27, col1, FONT_ZOOM_NONE);
draw::print2(actor::hero::getBoostRun()/2, 2, 14, 27, col2, FONT_ZOOM_NONE);
draw::stencil::enable();
draw::stencil::clear(255);
draw::setSource(draw::getSurface("objectes.gif"));
draw::stencil::set(SKILL_SHOES);
draw::swapcol(1, actor::hero::getSkills()&SKILL_SHOES ? col1 : col3);
draw::draw(276,166, 28, 22, 162, 0);
draw::stencil::set(SKILL_PANTS);
draw::swapcol(1, actor::hero::getSkills()&SKILL_PANTS ? col1 : col3);
draw::draw(250,183, 18, 23, 167, 22);
draw::stencil::set(SKILL_GLOVES);
draw::swapcol(1, actor::hero::getSkills()&SKILL_GLOVES ? col1 : col3);
draw::draw(222,200, 21, 22, 165, 45);
draw::stencil::set(SKILL_BAG);
draw::swapcol(1, actor::hero::getSkills()&SKILL_BAG ? col1 : col3);
draw::draw(279,200, 20, 25, 145, 41);
draw::stencil::disable();
// Si estem en el editor, fent click en els skills del marcador els obtenim
if (editor::isDevMode() && input::mouseClk(1))
if (!actor::hero::isPrologo())
{
const uint8_t val = draw::stencil::query(input::mouseX(), input::mouseY());
if (val != 255)
draw::print2("a", 9, 26, col1, FONT_ZOOM_NONE);
draw::print2("b", 12, 26, col2, FONT_ZOOM_NONE);
draw::print2("c", 15, 26, col3, FONT_ZOOM_NONE);
draw::print2(actor::hero::getBoostJump(), 2, 8, 27, col3, FONT_ZOOM_NONE);
draw::print2(actor::hero::getBoostGod()/2, 2, 11, 27, col1, FONT_ZOOM_NONE);
draw::print2(actor::hero::getBoostRun()/2, 2, 14, 27, col2, FONT_ZOOM_NONE);
draw::stencil::enable();
draw::stencil::clear(255);
draw::setSource(draw::getSurface("objectes.gif"));
draw::stencil::set(SKILL_SHOES);
draw::swapcol(1, actor::hero::getSkills()&SKILL_SHOES ? col1 : col3);
draw::draw(276,166, 28, 22, 162, 0);
draw::stencil::set(SKILL_PANTS);
draw::swapcol(1, actor::hero::getSkills()&SKILL_PANTS ? col1 : col3);
draw::draw(250,183, 18, 23, 167, 22);
draw::stencil::set(SKILL_GLOVES);
draw::swapcol(1, actor::hero::getSkills()&SKILL_GLOVES ? col1 : col3);
draw::draw(222,200, 21, 22, 165, 45);
draw::stencil::set(SKILL_BAG);
draw::swapcol(1, actor::hero::getSkills()&SKILL_BAG ? col1 : col3);
draw::draw(279,200, 20, 25, 145, 41);
draw::stencil::disable();
// Si estem en el editor, fent click en els skills del marcador els obtenim
if (editor::isDevMode() && input::mouseClk(1))
{
if (actor::hero::getSkills() & val)
actor::hero::dropSkill(val);
else
actor::hero::giveSkill(val);
room::cycleColor(1);
const uint8_t val = draw::stencil::query(input::mouseX(), input::mouseY());
if (val != 255)
{
if (actor::hero::getSkills() & val)
actor::hero::dropSkill(val);
else
actor::hero::giveSkill(val);
room::cycleColor(1);
}
}
} else if (actor::hero::isCarryingPrologoObject())
{
draw::setSource(draw::getSurface("objectes.gif"));
if (actor::hero::getPrologoObjectState(PROLOGO_SHOES)==PROLOGO_OBJECT_PICKED)
{
draw::draw(276,166, 28, 22, 162, 0);
} else if (actor::hero::getPrologoObjectState(PROLOGO_PANTS)==PROLOGO_OBJECT_PICKED)
{
draw::draw(276,166, 18, 23, 167, 22);
} else if (actor::hero::getPrologoObjectState(PROLOGO_GLOVES)==PROLOGO_OBJECT_PICKED)
{
draw::draw(276,166, 21, 22, 165, 45);
} else if (actor::hero::getPrologoObjectState(PROLOGO_BAG)==PROLOGO_OBJECT_PICKED)
{
draw::draw(276,166, 20, 25, 145, 41);
}
}
}