Trabajando en la precarga de habitaciones

This commit is contained in:
2022-10-30 13:27:30 +01:00
parent d1c27c4639
commit c11f5d2622
74 changed files with 1028 additions and 754 deletions

View File

@@ -1,15 +1,15 @@
name=THE JAIL name=THE JAIL
bgColor=bright_blue bgColor=bright_blue
border=blue border=blue
tilemap=01.tmx tileMapFile=01.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=0 roomLeft=0
roomRight=02.room roomRight=02.room
[enemy] [enemy]
tileset=jailer.png tileSetFile=jailer.png
animation=jailer.ani animation=jailer.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=jailer3.png tileSetFile=jailer3.png
animation=jailer3.ani animation=jailer3.ani
width=16 width=16
height=16 height=16
@@ -41,7 +41,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=jailer.png tileSetFile=jailer.png
animation=jailer.ani animation=jailer.ani
width=16 width=16
height=16 height=16
@@ -57,7 +57,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=jailer2.png tileSetFile=jailer2.png
animation=jailer2.ani animation=jailer2.ani
width=16 width=16
height=16 height=16
@@ -73,7 +73,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=jailer.png tileSetFile=jailer.png
animation=jailer.ani animation=jailer.ani
width=16 width=16
height=16 height=16
@@ -89,7 +89,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=printer.png tileSetFile=printer.png
animation=printer.ani animation=printer.ani
width=16 width=16
height=16 height=16
@@ -105,7 +105,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=printer.png tileSetFile=printer.png
animation=printer.ani animation=printer.ani
width=16 width=16
height=16 height=16
@@ -121,7 +121,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=lamp.png tileSetFile=lamp.png
animation=lamp.ani animation=lamp.ani
width=16 width=16
height=16 height=16
@@ -137,7 +137,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=bry.png tileSetFile=bry.png
animation=bry.ani animation=bry.ani
width=8 width=8
height=16 height=16
@@ -153,7 +153,7 @@ color=white
[/enemy] [/enemy]
#[enemy] #[enemy]
#tileset=tv_panel.png #tileSetFile=tv_panel.png
#animation=tv_panel.ani #animation=tv_panel.ani
#width=24 #width=24
#height=16 #height=16
@@ -169,7 +169,7 @@ color=white
#[/enemy] #[/enemy]
# #
#[enemy] #[enemy]
#tileset=tv_panel.png #tileSetFile=tv_panel.png
#animation=tv_panel.ani #animation=tv_panel.ani
#width=24 #width=24
#height=16 #height=16
@@ -185,7 +185,7 @@ color=white
#[/enemy] #[/enemy]
# #
#[enemy] #[enemy]
#tileset=tv_panel.png #tileSetFile=tv_panel.png
#animation=tv_panel.ani #animation=tv_panel.ani
#width=24 #width=24
#height=16 #height=16

View File

@@ -1,15 +1,15 @@
name=road to the jail name=road to the jail
bgColor=black bgColor=black
border=cyan border=cyan
tilemap=02.tmx tileMapFile=02.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=04.room roomDown=04.room
roomLeft=01.room roomLeft=01.room
roomRight=03.room roomRight=03.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=bright_red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -41,7 +41,7 @@ color=red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=chip.png tileSetFile=chip.png
animation=chip.ani animation=chip.ani
width=8 width=8
height=16 height=16
@@ -57,7 +57,7 @@ color=yellow
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=21 tile=21
x=1 x=1
y=9 y=9

View File

@@ -1,8 +1,8 @@
name=void main name=void main
bgColor=black bgColor=black
border=magenta border=magenta
tilemap=03.tmx tileMapFile=03.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=02.room roomLeft=02.room
@@ -12,7 +12,7 @@ itemColor1=bright_cyan
itemColor2=yellow itemColor2=yellow
[enemy] [enemy]
tileset=code.png tileSetFile=code.png
animation=code.ani animation=code.ani
width=16 width=16
height=16 height=16
@@ -28,7 +28,7 @@ color=yellow
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=42 tile=42
x=21 x=21
y=13 y=13

View File

@@ -1,15 +1,15 @@
name=no 04 name=no 04
bgColor=black bgColor=black
border=red border=red
tilemap=04.tmx tileMapFile=04.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=02.room roomUp=02.room
roomDown=0 roomDown=0
roomLeft=07.room roomLeft=07.room
roomRight=05.room roomRight=05.room
[enemy] [enemy]
tileset=chip.png tileSetFile=chip.png
animation=chip.ani animation=chip.ani
width=8 width=8
height=16 height=16

View File

@@ -1,15 +1,15 @@
name=no 05 name=no 05
bgColor=black bgColor=black
border=red border=red
tilemap=05.tmx tileMapFile=05.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=60.room roomDown=60.room
roomLeft=04.room roomLeft=04.room
roomRight=06.room roomRight=06.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=2 x=2
y=6 y=6
@@ -33,7 +33,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=29 x=29
y=12 y=12

View File

@@ -1,8 +1,8 @@
name=welcome to my abbey name=welcome to my abbey
bgColor=blue bgColor=blue
border=yellow border=yellow
tilemap=06.tmx tileMapFile=06.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=15.room roomUp=15.room
roomDown=0 roomDown=0
roomLeft=05.room roomLeft=05.room
@@ -11,7 +11,7 @@ itemColor1=yellow
itemColor2=cyan itemColor2=cyan
[enemy] [enemy]
tileset=abad.png tileSetFile=abad.png
animation=abad.ani animation=abad.ani
width=8 width=8
height=16 height=16
@@ -28,7 +28,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=wave_v.png tileSetFile=wave_v.png
animation=wave_v.ani animation=wave_v.ani
width=8 width=8
height=8 height=8
@@ -44,7 +44,7 @@ color=yellow
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=48 tile=48
x=7 x=7
y=2 y=2
@@ -52,7 +52,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=48 tile=48
x=1 x=1
y=14 y=14
@@ -60,7 +60,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=48 tile=48
x=30 x=30
y=9 y=9

View File

@@ -1,15 +1,15 @@
name=sigmasua name=sigmasua
bgColor=black bgColor=black
border=black border=black
tilemap=07.tmx tileMapFile=07.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=08.room roomLeft=08.room
roomRight=04.room roomRight=04.room
[enemy] [enemy]
tileset=sigmasua.png tileSetFile=sigmasua.png
animation=sigmasua.ani animation=sigmasua.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=bright_red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=sigmasua.png tileSetFile=sigmasua.png
animation=sigmasua.ani animation=sigmasua.ani
width=16 width=16
height=16 height=16
@@ -41,7 +41,7 @@ color=bright_red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=sigmasua.png tileSetFile=sigmasua.png
animation=sigmasua.ani animation=sigmasua.ani
width=16 width=16
height=16 height=16
@@ -57,7 +57,7 @@ color=bright_magenta
[/enemy] [/enemy]
[enemy] [enemy]
tileset=sigmasua.png tileSetFile=sigmasua.png
animation=sigmasua.ani animation=sigmasua.ani
width=16 width=16
height=16 height=16
@@ -73,7 +73,7 @@ color=bright_green
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=9 tile=9
x=15 x=15
y=5 y=5
@@ -81,7 +81,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=9 tile=9
x=1 x=1
y=8 y=8
@@ -89,7 +89,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=9 tile=9
x=30 x=30
y=8 y=8
@@ -97,7 +97,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=9 tile=9
x=21 x=21
y=13 y=13

View File

@@ -1,15 +1,15 @@
name=THE GARDEN name=THE GARDEN
bgColor=black bgColor=black
border=cyan border=cyan
tilemap=08.tmx tileMapFile=08.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=09.room roomUp=09.room
roomDown=0 roomDown=0
roomLeft=16.room roomLeft=16.room
roomRight=07.room roomRight=07.room
[enemy] [enemy]
tileset=abad.png tileSetFile=abad.png
animation=abad.ani animation=abad.ani
width=8 width=8
height=16 height=16
@@ -26,7 +26,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=18 tile=18
x=5 x=5
y=5 y=5
@@ -34,7 +34,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=18 tile=18
x=25 x=25
y=9 y=9
@@ -42,7 +42,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=18 tile=18
x=10 x=10
y=5 y=5

View File

@@ -1,15 +1,15 @@
name=no 09 name=no 09
bgColor=black bgColor=black
border=red border=red
tilemap=09.tmx tileMapFile=09.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=10.room roomUp=10.room
roomDown=08.room roomDown=08.room
roomLeft=0 roomLeft=0
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=the hall name=the hall
bgColor=black bgColor=black
border=magenta border=magenta
tilemap=10.tmx tileMapFile=10.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=09.room roomDown=09.room
roomLeft=0 roomLeft=0
roomRight=11.room roomRight=11.room
[item] [item]
tileset=items.png tileSetFile=items.png
tile=22 tile=22
x=20 x=20
y=4 y=4

View File

@@ -1,15 +1,15 @@
name=no 11 name=no 11
bgColor=black bgColor=black
border=red border=red
tilemap=11.tmx tileMapFile=11.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=10.room roomLeft=10.room
roomRight=12.room roomRight=12.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=THE PASSAGE name=THE PASSAGE
bgColor=black bgColor=black
border=green border=green
tilemap=12.tmx tileMapFile=12.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=11.room roomLeft=11.room
roomRight=13.room roomRight=13.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=matatunos name=matatunos
bgColor=black bgColor=black
border=blue border=blue
tilemap=13.tmx tileMapFile=13.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=12.room roomLeft=12.room
roomRight=14.room roomRight=14.room
[enemy] [enemy]
tileset=matatunos.png tileSetFile=matatunos.png
animation=matatunos.ani animation=matatunos.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=bright_blue
[/enemy] [/enemy]
[enemy] [enemy]
tileset=tuno.png tileSetFile=tuno.png
animation=tuno.ani animation=tuno.ani
width=16 width=16
height=16 height=16
@@ -41,7 +41,7 @@ color=red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=tuno.png tileSetFile=tuno.png
animation=tuno.ani animation=tuno.ani
width=16 width=16
height=16 height=16
@@ -57,7 +57,7 @@ color=red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=tuno.png tileSetFile=tuno.png
animation=tuno.ani animation=tuno.ani
width=16 width=16
height=16 height=16
@@ -73,7 +73,7 @@ color=red
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=9 x=9
y=5 y=5
@@ -81,7 +81,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=16 x=16
y=5 y=5
@@ -89,7 +89,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=23 x=23
y=5 y=5

View File

@@ -1,15 +1,15 @@
name=KILLING SPREE name=KILLING SPREE
bgColor=black bgColor=black
border=blue border=blue
tilemap=14.tmx tileMapFile=14.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=15.room roomDown=15.room
roomLeft=13.room roomLeft=13.room
roomRight=45.room roomRight=45.room
[enemy] [enemy]
tileset=matatunos.png tileSetFile=matatunos.png
animation=matatunos.ani animation=matatunos.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=bright_blue
[/enemy] [/enemy]
[enemy] [enemy]
tileset=batman.png tileSetFile=batman.png
animation=batman.ani animation=batman.ani
width=8 width=8
height=16 height=16
@@ -42,7 +42,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=tuno.png tileSetFile=tuno.png
animation=tuno.ani animation=tuno.ani
width=16 width=16
height=16 height=16
@@ -58,7 +58,7 @@ color=red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=tuno.png tileSetFile=tuno.png
animation=tuno.ani animation=tuno.ani
width=16 width=16
height=16 height=16
@@ -74,7 +74,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=30 x=30
y=14 y=14
@@ -82,7 +82,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=25 x=25
y=4 y=4

View File

@@ -1,8 +1,8 @@
name=now this is the batcave! name=now this is the batcave!
bgColor=black bgColor=black
border=black border=black
tilemap=15.tmx tileMapFile=15.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=14.room roomUp=14.room
roomDown=06.room roomDown=06.room
roomLeft=0 roomLeft=0
@@ -11,7 +11,7 @@ itemColor1=yellow
itemColor2=red itemColor2=red
[enemy] [enemy]
tileset=batman.png tileSetFile=batman.png
animation=batman.ani animation=batman.ani
width=8 width=8
height=16 height=16
@@ -28,7 +28,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=bat.png tileSetFile=bat.png
animation=bat.ani animation=bat.ani
width=9 width=9
height=7 height=7
@@ -44,7 +44,7 @@ color=bright_blue
[/enemy] [/enemy]
[enemy] [enemy]
tileset=bat.png tileSetFile=bat.png
animation=bat.ani animation=bat.ani
width=9 width=9
height=7 height=7
@@ -60,7 +60,7 @@ color=cyan
[/enemy] [/enemy]
[enemy] [enemy]
tileset=bat.png tileSetFile=bat.png
animation=bat.ani animation=bat.ani
width=9 width=9
height=7 height=7
@@ -76,7 +76,7 @@ color=red
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=5 x=5
y=2 y=2
@@ -84,7 +84,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=13 x=13
y=12 y=12
@@ -92,7 +92,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=14 x=14
y=12 y=12
@@ -100,7 +100,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=15 x=15
y=12 y=12
@@ -108,7 +108,7 @@ counter=4
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=16 x=16
y=12 y=12
@@ -116,7 +116,7 @@ counter=5
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=10 x=10
y=4 y=4
@@ -124,7 +124,7 @@ counter=6
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=0 tile=0
x=17 x=17
y=7 y=7

View File

@@ -3,15 +3,15 @@ bgColor=blue
border=blue border=blue
itemColor1=bright_cyan itemColor1=bright_cyan
itemColor2=yellow itemColor2=yellow
tilemap=16.tmx tileMapFile=16.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=44.room roomUp=44.room
roomDown=0 roomDown=0
roomLeft=17.room roomLeft=17.room
roomRight=08.room roomRight=08.room
[enemy] [enemy]
tileset=chip.png tileSetFile=chip.png
animation=chip.ani animation=chip.ani
width=8 width=8
height=16 height=16
@@ -27,7 +27,7 @@ color=magenta
[/enemy] [/enemy]
[enemy] [enemy]
tileset=chip.png tileSetFile=chip.png
animation=chip.ani animation=chip.ani
width=8 width=8
height=16 height=16
@@ -43,7 +43,7 @@ color=bright_white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=wave.png tileSetFile=wave.png
animation=wave.ani animation=wave.ani
width=8 width=8
height=8 height=8
@@ -59,7 +59,7 @@ color=bright_magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=6 tile=6
x=2 x=2
y=2 y=2
@@ -67,7 +67,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=6 tile=6
x=29 x=29
y=5 y=5
@@ -76,7 +76,7 @@ counter=2
[item] [item]
tileset=items.png tileSetFile=items.png
tile=6 tile=6
x=21 x=21
y=12 y=12

