Title logo / Rank signs as PNG files rather than MAIN.DAT contents

Started by namida, January 27, 2016, 05:07:49 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

I just uploaded an experimental version of the player and toolkit that allows you to use PNG images for the logo and the rank signs, rather than requiring them to be built into a custom MAIN.DAT (and therefore having to use LemMain).

It doesn't seem to have any bugs, but I haven't tested it super thoroughly.

The updated toolkit provides (on the Other tab) options to add and remove these images; if you want to do it manually, the filenames are "logo.png" and "rank_XX.png" (starting from 01).

If there don't seem to be too many problems with this, I'll probably extend it to cover a few more things as well (well, eventually, I want to ditch MAIN.DAT entirely in favor of normal image files; but before that I'll probably just replace a few more of the commonly-changed ones); but I figure these are probably the ones that people most often want to replace.

Note that the logo should be 632x94 in size, and the rank signs should be 72x27. For the former, you can have transparent pixels (but I believe it's all-or-nothing; partial transparency isn't supported). I don't believe rank signs support transparency, so use RGB(0, 96, 16) as the background color to match the normal sign. I'm not sure what will happen if you don't use the right size, but it probably won't be catastrophic - most likely, either it'll be stretched, or just not take up the full space it's meant to (or spill over, if they're larger than the normal size).



The new experimental player release also contains fixes to the two single level replay bugs, as well as the white out skill counts graphical glitch. Both the experimental player and the experiment toolkit should be completely suitable for general use (unlike most experimental versions, which are generally only recommended for testing purposes) as long as you're not using the new features in the content you're making / playing.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

IchoTolot

This sounds very great :thumbsup::thumbsup:     Will try it out over the days

One step further of getting rid of a tool ;)     Maybe putting the option to choose the kind of skillbar / png's of the other signs and christmas lem stuff also into the toolkit rather than LemMain?

namida

One step at a time. :) We'll see how this goes; if it seems to work well, I can look at expanding this feature to cover a larger selection of images.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

Full alpha blending now supported (when using PNG files) for the title logo and the rank signs. :)

Attached screenshot shows semitransparency in the title graphic. If you look closely, you'll notice the background is partly visible through it.

Eventually, all images should be editable via PNG files; but for now, what other ones would people like to see sooner rather than later? I'm thinking:
- Main menu / etc background
- Other icons on the main menu (this would also be a good opportunity to address this suggestion)
- Skill panel graphics

These ones should be quite straightforward to implement. Others, such as the fonts or lemming sprites, would be a bit trickier, and as such are probably something better left until we see how well the feature works at a more basic level.

I didn't upload a new experimental release for this.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

So far, I've implemented this for all menu graphics except for the scroller at the bottom and the font. I'll look at implementing it for the skill panel next. This might need a bit more work; currently, MAIN.DAT stores seperate copies of the digits for left and right; but I'd rather avoid requiring this for the PNGs. Additionally, I'd rather it be possible to just store a "background of tile" graphic, than having to actually make each individual icon; though this might be something that I'll have to put off until later.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

Alright, properly tested this for all the currently-supported graphics now. Background had slight issues (now fixed); all others worked fine. :) Semi-transparency is supported in all of them except (for obvious reasons) the background.

Before any release of V1.39n-B (actually, I'm thinking with the number of significant changes, I should probably label it V1.40n) and the associated Flexi Toolkit upgrade, I want to also add support for custom PNGs for the skill panel and talisman graphics.

In the case of the skill panel, I'd like some input on how to handle this. Currently, MAIN.DAT stores 17 images (not including digits) - an image of the panel including the RR + / - icons, the Pause and the Nuke, with 8 empty slots in the middle. The other 16 are a button for each skill. However - I've been wondering whether it's worthwhile to instead split it into less images - perhaps any number of backgrounds (at the designer's choice), to allow some variation in them (eg - notice how the background on each button is not completely identical in the official games?), and icons for each skill (ie: just the lemming graphic)? I'm not sure if this would simplify or complicate creation of them, and doing this split would be a bit harder to implement, so that's why I'd like feedback on this.

Another thing that must be accounted for is, how to support panel graphics that change color based on the graphic set - or whether to continue supporting that (as far as I know, the only games that use this feature for the panel graphics are LPIII, its bonus pack, and LP Omega; LPIV uses it for the info panel font but not the actual panel graphics).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

Latest addition: Skill counts are now customizable via PNG! The rest of the skillbar images aren't yet though, but that's the next task... once I make up my mind on which method to use for them.

