NEXXT - a newer "NES Screen Tool"

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by FrankenGraphics »

NEXXT 0.21.0 is up.

-The new BMP importer is the big new feature. Preview the import as you change the parameters.
A little more flexible with the options. Also subtly improved results.

Other new features:
-Find 3 "most similar" tiles
-Sort by Detail
-Deselect individual multiselect tiles

Various bugfixes, including correct display of the full 64 entry palette, should you use it.

Image
User avatar
olddb
Posts: 188
Joined: Thu Oct 26, 2017 12:29 pm
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by olddb »

This looks good.
After playing with it for a while a have some requests:

-paint bucket fill type
-more depth for undo (control-z)
-full window mode

Also, it would be nice to have a 'data layer' to set unpassables, over-under tiles, etc.
Last edited by olddb on Tue Feb 07, 2023 7:40 pm, edited 1 time in total.
...
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by FrankenGraphics »

Glad you've found it useful!

Bucket fill:
-Exists! For the CHR edtor, or while in free draw mode, hold ctrl and click.
For tile-fill on screen, make a selection on the screen canvas (shift-click-drag), and press F.
You may want to consult the cheat sheet png:s included to discover more similar actions.
Also keep an eye on the status readout field for more in-context usage tips.

Full window mode:
-Will likely not happen. The current GUI is too brittle and the reward too low compared to other features on the roadmap.

But, for seeing & editing the whole map, use the Navigator [F6]. Apart from the functions that are similar to photoshop Navigator, it can also perform arrangement tasks like copypastes and drag-swaps; see the the tutorial GIF:s and videos on the itch messageboard.

