- [FIX] El piso que mata ja mata

- [FIX] En habitacions amb piso que mata, el piso que es veu baix la porta es el per defecte
This commit is contained in:
2024-09-24 12:43:10 +02:00
parent 5a22961c47
commit e7224cc376
3 changed files with 23 additions and 6 deletions

View File

@@ -984,6 +984,7 @@ namespace actor
{ {
if ( (act->flags & FLAG_MOVING) && (act->movement==MOV_Z) ) changeMoving(act); if ( (act->flags & FLAG_MOVING) && (act->movement==MOV_Z) ) changeMoving(act);
act->push &= ~PUSH_ZN; act->push &= ~PUSH_ZN;
if ( (act->flags&FLAG_HERO) && (room::getFloor()==11) ) act->push |= PUSH_KILL;
if ( ((act->flags&FLAG_HERO)==0) || (room::getExit(ZN)==-1) ) return; if ( ((act->flags&FLAG_HERO)==0) || (room::getExit(ZN)==-1) ) return;
room::load(room::getExit(ZN)); room::load(room::getExit(ZN));

View File

@@ -328,8 +328,8 @@ namespace room
draw::swapcol(1, color_schemes[color][0]); draw::swapcol(1, color_schemes[color][0]);
const int floor_row_tiles = int(floor_surf->w/32); const int floor_row_tiles = int(floor_surf->w/32);
const int floor_x = (floor_type%floor_row_tiles)*32; int floor_x = (floor_type%floor_row_tiles)*32;
const int floor_y = int(floor_type/floor_row_tiles)*16; int floor_y = int(floor_type/floor_row_tiles)*16;
const int walls_row_tiles = int(walls_surf->w/16); const int walls_row_tiles = int(walls_surf->w/16);
const int walls_x = (walls_type%walls_row_tiles)*16; const int walls_x = (walls_type%walls_row_tiles)*16;
@@ -357,8 +357,13 @@ namespace room
draw::setSource(walls_surf); draw::setSource(walls_surf);
draw::draw(164+4*16-(tmin.y-1)*16, -door_height[3]*8+84+4*8+(tmin.y-1)*8, 16, 15, walls_x, walls_y+33, DRAW_FLIP_HORIZONTAL); // Vora draw::draw(164+4*16-(tmin.y-1)*16, -door_height[3]*8+84+4*8+(tmin.y-1)*8, 16, 15, walls_x, walls_y+33, DRAW_FLIP_HORIZONTAL); // Vora
draw::setSource(floor_surf); draw::setSource(floor_surf);
draw::draw(148+3*16-(tmin.y-1)*16, -door_height[3]*8+76+3*8+(tmin.y-1)*8, 32, 15, floor_x, floor_y+1); // Tile de Piso if (floor_type==11) {
draw::draw(148+4*16-(tmin.y-1)*16, -door_height[3]*8+76+4*8+(tmin.y-1)*8, 32, 15, floor_x, floor_y+1); // Tile de Piso draw::draw(148+3*16-(tmin.y-1)*16, -door_height[3]*8+76+3*8+(tmin.y-1)*8, 32, 15, 0, 1); // Tile de Piso
draw::draw(148+4*16-(tmin.y-1)*16, -door_height[3]*8+76+4*8+(tmin.y-1)*8, 32, 15, 0, 1); // Tile de Piso
} else {
draw::draw(148+3*16-(tmin.y-1)*16, -door_height[3]*8+76+3*8+(tmin.y-1)*8, 32, 15, floor_x, floor_y+1); // Tile de Piso
draw::draw(148+4*16-(tmin.y-1)*16, -door_height[3]*8+76+4*8+(tmin.y-1)*8, 32, 15, floor_x, floor_y+1); // Tile de Piso
}
// Pintem la porta // Pintem la porta
draw::setSource(doors_surf); draw::setSource(doors_surf);
@@ -379,8 +384,13 @@ namespace room
draw::setSource(walls_surf); draw::setSource(walls_surf);
draw::draw(164+(tmin.x-1)*16-5*16, -door_height[1]*8+84+(tmin.x-1)*8+4*8, 16, 15, walls_x, walls_y+33); // Vora draw::draw(164+(tmin.x-1)*16-5*16, -door_height[1]*8+84+(tmin.x-1)*8+4*8, 16, 15, walls_x, walls_y+33); // Vora
draw::setSource(floor_surf); draw::setSource(floor_surf);
draw::draw(148+(tmin.x-1)*16-3*16, -door_height[1]*8+76+(tmin.x-1)*8+3*8,32,15,floor_x, floor_y+1); if (floor_type==11) {
draw::draw(148+(tmin.x-1)*16-4*16, -door_height[1]*8+76+(tmin.x-1)*8+4*8,32,15,floor_x, floor_y+1); draw::draw(148+(tmin.x-1)*16-3*16, -door_height[1]*8+76+(tmin.x-1)*8+3*8,32,15,0,1);
draw::draw(148+(tmin.x-1)*16-4*16, -door_height[1]*8+76+(tmin.x-1)*8+4*8,32,15,0,1);
} else {
draw::draw(148+(tmin.x-1)*16-3*16, -door_height[1]*8+76+(tmin.x-1)*8+3*8,32,15,floor_x, floor_y+1);
draw::draw(148+(tmin.x-1)*16-4*16, -door_height[1]*8+76+(tmin.x-1)*8+4*8,32,15,floor_x, floor_y+1);
}
// Pintem la porta // Pintem la porta
draw::setSource(doors_surf); draw::setSource(doors_surf);
@@ -524,6 +534,11 @@ namespace room
return color_schemes[color][which]; return color_schemes[color][which];
} }
int getFloor()
{
return floor_type;
}
int getFloorCount() int getFloorCount()
{ {
return int(floor_surf->w / 32) * int(floor_surf->h / 16); return int(floor_surf->w / 32) * int(floor_surf->h / 16);

View File

@@ -38,6 +38,7 @@ namespace room
int getDoor(const int d); int getDoor(const int d);
int getExit(const int d); int getExit(const int d);
int getColor(int which); int getColor(int which);
int getFloor();
int getFloorCount(); int getFloorCount();
int getDoorCount(); int getDoorCount();