Wednesday, August 28, 2013

Upside-down gel dispensers?

Just place the entities like this:

That you'll get this:

Doesn't it looks a lot fun and pretty? That's what I think, at least. They're not SOOO useful but they'll help you in tests where you wanna have space on the floor (or if you wanna have two gel dispensers next to each other without putting them side-by-side).
Aaand if you paid attention to the screenshots you may have noticed that I have a grid tile, but the gel is not passing through it. A bug, maybe? No, it's a feature. I realized I could make the entities only pass through "entities sides" property tiles, even if they don't have custom collisions (or should I add a new property just to it? Not sure...). Now the "grid" property will only be used for portals. This'll be more useful for custom mappacks, where you'd have entities that should be blocked, but not portals.
Speaking of entities, I decided to stop being a lazy man and work even more on them. Not that I was lazy, but I've been more focused on other smaller things instead of making those super-important entities.


Counting after the coin: "coin", "commander", "envtrigger", "text", "bluegelup", "orangegelup", "whitegelup", "cleangelup", "acidgelup", "metalgelup", "trigger" and "customplats". That's the entities names in-code. In-game they'll be coin entities (already done, but with some small problems I'm gonna fix), commanders (being worked, but not implemented yet), environmental triggers (the same as the commanders in terms of progress), text displays (semi-done), upside-down gels (already done, if you haven't noticed), triggers (haven't even started them) and custom platforms (the same as triggers in terms of progress). I'll post more progress later (or as soon as I can), but for now it's all. In my next post I'll describe better what those new entities will do. I see you in my next post!

Sunday, August 25, 2013

What if you don't have a custom tileset?

Well, the solution is easy: download a few tilesets and place them at "LOVE/Mari0/tilesets".

Downloaded a lot of them? Great! Haven't downloaded any? Don't worry, there are 3 available together with the mod (all the 3 made by me, of course). And what about now? Open the editor and go to "Tiles" and "Custom". If you though "Why would I go there if I don't have any custom tileset?", then look at this:


Now select the tileset you wish and click "Transfer". This will happen:


And ta-da! You're done! You don't need to copy+paste+rename tilesets anymore!
Note: I'll also add a "Delete tileset" button, in case you don't like it.

Thanks for reading and I see you in my next post!

EDIT: Remember when I said I was going to add a "Delete tileset" button? Well, I made it:




Of course, it now opens a prompt, but other than that it's pretty much the same thing of transfer...

EDIT 2: Fixed the "succesfully" instead of "successfully".

Saturday, August 24, 2013

Another "invisible" property?

Yes, but it's not like the old "invisible" property. Instead of removing the collisions of the blocks and making them collide-able from below, I made them literally "invisible". Why? Because, instead of making an invisible tile (I mean, without texture), which would be hard to use in-editor, I made them only visible via editor, so they'll keep their properties, but'll not be visible in-game. Useful, ins't it?

So, the updated tileset properties guide:


And I see you in my next post!

Monday, August 19, 2013

Getting some more help

Lately, I've been more focused on adding features than on fixing bugs. But, luckily, I can count with people like Qcode (a stabyourself.net's forums user) to help me with these problems. For example, I planned on adding the possibility of putting coins inside tiles, making the tiles like non-animated question mark blocks. It failed, but thanks to Qcode, it works again:






Another thing was the "Portal sides" property. Remember them? Well, now they work just as I wanted. You can shoot portals through them (just like "Grid" blocks), as soon as you're not pointing to their colliding faces. The images show better what I'm talking about:




Later today I'll try to fix (by myself) 2 other bugs: making coins output a signal when collected and making grids not allow light beams/lasers/gels to pass through them (actually, that's not a bug. I planned adding this, but now with "Entities sides" I can make them easier to specify what can or cannot pass through). That's it for today. Thanks for reading, and I see you in my next post!

Friday, August 16, 2013

Toggleable gel dispensers and text entities!

