Jump to content

le717
 Share

Recommended Posts

Blocks is a level editor for the Island Xtreme Stunts minigame level layouts. It features a full GUI, a complete character legend to let you know what every value means, and syntax checks to ensure everything is valid. You can see what file you are currently editing, and even makes a backup of the file before writing your new layout. Application icon created by rioforce.
 
Details on the level format are available on GitHub, as well as the WIP tutorial Building With Blocks.
Usage

  • Ctrl + n: Create a new level
  • Ctrl + o: Open a level
  • Ctrl + s: Save a level
  • Ctrl + q: Close application/dialog boxes

Downloads

Media

 

Edited by le717
  • Like 3
Link to comment
Share on other sites

I've updated the level format documentation based on a few findings, and after working on it all day, I've released Blocks 0.5, a level viewer with an almost complete legend, clear directions, oh, and did I mention it has an GUI? Also, while the area the level is displayed allows you to edit it, I've yet to even start the saving code, so you can't save them just yet. Both Python script and Windows Exes are available.

Link to comment
Share on other sites

Blocks 0.8.2 has been released! This release brings support for level editing, not just viewing, as well as a nice amount of other changes. I've also been working on documenting the format, and while there is still more to learn, a good amount is already known. I do have a copy of the details on here, but I'm not sure it is completely up-to-date. If you would like to read it before using Blocks (which you should ;P), I recommend viewing it on GitHub, where the newest updates are always available.

 

You may notice it is not 1.0, and there are reasons. 1. I haven't finished populating the Legend yet, 2. I want to add a New button (but research is needed first), and 3. there is no cap on the number of backups made, so you can have 20 backup files and not know it.

Get Blocks 0.8.2 on the Topic Post! :D

Edited by le717
Link to comment
Share on other sites

Could this be a possible update to PatchIt! then?

PatchIt is for LEGO Racers. This is a tool for Island Xtreme Stunts.

Link to comment
Share on other sites

Could this be a possible update to PatchIt! then?

PatchIt is for LEGO Racers. This is a tool for Island Xtreme Stunts.

Well, it's also been expanded to include LEGO Loco, so I assumed that perhaps le717 planned to expand it further.

Link to comment
Share on other sites

Could this be a possible update to PatchIt! then?

PatchIt is for LEGO Racers. This is a tool for Island Xtreme Stunts.

Well, it's also been expanded to include LEGO Loco, so I assumed that perhaps le717 planned to expand it further.

Jimbob has a point there, but no, I do not plan on expanding PatchIt! to support a new game anytime soon. If you haven't read that topic lately, I've got some issues to work out first. Although, I could convert the LOCO support to IXS.... nah. ;P

I updated the 0.8.2 announcement post with that third point I said I was going to mention later.

Link to comment
Share on other sites

I personally prefer different tools for different games, they can be better developed to fit their purpose.

  • Like 3
Link to comment
Share on other sites

I personally prefer different tools for different games, they can be better developed to fit their purpose.

 

As do I, but since PatchIt is mainly just a mod distribution program, JJ has a valid argument for adding support for IXS. But even the, it won't be as good as IXS-only tool would be. :)

Link to comment
Share on other sites

Well, I finally got to play the mini-game. I managed to complete the it :D
 
I then tested out your program, but have a couple of things to report. The first mod I made worked - I made a ring of blocks around the yellow block to seal Pepper off from it, and it loaded fine, but obviously couldn't be completed. However, when I looked back at the .txt file, it had lost its formatting. While it still loaded both in the game and your tool correctly, this surely isn't ideal?
 
Next I edited the .txt file outside of your tool. I switched a wall with a free tile. I opened it back in Blocks, and it looked fine. I then modded the second level to have some bad values (e.g. GW as it is non-existant), and it was saved fine (on a side note, I think you should have some sort of error check to avoid this being allowed to save). When loaded in the game however, I wasn't able to test out the second level, as the game froze on the initial loading screen of the minigame. I could walk around the island but once I tried to enter the game, that's when it froze. So I guess something's wrong with the level file - I've PM'd you the folder for you to look through, only levels 1 and 2 are modified.
 
Also the option to add water is missing, although it seems it's a little complicated as there are several acronyms for it in use, e.g. WJ, WR and WT.
 
Finally, do you plan on adding visuals to this? Otherwise it appears to be a fancy text editor ;)
 
 
All in all, it's a great program, but I think it needs the improvements suggested above.
Link to comment
Share on other sites

Now where do I start... Oh yes!

 

Also the option to add water is missing, although it seems it's a little complicated as there are several acronyms for it in use, e.g. WJ, WR and WT.

 

My Legend is complete, so that is why there is no option. Xiron told me about WT (Water Tile), so I added it to the Legend in the tutorial and code for next release, but I've yet to use it myself. As for WR and WT, I haven't seen those yet, probably because they are in the Post Office only. I'll look into them.

 

