Language…
7 users online: Dan2point5, fsvgm777, JeepySol, JPhanto, kirsvantas, random_box, tOaO - Guests: 262 - Bots: 270
Users: 64,795 (2,377 active)
Latest user: mathew

[WIP] SNESTile 0.7 – A cross-platform SNES GFX editor

  • Pages:
  • 1
  • 2
I'm sick of YY-CHR. Especially since I usually hack SMW via Wine. YY-CHR does not play nice with Wine. But really, it's a bit buggy, some features are odd to use, and copy/paste is finicky at best. Worst of all, it's closed-source and seemingly in a developmental stand-still.

I give you, SNESTile (name tentative), a cross-platform SNES graphics editor written in Java. Currently, it's quite basic, and can't do much more than basic editing operations, but there's much more to come. Feel free to download it and try it out! Please report any and all bugs you find back to this thread.

Current Features:
  • Load GFX files and display them on-screen
  • Load .pal files and display them on-screen
  • Easily toggle between multiple palettes
  • Save a palette as a default palette for automatic loading on launch
  • Zoom in/out in the drawing editor or by using the mouse wheel
  • Edit files using basic drawing tools
  • Display a grid overlay for aid while editing
  • Quickly select a color by right-clicking on an image
  • Clip/mask your drawing area with the marquee tool
  • Undo/redo all drawing operations
  • Customizable keyboard shortcuts
  • Flip and rotate arbitrary selections

Known Issues:
  • None.

Todo:
  • Add flip tool
  • Add rotate tool with arbitrary degree rotation
  • Add color replace/color swap tool
  • Add support for additional (non 4BPP) graphics formats
  • Add support for the LM palette format

And of course, it's open-source. If you'd like, feel free to fork it on GitHub and make some modifications. If you issue a pull request, I might just include your changes in the official app.

Downloads:
Download SNESTile 0.7 Cross-Platform (JAR)
Download SNESTile 0.7 Mac-only (APP)

Visit SNESTile on GitHub

NOTE: When running the JAR version, the zip comes with a lib folder. SNESTile must be run with the lib folder inside its directory to work properly.
Is this going to be Mac exclusive or will it work for Windows as well (I'm not fluent in java so I don't know if the code works for both) either way this looks it’ll be helpful once completed and might actually put YY-chr in the bin of “well it might still be useful for someone”
Originally posted by ninja boy
Is this going to be Mac exclusive or will it work for Windows as well (I'm not fluent in java so I don't know if the code works for both) either way this looks it’ll be helpful once completed and might actually put YY-chr in the bin of “well it might still be useful for someone”

This is completely platform independent, so it works on Windows, Linux, and Mac. All it requires is a Java installation on the computer that runs the program, and since Java comes installed on all three OSes (well, not some Linux distros, but everyone installs it anyway), it works without any hassle by the user.

EDIT: I realized that I forgot to include the lib files with the original JAR I posted. The new one should work now. Feel free to download it and test it.

EDIT 2: Version updated to 0.2. Now fixes a billion bugs and adds a zoom function.
Big update! Version 0.3 is now available, with the following changes:
  • You can now select a color from the palette window
  • The pencil tool is now implemented
  • The two rectangle tools are now implemented
  • You can save files with the modifications
  • The zoom function works much more logically now
  • Scrolling the drawing panel is much more intuitive now

While it's not as feature-rich as YY-CHR, most of the necessities should now be implemented. I'd love to hear some feedback as to what needs to be implemented next, as well as any bugs that the program currently has. Check it out!
Right now it's a nice little program though I'd like to see as the next implements are a grid and right click as a second color. Also the option to set an area to work on like YY-CHR would be nice as well.
Though I like the fact that you can expand it and the zoom itself is just awesome.
Updated to version 0.4. Here's the list of changes:
  • A toggleable grid is now available to overlay on top of the drawing area
  • Right-click now acts like a color selector, so you don't have to use the palette interface
  • Undo/redo now works for all currently-implemented tools
Once again, feedback is always nice!

ninja boy, I appreciate you testing this out. I have now implemented the grid, but the other two features remain unimplemented for now. I did plan to implement right-click as a color selector, but I might be able to use a tool for that instead, since a secondary color is often useful. Additionally, having a separate work area is certainly useful, so I'm open to adding it, but I think I can also vastly improve the one-view editing interface to be much more useful and intuitive, so perhaps I'll provide an option for the two modes.
With the new implementation of the grid I don't think an option to set an area to edit is fully a huge need it's more of an idea to possibly add later.
As for the right click I did mean color selector though I'm not sure why I said secondary color.
One thought though could you make it so when you open the program it's defaulted to be on the pencil tool? It seems like when you open a graphics editing thing you should be able to just start drawing without having to select it.

More thoughts (I keep thinking of things as I write) would it be possible to add user settable hotkeys? I generally use Photoshop a lot and have slightly gotten spoiled by pressing "B" for the brush or pencil and being able to hold CRTL + Scroll wheel to zoom in and out.
That looks really nice but you could add mare features from yy-chr
like:
-miroring
-rotating
-fill tool
-color replace
-customice able size of the grid
-customice able colour ot the grid
-a default pallete
Updated to version 0.5:
  • You may now zoom in and out by holding Ctrl (or Command on a Mac) and scrolling the mouse wheel.
  • You may now pan the view by holding the middle mouse wheel button down and dragging.
  • All tools now have shortcut keys for easy access.
  • You may customize shortcut keys by choosing Edit -> Keyboard Shortcuts...

