Author Topic: SuperLemminiToo v1.50  (Read 5793 times)

0 Members and 1 Guest are viewing this topic.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
SuperLemminiToo v1.50
« on: October 08, 2021, 05:32:45 AM »
EDIT:
I've pushed a new version v1.50. This is primarily a bugfix for loading/saving level stats when levels are skipped (or when the group name has a comma).

I also tweaked the title screen to add a yellow scrolling marquee ticker-tape, reminiscent of the original Amiga title screen.
END EDIT

I've been working on my own fork of SuperLemmini to address some of the changes I personally wanted to see. Mostly the return of Timed Bombers, and some graphics enhancements.

I'm not intending this to replace SuperLemmini by any means. I understand Tysu is still working on SuperLemmini as he is able, and I eagerly await his next release. This was more to tide me over in the meantime, and I know a few select other users felt the same as me about Timed Bombers, so I wanted to share.

I cannot thank Tysu enough for all his thousands of hours of work on SuperLemmini -- all I've done by comparison is hack up a couple lines of code.

I've posted my code in github: https://github.com/Blazingstix/SuperLemminiToo for anybody else who wants, but I've more or less scratched that itch so I've no immediate desire to add/remove any more features.

I'll just copy the rest of my README here:

SuperLemminiToo v1.50 2022-Mar-22

This is SuperLemminiToo: a fork of SuperLemmini, which is itself a fork of Lemmini.
I made this because there were some minor features I wanted to see in SuperLemmini, which didn't appear to be in the original author's immediate timeline.
I'm not really taking requests, but I'm releasing because I figure some other users may want the same features I did.

==USAGE===========

SuperLemminiToo uses the same ini file as SuperLemmini. You can extract this program to its own folder and it will read in all your existing settings from SuperLemmini.

Java 15 or higher is recommended, but the game is compiled against Java 1.8.
Install Instructions: https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html

==FEATURES========

Timed Bombers!

The main feature I wanted to restore was Timed Bombers. Not everybody shares this desire (which is why the feature is selectable, under Options), but I feel strongly that in *ORIGINAL* lemmings levels, it is 100% intentional that you need to use a blocker then a bomber if you want to have precise placement of your bombers. Look no further than "Fun 6: A task for blockers and bombers" for proof.
I felt so strongly about it, in fact, that I created this fork.  Everything else changed was just extras once I started looking under the hood.

Visual SFX!

The oft-forgotten feature added *only* in the "Lemmings for Windows 95" release (AFAIK). Graphics cues are displayed on screen to match the sound effects being played. Most important for when builders have hit their last 3 bricks, but also neat all-around.  I even added some graphics that weren't present in Lemmings95. I may have gone overboard.

Enhanced Status Bar!

Removed clunky full text saying In, Out, Time and replaced with with slick icons. This feature was 1st seen in the SNES and followed about a year later by the SEGA Genesis. Interesting fact, both versions used different icons!  I modeled these after the SNES versions.
And because of the space gained by using icons, I added a 4th icon for number of lemmings needed.
Also, as an extra visual indicator, I made the "In" number Red until you've saved enough Lemmings to pass the level.

Enhanced Icon Bar!

The icon bar has been resized to give a less cramped look. Also the skill counters have been lowered ot be part of the icon buttons now, instead of hovering above them in the black space. The order of icons has changed too, to match the Lemmings for Windows 95 release (which was the last official release for PC, I believe). Now it's Minus, Plus, all 8 skills, then Pause, Fast-Forward, Nuke, Restart, ScrollLock. This pairs like-minded icons together (game speed icons: pause/fast-forward; level restart icons: nuke/restart; and then the scroll lock icon nearest to the map (also farthest away from the others, because it's only applicable for vertical levels... which are specialty levels, and don't even exist in any of the original official Lemmings levels.

Animated Icons!

The icons on the icon bar are now animated!  These are straight from the Lemmings for Windows 95 release (with minimal changes to more easily blend in with different themes)!  Never before seen on modern releases (probably... I dunno)!!  If you have a mod enabled (such as Xmas theme), then the engine will check for animated icons in that mod, then static icons in that mod. Failing to find any mod-specific icons, it will then use animated standard icons, and lastly for the few icons that are not animated (i.e. plus, minus, restart, and vertical scroll lock) it will fall back to the standard static icons.

Icon Labels!

A little bonus feature to go with the new Enhanced Icon Bar. You can toggle on or off text labels to go with all the icons.

All levels unlocked. (Also a toggable option.)

In SuperLemmini this was considered a "cheat" that was enabled with a secret level code.  The "cheat" code also enabled a bunch of special debug features, which I didn't want.  I figure the game's about having fun, so why shouldn't people be able to skip a level they're having difficulty with. Who's to tell them no?
The game still keeps track of levels you've completed or not, so it's still up to you if you want to complete every level.

Minor UI/Gameplay Tweaks.

  Added "Disable Scroll Wheel" option.
  I found it annoying how my scroll wheel would accidentally change my selected skill when I was trying to middle click.

  Added "Disable Frame Stepping" option.
  Here's where I really started to get a bit nit-picky.
  When paused, if you click anywhere, the game will advance by one frame. Didn't like that feature, so I made it togglable.

  Minor feature, I added some ToolTips to the checkboxes in the Options dialog. I wasn't exactly sure what some options meant at first glance.

==THANKS==========

I want to stress that this program was truly written by Volker Oth (Lemmini) and Ryan Sakowski (SuperLemmini), over a combined total of more than twenty years. All I've done is hack a couple lines of code. None of this could be possible without the literally thousands of hours of work done by those two individuals, and their making the source code freely available. Thansk you both for letting me re-live some joy from my childhood in a new way, and for letting me share it with my kids.

Also special thanks to WillLem from the LemmingsForums.net for providing the updated title graphic, and being all around supportive of this endeavour and SuperLemmini in particular.

Special thanks as well to jkapp76 from the LemmingsForums.net for making title icons. I modified them slightly to incorporate them into Icon Labels toggle in SuperLemminiToo.

==KNOWN ISSUES====

I've read (but not tested) that Java 15 produces different png files than Java 1.8, so if you've never used SuperLemmini before and need to extract the resources from Lemmings 95 (aka WinLemm), you'll need to do that through the original SuperLemmini.  Then once that's done, you can continue with SuperLemminiToo.  Good news though, you don't need to extract the resources manually anymore -- SuperLemminiToo includes the full root.lzp right in the zip file.

I didn't test anything related to Replays and External levels, as those didn't personally interest me.
« Last Edit: March 22, 2022, 06:40:34 PM by Charles »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.00
« Reply #1 on: October 08, 2021, 11:53:13 AM »
Excellent work, Charles. Good to see this happening in the meantime.

I get the following error message when I try to run the .jar:



I'm guessing it might be to do with the Java version; I'm using Java SE 8 (the latest runtime edition):



Do you absolutely have to have JDK installed for your version to work? I find that (original) SuperLemmini doesn't behave well with JDK (as opposed to Java SE), so I'd rather not install the JDK if I can help it.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.00
« Reply #2 on: October 08, 2021, 12:45:10 PM »
I'm not sure if it's JDK or Java SE honestly -- I don't know what the difference is between all the Java versions. But yes, I compiled against the newer Java rather than Version 8 (or 1.8... I can never tell). The older version had some problems with high res displays, that I couldn't live with.

I just installed the version at: https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html