Finally, do you plan on adding visuals to this? Otherwise it appears to be a fancy text editor ;)

 

If at all possible, yes. Just remember this is my first real program with a full GUI, and I am still learning all the code to draw everything. If you and anyone else can suggest what kind of visuals you want, I'll try to do them.

 

I then tested out your program, but have a couple of things to report. The first mod I made worked - I made a ring of blocks around the yellow block to seal Pepper off from it, and it loaded fine, but obviously couldn't be completed. However, when I looked back at the .txt file, it had lost its formatting. While it still loaded both in the game and your tool correctly, this surely isn't ideal?

 

No, that isn't! In Level 1, the two nulls (00 00) at the top were somehow removed and replaced with 20 20 (two spaces), but the 01 (SOH, start of heading) is still there. Restoring those nulls do not fix the formatting. Did edit these in Notepad? I haven't seen this issue until now, and my modded levels open with formatting in Win8 Notepad. Your levels open without their formatting on Win7 and 8 Notepad (if there is even a difference), and they also have the wrong formatting. But like you said, Blocks pull them out correctly, and Notepad++ does too. (Strangely, if I edit it in Blocks and save it, the nulls return). Next time, try not to use Notepad to edit them. ;)

 

Next I edited the .txt file outside of your tool. I switched a wall with a free tile. I opened it back in Blocks, and it looked fine. I then modded the second level to have some bad values (e.g. GW as it is non-existant), and it was saved fine (on a side note, I think you should have some sort of error check to avoid this being allowed to save). When loaded in the game however, I wasn't able to test out the second level, as the game froze on the initial loading screen of the minigame. I could walk around the island but once I tried to enter the game, that's when it froze. So I guess something's wrong with the level file - I've PM'd you the folder for you to look through, only levels 1 and 2 are modified.

 

That side note is a good point. I wrote up some code to check the level against a list of proper codes, but it is always failing. I guess I'll have to take it one line at a time. ;) If you want, I'll put the levels in my game, and see if they load. ;)

Link to comment
Share on other sites

  • 1 month later...

Blocks 0.8.5 has been released! This release brings a completed character legend, as well as a syntax checker, in addition to brand new shortcut keys (be sure to read the new controls!), as well as various improvements (a re-sizable GUI) and bug fixes.

The syntax checker is case-insensitive, so you could write a whole level in lower- or mixed-case and it would pass. :P Right now, it only checks if the characters are valid, and converts everything to uppercase before saving. I plan on adding indention level (must read how this checks the indention, and possibly pattern mine after that) and level size/number of lines checks to further ensure your levels are written correctly.

The legend now located in a pop-up window, and you can have it open while editing. Special thanks to Xiron for identifying all the water codes! The Building With Blocks tutorial has not yet been updated with this legend, but will be soon.

Get Blocks 0.8.5 on the Topic Post! :D

Link to comment
Share on other sites

  • 3 weeks later...

Now that the database is fixed, I can give a proper announcement of Blocks 0.8.6! :D :D

This one is more of an minor update. I’ve updated the syntax checker with level size, so if your level is less than or greater than 8 lines, it will warn you about the error so you can fix it. More of the syntax checker is in the works, and Blocks 0.8.7 will for sure have line length in it.

I've also written most of my beginner's tutorial, Building With Blocks. I've only got Lesson #3 and Task #4 left to write, and the former should be done by the release of 0.8.7. Task #4, entitled Water, might take a while, as the water tiles are numerous, and I have not spent the time to document the best placement of each tile. If you're into IXS modding, and would like to write this part, I'd be glad to let you write it. You don't have to learn GFM (I'll reformat it), of course you don't have to follow my writing style, it can be changed to a Lesson (or something else) if need be, and credit will be clearly given. I'll even credit you a certain way if you would like. ;)

Also to report, I do have beginning code to create a new level, but the program will need to be restructured a bit to accommodate it.

No shortcut keys have been changed this time around. There is some bug in the Tkinter library causing Text Edit box to react to the Ctrl + O shortcut, and I can't do anything to fix it.

Get Blocks 0.8.6 from the Topic Post! :)

Link to comment
Share on other sites

  • 4 weeks later...

Once again, it’s time for another Blocks update, this time Blocks 0.9. I’ve worked quickly to get this release out the door.

 

I’ve finally added the line length check into the ever growing Syntax Checker. It goes off every time your line is less than 38 characters, including spaces. So now, your levels are checked in the following order:

  • Level Size
  • Line Length
  • Valid Characters
  • Uppercase Conversion

I’ve added a limit on the number of backups made the when you save a level. It is capped at one backup. In addition, I’ve made some major improvements to the entire code structure, so it’s easier to read and written much cleaner (matters mostly if you are developer and want to read my code).

