It is currently Tue Sep 17, 2019 9:12 am

All times are UTC - 7 hours



Forum rules





Post new topic Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Tue May 07, 2019 11:39 pm 
Offline
Formerly Espozo
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3503
Location: Richmond, Virginia
Sorry if this has been asked before; I don't remember. It's pretty well known Pcx2SNES is pretty bad (files are padded to be at least 1KB, palette conversion is broken, etc.) and was wondering if anyone knew of any alternative. I'm asking because the lack of a good converter for SNES graphics has also extended to the Irem M92 for me (as graphics are converted to the SNES format to edit in yychr). If no one is aware of anything better than Pcx2SNES, I at least now have the knowledge to create something better, which I can share on GitHub if needed.


Top
 Profile  
 
PostPosted: Wed May 08, 2019 12:34 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8559
Location: Seattle
Well, there's this recent thread- viewtopic.php?t=18755 - where Optiroc's been working on something.


Top
 Profile  
 
PostPosted: Wed May 08, 2019 12:42 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 966
Optiroc's superfamiconv is the best available converter. I'm not entirely happy with it, given the many bugs in its map and palette parts, but he's been fixing bugs lately, so things may be better now.

My workflow is thus palettes placed manually in the source via my pal2gen tool (not .incbin'd, as C constants - they're also easier to change that way), maps handled via my tilecoords tool, leaving just the tile to chr conversion for superfamiconv. Even there I have to be careful to convert the PNGs to 8-bit before passing them to superfamiconv (this bug may also be fixed now).


Top
 Profile  
 
PostPosted: Wed May 08, 2019 1:24 am 
Offline

Joined: Thu Feb 07, 2013 1:15 am
Posts: 129
Location: Sweden
I've been fixing bugs, but also added features with possible new bugs. :)

Please report any bugs (especially in map generation) on GitHub! And if so, *please* attach relevant data files to reproduce the bug. I got a bunch of bug reports last year for which the user refused to attach data files for whatever reason.

Now that I've been actively working on the tool again for a bit, I hope to be able to make it useful for more people than myself.


Top
 Profile  
 
PostPosted: Wed May 08, 2019 1:26 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 4208
Location: A world gone mad
You didn't specify any details really, so you get this:
Code:
1996-11-16  08:16            18,960 GFXCONV.EXE
1993-07-12  17:30            37,845 GIF2SNES.EXE
1993-11-24  13:05            47,630 GIF2SOPT.EXE

If you want something present-day (that uses PNG, not PCX), use Optiroc's SuperFamiconv.


Top
 Profile  
 
PostPosted: Wed May 08, 2019 1:30 am 
Offline

Joined: Thu Feb 07, 2013 1:15 am
Posts: 129
Location: Sweden
calima wrote:
Optiroc's superfamiconv is the best available converter. I'm not entirely happy with it, given the many bugs in its map and palette parts, but he's been fixing bugs lately, so things may be better now.

More specifically, I believe a lot of the bugs / unexpected behaviour was due to how I handled transparency and the 0th color. It should behave better now. (But I need to work on my very limited test suite, and make that part of the build process.)


Top
 Profile  
 
PostPosted: Wed May 08, 2019 5:35 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21591
Location: NE Indiana, USA (NTSC)
If you just need 2, 4, or 8bpp tiles, not tilemaps or multiple palettes in one image, my Super NES project template includes a suitable Python program called pilbmp2nes.py.

What is the graphics format of the Irem M92? I'd like to figure out if the format spec of pilbmp2nes.py is flexible enough to cover it.

_________________
Pin Eight | Twitter | GitHub | Patreon


Top
 Profile  
 
PostPosted: Wed May 08, 2019 10:09 am 
Offline
Formerly Espozo
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3503
Location: Richmond, Virginia
lidnariq wrote:
Well, there's this recent thread- https://forums.nesdev.com/viewtopic.php?t=18755 - where Optiroc's been working on something.

That's perfect! :)

calima wrote:
Optiroc's superfamiconv is the best available converter. I'm not entirely happy with it, given the many bugs in its map and palette parts, but he's been fixing bugs lately, so things may be better now.

I've created my own palette conversion tool and maps obviously won't work for the M92, so it's fine for me.

Optiroc wrote:
Now that I've been actively working on the tool again for a bit, I hope to be able to make it useful for more people than myself.

I've got lots of requests for making it more useful, but they're all only useful for a particular obscure arcade machine. :lol:

tepples wrote:
What is the graphics format of the Irem M92? I'd like to figure out if the format spec of pilbmp2nes.py is flexible enough to cover it.

Graphics are split by bitplane into 4 separate files. The only reason the SNES graphics format was chosen over anything else is so I could use the same tools for both the SNES and the M92. Something bizarre, is that while sprite tiles are 16x16, in yychr, they are arranged in the format

Code:
00 02
01 03

rather than

Code:
00 01
02 03

as you might expect. That's fine, because yychr can deal with that, but what is a major annoyance that I haven't been able to solve, is that the 16x16 sprite tiles themselves in (non 16x16 sized) sprites are arranged this way too, if that makes any sense. I have no idea how you'd deal with this other than by manually moving every 16x16 tile in a sprite in yychr. There doesn't appear to be any functionality in the program to automatically arrange tiles to some specific pattern either; it would be a godsend if you could apply a pattern internally to the area in the right window.

I don't remember who was generous enough to make the converter for SNES to M92 graphics and vice versa, but I don't have the source, and I've started to become more conscious of the fact that not everyone uses Windows, so I may go ahead and reprogram it and make the source available.


Top
 Profile  
 
PostPosted: Wed May 08, 2019 10:31 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21591
Location: NE Indiana, USA (NTSC)
If the tiles making up a sprite are arranged in what amounts to 8x16-pixel units, like NES/GB 8x16-pixel sprite tiles except in Super NES format instead of NES/GB format, then pilbmp2nes.py -H 16 --planes "0,1;2,3" in.png out.chr will convert a PNG to Super NES tiles in this order.

_________________
Pin Eight | Twitter | GitHub | Patreon


Top
 Profile  
 
PostPosted: Wed May 08, 2019 11:16 am 
Offline

Joined: Tue Oct 06, 2015 10:16 am
Posts: 966
That looks like Genesis ordering.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group