So, I made a lot of work since my last post, and after many trials and fails I finally got 2 things to work. The first one (and one of the most requested features) is the ability of toggling gel dispensers directly (instead of using "blockers" like doors or light bridges). Just link your gel dispenser and ta-da!



The second one (not finished yet) is the "Text" entity. For now they use predefined values (you can't change the text yet), but as soon as I finish the "multigui" project you'll be able to customize things like text scale, colors, alignment (already possible, but not fully done) and the text itself! They'll appear on the screen as soon as it's input is activated:



In the future, through "multigui" menus, you'll be able to make them appear on black "boxes" or in front of blocks/entities, in the left-top, center-top, right-top, left-center, center, right-center, left-bottom, center-bottom, right-bottom or entity's placement of the screen, if they're aligned to left, center or right and if they should follow the map or stay in the screen following you. Well, that was enough work for today (um, I mean, this morning), and I see you in my next post!

Overlay tiles!

A very requested feature for Mari0 is the ability to make tiles that can be drawn in front of the player. But now you can! Just add a pixel under the "onlyplayercol" property and they'll be drawn in front of you!

Updated tileset properties
Not only that, I've also fixed coins and hammers collisions, so now coins are collected correctly and are deleted after that, and hammers are deleted when emancipated:

I'm thinking on adding another property (believe it or not), but to make tiles invisible. Before you say that there is already an "invisible" property, they actually work in a different way. If you make a "solid" and "invisible" block, it'll become non-solid. If you do an "invisible", "solid" and "coinblock" block, it'll be non-solid until you hit from below. But my plan is to make this property so the block will be invisible, but with all the properties on it. But then you may be thinking: why make it if I can make a tile with properties but no drawing on it? Because you wouldn't be able to see it in editor mode, making the whole mapping process a lot harder. With my property, you'll be able to see them while in editor (just like the "invisible" property), but in-game it'll not be visible. But, differently from "invisible" blocks, "transparent" blocks will support all the properties you want, even custom collisions! Speaking of which, I've finally finished the "entitiessides" property, so now you can add entities that'll only collide with the block's colliding sides. This image explains better:


So yeah, right now it's possible to make puzzles that, for example, you have a laser facing down hitting a block that is "solid", "customcols:upout", "portalsides" and "entitiessides". Then you have to redirect the laser to a detector in the ceiling and one under those tiles. It could be done, right now, this way:







So, that was today's progress... In fact, it was yesterday's progress. I was going to post it yesterday, but I didn't had time, so I'm posting today! And I see you in my next post!

Thursday, August 15, 2013

Platform blocks!

And some other things too. Well, in this week, the thing I've been most working on was the "Custom collision" properties. They could have specific-side collisions, even "only up", just like these platforms from Mari0 SE:

Image from stabyourself.net
Actually, mine can be portalable or not (and with the new "portal sides" property, you can set if you can only shoot portals in the colliding side(s) or anywhere in the block). If you want to make platforms like this one in the image, just add the properties "solid", "grid", "customcols:upout". And now, with "playeronlycol" and "noplayercol" you can do even more funny things. The updated "properties" diagram:


Ah, I removed the "upin", "downin", "leftin" and "rightin" properties because it was very hard to do, for something that wouldn't be used so much. Also, you can actually do this by just making an transparent block having these properties and you're done!

In these images, the "platforms" don't have the "grid" property, but have the "portalsides":


About "deadly" tiles, remember when I said I was going to fix the collisions in order to make them non-solid but deadly? Well, I'm not gonna do it anymore. Why? Because of all those new properties! You can make them "solid", "grid" and "playeronlycol" (optional) and they'll work perfectly!


 But I'm not done yet with properties. I haven't made the "entitiesside" property yet (they'll make the tiles block things like light bridges only if they're passing through their colliding sides), and I'll also add the "overlay tile", so they're drawn in front of everything. When I have them working I'll post here and release a beta for you guys (that's right, I'll release a beta version of the mod here, so you all can test it before I finish and send to stabyourself.net's forums). So, I see you in my next post!