View File

@@ -1,15 +1,15 @@
name=i remember this one too name=i remember this one too
bgColor=black bgColor=black
border=magenta border=magenta
tilemap=17.tmx tileMapFile=17.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=18.room roomDown=18.room
roomLeft=49.room roomLeft=49.room
roomRight=16.room roomRight=16.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,8 +1,8 @@
name=make money name=make money
bgColor=black bgColor=black
border=magenta border=magenta
tilemap=18.tmx tileMapFile=18.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=17.room roomUp=17.room
roomDown=54.room roomDown=54.room
roomLeft=19.room roomLeft=19.room
@@ -12,7 +12,7 @@ itemColor2=magenta
autoSurface=left autoSurface=left
[enemy] [enemy]
tileset=code.png tileSetFile=code.png
animation=code.ani animation=code.ani
width=16 width=16
height=16 height=16
@@ -28,7 +28,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=19 x=19
y=3 y=3
@@ -36,7 +36,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=19 x=19
y=3 y=3
@@ -44,7 +44,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=20 x=20
y=3 y=3
@@ -52,7 +52,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=21 x=21
y=3 y=3
@@ -60,7 +60,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=22 x=22
y=3 y=3
@@ -68,7 +68,7 @@ counter=4
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=23 x=23
y=3 y=3
@@ -76,7 +76,7 @@ counter=5
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=24 x=24
y=3 y=3
@@ -84,7 +84,7 @@ counter=6
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=25 x=25
y=3 y=3
@@ -92,7 +92,7 @@ counter=7
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=26 x=26
y=3 y=3
@@ -100,7 +100,7 @@ counter=8
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=27 x=27
y=3 y=3
@@ -108,7 +108,7 @@ counter=9
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=28 x=28
y=3 y=3
@@ -116,7 +116,7 @@ counter=10
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=29 x=29
y=3 y=3
@@ -124,7 +124,7 @@ counter=11
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=14 tile=14
x=30 x=30
y=3 y=3

View File

@@ -1,8 +1,8 @@
name=this can't be the batcave name=this can't be the batcave
bgColor=black bgColor=black
border=cyan border=cyan
tilemap=19.tmx tileMapFile=19.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=20.room roomLeft=20.room
@@ -11,7 +11,7 @@ itemColor1=cyan
itemColor2=blue itemColor2=blue
[enemy] [enemy]
tileset=batman.png tileSetFile=batman.png
animation=batman.ani animation=batman.ani
width=8 width=8
height=16 height=16
@@ -28,7 +28,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=spider.png tileSetFile=spider.png
animation=spider.ani animation=spider.ani
width=8 width=8
height=8 height=8
@@ -44,7 +44,7 @@ color=cyan
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=34 tile=34
x=14 x=14
y=6 y=6
@@ -52,7 +52,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=34 tile=34
x=15 x=15
y=6 y=6
@@ -60,7 +60,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=34 tile=34
x=16 x=16
y=6 y=6
@@ -68,7 +68,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=34 tile=34
x=17 x=17
y=6 y=6
@@ -76,7 +76,7 @@ counter=4
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=34 tile=34
x=5 x=5
y=12 y=12
@@ -84,7 +84,7 @@ counter=5
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=34 tile=34
x=26 x=26
y=12 y=12

View File

@@ -1,8 +1,8 @@
name=ENTRANCE TO THE VALLEY name=ENTRANCE TO THE VALLEY
bgColor=black bgColor=black
border=blue border=blue
tilemap=20.tmx tileMapFile=20.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=21.room roomLeft=21.room
@@ -11,7 +11,7 @@ itemColor1=magenta
itemColor2=blue itemColor2=blue
[enemy] [enemy]
tileset=bin.png tileSetFile=bin.png
animation=bin.ani animation=bin.ani
width=16 width=16
height=8 height=8
@@ -27,7 +27,7 @@ color=magenta
[/enemy] [/enemy]
[enemy] [enemy]
tileset=code.png tileSetFile=code.png
animation=code.ani animation=code.ani
width=16 width=16
height=16 height=16
@@ -43,7 +43,7 @@ color=yellow
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=11 tile=11
x=7 x=7
y=3 y=3
@@ -51,7 +51,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=11 tile=11
x=29 x=29
y=10 y=10

View File

@@ -1,15 +1,15 @@
name=ENTER PAKU SIMBEL name=ENTER PAKU SIMBEL
bgColor=black bgColor=black
border=yellow border=yellow
tilemap=21.tmx tileMapFile=21.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=23.room roomUp=23.room
roomDown=0 roomDown=0
roomLeft=22.room roomLeft=22.room
roomRight=20.room roomRight=20.room
[enemy] [enemy]
tileset=mummy.png tileSetFile=mummy.png
animation=mummy.ani animation=mummy.ani
width=8 width=8
height=16 height=16
@@ -26,7 +26,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=spider.png tileSetFile=spider.png
animation=spider.ani animation=spider.ani
width=8 width=8
height=8 height=8
@@ -43,7 +43,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=36 tile=36
x=8 x=8
y=11 y=11
@@ -51,7 +51,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=36 tile=36
x=19 x=19
y=11 y=11
@@ -59,7 +59,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=36 tile=36
x=14 x=14
y=3 y=3

View File

@@ -1,15 +1,15 @@
name=AEE2 never came out name=AEE2 never came out
bgColor=black bgColor=black
border=yellow border=yellow
tilemap=22.tmx tileMapFile=22.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=0 roomLeft=0
roomRight=21.room roomRight=21.room
[enemy] [enemy]
tileset=mummy.png tileSetFile=mummy.png
animation=mummy.ani animation=mummy.ani
width=8 width=8
height=16 height=16
@@ -26,7 +26,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=mummy.png tileSetFile=mummy.png
animation=mummy.ani animation=mummy.ani
width=8 width=8
height=16 height=16
@@ -43,7 +43,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=37 tile=37
x=1 x=1
y=2 y=2
@@ -51,7 +51,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=37 tile=37
x=19 x=19
y=5 y=5

View File

@@ -1,15 +1,15 @@
name=inner chamber name=inner chamber
bgColor=black bgColor=black
border=bright_yellow border=bright_yellow
tilemap=23.tmx tileMapFile=23.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=21.room roomDown=21.room
roomLeft=24.room roomLeft=24.room
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=wave_v.png tileSetFile=wave_v.png
animation=wave_v.ani animation=wave_v.ani
width=8 width=8
height=8 height=8
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[enemy] [enemy]
tileset=wave_v.png tileSetFile=wave_v.png
animation=wave_v.ani animation=wave_v.ani
width=8 width=8
height=8 height=8
@@ -41,7 +41,7 @@ color=magenta
[/enemy] [/enemy]
[enemy] [enemy]
tileset=wave_v.png tileSetFile=wave_v.png
animation=wave_v.ani animation=wave_v.ani
width=8 width=8
height=8 height=8
@@ -57,7 +57,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=38 tile=38
x=29 x=29
y=5 y=5
@@ -65,7 +65,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=38 tile=38
x=2 x=2
y=4 y=4

View File

@@ -1,15 +1,15 @@
name=PLAY IT AGAIN, SAM name=PLAY IT AGAIN, SAM
bgColor=black bgColor=black
border=bright_yellow border=bright_yellow
tilemap=24.tmx tileMapFile=24.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=0 roomLeft=0
roomRight=23.room roomRight=23.room
[enemy] [enemy]
tileset=sam.png tileSetFile=sam.png
animation=sam.ani animation=sam.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=wave_v.png tileSetFile=wave_v.png
animation=wave_v.ani animation=wave_v.ani
width=8 width=8
height=8 height=8
@@ -41,7 +41,7 @@ color=bright_green
[/enemy] [/enemy]
[enemy] [enemy]
tileset=spider.png tileSetFile=spider.png
animation=spider.ani animation=spider.ani
width=8 width=8
height=8 height=8
@@ -57,7 +57,7 @@ color=bright_green
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=31 tile=31
x=2 x=2
y=6 y=6
@@ -65,7 +65,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=31 tile=31
x=2 x=2
y=14 y=14
@@ -73,7 +73,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=31 tile=31
x=15 x=15
y=7 y=7
@@ -81,7 +81,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=31 tile=31
x=29 x=29
y=5 y=5

View File

@@ -1,15 +1,15 @@
name=no 25 name=no 25
bgColor=black bgColor=black
border=red border=red
tilemap=25.tmx tileMapFile=25.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=06.room roomLeft=06.room
roomRight=26.room roomRight=26.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 26 name=no 26
bgColor=black bgColor=black
border=red border=red
tilemap=26.tmx tileMapFile=26.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=25.room roomLeft=25.room
roomRight=27.room roomRight=27.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 27 name=no 27
bgColor=black bgColor=black
border=red border=red
tilemap=27.tmx tileMapFile=27.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=28.room roomUp=28.room
roomDown=29.room roomDown=29.room
roomLeft=0 roomLeft=0
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 28 name=no 28
bgColor=black bgColor=black
border=red border=red
tilemap=28.tmx tileMapFile=28.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=32.room roomUp=32.room
roomDown=27.room roomDown=27.room
roomLeft=0 roomLeft=0
roomRight=31.room roomRight=31.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 29 name=no 29
bgColor=black bgColor=black
border=red border=red
tilemap=29.tmx tileMapFile=29.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=27.room roomUp=27.room
roomDown=0 roomDown=0
roomLeft=30.room roomLeft=30.room
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 30 name=no 30
bgColor=black bgColor=black
border=red border=red
tilemap=30.tmx tileMapFile=30.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=0 roomLeft=0
roomRight=29.room roomRight=29.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 31 name=no 31
bgColor=black bgColor=black
border=red border=red
tilemap=31.tmx tileMapFile=31.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=33.room roomUp=33.room
roomDown=0 roomDown=0
roomLeft=28.room roomLeft=28.room
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 32 name=no 32
bgColor=black bgColor=black
border=red border=red
tilemap=32.tmx tileMapFile=32.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=34.room roomUp=34.room
roomDown=28.room roomDown=28.room
roomLeft=0 roomLeft=0
roomRight=33.room roomRight=33.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 33 name=no 33
bgColor=black bgColor=black
border=red border=red
tilemap=33.tmx tileMapFile=33.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=31.room roomDown=31.room
roomLeft=32.room roomLeft=32.room
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 34 name=no 34
bgColor=black bgColor=black
border=red border=red
tilemap=34.tmx tileMapFile=34.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=32.room roomDown=32.room
roomLeft=35.room roomLeft=35.room
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 35 name=no 35
bgColor=black bgColor=black
border=red border=red
tilemap=35.tmx tileMapFile=35.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=36.room roomLeft=36.room
roomRight=34.room roomRight=34.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 36 name=no 36
bgColor=black bgColor=black
border=red border=red
tilemap=36.tmx tileMapFile=36.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=37.room roomLeft=37.room
roomRight=35.room roomRight=35.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=no 37 name=no 37
bgColor=black bgColor=black
border=red border=red
tilemap=37.tmx tileMapFile=37.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=38.room roomLeft=38.room
roomRight=36.room roomRight=36.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=the final crossover name=the final crossover
bgColor=black bgColor=black
border=yellow border=yellow
tilemap=38.tmx tileMapFile=38.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=39.room roomLeft=39.room
roomRight=37.room roomRight=37.room
[enemy] [enemy]
tileset=arounder_stop.png tileSetFile=arounder_stop.png
animation=arounder_stop.ani animation=arounder_stop.ani
width=7 width=7
height=8 height=8
@@ -25,7 +25,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_stop.png tileSetFile=arounder_stop.png
animation=arounder_stop.ani animation=arounder_stop.ani
width=7 width=7
height=8 height=8
@@ -41,7 +41,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_walk.png tileSetFile=arounder_walk.png
animation=arounder_walk.ani animation=arounder_walk.ani
width=5 width=5
height=8 height=8
@@ -58,7 +58,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_fly.png tileSetFile=arounder_fly.png
animation=arounder_fly.ani animation=arounder_fly.ani
width=7 width=7
height=7 height=7
@@ -75,7 +75,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=mummy.png tileSetFile=mummy.png
animation=mummy.ani animation=mummy.ani
width=8 width=8
height=16 height=16
@@ -92,7 +92,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=37 tile=37
x=16 x=16
y=6 y=6
@@ -100,7 +100,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=37 tile=37
x=1 x=1
y=4 y=4
@@ -108,7 +108,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=37 tile=37
x=29 x=29
y=6 y=6

View File

@@ -1,8 +1,8 @@
name=you'll believe arounder can fly name=you'll believe arounder can fly
bgColor=black bgColor=black
border=cyan border=cyan
tilemap=39.tmx tileMapFile=39.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=40.room roomLeft=40.room
@@ -11,7 +11,7 @@ itemColor1=magenta
itemColor2=cyan itemColor2=cyan
[enemy] [enemy]
tileset=arounders_door.png tileSetFile=arounders_door.png
animation=arounders_door.ani animation=arounders_door.ani
width=16 width=16
height=16 height=16
@@ -27,7 +27,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_fly.png tileSetFile=arounder_fly.png
animation=arounder_fly.ani animation=arounder_fly.ani
width=7 width=7
height=7 height=7
@@ -44,7 +44,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_fly.png tileSetFile=arounder_fly.png
animation=arounder_fly.ani animation=arounder_fly.ani
width=7 width=7
height=7 height=7
@@ -61,7 +61,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_fly.png tileSetFile=arounder_fly.png
animation=arounder_fly.ani animation=arounder_fly.ani
width=7 width=7
height=7 height=7
@@ -78,7 +78,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_fly.png tileSetFile=arounder_fly.png
animation=arounder_fly.ani animation=arounder_fly.ani
width=7 width=7
height=7 height=7
@@ -95,7 +95,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=47 tile=47
x=4 x=4
y=5 y=5
@@ -103,7 +103,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=47 tile=47
x=26 x=26
y=1 y=1
@@ -111,7 +111,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=47 tile=47
x=25 x=25
y=7 y=7
@@ -119,7 +119,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=47 tile=47
x=25 x=25
y=14 y=14

