- El minimapa es pinta millor

- Més gràfics de caixes i pareds
- Més habitacions
This commit is contained in:
2024-09-17 13:54:32 +02:00
parent 4ace433340
commit 87d7b4ce46
14 changed files with 442 additions and 90 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -1,73 +1,15 @@
width: 0
height: 3
door-height-yp: 0
door-height-yn: 5
color: CYAN
floor-texture: 6
wall-texture: 0
door-texture: 0
under-door-texture: 0
exit-yp: 9
exit-yn: 7
actor{
name: BOX
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 32 0 0
size: 8 8 8
movement: CW
}
actor{
name: BOX03
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 32 8 0
size: 8 8 8
movement: CW
}
actor{
name: BOX07
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 24 16 0
size: 8 8 8
movement: CW
}
actor{
name: BOX04
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 32 16 0
size: 8 8 8
movement: CW
}
actor{
name: BOX09
bmp: caixes.gif
bmp-rect: 128 128 32 32
bmp-offset: 0 32
pos: 24 24 0
size: 8 8 4
movement: CW
}
actor{
name: BOX08
bmp: caixes.gif
bmp-rect: 128 128 32 32
bmp-offset: 0 32
pos: 32 24 0
size: 8 8 4
movement: CW
}
actor{
name: BOX01
bmp: caixes.gif
@@ -78,16 +20,6 @@ actor{
movement: CW
}
actor{
name: BOX02
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 32 0 8
size: 8 8 8
movement: CW
}
actor{
name: BOX06
bmp: caixes.gif
@@ -98,6 +30,36 @@ actor{
movement: CW
}
actor{
name: BOX
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 32 0 0
size: 8 8 8
movement: CW
}
actor{
name: BOX02
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 32 0 8
size: 8 8 8
movement: CW
}
actor{
name: BOX03
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 32 8 0
size: 8 8 8
movement: CW
}
actor{
name: BOX05
bmp: caixes.gif
@@ -107,3 +69,43 @@ actor{
size: 8 8 4
movement: CW
}
actor{
name: BOX07
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 24 16 0
size: 8 8 8
movement: CW
}
actor{
name: BOX09
bmp: caixes.gif
bmp-rect: 128 128 32 32
bmp-offset: 0 32
pos: 24 24 0
size: 8 8 4
movement: CW
}
actor{
name: BOX04
bmp: caixes.gif
bmp-rect: 64 64 32 32
bmp-offset: 0 32
pos: 32 16 0
size: 8 8 8
movement: CW
}
actor{
name: BOX08
bmp: caixes.gif
bmp-rect: 128 128 32 32
bmp-offset: 0 32
pos: 32 24 0
size: 8 8 4
movement: CW
}

39
data/rooms/09.txt Normal file
View File

@@ -0,0 +1,39 @@
width: 2
height: 2
door-height-xp: 0
door-height-xn: 0
door-height-yp: 0
door-height-yn: 0
color: WHITE
floor-texture: 0
wall-texture: 7
door-texture: 2
under-door-texture: 0
exit-xp: 12
exit-xn: 10
exit-yp: 17
exit-yn: 8
actor{
name: NEVERA1
bmp: caixes.gif
bmp-rect: 0 96 32 32
bmp-offset: 2 33
pos: 8 8 0
size: 8 8 8
orient: YP
flags: ORIENTABLE
movement: CW
}
actor{
name: NEVERA2
bmp: caixes.gif
bmp-rect: 32 96 32 32
bmp-offset: 2 33
pos: 8 8 8
size: 8 8 8
orient: YP
flags: ORIENTABLE
movement: CW
}

11
data/rooms/10.txt Normal file
View File

@@ -0,0 +1,11 @@
width: 2
height: 2
door-height-xp: 0
door-height-yn: 0
color: PURPLE
floor-texture: 0
wall-texture: 0
door-texture: 0
under-door-texture: 0
exit-xp: 9
exit-yn: 11

9
data/rooms/11.txt Normal file
View File

@@ -0,0 +1,9 @@
width: 2
height: 2
door-height-yp: 0
color: YELLOW
floor-texture: 0
wall-texture: 0
door-texture: 0
under-door-texture: 0
exit-yp: 10

13
data/rooms/12.txt Normal file
View File

@@ -0,0 +1,13 @@
width: 2
height: 2
door-height-xp: 0
door-height-xn: 0
door-height-yn: 0
color: GREEN
floor-texture: 3
wall-texture: 3
door-texture: 1
under-door-texture: 3
exit-xp: 13
exit-xn: 9
exit-yn: 15

232
data/rooms/13.txt Normal file
View File

@@ -0,0 +1,232 @@
width: 2
height: 2
door-height-xn: 1
door-height-yn: 1
color: CYAN
floor-texture: 0
wall-texture: 0
door-texture: 0
under-door-texture: 0
exit-xn: 12
exit-yn: 14
exit-zn: 18
actor{
name: LIFT18
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 8 8 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT17
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 8 16 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT19
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 16 8 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT31
bmp: caixes.gif
bmp-rect: 96 160 32 32
bmp-offset: 0 32
pos: 16 16 0
size: 8 8 8
orient: ZP
movement: Z
}
actor{
name: LIFT20
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 24 8 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT32
bmp: caixes.gif
bmp-rect: 96 160 32 32
bmp-offset: 0 32
pos: 24 16 0
size: 8 8 8
orient: ZP
movement: Z
}
actor{
name: LIFT21
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 32 8 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT33
bmp: caixes.gif
bmp-rect: 96 160 32 32
bmp-offset: 0 32
pos: 32 16 0
size: 8 8 8
orient: ZP
movement: Z
}
actor{
name: LIFT22
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 40 8 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT34
bmp: caixes.gif
bmp-rect: 96 160 32 32
bmp-offset: 0 32
pos: 40 16 0
size: 8 8 8
orient: ZP
movement: Z
}
actor{
name: LIFT23
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 48 8 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT35
bmp: caixes.gif
bmp-rect: 96 160 32 32
bmp-offset: 0 32
pos: 48 16 0
size: 8 8 8
orient: ZP
movement: Z
}
actor{
name: LIFT16
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 8 24 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT30
bmp: caixes.gif
bmp-rect: 96 160 32 32
bmp-offset: 0 32
pos: 16 24 0
size: 8 8 8
orient: ZP
movement: Z
}
actor{
name: LIFT13
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 8 32 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT29
bmp: caixes.gif
bmp-rect: 96 160 32 32
bmp-offset: 0 32
pos: 16 32 0
size: 8 8 8
orient: ZP
movement: Z
}
actor{
name: LIFT14
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 8 40 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT28
bmp: caixes.gif
bmp-rect: 96 160 32 32
bmp-offset: 0 32
pos: 16 40 0
size: 8 8 8
orient: ZP
movement: Z
}
actor{
name: LIFT15
bmp: caixes.gif
bmp-rect: 160 128 32 32
bmp-offset: 0 32
pos: 8 48 0
size: 8 8 4
orient: ZP
movement: Z
}
actor{
name: LIFT27
bmp: caixes.gif
bmp-rect: 96 160 32 32
bmp-offset: 0 32
pos: 16 48 0
size: 8 8 8
orient: ZP
movement: Z
}

11
data/rooms/14.txt Normal file
View File

@@ -0,0 +1,11 @@
width: 2
height: 2
door-height-xn: 0
door-height-yp: 0
color: WHITE
floor-texture: 0
wall-texture: 0
door-texture: 0
under-door-texture: 0
exit-xn: 15
exit-yp: 13

13
data/rooms/15.txt Normal file
View File

@@ -0,0 +1,13 @@
width: 2
height: 2
door-height-xp: 0
door-height-yp: 0
door-height-yn: 0
color: YELLOW
floor-texture: 0
wall-texture: 0
door-texture: 0
under-door-texture: 0
exit-xp: 14
exit-yp: 12
exit-yn: 16

9
data/rooms/16.txt Normal file
View File

@@ -0,0 +1,9 @@
width: 2
height: 2
door-height-yp: 0
color: PURPLE
floor-texture: 0
wall-texture: 0
door-texture: 0
under-door-texture: 0
exit-yp: 15

9
data/rooms/17.txt Normal file
View File

@@ -0,0 +1,9 @@
width: 2
height: 2
door-height-yn: 0
color: CYAN
floor-texture: 0
wall-texture: 0
door-texture: 0
under-door-texture: 0
exit-yn: 9

8
data/rooms/18.txt Normal file
View File

@@ -0,0 +1,8 @@
width: 2
height: 2
color: CYAN
floor-texture: 0
wall-texture: 0
door-texture: 0
under-door-texture: 0
exit-zp: 13

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -30,10 +30,10 @@ namespace modules
if ( (x>=-32) && (x<520) && (y>=-16) && (y<240) )
{
draw::color(RED);
if (minirooms[room].exits[XN] != 255) { draw::isoline(x,y,-1,-1,14); draw::isoline(x,y-1,-1,-1,14); draw::isoline(x,y+1,-1,-1,14); }
if (minirooms[room].exits[YN] != 255) { draw::isoline(x,y,+1,-1,14); draw::isoline(x,y-1,+1,-1,14); draw::isoline(x,y+1,+1,-1,14); }
if (minirooms[room].exits[XP] != 255) { draw::isoline(x,y,+1,+1,14); draw::isoline(x,y-1,+1,+1,14); draw::isoline(x,y+1,+1,+1,14); }
if (minirooms[room].exits[YP] != 255) { draw::isoline(x,y,-1,+1,14); draw::isoline(x,y-1,-1,+1,14); draw::isoline(x,y+1,-1,+1,14); }
if (minirooms[room].exits[XN] != 255) { draw::isoline(x,y,-1,-1,14); /*draw::isoline(x,y-1,-1,-1,14);*/ draw::isoline(x,y+1,-1,-1,14); }
if (minirooms[room].exits[YN] != 255) { draw::isoline(x,y,+1,-1,14); /*draw::isoline(x,y-1,+1,-1,14);*/ draw::isoline(x,y+1,+1,-1,14); }
if (minirooms[room].exits[XP] != 255) { draw::isoline(x,y,+1,+1,14); /*draw::isoline(x,y-1,+1,+1,14);*/ draw::isoline(x,y+1,+1,+1,14); }
if (minirooms[room].exits[YP] != 255) { draw::isoline(x,y,-1,+1,14); /*draw::isoline(x,y-1,-1,+1,14);*/ draw::isoline(x,y+1,-1,+1,14); }
}
if (minirooms[room].exits[XN] != 255) drawLines(minirooms[room].exits[XN], x-24, y-12);
if (minirooms[room].exits[XP] != 255) drawLines(minirooms[room].exits[XP], x+24, y+12);
@@ -41,29 +41,26 @@ namespace modules
if (minirooms[room].exits[YP] != 255) drawLines(minirooms[room].exits[YP], x-24, y+12);
}
void drawRoom(const int room, const int x, const int y)
void drawRoom(const int room, const int x, const int y, const bool shadow=false)
{
if (drawn[room]) return;
drawn[room] = true;
if ( (x>=-32) && (x<520) && (y>=-16) && (y<240) )
{
draw::stencil::set(room);
draw::swapcol(1, minirooms[room].color);
draw::swapcol(1, !shadow ? minirooms[room].color : 2);
draw::draw(x-16, y-8, 32, 16, minirooms[room].w*32, minirooms[room].h*16);
//draw::swapcol(1, RED);
//if (minirooms[room].exits[XN] != 255) draw::draw(x-4-(minirooms[room].w*2), y-5-(minirooms[room].w),4,5,0,64);
//if (minirooms[room].exits[YN] != 255) draw::draw(x+(minirooms[room].h*2), y-5-(minirooms[room].h),4,5,3,64);
//if (minirooms[room].exits[XP] != 255) draw::draw(x+(minirooms[room].w*2), y-3+(minirooms[room].w),4,5,0,64);
//if (minirooms[room].exits[YP] != 255) draw::draw(x-4-(minirooms[room].h*2), y-3+(minirooms[room].h),4,5,3,64);
char num[] = "00"; num[0] = 48+(room/10); num[1] = 48+(room%10);
draw::print(num, x-4, y-3, LIGHT+(room==current_room?YELLOW:WHITE), BLACK);
if (!shadow)
{
char num[] = "00"; num[0] = 48+(room/10); num[1] = 48+(room%10);
draw::print(num, x-4, y-3, LIGHT+(room==current_room?YELLOW:WHITE), BLACK);
}
}
if (minirooms[room].exits[XN] != 255) drawRoom(minirooms[room].exits[XN], x-24, y-12);
if (minirooms[room].exits[XP] != 255) drawRoom(minirooms[room].exits[XP], x+24, y+12);
if (minirooms[room].exits[YN] != 255) drawRoom(minirooms[room].exits[YN], x+24, y-12);
if (minirooms[room].exits[YP] != 255) drawRoom(minirooms[room].exits[YP], x-24, y+12);
if (minirooms[room].exits[XN] != 255) drawRoom(minirooms[room].exits[XN], x-24, y-12, shadow);
if (minirooms[room].exits[XP] != 255) drawRoom(minirooms[room].exits[XP], x+24, y+12, shadow);
if (minirooms[room].exits[YN] != 255) drawRoom(minirooms[room].exits[YN], x+24, y-12, shadow);
if (minirooms[room].exits[YP] != 255) drawRoom(minirooms[room].exits[YP], x-24, y+12, shadow);
}
void loadMiniRoom()
@@ -103,12 +100,11 @@ namespace modules
drawLines(room::getCurrent(), scroll.x, scroll.y);
draw::swapcol(1, RED);
for (int y=-1; y<=1; ++y)
for (int x=-1; x<=1; ++x)
{
for (int i=0;i<64;++i) drawn[i]=false;
drawRoom(room::getCurrent(), scroll.x+x, scroll.y+y);
drawRoom(room::getCurrent(), scroll.x+x, scroll.y+y, true);
}
}