I’ve also incorporated RunAsAdmin into Blocks, allowing you to relaunch it with Administrator rights if you encounter that error. I’ve also drastically reworked the level reading code, allowing Blocks to reload a temporary save of your level if you encounter the error above. This means that you could mod directly out of Program Files if you wanted to.

 

I do have to give a great big thank you to @Anonymouse for greatly helping me with the last addition by suggesting one single line. Thanks Anon! :D

 

In addition, I have implemented about half the code needed to support a New Level feature, and unlike previous releases where the little scrapes of code were not user-accessible, this time it is! When you run this release, you’ll notice the presence of a “New†button; it also has a corresponding <Ctrl> + <n>  keyboard shortcut. It automatically loads a blank layout, nothing but Free Tiles, making it easier to you to write your level. And when you’re done writing it, or want to save a draft, just hit the save button, and you can save your work! The dialog allows saving into both new and existing files, just go to the folder and type the filename. If you don’t use .TXT (or .txt) as the file extension, it will automatically be added for you. ;)

 

I did have one beta report (by @Xiron of newly saved levels not showing up in Windows Explorer but in any other file editor, and it happening only when Blocks is not running with Administrator rights, and it doesn’t show up in any other file explorer if you save it when running as Admin; however, after that one time, I have been unable to reproduce this error. This was experienced on Windows 7 and Windows 8 x64. So, if your levels don’t show up but Blocks says they are, please report it to me. I’m not sure what I can do to fix this, but if it happens often, then I know I’ll have to do something. I think it is some bug in the Tkinter library, so I’m not sure if there is much I can do, but I can always research.

 

But alas, my Building With Blocks tutorial did not make it in this release. As much as I wanted it to, I just did not have to write that section like I wanted to. Don’t worry, I’ll write it, but it will happen later on. ;)

 

As always, get Blocks 0.9 from the Topic Post! :)

  • Like 1
Link to comment
Share on other sites

I wasn’t expecting to have to do this already, but when an error is found, I try to fix it as soon as I can.
 
Case in point: I discovered a bug in Blocks that wouldn’t allow you create a new level if you had previously opened a level without closing it first. That’s not supposed to happen; you are supposed to be able to both open existing levels and make new ones without having to relaunch.
 
This bug has been patched in Blocks 0.9.1, the very first bug-fix release. As I planned, the level name display visually tells you if a new level is being made or not. If the display is blank, then a new level is being created.
 
Just like usual (and you should have memorized this by now :P),As always, get Blocks 0.9.1 from the Topic Post!

 

Have fun! :)

Link to comment
Share on other sites

  • 1 year later...

Unlike the last two(?) years, I do not have a secret project to release on December 25 as my Christmas gift to you (yet...), I am making this my gift this year and giving it to you early. :)

 

It has been a long time coming, but six days shy of 1 year and 4 months since the last release, Blocks v1.0.0 is out!
 
Honestly, the version increase from v0.9.1 to v1.0.0 is non-indicative of everything I have done in the last four months. Want proof? Scroll through this for a while. You will soon discover what all I've done. I really should have called this v2.0.0. :P
 
The main bulk of this release has been internal. Everything has been converted to OOP, with lots of rewriting, restructuring, and optimizing going on. In terms of code-quality, this is probably one of the nicest code bases I have. :D
 
For you, the user, not too terribly much has changed. It is still a "fancy text editor", and the UI only recieved minor tweaks, but there have been some behavior changes.

  • In previous releases, if you attempted to save in a restricted location, you were prompted to reload the program as administrator and save again. This has changed to a one-time prompt to always run as administrator or not. However, you can change this behavior, which leads into my second point
  • The log file and the config file containing your administrator launch choice is stored on Windows at %appdata%Triangle717Blocks and on all other platforms at ~. This will help eliminate any friction caused by the program absolutely requiring admin rights if kept in Program Files. In hindsight, I should have made Mac OS X and Linux follow the same folder structure as Windows, but that is a minor update. ;)
  • Better error messages to let you know what happened
  • Better procedures to help ensure your file always saves
  • This version is probably faster than the last releases, but I have no way to test or prove such, so take this point with a grain of salt. :P

I must give a huge thank you to @Xiron for enduring my many questions, programmer outbursts (I am sure some of you know what those are; I could name someone right now if they would let me :P) and semi-often rants during development, for testing out all those prereleases, and giving valuable feedback. Seriously, I could not have finally made 1.0 and did alll this work without you being there to listen to me. :P

 

Just because Blocks has reached 1.0 does not mean it is done. I will have to be learning how to use PyQT-based GUIs in the next few months, and Blocks might end up (and eventually will be) on the GUIs-made-in-PyQT list, and I do have very long-term goals to make it even better. Hopefully it will not be as long as it took to reach 1.0 for those to be put on place. :P

 

As always, the download is in the newly revised OP. Enjoy. :)

 


 

v1.0.1 released to fix that minor config path inconsistency I mentioned. ;)

  • Like 4
Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.