Jump to content

haroldoop

Members
  • Posts

    196
  • Joined

  • Last visited

Everything posted by haroldoop

  1. Yes, essentially, the exported JSON would only contain level layouts... all of the game logic would have to be written from scratch. A possible way to minimize the effort would be to use the source code of an existing GBA game and then adapt it to use the JSON data.
  2. Version 0.13.0 has been released! This version adds a block for setting background/playfield color.
  3. Version 0.12.0 has been released! New since the previous version: This version adds a toolbar at the top, so that, even if running on a narrow window, the user will still be able to navigate between the various editors; Also, the compilation errors are now shown at the bottom of the window.
  4. Yes, thanks for the reminder; the latest version fixes a bug where equality and non-equality checking was generated invalid code
  5. Now, the sprites are being displayed correctly: Demo ROM 0.4: pocket-platformer-to-sms.0.4.sms.zip
  6. Okay, it's starting to display the background. Demo ROM for version 0.2: pocket-platformer-to-sms.0.2.sms.zip
  7. Starting to implement map converter to generate SMS-compatible map data. W.I.P., nothing visual to show, yet: https://github.com/haroldo-ok/pocket-platformer-to-sms/blob/map-converter/index.js
  8. In theory, you could even add an entire MP3 player to the cartridge.
  9. I'm starting to implement the conversion to make it work on SMS; for now, it is still on a very early phase: version 0 .1 just displays a manually converted tileset. pocket-platformer-to-sms.0.1.sms.zip
  10. OK, now the script has been refactored into a command line tool/library: https://www.npmjs.com/package/pocket-platformer-exporter The probable next step would be to implement a web interface to use this tool withou installing anything; afterwards, maybe the prototyping of the SMS converter could start.
  11. I made that initial version, though it was a little hack. Paulo Silva also made a few (much cleaner) ZX-Basic experiments on the SG-1000 and SMS: https://web.archive.org/web/20180323232432/http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_SG1000 https://web.archive.org/web/20180323232428/http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Released_Programs_-_SMS
  12. Unfortunately, it won't be possible to automatically convert JS to run on an 8-bit CPU at a decent speed. Fortunately, "pocket-platformer" uses a fixed JS code for the engine; only the level data and the graphics change. So, as long as the graphics/level data is extracted properly, it will be possible to reuse that for running it in a new engine. Of course, this means that in order to make it run on a SMS via SDCC, it will be necessary to replicate all of the functionalities of the original engine from scratch in C. Once that is done, it will be possible to combine the fixed C code with the converted level data. In other words, "pocket-platformer" has a immutable JS part, that cannot be converted automatically, but it does not need to be converted. The only part that actually changes is the graphics data and level data, but those can be extracted and converted automatically. In order to make those graphics and level data be useful, it will be necessary to use C (or other suitable language) to write a reimplementation of the engine, a new immutable part, that can use the graphic and level data. In other news, the engine can now convert the level objects, too: level3.tmx
  13. The script now exports the levels into Tiled-compatible TMX files (only map layer for now; objects will be next). Example map:level3.tmx Original level: Converted level, inside Tiled:
  14. Now, the script can also generate a Tiled-compatible TSX file, including custom properties and animations. tileset.tsx
  15. Starting to experiment with data extraction: https://github.com/haroldo-ok/pocket-platformer-exporter The script above extracts the level/sprite data from the exported HTML into a JSON file (see attachment for example JSON). generated.json
  16. We are analyzing the viability of converting games made in "pocket platformer" (https://the-l0bster.itch.io/pocket-platformer) into Sega Master System ROMs. In theory, "pocket platformer" is currently limited enough that converting to tile based hardware like SMS, GBC, Genesis and SNES should be feasible. It would require extracting level and graphics data from the games, converting it to hardware-specific formats, and code the entire engine from scratch (without editor, of course) in C.
  17. In terms of color, the GBC has advantages in certain aspects, while the SMS has advantages in others; summarizing, from the top of the head: On a Gameboy Color, each tile can only use four colors, while in the Sega Master System, each can use 16 colors; The Game Boy Color has two 32 colors palettes, one for the background and one for the sprites, each further split into 8 four-color palettes; each individual background tile on the map can choose between any of the 8 background palettes, while each sprite can choose between one of the 8 sprite palettes; The Sega Master System, on the other hand, has two 16 color palettes, one for the sprites and one for the background; the sprites can only use the sprite palette, while each individual tile on the map can choose between the background palette and the sprite palette; Futhermore, on the GBC, each individual palette color can choose between 32768 colors, while in the SMS, they can only be chosen among 64. So, essentially, the GBC can display more colors, but with greater limitations on how they can be used. There are even GBC games that change color every scanline to achieve more than 2 thousand colors per screen; it requires lots of ROM space and CPU time, but it works: On the other hand, there is a SMS tech demo that manages to change about 11 colors for every two scanlines: As for the Pocket Platformer conversion, one possible downside is that games made in it could end up somewhat samey, just like hacks made using KiddEd still feel somewhat like AKiMW, even though they can still be pretty varied:
  18. Okay, I just took a look at the code that the tool exports; it clearly marks the parts that are dynamically generated: //initialLevelDataStart WorldDataHandler.levels = [{"tileData":[[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],"levelObjects":[],"deko":[],"paths":[],"backgroundColor":"transp"},{"tileData":[[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],"levelObjects":[{"x":2,"y":10,"type":"startFlag","extraAttributes":{"levelStartFlag":true,"flagIndex":"X5F"}},{"x":30,"y":5,"type":"finishFlag"}],"deko":[],"paths":[],"backgroundColor":"transp"},{"tileData":[[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],"levelObjects":[],"deko":[],"paths":[],"backgroundColor":"transp"}] WorldDataHandler.gamesName = unescape("Example%20name"); WorldDataHandler.endingMessage = unescape("Thx%20for%20playing%21"); WorldDataHandler.effects = []; WorldDataHandler.backgroundColor = "000000"; WorldDataHandler.textColor = "ffffff"; //initialLevelDataEnd //changedSpritesStart SpritePixelArrays["TILE_1"] = {"name":1,"descriptiveName":"Left top","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00"],["00AA00","005500","005500","005500","005500","005500","005500","005500"],["AAFF55","005500","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["00AA00","005500","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["AAFF55","005500","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["00AA00","005500","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["AAFF55","005500","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["00AA00","005500","c26241","c26241","e1a45b","e1a45b","e1a45b","e1a45b"]]}]};SpritePixelArrays["TILE_2"] = {"name":2,"descriptiveName":"Middle top","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00"],["005500","005500","005500","005500","005500","005500","005500","005500"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["c26241","c26241","c26241","c26241","e1a45b","e1a45b","e1a45b","e1a45b"]]}]};SpritePixelArrays["TILE_3"] = {"name":3,"descriptiveName":"Right top","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00"],["005500","005500","005500","005500","005500","005500","005500","AAFF55"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","005500","00AA00"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","005500","AAFF55"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","005500","00AA00"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","005500","AAFF55"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","005500","00AA00"],["c26241","c26241","c26241","c26241","e1a45b","e1a45b","005500","AAFF55"]]}]};SpritePixelArrays["TILE_4"] = {"name":4,"descriptiveName":"Left","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["AAFF55","005500","fbe7cf","fbe7cf","eeb39e","eeb39e","eeb39e","eeb39e"],["00AA00","005500","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["AAFF55","005500","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["00AA00","005500","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["AAFF55","005500","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["00AA00","005500","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["AAFF55","005500","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["00AA00","005500","c26241","c26241","e1a45b","e1a45b","e1a45b","e1a45b"]]}]};SpritePixelArrays["TILE_6"] = {"name":6,"descriptiveName":"Middle","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["fbe7cf","fbe7cf","fbe7cf","fbe7cf","eeb39e","eeb39e","eeb39e","eeb39e"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["c26241","c26241","c26241","c26241","e1a45b","e1a45b","e1a45b","e1a45b"]]}]};SpritePixelArrays["TILE_7"] = {"name":7,"descriptiveName":"Right","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["fbe7cf","fbe7cf","fbe7cf","fbe7cf","eeb39e","eeb39e","005500","00AA00"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","005500","AAFF55"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","005500","00AA00"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","005500","AAFF55"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","005500","00AA00"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","005500","AAFF55"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","005500","00AA00"],["c26241","c26241","c26241","c26241","e1a45b","e1a45b","005500","AAFF55"]]}]};SpritePixelArrays["TILE_8"] = {"name":8,"descriptiveName":"Left bottom","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["AAFF55","005500","fbe7cf","fbe7cf","eeb39e","eeb39e","eeb39e","eeb39e"],["00AA00","005500","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["AAFF55","005500","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["00AA00","005500","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["AAFF55","005500","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["00AA00","005500","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["AAFF55","005500","005500","005500","005500","005500","005500","005500"],["00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55"]]}]};SpritePixelArrays["TILE_9"] = {"name":9,"descriptiveName":"Middle bottom","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["fbe7cf","fbe7cf","fbe7cf","fbe7cf","eeb39e","eeb39e","eeb39e","eeb39e"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["005500","005500","005500","005500","005500","005500","005500","005500"],["00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55"]]}]};SpritePixelArrays["TILE_10"] = {"name":10,"descriptiveName":"Right bottom","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["fbe7cf","fbe7cf","fbe7cf","fbe7cf","eeb39e","eeb39e","005500","00AA00"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","005500","AAFF55"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","005500","00AA00"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","005500","AAFF55"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","005500","00AA00"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","005500","AAFF55"],["005500","005500","005500","005500","005500","005500","005500","00AA00"],["00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55"]]}]};SpritePixelArrays["TILE_11"] = {"name":15,"descriptiveName":"Top and bottom","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00"],["005500","005500","005500","005500","005500","005500","005500","005500"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["fbe7cf","f6c992","f6c992","f6c992","ee8764","ee8764","ee8764","c26241"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["eeb39e","ee8764","ee8764","ee8764","f6c992","f6c992","f6c992","e1a45b"],["005500","005500","005500","005500","005500","005500","005500","005500"],["AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00"]]}]};SpritePixelArrays["TILE_12"] = {"name":16,"descriptiveName":"Left and right","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["AAFF55","005500","fbe7cf","fbe7cf","eeb39e","eeb39e","005500","AAFF55"],["00AA00","005500","f6c992","f6c992","ee8764","ee8764","005500","00AA00"],["AAFF55","005500","f6c992","f6c992","ee8764","ee8764","005500","AAFF55"],["00AA00","005500","f6c992","f6c992","ee8764","ee8764","005500","00AA00"],["AAFF55","005500","ee8764","ee8764","f6c992","f6c992","005500","AAFF55"],["00AA00","005500","ee8764","ee8764","f6c992","f6c992","005500","00AA00"],["AAFF55","005500","ee8764","ee8764","f6c992","f6c992","005500","AAFF55"],["00AA00","005500","c26241","c26241","e1a45b","e1a45b","005500","00AA00"]]}]};SpritePixelArrays["TILE_13"] = {"name":17,"descriptiveName":"All sides","description":"Just a solid block. <br/><br/> Hold CTRL in game screen to draw bigger areas.","type":"tiles","animation":[{"sprite":[["AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00"],["00AA00","005500","005500","005500","005500","005500","005500","AAFF55"],["AAFF55","005500","f6c992","f6c992","ee8764","ee8764","005500","00AA00"],["00AA00","005500","f6c992","f6c992","ee8764","ee8764","005500","AAFF55"],["AAFF55","005500","ee8764","ee8764","f6c992","f6c992","005500","00AA00"],["00AA00","005500","ee8764","ee8764","f6c992","f6c992","005500","AAFF55"],["AAFF55","005500","005500","005500","005500","005500","005500","00AA00"],["00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55","00AA00","AAFF55"]]}]};SpritePixelArrays["TILE_5"] = {"name":5,"descriptiveName":"One way block","description":"The player can jump through it, but will land on it when he falls","type":"tiles","animation":[{"sprite":[["transp","e97977","e97977","transp","transp","e97977","e97977","transp"],["d55c5a","d55c5a","d55c5a","e97977","d55c5a","d55c5a","d55c5a","e97977"],["ba3d3b","d55c5a","d55c5a","e97977","ba3d3b","d55c5a","d55c5a","e97977"],["transp","ba3d3b","ba3d3b","transp","transp","ba3d3b","ba3d3b","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["TILE_edge"] = {"name":"edge","descriptiveName":"Edge block","description":"Will display on the edge of the game screen","animation":[{"sprite":[["b3a1b4","b3a1b4","b3a1b4","b3a1b4","b3a1b4","b3a1b4","b3a1b4","b3a1b4"],["6c686c","b3a1b4","b3a1b4","b3a1b4","b3a1b4","b3a1b4","b3a1b4","6c686c"],["6c686c","6c686c","b3a1b4","b3a1b4","b3a1b4","b3a1b4","6c686c","6c686c"],["6c686c","6c686c","6c686c","b3a1b4","b3a1b4","6c686c","6c686c","6c686c"],["6c686c","6c686c","6c686c","524f52","524f52","6c686c","6c686c","6c686c"],["6c686c","6c686c","524f52","524f52","524f52","524f52","6c686c","6c686c"],["6c686c","524f52","524f52","524f52","524f52","524f52","524f52","6c686c"],["524f52","524f52","524f52","524f52","524f52","524f52","524f52","524f52"]]}]};SpritePixelArrays["PLAYER_IDLE_SPRITE"] = {"name":"playerIdle","descriptiveName":"Player idle","description":"The player sprite that is shown when you are not moving.","directions":["right","left"],"animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","4080BF","4080BF","4080BF","4080BF","transp","transp"],["transp","4080BF","4080BF","4080BF","4080BF","4080BF","4080BF","4080BF"],["transp","transp","EABFBF","FFFFFF","80552B","EABFBF","80552B","transp"],["transp","transp","EABFBF","EABFBF","EABFBF","EABFBF","EABFBF","transp"],["transp","transp","d55c5a","d55c5a","d55c5a","d55c5a","transp","transp"],["transp","f2cbc9","transp","d55c5a","d55c5a","transp","f2cbc9","transp"],["transp","transp","BF8040","transp","transp","BF8040","transp","transp"]]}]};SpritePixelArrays["PLAYER_JUMP_SPRITE"] = {"name":"playerJump","descriptiveName":"Player jump","description":"The player sprite that is shown when you are jumping.<br/><span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'SFX 1'} }, true)\">Jump SFX</span> will be displayed underneath.","squishAble":true,"directions":["right","left"],"animation":[{"sprite":[["transp","transp","4080BF","4080BF","4080BF","4080BF","transp","4080BF"],["transp","4080BF","4080BF","4080BF","4080BF","4080BF","4080BF","transp"],["transp","transp","EABFBF","FFFFFF","80552B","EABFBF","80552B","transp"],["transp","transp","EABFBF","EABFBF","EABFBF","EABFBF","EABFBF","transp"],["transp","EABFBF","BF4040","BF4040","BF4040","BF4040","EABFBF","transp"],["transp","transp","transp","BF4040","BF4040","FFAA55","transp","transp"],["transp","transp","FFAA55","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["PLAYER_WALL_JUMP_SPRITE"] = {"descriptiveName":"Player wall jump","description":"The player sprite that is shown when you are jumping.","squishAble":false,"hiddenEverywhere":true,"directions":["right","left"],"animation":[{"sprite":[["transp","transp","4080BF","4080BF","4080BF","4080BF","transp","4080BF"],["transp","4080BF","4080BF","4080BF","4080BF","4080BF","4080BF","transp"],["transp","transp","EABFBF","FFFFFF","80552B","EABFBF","80552B","transp"],["transp","transp","EABFBF","EABFBF","EABFBF","EABFBF","EABFBF","transp"],["transp","EABFBF","BF4040","BF4040","BF4040","BF4040","EABFBF","transp"],["transp","transp","transp","BF4040","BF4040","FFAA55","transp","transp"],["transp","transp","FFAA55","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["PLAYER_WALK_SPRITE"] = {"name":"playerWalk","descriptiveName":"Player walk","description":"The player sprite that is shown when you are running.","directions":["right","left"],"animation":[{"sprite":[["transp","transp","4080BF","4080BF","4080BF","4080BF","transp","transp"],["transp","4080BF","4080BF","4080BF","4080BF","4080BF","4080BF","4080BF"],["transp","transp","EABFBF","FFFFFF","80552B","EABFBF","80552B","transp"],["transp","transp","EABFBF","EABFBF","EABFBF","EABFBF","EABFBF","transp"],["transp","transp","BF4040","BF4040","BF4040","BF4040","EABFBF","transp"],["transp","EABFBF","BF4040","BF4040","BF4040","BF8040","transp","transp"],["transp","transp","BF8040","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","4080BF","4080BF","4080BF","4080BF","transp","transp"],["transp","4080BF","4080BF","4080BF","4080BF","4080BF","4080BF","4080BF"],["transp","transp","EABFBF","FFFFFF","80552B","EABFBF","80552B","transp"],["transp","transp","EABFBF","EABFBF","EABFBF","EABFBF","EABFBF","transp"],["transp","transp","BF4040","BF4040","BF4040","BF4040","transp","transp"],["transp","EABFBF","BF8040","BF4040","BF4040","transp","EABFBF","transp"],["transp","transp","transp","transp","BF8040","transp","transp","transp"]]}]};SpritePixelArrays["START_FLAG_SPRITE"] = {"name":"startFlag","descriptiveName":"Start flag","description":"The starting point of a level. You also respawn here, if you die. <br/> If you create multiple start-flags, for non-linear games, you can click on a set start flag again, to declare it as the default start of a level.","type":"objects","animation":[{"sprite":[["fdfdfd","d55c5a","d55c5a","transp","transp","transp","transp","transp"],["fdfdfd","d55c5a","d55c5a","d55c5a","d55c5a","transp","transp","transp"],["fdfdfd","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","transp"],["fdfdfd","d55c5a","d55c5a","d55c5a","d55c5a","transp","transp","transp"],["fdfdfd","d55c5a","d55c5a","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["CHECKPOINT_FLAG"] = {"name":"checkpoint","descriptiveName":"Checkpoint","description":"If the player touches the checkpoint, he will respawn here after a death. If there are multiple checkpoints, the latest one the player touched will become the respawn point.","type":"objects","animation":[{"sprite":[["fdfdfd","E3E300","E3E300","transp","transp","transp","transp","transp"],["fdfdfd","E3E300","E3E300","E3E300","transp","transp","transp","transp"],["fdfdfd","E3E300","E3E300","E3E300","E3E300","transp","transp","transp"],["fdfdfd","E3E300","E3E300","E3E300","E3E300","E3E300","transp","transp"],["fdfdfd","E3E300","E3E300","E3E300","E3E300","E3E300","E3E300","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["fdfdfd","E3E300","E3E300","transp","transp","transp","transp","transp"],["fdfdfd","E3E300","E3E300","E3E300","E3E300","transp","transp","transp"],["fdfdfd","E3E300","E3E300","E3E300","E3E300","E3E300","E3E300","transp"],["fdfdfd","E3E300","E3E300","E3E300","E3E300","transp","transp","transp"],["fdfdfd","E3E300","E3E300","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["FINISH_FLAG_SPRITE"] = {"name":"finishFlag","descriptiveName":"Finish flag","changeableAttributes":[{"name":"collectiblesNeeded","defaultValue":false}],"description":"The goal of a level. If you touch it, by default you continue to the next level. If you want to specify a custom exit to a different level, click on a set finish flag again. <br/><span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Finish flag closed'} }, true)\">Closed finish flag sprite</span>","type":"objects","animation":[{"sprite":[["fdfdfd","208220","208220","transp","transp","transp","transp","transp"],["fdfdfd","208220","208220","208220","208220","transp","transp","transp"],["fdfdfd","208220","208220","208220","208220","208220","208220","transp"],["fdfdfd","208220","208220","208220","208220","transp","transp","transp"],["fdfdfd","208220","208220","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["FINISH_FLAG_CLOSED_SPRITE"] = {"name":"finishFlagClosed","descriptiveName":"Finish flag closed","description":"This sprite will be displayed if the player needs to collect collectibles to access the <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Finish flag'} }, true)\">Finish flag</span> (Can be configured by clicking on a set finish flag in the game screen).","hiddenSprite":true,"type":"objects","animation":[{"sprite":[["fdfdfd","8E8E8E","8E8E8E","transp","transp","transp","transp","transp"],["fdfdfd","8E8E8E","8E8E8E","8E8E8E","8E8E8E","transp","transp","transp"],["fdfdfd","8E8E8E","8E8E8E","8E8E8E","8E8E8E","8E8E8E","8E8E8E","transp"],["fdfdfd","8E8E8E","8E8E8E","8E8E8E","8E8E8E","transp","transp","transp"],["fdfdfd","8E8E8E","8E8E8E","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"],["fdfdfd","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["SPIKE_SPRITE"] = {"name":"spike","descriptiveName":"Spike","directions":["bottom","left","top","right"],"description":"A spike. If you touch it, you die","type":"objects","animation":[{"sprite":[["transp","transp","transp","transp","b3a1b4","transp","transp","transp"],["transp","transp","transp","b3a1b4","b3a1b4","transp","transp","transp"],["transp","transp","b3a1b4","6c686c","6c686c","b3a1b4","transp","transp"],["b3a1b4","b3a1b4","6c686c","524f52","FFFFFF","6c686c","b3a1b4","transp"],["transp","b3a1b4","6c686c","524f52","524f52","6c686c","b3a1b4","b3a1b4"],["transp","transp","b3a1b4","6c686c","6c686c","b3a1b4","transp","transp"],["transp","transp","transp","b3a1b4","b3a1b4","transp","transp","transp"],["transp","transp","transp","b3a1b4","transp","transp","transp","transp"]]}]};SpritePixelArrays["TRAMPOLINE_SRPITE"] = {"name":"trampoline","descriptiveName":"Trampoline","description":"A trampoline. You will jump approximately twice as high when you land on it.","animNotEditale":true,"squishAble":false,"type":"objects","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["e97977","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","e97977"],["e97977","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","e97977"],["transp","transp","6c686c","6c686c","b3a1b4","fdfdfd","transp","transp"],["transp","transp","524f52","524f52","524f52","524f52","transp","transp"],["transp","transp","6c686c","6c686c","b3a1b4","fdfdfd","transp","transp"],["transp","transp","524f52","524f52","524f52","524f52","transp","transp"]]},{"sprite":[["e97977","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","e97977"],["e97977","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","d55c5a","e97977"],["transp","transp","6c686c","6c686c","b3a1b4","fdfdfd","transp","transp"],["transp","transp","524f52","524f52","524f52","524f52","transp","transp"],["transp","transp","6c686c","6c686c","b3a1b4","fdfdfd","transp","transp"],["transp","transp","524f52","524f52","524f52","524f52","transp","transp"],["transp","transp","6c686c","6c686c","b3a1b4","fdfdfd","transp","transp"],["transp","transp","524f52","524f52","524f52","524f52","transp","transp"]]}]};SpritePixelArrays["CANON_SPRITE"] = {"name":"canon","changeableAttributes":[{"name":"speed","defaultValue":3,"minValue":1,"maxValue":10},{"name":"frequency","defaultValue":3,"minValue":1,"maxValue":8}],"descriptiveName":"Cannon","description":"A cannon. It shoots <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Cannon ball'} }, true)\">cannonballs</span> at certain time intervals. Click on it after placing it again, to change the attributes of the individual cannon.","type":"objects","squishAble":false,"directions":["left","top","right","bottom"],"animation":[{"sprite":[["FFFFFF","transp","transp","transp","FFFFFF","FFFFFF","FFFFFF","transp"],["FFFFFF","FFFFFF","transp","FFFFFF","000000","000000","000000","FFFFFF"],["FFFFFF","000000","FFFFFF","000000","000000","000000","000000","FFFFFF"],["FFFFFF","000000","000000","000000","000000","000000","000000","FFFFFF"],["FFFFFF","000000","000000","000000","000000","000000","000000","FFFFFF"],["FFFFFF","000000","FFFFFF","000000","000000","000000","000000","FFFFFF"],["FFFFFF","FFFFFF","transp","FFFFFF","000000","000000","000000","FFFFFF"],["FFFFFF","transp","transp","transp","FFFFFF","FFFFFF","FFFFFF","transp"]]}]};SpritePixelArrays["STOMPER"] = {"name":"stomper","type":"objects","descriptiveName":"Stomper","squishAble":false,"directions":["bottom","left","top","right"],"description":"A deadly hazard, that will fly torwards the player, if he is in it's way and move back to it's initial place once it hits a solid block. Can be rotated by clicking on a placed object again.","animation":[{"sprite":[["AAAAAA","AAAAAA","transp","AAAAAA","AAAAAA","transp","AAAAAA","AAAAAA"],["AAAAAA","717171","transp","717171","717171","transp","717171","AAAAAA"],["transp","transp","AAAAAA","AAAAAA","AAAAAA","AAAAAA","transp","transp"],["AAAAAA","717171","FFFFFF","AAAAAA","AAAAAA","FFFFFF","717171","AAAAAA"],["AAAAAA","717171","FF1C1C","AAAAAA","AAAAAA","FF1C1C","717171","AAAAAA"],["transp","transp","AAAAAA","AAAAAA","AAAAAA","AAAAAA","transp","transp"],["AAAAAA","717171","transp","717171","717171","transp","717171","AAAAAA"],["AAAAAA","AAAAAA","transp","AAAAAA","AAAAAA","transp","AAAAAA","AAAAAA"]]}]};SpritePixelArrays["TOGGLE_MINE"] = {"name":"toggleMine","type":"objects","descriptiveName":"Toggle mine","description":"An object that is harmless at first, but once you step in and out of it, it becomes deadly.","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","C6C6C6","C6C6C6","transp","transp","transp"],["transp","transp","C6C6C6","transp","transp","C6C6C6","transp","transp"],["transp","C6C6C6","transp","transp","transp","transp","C6C6C6","transp"],["transp","C6C6C6","transp","transp","transp","transp","C6C6C6","transp"],["transp","transp","C6C6C6","transp","transp","C6C6C6","transp","transp"],["transp","transp","transp","C6C6C6","C6C6C6","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","FF1C1C","FF1C1C","transp","transp","transp"],["transp","transp","FF1C1C","transp","transp","FF1C1C","transp","transp"],["transp","FF1C1C","transp","transp","transp","transp","FF1C1C","transp"],["FF1C1C","transp","FFFFFF","transp","transp","FFFFFF","transp","FF1C1C"],["FF1C1C","transp","transp","transp","transp","transp","transp","FF1C1C"],["transp","FF1C1C","transp","transp","transp","transp","FF1C1C","transp"],["transp","transp","FF1C1C","transp","transp","FF1C1C","transp","transp"],["transp","transp","transp","FF1C1C","FF1C1C","transp","transp","transp"]]}]};SpritePixelArrays["DISAPPEARING_BLOCK_SPRITE"] = {"name":"disappearingBlock","descriptiveName":"Disappearing block","description":"A block that will disappear upon touching it. It will reappear after a certain time.","type":"tiles","animation":[{"sprite":[["804c51","9c6853","f6c992","f6c992","9c6853","804c51","804c51","804c51"],["9c6853","f6c992","f6c992","f6c992","f6c992","804c51","f6c992","9c6853"],["f6c992","f6c992","f6c992","f6c992","9c6853","804c51","9c6853","9c6853"],["9c6853","f6c992","f6c992","9c6853","9c6853","804c51","804c51","804c51"],["9c6853","9c6853","9c6853","9c6853","804c51","9c6853","f6c992","9c6853"],["804c51","9c6853","9c6853","804c51","9c6853","f6c992","f6c992","9c6853"],["804c51","804c51","804c51","804c51","9c6853","9c6853","9c6853","804c51"],["804c51","9c6853","9c6853","804c51","804c51","804c51","804c51","804c51"]]}]};SpritePixelArrays["WATER"] = {"name":"water","descriptiveName":"Water","description":"A passable block that slows down gravity and let's you jump infinitely inside it. Every object can be placed on it.","type":"tiles","animation":[{"sprite":[["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","C6E3FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","C6E3FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"]]},{"sprite":[["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","C6E3FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","C6E3FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"],["8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF","8EC6FF"]]}]};SpritePixelArrays["RED_BLOCK"] = {"name":"redBlock","descriptiveName":"Red block","description":"There are red blocks and blue blocks. Only one them can be active at a time. By touching the switch (in the objects tab), the active tiles can be switched.","type":"tiles","animation":[{"sprite":[["FF8E8E","FF8E8E","FF8E8E","FF8E8E","FF8E8E","FF8E8E","FF8E8E","FF8E8E"],["FF8E8E","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","AA0000"],["FF8E8E","AA0000","AA0000","AA0000","AA0000","AA0000","AA0000","AA0000"]]},{"sprite":[["FF1C1C","FF1C1C","transp","FF1C1C","FF1C1C","transp","FF1C1C","FF1C1C"],["FF1C1C","transp","transp","transp","transp","transp","transp","FF1C1C"],["transp","transp","transp","transp","transp","transp","transp","transp"],["FF1C1C","transp","transp","transp","transp","transp","transp","FF1C1C"],["FF1C1C","transp","transp","transp","transp","transp","transp","FF1C1C"],["transp","transp","transp","transp","transp","transp","transp","transp"],["FF1C1C","transp","transp","transp","transp","transp","transp","FF1C1C"],["FF1C1C","FF1C1C","transp","FF1C1C","FF1C1C","transp","FF1C1C","FF1C1C"]]}]};SpritePixelArrays["BLUE_BLOCK"] = {"name":"blueBlock","descriptiveName":"Blue block","description":"There are red blocks and blue blocks. Only one them can be active at a time. By touching the switch (in the objects tab), the active tiles can be switched.","type":"tiles","animation":[{"sprite":[["8E8EFF","8E8EFF","8E8EFF","8E8EFF","8E8EFF","8E8EFF","8E8EFF","8E8EFF"],["8E8EFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","0000AA","0000AA","0000AA","0000AA","0000AA","0000AA","0000AA"]]},{"sprite":[["1C1CFF","1C1CFF","transp","1C1CFF","1C1CFF","transp","1C1CFF","1C1CFF"],["1C1CFF","transp","transp","transp","transp","transp","transp","1C1CFF"],["transp","transp","transp","transp","transp","transp","transp","transp"],["1C1CFF","transp","transp","transp","transp","transp","transp","1C1CFF"],["1C1CFF","transp","transp","transp","transp","transp","transp","1C1CFF"],["transp","transp","transp","transp","transp","transp","transp","transp"],["1C1CFF","transp","transp","transp","transp","transp","transp","1C1CFF"],["1C1CFF","1C1CFF","transp","1C1CFF","1C1CFF","transp","1C1CFF","1C1CFF"]]}]};SpritePixelArrays["RED_BLUE_BLOCK_SWITCH"] = {"name":"redblueblockswitch","descriptiveName":"Red/blue switch","description":"A switch for red/blue tiles. Can be activated by hitting it with your head, or if a stomper/cannon-ball/rocket hits it.","type":"tiles","squishAble":false,"animNotEditale":true,"animation":[{"sprite":[["FF8E8E","FF8E8E","FF8E8E","FF8E8E","FF8E8E","FF8E8E","FF8E8E","FF8E8E"],["FF8E8E","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FFFFFF","FFFFFF","FFFFFF","FF1C1C","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FFFFFF","FF1C1C","FF1C1C","FFFFFF","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FFFFFF","FFFFFF","FFFFFF","FF1C1C","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FFFFFF","FF1C1C","FF1C1C","FFFFFF","FF1C1C","AA0000"],["FF8E8E","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","FF1C1C","AA0000"],["FF8E8E","AA0000","AA0000","AA0000","AA0000","AA0000","AA0000","AA0000"]]},{"sprite":[["8E8EFF","8E8EFF","8E8EFF","8E8EFF","8E8EFF","8E8EFF","8E8EFF","8E8EFF"],["8E8EFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","FFFFFF","FFFFFF","FFFFFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","FFFFFF","1C1CFF","1C1CFF","FFFFFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","FFFFFF","FFFFFF","FFFFFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","1C1CFF","0000AA"],["8E8EFF","0000AA","0000AA","0000AA","0000AA","0000AA","0000AA","0000AA"]]}]};SpritePixelArrays["ROCKET_LAUNCHER"] = {"name":"rocketLauncher","type":"objects","descriptiveName":"Rocket launcher","changeableAttributes":[{"name":"speed","defaultValue":3,"minValue":1,"maxValue":10},{"name":"frequency","defaultValue":3,"minValue":1,"maxValue":8},{"name":"rotationSpeed","defaultValue":8,"minValue":0,"maxValue":24,"descriptiveName":"rotation speed <span data-microtip-size='large'aria-label='Determines how fast the rockets will rotate to the players direction. 0 = rockets will decide direction once and not turn at all. 24 = basically following the player everywhere.'data-microtip-position='top-left' role='tooltip' class='songInputInfo'><img src='images/icons/info.svg' alt='info' width='16' height='16'>"}],"squishAble":false,"rotateable":true,"description":"A rocket-launcher. It shoots <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Rocket'} }, true)\">rockets</span> at certain time intervals that will follow the player. Click on it after placing it again, to change the attributes of the individual cannon.","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","AAAAAA","AAAAAA","transp","transp"],["AAAAAA","AAAAAA","FF1C1C","FF1C1C","AAAAAA","AAAAAA","717171","transp"],["AAAAAA","AAAAAA","AAAAAA","AAAAAA","AAAAAA","AAAAAA","717171","717171"],["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","717171","717171"],["FFFFFF","FFFFFF","FF1C1C","FF1C1C","FFFFFF","FFFFFF","717171","transp"],["transp","transp","transp","transp","FFFFFF","FFFFFF","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["NPC_SPRITE"] = {"name":"npc","changeableAttributes":[{"name":"dialogue","defaultValue":[""]}],"descriptiveName":"Npc","description":"An object that can display a dialogue. Click on it again after placing it, to display the dialogue window.","type":"objects","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["FFAA55","FFAA55","FFAA55","FFAA55","FFAA55","FFAA55","FFAA55","AA5500"],["FFAA55","FF8E1C","FFFFFF","FFFFFF","FF8E1C","FFFFFF","FF8E1C","AA5500"],["FFAA55","FF8E1C","FF8E1C","FF8E1C","FF8E1C","FF8E1C","FF8E1C","AA5500"],["FFAA55","FF8E1C","FFFFFF","FF8E1C","FFFFFF","FFFFFF","FF8E1C","AA5500"],["AA5500","AA5500","AA5500","AA5500","AA5500","AA5500","AA5500","AA5500"],["transp","transp","transp","713900","713900","transp","transp","transp"],["transp","transp","transp","713900","713900","transp","transp","transp"]]}]};SpritePixelArrays["CANON_BALL_SPRITE"] = {"name":"canonBall","descriptiveName":"Cannon ball","directions":["left","top","right","bottom"],"description":"A cannonball. The <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Cannon'} }, true)\">cannon</span> shoots it. <br/>When it hits a wall, <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'SFX 2'} }, true)\">explosion</span> will be displayed.","animation":[{"sprite":[["transp","transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp","transp"],["transp","FFFFFF","ff5e7a","ff5e7a","ff5e7a","ff5e7a","FFFFFF","transp"],["FFFFFF","ff5e7a","ff5e7a","ff5e7a","FFFFFF","ff5e7a","ff5e7a","FFFFFF"],["FFFFFF","ff5e7a","ff5e7a","ff5e7a","ff5e7a","FFFFFF","ff5e7a","FFFFFF"],["FFFFFF","ff5e7a","ff5e7a","ff5e7a","ff5e7a","ff5e7a","ff5e7a","FFFFFF"],["FFFFFF","ff5e7a","ff5e7a","ff5e7a","ff5e7a","ff5e7a","ff5e7a","FFFFFF"],["transp","FFFFFF","ff5e7a","ff5e7a","ff5e7a","ff5e7a","FFFFFF","transp"],["transp","transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp","transp"]]}]};SpritePixelArrays["ROCKET"] = {"name":"rocket","descriptiveName":"Rocket","description":"A rocket. The <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Rocket launcher'} }, true)\">rocket launcher</span> shoots it.<br/>When it hits a wall, <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'SFX 2'} }, true)\">explosion</span> will be displayed.","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","FFFFFF","transp","transp"],["transp","transp","transp","transp","FFFFFF","FFFFFF","transp","transp"],["FF1C1C","FF1C1C","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFF8E","FF8E1C"],["FF1C1C","FF1C1C","AAAAAA","AAAAAA","AAAAAA","AAAAAA","FFFF8E","FF8E1C"],["transp","transp","transp","transp","AAAAAA","AAAAAA","transp","transp"],["transp","transp","transp","transp","transp","AAAAAA","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","FFFFFF","transp","transp"],["transp","transp","transp","transp","FFFFFF","FFFFFF","transp","transp"],["FF1C1C","FF1C1C","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp","FF8E1C"],["FF1C1C","FF1C1C","AAAAAA","AAAAAA","AAAAAA","AAAAAA","transp","FF8E1C"],["transp","transp","transp","transp","AAAAAA","AAAAAA","transp","transp"],["transp","transp","transp","transp","transp","AAAAAA","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["PORTAL"] = {"name":"portal","type":"objects","descriptiveName":"Portal","squishAble":false,"description":"<b>Second Sprite:</b> <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Portal 2'} }, true)\">Here</span><br/><br/>A portal with 2 exits. <br/>Just draw 2 portals on the game screen. The odd one will automatically be the first, the even one the second.","animation":[{"sprite":[["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","0071E3","0071E3","0071E3","0071E3","transp","transp"],["transp","0071E3","0071E3","55AAFF","55AAFF","0071E3","0071E3","transp"],["FFFFFF","0071E3","55AAFF","8EC6FF","8EC6FF","55AAFF","0071E3","FFFFFF"],["FFFFFF","0071E3","55AAFF","8EC6FF","8EC6FF","55AAFF","0071E3","FFFFFF"],["transp","0071E3","0071E3","55AAFF","55AAFF","0071E3","0071E3","transp"],["transp","transp","0071E3","0071E3","0071E3","0071E3","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"]]}]};SpritePixelArrays["PORTAL2"] = {"name":"portal2","type":"objects","descriptiveName":"Portal 2","description":"<b>First Sprite:</b> <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Portal'} }, true)\">Here</span><br/><br/>A portal with 2 exits. <br/>Just draw 2 portals on the game screen. The odd one will automatically be the first, the even one the second.","squishAble":false,"hiddenSprite":true,"animation":[{"sprite":[["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","E37100","E37100","E37100","E37100","transp","transp"],["transp","E37100","E37100","FFAA55","FFAA55","E37100","E37100","transp"],["FFFFFF","E37100","FFAA55","FFC68E","FFC68E","FFAA55","E37100","FFFFFF"],["FFFFFF","E37100","FFAA55","FFC68E","FFC68E","FFAA55","E37100","FFFFFF"],["transp","E37100","E37100","FFAA55","FFAA55","E37100","E37100","transp"],["transp","transp","E37100","E37100","E37100","E37100","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"]]}]};SpritePixelArrays["COLLECTIBLE"] = {"name":"collectible","type":"objects","descriptiveName":"Collectible","description":"They can be placed to give the player an additional challenge. <br/> Inside the tool, the collectibles will reappear if you die or reset the level, in the exported game they are gone forever, once <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'SFX 4'} }, true)\">collected</span>.","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","FFFFC6","FFFFC6","transp","transp","transp"],["transp","transp","FFFFC6","FFFF8E","FFFF8E","FFFF55","transp","transp"],["transp","transp","FFFFC6","FFFF8E","FFFF8E","FFFF55","transp","transp"],["transp","transp","FFFFC6","FFFF8E","FFFF8E","FFFF55","transp","transp"],["transp","transp","FFFFC6","FFFF8E","FFFF8E","FFFF55","transp","transp"],["transp","transp","transp","FFFF55","FFFF55","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","FFFFC6","FFFFC6","transp","transp","transp"],["transp","transp","transp","FFFFC6","FFFF55","transp","transp","transp"],["transp","transp","transp","FFFFC6","FFFF55","transp","transp","transp"],["transp","transp","transp","FFFFC6","FFFF55","transp","transp","transp"],["transp","transp","transp","FFFFC6","FFFF55","transp","transp","transp"],["transp","transp","transp","FFFF55","FFFF55","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["LASER_CANON"] = {"name":"laserCanon","changeableAttributes":[{"name":"laserDuration","defaultValue":60,"minValue":10,"maxValue":140,"step":10,"descriptiveName":"laser duration"},{"name":"pauseDuration","defaultValue":60,"minValue":0,"maxValue":140,"step":10,"descriptiveName":"pause duration"}],"descriptiveName":"Laser cannon","description":"A laser cannon. It shoots <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Laser'} }, true)\">lasers</span> until they hit a wall. Click on it after placing it again, to change the attributes of the individual laser cannon.","type":"objects","squishAble":false,"directions":["left","top","right","bottom"],"animation":[{"sprite":[["transp","transp","8E8E8E","8E8E8E","8E8E8E","8E8E8E","8E8E8E","8E8E8E"],["transp","555555","8E8E8E","717171","717171","717171","717171","555555"],["C6C6C6","555555","8E8E8E","717171","717171","717171","717171","555555"],["FFFFFF","555555","8E8E8E","393939","FF8E8E","FF8E8E","393939","555555"],["FFFFFF","555555","8E8E8E","393939","E30000","E30000","393939","555555"],["C6C6C6","555555","8E8E8E","717171","717171","717171","717171","555555"],["transp","555555","8E8E8E","717171","717171","717171","717171","555555"],["transp","transp","555555","555555","555555","555555","555555","555555"]]}]};SpritePixelArrays["LASER"] = {"name":"laser","descriptiveName":"Laser","directions":["left","top","right","bottom"],"description":"A laser. The <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Laser cannon'} }, true)\">laser cannon</span> shoots it. <br/>","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","FFC68E","transp","transp","transp","FFC68E","transp"],["transp","transp","FF1C1C","transp","transp","transp","FF1C1C","transp"],["transp","FF1C1C","transp","FF1C1C","transp","FF1C1C","transp","FF1C1C"],["FFC68E","transp","transp","transp","FFC68E","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["FFC68E","transp","transp","transp","FFC68E","transp","transp","transp"],["FF1C1C","transp","transp","transp","FF1C1C","transp","transp","transp"],["transp","FF1C1C","transp","FF1C1C","transp","FF1C1C","transp","FF1C1C"],["transp","transp","FFC68E","transp","transp","transp","FFC68E","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["BARREL_CANNON"] = {"name":"barrelCannon","descriptiveName":"Barrel","description":"A barrel. When the player touches it, he gets inside of it and stays there, until he presses the jump button - then he will be launched out of it in it's direction.","type":"objects","squishAble":true,"directions":["left","top","right","bottom"],"animation":[{"sprite":[["transp","transp","717171","FFAA55","FFAA55","717171","transp","transp"],["transp","FFAA55","8E8E8E","FF8E1C","FF8E1C","8E8E8E","FFAA55","transp"],["717171","FF8E1C","8E8E8E","FFFFFF","E37100","8E8E8E","FF8E1C","717171"],["8E8E8E","FF8E1C","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FF8E1C","8E8E8E"],["8E8E8E","FF8E1C","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FF8E1C","8E8E8E"],["717171","FF8E1C","8E8E8E","FFFFFF","E37100","8E8E8E","FF8E1C","717171"],["transp","FFAA55","8E8E8E","FF8E1C","FF8E1C","8E8E8E","FFAA55","transp"],["transp","transp","717171","FFAA55","FFAA55","717171","transp","transp"]]}]};SpritePixelArrays["JUMP_RESET"] = {"name":"jumpReset","descriptiveName":"Jump reset","description":"It resets your jump in air. It is deactivated upon touching the ground or wall.","type":"objects","animation":[{"sprite":[["transp","transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["FFFFFF","transp","transp","55AAFF","55AAFF","transp","transp","FFFFFF"],["FFFFFF","transp","55AAFF","55AAFF","55AAFF","55AAFF","transp","FFFFFF"],["FFFFFF","transp","transp","55AAFF","55AAFF","transp","transp","FFFFFF"],["FFFFFF","transp","transp","55AAFF","55AAFF","transp","transp","FFFFFF"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp","transp"]]}]};SpritePixelArrays["FIXED_SPEED_RIGHT"] = {"name":"fixedSpeedRight","descriptiveName":"Auto run","directions":["right","left"],"description":"Activates auto-run mode upon touching. <br/> The auto-run can be stopped by the auto-run stopper tile. <br/> Jumping off a wall will change the run direction. Click on a set object again, to change it's default direction.","type":"objects","animation":[{"sprite":[["FF8E1C","FF8E1C","transp","transp","transp","transp","FF8E1C","FF8E1C"],["FF8E1C","transp","transp","transp","transp","transp","transp","FF8E1C"],["transp","transp","transp","transp","FF8E1C","transp","transp","transp"],["transp","transp","FF8E1C","FF8E1C","FF8E1C","FF8E1C","transp","transp"],["transp","transp","FF8E1C","FF8E1C","FF8E1C","FF8E1C","transp","transp"],["transp","transp","transp","transp","FF8E1C","transp","transp","transp"],["FF8E1C","transp","transp","transp","transp","transp","transp","FF8E1C"],["FF8E1C","FF8E1C","transp","transp","transp","transp","FF8E1C","FF8E1C"]]},{"sprite":[["FF8E1C","FF8E1C","transp","transp","transp","transp","FF8E1C","FF8E1C"],["FF8E1C","transp","transp","transp","transp","transp","transp","FF8E1C"],["transp","transp","transp","transp","AA5500","transp","transp","transp"],["transp","transp","AA5500","AA5500","AA5500","AA5500","transp","transp"],["transp","transp","AA5500","AA5500","AA5500","AA5500","transp","transp"],["transp","transp","transp","transp","AA5500","transp","transp","transp"],["FF8E1C","transp","transp","transp","transp","transp","transp","FF8E1C"],["FF8E1C","FF8E1C","transp","transp","transp","transp","FF8E1C","FF8E1C"]]}]};SpritePixelArrays["FIXED_SPEED_STOPPER"] = {"name":"fixedSpeedStopper","descriptiveName":"Auto-run stopper","description":"This tile stops the auto-run activated by the <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Auto run'} }, true)\">auto-run sprite</span>.","type":"objects","animation":[{"sprite":[["transp","transp","FFC6C6","FFC6C6","FFC6C6","FFC6C6","transp","transp"],["transp","FFC6C6","390000","390000","390000","390000","FFC6C6","transp"],["FFC6C6","390000","FFC6C6","390000","390000","390000","390000","FFC6C6"],["FFC6C6","390000","390000","FFC6C6","390000","390000","390000","FFC6C6"],["FFC6C6","390000","390000","390000","FFC6C6","390000","390000","FFC6C6"],["FFC6C6","390000","390000","390000","390000","FFC6C6","390000","FFC6C6"],["transp","FFC6C6","390000","390000","390000","390000","FFC6C6","transp"],["transp","transp","FFC6C6","FFC6C6","FFC6C6","FFC6C6","transp","transp"]]},{"sprite":[["transp","transp","FFC6C6","FFC6C6","FFC6C6","FFC6C6","transp","transp"],["transp","FFC6C6","710000","710000","710000","710000","FFC6C6","transp"],["FFC6C6","710000","FFC6C6","710000","710000","710000","710000","FFC6C6"],["FFC6C6","710000","710000","FFC6C6","710000","710000","710000","FFC6C6"],["FFC6C6","710000","710000","710000","FFC6C6","710000","710000","FFC6C6"],["FFC6C6","710000","710000","710000","710000","FFC6C6","710000","FFC6C6"],["transp","FFC6C6","710000","710000","710000","710000","FFC6C6","transp"],["transp","transp","FFC6C6","FFC6C6","FFC6C6","FFC6C6","transp","transp"]]}]};SpritePixelArrays["PATH_SPRITE"] = {"name":"pathPoint","changeableAttributes":[{"name":"speed","defaultValue":3,"minValue":1,"maxValue":7,"mapper":{"1":1,"2":2,"3":3,"4":4,"5":6,"6":8,"7":12}},{"name":"stopFrames","defaultValue":10,"minValue":0,"maxValue":80,"step":5,"descriptiveName":"wait <span data-microtip-size='large'aria-label='The objects on the path will wait that amount of time, if an object reaches the path´s end.'data-microtip-position='top-left' role='tooltip' class='songInputInfo'><img src='images/icons/info.svg' alt='info' width='16' height='16'>"},{"name":"movementDirection","formElement":"toggle","defaultValue":"forwards","options":[{"true":"forwards"},{"false":"backwards"}]}],"directions":["top","right"],"descriptiveName":"Path","description":"<div>Draw paths, put objects on top and the objects will follow them. Click on an already set path-point, while paths are selected in build-tools to adjust the path's attributes.<div class='subSection'><details><summary>Compatible objects</summary><div class='marginTop8'><ul style='padding-left: 16px'><li>Finish flag</li><li>Spikes</li><li>Trampolines</li><li>Toggle mine</li><li>Rocket launchers</li><li>Portals</li><li>Collectibles</li><li>Barrel cannons</li><li>Jump reset</li></ul></div></details><details class='marginTop8'><summary>Rules</summary><div class='marginTop8'><ul style='padding-left: 16px'><li>Draw paths in a line or in an enclosed 'circle'</li><li>Place as many different objects on them as you want</li><li>You can't draw 2 paths above or beside each other. You need to leave 1 free space inbetween</li></ul></div></details></div></div>","type":"objects","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["FFFFFF","FFFFFF","transp","FFFFFF","FFFFFF","transp","FFFFFF","FFFFFF"],["1C1C1C","1C1C1C","transp","1C1C1C","1C1C1C","transp","1C1C1C","1C1C1C"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE"] = {"name":"deco","type":"deco","descriptiveName":"Deco 1","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","40BF40","transp","transp","transp","40BF40"],["transp","40BF40","transp","40BF40","transp","40BF40","transp","40BF40"],["transp","40BF40","40BF40","40BF40","40BF40","40BF40","transp","40BF40"],["40BF40","40BF40","40BF40","40BF40","40BF40","40BF40","transp","40BF40"]]}]};SpritePixelArrays["DEKO_SPRITE2"] = {"name":"deco","descriptiveName":"Deco 2","type":"deco","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","FF55FF","FF55FF","transp"],["transp","FF5555","FF5555","transp","FF00FF","transp","transp","FF00FF"],["FF5555","transp","transp","FF5555","transp","FF00FF","FF00FF","transp"],["transp","FF5555","FF5555","transp","transp","2B802B","2B802B","transp"]]}]};SpritePixelArrays["DEKO_SPRITE3"] = {"name":"deco","descriptiveName":"Deco 3","type":"deco","animation":[{"sprite":[["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["FFFFFF","FFFFFF","transp","FFFFFF","FFFFFF","transp","FFFFFF","FFFFFF"],["FFFFFF","FFFFFF","FFFFFF","0000FF","0000FF","FFFFFF","FFFFFF","FFFFFF"],["transp","transp","transp","0000FF","0000FF","transp","transp","transp"],["FFFFFF","FFFFFF","55AAFF","transp","transp","55AAFF","FFFFFF","FFFFFF"],["FFFFFF","FFFFFF","FFFFFF","55AAFF","55AAFF","FFFFFF","FFFFFF","FFFFFF"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE4"] = {"name":"deco","descriptiveName":"Deco 4","type":"deco","animation":[{"sprite":[["transp","2B8055","transp","15402A","15402A","transp","2B8055","transp"],["transp","2B8055","2B8055","15402A","15402A","2B8055","2B8055","transp"],["transp","transp","2B8055","15402A","15402A","2B8055","transp","transp"],["transp","transp","transp","15402A","15402A","transp","transp","transp"],["transp","2B8055","transp","15402A","15402A","transp","2B8055","transp"],["transp","2B8055","2B8055","15402A","15402A","2B8055","2B8055","transp"],["transp","transp","2B8055","15402A","15402A","2B8055","transp","transp"],["transp","transp","transp","15402A","15402A","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE5"] = {"name":"deco","descriptiveName":"Deco 5","type":"deco","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["713900","transp","transp","transp","transp","transp","transp","AA5500"],["713900","E37100","E37100","E37100","E37100","E37100","E37100","AA5500"],["713900","transp","transp","transp","transp","transp","transp","AA5500"],["713900","E37100","E37100","E37100","E37100","E37100","E37100","AA5500"],["713900","transp","transp","transp","transp","transp","transp","AA5500"],["713900","E37100","E37100","E37100","E37100","E37100","E37100","AA5500"]]}]};SpritePixelArrays["DEKO_SPRITE6"] = {"name":"deco","descriptiveName":"Deco 6","type":"deco","animation":[{"sprite":[["717171","8E8E8E","AAAAAA","C6C6C6","C6C6C6","AAAAAA","8E8E8E","717171"],["transp","717171","8E8E8E","AAAAAA","AAAAAA","8E8E8E","717171","transp"],["transp","transp","FFFF1C","FFFF55","FFFF55","FFFF1C","transp","transp"],["transp","717171","710071","AA00AA","AA00AA","710071","717171","transp"],["717171","8E8E8E","AAAAAA","C6C6C6","C6C6C6","AAAAAA","8E8E8E","717171"],["717171","8E8E8E","AAAAAA","C6C6C6","C6C6C6","AAAAAA","8E8E8E","717171"],["717171","8E8E8E","AAAAAA","C6C6C6","C6C6C6","AAAAAA","8E8E8E","717171"],["transp","717171","8E8E8E","AAAAAA","AAAAAA","8E8E8E","717171","transp"]]}]};SpritePixelArrays["DEKO_SPRITE7"] = {"name":"deco","descriptiveName":"Deco 7","type":"deco","animation":[{"sprite":[["2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A"],["transp","2A2A2A","transp","transp","2A2A2A","transp","2A2A2A","transp"],["transp","2A2A2A","transp","2A2A2A","transp","transp","2A2A2A","transp"],["transp","2A2A2A","transp","2A2A2A","2A2A2A","transp","2A2A2A","transp"],["transp","2A2A2A","transp","transp","2A2A2A","transp","2A2A2A","transp"],["transp","2A2A2A","transp","2A2A2A","transp","transp","2A2A2A","transp"],["transp","2A2A2A","transp","2A2A2A","2A2A2A","transp","2A2A2A","transp"],["2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A"]]}]};SpritePixelArrays["DEKO_SPRITE8"] = {"name":"deco","descriptiveName":"Deco 8","type":"deco","animation":[{"sprite":[["2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","transp","2A2A2A","2A2A2A"],["2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","transp","2A2A2A","2A2A2A"],["transp","transp","transp","transp","transp","transp","transp","transp"],["2A2A2A","2A2A2A","transp","2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A"],["2A2A2A","2A2A2A","transp","2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A"],["transp","transp","transp","transp","transp","transp","transp","transp"],["2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","transp","2A2A2A","2A2A2A"],["2A2A2A","2A2A2A","2A2A2A","2A2A2A","2A2A2A","transp","2A2A2A","2A2A2A"]]}]};SpritePixelArrays["DEKO_SPRITE9"] = {"name":"deco","descriptiveName":"Deco 9","type":"deco","animation":[{"sprite":[["transp","transp","transp","FF8E1C","transp","transp","transp","transp"],["transp","transp","FF8E1C","FFC68E","FF8E1C","transp","transp","transp"],["transp","FF8E1C","FFC68E","FFFFC6","FFC68E","FF8E1C","transp","transp"],["transp","FF8E1C","FFC68E","FFFFC6","FFC68E","FF8E1C","transp","transp"],["transp","8E8E8E","AAAAAA","AAAAAA","AAAAAA","8E8E8E","transp","transp"],["transp","transp","8E8E8E","AAAAAA","8E8E8E","transp","transp","transp"],["transp","transp","transp","8E8E8E","transp","transp","transp","transp"],["transp","transp","transp","8E8E8E","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","AA5500","transp","transp","transp","transp"],["transp","transp","AA5500","FF8E1C","AA5500","transp","transp","transp"],["transp","AA5500","FF8E1C","FFFF8E","FF8E1C","AA5500","transp","transp"],["transp","AA5500","FF8E1C","FFFF8E","FF8E1C","AA5500","transp","transp"],["transp","8E8E8E","AAAAAA","AAAAAA","AAAAAA","8E8E8E","transp","transp"],["transp","transp","8E8E8E","AAAAAA","8E8E8E","transp","transp","transp"],["transp","transp","transp","8E8E8E","transp","transp","transp","transp"],["transp","transp","transp","8E8E8E","transp","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE10"] = {"name":"deco","descriptiveName":"Deco 10","type":"deco","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp","transp"],["transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp"],["C6E3FF","C6E3FF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp"],["C6E3FF","C6E3FF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],["transp","C6E3FF","C6E3FF","C6E3FF","C6E3FF","C6E3FF","C6E3FF","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE11"] = {"name":"deco","descriptiveName":"Deco 11","type":"deco","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","FFC6FF","transp","transp","transp","transp","transp"],["transp","FFC6FF","FFFFFF","FFC6FF","transp","transp","transp","transp"],["transp","transp","FFC6FF","transp","transp","FFC6FF","transp","transp"],["transp","transp","transp","transp","FFC6FF","FFFFFF","FFC6FF","transp"],["transp","transp","FFC6FF","transp","transp","FFC6FF","transp","transp"],["transp","FFC6FF","FFFFFF","FFC6FF","transp","transp","transp","transp"],["transp","transp","FFC6FF","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","393939","transp","transp","transp","transp","transp"],["transp","393939","FFC6FF","393939","transp","transp","transp","transp"],["transp","transp","393939","transp","transp","393939","transp","transp"],["transp","transp","transp","transp","393939","FFC6FF","393939","transp"],["transp","transp","393939","transp","transp","393939","transp","transp"],["transp","393939","FFC6FF","393939","transp","transp","transp","transp"],["transp","transp","393939","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE12"] = {"name":"deco","descriptiveName":"Deco 12","type":"deco","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","0055AA","transp","transp","transp","transp"],["transp","transp","transp","8EC6FF","transp","transp","transp","transp"],["transp","transp","8EC6FF","C6E3FF","8EC6FF","transp","transp","transp"],["0055AA","8EC6FF","C6E3FF","C6E3FF","C6E3FF","8EC6FF","0055AA","transp"],["transp","transp","8EC6FF","C6E3FF","8EC6FF","transp","transp","transp"],["transp","transp","transp","8EC6FF","transp","transp","transp","transp"],["transp","transp","transp","0055AA","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","003971","transp","transp","transp","transp"],["transp","transp","transp","0055AA","transp","transp","transp","transp"],["transp","transp","0055AA","C6E3FF","0055AA","transp","transp","transp"],["003971","0055AA","C6E3FF","C6E3FF","C6E3FF","0055AA","003971","transp"],["transp","transp","0055AA","C6E3FF","0055AA","transp","transp","transp"],["transp","transp","transp","0055AA","transp","transp","transp","transp"],["transp","transp","transp","003971","transp","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE13"] = {"name":"deco","descriptiveName":"Deco 13","type":"deco","animation":[{"sprite":[["transp","transp","transp","55AA00","397100","transp","transp","transp"],["transp","55AA00","transp","55AA00","397100","transp","transp","transp"],["transp","55AA00","transp","55AA00","397100","transp","transp","transp"],["transp","55AA00","55AA00","55AA00","397100","transp","55AA00","transp"],["transp","transp","transp","55AA00","397100","transp","55AA00","transp"],["transp","transp","transp","55AA00","55AA00","55AA00","55AA00","transp"],["transp","transp","transp","55AA00","397100","transp","transp","transp"],["transp","transp","transp","55AA00","397100","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE14"] = {"name":"deco","descriptiveName":"Deco 14","type":"deco","animation":[{"sprite":[["transp","transp","2B8055","2B8055","2B8055","2B8055","transp","transp"],["transp","2B8055","2B8055","15402A","2B8055","15402A","2B8055","transp"],["transp","2B8055","15402A","2B8055","15402A","15402A","2B8055","transp"],["transp","2B8055","2B8055","15402A","15402A","2B8055","2B8055","transp"],["transp","2B8055","15402A","15402A","391C00","15402A","2B8055","transp"],["transp","transp","2B8055","391C00","713900","2B8055","transp","transp"],["transp","transp","transp","391C00","713900","transp","transp","transp"],["transp","transp","transp","391C00","713900","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE15"] = {"name":"deco","descriptiveName":"Deco 15","type":"deco","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","393939","transp","transp"],["transp","393939","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","713900","transp","transp","transp"],["transp","transp","713900","713900","713900","713900","transp","transp"],["transp","713900","713900","713900","713900","713900","713900","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","393939","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","393939","transp"],["transp","transp","transp","transp","713900","transp","transp","transp"],["transp","transp","713900","713900","713900","713900","transp","transp"],["transp","713900","713900","713900","713900","713900","713900","transp"]]}]};SpritePixelArrays["DEKO_SPRITE16"] = {"name":"deco","descriptiveName":"Deco 16","type":"deco","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","55AAFF","55AAFF","55AAFF","55AAFF","transp","transp","transp"],["transp","55AAFF","55AAFF","transp","55AAFF","transp","transp","transp"],["FFFF8E","FFFF8E","55AAFF","55AAFF","55AAFF","transp","transp","transp"],["transp","55AAFF","55AAFF","55AAFF","55AAFF","55AAFF","55AAFF","55AAFF"],["transp","transp","55AAFF","55AAFF","55AAFF","55AAFF","55AAFF","transp"],["transp","transp","transp","FFFF8E","FFFF8E","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","55AAFF","55AAFF","55AAFF","55AAFF","transp","transp","transp"],["FFFF8E","55AAFF","55AAFF","transp","55AAFF","transp","transp","transp"],["transp","FFFF8E","55AAFF","55AAFF","55AAFF","transp","transp","transp"],["FFFF8E","55AAFF","55AAFF","55AAFF","55AAFF","55AAFF","55AAFF","55AAFF"],["transp","transp","55AAFF","55AAFF","55AAFF","55AAFF","55AAFF","transp"],["transp","transp","transp","transp","FFFF8E","transp","transp","transp"],["transp","transp","transp","FFFF8E","FFFF8E","transp","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE17"] = {"name":"deco","descriptiveName":"Deco 17","type":"deco","animation":[{"sprite":[["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","FFFFFF","000000","717171","FFFFFF","transp","transp"],["transp","transp","FFFFFF","FFFFFF","FF8E1C","FF8E1C","transp","transp"],["AA5500","transp","transp","FFFFFF","FFFFFF","transp","transp","AA5500"],["transp","AA5500","FFFFFF","FFFFFF","000000","FFFFFF","AA5500","transp"],["transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp"],["transp","FFFFFF","FFFFFF","FFFFFF","000000","FFFFFF","FFFFFF","transp"],["transp","transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp","transp"]]}]};SpritePixelArrays["DEKO_SPRITE18"] = {"name":"deco","descriptiveName":"Deco 18","type":"deco","animation":[{"sprite":[["E30000","FF1C1C","transp","transp","transp","transp","FF1C1C","E30000"],["AA0000","transp","1C1CFF","FFFFFF","1C1CFF","FFFFFF","transp","E30000"],["transp","AA0000","0000E3","1C1CFF","0000E3","1C1CFF","AA0000","transp"],["transp","transp","AA0000","E30000","E30000","E30000","transp","transp"],["transp","transp","transp","AA0000","E30000","transp","transp","transp"],["transp","transp","E30000","AA0000","E30000","E30000","transp","transp"],["transp","transp","transp","AA0000","E30000","transp","transp","transp"],["transp","transp","E30000","transp","transp","E30000","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["E30000","FF1C1C","transp","transp","transp","transp","FF1C1C","E30000"],["AA0000","transp","AA0000","FF1C1C","AA0000","FF1C1C","transp","E30000"],["transp","AA0000","AA0000","AA0000","AA0000","AA0000","AA0000","transp"],["transp","transp","AA0000","E30000","E30000","E30000","transp","transp"],["transp","transp","transp","AA0000","E30000","transp","transp","transp"],["transp","transp","E30000","AA0000","E30000","E30000","transp","transp"],["transp","transp","E30000","transp","transp","E30000","transp","transp"]]}]};SpritePixelArrays["SFX1"] = {"name":"sfx","directions":["bottom","left","top","right"],"descriptiveName":"SFX 1","description":"SFX that shows when the <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Player jump'} }, true)\">player jumps</span>.","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"]]}]};SpritePixelArrays["SFX2"] = {"name":"sfx","descriptiveName":"SFX 2","description":"SFX when <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Cannon ball'} }, true)\">cannon ball</span> or <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Rocket'} }, true)\">rocket</span> hit a wall.","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","FFFFFF","transp","transp","FFFFFF","transp","transp"],["transp","transp","FFFFFF","transp","transp","FFFFFF","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","FFFFFF","transp","transp","FFFFFF","transp","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","transp","FFFFFF","transp","transp","FFFFFF","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["SFX3"] = {"name":"sfx","descriptiveName":"SFX 3","description":"SFX when player dashes","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","393939","393939","transp","transp","transp"],["transp","transp","transp","393939","393939","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","393939","transp","transp","393939","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","393939","transp","transp","393939","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["SFX4"] = {"name":"sfx","descriptiveName":"Build SFX","hiddenEverywhere":true,"description":"SFX when an object is placed in build mode","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["SFX5"] = {"name":"sfx","descriptiveName":"SFX 4","description":"Plays when the player touches a <span class='textAsLink' onclick=\"DrawSectionHandler.changeSelectedSprite({ target: { value: 'Collectible'} }, true)\">collectible</span>.","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","FFFFFF","transp","transp","FFFFFF","transp","transp"],["transp","transp","FFFFFF","transp","transp","FFFFFF","transp","transp"],["transp","transp","transp","FFFFFF","FFFFFF","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","FFFFFF","transp","transp","FFFFFF","transp","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","FFFFFF","transp","transp","transp","transp","FFFFFF","transp"],["transp","transp","FFFFFF","transp","transp","FFFFFF","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["SFX6"] = {"name":"sfx","descriptiveName":"SFX 5","description":"Used for shaders","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","8EC6FF","transp","transp","transp","transp"],["transp","transp","8EC6FF","transp","8EC6FF","transp","transp","transp"],["transp","transp","transp","8EC6FF","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["SFX7"] = {"name":"sfx","descriptiveName":"SFX 6","description":"Used for shaders","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","FF8EFF","FF8EFF","FF8EFF","FF8EFF","transp","transp"],["transp","transp","FF8EFF","transp","transp","FF8EFF","transp","transp"],["transp","transp","FF8EFF","transp","transp","FF8EFF","transp","transp"],["transp","transp","FF8EFF","FF8EFF","FF8EFF","FF8EFF","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["SFX8"] = {"name":"sfx","descriptiveName":"SFX 7","description":"Used for shaders","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","FFAA55","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","FFFF55","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]};SpritePixelArrays["SFX9"] = {"name":"sfx","descriptiveName":"SFX 8","description":"Will be displayed behind the player, if the player is in auto-run mode.","animation":[{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","FFAA55","FFAA55","transp","transp","transp"],["transp","transp","FFAA55","transp","transp","FFAA55","transp","transp"],["transp","transp","FFAA55","transp","transp","FFAA55","transp","transp"],["transp","transp","transp","FFAA55","FFAA55","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]},{"sprite":[["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","FFAA55","transp","transp","FFAA55","transp","transp"],["transp","FFAA55","transp","transp","transp","transp","FFAA55","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"],["transp","FFAA55","transp","transp","transp","transp","FFAA55","transp"],["transp","transp","FFAA55","transp","transp","FFAA55","transp","transp"],["transp","transp","transp","transp","transp","transp","transp","transp"]]}]}; player.setAnimationProperties(); SpritePixelArrays.fillAllSprites(); //changedSpritesEnd //changedPlayerAttributesStart player["groundAcceleration"] = 0.8;player["air_acceleration"] = 0.8;player["maxSpeed"] = 3.2;player["groundFriction"] = 0.65;player["air_friction"] = 0.75;player["jumpSpeed"] = 0.44;player["maxFallSpeed"] = 16;player["maxJumpFrames"] = 18;player["jumpChecked"] = true;player["wallJumpChecked"] = true;player["doubleJumpChecked"] = false;player["dashChecked"] = false;player["runChecked"] = false; //changedPlayerAttributesEnd //putMainSongHere I also took a deeper look at the tool itself: - Pros: - Fully web based, requires no installation; - Very easy to use level editor; - Very easy to use graphics editor; - Requires very little technical knowledge. - Cons: - No scripting at all, limiting how different the games may feel. As for the possibility of using it for generating SMS games: - Its tiles are 8x8, which is the same tile size SMS uses; - Technically, it has no limits on how many tiles may be used, but as long as not a lot of them are used, conversion is possible; - It uses more colors than the Sega Master System can cope with, but it is possible to reduce this automatically, with the usual caveats; - It won't be possible to automatically convert the music, but it may be possible to give the user the possibility of informing their own SMS-compatible VGM files; - Rotation won't be possible at all; - Squish animations won't be possible to do in realtime on the SMS, but may instead be precomputed during the conversion.
  19. There is an BASIC to C converter named BaCon: http://www.basic-converter.org/ It has the possibilty of adding suport to unsupported libraries through wrappers, so, it would theorethically be feasible to configure it to generate CC65 NES-compatible code.
  20. Many thanks; should I decide to implement the idea, I shall contact him.
  21. Sounds like a great idea! 👍 Doesn't come with source code, but maybe it could be used as an external editor.
  22. Hello! I am currently making a video player for Sega Genesis, it's almost finished. Once it's working, I will use it for implementing the "*video" command on "choice4genesis". After that is done, I may go back to some other project, maybe even this one. The first thing I would implement would be an option to display the compilation errors if they happen. As for the buying of Atariage by Atari, my opinion is that there will be change. Let's hope it is mostly for the better.
  23. Nice! BTW, implementation of the video player that will be used for the "video" command is in progress:
×
×
  • Create New...