Originally posted by ninja boy
With the new implementation of the grid I don't think an option to set an area to edit is fully a huge need it's more of an idea to possibly add later.
As for the right click I did mean color selector though I'm not sure why I said secondary color.
One thought though could you make it so when you open the program it's defaulted to be on the pencil tool? It seems like when you open a graphics editing thing you should be able to just start drawing without having to select it.

More thoughts (I keep thinking of things as I write) would it be possible to add user settable hotkeys? I generally use Photoshop a lot and have slightly gotten spoiled by pressing "B" for the brush or pencil and being able to hold CRTL + Scroll wheel to zoom in and out.

Your prayers have been answered.

Originally posted by mzuenni
That looks really nice but you could add mare features from yy-chr
like:
-miroring
-rotating
-fill tool
-color replace
-customice able size of the grid
-customice able colour ot the grid
-a default pallete

All coming! Just wait a bit. Incidentally, the last feature in that list is already in the program. You can save a default palette by choosing Palette -> Set Current Palette as Default in the menu bar.
I've ran into a few issues with the new features the first which isn't big but annoying you can't actually use the zoom shortcut (ctrl+mouse wheel) if you are on the default size or the smallest size you have to zoom in at least once. Second the keyboard shortcuts will also only work (except grid) after you reset them.

Other then those issues this is coming along great and I look forward to when it has all the features of yy-chr (90 degree turning, mirroring, etc...)
Originally posted by ninja boy
I've ran into a few issues with the new features the first which isn't big but annoying you can't actually use the zoom shortcut (ctrl+mouse wheel) if you are on the default size or the smallest size you have to zoom in at least once. Second the keyboard shortcuts will also only work (except grid) after you reset them.

Other then those issues this is coming along great and I look forward to when it has all the features of yy-chr (90 degree turning, mirroring, etc...)

Thanks for the reply. I think I've nailed the scroll zoom bug. As far as I can tell, it's not the zoom level per se, but for some reason, the zooming function only works while your mouse is actually over the GFX. If the mouse cursor is over any blank space, it just scrolls. I'm working on that right now.

On the other hand, I can't reproduce the keyboard shortcut bug. Can you give me any more information on how you caused it in the first place? Thanks!
Beautiful.
I like how the program is developing.
I'm looking forward to updates.
It may be good idea to replace the option to rotate 90 degrees for an option that allows you to rotate a selection any number of degrees (perfect for drawing dynamic sprites).
Originally posted by imjake9
On the other hand, I can't reproduce the keyboard shortcut bug. Can you give me any more information on how you caused it in the first place? Thanks!


I can't seem to reproduce it either I think my computer might of just been acting up it was having some issues yesterday.
Originally posted by NoXuS9090
Beautiful.
I like how the program is developing.
I'm looking forward to updates.
It may be good idea to replace the option to rotate 90 degrees for an option that allows you to rotate a selection any number of degrees (perfect for drawing dynamic sprites).

I definetely support this idea.
Works well on Linux with OpenJDK, but the windows all appear in the top right with the title bars off screen - I can drag the small 1px silver of title to bring it back or alt drag, but it's a little annoying.
layouts suck
Fantastic.
However, you should add support for more palette files. Refer to Tile Molester's tmspec.xml. It explains how many common and uncommon palette files work, including ZSNES' ZST, which even us Mac users can generate.

Or, if possible, add a GGD-like palette explorer, which is like, exactly like the graphics viewer but instead of interpreting the ROM data as graphics, it reads it as palettes.
Originally posted by CommieYoshi
Works well on Linux with OpenJDK, but the windows all appear in the top right with the title bars off screen - I can drag the small 1px silver of title to bring it back or alt drag, but it's a little annoying.

Hmm, that's odd. I haven't had the chance to test on Linux just yet, but I hope to have that resolved at some point soon.

Originally posted by Naulahauta
Fantastic.
However, you should add support for more palette files. Refer to Tile Molester's tmspec.xml. It explains how many common and uncommon palette files work, including ZSNES' ZST, which even us Mac users can generate.

Or, if possible, add a GGD-like palette explorer, which is like, exactly like the graphics viewer but instead of interpreting the ROM data as graphics, it reads it as palettes.

That's probably not a bad idea, but since LM can export .pal files, I'm looking more into implementing concrete features than adding more formats.

Anyway, sorry for the lack of development on this one. I'm pretty busy ATM, what with school, but I'm still keeping an eye on implementing some new features. As an aside, it'd be really nice to have some help on this project, but I don't know any SMWCers who know Java. If anyone does, though, I'd really appreciate any help I can get.

Thanks!
I know it's been a while but I'm hoping this is still being worked on, it was going strong but I haven't seen/heard of any updates as of late.
Originally posted by ninja boy
I know it's been a while but I'm hoping this is still being worked on, it was going strong but I haven't seen/heard of any updates as of late.

Yeah, I haven't really been developing this. I really want to, but my time is really limited. I'd like to get to a point where it can feasibly replace YY-CHR, but it's certainly not there yet.

I'll definitely try and push forward, but the going is slow right now. Thanks for hanging in there, though.
New update! Hooray!
Here's a list of major changes in version 0.6:
  • A large portion of the code has been rewritten to actually be manageable. This will make updates a lot less painful on my end.
  • There is now a line tool for all your line-y needs.
  • Both the ellipse tools have been implemented.
  • There is a working fill tool implemented.
  • Bug fixes and better handled exceptions.

As a side note, the fill tool is admittedly not very helpful since trying to fill a background color will likely bleed into other tiles, since SNESTile doesn't use the two-pane view of YY-CHR, but this should be remedied with the implementation of the marquee/selection tool.

Sorry for the long update delay. I'm rather busy, but I managed to find some time to work on this, so here you go. I'll try to be a bit more responsive in the future.
  • Pages:
  • 1
  • 2