I've updated GetArt.NET and SonLVL to better handle importing from non-paletted images when there are multiple palette lines. I've also added a feature to SonLVL that allows you to import an image over an existing chunk/block/tile. This feature will only replace the contents of the tiles used in the selected item, not any properties in blocks, it won't optimize art, and any tiles that are reused multiple times in a chunk/block will only use the first imported tile.
More updates: Improved collision picture drawing. Reduced flicker in chunk/block/collision pictures. Fixed support for XML definition subtype without image. Made collision overlay on block image white, instead of yellow. Added support for custom object formats. Adding a custom object format is much like a custom ring format: add lines for objectfmt=Custom, objectcodefile=CustomObject.cs, and objectcodetype=CustomObject.CustomObject. Your file must define a class that inherits from ObjectLayoutFormat, which in turn will refer to a class that inherits from ObjectEntry. Examples can be found in SonLVL's source code.
In case there are people who use SonLVL that don't go to SSRG, I've got an experimental build that merges all the art editors onto one tab: http://mm.reimuhakurei.net/SonLVL/SonLVL_MergedArtEditors.zip I'd like to know if I should make this the standard UI. Edit: It's totally broken and I can't fix it right now. Edit 2: Fixed.
This is something i always wanted in SonLVL, All the tabs in 1 place... Perfect. Excellent work MainMemory and I'm sure everyone else will feel the same way.
There is an issue with it, which I already sent via the bug report feature in editor. But it looks fantastic, and I had a great time playing around with it. It speeds up the workflow a bit, too. If I could make a suggestion, however, Might there be a cleaner way to arrange it so there's more space on the right? I feel like the chunk, block, and tile sections should also have like, lines or something separating them, so as to help it look cleaner.
I already read the report and fixed the issue before you posted here. I don't know how I would "arrange it so there's more space on the right", and adding borders to the sections is more trouble than it's worth imo.
I've updated SonLVL with the ability to automatically load additional layout files from other levels that share the same layout format and chunk list, so now you can add/delete/reorder chunks without breaking other levels' layouts.
I'm currently testing a new method of FG/BG editing: http://mm.reimuhakurei.net/SonLVL/SonLVL_NewFGBGEdit.zip Left click, Hold left and drag: draw with current chunk. Double left click: toggle loop flag (where applicable). Right click: grab current chunk. Hold right and drag: select an area. Right click in selection: display context menu. Edit: It has been merged into the master branch, as well as an update that allows shrinking FG/BG selections by dragging inwards from the edges.
Couple of updates to the palette editor: The palette selector, blending, and importing options have been moved to a new toolbar. Right clicking in the palette editor will create a gradient from the selected color to the color clicked on, as long as they're on the same line. Palette entries can be dragged horizontally to reorder them, recoloring the tiles appropriately, and palette lines can be dragged vertically to reorder them, altering the blocks' palette settings appropriately. Hold Ctrl to swap instead of reordering.
SonLVL's chunk and block editors now have the ability to change the selected chunk/block by pressing the PgUp/PgDn/Home/End keys while the preview picture is focused, and a context menu, accessible by clicking with the selection button on an already selected area, which allows for flipping, copying, pasting, and clearing the selected area.
SonLVL Updater has an item called 'Comper Support', which downloads into two 'lib32' and 'lib64' folders. As the description box of SonLVL Updater says, you copy these folders into the directory of the program you want to add Comper to. In addition, for SonLVL, you have to define artcmp, blockcmp, or any other file compression, as 'comper'. Capitalisation shouldn't matter.
Sorry for the double-post, but I've updated KENSSharp to support Comper (so I guess it's "KENSCSharp" now? =P), making the Comper DLL redundant. SonLVL now supports Comper natively.
Thanks Clownacy. It just wasn't working for me for some reason. I probably misspelled something. ... In fact, now that I think back, I used the argument "tilecmp", not "artcmp"... That's it.
For levels, it's tilecmp, for objects, it's artcmp. Format and compression parameters in INI files are generally the same as the file parameter, depluralized if applicable, and with fmt/cmp added. Thanks Clownacy, this will make things a lot simpler.
I believe it's hardcoded, as the level layout file maps directly to the layout buffer available in RAM.