From d3c7d8c08f8888962cc93baf3dbfd35125ecbeeb Mon Sep 17 00:00:00 2001 From: mcolonna Date: Thu, 18 Apr 2024 17:16:53 +0200 Subject: [PATCH] feat: the exit works :D --- Makefile | 2 +- assets/object/exit/tp/1.alpha.xpm | 328 ++++++++++++++++++++++++++++++ assets/object/exit/tp/1.xpm | 158 ++++++++++++++ assets/object/exit/tp/2.alpha.xpm | 285 ++++++++++++++++++++++++++ assets/object/exit/tp/2.xpm | 158 ++++++++++++++ assets/object/exit/tp/3.alpha.xpm | 255 +++++++++++++++++++++++ assets/object/exit/tp/3.xpm | 158 ++++++++++++++ assets/object/exit/tp/4.alpha.xpm | 211 +++++++++++++++++++ assets/object/exit/tp/4.xpm | 158 ++++++++++++++ assets/object/exit/tp/5.alpha.xpm | 193 ++++++++++++++++++ assets/object/exit/tp/5.xpm | 158 ++++++++++++++ assets/object/exit/tp/6.alpha.xpm | 172 ++++++++++++++++ assets/object/exit/tp/6.xpm | 158 ++++++++++++++ assets/object/exit/tp/7.alpha.xpm | 215 ++++++++++++++++++++ assets/object/exit/tp/7.xpm | 158 ++++++++++++++ assets/object/exit/tp/8.alpha.xpm | 207 +++++++++++++++++++ assets/object/exit/tp/8.xpm | 158 ++++++++++++++ assets/object/exit/tp/9.alpha.xpm | 183 +++++++++++++++++ assets/object/exit/tp/9.xpm | 158 ++++++++++++++ includes/display/data_assets.h | 13 +- includes/display/data_sprites.h | 7 +- includes/includes.h | 3 +- includes/main/env.h | 25 ++- includes/main/levels.h | 19 ++ includes/room/objects.h | 17 +- includes/room/visual.h | 4 +- src/display/data_assets.c | 11 +- src/display/data_sprites.c | 5 +- src/display/display_utils.c | 6 +- src/main/levels.c | 38 ++++ src/main/main.c | 6 +- src/room/object_exit.c | 8 +- src/room/object_ketchup.c | 4 +- src/room/object_snas.c | 43 +++- src/room/pathfinding_utils.c | 8 +- src/room/visual.c | 6 +- 36 files changed, 3645 insertions(+), 51 deletions(-) create mode 100644 assets/object/exit/tp/1.alpha.xpm create mode 100644 assets/object/exit/tp/1.xpm create mode 100644 assets/object/exit/tp/2.alpha.xpm create mode 100644 assets/object/exit/tp/2.xpm create mode 100644 assets/object/exit/tp/3.alpha.xpm create mode 100644 assets/object/exit/tp/3.xpm create mode 100644 assets/object/exit/tp/4.alpha.xpm create mode 100644 assets/object/exit/tp/4.xpm create mode 100644 assets/object/exit/tp/5.alpha.xpm create mode 100644 assets/object/exit/tp/5.xpm create mode 100644 assets/object/exit/tp/6.alpha.xpm create mode 100644 assets/object/exit/tp/6.xpm create mode 100644 assets/object/exit/tp/7.alpha.xpm create mode 100644 assets/object/exit/tp/7.xpm create mode 100644 assets/object/exit/tp/8.alpha.xpm create mode 100644 assets/object/exit/tp/8.xpm create mode 100644 assets/object/exit/tp/9.alpha.xpm create mode 100644 assets/object/exit/tp/9.xpm create mode 100644 includes/main/levels.h create mode 100644 src/main/levels.c diff --git a/Makefile b/Makefile index 7f64d6d..122d6a9 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ NAME = so_long SRCS = src/ INCLUDES = includes/ CODE = $(addprefix main/, \ - main error env input timedloop \ + main error env input timedloop levels \ ) \ $(addprefix display/, \ data_assets data_sprites \ diff --git a/assets/object/exit/tp/1.alpha.xpm b/assets/object/exit/tp/1.alpha.xpm new file mode 100644 index 0000000..648ab2b --- /dev/null +++ b/assets/object/exit/tp/1.alpha.xpm @@ -0,0 +1,328 @@ +/* XPM */ +static char *__alpha[] = { +/* columns rows colors chars-per-pixel */ +"150 150 172 2 ", +" c black", +". c #010101", +"X c #020202", +"o c gray1", +"O c #040404", +"+ c gray2", +"@ c #060606", +"# c #070707", +"$ c gray3", +"% c #090909", +"& c gray4", +"* c #0B0B0B", +"= c #0C0C0C", +"- c gray5", +"; c #0E0E0E", +": c gray6", +"> c #101010", +", c #111111", +"< c gray7", +"1 c #131313", +"2 c #161616", +"3 c #181818", +"4 c #191919", +"5 c gray10", +"6 c #1B1B1B", +"7 c gray11", +"8 c #1D1D1D", +"9 c #1E1E1E", +"0 c gray12", +"q c #202020", +"w c gray13", +"e c #222222", +"r c #232323", +"t c gray14", +"y c gray15", +"u c #272727", +"i c #282828", +"p c #2A2A2A", +"a c #2D2D2D", +"s c gray18", +"d c gray19", +"f c #323232", +"g c gray20", +"h c #353535", +"j c gray21", +"k c #3A3A3A", +"l c gray23", +"z c #3C3C3C", +"x c gray24", +"c c #3E3E3E", +"v c gray25", +"b c #434343", +"n c #444444", +"m c #464646", +"M c gray28", +"N c #494949", +"B c gray29", +"V c #4B4B4B", +"C c #4C4C4C", +"Z c #4E4E4E", +"A c gray32", +"S c gray33", +"D c #555555", +"F c gray34", +"G c #585858", +"H c gray35", +"J c #5A5A5A", +"K c #5B5B5B", +"L c gray36", +"P c #5D5D5D", +"I c gray37", +"U c #5F5F5F", +"Y c #606060", +"T c gray38", +"R c #626262", +"E c gray39", +"W c #646464", +"Q c gray40", +"! c #676767", +"~ c DimGray", +"^ c #6A6A6A", +"/ c gray42", +"( c #6D6D6D", +") c gray43", +"_ c #6F6F6F", +"` c gray44", +"' c #717171", +"] c #727272", +"[ c gray45", +"{ c #777777", +"} c gray47", +"| c #797979", +" . c #7B7B7B", +".. c #7E7E7E", +"X. c gray51", +"o. c #838383", +"O. c #848484", +"+. c #868686", +"@. c #898989", +"#. c gray54", +"$. c #8D8D8D", +"%. c #8E8E8E", +"&. c #939393", +"*. c gray58", +"=. c gray59", +"-. c #979797", +";. c #989898", +":. c #9A9A9A", +">. c gray62", +",. c #A0A0A0", +"<. c #A4A4A4", +"1. c #A5A5A5", +"2. c #A7A7A7", +"3. c gray66", +"4. c #A9A9A9", +"5. c #AFAFAF", +"6. c #B1B1B1", +"7. c gray70", +"8. c #B9B9B9", +"9. c gray74", +"0. c gray", +"q. c gray75", +"w. c #C1C1C1", +"e. c gray76", +"r. c #C3C3C3", +"t. c #C5C5C5", +"y. c gray78", +"u. c #CBCBCB", +"i. c gray80", +"p. c #CDCDCD", +"a. c #CECECE", +"s. c gray82", +"d. c #D2D2D2", +"f. c LightGray", +"g. c gray83", +"h. c #D7D7D7", +"j. c #D8D8D8", +"k. c gray85", +"l. c #DADADA", +"z. c gray86", +"x. c gainsboro", +"c. c #DDDDDD", +"v. c #DFDFDF", +"b. c gray88", +"n. c #E1E1E1", +"m. c #E2E2E2", +"M. c gray89", +"N. c #E4E4E4", +"B. c #E6E6E6", +"V. c #E7E7E7", +"C. c gray91", +"Z. c #E9E9E9", +"A. c #EAEAEA", +"S. c gray92", +"D. c #ECECEC", +"F. c gray93", +"G. c #EEEEEE", +"H. c #EFEFEF", +"J. c gray95", +"K. c #F3F3F3", +"L. c #F4F4F4", +"P. c gray96", +"I. c #F6F6F6", +"U. c gray97", +"Y. c #F8F8F8", +"T. c #F9F9F9", +"R. c gray98", +"E. c #FBFBFB", +"W. c gray99", +"Q. c #FDFDFD", +"!. c #FEFEFE", +"~. c white", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" & w c J L J n w = ", +" > j [ 6.d.N.S.H.H.S.d.5.[ f > ", +" @ w [ a.L.Q.Q.Q.Q.Q.Q.Q.Q.Q.L.a._ 7 @ ", +" = D d.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.T.y.n & ", +" 5 o.S.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.n.^ = ", +" 2 O.H.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.c.J & ", +" = [ J.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.c.k @ ", +" & _ n.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.4.y ", +" w z.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.T. . ", +" @ %.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.c.a ", +" w N.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q. . ", +" .Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.g.w ", +" & u.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L ", +" v H.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.1.= ", +" o.T.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.z.w ", +" 0.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.H.n ", +" d.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.T.Y ", +" g.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L.^ ", +" a.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q._ ", +" 7.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.T.^ ", +" #.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L.W ", +" D T.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.c.N ", +" a S.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.7.p ", +" & y.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L. .> ", +" _ S.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.r.j ", +" 7 4.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.H.D > ", +" n y.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L.%.> ", +" = N c.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L.=.5 @ ", +" & N 0.T.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.S. .7 ", +" @ j >.S.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.z.[ 2 ", +" > W g.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.S.%.7 @ ", +" & D n.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.H.L = ", +" c c.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.N.J @ ", +" 5 0.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.N.Z & ", +" @ .T.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.c.k @ ", +" f n.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.y.p @ ", +" & ,.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.,.2 ", +" v L.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L.Y @ ", +" @ 1.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.g.y ", +" p J.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.T.O.@ ", +" O.Q.Q.Q.Q.Q.L.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.n.7 ", +" & c.Q.Q.Q.Q.T.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.W ", +" f L.Q.Q.Q.Q.H.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.0. ", +" _ Q.Q.Q.Q.Q.T.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.S. ", +" =.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L. ", +" >.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L. ", +" O.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.S. ", +" D L.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.r. ", +" 7 0.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L.W ", +" @ Z z.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.1.5 ", +" & Z d.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.L.:.5 ", +" @ a &.S.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.T.a.Y > ", +" @ w =.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.r.W y @ ", +" { Q.Q.Q.Q.Q.Q.Q.L.L.Q.Q.Q.Q.Q.Q.Q.Q.J ", +" o.Q.Q.Q.Q.Q.Q.Q.:.=.Q.Q.Q.Q.Q.Q.Q.Q.L ", +" Y T.Q.Q.Q.Q.Q.T.[ J Q.Q.Q.Q.Q.Q.Q.Q.J ", +" f T.Q.Q.Q.Q.Q.T.c 7 T.Q.Q.Q.Q.Q.Q.T.N ", +" & n.Q.Q.Q.Q.Q.z.> @ a.Q.Q.Q.Q.Q.Q.d.y ", +" @ %.T.Q.Q.Q.J.[ L H.Q.Q.Q.Q.H.L & ", +" a 1.S.L.n.#.5 > Y z.T.T.z.Y > ", +" & 7 D Y j > & w f y = ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/assets/object/exit/tp/1.xpm b/assets/object/exit/tp/1.xpm new file mode 100644 index 0000000..d90c3d4 --- /dev/null +++ b/assets/object/exit/tp/1.xpm @@ -0,0 +1,158 @@ +/* XPM */ +static char *_[] = { +/* columns rows colors chars-per-pixel */ +"150 150 2 1 ", +" c #33CCFF", +". c white", +/* pixels */ +"....... ....", +"...... ...", +"..... ..", +".... .", +"... ", +".. ", +". ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +". .", +".. ..", +"... ...", +".... ....", +"..... .....", +"...... ......", +"....... .......", +"........ ........", +"......... .........", +".......... ..........", +"........... ...........", +"............ ............", +"............. .............", +".............. ..............", +"............... ...............", +"................ ................", +"................. .................", +".................. ..................", +"................... ...................", +".................... ...................." +}; diff --git a/assets/object/exit/tp/2.alpha.xpm b/assets/object/exit/tp/2.alpha.xpm new file mode 100644 index 0000000..a71f33e --- /dev/null +++ b/assets/object/exit/tp/2.alpha.xpm @@ -0,0 +1,285 @@ +/* XPM */ +static char *__alpha[] = { +/* columns rows colors chars-per-pixel */ +"150 150 129 2 ", +" c black", +". c #020202", +"X c gray1", +"o c #040404", +"O c gray2", +"+ c #060606", +"@ c #070707", +"# c gray3", +"$ c #090909", +"% c gray4", +"& c #0B0B0B", +"* c #0C0C0C", +"= c gray5", +"- c gray6", +"; c #101010", +": c gray7", +"> c #151515", +", c gray9", +"< c #191919", +"1 c #1B1B1B", +"2 c #202020", +"3 c #232323", +"4 c gray14", +"5 c gray15", +"6 c #2A2A2A", +"7 c gray17", +"8 c #2C2C2C", +"9 c #2D2D2D", +"0 c gray18", +"q c #2F2F2F", +"w c #313131", +"e c #373737", +"r c #393939", +"t c #3A3A3A", +"y c gray23", +"u c #3C3C3C", +"i c gray24", +"p c gray25", +"a c #444444", +"s c gray27", +"d c #464646", +"f c gray28", +"g c #484848", +"h c #4B4B4B", +"j c #4C4C4C", +"k c gray32", +"l c #535353", +"z c #555555", +"x c gray34", +"c c #585858", +"v c #5A5A5A", +"b c #5B5B5B", +"n c gray36", +"m c #5D5D5D", +"M c gray37", +"N c #5F5F5F", +"B c gray38", +"V c #656565", +"C c gray40", +"Z c #686868", +"A c #6C6C6C", +"S c #717171", +"D c gray46", +"F c #777777", +"G c gray47", +"H c gray48", +"J c #7B7B7B", +"K c #7E7E7E", +"L c #848484", +"P c #8B8B8B", +"I c #8D8D8D", +"U c gray56", +"Y c #939393", +"T c gray58", +"R c #989898", +"E c #A2A2A2", +"W c #A7A7A7", +"Q c gray66", +"! c gray67", +"~ c #ACACAC", +"^ c #B1B1B1", +"/ c gray70", +"( c #B7B7B7", +") c gray73", +"_ c #BBBBBB", +"` c gray74", +"' c gray", +"] c gray76", +"[ c #C3C3C3", +"{ c #C5C5C5", +"} c #C8C8C8", +"| c gray79", +" . c #CACACA", +".. c #CBCBCB", +"X. c gray80", +"o. c #CECECE", +"O. c gray81", +"+. c gray82", +"@. c #D5D5D5", +"#. c gray84", +"$. c gray85", +"%. c gray86", +"&. c gray87", +"*. c gray88", +"=. c gray89", +"-. c #E4E4E4", +";. c gray90", +":. c #E6E6E6", +">. c #E7E7E7", +",. c #EAEAEA", +"<. c #ECECEC", +"1. c #EEEEEE", +"2. c #EFEFEF", +"3. c gray94", +"4. c #F1F1F1", +"5. c gray95", +"6. c #F3F3F3", +"7. c #F4F4F4", +"8. c gray96", +"9. c #F6F6F6", +"0. c gray97", +"q. c #F8F8F8", +"w. c #F9F9F9", +"e. c gray98", +"r. c #FBFBFB", +"t. c gray99", +"y. c #FDFDFD", +"u. c #FEFEFE", +"i. c white", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" O < r l z a 4 & ", +" : r T #.3.8.q.q.q.8.-.^ z < ", +" O w Q 1.i.i.i.i.i.i.i.i.i.i.3.Q 8 & ", +" & h %.i.i.i.i.i.i.i.i.i.i.i.i.i.q.o.r & ", +" = v -.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i...r O ", +" r #.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.` 1 ", +" & W i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.H & ", +" w 1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.%.8 ", +" K q.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.q.L ", +" ..i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.%.= ", +" 1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.3.7 ", +" 8.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.q.h ", +" 8.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.v ", +" q.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.v ", +" 8.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.z ", +" ,.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.r ", +" ..i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.3., ", +" I i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.[ O ", +" e 8.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.q.M ", +" & { i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.o.: ", +" B i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.3.a ", +" : o.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.S & ", +" j 1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.( : ", +" & C q.i.i.i.i.i.i.i.i.i.i.i.i.i.i.o.2 ", +" & H 8.i.i.i.i.i.i.i.i.i.i.i.i.[ 8 ", +" : H q.i.i.i.i.i.i.i.i.i.i.` 4 ", +" 8 [ q.i.i.i.i.i.i.i.i.i.8.a ", +" = I 8.i.i.i.i.i.i.i.i.i.i.i.{ < ", +" O l 8.i.i.i.i.i.i.i.i.i.i.i.i.i.D O ", +" 8 o.i.i.i.i.i.i.i.i.i.i.i.i.i.i.-., ", +" I i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.C ", +" 1 *.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i...O ", +" B q.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.q.2 ", +" ( i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.M ", +" O &.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.Q O ", +" < 8.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.,.= ", +" u q.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.8.8 ", +" v q.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.a ", +" v i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.a ", +" h q.i.i.i.i.i.i.i.i.q.i.i.i.i.i.i.i.i.i.i.7 ", +" 4 1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.1.& ", +" & Q i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.) ", +" 8 -.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.q.j ", +" & M 8.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.o.: ", +" O ) i.i.i.i.i.i.i.i.i.i.i.i.i.i.q.K ", +" R i.i.i.i.i.i.i.i.i.i.i.i.i.i.3.a ", +" C 3.i.i.i.q.{ B C A ` q.i.i.q..., ", +" 4 W 1.q.8.{ a 4 T &.-.^ h ", +" O 4 B H z 7 O O : 8 w < O ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/assets/object/exit/tp/2.xpm b/assets/object/exit/tp/2.xpm new file mode 100644 index 0000000..8a9abf7 --- /dev/null +++ b/assets/object/exit/tp/2.xpm @@ -0,0 +1,158 @@ +/* XPM */ +static char *_[] = { +/* columns rows colors chars-per-pixel */ +"150 150 2 1 ", +" c #33CCFF", +". c white", +/* pixels */ +"............ ...........", +"........... ..........", +".......... .........", +"......... ........", +"........ .......", +"....... ......", +"...... .....", +"..... ....", +".... ...", +"... ..", +".. .", +". ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +". .", +".. ..", +"... ...", +".... ....", +"..... .....", +"...... ......", +"....... .......", +"........ ........", +"......... .........", +".......... ..........", +"........... ...........", +"............ ............", +"............. .............", +".............. ..............", +"............... ...............", +"................ ................", +"................. .................", +".................. ..................", +"................... ...................", +".................... ....................", +"..................... .....................", +"...................... ......................", +"....................... .......................", +"........................ ........................", +"......................... .........................", +".......................... ..........................", +"........................... ..........................." +}; diff --git a/assets/object/exit/tp/3.alpha.xpm b/assets/object/exit/tp/3.alpha.xpm new file mode 100644 index 0000000..2b260c1 --- /dev/null +++ b/assets/object/exit/tp/3.alpha.xpm @@ -0,0 +1,255 @@ +/* XPM */ +static char *__alpha[] = { +/* columns rows colors chars-per-pixel */ +"150 150 99 2 ", +" c black", +". c #020202", +"X c gray1", +"o c #040404", +"O c gray2", +"+ c #060606", +"@ c #070707", +"# c gray4", +"$ c #0C0C0C", +"% c gray5", +"& c #0E0E0E", +"* c gray6", +"= c #111111", +"- c #161616", +"; c gray10", +": c #1B1B1B", +"> c #1E1E1E", +", c gray12", +"< c #232323", +"1 c gray15", +"2 c #2A2A2A", +"3 c gray17", +"4 c #2D2D2D", +"5 c gray18", +"6 c #2F2F2F", +"7 c gray19", +"8 c gray22", +"9 c #3C3C3C", +"0 c #3F3F3F", +"q c gray25", +"w c #414141", +"e c gray26", +"r c #444444", +"t c #4B4B4B", +"y c #4C4C4C", +"u c gray30", +"i c #4E4E4E", +"p c #515151", +"a c gray32", +"s c #535353", +"d c #565656", +"f c #585858", +"g c #5B5B5B", +"h c #5D5D5D", +"j c gray38", +"k c #626262", +"l c #646464", +"z c #686868", +"x c DimGray", +"c c #6F6F6F", +"v c gray47", +"b c gray53", +"n c gray55", +"m c gray58", +"M c gray61", +"N c #9F9F9F", +"B c #A2A2A2", +"V c gray65", +"C c gray67", +"Z c #ACACAC", +"A c #AEAEAE", +"S c gray70", +"D c gray73", +"F c gray75", +"G c #C0C0C0", +"H c gray76", +"J c gray77", +"K c gray78", +"L c #CACACA", +"P c #CBCBCB", +"I c #D5D5D5", +"U c gray85", +"Y c #DADADA", +"T c #DDDDDD", +"R c #DFDFDF", +"E c gray88", +"W c #E1E1E1", +"Q c gray89", +"! c #E4E4E4", +"~ c gray90", +"^ c gray91", +"/ c gray92", +"( c #ECECEC", +") c #EEEEEE", +"_ c #EFEFEF", +"` c gray94", +"' c #F1F1F1", +"] c #F3F3F3", +"[ c gray96", +"{ c #F6F6F6", +"} c gray97", +"| c #F8F8F8", +" . c #F9F9F9", +".. c gray98", +"X. c #FBFBFB", +"o. c gray99", +"O. c #FDFDFD", +"+. c #FEFEFE", +"@. c white", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" # : 4 1 * ", +" # 1 k B P Q I n 3 O ", +" # e S _ o.o.o.o.o.D 4 ", +" 4 P o.o.o.o.o.o.o.o.V - ", +" b | o.o.o.o.o.o.o.o.} p ", +" # T o.o.o.o.o.o.o.o.o.o.C ", +" 3 | o.o.o.o.o.o.o.o.o.o.Q O ", +" t | o.o.o.o.' o.o.o.o.o.} < ", +" k o.o.o.o.o.' o.o.o.o.o.| r ", +" k o.o.o.o.o.o.o.o.o.o.o.o.s ", +" g o.o.o.o.o.o.o.o.o.o.o.o.s ", +" e | o.o.o.o.o.o.o.o.o.o.| 9 ", +" < | o.o.o.o.o.o.o.o.o.o.| : ", +" O Q o.o.o.o.o.o.o.o.o.o._ O ", +" B o.o.o.o.o.o.o.o.o.o.P ", +" e / o.o.o.o.o.o.o.o.o.c ", +" = m o.o.o.o.o.o.o.o.' > ", +" O l o.o.o.o.o.o.o.o.A # ", +" 1 K o.o.o.o.o.o.o.o.N ", +" z } o.o.o.o.o.o.o.o.Y # ", +" H o.o.o.o.o.o.o.o.o.o.7 ", +" # _ o.o.o.o.o.o.o.o.o.o.b O ", +" 4 | o.o.o.o.o.o.o.o.o.o.T * ", +" u | o.o.o.o.o.o.o.o.o.o.| 4 ", +" h o.o.o.o.o.o.o.o.o.o.o.o.u ", +" s | o.o.o.o.o.o.o.o.o.o.o.g ", +" 8 ' o.o.o.o.o.o.o.o.o.o.o.u ", +" - H o.o.o.o.o.o.o.o.o.o./ 4 ", +" O s ~ o.o.o.o.o.o.o.o.o.A * ", +" = z ~ o.o.o.o.o.o.| K 9 O ", +" * r B T _ Q Y H v 7 # ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/assets/object/exit/tp/3.xpm b/assets/object/exit/tp/3.xpm new file mode 100644 index 0000000..958411a --- /dev/null +++ b/assets/object/exit/tp/3.xpm @@ -0,0 +1,158 @@ +/* XPM */ +static char *_[] = { +/* columns rows colors chars-per-pixel */ +"150 150 2 1 ", +" c #33CCFF", +". c white", +/* pixels */ +"........................ ......................", +"....................... .....................", +"...................... ....................", +"..................... ...................", +".................... ..................", +"................... .................", +".................. ................", +"................. ...............", +"................ ..............", +"............... .............", +".............. ............", +"............. ...........", +"............ ..........", +"........... .........", +".......... ........", +"......... .......", +"........ ......", +"....... .....", +"...... ....", +"..... ...", +".... ..", +"... .", +".. ", +". ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +". ", +".. .", +"... ..", +".... ...", +"..... ....", +"...... .....", +"....... ......", +"........ .......", +"......... ........", +".......... .........", +"........... ..........", +"............ ...........", +"............. ............", +".............. .............", +"............... ..............", +"................ ...............", +"................. ................", +".................. .................", +"................... ..................", +".................... ...................", +"..................... ....................", +"...................... .....................", +"....................... ......................", +"........................ .......................", +"......................... ........................", +".......................... .........................", +"........................... ..........................", +"............................ ...........................", +"............................. ............................", +".............................. .............................", +"............................... ..............................", +"................................ ...............................", +"................................. ................................", +".................................. .................................", +"................................... ..................................", +".................................... ...................................", +"..................................... ....................................", +"...................................... ....................................." +}; diff --git a/assets/object/exit/tp/4.alpha.xpm b/assets/object/exit/tp/4.alpha.xpm new file mode 100644 index 0000000..bd11360 --- /dev/null +++ b/assets/object/exit/tp/4.alpha.xpm @@ -0,0 +1,211 @@ +/* XPM */ +static char *__alpha[] = { +/* columns rows colors chars-per-pixel */ +"150 150 55 1 ", +" c black", +". c gray2", +"X c #070707", +"o c gray3", +"O c gray4", +"+ c #101010", +"@ c #111111", +"# c #151515", +"$ c #181818", +"% c #1B1B1B", +"& c gray12", +"* c #202020", +"= c gray18", +"- c gray23", +"; c gray25", +": c #414141", +"> c #434343", +", c gray31", +"< c #535353", +"1 c #565656", +"2 c #5A5A5A", +"3 c #686868", +"4 c DimGray", +"5 c gray43", +"6 c #6F6F6F", +"7 c #717171", +"8 c #727272", +"9 c gray45", +"0 c #898989", +"q c #929292", +"w c gray59", +"e c gray61", +"r c gray62", +"t c gray70", +"y c gray71", +"u c #CBCBCB", +"i c #D2D2D2", +"p c gray83", +"a c gray86", +"s c gainsboro", +"d c #DDDDDD", +"f c #DFDFDF", +"g c #E2E2E2", +"h c #ECECEC", +"j c #EFEFEF", +"k c gray94", +"l c #F3F3F3", +"z c #F4F4F4", +"x c #F6F6F6", +"c c #F9F9F9", +"v c gray98", +"b c gray99", +"n c #FDFDFD", +"m c #FEFEFE", +"M c white", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" %7uat2# ", +" @wlMMMle$ ", +" ,hMMMMMx6. ", +" eMMMMMMMp$ ", +" pMMMMMMMx- ", +" hMMMMMMMc< ", +" lMMMMMMMc1 ", +" hMMMMMMMc> ", +" dMMMMMMMl* ", +" yMMMMMMMdo ", +" 4MMMMMMMq ", +" %gMMMMMd= ", +" o7acMca4O ", +" @>707>O ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/assets/object/exit/tp/4.xpm b/assets/object/exit/tp/4.xpm new file mode 100644 index 0000000..3f5a4f8 --- /dev/null +++ b/assets/object/exit/tp/4.xpm @@ -0,0 +1,158 @@ +/* XPM */ +static char *_[] = { +/* columns rows colors chars-per-pixel */ +"150 150 2 1 ", +" c #33CCFF", +". c white", +/* pixels */ +"............................... ................................", +".............................. ...............................", +"............................. ..............................", +"............................ .............................", +"........................... ............................", +".......................... ...........................", +"......................... ..........................", +"........................ .........................", +"....................... ........................", +"...................... .......................", +"..................... ......................", +".................... .....................", +"................... ....................", +".................. ...................", +"................. ..................", +"................ .................", +"............... ................", +".............. ...............", +"............. ..............", +"............ .............", +"........... ............", +".......... ...........", +"......... ..........", +"........ .........", +"....... ........", +"...... .......", +"..... ......", +".... .....", +"... ....", +".. ...", +". ..", +" .", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" .", +". ..", +".. ...", +"... ....", +".... .....", +"..... ......", +"...... .......", +"....... ........", +"........ .........", +"......... ..........", +".......... ...........", +"........... ............", +"............ .............", +"............. ..............", +".............. ...............", +"............... ................", +"................ .................", +"................. ..................", +".................. ...................", +"................... ....................", +".................... .....................", +"..................... ......................", +"...................... .......................", +"....................... ........................", +"........................ .........................", +"......................... ..........................", +".......................... ...........................", +"........................... ............................", +"............................ .............................", +"............................. ..............................", +".............................. ...............................", +"............................... ................................", +"................................ .................................", +"................................. ..................................", +".................................. ...................................", +"................................... ....................................", +".................................... .....................................", +"..................................... ......................................", +"...................................... .......................................", +"....................................... ........................................", +"........................................ .........................................", +"......................................... ..........................................", +".......................................... ...........................................", +"........................................... ............................................", +"............................................ .............................................", +"............................................. ..............................................", +".............................................. ...............................................", +"............................................... ................................................" +}; diff --git a/assets/object/exit/tp/5.alpha.xpm b/assets/object/exit/tp/5.alpha.xpm new file mode 100644 index 0000000..0a76cd2 --- /dev/null +++ b/assets/object/exit/tp/5.alpha.xpm @@ -0,0 +1,193 @@ +/* XPM */ +static char *__alpha[] = { +/* columns rows colors chars-per-pixel */ +"150 150 37 1 ", +" c black", +". c gray4", +"X c gray6", +"o c gray11", +"O c #272727", +"+ c #2A2A2A", +"@ c gray17", +"# c #414141", +"$ c gray33", +"% c gray37", +"& c #656565", +"* c gray44", +"= c #777777", +"- c #7B7B7B", +"; c #818181", +": c gray54", +"> c #929292", +", c gray59", +"< c gray60", +"1 c gray71", +"2 c #C5C5C5", +"3 c #C8C8C8", +"4 c LightGray", +"5 c gray83", +"6 c gray89", +"7 c gray91", +"8 c #EAEAEA", +"9 c #EEEEEE", +"0 c #F1F1F1", +"q c #F4F4F4", +"w c gray97", +"e c #F9F9F9", +"r c gray98", +"t c #FBFBFB", +"y c #FDFDFD", +"u c #FEFEFE", +"i c white", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" .O&:=#X ", +" @<8rq3$ ", +" -8uuuq1 ", +" >0uuuu2 ", +" %4uuu8- ", +" o*596,@ ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/assets/object/exit/tp/5.xpm b/assets/object/exit/tp/5.xpm new file mode 100644 index 0000000..76f3a61 --- /dev/null +++ b/assets/object/exit/tp/5.xpm @@ -0,0 +1,158 @@ +/* XPM */ +static char *_[] = { +/* columns rows colors chars-per-pixel */ +"150 150 2 1 ", +" c #33CCFF", +". c white", +/* pixels */ +"................................... ....................................", +".................................. ...................................", +"................................. ..................................", +"................................ .................................", +"............................... ................................", +".............................. ...............................", +"............................. ..............................", +"............................ .............................", +"........................... ............................", +".......................... ...........................", +"......................... ..........................", +"........................ .........................", +"....................... ........................", +"...................... .......................", +"..................... ......................", +".................... .....................", +"................... ....................", +".................. ...................", +"................. ..................", +"................ .................", +"............... ................", +".............. ...............", +"............. ..............", +"............ .............", +"........... ............", +".......... ...........", +"......... ..........", +"........ .........", +"....... ........", +"...... .......", +"..... ......", +".... .....", +"... ....", +".. ...", +". ..", +" .", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" .", +". ..", +".. ...", +"... ....", +".... .....", +"..... ......", +"...... .......", +"....... ........", +"........ .........", +"......... ..........", +".......... ...........", +"........... ............", +"............ .............", +"............. ..............", +".............. ...............", +"............... ................", +"................ .................", +"................. ..................", +".................. ...................", +"................... ....................", +".................... .....................", +"..................... ......................", +"...................... .......................", +"....................... ........................", +"........................ .........................", +"......................... ..........................", +".......................... ...........................", +"........................... ............................", +"............................ .............................", +"............................. ..............................", +".............................. ...............................", +"............................... ................................", +"................................ .................................", +"................................. ..................................", +".................................. ...................................", +"................................... ....................................", +".................................... .....................................", +"..................................... ......................................", +"...................................... .......................................", +"....................................... ........................................", +"........................................ .........................................", +"......................................... ..........................................", +".......................................... ...........................................", +"........................................... ............................................", +"............................................ .............................................", +"............................................. ..............................................", +".............................................. ...............................................", +"............................................... ................................................", +"................................................ .................................................", +"................................................. ..................................................", +".................................................. ...................................................", +"................................................... ...................................................." +}; diff --git a/assets/object/exit/tp/6.alpha.xpm b/assets/object/exit/tp/6.alpha.xpm new file mode 100644 index 0000000..1806c94 --- /dev/null +++ b/assets/object/exit/tp/6.alpha.xpm @@ -0,0 +1,172 @@ +/* XPM */ +static char *__alpha[] = { +/* columns rows colors chars-per-pixel */ +"150 150 16 1 ", +" c black", +". c #0B0B0B", +"X c #202020", +"o c #2C2C2C", +"O c #343434", +"+ c #484848", +"@ c gray45", +"# c #8B8B8B", +"$ c #A2A2A2", +"% c #DADADA", +"& c gray86", +"* c #EEEEEE", +"= c gray96", +"- c gray99", +"; c #FEFEFE", +": c white", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" .oX ", +" $-=+ ", +" %--@ ", +" #=&O ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/assets/object/exit/tp/6.xpm b/assets/object/exit/tp/6.xpm new file mode 100644 index 0000000..c4560ac --- /dev/null +++ b/assets/object/exit/tp/6.xpm @@ -0,0 +1,158 @@ +/* XPM */ +static char *_[] = { +/* columns rows colors chars-per-pixel */ +"150 150 2 1 ", +" c #33CCFF", +". c white", +/* pixels */ +"...................................... .......................................", +"..................................... ......................................", +".................................... .....................................", +"................................... ....................................", +".................................. ...................................", +"................................. ..................................", +"................................ .................................", +"............................... ................................", +".............................. ...............................", +"............................. ..............................", +"............................ .............................", +"........................... ............................", +".......................... ...........................", +"......................... ..........................", +"........................ .........................", +"....................... ........................", +"...................... .......................", +"..................... ......................", +".................... .....................", +"................... ....................", +".................. ...................", +"................. ..................", +"................ .................", +"............... ................", +".............. ...............", +"............. ..............", +"............ .............", +"........... ............", +".......... ...........", +"......... ..........", +"........ .........", +"....... ........", +"...... .......", +"..... ......", +".... .....", +"... ....", +".. ...", +". ..", +" .", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +". .", +".. ..", +"... ...", +".... ....", +"..... .....", +"...... ......", +"....... .......", +"........ ........", +"......... .........", +".......... ..........", +"........... ...........", +"............ ............", +"............. .............", +".............. ..............", +"............... ...............", +"................ ................", +"................. .................", +".................. ..................", +"................... ...................", +".................... ....................", +"..................... .....................", +"...................... ......................", +"....................... .......................", +"........................ ........................", +"......................... .........................", +".......................... ..........................", +"........................... ...........................", +"............................ ............................", +"............................. .............................", +".............................. ..............................", +"............................... ...............................", +"................................ ................................", +"................................. .................................", +".................................. ..................................", +"................................... ...................................", +".................................... ....................................", +"..................................... .....................................", +"...................................... ......................................", +"....................................... .......................................", +"........................................ ........................................", +"......................................... .........................................", +".......................................... ..........................................", +"........................................... ...........................................", +"............................................ ............................................", +"............................................. .............................................", +".............................................. ..............................................", +"............................................... ...............................................", +"................................................ ................................................", +"................................................. .................................................", +".................................................. ..................................................", +"................................................... ...................................................", +".................................................... ....................................................", +"..................................................... .....................................................", +"...................................................... ......................................................" +}; diff --git a/assets/object/exit/tp/7.alpha.xpm b/assets/object/exit/tp/7.alpha.xpm new file mode 100644 index 0000000..a6b3eee --- /dev/null +++ b/assets/object/exit/tp/7.alpha.xpm @@ -0,0 +1,215 @@ +/* XPM */ +static char *__alpha[] = { +/* columns rows colors chars-per-pixel */ +"150 150 59 1 ", +" c black", +". c #0B0B0B", +"X c #161616", +"o c gray13", +"O c #222222", +"+ c gray17", +"@ c #2D2D2D", +"# c #353535", +"$ c #3F3F3F", +"% c gray26", +"& c #464646", +"* c gray28", +"= c #494949", +"- c #505050", +"; c #515151", +": c gray32", +"> c gray34", +", c gray35", +"< c gray40", +"1 c gray43", +"2 c #6F6F6F", +"3 c gray46", +"4 c #777777", +"5 c #989898", +"6 c gray64", +"7 c gray65", +"8 c gray68", +"9 c #AFAFAF", +"0 c #B2B2B2", +"q c gray70", +"w c #B4B4B4", +"e c gray71", +"r c #B6B6B6", +"t c gray73", +"y c #BBBBBB", +"u c gray74", +"i c gray", +"p c #C0C0C0", +"a c #CDCDCD", +"s c #D7D7D7", +"d c gray85", +"f c #DADADA", +"g c #DDDDDD", +"h c gray87", +"j c #DFDFDF", +"k c #E1E1E1", +"l c #E2E2E2", +"z c gray90", +"x c gray91", +"c c gray92", +"v c #ECECEC", +"b c #EFEFEF", +"n c gray94", +"m c gray95", +"M c #F3F3F3", +"N c #F4F4F4", +"B c gray96", +"V c #F6F6F6", +"C c gray97", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" o+. ", +" ws& ", +" xC< ", +" mm# ", +" CC ", +" Cm ", +" XCm ", +" &Cx ", +" %a6 ", +" %ugdgkg0=@o38w00t7- ", +" ,kCmCCCd> amCCCCb5 ", +" X-11131&Xuu38wtwu7- ", +" Xmx ", +" ,Cz ", +" 1Cg ", +" 1Cg ", +" ,Cz ", +" oCm ", +" uu ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/assets/object/exit/tp/7.xpm b/assets/object/exit/tp/7.xpm new file mode 100644 index 0000000..b949aee --- /dev/null +++ b/assets/object/exit/tp/7.xpm @@ -0,0 +1,158 @@ +/* XPM */ +static char *_[] = { +/* columns rows colors chars-per-pixel */ +"150 150 2 1 ", +" c #33CCFF", +". c white", +/* pixels */ +"............................... ..............................", +".............................. .............................", +"............................. ............................", +"............................ ...........................", +"........................... ..........................", +".......................... .........................", +"......................... ........................", +"........................ .......................", +"....................... ......................", +"...................... .....................", +"..................... ....................", +".................... ...................", +"................... ..................", +".................. .................", +"................. ................", +"................ ...............", +"............... ..............", +".............. .............", +"............. ............", +"............ ...........", +"........... ..........", +".......... .........", +"......... ........", +"........ .......", +"....... ......", +"...... .....", +"..... ....", +".... ...", +"... ..", +".. .", +". ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +". .", +".. ..", +"... ...", +".... ....", +"..... .....", +"...... ......", +"....... .......", +"........ ........", +"......... .........", +".......... ..........", +"........... ...........", +"............ ............", +"............. .............", +".............. ..............", +"............... ...............", +"................ ................", +"................. .................", +".................. ..................", +"................... ...................", +".................... ....................", +"..................... .....................", +"...................... ......................", +"....................... .......................", +"........................ ........................", +"......................... .........................", +".......................... ..........................", +"........................... ...........................", +"............................ ............................", +"............................. .............................", +".............................. ..............................", +"............................... ...............................", +"................................ ................................", +"................................. .................................", +".................................. ..................................", +"................................... ...................................", +".................................... ....................................", +"..................................... .....................................", +"...................................... ......................................", +"....................................... .......................................", +"........................................ ........................................", +"......................................... .........................................", +".......................................... ..........................................", +"........................................... ...........................................", +"............................................ ............................................", +"............................................. .............................................", +".............................................. ..............................................", +"............................................... ...............................................", +"................................................ ................................................" +}; diff --git a/assets/object/exit/tp/8.alpha.xpm b/assets/object/exit/tp/8.alpha.xpm new file mode 100644 index 0000000..eb595c8 --- /dev/null +++ b/assets/object/exit/tp/8.alpha.xpm @@ -0,0 +1,207 @@ +/* XPM */ +static char *__alpha[] = { +/* columns rows colors chars-per-pixel */ +"150 150 51 1 ", +" c black", +". c #0B0B0B", +"X c #151515", +"o c #161616", +"O c #202020", +"+ c gray13", +"@ c gray17", +"# c #2C2C2C", +"$ c #2D2D2D", +"% c gray25", +"& c gray26", +"* c #434343", +"= c gray31", +"- c #565656", +"; c gray34", +": c #585858", +"> c #5A5A5A", +", c #5F5F5F", +"< c gray39", +"1 c #656565", +"2 c #6C6C6C", +"3 c gray45", +"4 c #747474", +"5 c #767676", +"6 c gray51", +"7 c #838383", +"8 c gray52", +"9 c #A2A2A2", +"0 c #A5A5A5", +"q c #B2B2B2", +"w c #B4B4B4", +"e c gray71", +"r c #B6B6B6", +"t c gray", +"y c gray80", +"u c gray81", +"i c gray83", +"p c gray87", +"a c #DFDFDF", +"s c gray88", +"d c #E1E1E1", +"f c #E4E4E4", +"g c #E7E7E7", +"h c #EEEEEE", +"j c #EFEFEF", +"k c gray95", +"l c #F3F3F3", +"z c #F4F4F4", +"x c gray96", +"c c #F6F6F6", +"v c gray97", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" &-X ", +" ta= ", +" az2 ", +" fz4 ", +" ij< ", +" 18+ ", +" ", +" ", +" ", +" ", +" ", +" ", +" X#X.#+ ", +" :szlj6 X4rrr9& ", +" *yzlf< #yvzzj6 ", +" X4rrr0* ", +" ", +" ", +" ", +" ", +" ", +" :- ", +" sa ", +" zz ", +" zl ", +" zz ", +" sa ", +" :: ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/assets/object/exit/tp/8.xpm b/assets/object/exit/tp/8.xpm new file mode 100644 index 0000000..0fc8eae --- /dev/null +++ b/assets/object/exit/tp/8.xpm @@ -0,0 +1,158 @@ +/* XPM */ +static char *_[] = { +/* columns rows colors chars-per-pixel */ +"150 150 2 1 ", +" c #33CCFF", +". c white", +/* pixels */ +".......................... ............................", +"......................... ...........................", +"........................ ..........................", +"....................... .........................", +"...................... ........................", +"..................... .......................", +".................... ......................", +"................... .....................", +".................. ....................", +"................. ...................", +"................ ..................", +"............... .................", +".............. ................", +"............. ...............", +"............ ..............", +"........... .............", +".......... ............", +"......... ...........", +"........ ..........", +"....... .........", +"...... ........", +"..... .......", +".... ......", +"... .....", +".. ....", +". ...", +" ..", +" .", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +". .", +".. ..", +"... ...", +".... ....", +"..... .....", +"...... ......", +"....... .......", +"........ ........", +"......... .........", +".......... ..........", +"........... ...........", +"............ ............", +"............. .............", +".............. ..............", +"............... ...............", +"................ ................", +"................. .................", +".................. ..................", +"................... ...................", +".................... ....................", +"..................... .....................", +"...................... ......................", +"....................... .......................", +"........................ ........................", +"......................... .........................", +".......................... ..........................", +"........................... ...........................", +"............................ ............................", +"............................. .............................", +".............................. ..............................", +"............................... ...............................", +"................................ ................................", +"................................. .................................", +".................................. ..................................", +"................................... ...................................", +".................................... ....................................", +"..................................... .....................................", +"...................................... ......................................", +"....................................... .......................................", +"........................................ ........................................", +"......................................... .........................................", +".......................................... ..........................................", +"........................................... ..........................................." +}; diff --git a/assets/object/exit/tp/9.alpha.xpm b/assets/object/exit/tp/9.alpha.xpm new file mode 100644 index 0000000..5e82393 --- /dev/null +++ b/assets/object/exit/tp/9.alpha.xpm @@ -0,0 +1,183 @@ +/* XPM */ +static char *__alpha[] = { +/* columns rows colors chars-per-pixel */ +"150 150 27 1 ", +" c black", +". c #0B0B0B", +"X c #202020", +"o c #222222", +"O c #2C2C2C", +"+ c #2D2D2D", +"@ c #565656", +"# c #585858", +"$ c gray35", +"% c #646464", +"& c gray40", +"* c gray51", +"= c gray52", +"- c gray64", +"; c gray65", +": c #B1B1B1", +"> c #BCBCBC", +", c gray79", +"< c #CBCBCB", +"1 c #CDCDCD", +"2 c #CECECE", +"3 c #D7D7D7", +"4 c gray85", +"5 c #EFEFEF", +"6 c #F1F1F1", +"7 c #F3F3F3", +"8 c #F4F4F4", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" << ", +" 77X ", +" :1O ", +" XO. ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" O13@ O*-% ", +" O14$ $47> ", +" O=-% ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" << ", +" 87 ", +" 11 ", +" OO ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/assets/object/exit/tp/9.xpm b/assets/object/exit/tp/9.xpm new file mode 100644 index 0000000..56cfad6 --- /dev/null +++ b/assets/object/exit/tp/9.xpm @@ -0,0 +1,158 @@ +/* XPM */ +static char *_[] = { +/* columns rows colors chars-per-pixel */ +"150 150 2 1 ", +" c #33CCFF", +". c white", +/* pixels */ +"......................... ..........................", +"........................ .........................", +"....................... ........................", +"...................... .......................", +"..................... ......................", +".................... .....................", +"................... ....................", +".................. ...................", +"................. ..................", +"................ .................", +"............... ................", +".............. ...............", +"............. ..............", +"............ .............", +"........... ............", +".......... ...........", +"......... ..........", +"........ .........", +"....... ........", +"...... .......", +"..... ......", +".... .....", +"... ....", +".. ...", +". ..", +" .", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +". .", +".. ..", +"... ...", +".... ....", +"..... .....", +"...... ......", +"....... .......", +"........ ........", +"......... .........", +".......... ..........", +"........... ...........", +"............ ............", +"............. .............", +".............. ..............", +"............... ...............", +"................ ................", +"................. .................", +".................. ..................", +"................... ...................", +".................... ....................", +"..................... .....................", +"...................... ......................", +"....................... .......................", +"........................ ........................", +"......................... .........................", +".......................... ..........................", +"........................... ...........................", +"............................ ............................", +"............................. .............................", +".............................. ..............................", +"............................... ...............................", +"................................ ................................", +"................................. .................................", +".................................. ..................................", +"................................... ...................................", +".................................... ....................................", +"..................................... .....................................", +"...................................... ......................................", +"....................................... .......................................", +"........................................ ........................................", +"......................................... ........................................." +}; diff --git a/includes/display/data_assets.h b/includes/display/data_assets.h index e6fa7fd..28c7f83 100644 --- a/includes/display/data_assets.h +++ b/includes/display/data_assets.h @@ -6,14 +6,14 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/29 17:43:01 by mcolonna #+# #+# */ -/* Updated: 2024/04/18 13:54:58 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 17:05:31 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef DATA_ASSETS_H # define DATA_ASSETS_H -# define NB_ASSETS 88 +# define NB_ASSETS 97 typedef struct s_assetmeta { @@ -81,6 +81,15 @@ typedef enum e_assetsmap_id OBJECT_EXIT_USING2_5, OBJECT_EXIT_USING2_6, OBJECT_EXIT_USING2_7, + OBJECT_EXIT_TP_1, + OBJECT_EXIT_TP_2, + OBJECT_EXIT_TP_3, + OBJECT_EXIT_TP_4, + OBJECT_EXIT_TP_5, + OBJECT_EXIT_TP_6, + OBJECT_EXIT_TP_7, + OBJECT_EXIT_TP_8, + OBJECT_EXIT_TP_9, OBJECT_FIRSK_DOWN, OBJECT_FIRSK_UP, OBJECT_FIRSK_LEFT, diff --git a/includes/display/data_sprites.h b/includes/display/data_sprites.h index dc39352..56d409c 100644 --- a/includes/display/data_sprites.h +++ b/includes/display/data_sprites.h @@ -6,14 +6,14 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/11 15:56:31 by mcolonna #+# #+# */ -/* Updated: 2024/04/18 13:59:33 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 18:24:20 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef DATA_SPRITES_H # define DATA_SPRITES_H -# define NB_SPRITES 26 +# define NB_SPRITES 27 typedef enum e_spritetype { @@ -51,7 +51,8 @@ typedef enum e_spritesmap_id SPR_KETCHUP_FADE, SPR_EXIT_INACTIVE, SPR_EXIT_ACTIVE, - SPR_EXIT_USING, + SPR_EXIT_REMAINING, + SPR_EXIT_TP, SPR_FIRSK, SPR_FIRSK_WALK_DOWN, SPR_FIRSK_WALK_UP, diff --git a/includes/includes.h b/includes/includes.h index fe49481..03fcff3 100644 --- a/includes/includes.h +++ b/includes/includes.h @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/02 13:53:41 by mcolonna #+# #+# */ -/* Updated: 2024/04/17 13:48:12 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 17:59:26 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -47,6 +47,7 @@ # include "room/camera.h" # include "room/pathfinding.h" +# include "main/levels.h" # include "main/env.h" # include "main/input.h" # include "main/timedloop.h" diff --git a/includes/main/env.h b/includes/main/env.h index ee5a4ba..125082c 100644 --- a/includes/main/env.h +++ b/includes/main/env.h @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/26 15:26:13 by mcolonna #+# #+# */ -/* Updated: 2024/04/15 18:01:07 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 18:21:35 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,16 +20,19 @@ typedef struct s_env { - t_memclass mc; - void *mlx; - void *win; - t_room room; - bool input[4]; - int ketchup; - int max_ketchup; - int moves; - t_camera camera; -} t_env; + t_memclass mc; + void *mlx; + void *win; + t_room room; + bool input[4]; + int ketchup; + int max_ketchup; + int moves; + t_camera camera; + t_const_string *levels; + int level_count; + int level_current; +} t_env; extern t_env g_env; diff --git a/includes/main/levels.h b/includes/main/levels.h new file mode 100644 index 0000000..833504d --- /dev/null +++ b/includes/main/levels.h @@ -0,0 +1,19 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* levels.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: mcolonna +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/04/18 17:45:16 by mcolonna #+# #+# */ +/* Updated: 2024/04/18 18:00:50 by mcolonna ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef LEVELS_H +# define LEVELS_H + +void init_levels(int count, t_const_string *srcs); +void win(void); + +#endif diff --git a/includes/room/objects.h b/includes/room/objects.h index dd30ba5..dee734e 100644 --- a/includes/room/objects.h +++ b/includes/room/objects.h @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/02 17:47:01 by mcolonna #+# #+# */ -/* Updated: 2024/04/11 13:54:23 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 18:17:16 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,10 +14,21 @@ # define OBJECTS_H // SNAS +typedef enum e_snas_state +{ + SNAS_STATE_DEFAULT, + SNAS_STATE_GOING_TO_EXIT, + SNAS_STATE_DISAPPEARS, + SNAS_STATE_WAITING_TO_WIN, +} t_snas_state; + typedef struct s_snas_data { - t_character character; -} t_snas_data; + t_character character; + t_snas_state state; + t_sprite tp_spr; + int wait_before_win; +} t_snas_data; t_object snas_init(t_memclass mc); diff --git a/includes/room/visual.h b/includes/room/visual.h index e1a3235..e58653f 100644 --- a/includes/room/visual.h +++ b/includes/room/visual.h @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/03 15:34:18 by mcolonna #+# #+# */ -/* Updated: 2024/04/11 17:07:59 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 17:15:18 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,6 +19,6 @@ typedef struct s_visual } t_visual; void visual_loop(t_visual **visual, t_point p); -void visual_addtoroom(t_spritesmap_id sprid, t_point pos); +void visual_addtoroom(t_sprite spr, t_point pos); #endif diff --git a/src/display/data_assets.c b/src/display/data_assets.c index f5c19d7..40438d9 100644 --- a/src/display/data_assets.c +++ b/src/display/data_assets.c @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/26 16:27:06 by mcolonna #+# #+# */ -/* Updated: 2024/04/18 13:57:37 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 16:52:02 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -68,6 +68,15 @@ const t_assetmeta g_assetsmap[NB_ASSETS] = { {"object/exit/using2/5", 50, 100, 50, 100, false}, {"object/exit/using2/6", 50, 100, 50, 100, false}, {"object/exit/using2/7", 50, 100, 50, 100, false}, +{"object/exit/tp/1", 50, 100, 30, 100, false}, +{"object/exit/tp/2", 50, 100, 30, 100, false}, +{"object/exit/tp/3", 50, 100, 30, 100, false}, +{"object/exit/tp/4", 50, 100, 30, 100, false}, +{"object/exit/tp/5", 50, 100, 30, 100, false}, +{"object/exit/tp/6", 50, 100, 30, 100, false}, +{"object/exit/tp/7", 50, 100, 30, 100, false}, +{"object/exit/tp/8", 50, 100, 30, 100, false}, +{"object/exit/tp/9", 50, 100, 30, 100, false}, // firsk {"object/firsk/down", 50, 110, 30, 100, false}, {"object/firsk/up", 40, 100, 30, 100, false}, diff --git a/src/display/data_sprites.c b/src/display/data_sprites.c index f2325fa..dd8f0b9 100644 --- a/src/display/data_sprites.c +++ b/src/display/data_sprites.c @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/11 16:02:29 by mcolonna #+# #+# */ -/* Updated: 2024/04/18 14:00:05 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 18:26:32 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,7 +28,8 @@ const t_spritemeta g_spritesmap[NB_SPRITES] = { {OBJECT_KETCHUP_FADE_1, 50, 50, ANIMATION_ONCE, 3, 1}, {OBJECT_EXIT_INACTIVE_1, 50, 50, ANIMATION, 2, 4}, {OBJECT_EXIT_ACTIVE_1, 50, 50, ANIMATION, 4, 2}, -{OBJECT_EXIT_USING1_1, 50, 50, ANIMATION_ONCE, 11, 1}, +{OBJECT_EXIT_ACTIVE_1, 50, 50, ANIMATION_ONCE, 2, 2}, +{OBJECT_EXIT_TP_1, 50, 50, ANIMATION_ONCE, 9, 1}, {OBJECT_FIRSK, 50, 50, CHARACTER_STILL, 0, 0}, {OBJECT_FIRSK_WALK_DOWN_1, 50, 50, ANIMATION, 4, 3}, {OBJECT_FIRSK_WALK_UP_1, 50, 50, ANIMATION, 4, 3}, diff --git a/src/display/display_utils.c b/src/display/display_utils.c index c943d3e..e4cb45e 100644 --- a/src/display/display_utils.c +++ b/src/display/display_utils.c @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/06 13:03:30 by mcolonna #+# #+# */ -/* Updated: 2024/04/02 18:03:15 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 17:10:46 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -53,11 +53,11 @@ void load_xpm_file_with_alpha(int i) g_allassets[i].img = mlx_xpm_file_to_image(g_env.mlx, src, &(g_allassets[i].width), &g_allassets[i].height); if (!g_allassets[i].img) - error_err("image loading failed"); + error_str(g_assetsmap[i].src, "image loading failed"); mask = mlx_xpm_file_to_image(g_env.mlx, src_mask, &(g_allassets[i].width), &g_allassets[i].height); if (!mask) - error_err("image loading failed"); + error_str(g_assetsmap[i].src, "image loading failed"); apply_mask_to_image(g_allassets[i].img, mask, g_allassets[i].width * g_allassets[i].height); mlx_destroy_image(g_env.mlx, mask); diff --git a/src/main/levels.c b/src/main/levels.c new file mode 100644 index 0000000..37c0348 --- /dev/null +++ b/src/main/levels.c @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* levels.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: mcolonna +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/04/18 17:49:39 by mcolonna #+# #+# */ +/* Updated: 2024/04/18 18:02:40 by mcolonna ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "includes.h" + +static void init_level_index(void) +{ + g_loopfunctions.loop = room_loop; + g_loopfunctions.draw = room_draw; + room_init(g_env.levels[g_env.level_current]); +} + +void init_levels(int count, t_const_string *srcs) +{ + g_env.levels = srcs; + g_env.level_count = count; + if (count <= 0) + error_err("if you don't want to play any level don't start the game"); + g_env.level_current = 0; + init_level_index(); +} + +void win(void) +{ + g_env.level_current++; + if (g_env.level_current >= g_env.level_count) + error_err("end all levels!"); // TODO + init_level_index(); +} diff --git a/src/main/main.c b/src/main/main.c index a5e903f..15ba784 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/26 15:28:34 by mcolonna #+# #+# */ -/* Updated: 2024/04/17 13:26:57 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 18:04:37 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -43,8 +43,6 @@ int loop_hook(void) int main(int argc, t_const_string *argv) { - g_loopfunctions.loop = room_loop; - g_loopfunctions.draw = room_draw; if (argc != 2) error_str("so_long", "takes 1 argument"); g_env.mc = mem_newclass(error_err); @@ -57,7 +55,7 @@ int main(int argc, t_const_string *argv) WINDOW_TITLE); if (!g_env.win) error_err("mlx_new_window() failed"); - room_init(argv[1]); + init_levels(1, &argv[1]); mlx_expose_hook(g_env.win, expose_hook, NULL); mlx_hook(g_env.win, DestroyNotify, StructureNotifyMask, close_hook, NULL); mlx_loop_hook(g_env.mlx, loop_hook, NULL); diff --git a/src/room/object_exit.c b/src/room/object_exit.c index 3b8f8d0..7a08b54 100644 --- a/src/room/object_exit.c +++ b/src/room/object_exit.c @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/08 15:01:16 by mcolonna #+# #+# */ -/* Updated: 2024/04/18 15:56:50 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 18:25:16 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -36,11 +36,15 @@ static bool exit_walk_through( t_object *obj, t_character *character, t_point pos) { t_exit_data *const data = (t_exit_data *)(obj->data); + const t_point snas_p = room_find(snas_init); (void)character; + (void)pos; if (!data->active) return (false); - visual_addtoroom(SPR_EXIT_USING, pos); + ((t_snas_data *)g_env.room.objects[snas_p.y * g_env.room.width + snas_p.x] + ->data)->state++; + visual_addtoroom(sprite_init(SPR_EXIT_REMAINING), pos); return (true); } diff --git a/src/room/object_ketchup.c b/src/room/object_ketchup.c index 78ec18b..970a774 100644 --- a/src/room/object_ketchup.c +++ b/src/room/object_ketchup.c @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/15 15:27:03 by mcolonna #+# #+# */ -/* Updated: 2024/04/18 15:57:45 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 17:14:55 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -30,7 +30,7 @@ static bool ketchup_walk_through( (void)obj; (void)character; g_env.ketchup++; - visual_addtoroom(SPR_KETCHUP_FADE, pos); + visual_addtoroom(sprite_init(SPR_KETCHUP_FADE), pos); return (true); } diff --git a/src/room/object_snas.c b/src/room/object_snas.c index fe2a7de..9cad8df 100644 --- a/src/room/object_snas.c +++ b/src/room/object_snas.c @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/15 15:27:03 by mcolonna #+# #+# */ -/* Updated: 2024/04/18 15:58:11 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 18:29:33 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,7 +18,8 @@ static bool snas_walk_through(t_object *obj, t_character *character, (void)obj; (void)character; (void)pos; - gameover_byfirskattack(&((t_snas_data *)obj->data)->character); + if (!((t_snas_data *)obj->data)->state) + gameover_byfirskattack(&((t_snas_data *)obj->data)->character); return (false); } @@ -38,9 +39,27 @@ static t_direction snas_brain(t_point pos) static t_point snas_loop(t_object *obj, t_point pos) { - t_point r; + t_snas_data *const data = (t_snas_data *)obj->data; + t_point r; - r = character_loop(&((t_snas_data *)obj->data)->character, pos, snas_brain); + if (data->state == SNAS_STATE_GOING_TO_EXIT + && !data->character.walk_remaining_steps) + { + data->state++; + data->tp_spr = sprite_init(SPR_EXIT_TP); + } + if (data->state == SNAS_STATE_WAITING_TO_WIN) + { + data->wait_before_win--; + if (!data->wait_before_win) + { + win(); + return (point_init(0, 0)); + } + } + if (data->state > SNAS_STATE_GOING_TO_EXIT) + return (point_init(0, 0)); + r = character_loop(&data->character, pos, snas_brain); if (r.x || r.y) g_env.moves++; return (r); @@ -48,7 +67,20 @@ static t_point snas_loop(t_object *obj, t_point pos) static void snas_draw(t_object *obj, t_point p) { - return (character_draw(&((t_snas_data *)obj->data)->character, p)); + t_snas_data *const data = (t_snas_data *)obj->data; + + if (data->state <= SNAS_STATE_GOING_TO_EXIT) + return (character_draw(&data->character, p)); + if (data->state == SNAS_STATE_DISAPPEARS) + { + if (!sprite_draw(p, &data->tp_spr)) + { + data->state = SNAS_STATE_WAITING_TO_WIN; + data->wait_before_win = 10; + } + return ; + } + return ; } t_object snas_init(t_memclass mc) @@ -70,6 +102,7 @@ t_object snas_init(t_memclass mc) r.type = type; data = mem_alloc(error_err, mc, sizeof(t_snas_data)); data->character = character_init((t_character_sprites *)&sprites, 4); + data->state = SNAS_STATE_DEFAULT; r.data = data; return (r); } diff --git a/src/room/pathfinding_utils.c b/src/room/pathfinding_utils.c index 583cd23..a905b44 100644 --- a/src/room/pathfinding_utils.c +++ b/src/room/pathfinding_utils.c @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/15 17:35:13 by mcolonna #+# #+# */ -/* Updated: 2024/04/18 16:05:23 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 18:30:25 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,10 +25,8 @@ void path_map_case_init(t_point p, void **el, void *args_p) before: point_init(-1, -1), solid: p.x == 0 || p.x == room.width - 1 || p.y == 0 || p.y == room.height - 1 || ( - obj && ( - (args->for_firsk && obj->type.solid_firsk) - || (!args->for_firsk && obj->type.solid_snas) - )) + obj && ((args->for_firsk && obj->type.solid_firsk) + || (!args->for_firsk && obj->type.solid_snas))) || (args->for_firsk && surface->meta->first_frame == BRIDGE) }; diff --git a/src/room/visual.c b/src/room/visual.c index 2762c59..f5c70db 100644 --- a/src/room/visual.c +++ b/src/room/visual.c @@ -6,7 +6,7 @@ /* By: mcolonna +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/03 15:35:28 by mcolonna #+# #+# */ -/* Updated: 2024/04/11 17:08:14 by mcolonna ### ########.fr */ +/* Updated: 2024/04/18 17:15:45 by mcolonna ### ########.fr */ /* */ /* ************************************************************************** */ @@ -23,13 +23,11 @@ void visual_loop(t_visual **visual, t_point p) } } -void visual_addtoroom(t_spritesmap_id sprid, t_point pos) +void visual_addtoroom(t_sprite spr, t_point pos) { t_visual *visual; - t_sprite spr; visual = mem_alloc(error_err, g_env.room.mc, sizeof(t_visual)); - spr = sprite_init(sprid); visual->spr = spr; g_env.room.visuals[pos.y * g_env.room.width + pos.x] = visual; }