Reports for crashes, unreadable files, misc bugs, and unexpected behaviour may go here.
Featureful NES assets studio based off the classic "NES Screen Tool". It's the "famitracker" of NES graphics. · By
Since I changed my screen size to something other than 32×30, I’ve been getting a lot of these error messages:
It would also be helpful to support custom grid sizes instead of forcing the 32×30 format. Additionally, making the grid lines between screens bolder would help visually separate them. For example, I reserve 6 vertical tiles for player information that don’t need to be designed, and this offset doesn’t work well with divisions like ×2, ×4, or ×8.
Thanks for the report.
Access violation issue:
-With screen size, do you mean canvas size [ctrl+alt+n], or viewport size (eg alt+w etc)?
-What is/are the actions you performed right before getting the messages? Helper subquestions:
--if using the mouse prior to the errors, where in the interface (and presumably on the canvas) did you click, and with what tool / button combination?
--if using a command/menu action, which one(s)?
--the usual cause for access violations in the past has been trying to place something out of bounds, render something out of bounds, or there's a mismatch of bounds when redoing/undoing (shouldn't happen anymore, but mentioning it anyway just in case), and there hasn't been enough safeguards against it. There can be other causes, but if this rings a bell, let me know.
-If you can send me the file(s) that have been having trouble so i can try to replicate it, that will problably help too.
Grids:
Regarding grid sizes, 1 or 2 custom grid size is definitely something i can put on my list of potential todos. It's basically the list i draw from whenever I look for if nice-to-have features have grown more convenient to implement since last I looked (ui changes, code support, etc).
For multi grid clarity, they do a bit of contrast-separation when several are checked, but it's been on my list to make that separation a bit stronger for when lots of options are checked. Double-line is probably not going to happen, but i'll keep the suggestion in mind.
I would recommend having 2 or less grids checked at a time as a habit; with the exception of screen/32x30 which doesn't get in the way as much.
Some explanation of the current selection of grid sizes is probably in order.
Their primary incentive to be what they are is connected to nes specific hardware features; which you often find yourself needing to design around:
- 2x is the dimensions of an attribute cell.
- 4x is the dimensions of a byte element on the attribute table describing 2x2 attribute cells. They're specifically meant to help design around these limitations.
- 8x is just a less dense way to orient around such blocks.
-the screen/32x30 grid has some hardware-fixed relations too. this is the exact size of 1 'nametable', knowing its limits is often useful to calculate stuff, and having it on has implications for optional rules for 4x4 and 8x8 metatile placement that is enough commonplace (like only lay down and count 'half' a 4x4 metatile at the bottom seam - programmers often find this more doable since on the nes you can't just expect it to overflow to the next nametable, since nametables are interleaved with attribute tables).
I meant canvas size. This morning I am not experiencing this issue anymore. The only manoeuver I can remember, is that I had my original file as a 32x30, then converted it to 32x26, then saved it to a new file without overriding my existing one. Then the warnings started.
Just a theory: could it be related to the clipboard having something in memory outside of 32x26 at that moment then got confused after updating the file?
Ah, thanks. The 'smaller than what i usually work with' size condition narrows it down where to look, and sounds plausible too.
I haven't been able to replicate it yet, though.
Was the file you saved to also an .nss? or something else?
Let me know if you encounter it again (though it sounds like having opened it in a new program instance may have flushed the issue away - which is good for you but troubling for me haha).
Another issue I found this morning: I think still related to custom canvas size.
I have a 32x26 and when saving as a .map without attributes, I get a file of 892 bytes instead of an expected 832 bytes (32x26).
However, the option “Saving canvas as ASM” gives me the correct amount of bytes (832).
I inspected some the hexdump of the .map file and line 300 to end of 330 are expected, however anything beyond that (FF, FF, 33…) …. ah.. As I am writing this I get it. These are the attributes that shouldn’t be exported since the option is deactivated.
Ahh, it's a little confusing i'll admit. Those options are only for text export. The category bar between saving as binary and saving as text is supposed to indicate that, but it's not super evident. Neither is it the first time this is brought up, haha.
Also worth noting; whenever a .map binary is saved; the last 4 bytes tell the dimensions of that map; counted in tiles.
.nams on the other hand, as standardized by NES emulators, are always 32x30 - so 960 bytes for tile ID elements, 64 bytes for attribute cells.
Maybe another quirk, but that could also just be me not understanding the behaviour of the app correctly. Whenever I export my 2x2 metatile (current tab), it seems to me that I get the first page only.
I would expect to get the data of the second list (Unlabeled - Selected), but the data is the same as (Floor). Interestingly, the variable VarMtClickID is now 64 instead of 0. That is the only difference between the two files.
Are you sure it isn't in there? It can be hard to distinguish since it uses RLE compression to minimize the text file.
The reason i ask is that the list items are only a browsing convenience to look at one part of the table at a time.
Everything under one tab is one big table behind the scenes.
One easier way to verify if it's all there rather than looking at the text output, is to make another session, copy over the chr tiles so things are viewable, then open the produced .mt2 file in that session and see if all the contents are there.
(As an aside, VarMtClickID=64 can potentially be used as an offset if you want to extract a custom length from the full table. Be sure to click the top left metatile after switching list items but before saving the text file in order to do so reliably)
I did a test. I saved my 2x2 metatile set in a file tiles.mtt2 and added a new metatile then saved to tiles2.mtt2. I did a diff check on both files and only VarMtClickID increased. The content of the other variables remain the same even though I added one extra metatile.
Interestingly, a lot of empty lines appear at the end of bothfile. Same amount for both.
Maybe it has something to do with my second set being name Untitled? (Unable to change on Linux)