It would be useful if, instead of res* images, the program would use sprite sheets.
The attached example image illustrates what would be only a section of a much larger, single VDUNGEON.png sprite sheet that would replace the entire VDUNGEON/ directory. It would have a transparent background. (The example image actually has that, but you need to click it so see this. And even then the browser may obscure it.)
For modding purposes, the size of all images on the sheets could be doubled (related, related).
The reasoning behind - arguments in favor of - using sprite sheets:
- makes modding easier (easier to find stuff and things are grouped together),
- makes distributing modifications easier (a single file per DAT),
- standardization (SDLPoP and MININIM could use the same sheets).
The areas on the sprite sheets that fall outside any of the res* images should probably get a single, carefully picked non-transparent color to indicate that changes in these areas will not be taken into account.
sprite sheets
Re: sprite sheets
Oh, to prevent misunderstandings, the sheets would obviously not have those "res..." texts (and red or green lines) on it.
That's just on the example sheet portion to illustrate how the res* images could be combined.
That's just on the example sheet portion to illustrate how the res* images could be combined.
Re: sprite sheets
Interesting idea. That might definitely make editing graphics easier.

And I personally have never seriously edited the graphics, so I hardly have a right to speak about this (as in, I would not be the person who would in the end be likely to stare at that color for prolonged periods of time).
From a technical standpoint, though, I guess the spritesheet would still need to be palettized, just like SDLPoP's png images are. So letting the first color of the palette be the transparent color might already do the trick.
From a distribution standpoint, wouldn't DAT files be preferable, because they are also compatible with the DOS version?
Then, if there was a conversion utility to/from DAT, a spritesheet may be an excellent intermediate format suitable for editing?
Come to think of it, if spritesheets are primarily used as an intermediate format, maybe BMP is an alternative format to consider. (Because (older) tools might have better support for palettized BMP, compared to PNG?)
Doesn't the same advantage apply to plain old .DAT files?

I'm biased towards Jazz Blue, although that's more nostalgia than anything else...
And I personally have never seriously edited the graphics, so I hardly have a right to speak about this (as in, I would not be the person who would in the end be likely to stare at that color for prolonged periods of time).

From a technical standpoint, though, I guess the spritesheet would still need to be palettized, just like SDLPoP's png images are. So letting the first color of the palette be the transparent color might already do the trick.
From a distribution standpoint, wouldn't DAT files be preferable, because they are also compatible with the DOS version?
Then, if there was a conversion utility to/from DAT, a spritesheet may be an excellent intermediate format suitable for editing?
Come to think of it, if spritesheets are primarily used as an intermediate format, maybe BMP is an alternative format to consider. (Because (older) tools might have better support for palettized BMP, compared to PNG?)
Re: sprite sheets
I meant a single file per DAT instead of an entire VDUNGEON/ directory.
VDUGEON.DAT => single file, not directly modifiable (needs PR)
VDUNGEON/ directory => lots of files, directly modifiable
VDUNGEON.png (sprite sheet) => single file, directly modifiable
It might be a nice tribute and fun detail for newbies to learn about.
Then again, Jazz Blue was used as a transparency color, which means its function would change.
To clarify, from what I understand we'd need a color to mark all the sheet areas that are not part of any original res* images.
The res* image portions would either have colors or transparency.
Black could be use to indicate transparency, to prevent modders from having to work with actual transparent pixels.
Is that necessary?
If possible, we'd want modders to be able to use whatever colors they want.
This and double sizing make DAT files unsuitable as a conversion target.
Re: sprite sheets
Just for the record, the discussion was continued here: https://github.com/NagyD/SDLPoP/issues/169
Re: sprite sheets
First attempt. With VDUNGEON.DAT.
Chompers, spikes and gate bars should be in the correct order.
Chompers, spikes and gate bars should be in the correct order.
Re: sprite sheets
Actually, staring at this for a while, I don't think this would be very useful.
Because modders still would not be able to draw freely.
(Just look at those spike chunks in their many, limited-space, rectangles, for example.)
The only way to truly give modders freedom would be to make each tile (or tile-frame for animations, or tile-layer for tiles that have a fore- and background) full-sized, similar to how tiles are displayed in apoplexy. I guess I had to put in the effort to create this VDUNGEON.png to fully realize this.
And if each tile would have the same full size, sprite sheets would no longer be useful. So, sprite sheets aren't a useful tool to solve the graphics modding 'problem'.