Twilighte wrote:Yes...
ok, forgot about the cursor keys, which make the world of difference!
Now i can select the room i want, move a room and define a map, which is exactly what i plan to do next.
The delete room would be very cool, but since i will know the room number, i should be able to edit it out of the text file manually for now
Ah, glad you find it useful... I did not spend too much time with this application, so it is rather cumbersome, I know.
Could you please send me the tileset file (the txt file with the list of tiles graphic bitmap and corresponding mask bitmap) so I don't have to generate it by hand? I think I have not seen him in the zip file.
Yes, apologies, i will zip up the complete white directory. It is just easier than selective file compiling
You can find it here...
http://www.defence-force.org/ftp/forum/ ... /White.zip
Excellent... I will have a look just now.
However it would be a cool idea
if when you save the world, it would save all data for that world (including tileset txt, graphics, etc) in a folder made of the project name.
Yes, you are right. I have to add some menu to manage the project and all the files, so it is easy to add things to a tileset, for example. I only need to find time for it, but I have it in mind.
I may have mentioned this before, but it would be really cool if the mirror flag (when set) changed the view in the picture/mask images on the tile set tab.
Yes. Another thing I have on the "to-do" list
Because of how I load those graphics (using a method of the control) they cannot be mirrored. I have to switch to use the StretchBlt again... If you can live without it for now, it would be great.
I also notice a strange curly line top right of the blue grid. No idea if this is intentional for some unfathomable reason?
LOL... Will you believe I have not seen it till now that you mentioned? Surely I painted it without noticing!
With the single room provided, it is still a shame we cannot do floors.
You mean floor tiles? It is... and I want to have a look at it. But that is mainly because of how the engine paints tiles and it will take a lot of CPU to add this.... I want to re-think that part of the code, but that will take long. There is a lot of work yet to be done.
Remember you can use stairs. Feel free to create an adequate graphic for them, but keep their name (the label on the tileset STAIRx) for now, please.
This way you can create platforms on rooms, just like they exist between Main Mission and the Command Room (is it the name?) which is adjacent.
In fact we could have different levels in a room, but as a character is 3 layers heigth (8x3=24 3D "pixels") it should be put at layer 4, so there is no room (no more layers) for placing objects. I can extend layers to 5 or more (up to 7) with just changing a define, but it takes more memory and slows down the engine.
I think you could do just some test and experiment with room designs to see what can and what cannot be done and we can move onto the complete map design a bit later, but as you wish.
If we are able to have a good map, with your astonishing graphics and an interesting plot, we can create a small video adventure with what we currently have, and maybe extend it later.
One more thing. To save some space in rooms, you can follow a couple of recommendations:
1- The compiler calculates the most used flat at each wall and stores it in a single byte. THe loader then uses this value to fill the whole wall. The rest are stored as objects (which take more space, as we need the coordinates). So (in the extremes) a wall with all the flats being the same takes up little space, while if they are all different, the size becomes huge.
2.- The compiler stores blocks as:
Code: Select all
ID (1 byte)
times it appears (1 byte)
coordinates (1 byte per appearance of this block)
So it takes up less space to place many blocks around the room if they are all equal, than just a few if they are different.
Combining 1 & 2 results in that a wall with all flats being WALL but a two being VDU takes less space than if one is an VDU and the other is a GRILL, for instance.
3.- Mirrored blocks have different ID (different entries in the data), so be sure to mirror them only if necessary, to save space.
If you find this difficult to follow, just ignore it. I can have a look at rooms and, pinpoint you with some changes that could save space, if they exist.
Regards,