My testing wasn't overly extensive -- just open up any old level, click around on a few lemmings -- so I don't know how well it behaves on edge-cases versus version 8.

Offline Simon

  • Administrator
  • Posts: 3284
    • View Profile
    • Lix
Re: SuperLemminiToo v1.00
« Reply #3 on: October 08, 2021, 01:10:03 PM »
WillLem should need JRE for Java 15 or newer. JDK shouldn't be necessary.

Reason: You can get a more informative error when you run SuperLemminiToo on outdated Java from the command line:

$ java -jar SuperLemminiToo.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: lemmini/LemminiFrame has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 52.0


... and class file version 59.0 is Java 15, exactly as Charles wrote in the readme in OP. It even tells us that we need JRE. It doesn't mention JDK.

On Windows, yeah, it's probably best to sell your soul to Oracle and install their JRE or JDK. Arch Linux's officially packaged OpenJDK goes only to Java 8 (class version 52.0), newer stuff needs either AUR packages or manual cobbling of binary packages. More complicated than what I was able to sort out during lunch break. >_>;;

-- Simon
« Last Edit: October 08, 2021, 02:19:24 PM by Simon »

Offline jkapp76

  • Posts: 129
    • View Profile
Re: SuperLemminiToo v1.00
« Reply #4 on: October 08, 2021, 03:17:05 PM »
Nice work, Charles!
I keep hoping for a better full-screen mode for super lemmini. Not that I'm requesting.

I love when people make forks...
...Jeremy Kapp

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.00
« Reply #5 on: October 08, 2021, 06:32:25 PM »
I hear ya. I'd love proper full-screen support too. But that would require replacing all the Window dialogs first: Options, Replay saving/loading, Level Select (that's a biggie), Player Manager, etc. Feels like a pretty huge undertaking. Beyond my skillset unfortunately.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.01
« Reply #6 on: October 08, 2021, 11:03:20 PM »
Do you absolutely have to have JDK installed for your version to work? I find that (original) SuperLemmini doesn't behave well with JDK (as opposed to Java SE), so I'd rather not install the JDK if I can help it.

Try the attached. I recompiled it with Java 1.8 in mind. It seems to run fine in Java 17 for me, so I get my HiDPI. I'm happy. Does it work for you?

Offline Ron_Stard

  • Posts: 305
    • View Profile
Re: SuperLemminiToo v1.01
« Reply #7 on: October 09, 2021, 04:39:06 AM »
Hey, great work! I am one of the old style players! Welcome back, timed bombers! :thumbsup:

I will try and give feedback to this new engine as soon as possible. :D

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.01
« Reply #8 on: October 10, 2021, 11:35:15 PM »
WillLem should need JRE for Java 15 or newer

Thanks for this, and for your explanation. I can only seem to find either Java 8 JRE or Java 15 JDK... there doesn't seem to be a "JRE version 15" ???

In fairness, Java is becoming a fairly elusive thing to get hold of, Oracle's website is a pain to navigate.

Try the attached. I recompiled it with Java 1.8 in mind. It seems to run fine in Java 17 for me, so I get my HiDPI. I'm happy. Does it work for you?

Perfect! This one works.

You can uncheck the timed bomber option during a level as well, effectively toggling between the two on the fly, which is excellent. Nice work!

Until Tsyu performs an official update, this will be my go-to engine for SuperLemmini levels! :thumbsup:

I've attached a version of the logo which uses the font I used in my original version of the logo for the "too" part of the graphic. If you like this, feel free to swap them over and re-release.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.01
« Reply #9 on: October 12, 2021, 04:31:13 AM »
I've attached a version of the logo which uses the font I used in my original version of the logo for the "too" part of the graphic. If you like this, feel free to swap them over and re-release.

I would like to use that one, thank you. I liked the square-ish font you used for "Super."  I don't see the attachment though...

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.01
« Reply #10 on: October 13, 2021, 12:19:24 AM »
Oops, my bad! :forehead:

Here it is :lemcat:

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #11 on: October 17, 2021, 07:17:02 AM »
Updated to v1.10.

This is a big one. If I keep going, this is the start of me really drifting from Tsyu's SuperLemmini.

There are two big changes in this one:
  • Visual SFX
  • root.lzp included in release

So the newest addition that I'm really proud of is Visual SFX. Anybody remember these from Lemmings 95? (I think that's the only time they've made an appearance).  I really loved that feature way back when (1995, I guess?), and was disappointed it wasn't originally a part of Lemmini.  If you've never seen it, basically every time a sound effect is played, a cutesy graphic with the sfx in words appears for a second onscreen. "Let's Go" at the start, "Yippie" at end. Splat, Tink, etc.  Before you dismiss it out of hand, it did have a practical purpose too, namely a visual indicator for when the builder's getting to the end of his staircase.  I might have gone a bit overboard -- I added graphics for *all* the sfx, when Lemmings95 only had a half-dozen. Anyway, I wanted it, even if I'm the only one, so I added it.

And because of the new graphics needed for the VSFX, it just made sense to start including root.lzp right in the release files. I didn't want to have to mess around with updating the Extract code to grab the VSFX I needed, then patch out the manual changes I added to them.  Then this freed me up to tweaking some of the other graphics, so I changed up the plus/minus, scroll-lock, and restart icons to fit in better visually (IMHO). WillLem, I used your scroll-lock replacement as a base (with a few adjustments myself), so thank you for that. And jkapp76 I loved your Icon Sets -- I'd love to find a way to incorporate your icons with the titles on top. Thank you for those.

Those are the 2 big changes. WillLem, you'll be happy to know I'm compiling against Java 1.8, so you should have no problem running it, although I'm still doing all my testing against Java 15+.

Full changelog is as follows:
SuperLemminiToo v1.10 2021-Oct-17
- big changes in this version. If things
  continue, here is where it starts to
  really diverge from SuperLemmini.
- added VisualSFX (as seen in Lemmings95)
- added root.lzp to the main distributable
  - as a consequence, root.lzp must now be located
    in the same folder as your SuperLemminiToo.jar
- changed some skill icons
  (notably the increase/decrease, scroll-lock, restart)
  (thanks WillLem and jkapp76 for the ideas,
   although I did modify your originals)
- reorganized the levels included in root.lzp
  - combined all xmas levels into 1 levelpack
  - combined COVOX and Companion into 1 levelpack
  - changed exit SFX to "Yippie"
    ala Lemmings95 and Lemmings 2
    (thanks ericderkovits for the idea)
- added CTRL-ALT-SHIFT-D debug mode shortcut
  (while in a level)
- downgraded to Java 1.8 baseline.
  Java 15+ is still recommended.

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #12 on: October 17, 2021, 04:32:25 PM »
Thanks for the update, Charles :thumbsup:

Unfortunately, I get the following error message when I try to run it in Java 8 (I updated this to the latest 1.8 build, to no avail):



I have also tried installing JDK 17. The good news is that the previous update of SuperLemmini Too works (as does SuperLemmini v0.104a), so I will keep running this version from now on. However, SuperLemmini Too version 1.10 now generates the following error:



Not sure what's up ???

Offline Simon

  • Administrator
  • Posts: 3284
    • View Profile
    • Lix
Re: SuperLemminiToo v1.10
« Reply #13 on: October 17, 2021, 04:36:42 PM »
Check if root.lzp exists in your data tree. Ensure that you have full rights in that directory.