View File

@@ -1,15 +1,15 @@
name=prevent the crisis name=prevent the crisis
bgColor=black bgColor=black
border=bright_magenta border=bright_magenta
tilemap=40.tmx tileMapFile=40.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=41.room roomLeft=41.room
roomRight=39.room roomRight=39.room
[enemy] [enemy]
tileset=arounders_machine.png tileSetFile=arounders_machine.png
animation=arounders_machine.ani animation=arounders_machine.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_walk.png tileSetFile=arounder_walk.png
animation=arounder_walk.ani animation=arounder_walk.ani
width=5 width=5
height=8 height=8
@@ -42,7 +42,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_walk.png tileSetFile=arounder_walk.png
animation=arounder_walk.ani animation=arounder_walk.ani
width=5 width=5
height=8 height=8
@@ -59,7 +59,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_walk.png tileSetFile=arounder_walk.png
animation=arounder_walk.ani animation=arounder_walk.ani
width=5 width=5
height=8 height=8
@@ -76,7 +76,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_walk.png tileSetFile=arounder_walk.png
animation=arounder_walk.ani animation=arounder_walk.ani
width=5 width=5
height=8 height=8
@@ -93,7 +93,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=5 tile=5
x=10 x=10
y=2 y=2
@@ -101,7 +101,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=5 tile=5
x=25 x=25
y=5 y=5

View File

@@ -1,15 +1,15 @@
name=around with me name=around with me
bgColor=black bgColor=black
border=blue border=blue
tilemap=41.tmx tileMapFile=41.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=42.room roomLeft=42.room
roomRight=40.room roomRight=40.room
[enemy] [enemy]
tileset=arounders_door.png tileSetFile=arounders_door.png
animation=arounders_door.ani animation=arounders_door.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=bright_cyan
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_stop.png tileSetFile=arounder_stop.png
animation=arounder_stop.ani animation=arounder_stop.ani
width=7 width=7
height=8 height=8
@@ -41,7 +41,7 @@ color=bright_cyan
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_stop.png tileSetFile=arounder_stop.png
animation=arounder_stop.ani animation=arounder_stop.ani
width=7 width=7
height=8 height=8
@@ -57,7 +57,7 @@ color=bright_cyan
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_stop.png tileSetFile=arounder_stop.png
animation=arounder_stop.ani animation=arounder_stop.ani
width=7 width=7
height=8 height=8
@@ -73,7 +73,7 @@ color=bright_cyan
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_walk.png tileSetFile=arounder_walk.png
animation=arounder_walk.ani animation=arounder_walk.ani
width=5 width=5
height=8 height=8
@@ -90,7 +90,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_walk.png tileSetFile=arounder_walk.png
animation=arounder_walk.ani animation=arounder_walk.ani
width=5 width=5
height=8 height=8
@@ -107,7 +107,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=arounder_walk.png tileSetFile=arounder_walk.png
animation=arounder_walk.ani animation=arounder_walk.ani
width=5 width=5
height=8 height=8
@@ -124,7 +124,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=46 tile=46
x=9 x=9
y=2 y=2

View File

@@ -1,8 +1,8 @@
name=P.A.C.O. on the go name=P.A.C.O. on the go
bgColor=black bgColor=black
border=black border=black
tilemap=42.tmx tileMapFile=42.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=43.room roomDown=43.room
roomLeft=53.room roomLeft=53.room
@@ -11,7 +11,7 @@ itemColor1=magenta
itemColor2=red itemColor2=red
[enemy] [enemy]
tileset=paco.png tileSetFile=paco.png
animation=paco.ani animation=paco.ani
width=16 width=16
height=16 height=16
@@ -27,7 +27,7 @@ color=green
[/enemy] [/enemy]
[enemy] [enemy]
tileset=abad.png tileSetFile=abad.png
animation=abad.ani animation=abad.ani
width=8 width=8
height=16 height=16
@@ -44,7 +44,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=41 tile=41
x=2 x=2
y=9 y=9
@@ -52,7 +52,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=41 tile=41
x=29 x=29
y=3 y=3

View File

@@ -1,8 +1,8 @@
name=the tube name=the tube
bgColor=black bgColor=black
border=blue border=blue
tilemap=43.tmx tileMapFile=43.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=42.room roomUp=42.room
roomDown=44.room roomDown=44.room
roomLeft=0 roomLeft=0
@@ -11,7 +11,7 @@ itemColor1=yellow
itemColor2=red itemColor2=red
[enemy] [enemy]
tileset=spider.png tileSetFile=spider.png
animation=spider.ani animation=spider.ani
width=8 width=8
height=8 height=8
@@ -27,7 +27,7 @@ color=cyan
[/enemy] [/enemy]
[enemy] [enemy]
tileset=spider.png tileSetFile=spider.png
animation=spider.ani animation=spider.ani
width=8 width=8
height=8 height=8
@@ -43,7 +43,7 @@ color=green
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=8 tile=8
x=21 x=21
y=10 y=10

View File

@@ -1,15 +1,15 @@
name=the kitchen name=the kitchen
bgColor=black bgColor=black
border=cyan border=cyan
tilemap=44.tmx tileMapFile=44.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=43.room roomUp=43.room
roomDown=16.room roomDown=16.room
roomLeft=0 roomLeft=0
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,15 +1,15 @@
name=FEEL THE HEAT name=FEEL THE HEAT
bgColor=red bgColor=red
border=black border=black
tilemap=45.tmx tileMapFile=45.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=14.room roomLeft=14.room
roomRight=46.room roomRight=46.room
[enemy] [enemy]
tileset=chip.png tileSetFile=chip.png
animation=chip.ani animation=chip.ani
width=8 width=8
height=16 height=16
@@ -25,7 +25,7 @@ color=green
[/enemy] [/enemy]
[enemy] [enemy]
tileset=chip.png tileSetFile=chip.png
animation=chip.ani animation=chip.ani
width=8 width=8
height=16 height=16
@@ -41,7 +41,7 @@ color=bright_blue
[/enemy] [/enemy]
[enemy] [enemy]
tileset=chip.png tileSetFile=chip.png
animation=chip.ani animation=chip.ani
width=8 width=8
height=16 height=16
@@ -57,7 +57,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=5 tile=5
x=12 x=12
y=2 y=2

View File

@@ -1,15 +1,15 @@
name=no 46 name=no 46
bgColor=black bgColor=black
border=red border=red
tilemap=46.tmx tileMapFile=46.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=45.room roomLeft=45.room
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=1 y=1

View File

@@ -1,8 +1,8 @@
name=the battle never ends name=the battle never ends
bgColor=black bgColor=black
border=white border=white
tilemap=47.tmx tileMapFile=47.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=51.room roomUp=51.room
roomDown=0 roomDown=0
roomLeft=48.room roomLeft=48.room
@@ -11,7 +11,7 @@ itemColor1=red
itemColor2=yellow itemColor2=yellow
[enemy] [enemy]
tileset=jailbattle_alien.png tileSetFile=jailbattle_alien.png
animation=jailbattle_alien.ani animation=jailbattle_alien.ani
width=13 width=13
height=15 height=15
@@ -28,7 +28,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=jailbattle_alien.png tileSetFile=jailbattle_alien.png
animation=jailbattle_alien.ani animation=jailbattle_alien.ani
width=13 width=13
height=15 height=15
@@ -45,7 +45,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=jailbattle_human.png tileSetFile=jailbattle_human.png
animation=jailbattle_human.ani animation=jailbattle_human.ani
width=11 width=11
height=13 height=13
@@ -62,7 +62,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=jailbattle_human.png tileSetFile=jailbattle_human.png
animation=jailbattle_human.ani animation=jailbattle_human.ani
width=11 width=11
height=13 height=13
@@ -79,7 +79,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=19 tile=19
x=6 x=6
y=14 y=14
@@ -87,7 +87,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=19 tile=19
x=14 x=14
y=14 y=14
@@ -95,7 +95,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=19 tile=19
x=23 x=23
y=14 y=14
@@ -103,7 +103,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=19 tile=19
x=28 x=28
y=6 y=6
@@ -111,7 +111,7 @@ counter=4
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=19 tile=19
x=14 x=14
y=5 y=5

View File

@@ -1,8 +1,8 @@
name=welcome to the jailbattle name=welcome to the jailbattle
bgColor=green bgColor=green
border=bright_green border=bright_green
tilemap=48.tmx tileMapFile=48.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=49.room roomDown=49.room
roomLeft=0 roomLeft=0
@@ -11,7 +11,7 @@ itemColor1=white
itemColor2=green itemColor2=green
[enemy] [enemy]
tileset=jailbattle_human.png tileSetFile=jailbattle_human.png
animation=jailbattle_human.ani animation=jailbattle_human.ani
width=11 width=11
height=13 height=13
@@ -28,7 +28,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=jailbattle_human.png tileSetFile=jailbattle_human.png
animation=jailbattle_human.ani animation=jailbattle_human.ani
width=11 width=11
height=13 height=13
@@ -45,7 +45,7 @@ flip=true
[/enemy] [/enemy]
[enemy] [enemy]
tileset=jailbattle_human.png tileSetFile=jailbattle_human.png
animation=jailbattle_human.ani animation=jailbattle_human.ani
width=11 width=11
height=13 height=13
@@ -62,7 +62,7 @@ flip=true
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=19 tile=19
x=27 x=27
y=11 y=11
@@ -70,7 +70,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=19 tile=19
x=3 x=3
y=3 y=3
@@ -78,7 +78,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=19 tile=19
x=23 x=23
y=4 y=4

View File

@@ -1,15 +1,15 @@
name=bamba name=bamba
bgColor=black bgColor=black
border=red border=red
tilemap=49.tmx tileMapFile=49.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=48.room roomUp=48.room
roomDown=0 roomDown=0
roomLeft=50.room roomLeft=50.room
roomRight=17.room roomRight=17.room
[enemy] [enemy]
tileset=macaronni_ted.png tileSetFile=macaronni_ted.png
animation=macaronni_ted.ani animation=macaronni_ted.ani
width=16 width=16
height=32 height=32

View File

@@ -1,15 +1,15 @@
name=stored jailgames name=stored jailgames
bgColor=black bgColor=black
border=blue border=blue
tilemap=50.tmx tileMapFile=50.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=0 roomLeft=0
roomRight=49.room roomRight=49.room
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[enemy] [enemy]
tileset=diskette.png tileSetFile=diskette.png
animation=diskette.ani animation=diskette.ani
width=16 width=16
height=16 height=16
@@ -41,7 +41,7 @@ color=yellow
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=4 x=4
y=9 y=9
@@ -49,7 +49,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=25 x=25
y=9 y=9
@@ -57,7 +57,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=2 x=2
y=5 y=5
@@ -65,7 +65,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=1 x=1
y=14 y=14

View File

@@ -1,8 +1,8 @@
name=mini ascii name=mini ascii
bgColor=black bgColor=black
border=black border=black
tilemap=51.tmx tileMapFile=51.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=53.room roomUp=53.room
roomDown=47.room roomDown=47.room
roomLeft=52.room roomLeft=52.room
@@ -11,7 +11,7 @@ itemColor1=bright_white
itemColor2=black itemColor2=black
[enemy] [enemy]
tileset=amstrad_character_set.png tileSetFile=amstrad_character_set.png
animation=amstrad_character_set.ani animation=amstrad_character_set.ani
width=8 width=8
height=8 height=8
@@ -27,7 +27,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=amstrad_character_set.png tileSetFile=amstrad_character_set.png
animation=amstrad_character_set.ani animation=amstrad_character_set.ani
width=8 width=8
height=8 height=8
@@ -43,7 +43,7 @@ color=yellow
[/enemy] [/enemy]
[enemy] [enemy]
tileset=amstrad_character_set.png tileSetFile=amstrad_character_set.png
animation=amstrad_character_set.ani animation=amstrad_character_set.ani
width=8 width=8
height=8 height=8
@@ -59,7 +59,7 @@ color=green
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=39 tile=39
x=28 x=28
y=2 y=2
@@ -67,7 +67,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=39 tile=39
x=9 x=9
y=9 y=9

View File

@@ -1,8 +1,8 @@
name=breakout.lua name=breakout.lua
bgColor=black bgColor=black
border=black border=black
tilemap=52.tmx tileMapFile=52.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=0 roomLeft=0
@@ -11,7 +11,7 @@ itemColor1=bright_white
itemColor2=black itemColor2=black
[enemy] [enemy]
tileset=breakout.png tileSetFile=breakout.png
animation=breakout.ani animation=breakout.ani
width=24 width=24
height=32 height=32
@@ -27,7 +27,7 @@ color=white
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=39 tile=39
x=1 x=1
y=13 y=13

View File

@@ -1,8 +1,8 @@
name=P.A.C.O workshop name=P.A.C.O workshop
bgColor=black bgColor=black
border=yellow border=yellow
tilemap=53.tmx tileMapFile=53.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=51.room roomDown=51.room
roomLeft=0 roomLeft=0
@@ -11,7 +11,7 @@ itemColor1=magenta
itemColor2=red itemColor2=red
[enemy] [enemy]
tileset=paco.png tileSetFile=paco.png
animation=paco.ani animation=paco.ani
width=16 width=16
height=16 height=16
@@ -27,7 +27,7 @@ color=yellow
[/enemy] [/enemy]
[enemy] [enemy]
tileset=paco.png tileSetFile=paco.png
animation=paco.ani animation=paco.ani
width=16 width=16
height=16 height=16
@@ -43,7 +43,7 @@ color=bright_red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=wave.png tileSetFile=wave.png
animation=wave.ani animation=wave.ani
width=8 width=8
height=8 height=8
@@ -59,7 +59,7 @@ color=bright_yellow
[/enemy] [/enemy]
[enemy] [enemy]
tileset=lamp.png tileSetFile=lamp.png
animation=lamp.ani animation=lamp.ani
width=16 width=16
height=16 height=16
@@ -75,7 +75,7 @@ color=bright_yellow
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=40 tile=40
x=1 x=1
y=6 y=6
@@ -83,7 +83,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=40 tile=40
x=1 x=1
y=9 y=9
@@ -91,7 +91,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=40 tile=40
x=30 x=30
y=5 y=5

View File