(There actually are quirks that allows Windows to make NEXXT go full screen, but you won't like it ;) )

Undo history:
-Is coming sometime. Another user has been working on it in a fork and when it's completely ready, i'll merge it.

Since back-forth action easily accessed via repeated ctrl-z presses is essential for pixel art, though, undo history will use a subcommand instead with some modifier key. Ctrl-alt most likely.

Until the merge happens, i recommend getting acquinted with the checkpoint system.
It works like this:
-When you like what you've got so far, press ctrl+shift+z to set the checkpoint.
-Then; carry out a number of actions.
-Now press shift-z repeatedly to compare the checkpoint vs your edits. You can also copypaste parts from the two time points into each other to get the best of both.

Getting in the habit of setting checkpoints means a faster and freer workflow. It should feel familiar to working with savestates in emulators.

Data layers:
-May happen, just not yet. NEXXT and its predecessor NESST was originally made as a screen layout tool, but it is growing out of its original visuals-only shell slowly. There are some growing pains.

A collision map referring to direct chr tiles is planned for, since it's simple to use and covers some scenarii.

More importantly; i'm working on a metatile library/tool that will also have a very generic collision map solution that may suit some. But that's always the problem with NESdev; every engine is very particular about when, where and how to use level data. This won't be ready in the next upcoming release, but possibly the one after that.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: NEXXT - a newer "NES Screen Tool"

Post by Pokun »

What is this "back-forth action easily accessed via repeated ctrl-z presses is essential for pixel art" about? In my experience Undo is generally CTRL+Z and Redo is CTRL+Y (or SHIFT+COMMAND+Z on Macintosh), and this is no difference in image editors specifically made for pixel art like Graphics Gale or Aseprite.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by FrankenGraphics »

So, i should've lead with a more humble "in my practice, 'toggle undo' is a more frequent action for pixel art".

When undo history started becoming norm in raster editors, toggle undo tended to get demoted to a subcommand. This makes a lot of sense in photo editing, where to reach a goal you often do do a string of pretty distinct, different actions.

For instance, in photoshop, toggle-undo is demoted to ctrl+alt+z. This is a fine compromise.

In my personal experience, deep-undo makes a bit less sense when working with borders between pixel clusters, where i spend more time trying things on for size to get the exact right suggestion, going back and forth, than i spend on long sequences of complex and varied tasks. Ie, most of my undo actions are spent going back and forth 1 step anyway.

Again in photoshop, Redo is ctrl-shift-z.
This is overall is *a lot more* comfortable than for example Asesprites' solution (ctrl+y). Notice how far you need to stretch the left hand to go back and forth between undo and redo. It makes you avoid doing it even at times when you might want to. Of course, and thankfully, aseprite has plenty of shortcut customization options, so it needn't be a problem if you don't like the out of the box setup.

I didn't detail it in my first response, but in my conversations with the fork author, i mentioned i will make it a preference if you want deep undo or toggle undo to be the more convenient one (ctrl+z).


As for deep undo in tools like photoshop, i prefer using the history list over stepping through serially with commands. So, it's possible i'll eventually add that as an additional method, though it's sort of a second priority feature compared to getting other stuff in.

Edit:
Lastly, one more plug for the checkpoint system. It may not be quite as *safe* as deep undo, but it's a lot quicker to work with with just a little practice. Once the merge happens, you'll have both at your disposal.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by FrankenGraphics »

NEXXT 0.22 out.

full devlog here: https://frankengraphics.itch.io/nexxt/d ... jor-update

tl;dr:
-full 8x16 sprite view mode support, in addition to the "normal" view mode.
-8 additional "view modes" that sort or arrange tiles without destructing their physical memory locations
-A range of new tools for or swapping subpalettes and attributes and cleaning attributes up to save metatile/RLE space.
-Important bugfixes for the new BMP importer
-some few other minor things

Shown in the gif: the "4x1 -> 2x2 topdown" view mode, here used to make better sense of the SMB1 tileset.

Image
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: NEXXT - a newer "NES Screen Tool"

Post by Pokun »

FrankenGraphics wrote: Thu Feb 09, 2023 2:18 pm So, i should've lead with a more humble "in my practice, 'toggle undo' is a more frequent action for pixel art".

When undo history started becoming norm in raster editors, toggle undo tended to get demoted to a subcommand. This makes a lot of sense in photo editing, where to reach a goal you often do do a string of pretty distinct, different actions.

For instance, in photoshop, toggle-undo is demoted to ctrl+alt+z. This is a fine compromise.

In my personal experience, deep-undo makes a bit less sense when working with borders between pixel clusters, where i spend more time trying things on for size to get the exact right suggestion, going back and forth, than i spend on long sequences of complex and varied tasks. Ie, most of my undo actions are spent going back and forth 1 step anyway.

Again in photoshop, Redo is ctrl-shift-z.
This is overall is *a lot more* comfortable than for example Asesprites' solution (ctrl+y). Notice how far you need to stretch the left hand to go back and forth between undo and redo. It makes you avoid doing it even at times when you might want to. Of course, and thankfully, aseprite has plenty of shortcut customization options, so it needn't be a problem if you don't like the out of the box setup.

I didn't detail it in my first response, but in my conversations with the fork author, i mentioned i will make it a preference if you want deep undo or toggle undo to be the more convenient one (ctrl+z).


As for deep undo in tools like photoshop, i prefer using the history list over stepping through serially with commands. So, it's possible i'll eventually add that as an additional method, though it's sort of a second priority feature compared to getting other stuff in.
I forgot that Photoshop is using SHIFT+CTRL+Z for Redo (that's probably stolen directly from Apple's systems where CTRL is COMMAND). I use mostly Gimp and Graphics Gale which both uses CTRL+Y for Redo. I agree with you that it's not useful for going back and forth quickly, you need to use both hands to do that.

A preference so you could have either setting is a good idea I think.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by FrankenGraphics »

Version 1.0 is released.
Image

https://frankengraphics.itch.io/nexxt

Among its features:

Line tool:
Available in the CHR editor, and the tileset tab (while in draw mode; shift-d)
More than meets the eye. Can make a well rounded assortment of different line algorithms, via the scroll wheel while dragging. Through them you can create virtually any shape you want. The toolbox offers many actions and settings to discover.

Noncontiguous bucket:
Ctrl+alt+click fills all pixels of the clicked on colour; typically within the current selection.

Smudge:
Available in the CHR editor, and on the tileset tab.
Push the smudge button, or hold G. Click and hold on any pixel; your pen/brush/line will use the colour of that pixel for the stroke you do (or until you release G. Great for defining borders, fields and clusters quickly without having to switch colours.

Mirror actions:
Findable under menu>patterns
Turns the patterns in the current tile selection into a middle mirrored version. There are three mirror types: vertical, horizontal, and bidirectional.

Tile associated collision properties:
Assign user defined collision properties to current tile selection. The screen/map gets collision map is derived from the tiles you reference. This is a popular collision system for games that afford some RAM space to unpack tiles in before sending to the PPU.
You can also apply special conditions (options: no, yes, all) - make collision bits count combined with specific subpalettes, or have a bit make all other bits conditional on a specific subpalette combination.

Protect colour hotkeys:
keys 5,6,7,8 now toggle colour protections on/off. These masks let you draw, move and paste "behind" colours, almost as if there were layers, but without the management that layers require.

Tileset tab toolbar:
The toolbar from the CHR editor is now available under the tileset tab as well. Note that some buttons only have effect on the tileset tab canvas while in "draw mode" (shift-d).

Improved 8x16 mode:
"Make metasprite" is now smarter about generating new metasprites in 8x16 mode.
Make sure 8x16 button is checked on the metasprites tab; and ideally the "<o>" symbol underneath it too.
Then just make a selection on your tileset and press ctrl-m. The need for post-make cleanup is largely removed.

There's more. For the full list and details, consult the changelog.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by FrankenGraphics »

Nearly a year later, NEXXT 2.0.1 released.
Image

Get it here:
https://frankengraphics.itch.io/nexxt

In summary:

-Attribute Overlay (replaces Attribute checker, comes with options toolbox).
-A session may keep any number of chr banks.
-Tilesets A/B expanded to A...D; their tiles are mappable to any offset of any chr bank.

-Metatile editor - generate, edit and place metatiles. You can work with 2x2, 4x4 and/or 8x8 metatiles concurrently, with or without palette attributes.
-CHR bank selector (manages banks and maps tiles to banks - can apply common mapper rules, or map freely).
-CHR bank swapper (moves chr sets in physical memory)

-3 collision tools: bitwise chr collision (improved), bitwise metatile collision, tile ID collision

-Swap Bucket (swaps colour of 2 fields; field colour for pen colour)
-Gap Aware Bucket (fill a field even though its borders has small gaps. It can also repair gaps in line art without filling the field.)
-Lots of options in the bucket toolbox. You can for example draw an edge detecting line, cone or quarter in any of 8 directions.

-New line tool algorithms: hyperbola/s-curve, hyperbolic line, hyperbolic concave, ellipse/circle, rectangle/square.
-Line toolbox comes with 4 autosaved preset slots.

-Brush mask editor completely revamped. brush sizes range from 2-16, you can set a custom snap distance on either axis, 14 brush slots, 360 degree rotation, make brush mask from chr or nametable, lots of presets.

-Pipelines tool (collects 3 features: associate other session, linked mode editing (multiple sessions can view/edit the same tileset of another), autoexport (just metatiles for now).

-Navigator has scrollbars
-Emphasis palette generator (useful when embedding a game in an emulator, for example).
-Improved NES ROM importer with difference checker feature.

-Possibly in the hundreds of small quality of life improvements, mini additions, and bugfixes.
ntalbert000
Posts: 1
Joined: Fri Mar 01, 2024 10:43 am

Re: NEXXT - a newer "NES Screen Tool"

Post by ntalbert000 »

FrankenGraphics wrote: Thu Feb 29, 2024 4:53 am Nearly a year later, NEXXT 2.0.1 released.
Image

Get it here:
https://frankengraphics.itch.io/nexxt

In summary:
.........
Looks like I found this tool at just the right time. Can't wait to learn and try it out.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: NEXXT - a newer "NES Screen Tool"

Post by Pokun »

Wow so many features. I've been testing it out a little and have a few questions and comments:

1)
The type in feature is very cool but I don't understand how to change the ASCII offset. It just says click and drag but it goes crazy, I just keep doing it until it sets to $20 by chance.
Do I have to save the session to save this or is there some way to set a default offset?


2)
Even with the offset set correctly I'm unable to type certain shifted characters:

Code: Select all

! " # $
Other shifted characters do work as expected.

3)
Is there a way to set default subpalettes? The presets are like that of NESST which does not work well with CHRs that uses color 3 as the darker tone and color 1 as the lighter one (all presets seems to use color 3 as the lighter tone).

