diff --git a/data/room/01.room b/data/room/01.room index 0363cd0..b82ce27 100644 --- a/data/room/01.room +++ b/data/room/01.room @@ -1,15 +1,15 @@ name=THE JAIL bgColor=bright_blue border=blue -tilemap=01.tmx -tileset=standard.png +tileMapFile=01.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=0 roomRight=02.room [enemy] -tileset=jailer.png +tileSetFile=jailer.png animation=jailer.ani width=16 height=16 @@ -25,7 +25,7 @@ color=white [/enemy] [enemy] -tileset=jailer3.png +tileSetFile=jailer3.png animation=jailer3.ani width=16 height=16 @@ -41,7 +41,7 @@ color=white [/enemy] [enemy] -tileset=jailer.png +tileSetFile=jailer.png animation=jailer.ani width=16 height=16 @@ -57,7 +57,7 @@ color=white [/enemy] [enemy] -tileset=jailer2.png +tileSetFile=jailer2.png animation=jailer2.ani width=16 height=16 @@ -73,7 +73,7 @@ color=white [/enemy] [enemy] -tileset=jailer.png +tileSetFile=jailer.png animation=jailer.ani width=16 height=16 @@ -89,7 +89,7 @@ color=white [/enemy] [enemy] -tileset=printer.png +tileSetFile=printer.png animation=printer.ani width=16 height=16 @@ -105,7 +105,7 @@ color=white [/enemy] [enemy] -tileset=printer.png +tileSetFile=printer.png animation=printer.ani width=16 height=16 @@ -121,7 +121,7 @@ color=white [/enemy] [enemy] -tileset=lamp.png +tileSetFile=lamp.png animation=lamp.ani width=16 height=16 @@ -137,7 +137,7 @@ color=white [/enemy] [enemy] -tileset=bry.png +tileSetFile=bry.png animation=bry.ani width=8 height=16 @@ -153,7 +153,7 @@ color=white [/enemy] #[enemy] -#tileset=tv_panel.png +#tileSetFile=tv_panel.png #animation=tv_panel.ani #width=24 #height=16 @@ -169,7 +169,7 @@ color=white #[/enemy] # #[enemy] -#tileset=tv_panel.png +#tileSetFile=tv_panel.png #animation=tv_panel.ani #width=24 #height=16 @@ -185,7 +185,7 @@ color=white #[/enemy] # #[enemy] -#tileset=tv_panel.png +#tileSetFile=tv_panel.png #animation=tv_panel.ani #width=24 #height=16 diff --git a/data/room/02.room b/data/room/02.room index 545a112..536140a 100644 --- a/data/room/02.room +++ b/data/room/02.room @@ -1,15 +1,15 @@ name=road to the jail bgColor=black border=cyan -tilemap=02.tmx -tileset=standard.png +tileMapFile=02.tmx +tileSetFile=standard.png roomUp=0 roomDown=04.room roomLeft=01.room roomRight=03.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=bright_red [/enemy] [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -41,7 +41,7 @@ color=red [/enemy] [enemy] -tileset=chip.png +tileSetFile=chip.png animation=chip.ani width=8 height=16 @@ -57,7 +57,7 @@ color=yellow [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=21 x=1 y=9 diff --git a/data/room/03.room b/data/room/03.room index 23d2114..b3b006d 100644 --- a/data/room/03.room +++ b/data/room/03.room @@ -1,8 +1,8 @@ name=void main bgColor=black border=magenta -tilemap=03.tmx -tileset=standard.png +tileMapFile=03.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=02.room @@ -12,7 +12,7 @@ itemColor1=bright_cyan itemColor2=yellow [enemy] -tileset=code.png +tileSetFile=code.png animation=code.ani width=16 height=16 @@ -28,7 +28,7 @@ color=yellow [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=42 x=21 y=13 diff --git a/data/room/04.room b/data/room/04.room index d64db8b..db619b1 100644 --- a/data/room/04.room +++ b/data/room/04.room @@ -1,15 +1,15 @@ name=no 04 bgColor=black border=red -tilemap=04.tmx -tileset=standard.png +tileMapFile=04.tmx +tileSetFile=standard.png roomUp=02.room roomDown=0 roomLeft=07.room roomRight=05.room [enemy] -tileset=chip.png +tileSetFile=chip.png animation=chip.ani width=8 height=16 diff --git a/data/room/05.room b/data/room/05.room index 0f369f1..5d6ae5b 100644 --- a/data/room/05.room +++ b/data/room/05.room @@ -1,15 +1,15 @@ name=no 05 bgColor=black border=red -tilemap=05.tmx -tileset=standard.png +tileMapFile=05.tmx +tileSetFile=standard.png roomUp=0 roomDown=60.room roomLeft=04.room roomRight=06.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=2 y=6 @@ -33,7 +33,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=29 y=12 diff --git a/data/room/06.room b/data/room/06.room index dee5a02..765e582 100644 --- a/data/room/06.room +++ b/data/room/06.room @@ -1,8 +1,8 @@ name=welcome to my abbey bgColor=blue border=yellow -tilemap=06.tmx -tileset=standard.png +tileMapFile=06.tmx +tileSetFile=standard.png roomUp=15.room roomDown=0 roomLeft=05.room @@ -11,7 +11,7 @@ itemColor1=yellow itemColor2=cyan [enemy] -tileset=abad.png +tileSetFile=abad.png animation=abad.ani width=8 height=16 @@ -28,7 +28,7 @@ flip=true [/enemy] [enemy] -tileset=wave_v.png +tileSetFile=wave_v.png animation=wave_v.ani width=8 height=8 @@ -44,7 +44,7 @@ color=yellow [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=48 x=7 y=2 @@ -52,7 +52,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=48 x=1 y=14 @@ -60,7 +60,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=48 x=30 y=9 diff --git a/data/room/07.room b/data/room/07.room index becaf97..30df62d 100644 --- a/data/room/07.room +++ b/data/room/07.room @@ -1,15 +1,15 @@ name=sigmasua bgColor=black border=black -tilemap=07.tmx -tileset=standard.png +tileMapFile=07.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=08.room roomRight=04.room [enemy] -tileset=sigmasua.png +tileSetFile=sigmasua.png animation=sigmasua.ani width=16 height=16 @@ -25,7 +25,7 @@ color=bright_red [/enemy] [enemy] -tileset=sigmasua.png +tileSetFile=sigmasua.png animation=sigmasua.ani width=16 height=16 @@ -41,7 +41,7 @@ color=bright_red [/enemy] [enemy] -tileset=sigmasua.png +tileSetFile=sigmasua.png animation=sigmasua.ani width=16 height=16 @@ -57,7 +57,7 @@ color=bright_magenta [/enemy] [enemy] -tileset=sigmasua.png +tileSetFile=sigmasua.png animation=sigmasua.ani width=16 height=16 @@ -73,7 +73,7 @@ color=bright_green [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=9 x=15 y=5 @@ -81,7 +81,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=9 x=1 y=8 @@ -89,7 +89,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=9 x=30 y=8 @@ -97,7 +97,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=9 x=21 y=13 diff --git a/data/room/08.room b/data/room/08.room index 6749de2..9915d21 100644 --- a/data/room/08.room +++ b/data/room/08.room @@ -1,15 +1,15 @@ name=THE GARDEN bgColor=black border=cyan -tilemap=08.tmx -tileset=standard.png +tileMapFile=08.tmx +tileSetFile=standard.png roomUp=09.room roomDown=0 roomLeft=16.room roomRight=07.room [enemy] -tileset=abad.png +tileSetFile=abad.png animation=abad.ani width=8 height=16 @@ -26,7 +26,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=18 x=5 y=5 @@ -34,7 +34,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=18 x=25 y=9 @@ -42,7 +42,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=18 x=10 y=5 diff --git a/data/room/09.room b/data/room/09.room index 5aa8040..68716b7 100644 --- a/data/room/09.room +++ b/data/room/09.room @@ -1,15 +1,15 @@ name=no 09 bgColor=black border=red -tilemap=09.tmx -tileset=standard.png +tileMapFile=09.tmx +tileSetFile=standard.png roomUp=10.room roomDown=08.room roomLeft=0 roomRight=0 [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/10.room b/data/room/10.room index c451917..69b912e 100644 --- a/data/room/10.room +++ b/data/room/10.room @@ -1,15 +1,15 @@ name=the hall bgColor=black border=magenta -tilemap=10.tmx -tileset=standard.png +tileMapFile=10.tmx +tileSetFile=standard.png roomUp=0 roomDown=09.room roomLeft=0 roomRight=11.room [item] -tileset=items.png +tileSetFile=items.png tile=22 x=20 y=4 diff --git a/data/room/11.room b/data/room/11.room index 2b16b39..322c3fd 100644 --- a/data/room/11.room +++ b/data/room/11.room @@ -1,15 +1,15 @@ name=no 11 bgColor=black border=red -tilemap=11.tmx -tileset=standard.png +tileMapFile=11.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=10.room roomRight=12.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/12.room b/data/room/12.room index f2bce49..ef2ccfa 100644 --- a/data/room/12.room +++ b/data/room/12.room @@ -1,15 +1,15 @@ name=THE PASSAGE bgColor=black border=green -tilemap=12.tmx -tileset=standard.png +tileMapFile=12.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=11.room roomRight=13.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/13.room b/data/room/13.room index aa258e6..3c6fe18 100644 --- a/data/room/13.room +++ b/data/room/13.room @@ -1,15 +1,15 @@ name=matatunos bgColor=black border=blue -tilemap=13.tmx -tileset=standard.png +tileMapFile=13.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=12.room roomRight=14.room [enemy] -tileset=matatunos.png +tileSetFile=matatunos.png animation=matatunos.ani width=16 height=16 @@ -25,7 +25,7 @@ color=bright_blue [/enemy] [enemy] -tileset=tuno.png +tileSetFile=tuno.png animation=tuno.ani width=16 height=16 @@ -41,7 +41,7 @@ color=red [/enemy] [enemy] -tileset=tuno.png +tileSetFile=tuno.png animation=tuno.ani width=16 height=16 @@ -57,7 +57,7 @@ color=red [/enemy] [enemy] -tileset=tuno.png +tileSetFile=tuno.png animation=tuno.ani width=16 height=16 @@ -73,7 +73,7 @@ color=red [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=9 y=5 @@ -81,7 +81,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=16 y=5 @@ -89,7 +89,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=23 y=5 diff --git a/data/room/14.room b/data/room/14.room index c4719ff..e516bab 100644 --- a/data/room/14.room +++ b/data/room/14.room @@ -1,15 +1,15 @@ name=KILLING SPREE bgColor=black border=blue -tilemap=14.tmx -tileset=standard.png +tileMapFile=14.tmx +tileSetFile=standard.png roomUp=0 roomDown=15.room roomLeft=13.room roomRight=45.room [enemy] -tileset=matatunos.png +tileSetFile=matatunos.png animation=matatunos.ani width=16 height=16 @@ -25,7 +25,7 @@ color=bright_blue [/enemy] [enemy] -tileset=batman.png +tileSetFile=batman.png animation=batman.ani width=8 height=16 @@ -42,7 +42,7 @@ flip=true [/enemy] [enemy] -tileset=tuno.png +tileSetFile=tuno.png animation=tuno.ani width=16 height=16 @@ -58,7 +58,7 @@ color=red [/enemy] [enemy] -tileset=tuno.png +tileSetFile=tuno.png animation=tuno.ani width=16 height=16 @@ -74,7 +74,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=30 y=14 @@ -82,7 +82,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=25 y=4 diff --git a/data/room/15.room b/data/room/15.room index 5d058d9..f84adb0 100644 --- a/data/room/15.room +++ b/data/room/15.room @@ -1,8 +1,8 @@ name=now this is the batcave! bgColor=black border=black -tilemap=15.tmx -tileset=standard.png +tileMapFile=15.tmx +tileSetFile=standard.png roomUp=14.room roomDown=06.room roomLeft=0 @@ -11,7 +11,7 @@ itemColor1=yellow itemColor2=red [enemy] -tileset=batman.png +tileSetFile=batman.png animation=batman.ani width=8 height=16 @@ -28,7 +28,7 @@ flip=true [/enemy] [enemy] -tileset=bat.png +tileSetFile=bat.png animation=bat.ani width=9 height=7 @@ -44,7 +44,7 @@ color=bright_blue [/enemy] [enemy] -tileset=bat.png +tileSetFile=bat.png animation=bat.ani width=9 height=7 @@ -60,7 +60,7 @@ color=cyan [/enemy] [enemy] -tileset=bat.png +tileSetFile=bat.png animation=bat.ani width=9 height=7 @@ -76,7 +76,7 @@ color=red [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=5 y=2 @@ -84,7 +84,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=13 y=12 @@ -92,7 +92,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=14 y=12 @@ -100,7 +100,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=15 y=12 @@ -108,7 +108,7 @@ counter=4 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=16 y=12 @@ -116,7 +116,7 @@ counter=5 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=10 y=4 @@ -124,7 +124,7 @@ counter=6 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=0 x=17 y=7 diff --git a/data/room/16.room b/data/room/16.room index 542cb79..0810e60 100644 --- a/data/room/16.room +++ b/data/room/16.room @@ -3,15 +3,15 @@ bgColor=blue border=blue itemColor1=bright_cyan itemColor2=yellow -tilemap=16.tmx -tileset=standard.png +tileMapFile=16.tmx +tileSetFile=standard.png roomUp=44.room roomDown=0 roomLeft=17.room roomRight=08.room [enemy] -tileset=chip.png +tileSetFile=chip.png animation=chip.ani width=8 height=16 @@ -27,7 +27,7 @@ color=magenta [/enemy] [enemy] -tileset=chip.png +tileSetFile=chip.png animation=chip.ani width=8 height=16 @@ -43,7 +43,7 @@ color=bright_white [/enemy] [enemy] -tileset=wave.png +tileSetFile=wave.png animation=wave.ani width=8 height=8 @@ -59,7 +59,7 @@ color=bright_magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=6 x=2 y=2 @@ -67,7 +67,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=6 x=29 y=5 @@ -76,7 +76,7 @@ counter=2 [item] -tileset=items.png +tileSetFile=items.png tile=6 x=21 y=12 diff --git a/data/room/17.room b/data/room/17.room index 6e1787c..b949645 100644 --- a/data/room/17.room +++ b/data/room/17.room @@ -1,15 +1,15 @@ name=i remember this one too bgColor=black border=magenta -tilemap=17.tmx -tileset=standard.png +tileMapFile=17.tmx +tileSetFile=standard.png roomUp=0 roomDown=18.room roomLeft=49.room roomRight=16.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/18.room b/data/room/18.room index 4e73ec3..db27352 100644 --- a/data/room/18.room +++ b/data/room/18.room @@ -1,8 +1,8 @@ name=make money bgColor=black border=magenta -tilemap=18.tmx -tileset=standard.png +tileMapFile=18.tmx +tileSetFile=standard.png roomUp=17.room roomDown=54.room roomLeft=19.room @@ -12,7 +12,7 @@ itemColor2=magenta autoSurface=left [enemy] -tileset=code.png +tileSetFile=code.png animation=code.ani width=16 height=16 @@ -28,7 +28,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=19 y=3 @@ -36,7 +36,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=19 y=3 @@ -44,7 +44,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=20 y=3 @@ -52,7 +52,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=21 y=3 @@ -60,7 +60,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=22 y=3 @@ -68,7 +68,7 @@ counter=4 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=23 y=3 @@ -76,7 +76,7 @@ counter=5 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=24 y=3 @@ -84,7 +84,7 @@ counter=6 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=25 y=3 @@ -92,7 +92,7 @@ counter=7 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=26 y=3 @@ -100,7 +100,7 @@ counter=8 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=27 y=3 @@ -108,7 +108,7 @@ counter=9 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=28 y=3 @@ -116,7 +116,7 @@ counter=10 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=29 y=3 @@ -124,7 +124,7 @@ counter=11 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=14 x=30 y=3 diff --git a/data/room/19.room b/data/room/19.room index e822cb6..ff77970 100644 --- a/data/room/19.room +++ b/data/room/19.room @@ -1,8 +1,8 @@ name=this can't be the batcave bgColor=black border=cyan -tilemap=19.tmx -tileset=standard.png +tileMapFile=19.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=20.room @@ -11,7 +11,7 @@ itemColor1=cyan itemColor2=blue [enemy] -tileset=batman.png +tileSetFile=batman.png animation=batman.ani width=8 height=16 @@ -28,7 +28,7 @@ flip=true [/enemy] [enemy] -tileset=spider.png +tileSetFile=spider.png animation=spider.ani width=8 height=8 @@ -44,7 +44,7 @@ color=cyan [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=34 x=14 y=6 @@ -52,7 +52,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=34 x=15 y=6 @@ -60,7 +60,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=34 x=16 y=6 @@ -68,7 +68,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=34 x=17 y=6 @@ -76,7 +76,7 @@ counter=4 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=34 x=5 y=12 @@ -84,7 +84,7 @@ counter=5 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=34 x=26 y=12 diff --git a/data/room/20.room b/data/room/20.room index acbb3e5..23d40c5 100644 --- a/data/room/20.room +++ b/data/room/20.room @@ -1,8 +1,8 @@ name=ENTRANCE TO THE VALLEY bgColor=black border=blue -tilemap=20.tmx -tileset=standard.png +tileMapFile=20.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=21.room @@ -11,7 +11,7 @@ itemColor1=magenta itemColor2=blue [enemy] -tileset=bin.png +tileSetFile=bin.png animation=bin.ani width=16 height=8 @@ -27,7 +27,7 @@ color=magenta [/enemy] [enemy] -tileset=code.png +tileSetFile=code.png animation=code.ani width=16 height=16 @@ -43,7 +43,7 @@ color=yellow [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=11 x=7 y=3 @@ -51,7 +51,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=11 x=29 y=10 diff --git a/data/room/21.room b/data/room/21.room index 1cd1da5..3dc99f9 100644 --- a/data/room/21.room +++ b/data/room/21.room @@ -1,15 +1,15 @@ name=ENTER PAKU SIMBEL bgColor=black border=yellow -tilemap=21.tmx -tileset=standard.png +tileMapFile=21.tmx +tileSetFile=standard.png roomUp=23.room roomDown=0 roomLeft=22.room roomRight=20.room [enemy] -tileset=mummy.png +tileSetFile=mummy.png animation=mummy.ani width=8 height=16 @@ -26,7 +26,7 @@ flip=true [/enemy] [enemy] -tileset=spider.png +tileSetFile=spider.png animation=spider.ani width=8 height=8 @@ -43,7 +43,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=36 x=8 y=11 @@ -51,7 +51,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=36 x=19 y=11 @@ -59,7 +59,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=36 x=14 y=3 diff --git a/data/room/22.room b/data/room/22.room index be33f14..24cca9f 100644 --- a/data/room/22.room +++ b/data/room/22.room @@ -1,15 +1,15 @@ name=AEE2 never came out bgColor=black border=yellow -tilemap=22.tmx -tileset=standard.png +tileMapFile=22.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=0 roomRight=21.room [enemy] -tileset=mummy.png +tileSetFile=mummy.png animation=mummy.ani width=8 height=16 @@ -26,7 +26,7 @@ flip=true [/enemy] [enemy] -tileset=mummy.png +tileSetFile=mummy.png animation=mummy.ani width=8 height=16 @@ -43,7 +43,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=37 x=1 y=2 @@ -51,7 +51,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=37 x=19 y=5 diff --git a/data/room/23.room b/data/room/23.room index dfad92a..e5ad7bf 100644 --- a/data/room/23.room +++ b/data/room/23.room @@ -1,15 +1,15 @@ name=inner chamber bgColor=black border=bright_yellow -tilemap=23.tmx -tileset=standard.png +tileMapFile=23.tmx +tileSetFile=standard.png roomUp=0 roomDown=21.room roomLeft=24.room roomRight=0 [enemy] -tileset=wave_v.png +tileSetFile=wave_v.png animation=wave_v.ani width=8 height=8 @@ -25,7 +25,7 @@ color=magenta [/enemy] [enemy] -tileset=wave_v.png +tileSetFile=wave_v.png animation=wave_v.ani width=8 height=8 @@ -41,7 +41,7 @@ color=magenta [/enemy] [enemy] -tileset=wave_v.png +tileSetFile=wave_v.png animation=wave_v.ani width=8 height=8 @@ -57,7 +57,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=38 x=29 y=5 @@ -65,7 +65,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=38 x=2 y=4 diff --git a/data/room/24.room b/data/room/24.room index 205b341..42612b2 100644 --- a/data/room/24.room +++ b/data/room/24.room @@ -1,15 +1,15 @@ name=PLAY IT AGAIN, SAM bgColor=black border=bright_yellow -tilemap=24.tmx -tileset=standard.png +tileMapFile=24.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=0 roomRight=23.room [enemy] -tileset=sam.png +tileSetFile=sam.png animation=sam.ani width=16 height=16 @@ -25,7 +25,7 @@ color=white [/enemy] [enemy] -tileset=wave_v.png +tileSetFile=wave_v.png animation=wave_v.ani width=8 height=8 @@ -41,7 +41,7 @@ color=bright_green [/enemy] [enemy] -tileset=spider.png +tileSetFile=spider.png animation=spider.ani width=8 height=8 @@ -57,7 +57,7 @@ color=bright_green [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=31 x=2 y=6 @@ -65,7 +65,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=31 x=2 y=14 @@ -73,7 +73,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=31 x=15 y=7 @@ -81,7 +81,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=31 x=29 y=5 diff --git a/data/room/25.room b/data/room/25.room index 41fb7e2..8ce02fb 100644 --- a/data/room/25.room +++ b/data/room/25.room @@ -1,15 +1,15 @@ name=no 25 bgColor=black border=red -tilemap=25.tmx -tileset=standard.png +tileMapFile=25.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=06.room roomRight=26.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/26.room b/data/room/26.room index aabab34..6b5f39a 100644 --- a/data/room/26.room +++ b/data/room/26.room @@ -1,15 +1,15 @@ name=no 26 bgColor=black border=red -tilemap=26.tmx -tileset=standard.png +tileMapFile=26.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=25.room roomRight=27.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/27.room b/data/room/27.room index 88b11bc..e6290c8 100644 --- a/data/room/27.room +++ b/data/room/27.room @@ -1,15 +1,15 @@ name=no 27 bgColor=black border=red -tilemap=27.tmx -tileset=standard.png +tileMapFile=27.tmx +tileSetFile=standard.png roomUp=28.room roomDown=29.room roomLeft=0 roomRight=0 [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/28.room b/data/room/28.room index 80fbf48..3c6ef4a 100644 --- a/data/room/28.room +++ b/data/room/28.room @@ -1,15 +1,15 @@ name=no 28 bgColor=black border=red -tilemap=28.tmx -tileset=standard.png +tileMapFile=28.tmx +tileSetFile=standard.png roomUp=32.room roomDown=27.room roomLeft=0 roomRight=31.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/29.room b/data/room/29.room index 1c58dc8..643d187 100644 --- a/data/room/29.room +++ b/data/room/29.room @@ -1,15 +1,15 @@ name=no 29 bgColor=black border=red -tilemap=29.tmx -tileset=standard.png +tileMapFile=29.tmx +tileSetFile=standard.png roomUp=27.room roomDown=0 roomLeft=30.room roomRight=0 [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/30.room b/data/room/30.room index 6b2e6c2..017a9e1 100644 --- a/data/room/30.room +++ b/data/room/30.room @@ -1,15 +1,15 @@ name=no 30 bgColor=black border=red -tilemap=30.tmx -tileset=standard.png +tileMapFile=30.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=0 roomRight=29.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/31.room b/data/room/31.room index 166cba5..3362f5f 100644 --- a/data/room/31.room +++ b/data/room/31.room @@ -1,15 +1,15 @@ name=no 31 bgColor=black border=red -tilemap=31.tmx -tileset=standard.png +tileMapFile=31.tmx +tileSetFile=standard.png roomUp=33.room roomDown=0 roomLeft=28.room roomRight=0 [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/32.room b/data/room/32.room index 2f15b25..d9971d8 100644 --- a/data/room/32.room +++ b/data/room/32.room @@ -1,15 +1,15 @@ name=no 32 bgColor=black border=red -tilemap=32.tmx -tileset=standard.png +tileMapFile=32.tmx +tileSetFile=standard.png roomUp=34.room roomDown=28.room roomLeft=0 roomRight=33.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/33.room b/data/room/33.room index 42b0aef..8114524 100644 --- a/data/room/33.room +++ b/data/room/33.room @@ -1,15 +1,15 @@ name=no 33 bgColor=black border=red -tilemap=33.tmx -tileset=standard.png +tileMapFile=33.tmx +tileSetFile=standard.png roomUp=0 roomDown=31.room roomLeft=32.room roomRight=0 [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/34.room b/data/room/34.room index c987c3d..b75f84a 100644 --- a/data/room/34.room +++ b/data/room/34.room @@ -1,15 +1,15 @@ name=no 34 bgColor=black border=red -tilemap=34.tmx -tileset=standard.png +tileMapFile=34.tmx +tileSetFile=standard.png roomUp=0 roomDown=32.room roomLeft=35.room roomRight=0 [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/35.room b/data/room/35.room index e8cfd36..0117398 100644 --- a/data/room/35.room +++ b/data/room/35.room @@ -1,15 +1,15 @@ name=no 35 bgColor=black border=red -tilemap=35.tmx -tileset=standard.png +tileMapFile=35.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=36.room roomRight=34.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/36.room b/data/room/36.room index 3b05c58..c31b13d 100644 --- a/data/room/36.room +++ b/data/room/36.room @@ -1,15 +1,15 @@ name=no 36 bgColor=black border=red -tilemap=36.tmx -tileset=standard.png +tileMapFile=36.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=37.room roomRight=35.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/37.room b/data/room/37.room index 8c3c2ad..2e37530 100644 --- a/data/room/37.room +++ b/data/room/37.room @@ -1,15 +1,15 @@ name=no 37 bgColor=black border=red -tilemap=37.tmx -tileset=standard.png +tileMapFile=37.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=38.room roomRight=36.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/38.room b/data/room/38.room index 18c2db1..05bf078 100644 --- a/data/room/38.room +++ b/data/room/38.room @@ -1,15 +1,15 @@ name=the final crossover bgColor=black border=yellow -tilemap=38.tmx -tileset=standard.png +tileMapFile=38.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=39.room roomRight=37.room [enemy] -tileset=arounder_stop.png +tileSetFile=arounder_stop.png animation=arounder_stop.ani width=7 height=8 @@ -25,7 +25,7 @@ color=white [/enemy] [enemy] -tileset=arounder_stop.png +tileSetFile=arounder_stop.png animation=arounder_stop.ani width=7 height=8 @@ -41,7 +41,7 @@ color=white [/enemy] [enemy] -tileset=arounder_walk.png +tileSetFile=arounder_walk.png animation=arounder_walk.ani width=5 height=8 @@ -58,7 +58,7 @@ flip=true [/enemy] [enemy] -tileset=arounder_fly.png +tileSetFile=arounder_fly.png animation=arounder_fly.ani width=7 height=7 @@ -75,7 +75,7 @@ flip=true [/enemy] [enemy] -tileset=mummy.png +tileSetFile=mummy.png animation=mummy.ani width=8 height=16 @@ -92,7 +92,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=37 x=16 y=6 @@ -100,7 +100,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=37 x=1 y=4 @@ -108,7 +108,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=37 x=29 y=6 diff --git a/data/room/39.room b/data/room/39.room index aa255f4..fe37504 100644 --- a/data/room/39.room +++ b/data/room/39.room @@ -1,8 +1,8 @@ name=you'll believe arounder can fly bgColor=black border=cyan -tilemap=39.tmx -tileset=standard.png +tileMapFile=39.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=40.room @@ -11,7 +11,7 @@ itemColor1=magenta itemColor2=cyan [enemy] -tileset=arounders_door.png +tileSetFile=arounders_door.png animation=arounders_door.ani width=16 height=16 @@ -27,7 +27,7 @@ color=white [/enemy] [enemy] -tileset=arounder_fly.png +tileSetFile=arounder_fly.png animation=arounder_fly.ani width=7 height=7 @@ -44,7 +44,7 @@ flip=true [/enemy] [enemy] -tileset=arounder_fly.png +tileSetFile=arounder_fly.png animation=arounder_fly.ani width=7 height=7 @@ -61,7 +61,7 @@ flip=true [/enemy] [enemy] -tileset=arounder_fly.png +tileSetFile=arounder_fly.png animation=arounder_fly.ani width=7 height=7 @@ -78,7 +78,7 @@ flip=true [/enemy] [enemy] -tileset=arounder_fly.png +tileSetFile=arounder_fly.png animation=arounder_fly.ani width=7 height=7 @@ -95,7 +95,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=47 x=4 y=5 @@ -103,7 +103,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=47 x=26 y=1 @@ -111,7 +111,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=47 x=25 y=7 @@ -119,7 +119,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=47 x=25 y=14 diff --git a/data/room/40.room b/data/room/40.room index 0a0c60e..d37ca56 100644 --- a/data/room/40.room +++ b/data/room/40.room @@ -1,15 +1,15 @@ name=prevent the crisis bgColor=black border=bright_magenta -tilemap=40.tmx -tileset=standard.png +tileMapFile=40.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=41.room roomRight=39.room [enemy] -tileset=arounders_machine.png +tileSetFile=arounders_machine.png animation=arounders_machine.ani width=16 height=16 @@ -25,7 +25,7 @@ color=red [/enemy] [enemy] -tileset=arounder_walk.png +tileSetFile=arounder_walk.png animation=arounder_walk.ani width=5 height=8 @@ -42,7 +42,7 @@ flip=true [/enemy] [enemy] -tileset=arounder_walk.png +tileSetFile=arounder_walk.png animation=arounder_walk.ani width=5 height=8 @@ -59,7 +59,7 @@ flip=true [/enemy] [enemy] -tileset=arounder_walk.png +tileSetFile=arounder_walk.png animation=arounder_walk.ani width=5 height=8 @@ -76,7 +76,7 @@ flip=true [/enemy] [enemy] -tileset=arounder_walk.png +tileSetFile=arounder_walk.png animation=arounder_walk.ani width=5 height=8 @@ -93,7 +93,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=5 x=10 y=2 @@ -101,7 +101,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=5 x=25 y=5 diff --git a/data/room/41.room b/data/room/41.room index 9cb30f0..0330fbf 100644 --- a/data/room/41.room +++ b/data/room/41.room @@ -1,15 +1,15 @@ name=around with me bgColor=black border=blue -tilemap=41.tmx -tileset=standard.png +tileMapFile=41.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=42.room roomRight=40.room [enemy] -tileset=arounders_door.png +tileSetFile=arounders_door.png animation=arounders_door.ani width=16 height=16 @@ -25,7 +25,7 @@ color=bright_cyan [/enemy] [enemy] -tileset=arounder_stop.png +tileSetFile=arounder_stop.png animation=arounder_stop.ani width=7 height=8 @@ -41,7 +41,7 @@ color=bright_cyan [/enemy] [enemy] -tileset=arounder_stop.png +tileSetFile=arounder_stop.png animation=arounder_stop.ani width=7 height=8 @@ -57,7 +57,7 @@ color=bright_cyan [/enemy] [enemy] -tileset=arounder_stop.png +tileSetFile=arounder_stop.png animation=arounder_stop.ani width=7 height=8 @@ -73,7 +73,7 @@ color=bright_cyan [/enemy] [enemy] -tileset=arounder_walk.png +tileSetFile=arounder_walk.png animation=arounder_walk.ani width=5 height=8 @@ -90,7 +90,7 @@ flip=true [/enemy] [enemy] -tileset=arounder_walk.png +tileSetFile=arounder_walk.png animation=arounder_walk.ani width=5 height=8 @@ -107,7 +107,7 @@ flip=true [/enemy] [enemy] -tileset=arounder_walk.png +tileSetFile=arounder_walk.png animation=arounder_walk.ani width=5 height=8 @@ -124,7 +124,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=46 x=9 y=2 diff --git a/data/room/42.room b/data/room/42.room index 594ecab..264082d 100644 --- a/data/room/42.room +++ b/data/room/42.room @@ -1,8 +1,8 @@ name=P.A.C.O. on the go bgColor=black border=black -tilemap=42.tmx -tileset=standard.png +tileMapFile=42.tmx +tileSetFile=standard.png roomUp=0 roomDown=43.room roomLeft=53.room @@ -11,7 +11,7 @@ itemColor1=magenta itemColor2=red [enemy] -tileset=paco.png +tileSetFile=paco.png animation=paco.ani width=16 height=16 @@ -27,7 +27,7 @@ color=green [/enemy] [enemy] -tileset=abad.png +tileSetFile=abad.png animation=abad.ani width=8 height=16 @@ -44,7 +44,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=41 x=2 y=9 @@ -52,7 +52,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=41 x=29 y=3 diff --git a/data/room/43.room b/data/room/43.room index 12652c2..e2368af 100644 --- a/data/room/43.room +++ b/data/room/43.room @@ -1,8 +1,8 @@ name=the tube bgColor=black border=blue -tilemap=43.tmx -tileset=standard.png +tileMapFile=43.tmx +tileSetFile=standard.png roomUp=42.room roomDown=44.room roomLeft=0 @@ -11,7 +11,7 @@ itemColor1=yellow itemColor2=red [enemy] -tileset=spider.png +tileSetFile=spider.png animation=spider.ani width=8 height=8 @@ -27,7 +27,7 @@ color=cyan [/enemy] [enemy] -tileset=spider.png +tileSetFile=spider.png animation=spider.ani width=8 height=8 @@ -43,7 +43,7 @@ color=green [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=8 x=21 y=10 diff --git a/data/room/44.room b/data/room/44.room index 357b274..2a27ecf 100644 --- a/data/room/44.room +++ b/data/room/44.room @@ -1,15 +1,15 @@ name=the kitchen bgColor=black border=cyan -tilemap=44.tmx -tileset=standard.png +tileMapFile=44.tmx +tileSetFile=standard.png roomUp=43.room roomDown=16.room roomLeft=0 roomRight=0 [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/45.room b/data/room/45.room index 62ab4ea..b64ad8c 100644 --- a/data/room/45.room +++ b/data/room/45.room @@ -1,15 +1,15 @@ name=FEEL THE HEAT bgColor=red border=black -tilemap=45.tmx -tileset=standard.png +tileMapFile=45.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=14.room roomRight=46.room [enemy] -tileset=chip.png +tileSetFile=chip.png animation=chip.ani width=8 height=16 @@ -25,7 +25,7 @@ color=green [/enemy] [enemy] -tileset=chip.png +tileSetFile=chip.png animation=chip.ani width=8 height=16 @@ -41,7 +41,7 @@ color=bright_blue [/enemy] [enemy] -tileset=chip.png +tileSetFile=chip.png animation=chip.ani width=8 height=16 @@ -57,7 +57,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=5 x=12 y=2 diff --git a/data/room/46.room b/data/room/46.room index aba1468..b772fa4 100644 --- a/data/room/46.room +++ b/data/room/46.room @@ -1,15 +1,15 @@ name=no 46 bgColor=black border=red -tilemap=46.tmx -tileset=standard.png +tileMapFile=46.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=45.room roomRight=0 [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=1 diff --git a/data/room/47.room b/data/room/47.room index 8fe830e..ca7a126 100644 --- a/data/room/47.room +++ b/data/room/47.room @@ -1,8 +1,8 @@ name=the battle never ends bgColor=black border=white -tilemap=47.tmx -tileset=standard.png +tileMapFile=47.tmx +tileSetFile=standard.png roomUp=51.room roomDown=0 roomLeft=48.room @@ -11,7 +11,7 @@ itemColor1=red itemColor2=yellow [enemy] -tileset=jailbattle_alien.png +tileSetFile=jailbattle_alien.png animation=jailbattle_alien.ani width=13 height=15 @@ -28,7 +28,7 @@ flip=true [/enemy] [enemy] -tileset=jailbattle_alien.png +tileSetFile=jailbattle_alien.png animation=jailbattle_alien.ani width=13 height=15 @@ -45,7 +45,7 @@ flip=true [/enemy] [enemy] -tileset=jailbattle_human.png +tileSetFile=jailbattle_human.png animation=jailbattle_human.ani width=11 height=13 @@ -62,7 +62,7 @@ flip=true [/enemy] [enemy] -tileset=jailbattle_human.png +tileSetFile=jailbattle_human.png animation=jailbattle_human.ani width=11 height=13 @@ -79,7 +79,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=19 x=6 y=14 @@ -87,7 +87,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=19 x=14 y=14 @@ -95,7 +95,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=19 x=23 y=14 @@ -103,7 +103,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=19 x=28 y=6 @@ -111,7 +111,7 @@ counter=4 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=19 x=14 y=5 diff --git a/data/room/48.room b/data/room/48.room index f0f9621..9c9292c 100644 --- a/data/room/48.room +++ b/data/room/48.room @@ -1,8 +1,8 @@ name=welcome to the jailbattle bgColor=green border=bright_green -tilemap=48.tmx -tileset=standard.png +tileMapFile=48.tmx +tileSetFile=standard.png roomUp=0 roomDown=49.room roomLeft=0 @@ -11,7 +11,7 @@ itemColor1=white itemColor2=green [enemy] -tileset=jailbattle_human.png +tileSetFile=jailbattle_human.png animation=jailbattle_human.ani width=11 height=13 @@ -28,7 +28,7 @@ flip=true [/enemy] [enemy] -tileset=jailbattle_human.png +tileSetFile=jailbattle_human.png animation=jailbattle_human.ani width=11 height=13 @@ -45,7 +45,7 @@ flip=true [/enemy] [enemy] -tileset=jailbattle_human.png +tileSetFile=jailbattle_human.png animation=jailbattle_human.ani width=11 height=13 @@ -62,7 +62,7 @@ flip=true [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=19 x=27 y=11 @@ -70,7 +70,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=19 x=3 y=3 @@ -78,7 +78,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=19 x=23 y=4 diff --git a/data/room/49.room b/data/room/49.room index d761d15..72a0177 100644 --- a/data/room/49.room +++ b/data/room/49.room @@ -1,15 +1,15 @@ name=bamba bgColor=black border=red -tilemap=49.tmx -tileset=standard.png +tileMapFile=49.tmx +tileSetFile=standard.png roomUp=48.room roomDown=0 roomLeft=50.room roomRight=17.room [enemy] -tileset=macaronni_ted.png +tileSetFile=macaronni_ted.png animation=macaronni_ted.ani width=16 height=32 diff --git a/data/room/50.room b/data/room/50.room index d613cfd..3d2d4d5 100644 --- a/data/room/50.room +++ b/data/room/50.room @@ -1,15 +1,15 @@ name=stored jailgames bgColor=black border=blue -tilemap=50.tmx -tileset=standard.png +tileMapFile=50.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=0 roomRight=49.room [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -25,7 +25,7 @@ color=magenta [/enemy] [enemy] -tileset=diskette.png +tileSetFile=diskette.png animation=diskette.ani width=16 height=16 @@ -41,7 +41,7 @@ color=yellow [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=4 y=9 @@ -49,7 +49,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=25 y=9 @@ -57,7 +57,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=2 y=5 @@ -65,7 +65,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=1 y=14 diff --git a/data/room/51.room b/data/room/51.room index 18740dd..403f794 100644 --- a/data/room/51.room +++ b/data/room/51.room @@ -1,8 +1,8 @@ name=mini ascii bgColor=black border=black -tilemap=51.tmx -tileset=standard.png +tileMapFile=51.tmx +tileSetFile=standard.png roomUp=53.room roomDown=47.room roomLeft=52.room @@ -11,7 +11,7 @@ itemColor1=bright_white itemColor2=black [enemy] -tileset=amstrad_character_set.png +tileSetFile=amstrad_character_set.png animation=amstrad_character_set.ani width=8 height=8 @@ -27,7 +27,7 @@ color=white [/enemy] [enemy] -tileset=amstrad_character_set.png +tileSetFile=amstrad_character_set.png animation=amstrad_character_set.ani width=8 height=8 @@ -43,7 +43,7 @@ color=yellow [/enemy] [enemy] -tileset=amstrad_character_set.png +tileSetFile=amstrad_character_set.png animation=amstrad_character_set.ani width=8 height=8 @@ -59,7 +59,7 @@ color=green [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=39 x=28 y=2 @@ -67,7 +67,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=39 x=9 y=9 diff --git a/data/room/52.room b/data/room/52.room index c23312d..75946c1 100644 --- a/data/room/52.room +++ b/data/room/52.room @@ -1,8 +1,8 @@ name=breakout.lua bgColor=black border=black -tilemap=52.tmx -tileset=standard.png +tileMapFile=52.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=0 @@ -11,7 +11,7 @@ itemColor1=bright_white itemColor2=black [enemy] -tileset=breakout.png +tileSetFile=breakout.png animation=breakout.ani width=24 height=32 @@ -27,7 +27,7 @@ color=white [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=39 x=1 y=13 diff --git a/data/room/53.room b/data/room/53.room index 40b1d38..1257552 100644 --- a/data/room/53.room +++ b/data/room/53.room @@ -1,8 +1,8 @@ name=P.A.C.O workshop bgColor=black border=yellow -tilemap=53.tmx -tileset=standard.png +tileMapFile=53.tmx +tileSetFile=standard.png roomUp=0 roomDown=51.room roomLeft=0 @@ -11,7 +11,7 @@ itemColor1=magenta itemColor2=red [enemy] -tileset=paco.png +tileSetFile=paco.png animation=paco.ani width=16 height=16 @@ -27,7 +27,7 @@ color=yellow [/enemy] [enemy] -tileset=paco.png +tileSetFile=paco.png animation=paco.ani width=16 height=16 @@ -43,7 +43,7 @@ color=bright_red [/enemy] [enemy] -tileset=wave.png +tileSetFile=wave.png animation=wave.ani width=8 height=8 @@ -59,7 +59,7 @@ color=bright_yellow [/enemy] [enemy] -tileset=lamp.png +tileSetFile=lamp.png animation=lamp.ani width=16 height=16 @@ -75,7 +75,7 @@ color=bright_yellow [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=40 x=1 y=6 @@ -83,7 +83,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=40 x=1 y=9 @@ -91,7 +91,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=40 x=30 y=5 diff --git a/data/room/54.room b/data/room/54.room index bedd21c..4c6162d 100644 --- a/data/room/54.room +++ b/data/room/54.room @@ -1,8 +1,8 @@ name=the basement bgColor=black border=green -tilemap=54.tmx -tileset=standard.png +tileMapFile=54.tmx +tileSetFile=standard.png roomUp=18.room roomDown=0 roomLeft=0 @@ -11,7 +11,7 @@ itemColor1=yellow itemColor2=blue [enemy] -tileset=spider.png +tileSetFile=spider.png animation=spider.ani width=8 height=8 @@ -27,7 +27,7 @@ color=magenta [/enemy] [enemy] -tileset=spider.png +tileSetFile=spider.png animation=spider.ani width=8 height=8 @@ -43,7 +43,7 @@ color=yellow [/enemy] [enemy] -tileset=spider.png +tileSetFile=spider.png animation=spider.ani width=8 height=8 @@ -59,7 +59,7 @@ color=cyan [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=35 x=15 y=9 @@ -67,7 +67,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=35 x=1 y=14 @@ -75,7 +75,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=35 x=1 y=9 diff --git a/data/room/55.room b/data/room/55.room index 932bfda..f76d179 100644 --- a/data/room/55.room +++ b/data/room/55.room @@ -1,8 +1,8 @@ name=that's a guitar bgColor=black border=black -tilemap=55.tmx -tileset=standard.png +tileMapFile=55.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=54.room @@ -12,7 +12,7 @@ itemColor2=red autoSurface=left [enemy] -tileset=dimallas.png +tileSetFile=dimallas.png animation=dimallas.ani width=16 height=16 @@ -28,7 +28,7 @@ color=green [/enemy] [enemy] -tileset=heavy.png +tileSetFile=heavy.png animation=heavy.ani width=16 height=16 @@ -44,7 +44,7 @@ color=red [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=25 x=9 y=4 diff --git a/data/room/56.room b/data/room/56.room index 53a5766..ea37fc3 100644 --- a/data/room/56.room +++ b/data/room/56.room @@ -1,8 +1,8 @@ name=heavy demons on leggins bgColor=black border=black -tilemap=56.tmx -tileset=standard.png +tileMapFile=56.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=55.room @@ -12,7 +12,7 @@ itemColor2=green autoSurface=left [enemy] -tileset=demon.png +tileSetFile=demon.png animation=demon.ani width=16 height=16 @@ -28,7 +28,7 @@ color=red [/enemy] [enemy] -tileset=demon.png +tileSetFile=demon.png animation=demon.ani width=16 height=16 @@ -44,7 +44,7 @@ color=red [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=28 x=15 y=10 @@ -52,7 +52,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=28 x=16 y=10 @@ -60,7 +60,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=28 x=15 y=5 @@ -68,7 +68,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=28 x=16 y=5 diff --git a/data/room/57.room b/data/room/57.room index a2ddfd7..a4a43bf 100644 --- a/data/room/57.room +++ b/data/room/57.room @@ -1,8 +1,8 @@ name=jailgames go to hell bgColor=red border=bright_red -tilemap=57.tmx -tileset=standard.png +tileMapFile=57.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=56.room @@ -12,7 +12,7 @@ itemColor2=green autoSurface=left [enemy] -tileset=dimallas.png +tileSetFile=dimallas.png animation=dimallas.ani width=16 height=16 @@ -28,7 +28,7 @@ color=green [/enemy] [enemy] -tileset=dimallas_v.png +tileSetFile=dimallas_v.png animation=dimallas_v.ani width=16 height=16 @@ -44,7 +44,7 @@ color=white [/enemy] [enemy] -tileset=dimallas_v.png +tileSetFile=dimallas_v.png animation=dimallas_v.ani width=16 height=16 @@ -60,7 +60,7 @@ color=yellow [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=32 x=7 y=8 @@ -68,7 +68,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=32 x=14 y=8 @@ -76,7 +76,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=32 x=21 y=8 @@ -84,7 +84,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=32 x=9 y=14 @@ -92,7 +92,7 @@ counter=4 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=32 x=19 y=14 diff --git a/data/room/58.room b/data/room/58.room index ff7b48c..969a36b 100644 --- a/data/room/58.room +++ b/data/room/58.room @@ -1,15 +1,15 @@ name=chirping bgColor=black border=magenta -tilemap=58.tmx -tileset=standard.png +tileMapFile=58.tmx +tileSetFile=standard.png roomUp=0 roomDown=0 roomLeft=57.room roomRight=59.room [enemy] -tileset=bird.png +tileSetFile=bird.png animation=bird.ani width=16 height=16 @@ -25,7 +25,7 @@ color=yellow [/enemy] [enemy] -tileset=bird.png +tileSetFile=bird.png animation=bird.ani width=16 height=16 @@ -41,7 +41,7 @@ color=green [/enemy] [enemy] -tileset=bird.png +tileSetFile=bird.png animation=bird.ani width=16 height=16 @@ -57,7 +57,7 @@ color=white [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=10 x=2 y=8 @@ -65,7 +65,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=10 x=2 y=3 @@ -73,7 +73,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=10 x=29 y=8 @@ -81,7 +81,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=10 x=29 y=3 diff --git a/data/room/59.room b/data/room/59.room index 6b9bf0a..a5e725c 100644 --- a/data/room/59.room +++ b/data/room/59.room @@ -1,15 +1,15 @@ name=static bgColor=black border=bright_magenta -tilemap=59.tmx -tileset=standard.png +tileMapFile=59.tmx +tileSetFile=standard.png roomUp=60.room roomDown=0 roomLeft=58.room roomRight=0 [enemy] -tileset=wave.png +tileSetFile=wave.png animation=wave.ani width=8 height=8 @@ -25,7 +25,7 @@ color=magenta [/enemy] [enemy] -tileset=wave.png +tileSetFile=wave.png animation=wave.ani width=8 height=8 @@ -41,7 +41,7 @@ color=cyan [/enemy] [enemy] -tileset=wave.png +tileSetFile=wave.png animation=wave.ani width=8 height=8 @@ -57,7 +57,7 @@ color=green [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=24 x=29 y=13 @@ -65,7 +65,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=24 x=17 y=6 @@ -73,7 +73,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=24 x=9 y=6 @@ -81,7 +81,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=24 x=2 y=9 @@ -90,7 +90,7 @@ counter=4 [item] -tileset=items.png +tileSetFile=items.png tile=24 x=29 y=3 diff --git a/data/room/60.room b/data/room/60.room index 1132c5d..67383a1 100644 --- a/data/room/60.room +++ b/data/room/60.room @@ -1,8 +1,8 @@ name=magnetic fields bgColor=black border=red -tilemap=60.tmx -tileset=standard.png +tileMapFile=60.tmx +tileSetFile=standard.png roomUp=05.room roomDown=59.room roomLeft=0 @@ -11,7 +11,7 @@ itemColor1=red itemColor2=green [enemy] -tileset=wave_v.png +tileSetFile=wave_v.png animation=wave_v.ani width=8 height=8 @@ -27,7 +27,7 @@ color=yellow [/enemy] [enemy] -tileset=wave_v.png +tileSetFile=wave_v.png animation=wave_v.ani width=8 height=8 @@ -43,7 +43,7 @@ color=yellow [/enemy] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=5 y=4 @@ -51,7 +51,7 @@ counter=1 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=4 y=9 @@ -59,7 +59,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=9 y=9 @@ -67,7 +67,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=22 y=9 @@ -75,7 +75,7 @@ counter=2 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=27 y=9 @@ -83,7 +83,7 @@ counter=3 [/item] [item] -tileset=items.png +tileSetFile=items.png tile=1 x=26 y=4 diff --git a/source/common/animatedsprite.cpp b/source/common/animatedsprite.cpp index 30890fb..bcc91d9 100644 --- a/source/common/animatedsprite.cpp +++ b/source/common/animatedsprite.cpp @@ -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 if (line == "[animation]") { - t_animation buffer; + animation_t buffer; buffer.counter = 0; buffer.currentFrame = 0; 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 if (line == "[animation]") { - t_animation buffer; + animation_t buffer; buffer.counter = 0; buffer.currentFrame = 0; buffer.completed = false; @@ -505,7 +505,7 @@ bool AnimatedSprite::loadFromVector(std::vector *source) // Si la linea contiene el texto [animation] se realiza el proceso de carga de una animación if (line == "[animation]") { - t_animation buffer; + animation_t buffer; buffer.counter = 0; buffer.currentFrame = 0; buffer.completed = false; diff --git a/source/common/animatedsprite.h b/source/common/animatedsprite.h index 58d9117..efb30e3 100644 --- a/source/common/animatedsprite.h +++ b/source/common/animatedsprite.h @@ -11,7 +11,7 @@ #ifndef ANIMATEDSPRITE_H #define ANIMATEDSPRITE_H -struct t_animation +struct animation_t { std::string name; // Nombre de la animacion std::vector frames; // Cada uno de los frames que componen la animación @@ -24,7 +24,7 @@ struct t_animation struct animatedSprite_t { - std::vector animations; // Vector con las diferentes animaciones + std::vector animations; // Vector con las diferentes animaciones Texture *texture; // Textura con los graficos para el sprite }; @@ -35,7 +35,7 @@ class AnimatedSprite : public MovingSprite { private: // Variables - std::vector animation; // Vector con las diferentes animaciones + std::vector animation; // Vector con las diferentes animaciones int currentAnimation; // Animacion activa public: diff --git a/source/common/resource.cpp b/source/common/resource.cpp index 19efac2..e5ca8c8 100644 --- a/source/common/resource.cpp +++ b/source/common/resource.cpp @@ -14,7 +14,7 @@ void Resource::loadTextures(std::vector list) { for (auto l : list) { - texture_t t; + res_texture_t t; t.name = l; t.texture = new Texture(renderer, asset->get(l)); textures.push_back(t); @@ -26,7 +26,7 @@ void Resource::loadAnimations(std::vector list) { for (auto l : list) { - animation_t as; + res_animation_t as; as.name = l + ".ani"; as.animation = new animatedSprite_t(loadAnimationFromFile(getTexture(l + ".png"), asset->get(l + ".ani"))); animations.push_back(as); @@ -38,13 +38,48 @@ void Resource::loadOffsets(std::vector list) { for (auto l : list) { - textOffset_t to; + res_textOffset_t to; to.name = l; to.textFile = new textFile_t(LoadTextFile(asset->get(l))); offsets.push_back(to); } } +// Carga los mapas de tiles desde una lista +void Resource::loadTileMaps(std::vector list) +{ + for (auto l : list) + { + res_tileMap_t tm; + tm.name = l; + tm.tileMap = new std::vector(loadRoomTileFile(asset->get(l))); + tileMaps.push_back(tm); + } +} + +// Carga las habitaciones desde una lista +void Resource::loadRooms(std::vector 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 void Resource::reLoadTextures() { @@ -84,12 +119,34 @@ void Resource::freeOffsets() 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 void Resource::free() { freeTextures(); freeAnimations(); freeOffsets(); + freeTileMaps(); + freeRooms(); } // Obtiene una textura @@ -99,12 +156,11 @@ Texture *Resource::getTexture(std::string name) { if (texture.name.find(name) != std::string::npos) { - std::cout << "CACHE: " << name << std::endl; return texture.texture; } } - std::cout << "NOT FOUND: " << name << std::endl; + std::cout << "NOT FOUND ON CACHE: " << name << std::endl; return nullptr; } @@ -115,12 +171,11 @@ animatedSprite_t *Resource::getAnimation(std::string name) { if (animation.name.find(name) != std::string::npos) { - std::cout << "CACHE: " << name << std::endl; return animation.animation; } } - std::cout << "NOT FOUND: " << name << std::endl; + std::cout << "NOT FOUND ON CACHE: " << name << std::endl; return nullptr; } @@ -131,11 +186,40 @@ textFile_t *Resource::getOffset(std::string name) { if (offset.name.find(name) != std::string::npos) { - std::cout << "CACHE: " << name << std::endl; 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 *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; } \ No newline at end of file diff --git a/source/common/resource.h b/source/common/resource.h index fb8cb4d..ef71419 100644 --- a/source/common/resource.h +++ b/source/common/resource.h @@ -3,6 +3,7 @@ #include #include "animatedsprite.h" #include "asset.h" +#include "../room.h" #include "text.h" #include "texture.h" #include "utils.h" @@ -12,24 +13,36 @@ #ifndef RESOURCE_H #define RESOURCE_H -struct texture_t +struct res_texture_t { std::string name; // Nombre de la textura Texture *texture; // La textura }; -struct animation_t +struct res_animation_t { std::string name; // Nombre de la textura 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 }; +struct res_tileMap_t +{ + std::string name; // Nombre del mapa de tiles + std::vector *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 class Resource { @@ -40,9 +53,11 @@ private: options_t *options; // Puntero a las opciones del juego // Variables - std::vector textures; - std::vector animations; - std::vector offsets; + std::vector textures; + std::vector animations; + std::vector offsets; + std::vector tileMaps; + std::vector rooms; public: // Constructor @@ -57,6 +72,12 @@ public: // Carga los offsets desde una lista void loadOffsets(std::vector list); + // Carga los mapas de tiles desde una lista + void loadTileMaps(std::vector list); + + // Carga las habitaciones desde una lista + void loadRooms(std::vector list); + // Recarga las texturas void reLoadTextures(); @@ -69,6 +90,12 @@ public: // Libera los offsets void freeOffsets(); + // Libera los mapas de tiles + void freeTileMaps(); + + // Libera las habitaciones + void freeRooms(); + // Libera todos los recursos void free(); @@ -80,6 +107,12 @@ public: // Obtiene un offset textFile_t *getOffset(std::string name); + + // Obtiene un mapa de tiles + std::vector *getTileMap(std::string name); + + // Obtiene una habitacion + room_t *getRoom(std::string name); }; #endif diff --git a/source/demo.cpp b/source/demo.cpp index 13554d4..6bd48be 100644 --- a/source/demo.cpp +++ b/source/demo.cpp @@ -25,7 +25,7 @@ Demo::Demo(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as // Crea los objetos itemTracker = new ItemTracker(); 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(); text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer); @@ -224,7 +224,7 @@ bool Demo::changeRoom(std::string file) room = nullptr; // 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 const color_t c = room->getBorderColor(); // Pone el color del marcador diff --git a/source/director.cpp b/source/director.cpp index 770b265..b121dc9 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -9,7 +9,7 @@ Director::Director(std::string path) section.name = SECTION_PROG_LOGO; 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 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"); resource->loadOffsets(offsetsList); + + // TileMaps + std::vector 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 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; diff --git a/source/enemy.cpp b/source/enemy.cpp index fe69773..4c727fc 100644 --- a/source/enemy.cpp +++ b/source/enemy.cpp @@ -1,19 +1,10 @@ #include "enemy.h" -#include -#include // Constructor Enemy::Enemy(enemy_t enemy) { - // Obten punteros a objetos - resource = enemy.resource; - asset = enemy.asset; - renderer = enemy.renderer; - // Crea objetos - texture = resource->getTexture(enemy.tileset); - //sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation)); - sprite = new AnimatedSprite(renderer, resource->getAnimation(enemy.animation)); + sprite = new AnimatedSprite(enemy.renderer, enemy.animation); // Obten el resto de valores x1 = enemy.x1; @@ -103,7 +94,7 @@ SDL_Rect &Enemy::getCollider() // Recarga la textura void Enemy::reLoadTexture() { - texture->reLoad(); + sprite->getTexture()->reLoad(); } // Asigna la paleta diff --git a/source/enemy.h b/source/enemy.h index ec1d76e..c6ae180 100644 --- a/source/enemy.h +++ b/source/enemy.h @@ -1,8 +1,8 @@ #pragma once + #include #include "common/animatedsprite.h" #include "common/asset.h" -#include "common/resource.h" #include "common/utils.h" #include @@ -12,34 +12,28 @@ // Estructura para pasar los datos de un enemigo struct enemy_t { - 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 - std::string tileset; // Fichero con los graficos del enemigo - std::string animation; // Fichero con las animaciones del enemigo - int w; // Anchura del enemigo - int h; // Altura del enemigo - float x; // Posición inicial en el eje X - float y; // Posición inicial en el eje Y - float vx; // Velocidad en el eje X - float vy; // Velocidad en el eje Y - int x1; // Limite izquierdo de la ruta en el eje X - int x2; // Limite derecho de la ruta en el eje X - int y1; // Limite superior de la ruta en el eje Y - int y2; // Limite inferior de la ruta en el eje Y - bool flip; // Indica si el enemigo hace flip al terminar su ruta - std::string color; // Color del enemigo - palette_e palette; // Paleta de colores + SDL_Renderer *renderer; // El renderizador de la ventana + animatedSprite_t *animation; // Puntero a las animaciones del enemigo + std::string animationString; // Ruta al fichero con la animación + int w; // Anchura del enemigo + int h; // Altura del enemigo + float x; // Posición inicial en el eje X + float y; // Posición inicial en el eje Y + float vx; // Velocidad en el eje X + float vy; // Velocidad en el eje Y + int x1; // Limite izquierdo de la ruta en el eje X + int x2; // Limite derecho de la ruta en el eje X + int y1; // Limite superior de la ruta en el eje Y + int y2; // Limite inferior de la ruta en el eje Y + bool flip; // Indica si el enemigo hace flip al terminar su ruta + std::string color; // Color del enemigo + palette_e palette; // Paleta de colores }; class Enemy { private: // 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 // Variables diff --git a/source/game.cpp b/source/game.cpp index a812854..97f007b 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -30,7 +30,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as scoreboard = new ScoreBoard(renderer, resource, asset, options, &board); itemTracker = new ItemTracker(); 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); eventHandler = new SDL_Event(); text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer); @@ -301,7 +301,7 @@ bool Game::changeRoom(std::string file) room = nullptr; // 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 const color_t c = room->getBorderColor(); // Pone el color del marcador @@ -390,7 +390,7 @@ void Game::killPlayer() setBlackScreen(); // 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); room->pause(); diff --git a/source/item.cpp b/source/item.cpp index 46df0fa..678685b 100644 --- a/source/item.cpp +++ b/source/item.cpp @@ -7,14 +7,8 @@ Item::Item(item_t item) { const int itemSize = 8; - // Obten punteros a objetos - resource = item.resource; - asset = item.asset; - renderer = item.renderer; - - // Crea objetos - texture = resource->getTexture(item.tileset); - sprite = new Sprite(item.x, item.y, itemSize, itemSize, texture, renderer); + // Crea objetos; + sprite = new Sprite(item.x, item.y, itemSize, itemSize, item.texture, item.renderer); // Inicia variables sprite->setSpriteClip((item.tile % 10) * itemSize, (item.tile / 10) * itemSize, itemSize, itemSize); @@ -69,7 +63,7 @@ SDL_Point Item::getPos() // Recarga la textura void Item::reLoadTexture() { - texture->reLoad(); + sprite->getTexture()->reLoad(); } // Asigna los colores del objeto diff --git a/source/item.h b/source/item.h index cc195bf..1df9e61 100644 --- a/source/item.h +++ b/source/item.h @@ -2,7 +2,6 @@ #include #include "common/asset.h" -#include "common/resource.h" #include "common/sprite.h" #include "common/utils.h" #include @@ -12,27 +11,22 @@ struct item_t { - 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 - std::string tileset; // Fichero con los graficos del item - int x; // Posicion del item en pantalla - int y; // Posicion del item en pantalla - int tile; // Numero de tile dentro de la textura - int counter; // Contador inicial. Es el que lo hace cambiar de color - color_t color1; // Uno de los dos colores que se utiliza para el item - color_t color2; // Uno de los dos colores que se utiliza para el item + SDL_Renderer *renderer; // El renderizador de la ventana + Texture *texture; // Textura con los graficos del item + std::string tileSetFile; // Ruta al fichero con los graficos del item + int x; // Posicion del item en pantalla + int y; // Posicion del item en pantalla + int tile; // Numero de tile dentro de la textura + int counter; // Contador inicial. Es el que lo hace cambiar de color + color_t color1; // Uno de los dos colores que se utiliza para el item + color_t color2; // Uno de los dos colores que se utiliza para el item }; class Item { private: // 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 std::vector color; // Vector con los colores del objeto diff --git a/source/room.cpp b/source/room.cpp index 610291d..0da797b 100644 --- a/source/room.cpp +++ b/source/room.cpp @@ -3,92 +3,10 @@ #include #include -// Constructor -Room::Room(std::string file, SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, ItemTracker *itemTracker, int *items, Debug *debug) -{ - // 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) +// Carga las variables y texturas desde un fichero de mapa de tiles +std::vector loadRoomTileFile(std::string file_path) { + std::vector tileMapFile; const std::string filename = file_path.substr(file_path.find_last_of("\\/") + 1); std::string line; std::ifstream file(file_path); @@ -97,18 +15,64 @@ bool Room::loadMapFile(std::string file_path) if (file.good()) { // 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 != "") + { // 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)) { // Si la linea contiene el texto [enemy] se realiza el proceso de carga de un enemigo if (line == "[enemy]") { enemy_t enemy; - enemy.resource = resource; - enemy.asset = asset; - enemy.renderer = renderer; + // enemy.renderer = renderer; enemy.flip = false; - enemy.palette = options->palette; + enemy.palette = p_zxspectrum; do { @@ -116,7 +80,7 @@ bool Room::loadMapFile(std::string file_path) // Encuentra la posición del caracter '=' int pos = line.find("="); - + // Procesa las dos subcadenas if (!setEnemy(&enemy, line.substr(0, pos), line.substr(pos + 1, line.length()))) { @@ -125,19 +89,17 @@ bool Room::loadMapFile(std::string file_path) } while (line != "[/enemy]"); // 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 else if (line == "[item]") { item_t item; - item.resource = resource; - item.asset = asset; - item.renderer = renderer; + // item.renderer = renderer; item.counter = 0; - item.color1 = stringToColor(options->palette, itemColor1); - item.color2 = stringToColor(options->palette, itemColor2); + item.color1 = stringToColor(p_zxspectrum, "yellow"); + item.color2 = stringToColor(p_zxspectrum, "magenta"); do { @@ -155,11 +117,12 @@ bool Room::loadMapFile(std::string file_path) } while (line != "[/item]"); // Añade el item al vector de items - const SDL_Point itemPos = {item.x, item.y}; - if (!itemTracker->hasBeenPicked(name, itemPos)) - { - items.push_back(new Item(item)); - } + // const SDL_Point itemPos = {item.x, item.y}; + // if (!itemTracker->hasBeenPicked(room.name, itemPos)) + //{ + // 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 @@ -168,7 +131,7 @@ bool Room::loadMapFile(std::string file_path) // Encuentra la posición del caracter '=' int pos = line.find("="); // 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()); } @@ -176,149 +139,100 @@ bool Room::loadMapFile(std::string file_path) } // Cierra el fichero - printf("Closing file %s\n\n", filename.c_str()); + printf("Room loaded: %s\n", filename.c_str()); file.close(); } // El fichero no se puede abrir else { printf("Warning: Unable to open %s file\n", filename.c_str()); - return false; } - return true; -} - -// 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 != "") - { // 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; + return room; } // 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 bool success = true; - if (var == "tilemap") + if (var == "tileMapFile") { - tileMapFile = value; + room->tileMapFile = value; } else if (var == "name") { - name = value; + room->name = value; } else if (var == "bgColor") { - bgColor = value; + room->bgColor = value; } else if (var == "border") { - borderColor = value; + room->borderColor = value; } else if (var == "itemColor1") { - itemColor1 = value; + room->itemColor1 = value; } else if (var == "itemColor2") { - itemColor2 = value; + room->itemColor2 = value; } - else if (var == "tileset") + else if (var == "tileSetFile") { - tileset = value; - if (options->palette == p_zxspectrum) + room->tileSetFile = value; + /*if (options->palette == p_zxspectrum) { - tileset = "standard.png"; + tileSetFile = "standard.png"; } else if (options->palette == p_zxarne) { - tileset = "standard_zxarne.png"; - } + tileSetFile = "standard_zxarne.png"; + }*/ } else if (var == "roomUp") { - roomUp = value; + room->roomUp = value; } else if (var == "roomDown") { - roomDown = value; + room->roomDown = value; } else if (var == "roomLeft") { - roomLeft = value; + room->roomLeft = value; } else if (var == "roomRight") { - roomRight = value; + room->roomRight = value; } else if (var == "autoSurface") { if (value == "right") { - autoSurfaceDirection = 1; + room->autoSurfaceDirection = 1; } 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 -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 bool success = true; - if (var == "tileset") + if (var == "animation") { - enemy->tileset = value; - } - - else if (var == "animation") - { - enemy->animation = value; + enemy->animationString = value; } else if (var == "width") @@ -406,7 +315,7 @@ bool Room::setEnemy(enemy_t *enemy, std::string var, std::string 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 -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 bool success = true; - if (var == "tileset") + if (var == "tileSetFile") { - item->tileset = value; + item->tileSetFile = value; } else if (var == "counter") @@ -461,6 +370,132 @@ bool Room::setItem(item_t *item, std::string var, std::string value) 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 std::string Room::getName() { @@ -486,7 +521,7 @@ void Room::fillMapTexture() SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00); 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}; 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 // Tampoco hay que dibujar los tiles animados que estan en la fila 19 (indices) const int index = (y * mapWidth) + x; - const bool a = (tilemap[index] >= 18 * tilesetWidth) && (tilemap[index] < 19 * tilesetWidth); - const bool b = tilemap[index] > -1; + const bool a = (tileMap->at(index) >= 18 * tileSetWidth) && (tileMap->at(index) < 19 * tileSetWidth); + const bool b = tileMap->at(index) > -1; if (b && !a) { - clip.x = (tilemap[index] % tilesetWidth) * tileSize; - clip.y = (tilemap[index] / tilesetWidth) * tileSize; + clip.x = (tileMap->at(index) % tileSetWidth) * tileSize; + clip.y = (tileMap->at(index) / tileSetWidth) * tileSize; texture->render(renderer, x * tileSize, y * tileSize, &clip); // **** @@ -702,37 +737,37 @@ tile_e Room::getTile(int index) if (index < maxTile) { // 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; } // 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; } // 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; } // 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; } // 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; } // 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; } @@ -776,19 +811,7 @@ bool Room::itemCollision(SDL_Rect &rect) // Recarga la textura void Room::reLoadTexture() { - if (options->palette == p_zxspectrum) - { - //texture->loadFromFile(asset->get("standard.png"), renderer); - texture = resource->getTexture("standard.png"); - texture->reLoad(); - } - else if (options->palette == p_zxarne) - { - //texture->loadFromFile(asset->get("standard_zxarne.png"), renderer); - texture = resource->getTexture("standard_zxarne.png"); - texture->reLoad(); - } - + texture->reLoad(); fillMapTexture(); for (auto enemy : enemies) @@ -806,20 +829,30 @@ void Room::reLoadTexture() void Room::reLoadPalette() { // Cambia el color de los items - for (auto item:items) + for (auto item : items) { item->setColors(stringToColor(options->palette, itemColor1), stringToColor(options->palette, itemColor2)); } // Cambia el color de los enemigos - for (auto enemy:enemies) + for (auto enemy : enemies) { enemy->setPalette(options->palette); } - + // Establece el color del borde screen->setBorderColor(stringToColor(options->palette, borderColor)); + // Cambia la textura + if (options->palette == p_zxspectrum) + { + texture = textureA; + } + else + { + texture = textureB; + } + // Recarga las texturas reLoadTexture(); } @@ -863,7 +896,7 @@ void Room::setBottomSurfaces() // 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) - 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) { @@ -883,12 +916,12 @@ void Room::setBottomSurfaces() while (i < (int)tile.size()) { h_line_t line; - line.x1 = (tile[i] % mapWidth) * tileSize; - line.y = ((tile[i] / mapWidth) * tileSize) + tileSize - 1; + line.x1 = (tile.at(i) % mapWidth) * tileSize; + line.y = ((tile.at(i) / mapWidth) * tileSize) + tileSize - 1; lastOne = i; i++; - while (tile[i] == tile[i - 1] + 1) + while (tile.at(i) == tile.at(i - 1) + 1) { lastOne = i; i++; @@ -896,7 +929,7 @@ void Room::setBottomSurfaces() line.x2 = ((tile[lastOne] % mapWidth) * tileSize) + tileSize - 1; bottomSurfaces.push_back(line); - if (tile[i] == -1) + if (tile.at(i) == -1) { // Si el siguiente elemento es un separador, hay que saltarlo i++; } @@ -910,7 +943,7 @@ void Room::setTopSurfaces() // 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) - 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) { @@ -930,12 +963,12 @@ void Room::setTopSurfaces() while (i < (int)tile.size()) { h_line_t line; - line.x1 = (tile[i] % mapWidth) * tileSize; - line.y = (tile[i] / mapWidth) * tileSize; + line.x1 = (tile.at(i) % mapWidth) * tileSize; + line.y = (tile.at(i) / mapWidth) * tileSize; lastOne = i; i++; - while (tile[i] == tile[i - 1] + 1) + while (tile.at(i) == tile.at(i - 1) + 1) { lastOne = i; i++; @@ -943,7 +976,7 @@ void Room::setTopSurfaces() line.x2 = ((tile[lastOne] % mapWidth) * tileSize) + tileSize - 1; topSurfaces.push_back(line); - if (tile[i] == -1) + if (tile.at(i) == -1) { // Si el siguiente elemento es un separador, hay que saltarlo i++; } @@ -976,13 +1009,13 @@ void Room::setLeftSurfaces() while (i < (int)tile.size()) { v_line_t line; - line.x = (tile[i] % mapWidth) * tileSize; - line.y1 = ((tile[i] / mapWidth) * tileSize); - while (tile[i] + mapWidth == tile[i + 1]) + line.x = (tile.at(i) % mapWidth) * tileSize; + line.y1 = ((tile.at(i) / mapWidth) * tileSize); + while (tile.at(i) + mapWidth == tile[i + 1]) { i++; } - line.y2 = ((tile[i] / mapWidth) * tileSize) + tileSize - 1; + line.y2 = ((tile.at(i) / mapWidth) * tileSize) + tileSize - 1; leftSurfaces.push_back(line); i++; } @@ -1014,13 +1047,13 @@ void Room::setRightSurfaces() while (i < (int)tile.size()) { v_line_t line; - line.x = ((tile[i] % mapWidth) * tileSize) + tileSize - 1; - line.y1 = ((tile[i] / mapWidth) * tileSize); - while (tile[i] + mapWidth == tile[i + 1]) + line.x = ((tile.at(i) % mapWidth) * tileSize) + tileSize - 1; + line.y1 = ((tile.at(i) / mapWidth) * tileSize); + while (tile.at(i) + mapWidth == tile[i + 1]) { i++; } - line.y2 = ((tile[i] / mapWidth) * tileSize) + tileSize - 1; + line.y2 = ((tile.at(i) / mapWidth) * tileSize) + tileSize - 1; rightSurfaces.push_back(line); i++; } @@ -1031,7 +1064,7 @@ void Room::setLeftSlopes() { // Recorre la habitación entera por filas buscando tiles de tipo t_slope_l std::vector 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) { @@ -1072,7 +1105,7 @@ void Room::setRightSlopes() { // Recorre la habitación entera por filas buscando tiles de tipo t_slope_r std::vector 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) { @@ -1115,7 +1148,7 @@ void Room::setAutoSurfaces() // Busca todos los tiles de tipo animado // 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) { @@ -1135,12 +1168,12 @@ void Room::setAutoSurfaces() while (i < (int)tile.size()) { h_line_t line; - line.x1 = (tile[i] % mapWidth) * tileSize; - line.y = (tile[i] / mapWidth) * tileSize; + line.x1 = (tile.at(i) % mapWidth) * tileSize; + line.y = (tile.at(i) / mapWidth) * tileSize; lastOne = i; i++; - while (tile[i] == tile[i - 1] + 1) + while (tile.at(i) == tile.at(i - 1) + 1) { lastOne = i; i++; @@ -1148,7 +1181,7 @@ void Room::setAutoSurfaces() line.x2 = ((tile[lastOne] % mapWidth) * tileSize) + tileSize - 1; autoSurfaces.push_back(line); - if (tile[i] == -1) + if (tile.at(i) == -1) { // Si el siguiente elemento es un separador, hay que saltarlo i++; } @@ -1159,17 +1192,17 @@ void Room::setAutoSurfaces() void Room::setAnimatedTiles() { // 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) { - // la i me da la ubicación + // La i es la ubicación const int x = (i % mapWidth) * tileSize; const int y = (i / mapWidth) * tileSize; - // tilemap[i] me da el tile a poner - const int xc = (tilemap[i] % tilesetWidth) * tileSize; - const int yc = (tilemap[i] / tilesetWidth) * tileSize; + // TileMap->at(i) es el tile a poner + const int xc = (tileMap->at(i) % tileSetWidth) * tileSize; + const int yc = (tileMap->at(i) / tileSetWidth) * tileSize; aTile_t at; at.sprite = new Sprite(x, y, 8, 8, texture, renderer); diff --git a/source/room.h b/source/room.h index ea9bd34..061472b 100644 --- a/source/room.h +++ b/source/room.h @@ -4,7 +4,6 @@ #include "common/asset.h" #include "common/debug.h" #include "common/jail_audio.h" -#include "common/resource.h" #include "common/screen.h" #include "common/sprite.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 }; +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 *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 enemies; // Listado con los enemigos de la habitación + std::vector 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 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 { private: // Objetos y punteros std::vector enemies; // Listado con los enemigos de la habitación std::vector items; // Listado con los items que hay en la habitación + std::vector *tileMap; // Indice de los tiles a dibujar en 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 Screen *screen; // Objeto encargado de dibujar en pantalla 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 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 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::vector 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 std::vector bottomSurfaces; // Lista con las superficies inferiores de la habitación std::vector 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 std::vector aTile; // Vector con los indices de tiles animados std::vector 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 mapWidth; // Ancho del mapa en tiles int mapHeight; // Alto del mapa 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); + int tileSetWidth; // Ancho del tileset en tiles // Pinta el mapa de la habitación en la textura void fillMapTexture(); @@ -135,7 +156,7 @@ private: public: // 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 ~Room(); diff --git a/source/title.cpp b/source/title.cpp index 11fdc97..2ee9339 100644 --- a/source/title.cpp +++ b/source/title.cpp @@ -39,7 +39,7 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset * l.enabled = false; letters.push_back(l); } - letters[0].enabled = true; + letters.at(0).enabled = true; marqueeSpeed = 3; // Cambia el color del borde