- [FIX] No es podien crear habitacions noves amb el shortcut
- [FIX] Reposicionament de l'heroi al provar una habitacio amb l'editor (encara no va be) - [FIX] MOV_RANDV no apareixia a l'editor - [FIX] MOV_HUNT no nomes s'actualitza al tropeçar - [FIX] MOV_HUNT petava el mame si l'heroi moria - [NEW] Alguns gràfics més - Zona 1 acabada
This commit is contained in:
@@ -709,10 +709,15 @@ namespace actor
|
||||
break;
|
||||
case MOV_HUNT:
|
||||
actor_t *heroi = find("HERO");
|
||||
if (heroi->pos.x < act->pos.x) act->mov_push=PUSH_XN;
|
||||
if (heroi->pos.x > act->pos.x) act->mov_push=PUSH_XP;
|
||||
if (heroi->pos.y < act->pos.y) act->mov_push=PUSH_YN;
|
||||
if (heroi->pos.y > act->pos.y) act->mov_push=PUSH_YP;
|
||||
if (heroi)
|
||||
{
|
||||
int tombola[2]; int tombola_pos = 0;
|
||||
if (heroi->pos.x < act->pos.x) tombola[tombola_pos++]=PUSH_XN;
|
||||
if (heroi->pos.x > act->pos.x) tombola[tombola_pos++]=PUSH_XP;
|
||||
if (heroi->pos.y < act->pos.y) tombola[tombola_pos++]=PUSH_YN;
|
||||
if (heroi->pos.y > act->pos.y) tombola[tombola_pos++]=PUSH_YP;
|
||||
act->mov_push=tombola[rand()%tombola_pos];
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (act->flags & FLAG_ORIENTABLE) act->orient = act->mov_push;
|
||||
@@ -1006,7 +1011,10 @@ namespace actor
|
||||
}
|
||||
|
||||
if (act->flags & FLAG_HERO) updateUserInput(act);
|
||||
if (act->flags & FLAG_MOVING) updateMoving(act);
|
||||
if (act->flags & FLAG_MOVING) {
|
||||
if (act->movement==MOV_HUNT && ( (act->pos.x&7)==0 || (act->pos.y&7)==0) ) changeMoving(act);
|
||||
updateMoving(act);
|
||||
}
|
||||
if (act->flags & FLAG_GRAVITY) act->push |= PUSH_ZN;
|
||||
|
||||
//if (act->flags & FLAG_PUSHABLE)
|
||||
|
||||
@@ -393,27 +393,28 @@ namespace modules
|
||||
if (mx>=0 && my>=0 && mx<320 && my<240) {
|
||||
if (mx<32 && my<24) {
|
||||
int room = room::editor::refExit(XN);
|
||||
if (room>=0 || input::keyPressed(SDL_SCANCODE_LCTRL)) room::load(room, XP);
|
||||
if (room>=0 || input::keyDown(SDL_SCANCODE_LCTRL)) room::load(room, XP);
|
||||
}
|
||||
if (mx>288 && my<24) {
|
||||
int room = room::editor::refExit(YN);
|
||||
if (room>=0 || input::keyPressed(SDL_SCANCODE_LCTRL)) room::load(room, YP);
|
||||
if (room>=0 || input::keyDown(SDL_SCANCODE_LCTRL)) room::load(room, YP);
|
||||
}
|
||||
if (mx>288 && my>216) {
|
||||
int room = room::editor::refExit(XP);
|
||||
if (room>=0 || input::keyPressed(SDL_SCANCODE_LCTRL)) room::load(room, XN);
|
||||
if (room>=0 || input::keyDown(SDL_SCANCODE_LCTRL)) room::load(room, XN);
|
||||
}
|
||||
if (mx<32 && my>216) {
|
||||
int room = room::editor::refExit(YP);
|
||||
if (room>=0 || input::keyPressed(SDL_SCANCODE_LCTRL)) room::load(room, YN);
|
||||
if (room>=0 || input::keyDown(SDL_SCANCODE_LCTRL))
|
||||
room::load(room, YN);
|
||||
}
|
||||
if (mx>144 && mx<176 && my<24) {
|
||||
int room = room::editor::refExit(ZP);
|
||||
if (room>=0 || input::keyPressed(SDL_SCANCODE_LCTRL)) room::load(room, ZN);
|
||||
if (room>=0 || input::keyDown(SDL_SCANCODE_LCTRL)) room::load(room, ZN);
|
||||
}
|
||||
if (mx>144 && mx<176 && my>216) {
|
||||
int room = room::editor::refExit(ZN);
|
||||
if (room>=0 || input::keyPressed(SDL_SCANCODE_LCTRL)) room::load(room, ZP);
|
||||
if (room>=0 || input::keyDown(SDL_SCANCODE_LCTRL)) room::load(room, ZP);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -557,7 +558,11 @@ namespace modules
|
||||
if (ui::button("EDITING", 2, 2, 96, 11, editor::isEditing()))
|
||||
{
|
||||
room::load(room::editor::getCurrentRoom());
|
||||
if (!editor::isEditing()) actor::find("HERO")->pos.z=24;
|
||||
if (!editor::isEditing())
|
||||
{
|
||||
actor::actor_t *hero = actor::find("HERO");
|
||||
hero->pos.x = hero->pos.y = 32; hero->pos.z = 0;
|
||||
}
|
||||
editor::setEditing(!editor::isEditing());
|
||||
}
|
||||
|
||||
@@ -733,7 +738,7 @@ namespace modules
|
||||
}
|
||||
line+=10;
|
||||
|
||||
changed |= btn_opt("MOVEMNT", 2, line, act->movement, {MOV_NONE, MOV_X, MOV_Y, MOV_Z, MOV_CW, MOV_CCW, MOV_RAND, MOV_HUNT}, {"NONE", "X", "Y", "Z", "CW", "CCW", "RAND", "HUNT"}, 48);
|
||||
changed |= btn_opt("MOVEMNT", 2, line, act->movement, {MOV_NONE, MOV_X, MOV_Y, MOV_Z, MOV_CW, MOV_CCW, MOV_RAND, MOV_RANDV, MOV_HUNT}, {"NONE", "X", "Y", "Z", "CW", "CCW", "RAND", "RANDV", "HUNT"}, 48);
|
||||
line+=10;
|
||||
changed |= btn_opt("ANIMCYC", 2, line, act->anim_cycle, {0, 1, 2}, {"0 1 0 2", "0 1 2 3", "0 1 2"}, 48);
|
||||
line+=10;
|
||||
|
||||
Reference in New Issue
Block a user