There is a "Swap colour order..." command but it seems to swap both the colors in the subpalettes and the pixel planes in the CHR pattern itself (so if you swap color 1 and 3 it will swap both current subpalette's color 1 and 3 and the current CHR pattern's pixel planes 1 and 3), though I guess that might be what's intended.
Either that or I'm doing it wrong somehow.

The best workaround seems to be to save a custom subpalette and load it each time.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by FrankenGraphics »

Thanks!

1) I wonder if this might be an issue different from system to system or at least mouse sensitivity.. anyway, dragging sets coarse offset (in increments of 16 / $10), and holding shift while dragging sets it in finer steps of 1. In addition, you can set a base offset from the menu; Edit > Type In offset > one of the three available there, which are -$20 (" "), -$30 ("0"), and -$40 ("A"). The drag-offset you can set from the Apply groupbox is added to that base offset.

A long delayed but planned feature on my roadmap is charmaps, so you can set each ascii key to a custom tile, since it's so common for NES to use tiny sets that don't coincide well enough with ASCII.

2) Ack, my bad. Every major version, i forget to double check if some menu shortcuts are overloading type in mode. Shift + 1...4 moves the subpalette cursor, and should not have been enabled in this mode. This is an easy fix so i'll push an update soon.

3) A user default is planned for, but there isn't one presently.

