ALL PRAISE YOUR SUPREME LORD CORBO
Is there a function to export tile settings, or do I have to export the settings with another tile editor in order to edit them and load them with PyTILE?
Does it not export them to a text file or something? I remember I modded the tileset that way.
fuck you all
No, it exports them to .bmps in the group palette and there is no export button anywhere else that I can see.
Or could it be that HawtTiles ignores completely black tiles on import so you don't get the large black gaps?
HawtTiles, assuming I actually implemented it and it works, searches for duplicate tiles when importing (what the 'Test Find' button tests the functionality of) so null tiles won't be added.
TinyMap2 - Latest in map compression! ( 7/09/14 - New build! )
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!)
EUDDB -
topic - Help out by adding your EUDs! Or Submit reference files in the References tab!
MapSketch - New image->map generator!
EUDTrig -
topic - Quickly and easily convert offsets to EUDs! (extended players supported)
SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor!
This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!
PyMS and ProTRG developer
Is there a function to export tile settings, or do I have to export the settings with another tile editor in order to edit them and load them with PyTILE?
Does it not export them to a text file or something? I remember I modded the tileset that way.
No, it exports them to .bmps in the group palette and there is no export button anywhere else that I can see.
When you export from PyTILE, it first asks to export the bmp, then it asks to export the settings, just like importing (which can also be cancelled to get just the bmp). So to get started you can export existing things to modify, learn from, and provide feedback on.
Or could it be that HawtTiles ignores completely black tiles on import so you don't get the large black gaps?
HawtTiles, assuming I actually implemented it and it works, searches for duplicate tiles when importing (what the 'Test Find' button tests the functionality of) so null tiles won't be added.
Makes sense, thanks for the info!
Ok, got it. I'm going to start by exporting some blank tiles to replace, and I'll get back to you on it.
Would it be possible to force the program to throw an error if you go over the max number of megatiles while importing? Or just not allow further importing after the limit has been reached (with an appropriate debug message/counter to show why it's disabled)? Would help others understand the issue.
PyMS and ProTRG developer
Would it be possible to force the program to throw an error if you go over the max number of megatiles while importing? Or just not allow further importing after the limit has been reached (with an appropriate debug message/counter to show why it's disabled)? Would help others understand the issue.
Yep, I was kind of surprised it didn't already have that.
Glad to hear it's feasible at least.
The text entry seems fairly straightforward. Still learning all its ins and outs. If I only import the bmps, will the settings revert to 0, or stay what they've been set to?
I would appreciate the option to just export/import the settings and not the bmps (e.g. hit cancel on export/import bmps like I can hit cancel on export/import settings).
edit: I can't seem to reference unused megatiles, I assume all blank megatiles are actually the same '0' megatile. Using the text settings method, how would I add brand new tiles?
Post has been edited 1 time(s), last time on Jun 3 2017, 2:04 am by Pr0nogo.
PyMS and ProTRG developer
If I only import the bmps, will the settings revert to 0, or stay what they've been set to?
If you import just the bmp they will be treated as completely new tiles, the settings file is what includes the id's that are used to update existing tiles. If you just want to update the image but not the settings, you would still import the settings, just don't change them in the text file.
I would appreciate the option to just export/import the settings and not the bmps (e.g. hit cancel on export/import bmps like I can hit cancel on export/import settings).
Should be a feature of the updated import+export system.
edit: I can't seem to reference unused megatiles, I assume all blank megatiles are actually the same '0' megatile. Using the text settings method, how would I add brand new tiles?
I'm not exactly sure what you mean by this. Could you give me an example of what you are trying to do, maybe steps so I can try it myself?
Edit: I re-wrote the palette window to allow resizing (not sure how performant it will be with lots of tiles) and multi-select. Multi-select doesn't do anything yet, only the first selection will be used for export/edit (it will be used for the updated export system). If you could give it a try and provide feedback, hopefully it works well for you.
Post has been edited 1 time(s), last time on Jun 3 2017, 4:43 pm by poiuy_qwert.
I'm not exactly sure what you mean by this. Could you give me an example of what you are trying to do, maybe steps so I can try it myself?
I'm trying to simulate the creation of new groups by replacing blank ones. In TileEdit, you do this by selecting a blank group and importing your graphics, like so:
Then it turns into a completely functional, editable set of terrain tiles (until it inevitably corrupts everything, of course):
I just need a way to reliably do this in PyTILE, preferably without setting a bunch of shit in a text file as that's way more tedious than just hitting import in TileEdit and being done with it.
PyMS and ProTRG developer
I just need a way to reliably do this in PyTILE, preferably without setting a bunch of shit in a text file as that's way more tedious than just hitting import in TileEdit and being done with it.
Yeah that is not really possible at the moment, you'll have to deal with getting new groups until I have finished revamping the importer
New groups won't save, as I mentioned earlier. I'll just have to use the other tools until you're done. Thanks for working on the program, I appreciate it!
PyMS and ProTRG developer
Alright, I have release the new version with access to the WIP import system. Here is the commit log for some more details:
- Re-wrote a bunch of stuff for the WIP import system, so there may be issues with some things (known issues: editing a megatile from the tile palette, attempting to change a megatile in the doodad placement window)
- Added a button for the WIP import system to the tile palette. Some details:
- Only imports images (supports bulk imports of groups stacked vertically, or mega/mini tiles in any sized grid)
- Imports will update the currently selected items in the palette (extra imported items will be added new)
- Always tries to reuse existing "lower" tiles (group imports reuse mega+minitiles, mega imports reuse minitiles)
- Improved edit status tracking
- Many bug fixes
Please report any issues you find here!
Tried importing one image to multiple selected groups and got this error.
Internal Error
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
File "C:\Users\Darion\Desktop\PyMS-master\PyTILE.pyw", line 582, in new_iimport
new_ids = self.tileset.iimport(self.tiletype, b, self.selected)
File "C:\Users\Darion\Desktop\PyMS-master\Libs\Tilesets.py", line 355, in iimport
mini_lookup[image_hash].append(id)
KeyError: 1265540291
Same exact error is thrown when attempting to import an image onto a single selected group.
PyMS and ProTRG developer
Tried importing one image to multiple selected groups and got this error.
Internal Error
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
File "C:\Users\Darion\Desktop\PyMS-master\PyTILE.pyw", line 582, in new_iimport
new_ids = self.tileset.iimport(self.tiletype, b, self.selected)
File "C:\Users\Darion\Desktop\PyMS-master\Libs\Tilesets.py", line 355, in iimport
mini_lookup[image_hash].append(id)
KeyError: 1265540291
Same exact error is thrown when attempting to import an image onto a single selected group.
Thanks for trying it out, its unfortunate you ran into an issue right away
I have fixed that issue if you can give it another whirl! Also, if you import a bmp with one group it will only update the first selected group in the palette, it will not apply it to all the selected groups. If you have 3 selected groups in the palette and import a bmp with 5 groups in it, the first 3 in the image will update the 3 selected groups, and the extras will be added to the end.
Also, I have implemented a new MegaTile Editor which is available from the MegaTile Palette, and will soon be integrated into the main window. It allows much easier editing of the properties of the minitiles by drawing the settings onto the tiles in different edit modes, instead of having to click a bunch of checkboxes for every tile. If you could also give that a try and give me your feedback (and a screenshot if possible, I don't have easy access to see it on a Windows machine), I'm sure you'll like it!
Those new changes sound excellent!
By 'a bmp with 5 groups in it', you mean a bmp image with 5 times the normal height value of a terrain group, right? (In this case, 32*5, so 160.) Just checking so I can make sure I'm testing correctly.
edit: a different error (I think) when importing a bmp with 1 group selected.
Internal Error
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
File "C:\Users\Darion\Desktop\PyMS-master\PyTILE.pyw", line 731, in new_iimport
new_ids = self.tileset.iimport(self.tiletype, b, self.selected)
File "C:\Users\Darion\Desktop\PyMS-master\Libs\Tilesets.py", line 358, in iimport
if image_hash in self.vr4.images.lookup:
AttributeError: 'list' object has no attribute 'lookup'
PyMS and ProTRG developer
By 'a bmp with 5 groups in it', you mean a bmp image with 5 times the normal height value of a terrain group, right? (In this case, 32*5, so 160.) Just checking so I can make sure I'm testing correctly.
Yep!
Edited in an internal error, idk if you noticed it when you replied.
Here's a shot of the minitile editor.
This looks really useful! I'll do some testing to make sure this is 100% operational but it looks like you've outdone yourself here, haha. This trivializes the most carpal tunnel-inducing and monotonous component of tileset editing I've run into thus far. Very pleased with this!
edit: Since you've been delivering on my hopes and dreams so far with this update, is there any chance PyTILE is capable of applying creep-blocking and buildability on a per-megatile basis, rather than it affecting the entire group?
PyMS and ProTRG developer
Edited in an internal error, idk if you noticed it when you replied.[quote]
[quote=name:Pr0nogo]edit: a different error (I think) when importing a bmp with 1 group selected.
Internal Error
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
File "C:\Users\Darion\Desktop\PyMS-master\PyTILE.pyw", line 731, in new_iimport
new_ids = self.tileset.iimport(self.tiletype, b, self.selected)
File "C:\Users\Darion\Desktop\PyMS-master\Libs\Tilesets.py", line 358, in iimport
if image_hash in self.vr4.images.lookup:
AttributeError: 'list' object has no attribute 'lookup'
Missed it, should be fixed now, thanks!
Here's a shot of the minitile editor.
This looks really useful! I'll do some testing to make sure this is 100% operational but it looks like you've outdone yourself here, haha. This trivializes the most carpal tunnel-inducing and monotonous component of tileset editing I've run into thus far. Very pleased with this!
Thanks for the screenshot, and I'm glad you like it! I'll be doing some tweaking to the UI and then integrating it into the main UI should be pretty easy!
edit: Since you've been delivering on my hopes and dreams so far with this update, is there any chance PyTILE is capable of applying creep-blocking and buildability on a per-megatile basis, rather than it affecting the entire group?
Unfortunately that is not possible, the way the settings are grouped by group/mega is how they are in the files.
Internal Error
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
File "C:\Users\Darion\Desktop\PyMS-master\PyTILE.pyw", line 731, in new_iimport
new_ids = self.tileset.iimport(self.tiletype, b, self.selected)
File "C:\Users\Darion\Desktop\PyMS-master\Libs\Tilesets.py", line 358, in iimport
if image_hash in self.vr4.images.lookup:
AttributeError: 'list' object has no attribute 'lookup'
Round 3! Looks only slightly different this time.
PyMS and ProTRG developer
Internal Error
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
File "C:\Users\Darion\Desktop\PyMS-master\PyTILE.pyw", line 731, in new_iimport
new_ids = self.tileset.iimport(self.tiletype, b, self.selected)
File "C:\Users\Darion\Desktop\PyMS-master\Libs\Tilesets.py", line 358, in iimport
if image_hash in self.vr4.images.lookup:
AttributeError: 'list' object has no attribute 'lookup'
Round 3! Looks only slightly different this time.
I don't think your update worked? That should be fixed.