Reason: SLT source at the given module and line number. Looks like the exception isn't the LemmException, but it's already flying out of the formatting, which is a (separate) bug that obscures the better error message that you should have gotten.

Reason for obscured error (click to show/hide)

-- Simon
« Last Edit: October 17, 2021, 05:07:57 PM by Simon »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #14 on: October 17, 2021, 06:32:24 PM »
Check if root.lzp exists in your data tree. Ensure that you have full rights in that directory.

I do have root.lzp, it's in both the SuperLemmini directory (in a folder titled "Resources") and in the SuperLemmini Too directory (in the "data" folder, as supplied by Charles).

What exactly is meant by "full rights"? When I go to Properties>Security, there are green ticks for all Permissions. Is this correct?

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #15 on: October 17, 2021, 06:33:53 PM »
Thanks for debugging that Simon, I'm not sure I would have figured out the string formatting error on my own.

I've patched the error message, but if your path is being interpreted as having %'s in it, then there's probably going to be a whole host of other related places I'll need to patch.

I'm sure one of these days I'll get a release working right out of the gates, right... ... right?

Offline Simon

  • Administrator
  • Posts: 3284
    • View Profile
    • Lix
Re: SuperLemminiToo v1.10
« Reply #16 on: October 17, 2021, 06:57:52 PM »
What exactly is meant by "full rights"? When I go to Properties>Security, there are green ticks for all Permissions. Is this correct?

What I mean is: I remember that Windows grants you, as non-admin, read/write access only to some directories. You want to have SLT and root.lzp where you have such read/write access. Maybe write access is already enough.

I don't use Windows. >_>;; Thus I don't know what those checkmarks would be for.

Quote from: Charles
I've patched the error message, but if your path is being interpreted as having %'s in it, then there's probably going to be a whole host of other related places I'll need to patch.

Yeah, I've seen a couple similar such constructions in your Core.java, but didn't check every single one for whether the runtime string might end up containing '%'.

At least you know about this kind of bug now, and can catch it by eye. :) But if you already have doubts, then I think it's worth sanitizing the codebase for such unchecked formatstrings in the medium term.

Ideally, all your formatstrings are known by compile time -- some other languages can even typecheck the remaining arguments at compile time based on such a formatstring, and give you compiler errors on format specifier mismatch. Even in Java, which doesn't do that, you can strive to have only string literals, no + or other runtime arguments, in the formatstring.

(I'm no expert about best practices when you can't have that so easily, e.g., when you want to translate formatted error messages into different human languages. It's probably okay to let format throw a runtime exception in those cases, and catch it.)

-- Simon
« Last Edit: October 17, 2021, 07:19:31 PM by Simon »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #17 on: October 17, 2021, 07:23:51 PM »
I've patched the error message, but if your path is being interpreted as having %'s in it, then there's probably going to be a whole host of other related places I'll need to patch.

I'm sure one of these days I'll get a release working right out of the gates, right... ... right?

We're a step closer - I now get this message:



Yeah, I've seen a couple similar such constructions in your Core.java, but didn't check every single one for whether the runtime string might end up containing '%'.

At least you know about this kind of bug now, and can catch it by eye. :) But if you already have doubts, then I think it's worth sanitizing the codebase for such unchecked formatstrings in the medium term.

I'd be happy to help with the dogsbody of this task in exchange for some Java lessons! :thumbsup:


Offline Forestidia86

  • Posts: 687
  • inactive
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #18 on: October 17, 2021, 07:26:11 PM »
Got the same message.

If I remove the space in the directory name (e.g. SuperLemminiToov1.10.1) it starts normally. But this would only be a workaround. One shouldn't have a space in the path name.

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #19 on: October 17, 2021, 07:34:41 PM »
If I remove the space in the directory name (e.g. SuperLemminiToov1.10.1) it starts normally. But this would only be a workaround. One shouldn't have a space in the path name.

This workaround worked for me, too. I figured it might have something to do with the space, since spaces tend to get replaced with stuff like % and _ for some reason. Good spot, Forestidia.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #20 on: October 17, 2021, 07:43:20 PM »
Ah of course. Okay. That should be easy enough to fix. I’ll try and do that later tonight.

Try this version.
« Last Edit: October 17, 2021, 08:34:33 PM by Charles »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #21 on: October 17, 2021, 08:48:06 PM »
Try this version (v1.10.2)

Yep, works a treat :thumbsup:

What I mean is: I remember that Windows grants you, as non-admin, read/write access only to some directories. You want to have SLT and root.lzp where you have such read/write access. Maybe write access is already enough.

I don't use Windows. >_>;; Thus I don't know what those checkmarks would be for

Thanks for the explanation :)

Are you a Windows or Mac user?

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #22 on: October 17, 2021, 09:29:06 PM »
One thing I'd suggest is that the number for the timed bombers appears slightly offset to the left. It's not a major issue, but it can be a bit off-putting:



I'm not sure if it's even possible to fix it, but if so it should probs look more like this:



For reference, I moved the numbers exactly 3px to the right. Again, it's barely even an issue, but if it's an easy enough fix it might be worth adding it to the next update.
« Last Edit: October 20, 2021, 05:20:03 AM by WillLem »

Offline Simon

  • Administrator
  • Posts: 3284
    • View Profile
    • Lix
Re: SuperLemminiToo v1.10
« Reply #23 on: October 17, 2021, 11:16:38 PM »
Charles: As helpful as the Sunday may have been, it's beginning to derail your release announcement topic. And I'm derailing it further here. >_>; Should we split the topic?

Would you like mod rights for the SL board here, so you can split topics in the future, too?

We can also split the entire board for SuperLemminiToo, or we can split it later if the interest continues.



Quote from: WillLem
Are you a Windows or Mac user?

No. :P (Linux.)

Quote from: WillLem
I'd be happy to help with the dogsbody of this task in exchange for some Java lessons!

I feel like we have just the right thing:

Quote
number for the timed bombers appears slightly offset to the left.
might be worth adding it to the next update.