@@ -1,8 +1,8 @@
name=the basement name=the basement
bgColor=black bgColor=black
border=green border=green
tilemap=54.tmx tileMapFile=54.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=18.room roomUp=18.room
roomDown=0 roomDown=0
roomLeft=0 roomLeft=0
@@ -11,7 +11,7 @@ itemColor1=yellow
itemColor2=blue itemColor2=blue
[enemy] [enemy]
tileset=spider.png tileSetFile=spider.png
animation=spider.ani animation=spider.ani
width=8 width=8
height=8 height=8
@@ -27,7 +27,7 @@ color=magenta
[/enemy] [/enemy]
[enemy] [enemy]
tileset=spider.png tileSetFile=spider.png
animation=spider.ani animation=spider.ani
width=8 width=8
height=8 height=8
@@ -43,7 +43,7 @@ color=yellow
[/enemy] [/enemy]
[enemy] [enemy]
tileset=spider.png tileSetFile=spider.png
animation=spider.ani animation=spider.ani
width=8 width=8
height=8 height=8
@@ -59,7 +59,7 @@ color=cyan
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=35 tile=35
x=15 x=15
y=9 y=9
@@ -67,7 +67,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=35 tile=35
x=1 x=1
y=14 y=14
@@ -75,7 +75,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=35 tile=35
x=1 x=1
y=9 y=9

View File

@@ -1,8 +1,8 @@
name=that's a guitar name=that's a guitar
bgColor=black bgColor=black
border=black border=black
tilemap=55.tmx tileMapFile=55.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=54.room roomLeft=54.room
@@ -12,7 +12,7 @@ itemColor2=red
autoSurface=left autoSurface=left
[enemy] [enemy]
tileset=dimallas.png tileSetFile=dimallas.png
animation=dimallas.ani animation=dimallas.ani
width=16 width=16
height=16 height=16
@@ -28,7 +28,7 @@ color=green
[/enemy] [/enemy]
[enemy] [enemy]
tileset=heavy.png tileSetFile=heavy.png
animation=heavy.ani animation=heavy.ani
width=16 width=16
height=16 height=16
@@ -44,7 +44,7 @@ color=red
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=25 tile=25
x=9 x=9
y=4 y=4

View File

@@ -1,8 +1,8 @@
name=heavy demons on leggins name=heavy demons on leggins
bgColor=black bgColor=black
border=black border=black
tilemap=56.tmx tileMapFile=56.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=55.room roomLeft=55.room
@@ -12,7 +12,7 @@ itemColor2=green
autoSurface=left autoSurface=left
[enemy] [enemy]
tileset=demon.png tileSetFile=demon.png
animation=demon.ani animation=demon.ani
width=16 width=16
height=16 height=16
@@ -28,7 +28,7 @@ color=red
[/enemy] [/enemy]
[enemy] [enemy]
tileset=demon.png tileSetFile=demon.png
animation=demon.ani animation=demon.ani
width=16 width=16
height=16 height=16
@@ -44,7 +44,7 @@ color=red
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=28 tile=28
x=15 x=15
y=10 y=10
@@ -52,7 +52,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=28 tile=28
x=16 x=16
y=10 y=10
@@ -60,7 +60,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=28 tile=28
x=15 x=15
y=5 y=5
@@ -68,7 +68,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=28 tile=28
x=16 x=16
y=5 y=5

View File

@@ -1,8 +1,8 @@
name=jailgames go to hell name=jailgames go to hell
bgColor=red bgColor=red
border=bright_red border=bright_red
tilemap=57.tmx tileMapFile=57.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=56.room roomLeft=56.room
@@ -12,7 +12,7 @@ itemColor2=green
autoSurface=left autoSurface=left
[enemy] [enemy]
tileset=dimallas.png tileSetFile=dimallas.png
animation=dimallas.ani animation=dimallas.ani
width=16 width=16
height=16 height=16
@@ -28,7 +28,7 @@ color=green
[/enemy] [/enemy]
[enemy] [enemy]
tileset=dimallas_v.png tileSetFile=dimallas_v.png
animation=dimallas_v.ani animation=dimallas_v.ani
width=16 width=16
height=16 height=16
@@ -44,7 +44,7 @@ color=white
[/enemy] [/enemy]
[enemy] [enemy]
tileset=dimallas_v.png tileSetFile=dimallas_v.png
animation=dimallas_v.ani animation=dimallas_v.ani
width=16 width=16
height=16 height=16
@@ -60,7 +60,7 @@ color=yellow
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=32 tile=32
x=7 x=7
y=8 y=8
@@ -68,7 +68,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=32 tile=32
x=14 x=14
y=8 y=8
@@ -76,7 +76,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=32 tile=32
x=21 x=21
y=8 y=8
@@ -84,7 +84,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=32 tile=32
x=9 x=9
y=14 y=14
@@ -92,7 +92,7 @@ counter=4
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=32 tile=32
x=19 x=19
y=14 y=14

View File

@@ -1,15 +1,15 @@
name=chirping name=chirping
bgColor=black bgColor=black
border=magenta border=magenta
tilemap=58.tmx tileMapFile=58.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=0 roomUp=0
roomDown=0 roomDown=0
roomLeft=57.room roomLeft=57.room
roomRight=59.room roomRight=59.room
[enemy] [enemy]
tileset=bird.png tileSetFile=bird.png
animation=bird.ani animation=bird.ani
width=16 width=16
height=16 height=16
@@ -25,7 +25,7 @@ color=yellow
[/enemy] [/enemy]
[enemy] [enemy]
tileset=bird.png tileSetFile=bird.png
animation=bird.ani animation=bird.ani
width=16 width=16
height=16 height=16
@@ -41,7 +41,7 @@ color=green
[/enemy] [/enemy]
[enemy] [enemy]
tileset=bird.png tileSetFile=bird.png
animation=bird.ani animation=bird.ani
width=16 width=16
height=16 height=16
@@ -57,7 +57,7 @@ color=white
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=10 tile=10
x=2 x=2
y=8 y=8
@@ -65,7 +65,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=10 tile=10
x=2 x=2
y=3 y=3
@@ -73,7 +73,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=10 tile=10
x=29 x=29
y=8 y=8
@@ -81,7 +81,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=10 tile=10
x=29 x=29
y=3 y=3

View File

@@ -1,15 +1,15 @@
name=static name=static
bgColor=black bgColor=black
border=bright_magenta border=bright_magenta
tilemap=59.tmx tileMapFile=59.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=60.room roomUp=60.room
roomDown=0 roomDown=0
roomLeft=58.room roomLeft=58.room
roomRight=0 roomRight=0
[enemy] [enemy]
tileset=wave.png tileSetFile=wave.png
animation=wave.ani animation=wave.ani
width=8 width=8
height=8 height=8
@@ -25,7 +25,7 @@ color=magenta
[/enemy] [/enemy]
[enemy] [enemy]
tileset=wave.png tileSetFile=wave.png
animation=wave.ani animation=wave.ani
width=8 width=8
height=8 height=8
@@ -41,7 +41,7 @@ color=cyan
[/enemy] [/enemy]
[enemy] [enemy]
tileset=wave.png tileSetFile=wave.png
animation=wave.ani animation=wave.ani
width=8 width=8
height=8 height=8
@@ -57,7 +57,7 @@ color=green
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=24 tile=24
x=29 x=29
y=13 y=13
@@ -65,7 +65,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=24 tile=24
x=17 x=17
y=6 y=6
@@ -73,7 +73,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=24 tile=24
x=9 x=9
y=6 y=6
@@ -81,7 +81,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=24 tile=24
x=2 x=2
y=9 y=9
@@ -90,7 +90,7 @@ counter=4
[item] [item]
tileset=items.png tileSetFile=items.png
tile=24 tile=24
x=29 x=29
y=3 y=3

View File

@@ -1,8 +1,8 @@
name=magnetic fields name=magnetic fields
bgColor=black bgColor=black
border=red border=red
tilemap=60.tmx tileMapFile=60.tmx
tileset=standard.png tileSetFile=standard.png
roomUp=05.room roomUp=05.room
roomDown=59.room roomDown=59.room
roomLeft=0 roomLeft=0
@@ -11,7 +11,7 @@ itemColor1=red
itemColor2=green itemColor2=green
[enemy] [enemy]
tileset=wave_v.png tileSetFile=wave_v.png
animation=wave_v.ani animation=wave_v.ani
width=8 width=8
height=8 height=8
@@ -27,7 +27,7 @@ color=yellow
[/enemy] [/enemy]
[enemy] [enemy]
tileset=wave_v.png tileSetFile=wave_v.png
animation=wave_v.ani animation=wave_v.ani
width=8 width=8
height=8 height=8
@@ -43,7 +43,7 @@ color=yellow
[/enemy] [/enemy]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=5 x=5
y=4 y=4
@@ -51,7 +51,7 @@ counter=1
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=4 x=4
y=9 y=9
@@ -59,7 +59,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=9 x=9
y=9 y=9
@@ -67,7 +67,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=22 x=22
y=9 y=9
@@ -75,7 +75,7 @@ counter=2
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=27 x=27
y=9 y=9
@@ -83,7 +83,7 @@ counter=3
[/item] [/item]
[item] [item]
tileset=items.png tileSetFile=items.png
tile=1 tile=1
x=26 x=26
y=4 y=4

View File