For colour swaps, there are three different but slightly overlapping modal actions:

a) Swap Pattern colours [Ctrl+L] - a simpler version of (b) only dealing with patterns
b) Swap Colour order [Shift+Ctrl+L] - can swap the colours of both patterns and subpalettes, or just either one.
c) Swap Subpalette order [Shift+Ctrl+W] - can swap the order in which subpalettes are listed, along with nametable attributes.

You'll want (b), but before you press OK, be sure to check "none" in the dialogs' patterns groupbox.
Image

"Flip 3" flips the 3 solid colours, Flip 4 flips all colours. In the case of flipping all 4; the "col 0 from" groupbox decides which subpalettes' colour should be the new colour 0. Usually the first one already set is fine.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by FrankenGraphics »

I've addressed some of these issues now, and v2.1 is up.

-There's now a simple user-set default subpalettes system, explained in the changelog.
-Ascii offset drag-control behaves more consistently now, and may be dragged in either direction.
-Type in mode handles shift 1...4 and altGr 1...4 correctly again.
-various cosmetic to serious bugfixes.


-------
Edit: 2.1.1 up.

-Fixes a 8x16 sprite mode display bug.
-When selecting or drag-and-dropping an 8x16 sprite, the 2 tiles it refers to are now selected on the tileset, rather than just the top tile.
-This works in both the 'normal' viewmode (as laid out in memory) and in the 8x16-organized viewmode.

---
Edit: 2.1.2 is up.
-CHR editor didn't account for custom tile mappings using the bank selector. Fixed.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: NEXXT - a newer "NES Screen Tool"

Post by Pokun »

1) Adjusting the ASCII offset works correctly now in v2.1.2 for me, neat!


2) All shifted characters also works in v2.1.2 when typing in, great!


3) "Swapping colour order" still doesn't seem to work correctly for me, neither in v2.0.2 nor in v2.1.2.
I did like in the screenshot and set patterns to "none" so that they are not affected, subpalettes are left at "apply to current set" then I pressed "Flip 3" which effectively swaps color 1 with 3 while leaving everything else as is. Everything looks correct in the preview but once I press OK it does indeed flip color 1 and 3 in all 4 subpalettes of set A, but the colors are still wrong as if the patterns were swapped too despite me checking "none".

After that I tried the "Patterns -> Swap pattern colours..." and set "Apply to" to "current set" and clicked the "Flip 3" button here to swap 1 and 3 for the pattern only. That did work and now the patterns are swapped back to be like before I used "Swap Colour order" while the subpalette order remains swapped. So it appears to me that "Swap Colour order" does not honor the "none" selection for the "Apply to patterns" section.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: NEXXT - a newer "NES Screen Tool"

Post by FrankenGraphics »

You're right - the option 'none' is bugged when pressing OK. It's now fixed and will be in the next minor update.

Edit: 2.1.3 is up.

Basically just the above fix + minor cosmetics
Post Reply