This bug is an ideal way for you to get into the project. One possible place to start might be GameController.java, after line 1810. (Or maybe it's to change the font images that getCountdown() returns. Or...)

Get the source and a JDK, edit the code, compile, and see what happens. When you get stuck, which is normal when trying to compile other people's larger projects, ask.

It's either this kind of jump into cold water, or hammering out your own sizeable practice project from scratch, coming back after a few months, and then jump. Consider: You have the maintainer right here for quick questions, the bug is exactly about your die-hard interests, and I see at least one plausible attempt for a fix.

Sure, Charles might beat you at fixing it, but where's the fun in not trying? :D

-- Simon
« Last Edit: October 17, 2021, 11:40:13 PM by Simon »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #24 on: October 17, 2021, 11:52:48 PM »
Charles: As helpful as the Sunday may have been, it's beginning to derail your release announcement topic

Which Sunday? Helpful for what? :curious:

Quote from: WillLem
Are you a Windows or Mac user?

No. :P (Linux.)

This was a typo, I meant to say Linux, not Windows! :forehead: You said you weren't a Windows user, and I only know of Mac and Linux as other operating systems. I'm sure there are loads more for devs though...

This bug is an ideal way for you to get into the project. One possible place to start might be GameController.java, after line 1810. (Or maybe it's to change the font images that getCountdown() returns. Or...)

...

Sure, Charles might beat you at fixing it, but where's the fun in not trying? :D

Great shout! :thumbsup: I'll have a look at it tomorrow. Sleep now :sleep:

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #25 on: October 20, 2021, 05:06:00 AM »
So, I had a go at changing the xPos for the countdown graphic... at least, I think that's what I've done. In the GameController class, I changed the number in line 1815 from /2 ; to /8 ;

NOTE: This change is, in fact, twice as much as is needed. The numbers only need to be moved 3px to the right.





At the moment, it's difficult to check whether this has had any effect, since I get the following error when trying to compile & run the project:



This is in Eclipse, and I'm using JDK 15. Any help anyone can offer would be most welcome! The code is full of red crosses, which I'm guessing will all be many errors which will need to be overcome before I can compile and run...

The graphic will, of course, be easy enough to edit if it comes to that.
« Last Edit: October 20, 2021, 05:23:02 AM by WillLem »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #26 on: October 20, 2021, 05:19:37 AM »
The graphic will, of course, be easy enough to edit if it comes to that.

To that end, here is a copy of the countdown graphic which can be used as a workaround in the meantime! :lemcat: I've simply moved the numbers 3px to the right within the png.

NOTE: If you wish to do so, place these in gfx/lemming in your SuperLemmini directory. This will make the countdown numbers appear more central above the Bomber's head.

EDIT: Attachments removed following actual bugfix
« Last Edit: March 30, 2022, 07:50:38 AM by WillLem »

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #27 on: October 20, 2021, 05:28:18 PM »
I replied to your Eclipse questions on another thread: https://www.lemmingsforums.net/index.php?topic=5801.msg94114#msg94114

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.10
« Reply #28 on: October 20, 2021, 05:32:55 PM »
Should we split the topic?
Good idea. I've just created a new thread to discuss general Java programming: https://www.lemmingsforums.net/index.php?topic=5801.0
Would you like mod rights for the SL board here, so you can split topics in the future, too?
Thanks for the offer, but being a board moderator of any capacity feels like more responsibility that I'm interesting in taking on. As long as I'm not creating more work for you, I'd rather leave things as they are.

We can also split the entire board for SuperLemminiToo, or we can split it later if the interest continues.
Oh, I think that's going overboard -- I'm pretty sure the target audience for SuperLemminiToo can be counted on one hand. And it's still nearly fully cross-compatible with SuperLemmini.  I'm not doing much more than adding window dressing.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.20
« Reply #29 on: October 20, 2021, 05:36:38 PM »
New Release.
This version adds an Enhanced Status Bar!

I removed the clunky full text saying In, Out, Time and replaced them with slick icons. This feature was 1st seen in the SNES and followed about a year later by the SEGA Genesis. Interesting fact, both versions used different icons!  I modeled these after the SNES versions.
And because of the space gained by using icons, I added a 4th icon for number of lemmings needed.

Also, as an extra visual indicator, I made the "In" number Red until you've saved enough Lemmings to pass the level.

Like all the other features, this can also be toggled on/off in the Options menu.

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.20
« Reply #30 on: October 25, 2021, 03:32:39 AM »
And because of the space gained by using icons, I added a 4th icon for number of lemmings needed.

Also, as an extra visual indicator, I made the "In" number Red until you've saved enough Lemmings to pass the level.

The new enhanced status bar is a great addition to SL, nice work! :thumbsup:

Please can you let me know whereabouts this is in the code?

I'd like to see if I can combine the "required" and "exited" info into one bar entry, so that it shows a minus number in red until the save requirement is reached, and then continues to count up as more lemmings exit. NeoLemmix shows the information in this way, and it definitely seems to make more sense than having the two numbers separate (especially since the top menu bar shows the number of lems to be saved anyway).

I'd also like to see if I can modify the original status bar to display the number of lemmings remaining in the hatch. If you like this idea, it could also be added to the Enhanced bar as well. This is what I'd be aiming for eventually (the current Enhanced status bar could show this information using the existing icons that you've already added):

IN: lemmings still in hatch, yet to spawn (hatch icon)
OUT: lemmings on the screen (lemming face icon)
HOME: lemmings saved - save requirement (exit icon)



Alternatively, the save requirement could be left off the status bar altogether, and HOME could simply display the number of lems saved. The red figures could instead be used to show when too many lemmings have died; i.e. the OUT number could turn red if there aren't enough total lemmings available in the level for it to be completed (taking hatch lems into account as well).

This would removed the need for minus figures, and also removes potential confusion when a player has saved X lemmings, but the OUT display shows X - n (n being the level's save requirement). This can occasionally cause confusion in NeoLemmix, until one remembers that the display is showing the total saved - the save requirement.
« Last Edit: October 25, 2021, 03:40:23 AM by WillLem »

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.20
« Reply #31 on: October 25, 2021, 05:33:55 PM »
The new enhanced status bar is a great addition to SL, nice work! :thumbsup:
Thank you.

Responding to the rest in the Programming new thread: -- edit Simon
https://www.lemmingsforums.net/index.php?topic=5804.0
« Last Edit: October 25, 2021, 11:38:54 PM by Simon »

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.30
« Reply #32 on: November 12, 2021, 05:00:39 AM »
New release!

This time I've changed the Icon Bar!

As before, the new options are completely toggle-able.

I've increased the height of the icon bar, and moved the skills counter down into it (this actually uses less vertical space overall!)

I rearranged some of the icons, to make (to me) more logical sense.

I've added toggle-able text icon labels. jkapp76, I based them on the ones you did in your iconsets.

To do all this, I had to do some fairly extensive code-rewrites for all of the icon handling code. And as a consequence of those rewrites, I changed how icon graphics are loaded... which I believe will make future mods easier to do... the icon graphics are now composited in real-time. What this means is there is a single "background" icon image, and multiple transparent button icons. A mod designer only has to replace the 1 single background icon (well, 2... if they're supporting both the original icon bar, and the new enhanced one) and all the icons will use it automatically.  That's how I'm able to apply the icon labels too.

EDIT: v1.30.1, minor bugfix. Fixes alignment in standard iconbar.
« Last Edit: November 12, 2021, 05:12:36 AM by Charles »

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #33 on: November 15, 2021, 03:30:13 PM »
New Release!

This one's my favourite.  I've added the animated icons from Lemmings for Windows 95.  These are now the default icons when Enhanced Icon Bar is turned on.

When you've got Enhanced Icon Bar turned on, and you're in a mod (like Xmas), the engine will prioritize like this:
1st, use animated icons in the mod if they exist.
2nd, use static mod icons if no animated ones exist
3rd, use animated standard icons, if no mod icons exist
4th, use static standard icons if no animated icons exist.

Because I didn't draw these -- I ripped them right from Lemmings for Windows 95 -- I don't have animated icons for everything. Minus, Plus, Restart, Scroll Lock are all static icons still.

EDIT:
I was so excited about the animated icons, I completely forgot. I also tweaked the status bar to show number of lemmings still in the gate, and the total number of lemmings needed.

I *also* added the level name (and rating) to the main level.

EDIT: removed link -- bad root.lzp. See a couple posts below for the corrected attachment.
« Last Edit: November 20, 2021, 04:14:11 AM by Charles »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #34 on: November 18, 2021, 08:47:44 PM »
This sounds great, I'll have a look at this version over the weekend!

If I get time I might also be able to provide xmas versions of the animated icons in time for December ;P no promises at this point though because I've been so busy, but I will try and make some time for this.

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #35 on: November 18, 2021, 09:24:56 PM »
Had a quick look at this just now and get the following error when trying to run it:



Of course, the data folder does contain root.lzp, so not sure what the problem is ???

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #36 on: November 19, 2021, 12:22:38 AM »
Hmm. Okay. I was seeing that problem myself for a bit but I thought I fixed it. Must not have. I’ll take another look when I can and hopefully fix it for good.

Offline LanaAndCo

  • Weird girl that plays weird games
  • Posts: 54
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #37 on: November 19, 2021, 09:51:09 PM »
You can't believe how happy I am to learn that a SuperLemmini fork has been made! With timed bombers! This is exactly what I needed, even if I am busy with projects other than Lemmings at the moment, so I can't really make levels nor play them sadly. But I'm very glad that some progress have been made so, thank you very much Charles! :thumbsup:
If you're reading this, you're awesome!

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #38 on: November 19, 2021, 10:58:25 PM »
Thank you LanaAndCo, I'm very glad you like them!  I hope you like the other enhancements I've made as well (once you get the chance to try them).

WillLem, I think I've narrowed down what the cause is. I'm working on an update to both fix it and give better error messages.

For now, I believe you should be able to resolve it with a quick edit to your superlemmini.ini file. (You should be able to find in windows at %USERPROFILE%\superlemmini.ini or in your specific case (based on your error message earlier) I think it'll be at C:\Users\will3\superlemmini.ini.) 

Find the line for revision= (I expect it will be revision=invalid).  Change it to revision=zip, save it, and restart SuperLemminiToo.  You should be good to go then.

EDIT:
Okay, nope that wasn't it... I put the wrong root.lzp into the release. :-[
« Last Edit: November 20, 2021, 04:13:22 AM by Charles »

Offline jkapp76

  • Posts: 129
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #39 on: November 20, 2021, 04:46:31 AM »
I'm glad you like my icon sets. I can help more you need it.
...Jeremy Kapp

Offline LanaAndCo

  • Weird girl that plays weird games
  • Posts: 54
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #40 on: November 20, 2021, 12:03:08 PM »
Alright, I took some of my time to test this new beast of an engine and, yeah, it's awesome! Can't wait to play custom levels with this. :D
The only problem I have with it is, despite installing it in a different folder, this engine still happens to use my custom thingies from SuperLemmini, which makes the bottom bar look kinda glitchy since they weren't made for it in the first place...
But anyway, I'm relieved I don't have to come back and forth between SuperLemmini and Lemmini to test levels with timed bombers anymore, even if there are not many of them for now. I'll still keep SuperLemmini under my arm, since it is the engine I use the most, but I'll definitely use this one too!
Even though I'm not often online here, if you need some kind of help outside of coding (because I suck at it), I'll try to help as best I can.
If you're reading this, you're awesome!

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #41 on: November 20, 2021, 01:37:22 PM »
Had a good look at 1.40.1 today. It's generally great, with just a few issues which I feel are definitely worth mentioning so that SL2 can solidify its "next gen" status and hopefully become the engine that SL users choose over its predecessor. It's already well on its way there, and with some tweaks it could really reach that next level.

General feedback:

:lemming: The enhanced status bar is looking great :thumbsup:
:lemming: Adding the "out/hatch" number and "required/total" numbers as miniature numbers is a great solution in order to have all the info displayed without too much clutter, I like this a lot
:lemming: Obviously, having the option for timed bombers is a win. Many SL players like this legacy feature, so it's good to have it back :thumbsup:
:lemming: Options to disable scroll wheel and framestepping are also welcome; I personally choose to keep these enabled, but it's great to have these as options to make the game feel more like classic Lemmings (which is one of the main drawn of SL as a platform)
:lemming: Making "Show Percentages" a positive boolean is another minor but important feature to make the options dialog that bit more user-friendly
:lemming: The Visual SFX from WinLemm are great fun, and also very useful for those who are playing without the volume on, or players who may be hard of hearing. This is an excellent addition :thumbsup:

Issues/suggested tweaks:

:lemming: Not sure why the level title has to be displayed in the status bar - I think this makes it look overly cluttered to be honest. Consider either adding this as an option, or just removing it altogether
:lemming: The labels and icons are woefully misaligned at the moment; skill labels appear lower than action button labels due to the placing of the skill numbers, which doesn't look great and will encourage most users to have this option turned off unless they absolutely need it for any reason. The enhanced bar is a great idea, but needs a bit more thought to get the various features placed so that, ideally, they don't interfere with each other. I'm not one for pointing out a problem without offering a solution though, so here's what I'd suggest (note that these images are mockups):


Buttons are shorter by a few pixels; icons have been moved upwards (skill icons slightly more so in order to align better with action icons); and importantly, there is a roughly equal amount of button space above and below the action icons.


The labels can now be added to the bottom of the button so that they look neater.

:lemming: The enhanced panel doesn't work with existing mods, as Lana alluded to:

The only problem I have with it is, despite installing it in a different folder, this engine still happens to use my custom thingies from SuperLemmini, which makes the bottom bar look kinda glitchy since they weren't made for it in the first place...

I get the same issue. Here's how the Lemminas mod looks with the new panel (plus labels):



Suggested fix: allow any modified panel icons to override the panel, regardless of whether the user has the enhanced panel option turned on or off. This will keep everything looking as tidy as possible whilst users redesign their custom panel tiles to allow the animated icons to be used.

:lemming: Finally, a few of us think that SuperLemminiToo could do with a new name, to set it apart as a bona fide alternative. I don't have any immediate suggestions, but if I come up with anything I'll definitely get back to you on it. It might be worth throwing this one open to the community, see if anyone has any decent ideas.
« Last Edit: November 20, 2021, 01:44:48 PM by WillLem »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #42 on: November 20, 2021, 03:59:09 PM »
Here's some alternate versions of the Basher, Pause and Nuke animations. I've improved the colours slightly to make them more like what we're used to seeing in SL. If you like these, I'll get a full set done and send them over sometime soon.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #43 on: November 20, 2021, 04:57:46 PM »
I'm glad you like my icon sets. I can help more you need it.

I hope you don't mind me including your labels in this update. Your set is really what inspired me to separate out the icons into separate layers and composite them in real-time.

The only problem I have with it is, despite installing it in a different folder, this engine still happens to use my custom thingies from SuperLemmini, which makes the bottom bar look kinda glitchy since they weren't made for it in the first place...

Yeah, this is kind of part of a larger issue... part of my goals with SuperLemminiToo is to be fully cross-compatible with SuperLemmini... that's why I chose the name... Two/Too ... I'm trying to imply it's also SuperLemmini, rather than a successor. I know earlier Tsyu had said he's still working on SuperLemmini and I don't want to sabotage those efforts, because I'm keen to see where he takes things.

That said, I kinda goofed on the cross-compatibility with the composite icons... any iconpack creaters will have to choose one or the other, instead of being able to support both.  So, in the next update I'm going to change the names of the transparent icons.  If a mod creater hasn't built in support for SuperLemminiToo's enhanced icons, they'll still look kinda glitchy... the only way to fix that is outright turn off the enhanced iconbar.

The labels and icons are woefully misaligned at the moment;
There are a few restrictions on creating the enhanced iconbar-- so part of my bugaboo was that I really hated how the skill numbers were in the black space above the icons.  Every other port I'd seen of lemmings had them incorporated into the icon bar itself. Now, the static icons and the animated icons had a fixed size of 32x40 (WxH)... some of the animated icons even used that full space (namely the Bomber). So to put them inside a standard brown button, I had to make the buttons wider and taller. And taller even till to put the numbers into them.

So the skill icons are perfectly fit and have no room to safely move up or down without encroaching onto the numbers, but the problem then is that the action buttons now have a huge dead-space above them and look very weird.   So I moved the action icons up to be slightly centered.   This is all fine and dandy until you add the labels.  The labels are going to have some overlap on top of the icons... but generally the icons have more headspace, so it made more sense to have the labels on top.  I even purposefully exaggerated the difference in the action icons by raising the labels even higher on those.

My thought was that there's enough contextual difference between those types of icons that the different spacing wouldn't be too off-putting.  It's still off-putting of course, and I'm not deeply happy with how it turned out.  Maybe the labels could go on the bottom, but there's no room to move the skill icons up.

Not sure why the level title has to be displayed in the status bar - I think this makes it look overly cluttered to be honest. Consider either adding this as an option, or just removing it altogether
This is another of my goals, actually. No metadata information. i.e. if information is important enough to show in the title bar or elsewhere, it should be in the game window.  It is actually togglable, but I just haven't exposed it in the GUI yet... I hate working on Java's GUI.  find the showLevelName= option and set to false (or add it if it's not already there).

Here's some alternate versions of the Basher, Pause and Nuke animations. I've improved the colours slightly to make them more like what we're used to seeing in SL. If you like these, I'll get a full set done and send them over sometime soon.
Thanks for those. The Lemm95 ones definitely suffered from a 16-colour palette. Honestly the neon green hair has kinda grown on me, but the better skin tones are much appreciated.  I'm not sure I like the black paws button though.  I don't like the yellow one -- again, that limited palette -- but going back to black feels like a step backwards to me.  Maybe a softer yellow/orange blend...

What I'd really like to see is animated xmas lemmings done in the style of these animated Lemm95 icons.  I'm not a huge fan of just using existing sprites for the icons -- there's so much more pixels to play with in the icons, it's nice to give them some personality.

As for the name, pardon my bluntness but I'm not changing it. I like that it acknowledges the hundreds/thousands of hours of hard work done by those who came before (both Lemmini and SuperLemmini).  I've made some changes that may look quite impressive, but honestly I'm not changing much of the existing code to accomplish them... which is a huge testament to the existing codebase.  And like I said before, I very much want to maintain cross-compatibility with SuperLemmini for as long as I can.

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #44 on: November 20, 2021, 10:18:49 PM »
Quote from: Charles
any iconpack creaters will have to choose one or the other, instead of being able to support both.  So, in the next update I'm going to change the names of the transparent icons

Out of curiosity, how will renaming the icons help with mods being able to support both? Am I correct in guessing that a mod will be able to contain icon sets for both the un-enhanced and the enhanced style, and whichever is relevant will be selected?

Quote from: Charles
There are a few restrictions on creating the enhanced iconbar

I totally understand the restrictions you're working with; when I was playing about with the status bar and icons myself I realised very quickly how limited the space actually is.

That said, although the current iteration of the Enhanced icon bar works (given the limitations), it's still worth continuing to refine it however possible. It would be a shame to have put all the work in only for people to avoid using it because it doesn't look quite right.

Quote from: Charles
Thanks for those. The Lemm95 ones definitely suffered from a 16-colour palette
...
I'm not sure I like the black paws button though ... Maybe a softer yellow/orange blend...

OK, I'll get on these over the next few days at some point. I'll think of something for the paws; I agree that it would be good to try a nice fresh look for these.

Quote from: Charles
What I'd really like to see is animated xmas lemmings done in the style of these animated Lemm95 icons

Yeah, I'll try to get this done it time for December. I'll likely end up doing Lemminas ones as well! (Hence my particular interest in how mods will handle both un-enhanced and enhanced).

Quote from: Charles
As for the name, pardon my bluntness but I'm not changing it
...
And like I said before, I very much want to maintain cross-compatibility with SuperLemmini for as long as I can.

No worries, just felt it was worth mentioning because it has been discussed on Discord.

I too sincerely hope that Tsyu continues to develop SuperLemmini, and maybe takes on board some of the ideas you've put forward with your version. However, it just... seems unlikely, since he's never around in spite of an uptick in interest in the platform. I'm not saying that means it needs to be replaced by a new version, but more that this may end up happening anyway.

That said, it's clear enough that SLToo is more of an enhancement than an outright "new version", as such. And since you're doing it as a bit of fun when you have time, it almost seems unfair to suggest that you make any changes to what you're doing. I would take any feedback I offer with a pinch of salt, then, since a lot of it is just frustration that SL's developer has been MIA and there is a backlog of ideas that need to be implemented in some form or another.

There is clearly still a demand for a fully functional, currently-maintained platform which allows players to enjoy classic-style Lemmings on a PC with some QOL features and graphical upgrades (although not so many that the feel of the original game is lost). SuperLemmini absolutely is that platform, and long may it continue.
« Last Edit: November 20, 2021, 10:35:40 PM by WillLem »

Offline jkapp76

  • Posts: 129
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #45 on: November 21, 2021, 01:52:26 AM »
Charles: I don't mind if you use any part of my work. I submit it all to be used freely, in any way anyone chooses.
...Jeremy Kapp

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #46 on: November 21, 2021, 05:02:45 AM »
Out of curiosity, how will renaming the icons help with mods being able to support both? Am I correct in guessing that a mod will be able to contain icon sets for both the un-enhanced and the enhanced style, and whichever is relevant will be selected?

Not exactly...

To support the larger "enhanced" iconbar, I needed to rewrite the entire iconbar drawing routines... for both standard and enhanced.  The last thing I wanted to do was support two full sets of art assets for the two sizes of icon bars. So I rewrote the iconbar drawing code to layer images on top of each other.  That way I can simply create a single set of all the icons with transparent backgrounds, and 1 of each of the standard sized and larger-sized empty button icons.  Then let the game paste the icons onto the right sized background for the iconbar enabled.

You can see this in your Leminas levels with the enhanced iconbar...

It's drawing the oversized empty brown button first, then the blue button over top (and lastly the label over top of that).

It's doing the same thing in standard mode too, only the blue Leminas icon is the same size as the empty brown button in that case, so you can't see any brown peeking through.

The trouble is that as an icon designer you have to decide: am I supporting SuperLemmini or SuperLemminiToo... if you support SuperLemmini, then the "Enhanced" icons look broken, as with Leminas...  if you support SuperLemminiToo, then if you load the icons in SuperLemmini you'll see the icon over a black background, because the older engine is only drawing the single icon.

The plus side of doing it this way is as I'd said above -- you only need to create one set of icons, and a single empty button for each size you want to support.  In fact, if you're only changing the background and not the icons, you only need to replace 1 image (2 if you want enhanced and standard iconbars).

Which brings me to why changing the filename will help support both.  The existing icon_<name>.png should be an icon with background, and a new ticon_<name>.png could be the transparent icon.  So if an author wants to support only one engine or the other, they would only need to put one set of images in... if they want to support both they can put both... and then SuperLemminiToo could detect which icons are present and apply them appropriately.

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #47 on: November 21, 2021, 09:36:38 AM »
Transparent icons are definitely a much better way of handling the panel PNGs :thumbsup:

The trouble is that as an icon designer you have to decide: am I supporting SuperLemmini or SuperLemminiToo...

It is in fact currently possible for a mod to handle both, as long as the mod creator provides a gfx/iconbar folder with anim_(name) versions of each icon (plus an icon_empty_large). Here's a quick fix for the Lemminas mod using this method which I'll finalise once the update's out:



NOTE: It's also necessary to place PNGs for the large minimap in the gfx/misc folder - I haven't done that, as you can see it still displays the default brown minimap.



Meanwhile, I've finished a full set of animated icons, plus I've touched up the colours on some of the others. Blue seems better than red for the restart button, and I've "de-neoned" the green buttons to make them look more synonymous with the in-game colours.

I played around with a few different colour schemes for the pause button and settled on a dark red-pink colour, so that this shade still has some representation in the icon bar (which now contains mostly greens and blues). Of course, if this isn't to your liking please feel free to recolour it.

Finally, after giving the icon layout some more thought, I wondered if it might be possible to simply further increase the size of the buttons. I made a mockup panel which has the button at 58 x 40 (from 54 x 36) - this might seem quite large, but I actually think it could go even bigger. Here's how it looks, complete with newly-coloured icons:



And again, but showing the space for the numbers and labels:



As shown, this allows the icons to all be more or less aligned in the centre of the button, and the labels to be in line with each other at the base. This seems to be a decent enough solution, but obvously you'll know whether the buttons can be upsized any further or not.

See the attached icons below; I'll try to get the xmas ones done sometime this week.

NOTE: The icons attached below can be used in your copy of SuperLemminiToo by placing them into your original SuperLemmini directory in gfx/icons and gfx/iconbar. Please remove icon_empty_large from the iconbar folder if you intend to use these, as this tile is an oversized version of the button icon for demo purposes only, and will not display properly in SuperLemminiToo at present.
« Last Edit: November 21, 2021, 10:41:16 AM by WillLem »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #48 on: November 27, 2021, 06:17:12 PM »
Here's the xmas mod so far. All I've had time to do is recolour the tunics, add the white trim and resize the stone-grey buttons:



I'll aim to add red and white bobble hats if I get time over the next week, but at least we have something for now if that doesn't end up getting done in time for Christmas this year.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #49 on: November 28, 2021, 05:30:17 PM »
Those look fantastic, WillLem!

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.40
« Reply #50 on: November 30, 2021, 09:21:45 PM »
Those look fantastic, WillLem!

Thanks! Just wondered, what are your thoughts on the idea put forward in this post - i.e. might this be a decent solution to the new panel layout issues?

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.45
« Reply #51 on: December 02, 2021, 04:41:58 AM »
new release v1.45
This is a bit of an unplanned release... I have a rough roadmap in my head, and I haven't done enough for what I consider v1.50, so this is a halfway step... v1.45.

I've finalized the filenames for the enhanced iconbar images, to properly support cross-compatibility between SuperLemminiToo and SuperLemmini.  WillLem, you'll need to make some minor adjustments to your updated mods, which is why I wanted to get this release out there as quick as I could, so you and other mod makers don't have a moving target to support.

The big changes:
* I've moved all the new images for the IconBar into the /gfx/iconbar/ folder.  (this includes iconbar_filler.png, and the 3 large_minimap_xxx.png images
* I've also moved and renamed the transparent skill icons, into the same /gfx/iconbar/ and prefaced them with ticon.
So, /gfx/iconbar/ now has: icon_empty_large.png, iconbar_filler.png, 3 large_minimap_xxx.png images, 15 ticon_<skill>.png transparent static images, 15 anim_<skill>.png animated images.

The way it works is like this... SuperLemminiToo will first check if there are any icons at all in the /gfx/iconbar/ folder.  If there isn't, then it assumes the mod does not have support for SuperLemminiToo, and will apply whatever icons it does find, even if they look ugly.  That's pretty much the behaviour v1.40 an earlier did. If there *is* a /gfx/iconbar/ folder, then it will ignore the icons in the gfx/icons folder. 

In that case, it will check for an animated icon in the mod first, then a static transparent icon in the mod, then an animated icon in the root, then a static transparent icon in the root.

So to support both SuperLemminiToo and SuperLemmini, as a mod maker, you should create the icons with background in the /gfx/icons/ folder, and transparent icons in the /gfx/iconbar/ folder (and animated icons too).  You should also use a minimalist philosophy... if your custom icon isn't any different from the default icon, don't include it -- remember the default icon will be applied over-top of your custom icon background now. So if you're only modifying the skill icons and the empty icon, all the others will get updated for free because they'll get auto-composited on top of the new empty icon.

WillLem, I haven't included your newly coloured animated icons in this update, because I just wanted to focus on locking down the filenames.  I also looked at adjusting the size of the icons further, like you'd suggested but ultimately, I'm satisfied with them as they are.  I'm considering these sizes locked in: 32x40 for the standard iconbar, and 34x54 for the enhanced icon bar. (EDIT: NOTE: The animated icons, and transparent icons are still only 32x40, but are composited into the larger background). I did move the labels down to the bottom though, for all of them.  I think I'll play around later with giving them some drop-shadow or something, so the white doesn't get so lost on all the icons, but I do like how it's more consistent across the board.
« Last Edit: December 03, 2021, 06:00:57 PM by Charles »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.45
« Reply #52 on: December 02, 2021, 01:43:59 PM »
Thanks for the update, Charles. The labels are definitely in a better position now and the PNGs are much better set-up for modding, which is great :thumbsup:

The icons are still looking a bit too far down (and they now overlap with the repositioned labels). If the buttons aren't going to be resized, then simply moving the icons up about 6-8px each should do the trick to fix this. I tried resizing the animations themselves by adding a few pixels to each frame, but this didn't work; the frame size seems to be baked into the code rather than read from the PNG file itself. That being the case, it does need to be fixed code-side.

If I get some time I might have a look at this myself to save you a job. Ultimately, it is definitely worth getting this feature just right.

Meanwhile, I'll have another look at getting those Christmas hats animated. I'm trying to strike a balance so that they still looking like lemmings (i.e. some green hair still showing), and it's proving to be quite difficult. I'll keep coming back to it though, it will happen eventually.
« Last Edit: December 02, 2021, 02:48:51 PM by WillLem »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.45
« Reply #53 on: December 02, 2021, 02:48:11 PM »
I tried resizing the animations themselves by adding a few pixels to each frame, but this didn't work

Scratch that, I've managed to sort it out from within the PNG files. Some of them had a bit more room to manoevre than others, the only problematic ones were the Bomber and Pause icons.

Here's a fully fixed set. They look like this without labels:



And with labels:



Note that each icon needed its own amount of tweaking to get it into the optimal position; some were moved by as much as 7px, others only 2 or 3px. If you want to sort this out code-side instead, let me know and I'll provide a list of how much movement each icon needs.

Note: I've also attached the xmas mod with the same fixes, plus large_minimap PNGs.

Place the attachments into gfx/iconbar and mods/xmas in your SuperLemmini resources directory if you want to use them.
« Last Edit: December 02, 2021, 03:22:37 PM by WillLem »

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.45
« Reply #54 on: December 03, 2021, 06:13:43 PM »
I've struggled with the icon bar a lot.  I really wanted to stick to the original animated icons as much as possible, which is why I settled on as large a size as I did. The animated icons from Lemmings 95 are 32x40 pixels, so to put that in a button I need to add a 1 pixel border all around, bringing me to 34x42. Then to bring in the skill counters, I needed to add 9 pixels (34x51), then add some padding so they're not touching the edge of their black background, nor the (theoretical) top of the icons. Thus 34x54.

But, if I look at the animated icons themselves, there's only 2 frame of 1 icon that actually maxes out the full 32x40 size... the bomb, when it's exploded.  All the other icons have a fairly large blank space at the top, almost as if they're expecting to accommodate a skill counter already.

It was my trying to fit each icon to the fullest that caused them to be really badly weighted on the buttons.

I've decided to change my stance a bit... There's no reason to keep all the icons on the floor all for the sake of 2 frames of an explosion not being covered by the skill counter. I'm moving all the icons up 5 pixels in code to better center them, but I'm leaving the actual icons as they are -- sorry for making you make so many changes to your icons, WillLem.

I've also taken another look at the colours. I appreciate the efforts you've gone through to recolour the icons away from the outdated 16-colours.  I personally think they look a bit dark. I know they match the original static icons very well, but I'm leaning to something a bit brighter, and that fits more in line with the actual lemming sprites themselves.  So I've also recoloured the animated icons myself, basing them around the lemming sprites... I haven't matched the colours exactly, but I have tried to make them at least resemble the sprite colours, while retaining a certain "pop" with their brightness.  Tastes will vary, but I like the look of them.  I also chose to keep the restart icon Red.  I like the urgency/danger that red denotes.  Restarting the level is a non-reversable process, and isn't for casual clicking.

I'll publish that update shortly -- v1.46.  And after that I don't plan on doing any work on the iconbar for a while -- there are many other interesting areas I'd like to touch up next.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.46
« Reply #55 on: December 03, 2021, 06:22:52 PM »
Updated release: v1.46
- updated animated icons to 256-color from 16-color.
- moved enhanced iconbar icons up 5 pixels.

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.45
« Reply #56 on: December 05, 2021, 06:25:35 PM »
sorry for making you make so many changes to your icons, WillLem

Oh hey, that's no problem at all. Make no mistake - playing around with the graphics is something I enjoy, and would almost certainly do anyway. My copy of SL has always been modded to my own personal preferences, and SL2 will almost certainly follow suit.

All I'm really doing is suggesting that my inevitable mods might be preferable to others as well (although, if they're as bothered about graphics as I am, they likely have their own preferences anyway ;P). The great thing about all of the Lemmings clones (NL, SL and Lix) is that they allow this extent of user-customisability. As long as they remain that way, it's all fine by me :thumbsup:

I've had a look at the iconbar for 1.46 and it looks great, the positioning is now much better (probably even better than mine, tbh!) I'll still likely recolour them to my own prefs, but the current default is a winner, for sure. Great work!
« Last Edit: December 05, 2021, 06:32:20 PM by WillLem »

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.46
« Reply #57 on: December 13, 2021, 06:37:33 AM »
Regarding the Timed Bomber option:

Is there any way this feature can be enabled/disabled per-pack (or per level), i.e. from within the levelpack.ini file (or level file), thus overriding the user-selected option?

This would be a very useful way for pack authors to at least indicate whether or not their pack (or level) is supposed to be played with or without Timed Bombers, and thus give players the best chance of solving it. Of course, users can always override this by editing the levelpack.ini (or the level file) if they wish.

Since it may be required to assign a Bomber within the first 5 seconds of the level, or (in the case of my SUPERLEMMINGS packs) be nigh on impossible to solve the levels using Timed Bombers at all, it's definitely worth allowing this option to be author-led if possible.

Of course, if a pack specifies neither then the user-selected option would take precedence.

If you don't like this idea, then maybe another way around it would be to allow a pop-up indicating that the option should be turned on or off in order to play the pack/level (this would only appear in the event of a conflict). The user then has the choice of whether to take or ignore the advice.

I'm suggesting this mainly to potentially save players a lot of time. This is one of the unfortunate consequences of having an option which necessarily affects gameplay, and conflicts with a previous standard. I'm all for Timed Bombers and have been very vocal in my support for them returning to SuperLemmini, but this is something which could do with at least a quick look now that they have been re-implemented alongside their Untimed counterparts.

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.46
« Reply #58 on: December 13, 2021, 03:02:49 PM »
Regarding the Timed Bomber option:

Is there any way this feature can be enabled/disabled per-pack (or per level), i.e. from within the levelpack.ini file (or level file), thus overriding the user-selected option?

Yeah, absolutely. That's part of my plans for sometime in the next couple of versions.

I'm going to change the options toggle into a timed bomber override, as a trinary toggle, with on being yes timed bombers, off being no timed bombers, and maybe being use level specified setting.
If the level doesn't specify, it will be no timed bombers (as that seems likely to be the most compatible with how the state of the Lemmings fan communities are today).

I'll also update all the levels included with SuperLemminiToo to specify timed bombers are enabled.

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.46
« Reply #59 on: December 14, 2021, 05:35:02 PM »
I'm going to change the options toggle into a timed bomber override, as a trinary toggle, with on being yes timed bombers, off being no timed bombers, and maybe being use level specified setting

That's great that you plan for SuperLemminiToo to account for this, but I'm still concerned that some users will toggle Timed Bombers on and end up seeing a level which is meant to have Untimed Bombers. In some cases, this will make the level impossible/unplayable.

I'd strongly suggest keeping the binary option and allowing the level to override the user option if (the level) specifies either. Or, at least allow Untimed Bombers (if specified) to override Timed Bombers; the other way around seems less problematic and so no override would be necessary in that case.

If you're set on going with what you've suggested (a trinary option), which admittedly is far better than nothing, then I'd definitely suggest having the option switched to Untimed by default. That way, if a complete beginner discovers SuperLemminiToo somehow, they shouldn't run into trouble. The only issue with this is that they might never experience playing with Timed Bombers, which is what SL2 promotes in the first place.
« Last Edit: December 14, 2021, 05:41:28 PM by WillLem »

Offline Charles

  • Moderator
  • Posts: 44
    • View Profile
Re: SuperLemminiToo v1.50
« Reply #60 on: March 22, 2022, 06:43:57 PM »
Bugfix release.  Here's the update to address the bug WillLem discovered, related to saving stats with Unlock All Levels enabled.
(see https://www.lemmingsforums.net/index.php?topic=5947.0)

I also added a setting called Classic Ticker that replaces the scrolling text on the title screen with the same text on a scrolling yellow ticker tape graphic, reminiscent of the original Amiga title screen.

Offline WillLem

  • Moderator
  • Posts: 2423
  • "The truth is..."
    • View Profile
Re: SuperLemminiToo v1.50
« Reply #61 on: March 30, 2022, 12:11:11 AM »
Great work on the update Charles! :thumbsup:



EDIT: Just one thing I've noticed that's not a bug as such but could be problematic: replays involving timed bombers break when untimed bombers are applied, since the explosion happens at the point of assignment.

I'd suggest that SLToo either writes the active option into the replay file, and applies it whilst it's being played (reverting, if necessary, to the other option thereafter), or only ever writes the bomber assignment at the point of explosion.



Since you've already done a lot of great work on SuperLemminiToo, I wonder if you'd be happy to allow the code to be used as the basis of a true update for SuperLemmini, if Tsyu is in agreement? We could really do with a single version of the platform which is current and active, rather than multiple forks.
« Last Edit: April 02, 2022, 08:40:28 PM by WillLem »