@@ -25,7 +25,7 @@ animatedSprite_t loadAnimationFromFile(Texture *texture, std::string filePath)
// Si la linea contiene el texto [animation] se realiza el proceso de carga de una animación // Si la linea contiene el texto [animation] se realiza el proceso de carga de una animación
if (line == "[animation]") if (line == "[animation]")
{ {
t_animation buffer; animation_t buffer;
buffer.counter = 0; buffer.counter = 0;
buffer.currentFrame = 0; buffer.currentFrame = 0;
buffer.completed = false; buffer.completed = false;
@@ -361,7 +361,7 @@ animatedSprite_t AnimatedSprite::loadFromFile(std::string filePath)
// Si la linea contiene el texto [animation] se realiza el proceso de carga de una animación // Si la linea contiene el texto [animation] se realiza el proceso de carga de una animación
if (line == "[animation]") if (line == "[animation]")
{ {
t_animation buffer; animation_t buffer;
buffer.counter = 0; buffer.counter = 0;
buffer.currentFrame = 0; buffer.currentFrame = 0;
buffer.completed = false; buffer.completed = false;
@@ -505,7 +505,7 @@ bool AnimatedSprite::loadFromVector(std::vector<std::string> *source)
// Si la linea contiene el texto [animation] se realiza el proceso de carga de una animación // Si la linea contiene el texto [animation] se realiza el proceso de carga de una animación
if (line == "[animation]") if (line == "[animation]")
{ {
t_animation buffer; animation_t buffer;
buffer.counter = 0; buffer.counter = 0;
buffer.currentFrame = 0; buffer.currentFrame = 0;
buffer.completed = false; buffer.completed = false;

View File

@@ -11,7 +11,7 @@
#ifndef ANIMATEDSPRITE_H #ifndef ANIMATEDSPRITE_H
#define ANIMATEDSPRITE_H #define ANIMATEDSPRITE_H
struct t_animation struct animation_t
{ {
std::string name; // Nombre de la animacion std::string name; // Nombre de la animacion
std::vector<SDL_Rect> frames; // Cada uno de los frames que componen la animación std::vector<SDL_Rect> frames; // Cada uno de los frames que componen la animación
@@ -24,7 +24,7 @@ struct t_animation
struct animatedSprite_t struct animatedSprite_t
{ {
std::vector<t_animation> animations; // Vector con las diferentes animaciones std::vector<animation_t> animations; // Vector con las diferentes animaciones
Texture *texture; // Textura con los graficos para el sprite Texture *texture; // Textura con los graficos para el sprite
}; };
@@ -35,7 +35,7 @@ class AnimatedSprite : public MovingSprite
{ {
private: private:
// Variables // Variables
std::vector<t_animation> animation; // Vector con las diferentes animaciones std::vector<animation_t> animation; // Vector con las diferentes animaciones
int currentAnimation; // Animacion activa int currentAnimation; // Animacion activa
public: public:

View File

@@ -14,7 +14,7 @@ void Resource::loadTextures(std::vector<std::string> list)
{ {
for (auto l : list) for (auto l : list)
{ {
texture_t t; res_texture_t t;
t.name = l; t.name = l;
t.texture = new Texture(renderer, asset->get(l)); t.texture = new Texture(renderer, asset->get(l));
textures.push_back(t); textures.push_back(t);
@@ -26,7 +26,7 @@ void Resource::loadAnimations(std::vector<std::string> list)
{ {
for (auto l : list) for (auto l : list)
{ {
animation_t as; res_animation_t as;
as.name = l + ".ani"; as.name = l + ".ani";
as.animation = new animatedSprite_t(loadAnimationFromFile(getTexture(l + ".png"), asset->get(l + ".ani"))); as.animation = new animatedSprite_t(loadAnimationFromFile(getTexture(l + ".png"), asset->get(l + ".ani")));
animations.push_back(as); animations.push_back(as);
@@ -38,13 +38,48 @@ void Resource::loadOffsets(std::vector<std::string> list)
{ {
for (auto l : list) for (auto l : list)
{ {
textOffset_t to; res_textOffset_t to;
to.name = l; to.name = l;
to.textFile = new textFile_t(LoadTextFile(asset->get(l))); to.textFile = new textFile_t(LoadTextFile(asset->get(l)));
offsets.push_back(to); offsets.push_back(to);
} }
} }
// Carga los mapas de tiles desde una lista
void Resource::loadTileMaps(std::vector<std::string> list)
{
for (auto l : list)
{
res_tileMap_t tm;
tm.name = l;
tm.tileMap = new std::vector<int>(loadRoomTileFile(asset->get(l)));
tileMaps.push_back(tm);
}
}
// Carga las habitaciones desde una lista
void Resource::loadRooms(std::vector<std::string> list)
{
for (auto l : list)
{
res_room_t r;
r.name = l;
r.room = new room_t(loadRoomFile(asset->get(l)));
r.room->tileMap = getTileMap(r.room->tileMapFile);
for (auto &e:r.room->enemies)
{
e.animation = getAnimation(e.animationString);
}
for (auto &i:r.room->items)
{
i.texture = getTexture(i.tileSetFile);
}
r.room->textureA = getTexture("standard.png");
r.room->textureB = getTexture("standard_zxarne.png");
rooms.push_back(r);
}
}
// Recarga las texturas // Recarga las texturas
void Resource::reLoadTextures() void Resource::reLoadTextures()
{ {
@@ -84,12 +119,34 @@ void Resource::freeOffsets()
offsets.clear(); offsets.clear();
} }
// Libera los mapas de tiles
void Resource::freeTileMaps()
{
for (auto t : tileMaps)
{
delete t.tileMap;
}
tileMaps.clear();
}
// Libera las habitaciones
void Resource::freeRooms()
{
for (auto r : rooms)
{
delete r.room;
}
rooms.clear();
}
// Libera todos los recursos // Libera todos los recursos
void Resource::free() void Resource::free()
{ {
freeTextures(); freeTextures();
freeAnimations(); freeAnimations();
freeOffsets(); freeOffsets();
freeTileMaps();
freeRooms();
} }
// Obtiene una textura // Obtiene una textura
@@ -99,12 +156,11 @@ Texture *Resource::getTexture(std::string name)
{ {
if (texture.name.find(name) != std::string::npos) if (texture.name.find(name) != std::string::npos)
{ {
std::cout << "CACHE: " << name << std::endl;
return texture.texture; return texture.texture;
} }
} }
std::cout << "NOT FOUND: " << name << std::endl; std::cout << "NOT FOUND ON CACHE: " << name << std::endl;
return nullptr; return nullptr;
} }
@@ -115,12 +171,11 @@ animatedSprite_t *Resource::getAnimation(std::string name)
{ {
if (animation.name.find(name) != std::string::npos) if (animation.name.find(name) != std::string::npos)
{ {
std::cout << "CACHE: " << name << std::endl;
return animation.animation; return animation.animation;
} }
} }
std::cout << "NOT FOUND: " << name << std::endl; std::cout << "NOT FOUND ON CACHE: " << name << std::endl;
return nullptr; return nullptr;
} }
@@ -131,11 +186,40 @@ textFile_t *Resource::getOffset(std::string name)
{ {
if (offset.name.find(name) != std::string::npos) if (offset.name.find(name) != std::string::npos)
{ {
std::cout << "CACHE: " << name << std::endl;
return offset.textFile; return offset.textFile;
} }
} }
std::cout << "NOT FOUND: " << name << std::endl; std::cout << "NOT FOUND ON CACHE: " << name << std::endl;
return nullptr;
}
// Obtiene un mapa de tiles
std::vector<int> *Resource::getTileMap(std::string name)
{
for (auto tileMap : tileMaps)
{
if (tileMap.name.find(name) != std::string::npos)
{
return tileMap.tileMap;
}
}
std::cout << "NOT FOUND ON CACHE: " << name << std::endl;
return nullptr;
}
// Obtiene una habitacion
room_t *Resource::getRoom(std::string name)
{
for (auto room : rooms)
{
if (room.name.find(name) != std::string::npos)
{
return room.room;
}
}
std::cout << "NOT FOUND ON CACHE: " << name << std::endl;
return nullptr; return nullptr;
} }

View File

@@ -3,6 +3,7 @@
#include <SDL2/SDL.h> #include <SDL2/SDL.h>
#include "animatedsprite.h" #include "animatedsprite.h"
#include "asset.h" #include "asset.h"
#include "../room.h"
#include "text.h" #include "text.h"
#include "texture.h" #include "texture.h"
#include "utils.h" #include "utils.h"
@@ -12,24 +13,36 @@
#ifndef RESOURCE_H #ifndef RESOURCE_H
#define RESOURCE_H #define RESOURCE_H
struct texture_t struct res_texture_t
{ {
std::string name; // Nombre de la textura std::string name; // Nombre de la textura
Texture *texture; // La textura Texture *texture; // La textura
}; };
struct animation_t struct res_animation_t
{ {
std::string name; // Nombre de la textura std::string name; // Nombre de la textura
animatedSprite_t *animation; // La animación animatedSprite_t *animation; // La animación
}; };
struct textOffset_t struct res_textOffset_t
{ {
std::string name; // Nombre del offeset std::string name; // Nombre del offset
textFile_t *textFile; // Los offsets de la fuente textFile_t *textFile; // Los offsets de la fuente
}; };
struct res_tileMap_t
{
std::string name; // Nombre del mapa de tiles
std::vector<int> *tileMap; // Vecor con los indices del mapa de tiles
};
struct res_room_t
{
std::string name; // Nombre de la habitación
room_t *room; // Vecor con las habitaciones
};
// Clase Resource. Almacena recursos de disco en memoria // Clase Resource. Almacena recursos de disco en memoria
class Resource class Resource
{ {
@@ -40,9 +53,11 @@ private:
options_t *options; // Puntero a las opciones del juego options_t *options; // Puntero a las opciones del juego
// Variables // Variables
std::vector<texture_t> textures; std::vector<res_texture_t> textures;
std::vector<animation_t> animations; std::vector<res_animation_t> animations;
std::vector<textOffset_t> offsets; std::vector<res_textOffset_t> offsets;
std::vector<res_tileMap_t> tileMaps;
std::vector<res_room_t> rooms;
public: public:
// Constructor // Constructor
@@ -57,6 +72,12 @@ public:
// Carga los offsets desde una lista // Carga los offsets desde una lista
void loadOffsets(std::vector<std::string> list); void loadOffsets(std::vector<std::string> list);
// Carga los mapas de tiles desde una lista
void loadTileMaps(std::vector<std::string> list);
// Carga las habitaciones desde una lista
void loadRooms(std::vector<std::string> list);
// Recarga las texturas // Recarga las texturas
void reLoadTextures(); void reLoadTextures();
@@ -69,6 +90,12 @@ public:
// Libera los offsets // Libera los offsets
void freeOffsets(); void freeOffsets();
// Libera los mapas de tiles
void freeTileMaps();
// Libera las habitaciones
void freeRooms();
// Libera todos los recursos // Libera todos los recursos
void free(); void free();
@@ -80,6 +107,12 @@ public:
// Obtiene un offset // Obtiene un offset
textFile_t *getOffset(std::string name); textFile_t *getOffset(std::string name);
// Obtiene un mapa de tiles
std::vector<int> *getTileMap(std::string name);
// Obtiene una habitacion
room_t *getRoom(std::string name);
}; };
#endif #endif

View File

@@ -25,7 +25,7 @@ Demo::Demo(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as
// Crea los objetos // Crea los objetos
itemTracker = new ItemTracker(); itemTracker = new ItemTracker();
scoreboard = new ScoreBoard(renderer, resource, asset, options, &board); scoreboard = new ScoreBoard(renderer, resource, asset, options, &board);
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug); room = new Room(resource->getRoom(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, debug);
eventHandler = new SDL_Event(); eventHandler = new SDL_Event();
text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer); text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer);
@@ -224,7 +224,7 @@ bool Demo::changeRoom(std::string file)
room = nullptr; room = nullptr;
// Crea un objeto habitación nuevo a partir del fichero // Crea un objeto habitación nuevo a partir del fichero
room = new Room(asset->get(file), renderer, screen, resource, asset, options, itemTracker, &board.items, debug); room = new Room(resource->getRoom(file), renderer, screen, asset, options, itemTracker, &board.items, debug);
// Actualiza el marcador // Actualiza el marcador
const color_t c = room->getBorderColor(); // Pone el color del marcador const color_t c = room->getBorderColor(); // Pone el color del marcador

View File

@@ -9,7 +9,7 @@ Director::Director(std::string path)
section.name = SECTION_PROG_LOGO; section.name = SECTION_PROG_LOGO;
section.subsection = SUBSECTION_LOGO_TO_INTRO; section.subsection = SUBSECTION_LOGO_TO_INTRO;
section.name = SECTION_PROG_LOGO; section.name = SECTION_PROG_GAME;
// Crea el objeto que controla los ficheros de recursos // Crea el objeto que controla los ficheros de recursos
asset = new Asset(path.substr(0, path.find_last_of("\\/"))); asset = new Asset(path.substr(0, path.find_last_of("\\/")));
@@ -360,6 +360,136 @@ void Director::loadResources(section_t section)
offsetsList.push_back("debug.txt"); offsetsList.push_back("debug.txt");
resource->loadOffsets(offsetsList); resource->loadOffsets(offsetsList);
// TileMaps
std::vector<std::string> tileMapList;
tileMapList.push_back("01.tmx");
tileMapList.push_back("02.tmx");
tileMapList.push_back("03.tmx");
tileMapList.push_back("04.tmx");
tileMapList.push_back("05.tmx");
tileMapList.push_back("06.tmx");
tileMapList.push_back("07.tmx");
tileMapList.push_back("08.tmx");
tileMapList.push_back("09.tmx");
tileMapList.push_back("10.tmx");
tileMapList.push_back("11.tmx");
tileMapList.push_back("12.tmx");
tileMapList.push_back("13.tmx");
tileMapList.push_back("14.tmx");
tileMapList.push_back("15.tmx");
tileMapList.push_back("16.tmx");
tileMapList.push_back("17.tmx");
tileMapList.push_back("18.tmx");
tileMapList.push_back("19.tmx");
tileMapList.push_back("20.tmx");
tileMapList.push_back("21.tmx");
tileMapList.push_back("22.tmx");
tileMapList.push_back("23.tmx");
tileMapList.push_back("24.tmx");
tileMapList.push_back("25.tmx");
tileMapList.push_back("26.tmx");
tileMapList.push_back("27.tmx");
tileMapList.push_back("28.tmx");
tileMapList.push_back("29.tmx");
tileMapList.push_back("30.tmx");
tileMapList.push_back("31.tmx");
tileMapList.push_back("32.tmx");
tileMapList.push_back("33.tmx");
tileMapList.push_back("34.tmx");
tileMapList.push_back("35.tmx");
tileMapList.push_back("36.tmx");
tileMapList.push_back("37.tmx");
tileMapList.push_back("38.tmx");
tileMapList.push_back("39.tmx");
tileMapList.push_back("40.tmx");
tileMapList.push_back("41.tmx");
tileMapList.push_back("42.tmx");
tileMapList.push_back("43.tmx");
tileMapList.push_back("44.tmx");
tileMapList.push_back("45.tmx");
tileMapList.push_back("46.tmx");
tileMapList.push_back("47.tmx");
tileMapList.push_back("48.tmx");
tileMapList.push_back("49.tmx");
tileMapList.push_back("50.tmx");
tileMapList.push_back("51.tmx");
tileMapList.push_back("52.tmx");
tileMapList.push_back("53.tmx");
tileMapList.push_back("54.tmx");
tileMapList.push_back("55.tmx");
tileMapList.push_back("56.tmx");
tileMapList.push_back("57.tmx");
tileMapList.push_back("58.tmx");
tileMapList.push_back("59.tmx");
tileMapList.push_back("60.tmx");
resource->loadTileMaps(tileMapList);
// Habitaciones
std::vector<std::string> roomList;
roomList.push_back("01.room");
roomList.push_back("02.room");
roomList.push_back("03.room");
roomList.push_back("04.room");
roomList.push_back("05.room");
roomList.push_back("06.room");
roomList.push_back("07.room");
roomList.push_back("08.room");
roomList.push_back("09.room");
roomList.push_back("10.room");
roomList.push_back("11.room");
roomList.push_back("12.room");
roomList.push_back("13.room");
roomList.push_back("14.room");
roomList.push_back("15.room");
roomList.push_back("16.room");
roomList.push_back("17.room");
roomList.push_back("18.room");
roomList.push_back("19.room");
roomList.push_back("20.room");
roomList.push_back("21.room");
roomList.push_back("22.room");
roomList.push_back("23.room");
roomList.push_back("24.room");
roomList.push_back("25.room");
roomList.push_back("26.room");
roomList.push_back("27.room");
roomList.push_back("28.room");
roomList.push_back("29.room");
roomList.push_back("30.room");
roomList.push_back("31.room");
roomList.push_back("32.room");
roomList.push_back("33.room");
roomList.push_back("34.room");
roomList.push_back("35.room");
roomList.push_back("36.room");
roomList.push_back("37.room");
roomList.push_back("38.room");
roomList.push_back("39.room");
roomList.push_back("40.room");
roomList.push_back("41.room");
roomList.push_back("42.room");
roomList.push_back("43.room");
roomList.push_back("44.room");
roomList.push_back("45.room");
roomList.push_back("46.room");
roomList.push_back("47.room");
roomList.push_back("48.room");
roomList.push_back("49.room");
roomList.push_back("50.room");
roomList.push_back("51.room");
roomList.push_back("52.room");
roomList.push_back("53.room");
roomList.push_back("54.room");
roomList.push_back("55.room");
roomList.push_back("56.room");
roomList.push_back("57.room");
roomList.push_back("58.room");
roomList.push_back("59.room");
roomList.push_back("60.room");
resource->loadRooms(roomList);
} }
std::cout << "** RESOURCES LOADED" << std::endl; std::cout << "** RESOURCES LOADED" << std::endl;

View File

@@ -1,19 +1,10 @@
#include "enemy.h" #include "enemy.h"
#include <fstream>
#include <sstream>
// Constructor // Constructor
Enemy::Enemy(enemy_t enemy) Enemy::Enemy(enemy_t enemy)
{ {
// Obten punteros a objetos
resource = enemy.resource;
asset = enemy.asset;
renderer = enemy.renderer;
// Crea objetos // Crea objetos
texture = resource->getTexture(enemy.tileset); sprite = new AnimatedSprite(enemy.renderer, enemy.animation);
//sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation));
sprite = new AnimatedSprite(renderer, resource->getAnimation(enemy.animation));
// Obten el resto de valores // Obten el resto de valores
x1 = enemy.x1; x1 = enemy.x1;
@@ -103,7 +94,7 @@ SDL_Rect &Enemy::getCollider()
// Recarga la textura // Recarga la textura
void Enemy::reLoadTexture() void Enemy::reLoadTexture()
{ {
texture->reLoad(); sprite->getTexture()->reLoad();
} }
// Asigna la paleta // Asigna la paleta

View File

@@ -1,8 +1,8 @@
#pragma once #pragma once
#include <SDL2/SDL.h> #include <SDL2/SDL.h>
#include "common/animatedsprite.h" #include "common/animatedsprite.h"
#include "common/asset.h" #include "common/asset.h"
#include "common/resource.h"
#include "common/utils.h" #include "common/utils.h"
#include <string> #include <string>
@@ -13,10 +13,8 @@
struct enemy_t struct enemy_t
{ {
SDL_Renderer *renderer; // El renderizador de la ventana SDL_Renderer *renderer; // El renderizador de la ventana
Resource *resource; // Objeto con los recursos animatedSprite_t *animation; // Puntero a las animaciones del enemigo
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos std::string animationString; // Ruta al fichero con la animación
std::string tileset; // Fichero con los graficos del enemigo
std::string animation; // Fichero con las animaciones del enemigo
int w; // Anchura del enemigo int w; // Anchura del enemigo
int h; // Altura del enemigo int h; // Altura del enemigo
float x; // Posición inicial en el eje X float x; // Posición inicial en el eje X
@@ -36,10 +34,6 @@ class Enemy
{ {
private: private:
// Objetos y punteros // Objetos y punteros
SDL_Renderer *renderer; // El renderizador de la ventana
Resource *resource; // Objeto con los recursos
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
Texture *texture; // Textura con los graficos del enemigo
AnimatedSprite *sprite; // Sprite del enemigo AnimatedSprite *sprite; // Sprite del enemigo
// Variables // Variables

View File

@@ -30,7 +30,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as
scoreboard = new ScoreBoard(renderer, resource, asset, options, &board); scoreboard = new ScoreBoard(renderer, resource, asset, options, &board);
itemTracker = new ItemTracker(); itemTracker = new ItemTracker();
roomTracker = new RoomTracker(); roomTracker = new RoomTracker();
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug); room = new Room(resource->getRoom(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, debug);
player = new Player(spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug); player = new Player(spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug);
eventHandler = new SDL_Event(); eventHandler = new SDL_Event();
text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer); text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer);
@@ -301,7 +301,7 @@ bool Game::changeRoom(std::string file)
room = nullptr; room = nullptr;
// Crea un objeto habitación nuevo a partir del fichero // Crea un objeto habitación nuevo a partir del fichero
room = new Room(asset->get(file), renderer, screen, resource, asset, options, itemTracker, &board.items, debug); room = new Room(resource->getRoom(file), renderer, screen, asset, options, itemTracker, &board.items, debug);
// Actualiza el marcador // Actualiza el marcador
const color_t c = room->getBorderColor(); // Pone el color del marcador const color_t c = room->getBorderColor(); // Pone el color del marcador
@@ -390,7 +390,7 @@ void Game::killPlayer()
setBlackScreen(); setBlackScreen();
// Crea la nueva habitación y el nuevo jugador // Crea la nueva habitación y el nuevo jugador
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug); room = new Room(resource->getRoom(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, debug);
player = new Player(spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug); player = new Player(spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug);
room->pause(); room->pause();

View File

@@ -7,14 +7,8 @@ Item::Item(item_t item)
{ {
const int itemSize = 8; const int itemSize = 8;
// Obten punteros a objetos // Crea objetos;
resource = item.resource; sprite = new Sprite(item.x, item.y, itemSize, itemSize, item.texture, item.renderer);
asset = item.asset;
renderer = item.renderer;
// Crea objetos
texture = resource->getTexture(item.tileset);
sprite = new Sprite(item.x, item.y, itemSize, itemSize, texture, renderer);
// Inicia variables // Inicia variables
sprite->setSpriteClip((item.tile % 10) * itemSize, (item.tile / 10) * itemSize, itemSize, itemSize); sprite->setSpriteClip((item.tile % 10) * itemSize, (item.tile / 10) * itemSize, itemSize, itemSize);
@@ -69,7 +63,7 @@ SDL_Point Item::getPos()
// Recarga la textura // Recarga la textura
void Item::reLoadTexture() void Item::reLoadTexture()
{ {
texture->reLoad(); sprite->getTexture()->reLoad();
} }
// Asigna los colores del objeto // Asigna los colores del objeto

View File

@@ -2,7 +2,6 @@
#include <SDL2/SDL.h> #include <SDL2/SDL.h>
#include "common/asset.h" #include "common/asset.h"
#include "common/resource.h"
#include "common/sprite.h" #include "common/sprite.h"
#include "common/utils.h" #include "common/utils.h"
#include <string> #include <string>
@@ -13,9 +12,8 @@
struct item_t struct item_t
{ {
SDL_Renderer *renderer; // El renderizador de la ventana SDL_Renderer *renderer; // El renderizador de la ventana
Resource *resource; // Objeto con los recursos Texture *texture; // Textura con los graficos del item
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos std::string tileSetFile; // Ruta al fichero con los graficos del item
std::string tileset; // Fichero con los graficos del item
int x; // Posicion del item en pantalla int x; // Posicion del item en pantalla
int y; // Posicion del item en pantalla int y; // Posicion del item en pantalla
int tile; // Numero de tile dentro de la textura int tile; // Numero de tile dentro de la textura
@@ -28,10 +26,6 @@ class Item
{ {
private: private:
// Objetos y punteros // Objetos y punteros
SDL_Renderer *renderer; // El renderizador de la ventana
Resource *resource; // Objeto con los recursos
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
Texture *texture; // Textura con los graficos del objeto
Sprite *sprite; // Sprite del objeto Sprite *sprite; // Sprite del objeto
// Variables // Variables

View File

@@ -3,92 +3,10 @@
#include <fstream> #include <fstream>
#include <sstream> #include <sstream>
// Constructor // Carga las variables y texturas desde un fichero de mapa de tiles
Room::Room(std::string file, SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, ItemTracker *itemTracker, int *items, Debug *debug) std::vector<int> loadRoomTileFile(std::string file_path)
{
// Copia los punteros a objetos
this->resource = resource;
this->renderer = renderer;
this->asset = asset;
this->screen = screen;
this->itemTracker = itemTracker;
this->itemsPicked = items;
this->debug = debug;
this->options = options;
// Inicializa variables
tileSize = 8;
mapWidth = 32;
mapHeight = 16;
paused = false;
itemColor1 = "magenta";
itemColor2 = "yellow";
autoSurfaceDirection = 1;
counter = 0;
// Crea los objetos
loadMapFile(file);
//texture = new Texture(renderer, asset->get(tileset));
texture = resource->getTexture(tileset);
tilesetWidth = texture->getWidth() / tileSize;
itemSound = JA_LoadSound(asset->get("item.wav").c_str());
loadMapTileFile(asset->get(tileMapFile));
// Calcula las superficies
setBottomSurfaces();
setTopSurfaces();
setLeftSurfaces();
setRightSurfaces();
setLeftSlopes();
setRightSlopes();
setAutoSurfaces();
// Busca los tiles animados
setAnimatedTiles();
// Crea la textura para el mapa de tiles de la habitación
mapTexture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT);
if (mapTexture == nullptr)
{
printf("Error: mapTexture could not be created!\nSDL Error: %s\n", SDL_GetError());
}
SDL_SetTextureBlendMode(mapTexture, SDL_BLENDMODE_BLEND);
// Pinta el mapa de la habitación en la textura
fillMapTexture();
// Establece el color del borde
screen->setBorderColor(stringToColor(options->palette, borderColor));
}
// Destructor
Room::~Room()
{
// Reclama la memoria utilizada por los objetos
//delete texture;
JA_DeleteSound(itemSound);
SDL_DestroyTexture(mapTexture);
for (auto enemy : enemies)
{
delete enemy;
}
for (auto item : items)
{
delete item;
}
for (auto a : aTile)
{
delete a.sprite;
}
}
// Carga las variables desde un fichero de mapa
bool Room::loadMapFile(std::string file_path)
{ {
std::vector<int> tileMapFile;
const std::string filename = file_path.substr(file_path.find_last_of("\\/") + 1); const std::string filename = file_path.substr(file_path.find_last_of("\\/") + 1);
std::string line; std::string line;
std::ifstream file(file_path); std::ifstream file(file_path);
@@ -97,18 +15,64 @@ bool Room::loadMapFile(std::string file_path)
if (file.good()) if (file.good())
{ {
// Procesa el fichero linea a linea // Procesa el fichero linea a linea
printf("Reading file %s\n\n", filename.c_str()); //printf("Reading file %s\n", filename.c_str());
while (std::getline(file, line))
{ // Lee el fichero linea a linea
if (line.find("data encoding") != std::string::npos)
{
// Lee la primera linea
std::getline(file, line);
while (line != "</data>")
{ // Procesa lineas mientras haya
std::stringstream ss(line);
std::string tmp;
while (getline(ss, tmp, ','))
{
tileMapFile.push_back(std::stoi(tmp) - 1);
}
// Lee la siguiente linea
std::getline(file, line);
}
}
}
// Cierra el fichero
printf("TileMap loaded: %s\n", filename.c_str());
file.close();
}
else
{ // El fichero no se puede abrir
printf("Warning: Unable to open %s file\n", filename.c_str());
}
return tileMapFile;
}
// Carga las variables desde un fichero de mapa
room_t loadRoomFile(std::string file_path)
{
room_t room;
const std::string filename = file_path.substr(file_path.find_last_of("\\/") + 1);
std::string line;
std::ifstream file(file_path);
// El fichero se puede abrir
if (file.good())
{
// Procesa el fichero linea a linea
//printf("Reading file %s\n\n", filename.c_str());
while (std::getline(file, line)) while (std::getline(file, line))
{ {
// Si la linea contiene el texto [enemy] se realiza el proceso de carga de un enemigo // Si la linea contiene el texto [enemy] se realiza el proceso de carga de un enemigo
if (line == "[enemy]") if (line == "[enemy]")
{ {
enemy_t enemy; enemy_t enemy;
enemy.resource = resource; // enemy.renderer = renderer;
enemy.asset = asset;
enemy.renderer = renderer;
enemy.flip = false; enemy.flip = false;
enemy.palette = options->palette; enemy.palette = p_zxspectrum;
do do
{ {
@@ -125,19 +89,17 @@ bool Room::loadMapFile(std::string file_path)
} while (line != "[/enemy]"); } while (line != "[/enemy]");
// Añade el enemigo al vector de enemigos // Añade el enemigo al vector de enemigos
enemies.push_back(new Enemy(enemy)); room.enemies.push_back(enemy);
} }
// Si la linea contiene el texto [item] se realiza el proceso de carga de un item // Si la linea contiene el texto [item] se realiza el proceso de carga de un item
else if (line == "[item]") else if (line == "[item]")
{ {
item_t item; item_t item;
item.resource = resource; // item.renderer = renderer;
item.asset = asset;
item.renderer = renderer;
item.counter = 0; item.counter = 0;
item.color1 = stringToColor(options->palette, itemColor1); item.color1 = stringToColor(p_zxspectrum, "yellow");
item.color2 = stringToColor(options->palette, itemColor2); item.color2 = stringToColor(p_zxspectrum, "magenta");
do do
{ {
@@ -155,11 +117,12 @@ bool Room::loadMapFile(std::string file_path)
} while (line != "[/item]"); } while (line != "[/item]");
// Añade el item al vector de items // Añade el item al vector de items
const SDL_Point itemPos = {item.x, item.y}; // const SDL_Point itemPos = {item.x, item.y};
if (!itemTracker->hasBeenPicked(name, itemPos)) // if (!itemTracker->hasBeenPicked(room.name, itemPos))
{ //{
items.push_back(new Item(item)); // room.items.push_back(new Item(item));
} // }
room.items.push_back(item);
} }
// En caso contrario se parsea el fichero para buscar las variables y los valores // En caso contrario se parsea el fichero para buscar las variables y los valores
@@ -168,7 +131,7 @@ bool Room::loadMapFile(std::string file_path)
// Encuentra la posición del caracter '=' // Encuentra la posición del caracter '='
int pos = line.find("="); int pos = line.find("=");
// Procesa las dos subcadenas // Procesa las dos subcadenas
if (!setVars(line.substr(0, pos), line.substr(pos + 1, line.length()))) if (!setVars(&room, line.substr(0, pos), line.substr(pos + 1, line.length())))
{ {
printf("Warning: file %s, unknown parameter \"%s\"\n", filename.c_str(), line.substr(0, pos).c_str()); printf("Warning: file %s, unknown parameter \"%s\"\n", filename.c_str(), line.substr(0, pos).c_str());
} }
@@ -176,149 +139,100 @@ bool Room::loadMapFile(std::string file_path)
} }
// Cierra el fichero // Cierra el fichero
printf("Closing file %s\n\n", filename.c_str()); printf("Room loaded: %s\n", filename.c_str());
file.close(); file.close();
} }
// El fichero no se puede abrir // El fichero no se puede abrir
else else
{ {
printf("Warning: Unable to open %s file\n", filename.c_str()); printf("Warning: Unable to open %s file\n", filename.c_str());
return false;
} }
return true; return room;
}
// Carga las variables y texturas desde un fichero de mapa de tiles
bool Room::loadMapTileFile(std::string file_path)
{
const std::string filename = file_path.substr(file_path.find_last_of("\\/") + 1);
std::string line;
std::ifstream file(file_path);
// El fichero se puede abrir
if (file.good())
{
// Procesa el fichero linea a linea
printf("Reading file %s\n", filename.c_str());
while (std::getline(file, line))
{ // Lee el fichero linea a linea
if (line.find("data encoding") != std::string::npos)
{
// Lee la primera linea
std::getline(file, line);
while (line != "</data>")
{ // Procesa lineas mientras haya
std::stringstream ss(line);
std::string tmp;
while (getline(ss, tmp, ','))
{
tilemap.push_back(std::stoi(tmp) - 1);
}
// Lee la siguiente linea
std::getline(file, line);
}
}
}
// Cierra el fichero
printf("Closing file %s\n\n", filename.c_str());
file.close();
}
else
{ // El fichero no se puede abrir
printf("Warning: Unable to open %s file\n", filename.c_str());
return false;
}
return true;
} }
// Asigna variables a partir de dos cadenas // Asigna variables a partir de dos cadenas
bool Room::setVars(std::string var, std::string value) bool setVars(room_t *room, std::string var, std::string value)
{ {
// Indicador de éxito en la asignación // Indicador de éxito en la asignación
bool success = true; bool success = true;
if (var == "tilemap") if (var == "tileMapFile")
{ {
tileMapFile = value; room->tileMapFile = value;
} }
else if (var == "name") else if (var == "name")
{ {
name = value; room->name = value;
} }
else if (var == "bgColor") else if (var == "bgColor")
{ {
bgColor = value; room->bgColor = value;
} }
else if (var == "border") else if (var == "border")
{ {
borderColor = value; room->borderColor = value;
} }
else if (var == "itemColor1") else if (var == "itemColor1")
{ {
itemColor1 = value; room->itemColor1 = value;
} }
else if (var == "itemColor2") else if (var == "itemColor2")
{ {
itemColor2 = value; room->itemColor2 = value;
} }
else if (var == "tileset") else if (var == "tileSetFile")
{ {
tileset = value; room->tileSetFile = value;
if (options->palette == p_zxspectrum) /*if (options->palette == p_zxspectrum)
{ {
tileset = "standard.png"; tileSetFile = "standard.png";
} }
else if (options->palette == p_zxarne) else if (options->palette == p_zxarne)
{ {
tileset = "standard_zxarne.png"; tileSetFile = "standard_zxarne.png";
} }*/
} }
else if (var == "roomUp") else if (var == "roomUp")
{ {
roomUp = value; room->roomUp = value;
} }
else if (var == "roomDown") else if (var == "roomDown")
{ {
roomDown = value; room->roomDown = value;
} }
else if (var == "roomLeft") else if (var == "roomLeft")
{ {
roomLeft = value; room->roomLeft = value;
} }
else if (var == "roomRight") else if (var == "roomRight")
{ {
roomRight = value; room->roomRight = value;
} }
else if (var == "autoSurface") else if (var == "autoSurface")
{ {
if (value == "right") if (value == "right")
{ {
autoSurfaceDirection = 1; room->autoSurfaceDirection = 1;
} }
else else
{ {
autoSurfaceDirection = -1; room->autoSurfaceDirection = -1;
} }
} }
else if (var == "") else if (var == "" || var.substr(0, 1) == "#")
{ {
} }
@@ -331,19 +245,14 @@ bool Room::setVars(std::string var, std::string value)
} }
// Asigna variables a una estructura enemy_t // Asigna variables a una estructura enemy_t
bool Room::setEnemy(enemy_t *enemy, std::string var, std::string value) bool setEnemy(enemy_t *enemy, std::string var, std::string value)
{ {
// Indicador de éxito en la asignación // Indicador de éxito en la asignación
bool success = true; bool success = true;
if (var == "tileset") if (var == "animation")
{ {
enemy->tileset = value; enemy->animationString = value;
}
else if (var == "animation")
{
enemy->animation = value;
} }
else if (var == "width") else if (var == "width")
@@ -406,7 +315,7 @@ bool Room::setEnemy(enemy_t *enemy, std::string var, std::string value)
enemy->color = value; enemy->color = value;
} }
else if (var == "[/enemy]") else if (var == "[/enemy]" || var == "tileSetFile" || var.substr(0, 1) == "#")
{ {
} }
@@ -419,14 +328,14 @@ bool Room::setEnemy(enemy_t *enemy, std::string var, std::string value)
} }
// Asigna variables a una estructura item_t // Asigna variables a una estructura item_t
bool Room::setItem(item_t *item, std::string var, std::string value) bool setItem(item_t *item, std::string var, std::string value)
{ {
// Indicador de éxito en la asignación // Indicador de éxito en la asignación
bool success = true; bool success = true;
if (var == "tileset") if (var == "tileSetFile")
{ {
item->tileset = value; item->tileSetFile = value;
} }
else if (var == "counter") else if (var == "counter")
@@ -461,6 +370,132 @@ bool Room::setItem(item_t *item, std::string var, std::string value)
return success; return success;
} }
// Constructor
Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *itemTracker, int *itemsPicked, Debug *debug)
{
// Copia los punteros a objetos
this->renderer = renderer;
this->asset = asset;
this->screen = screen;
this->itemTracker = itemTracker;
this->itemsPicked = itemsPicked;
this->debug = debug;
this->options = options;
name = room->name;
bgColor = room->bgColor;
borderColor = room->borderColor;
itemColor1 = room->itemColor1 == ""?"yellow":room->itemColor1;
itemColor2 = room->itemColor2 == ""?"magenta":room->itemColor2;
roomUp = room->roomUp;
roomDown = room->roomDown;
roomLeft = room->roomLeft;
roomRight = room->roomRight;
tileSetFile = room->tileSetFile;
tileMapFile = room->tileMapFile;
autoSurfaceDirection = room->autoSurfaceDirection;
textureA = room->textureA;
textureB = room->textureB;
tileMap = room->tileMap;
// Inicializa variables
tileSize = 8;
mapWidth = 32;
mapHeight = 16;
paused = false;
counter = 0;
// itemColor1 = "magenta";
// itemColor2 = "yellow";
// autoSurfaceDirection = 1;
// Crea los enemigos
for (auto &enemy : room->enemies)
{
enemy.renderer = renderer;
enemies.push_back(new Enemy(enemy));
}
// Crea los items
for (auto &item : room->items)
{
const SDL_Point itemPos = {item.x, item.y};
if (!itemTracker->hasBeenPicked(room->name, itemPos))
{
item.renderer = renderer;
items.push_back(new Item(item));
}
}
// Crea los objetos
// loadRoomFile(file);
// texture = new Texture(renderer, asset->get(tileSetFile));
// texture = resource->getTexture(tileSetFile);
if (options->palette == p_zxspectrum)
{
texture = textureA;
}
else
{
texture = textureB;
}
tileSetWidth = texture->getWidth() / tileSize;
itemSound = JA_LoadSound(asset->get("item.wav").c_str());
// loadRoomTileFile(asset->get(tileMapFile));
// Calcula las superficies
setBottomSurfaces();
setTopSurfaces();
setLeftSurfaces();
setRightSurfaces();
setLeftSlopes();
setRightSlopes();
setAutoSurfaces();
// Busca los tiles animados
setAnimatedTiles();
// Crea la textura para el mapa de tiles de la habitación
mapTexture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT);
if (mapTexture == nullptr)
{
printf("Error: mapTexture could not be created!\nSDL Error: %s\n", SDL_GetError());
}
SDL_SetTextureBlendMode(mapTexture, SDL_BLENDMODE_BLEND);
// Pinta el mapa de la habitación en la textura
fillMapTexture();
// Establece el color del borde
screen->setBorderColor(stringToColor(options->palette, room->borderColor));
}
// Destructor
Room::~Room()
{
// Reclama la memoria utilizada por los objetos
// delete texture;
JA_DeleteSound(itemSound);
SDL_DestroyTexture(mapTexture);
for (auto enemy : enemies)
{
delete enemy;
}
for (auto item : items)
{
delete item;
}
for (auto a : aTile)
{
delete a.sprite;
}
}
// Devuelve el nombre de la habitación // Devuelve el nombre de la habitación
std::string Room::getName() std::string Room::getName()
{ {
@@ -486,7 +521,7 @@ void Room::fillMapTexture()
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00); SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00);
SDL_RenderClear(renderer); SDL_RenderClear(renderer);
// Los tilesets son de 20x20 tiles. El primer tile es el 0. Cuentan hacia la derecha y hacia abajo // Los tileSetFiles son de 20x20 tiles. El primer tile es el 0. Cuentan hacia la derecha y hacia abajo
SDL_Rect clip = {0, 0, tileSize, tileSize}; SDL_Rect clip = {0, 0, tileSize, tileSize};
for (int y = 0; y < mapHeight; ++y) for (int y = 0; y < mapHeight; ++y)
@@ -496,13 +531,13 @@ void Room::fillMapTexture()
// Al cargar el mapa en memoria, se resta uno, por tanto los tiles vacios son -1 // Al cargar el mapa en memoria, se resta uno, por tanto los tiles vacios son -1
// Tampoco hay que dibujar los tiles animados que estan en la fila 19 (indices) // Tampoco hay que dibujar los tiles animados que estan en la fila 19 (indices)
const int index = (y * mapWidth) + x; const int index = (y * mapWidth) + x;
const bool a = (tilemap[index] >= 18 * tilesetWidth) && (tilemap[index] < 19 * tilesetWidth); const bool a = (tileMap->at(index) >= 18 * tileSetWidth) && (tileMap->at(index) < 19 * tileSetWidth);
const bool b = tilemap[index] > -1; const bool b = tileMap->at(index) > -1;
if (b && !a) if (b && !a)
{ {
clip.x = (tilemap[index] % tilesetWidth) * tileSize; clip.x = (tileMap->at(index) % tileSetWidth) * tileSize;
clip.y = (tilemap[index] / tilesetWidth) * tileSize; clip.y = (tileMap->at(index) / tileSetWidth) * tileSize;
texture->render(renderer, x * tileSize, y * tileSize, &clip); texture->render(renderer, x * tileSize, y * tileSize, &clip);
// **** // ****
@@ -702,37 +737,37 @@ tile_e Room::getTile(int index)
if (index < maxTile) if (index < maxTile)
{ {
// Las filas 0-8 son de tiles t_wall // Las filas 0-8 son de tiles t_wall
if ((tilemap[index] >= 0) && (tilemap[index] < 9 * tilesetWidth)) if ((tileMap->at(index) >= 0) && (tileMap->at(index) < 9 * tileSetWidth))
{ {
return t_wall; return t_wall;
} }
// Las filas 9-17 son de tiles t_passable // Las filas 9-17 son de tiles t_passable
else if ((tilemap[index] >= 9 * tilesetWidth) && (tilemap[index] < 18 * tilesetWidth)) else if ((tileMap->at(index) >= 9 * tileSetWidth) && (tileMap->at(index) < 18 * tileSetWidth))
{ {
return t_passable; return t_passable;
} }
// Las filas 18-20 es de tiles t_animated // Las filas 18-20 es de tiles t_animated
else if ((tilemap[index] >= 18 * tilesetWidth) && (tilemap[index] < 21 * tilesetWidth)) else if ((tileMap->at(index) >= 18 * tileSetWidth) && (tileMap->at(index) < 21 * tileSetWidth))
{ {
return t_animated; return t_animated;
} }
// La fila 21 es de tiles t_slope_r // La fila 21 es de tiles t_slope_r
else if ((tilemap[index] >= 21 * tilesetWidth) && (tilemap[index] < 22 * tilesetWidth)) else if ((tileMap->at(index) >= 21 * tileSetWidth) && (tileMap->at(index) < 22 * tileSetWidth))
{ {
return t_slope_r; return t_slope_r;
} }
// La fila 22 es de tiles t_slope_l // La fila 22 es de tiles t_slope_l
else if ((tilemap[index] >= 22 * tilesetWidth) && (tilemap[index] < 23 * tilesetWidth)) else if ((tileMap->at(index) >= 22 * tileSetWidth) && (tileMap->at(index) < 23 * tileSetWidth))
{ {
return t_slope_l; return t_slope_l;
} }
// La fila 23 es de tiles t_kill // La fila 23 es de tiles t_kill
else if ((tilemap[index] >= 23 * tilesetWidth) && (tilemap[index] < 24 * tilesetWidth)) else if ((tileMap->at(index) >= 23 * tileSetWidth) && (tileMap->at(index) < 24 * tileSetWidth))
{ {
return t_kill; return t_kill;
} }
@@ -776,19 +811,7 @@ bool Room::itemCollision(SDL_Rect &rect)
// Recarga la textura // Recarga la textura
void Room::reLoadTexture() void Room::reLoadTexture()
{ {
if (options->palette == p_zxspectrum)
{
//texture->loadFromFile(asset->get("standard.png"), renderer);
texture = resource->getTexture("standard.png");
texture->reLoad(); texture->reLoad();
}
else if (options->palette == p_zxarne)
{
//texture->loadFromFile(asset->get("standard_zxarne.png"), renderer);
texture = resource->getTexture("standard_zxarne.png");
texture->reLoad();
}
fillMapTexture(); fillMapTexture();
for (auto enemy : enemies) for (auto enemy : enemies)
@@ -820,6 +843,16 @@ void Room::reLoadPalette()
// Establece el color del borde // Establece el color del borde
screen->setBorderColor(stringToColor(options->palette, borderColor)); screen->setBorderColor(stringToColor(options->palette, borderColor));
// Cambia la textura
if (options->palette == p_zxspectrum)
{
texture = textureA;
}
else
{
texture = textureB;
}
// Recarga las texturas // Recarga las texturas
reLoadTexture(); reLoadTexture();
} }
@@ -863,7 +896,7 @@ void Room::setBottomSurfaces()
// Busca todos los tiles de tipo muro que no tengan debajo otro muro // Busca todos los tiles de tipo muro que no tengan debajo otro muro
// Hay que recorrer la habitación por filas (excepto los de la última fila) // Hay que recorrer la habitación por filas (excepto los de la última fila)
for (int i = 0; i < (int)tilemap.size() - mapWidth; ++i) for (int i = 0; i < (int)tileMap->size() - mapWidth; ++i)
{ {
if (getTile(i) == t_wall && getTile(i + mapWidth) != t_wall) if (getTile(i) == t_wall && getTile(i + mapWidth) != t_wall)
{ {
@@ -883,12 +916,12 @@ void Room::setBottomSurfaces()
while (i < (int)tile.size()) while (i < (int)tile.size())
{ {
h_line_t line; h_line_t line;
line.x1 = (tile[i] % mapWidth) * tileSize; line.x1 = (tile.at(i) % mapWidth) * tileSize;
line.y = ((tile[i] / mapWidth) * tileSize) + tileSize - 1; line.y = ((tile.at(i) / mapWidth) * tileSize) + tileSize - 1;
lastOne = i; lastOne = i;
i++; i++;
while (tile[i] == tile[i - 1] + 1) while (tile.at(i) == tile.at(i - 1) + 1)
{ {
lastOne = i; lastOne = i;
i++; i++;
@@ -896,7 +929,7 @@ void Room::setBottomSurfaces()
line.x2 = ((tile[lastOne] % mapWidth) * tileSize) + tileSize - 1; line.x2 = ((tile[lastOne] % mapWidth) * tileSize) + tileSize - 1;
bottomSurfaces.push_back(line); bottomSurfaces.push_back(line);
if (tile[i] == -1) if (tile.at(i) == -1)
{ // Si el siguiente elemento es un separador, hay que saltarlo { // Si el siguiente elemento es un separador, hay que saltarlo
i++; i++;
} }
@@ -910,7 +943,7 @@ void Room::setTopSurfaces()
// Busca todos los tiles de tipo muro o pasable que no tengan encima un muro // Busca todos los tiles de tipo muro o pasable que no tengan encima un muro
// Hay que recorrer la habitación por filas (excepto los de la primera fila) // Hay que recorrer la habitación por filas (excepto los de la primera fila)
for (int i = mapWidth; i < (int)tilemap.size(); ++i) for (int i = mapWidth; i < (int)tileMap->size(); ++i)
{ {
if ((getTile(i) == t_wall || getTile(i) == t_passable) && getTile(i - mapWidth) != t_wall) if ((getTile(i) == t_wall || getTile(i) == t_passable) && getTile(i - mapWidth) != t_wall)
{ {
@@ -930,12 +963,12 @@ void Room::setTopSurfaces()
while (i < (int)tile.size()) while (i < (int)tile.size())
{ {
h_line_t line; h_line_t line;
line.x1 = (tile[i] % mapWidth) * tileSize; line.x1 = (tile.at(i) % mapWidth) * tileSize;
line.y = (tile[i] / mapWidth) * tileSize; line.y = (tile.at(i) / mapWidth) * tileSize;
lastOne = i; lastOne = i;
i++; i++;
while (tile[i] == tile[i - 1] + 1) while (tile.at(i) == tile.at(i - 1) + 1)
{ {
lastOne = i; lastOne = i;
i++; i++;
@@ -943,7 +976,7 @@ void Room::setTopSurfaces()
line.x2 = ((tile[lastOne] % mapWidth) * tileSize) + tileSize - 1; line.x2 = ((tile[lastOne] % mapWidth) * tileSize) + tileSize - 1;
topSurfaces.push_back(line); topSurfaces.push_back(line);
if (tile[i] == -1) if (tile.at(i) == -1)
{ // Si el siguiente elemento es un separador, hay que saltarlo { // Si el siguiente elemento es un separador, hay que saltarlo
i++; i++;
} }
@@ -976,13 +1009,13 @@ void Room::setLeftSurfaces()
while (i < (int)tile.size()) while (i < (int)tile.size())
{ {
v_line_t line; v_line_t line;
line.x = (tile[i] % mapWidth) * tileSize; line.x = (tile.at(i) % mapWidth) * tileSize;
line.y1 = ((tile[i] / mapWidth) * tileSize); line.y1 = ((tile.at(i) / mapWidth) * tileSize);
while (tile[i] + mapWidth == tile[i + 1]) while (tile.at(i) + mapWidth == tile[i + 1])
{ {
i++; i++;
} }
line.y2 = ((tile[i] / mapWidth) * tileSize) + tileSize - 1; line.y2 = ((tile.at(i) / mapWidth) * tileSize) + tileSize - 1;
leftSurfaces.push_back(line); leftSurfaces.push_back(line);
i++; i++;
} }
@@ -1014,13 +1047,13 @@ void Room::setRightSurfaces()
while (i < (int)tile.size()) while (i < (int)tile.size())
{ {
v_line_t line; v_line_t line;
line.x = ((tile[i] % mapWidth) * tileSize) + tileSize - 1; line.x = ((tile.at(i) % mapWidth) * tileSize) + tileSize - 1;
line.y1 = ((tile[i] / mapWidth) * tileSize); line.y1 = ((tile.at(i) / mapWidth) * tileSize);
while (tile[i] + mapWidth == tile[i + 1]) while (tile.at(i) + mapWidth == tile[i + 1])
{ {
i++; i++;
} }
line.y2 = ((tile[i] / mapWidth) * tileSize) + tileSize - 1; line.y2 = ((tile.at(i) / mapWidth) * tileSize) + tileSize - 1;
rightSurfaces.push_back(line); rightSurfaces.push_back(line);
i++; i++;
} }
@@ -1031,7 +1064,7 @@ void Room::setLeftSlopes()
{ {
// Recorre la habitación entera por filas buscando tiles de tipo t_slope_l // Recorre la habitación entera por filas buscando tiles de tipo t_slope_l
std::vector<int> found; std::vector<int> found;
for (int i = 0; i < (int)tilemap.size(); ++i) for (int i = 0; i < (int)tileMap->size(); ++i)
{ {
if (getTile(i) == t_slope_l) if (getTile(i) == t_slope_l)
{ {
@@ -1072,7 +1105,7 @@ void Room::setRightSlopes()
{ {
// Recorre la habitación entera por filas buscando tiles de tipo t_slope_r // Recorre la habitación entera por filas buscando tiles de tipo t_slope_r
std::vector<int> found; std::vector<int> found;
for (int i = 0; i < (int)tilemap.size(); ++i) for (int i = 0; i < (int)tileMap->size(); ++i)
{ {
if (getTile(i) == t_slope_r) if (getTile(i) == t_slope_r)
{ {
@@ -1115,7 +1148,7 @@ void Room::setAutoSurfaces()
// Busca todos los tiles de tipo animado // Busca todos los tiles de tipo animado
// Hay que recorrer la habitación por filas (excepto los de la primera fila) // Hay que recorrer la habitación por filas (excepto los de la primera fila)
for (int i = mapWidth; i < (int)tilemap.size(); ++i) for (int i = mapWidth; i < (int)tileMap->size(); ++i)
{ {
if (getTile(i) == t_animated) if (getTile(i) == t_animated)
{ {
@@ -1135,12 +1168,12 @@ void Room::setAutoSurfaces()
while (i < (int)tile.size()) while (i < (int)tile.size())
{ {
h_line_t line; h_line_t line;
line.x1 = (tile[i] % mapWidth) * tileSize; line.x1 = (tile.at(i) % mapWidth) * tileSize;
line.y = (tile[i] / mapWidth) * tileSize; line.y = (tile.at(i) / mapWidth) * tileSize;
lastOne = i; lastOne = i;
i++; i++;
while (tile[i] == tile[i - 1] + 1) while (tile.at(i) == tile.at(i - 1) + 1)
{ {
lastOne = i; lastOne = i;
i++; i++;
@@ -1148,7 +1181,7 @@ void Room::setAutoSurfaces()
line.x2 = ((tile[lastOne] % mapWidth) * tileSize) + tileSize - 1; line.x2 = ((tile[lastOne] % mapWidth) * tileSize) + tileSize - 1;
autoSurfaces.push_back(line); autoSurfaces.push_back(line);
if (tile[i] == -1) if (tile.at(i) == -1)
{ // Si el siguiente elemento es un separador, hay que saltarlo { // Si el siguiente elemento es un separador, hay que saltarlo
i++; i++;
} }
@@ -1159,17 +1192,17 @@ void Room::setAutoSurfaces()
void Room::setAnimatedTiles() void Room::setAnimatedTiles()
{ {
// Recorre la habitación entera por filas buscando tiles de tipo t_animated // Recorre la habitación entera por filas buscando tiles de tipo t_animated
for (int i = 0; i < (int)tilemap.size(); ++i) for (int i = 0; i < (int)tileMap->size(); ++i)
{ {
if (getTile(i) == t_animated) if (getTile(i) == t_animated)
{ {
// la i me da la ubicación // La i es la ubicación
const int x = (i % mapWidth) * tileSize; const int x = (i % mapWidth) * tileSize;
const int y = (i / mapWidth) * tileSize; const int y = (i / mapWidth) * tileSize;
// tilemap[i] me da el tile a poner // TileMap->at(i) es el tile a poner
const int xc = (tilemap[i] % tilesetWidth) * tileSize; const int xc = (tileMap->at(i) % tileSetWidth) * tileSize;
const int yc = (tilemap[i] / tilesetWidth) * tileSize; const int yc = (tileMap->at(i) / tileSetWidth) * tileSize;
aTile_t at; aTile_t at;
at.sprite = new Sprite(x, y, 8, 8, texture, renderer); at.sprite = new Sprite(x, y, 8, 8, texture, renderer);

View File

@@ -4,7 +4,6 @@
#include "common/asset.h" #include "common/asset.h"
#include "common/debug.h" #include "common/debug.h"
#include "common/jail_audio.h" #include "common/jail_audio.h"
#include "common/resource.h"
#include "common/screen.h" #include "common/screen.h"
#include "common/sprite.h" #include "common/sprite.h"
#include "common/utils.h" #include "common/utils.h"
@@ -35,14 +34,52 @@ struct aTile_t
int xcOrig; // Poicion X donde se encuentra el primer tile de la animacion en la tilesheet int xcOrig; // Poicion X donde se encuentra el primer tile de la animacion en la tilesheet
}; };
struct room_t
{
std::string name; // Nombre de la habitación
std::string bgColor; // Color de fondo de la habitación
std::string borderColor; // Color del borde de la pantalla
std::string itemColor1; // Color 1 para los items de la habitación
std::string itemColor2; // Color 2 para los items de la habitación
std::string roomUp; // Identificador de la habitación que se encuentra arriba
std::string roomDown; // Identificador de la habitación que se encuentra abajp
std::string roomLeft; // Identificador de la habitación que se encuentra a la izquierda
std::string roomRight; // Identificador de la habitación que se encuentra a la derecha
std::string tileSetFile; // Imagen con los graficos para la habitación
std::string tileMapFile; // Fichero con el mapa de indices de tile
std::vector<int> *tileMap; // Indice de los tiles a dibujar en la habitación
int autoSurfaceDirection; // Sentido en el que arrastran las superficies automáticas de la habitación
std::vector<enemy_t> enemies; // Listado con los enemigos de la habitación
std::vector<item_t> items; // Listado con los items que hay en la habitación
Texture *textureA; // Textura con los graficos de la habitación
Texture *textureB; // Textura con los graficos de la habitación
};
// Carga las variables desde un fichero de mapa
room_t loadRoomFile(std::string file);
// Carga las variables y texturas desde un fichero de mapa de tiles
std::vector<int> loadRoomTileFile(std::string file_path);
// Asigna variables a partir de dos cadenas
bool setVars(room_t *room, std::string var, std::string value);
// Asigna variables a una estructura enemy_t
bool setEnemy(enemy_t *enemy, std::string var, std::string value);
// Asigna variables a una estructura item_t
bool setItem(item_t *item, std::string var, std::string value);
class Room class Room
{ {
private: private:
// Objetos y punteros // Objetos y punteros
std::vector<Enemy *> enemies; // Listado con los enemigos de la habitación std::vector<Enemy *> enemies; // Listado con los enemigos de la habitación
std::vector<Item *> items; // Listado con los items que hay en la habitación std::vector<Item *> items; // Listado con los items que hay en la habitación
std::vector<int> *tileMap; // Indice de los tiles a dibujar en la habitación
Texture *texture; // Textura con los graficos de la habitación Texture *texture; // Textura con los graficos de la habitación
Resource *resource; // Objeto con los recursos Texture *textureA; // Textura con los graficos de la habitación
Texture *textureB; // Textura con los graficos de la habitación
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
Screen *screen; // Objeto encargado de dibujar en pantalla Screen *screen; // Objeto encargado de dibujar en pantalla
ItemTracker *itemTracker; // Lleva el control de los objetos recogidos ItemTracker *itemTracker; // Lleva el control de los objetos recogidos
@@ -62,9 +99,9 @@ private:
std::string roomDown; // Identificador de la habitación que se encuentra abajp std::string roomDown; // Identificador de la habitación que se encuentra abajp
std::string roomLeft; // Identificador de la habitación que se encuentra a la izquierda std::string roomLeft; // Identificador de la habitación que se encuentra a la izquierda
std::string roomRight; // Identificador de la habitación que se encuentra a la derecha std::string roomRight; // Identificador de la habitación que se encuentra a la derecha
std::string tileset; // Imagen con los graficos para la habitación std::string tileSetFile; // Imagen con los graficos para la habitación
std::string tileMapFile; // Fichero con el mapa de indices de tile std::string tileMapFile; // Fichero con el mapa de indices de tile
std::vector<int> tilemap; // Indice de los tiles a dibujar en la habitación int autoSurfaceDirection; // Sentido en el que arrastran las superficies automáticas de la habitación
JA_Sound itemSound; // Sonido producido al coger un objeto JA_Sound itemSound; // Sonido producido al coger un objeto
std::vector<h_line_t> bottomSurfaces; // Lista con las superficies inferiores de la habitación std::vector<h_line_t> bottomSurfaces; // Lista con las superficies inferiores de la habitación
std::vector<h_line_t> topSurfaces; // Lista con las superficies superiores de la habitación std::vector<h_line_t> topSurfaces; // Lista con las superficies superiores de la habitación
@@ -76,26 +113,10 @@ private:
bool paused; // Indica si el mapa esta en modo pausa bool paused; // Indica si el mapa esta en modo pausa
std::vector<aTile_t> aTile; // Vector con los indices de tiles animados std::vector<aTile_t> aTile; // Vector con los indices de tiles animados
std::vector<h_line_t> autoSurfaces; // Lista con las superficies automaticas de la habitación std::vector<h_line_t> autoSurfaces; // Lista con las superficies automaticas de la habitación
int autoSurfaceDirection; // Sentido en el que arrastran las superficies automáticas de la habitación
int tileSize; // Ancho del tile en pixels int tileSize; // Ancho del tile en pixels
int mapWidth; // Ancho del mapa en tiles int mapWidth; // Ancho del mapa en tiles
int mapHeight; // Alto del mapa en tiles int mapHeight; // Alto del mapa en tiles
int tilesetWidth; // Ancho del tileset en tiles int tileSetWidth; // Ancho del tileset en tiles
// Carga las variables desde un fichero de mapa
bool loadMapFile(std::string file);
// Carga las variables y texturas desde un fichero de mapa de tiles
bool loadMapTileFile(std::string file);
// Asigna variables a partir de dos cadenas
bool setVars(std::string var, std::string value);
// Asigna variables a una estructura enemy_t
bool setEnemy(enemy_t *enemy, std::string var, std::string value);
// Asigna variables a una estructura item_t
bool setItem(item_t *item, std::string var, std::string value);
// Pinta el mapa de la habitación en la textura // Pinta el mapa de la habitación en la textura
void fillMapTexture(); void fillMapTexture();
@@ -135,7 +156,7 @@ private:
public: public:
// Constructor // Constructor
Room(std::string file, SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, ItemTracker *item_tracker, int *items, Debug *debug); Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *itemTracker, int *itemsPicked, Debug *debug);
// Destructor // Destructor
~Room(); ~Room();

View File

@@ -39,7 +39,7 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *
l.enabled = false; l.enabled = false;
letters.push_back(l); letters.push_back(l);
} }
letters[0].enabled = true; letters.at(0).enabled = true;
marqueeSpeed = 3; marqueeSpeed = 3;
// Cambia el color del borde // Cambia el color del borde