EDIT: I think I'll go with a similar structure to what MAIN.DAT uses, for now. I can always later add "if pieces exist, construct the images from them, if not, look for pre-made-up images" if there's enough demand for the feature; but since so far I don't think I've even seen custom skillbars outside of my own packs except in the form of "use an already-existing one other than the Original Lemmings one", I don't think we'll see too much demand for it. In light of that, I think it's best to go with what's easier to implement.

In regards to handling color replacement, I think the simplest way to do it would be to stick with the same way that's currently used - have a key color that marks a pixel that gets replaced as such. Since PNG is 32-bit, this could even be done by using an invisible color so that it doesn't restrict what colors can be used. The downside would be that this could be inconvenient while editing the images...

EDIT: Alright, got it all implemented. :D As well as the obvious stuff, you can also custom-define a whiteout image (in case your digit area isn't the normal space). By default, it'll "unwhite-out" by coloring black any pixel that's nontransparent on the whiteout image... but if you want a different color, you can even specify an un-whiteout image.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

I felt that using an invisible color would be too confusing for content designers, so I instead went with the option of using a seperate mask image. This also allows more power - for example, rather than using the target color completely, you can use a lighter or even semi-transparent shade of it.

See the attached images - LPIV skill panel, using graphic-set-color masking, for 4 different graphic sets. I just picked levels that I happened to have sitting in my NeoLemmix Editor folder at the time. (In order of attachments: Fun 16 from the Genesis version (but displayed in non-Genesis Dirt style), two of my NeoLemmix Community Pack submissions "The Winning Edge" and "Blessed By A Curse", and Crane's "Precarious Construction Part 2".)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

Well, I went a bit further than I originally intended, so I decided I may as well do everything in one go.

Currently, the only things that are still stored in MAIN.DAT rather than PNG files are the lemming sprites and the menu font. The latter is just that I haven't done it yet (implementing it will be easy enough, but actually creating the PNG is going to be a bit of a hassle); the former I'm still not sure what the best way to handle it is - most likely I'll go with seperate PNGs for each animation, but I'm not 100% sure on this yet. If I do do seperate PNGs, then most likely I'll seperate them from the other graphics in the Flexi Toolkit, to reduce clutter.

I'll continue to support MAIN.DAT for a few more versions, but only for the sake of older packs that haven't been upgraded (especially those that use a lot of non-standard graphics, such as Xmas-themed packs). The new Flexi Toolkit update most likely won't support MAIN.DAT at all. However, I do intend to eventually drop support for it altogether - I might make some kind of seperate tool at that point to automatically upgrade existing NXPs, though this obviously won't be as optimal as manually upgrading the packs. If I don't, it won't render these packs unplayable, they'll just revert to default graphics (because they don't contain any custom PNGs to replace them, so since MAIN.DAT would be no longer acknowledged, the result is that it would use the PNGs that are built into the EXE).

EDIT: Okay, the menu font is done. The only thing that remains in MAIN.DAT now is the lemming sprites. Just gotta figure out how I'm gonna handle them...

Some of them I'm still deciding whether or not to allow customizing of. Destruction masks (and construction mask for the stoner) will absolutely not be customizable. I'm also unsure about the countdown digits and highlight marker. Those aside, everything is editable.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Nepster

Very nice to see so much flexibility. But there is just one problem: I have no clue how to actually change the graphics without LemMain? There seems to be no option that lets you change rank signs, ... in the Toolkit (I just downloaded the current one). Do I have to place all the custom graphic files in the same directory as the .nxp and the player automatically selects them?

namida

This feature relates to the next upcoming update. It's not in there yet in the current release.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

For those who want to help test the feature, get a head start on converting their packs, are working on packs that won't be released until after V1.40n is out, or for any other reason want to experiment with the new version now, I uploaded new experimental versions of the toolkit and player that have this new feature. It allows customizing virtually everything, except for lemming sprites, via PNG files.

EDIT: If you already downloaded the experimental Flexi Toolkit and it asks for six different images for the talisman graphics, please redownload. It should have one combined image for all of them; I forgot to make this change in the toolkit itself before uploading it.

The default versions of the customizable images can be found here: http://www.neolemmix.com/old/neolemmix/default_custom_images.zip

The very basic ones - including the title logo and the rank sign - can simply use the same image you do for LemMain, just converted to PNG and with the death magenta converted to actual transparent pixels. If you've customized more complex things, like the skill panel, this might be a tiny bit more effort, but if you look at the default images, you should be able to work out how it's done. The hardest part is if, on the skill panel graphics, you've made use of the ability to have some pixels change color depending on the graphic set - you need to create a seperate mask image for those. I don't think this feature has ever been used outside of a few of my own packs, though.


To some extent, I'm also wondering if we really want to be able to have customizable lemming graphics. Perhaps it's better to just allow the choice in packs (or perhaps in graphic sets?) between standard or Xmas ones... any opinions on this?
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)