NeoLemmix (Player: V1.26n-C | Editor: V1.26n-B)

Started by namida, January 15, 2014, 09:26:16 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

I've fixed (for the next update) the entranceOrder bug in the NeoLemmix Editor; though it's likely that proper editing of the feature will be implemented before the next release anyway.

There are some other changes for the next update of the editor/player that might be relevant to SuperLemmini; I've PM'd you with the details.
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

Okay, so at this stage, I'm confirming that the following features (plus fixing any bugs that arise, and maybe implementing any minor suggestions) are all that I intend to do from this point onwards:

Code: [Select]
> A proper readme
> One-way arrow positioning fixes (level adjustments)
> Extending official graphic sets with new objects
> Volume control
> Palette fixes
> Object data adjustment (128 objects per level instead of 64)
> Instant slowfreeze/radiation option for Flexi
> Configurable option of whether to allow or disable dumping levels / images for Flexi
> Blocker exit glitch fix
> Custom window ordering
> In-game configuration menu
> Styles by name?
> RGB-based graphic sets?
> "Highlight" lemming? (like Lemmings 3D and Cheapo have)

The last three are not 100% for sure. The "styles by name" basically refers to the idea of adding an option to determine the graphic set based on a name rather than a number, thus allowing one level file to be used over multiple players (provided they include the correct graphic set in them, even if the *numbering* doesn't match - for example, if the level states the style name as "lab", it'll load as a lab level in any player that has the Lab style, despite the Lab style's number being #18 in NeoCustLemmix, #3 in LPIII, and #8 in LPZ).

Ideally, I want to implement *all* of these before the next update is released, so that V1.24n will basically have all final features, and any future updates will be bugfixes only. Those that are relevant to traditional as well will also be implemented there soon, hopefully.

The following features have *already* been implemented (and are in fact in the version "V1.23n-D" that Holiday Lemmings Plus uses), so that's why they're missing from the above list:
*  Improved looping on OGG musics.
*  Fixed the error where CustLemmix may crash when trying to save a replay on a
   level with certain characters in the level name.
*  Fixed a bug where replays could assign skills that aren't in the level's skillset.

Note that this finalization-soon is specifically relating to the *player*; I intend to keep updating the editor for a bit longer as previously mentioned - for bugfixes, SuperLemmini features, and user-friendliness.

If there's any player features you think need to be added to the above list, and those features are not new gimmicks, new skills or new object types, let me know and I might consider it. Note that I am aware there's unused gimmick slots; I want to leave these open to make it simpler for people who may want to implement their own gimmicks by modifying the source.

The following features are definitely not going to be considered from this point:
* New gimmicks
* New skills
* New object types
* Modifications/additions to the mechanics, except bugfixes or those specifically mentioned in the above list
* Any kind of two-player mode
* Graphics in alternative resolutions
* RGB-based MAIN.DAT images
* Additional in-level options, such as fake/invisible/background terrain
* Adding more objects of existing types to any graphic set - the only additions will be NeoLemmix-exclusive objects to official graphic sets


As for remaining levels in Extra - it's still something I might consider doing at some point, but I'm not going to make any promise on whether I will or not. On the other hand, if someone else wants to remake the nessecary levels (such as the NES-exclusive levels and the L2 classic tribe levels), I'll definitely include them - I can help with preparing the nessecary "pillar style with flamethrower" if needed.


Future plans for the editor (or possibly a standalone tool more user-friendly than existing ones) include MAIN.DAT editor, Flexi pack creation tool, and possibly even a graphic set editor.
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)

Wafflem

For the extending graphic sets with new objects, I've mentioned what should be suggested before in http://www.lemmingsforums.com/index.php?topic=911.msg22437#msg22437" class="bbc_link" target="_blank">this post. I'd like to make a few changes in my suggestions for the objects for the official styles. As you've already done the LPII styles and Xmas, they won't be listed here.

Dirt: 1 remaining slot - updraft? (you may have better ideas for this one, though)
Fire: 1 remaining slot - radiation
Marble: 2 remaining slots - splitter, slow freeze (I'm thinking of this partly because more styles need slow freeze objects, and partly because this was inspired by the statues that you see in the PSP version of the Marble style)
Pillar: 1 remaining slot - locked exit and button? (but this means you will have to edit the existing exit).
Crystal: 1 remaining slot - slow freeze (this one should reuse the radiation graphic from the Desert and Sky styles, but it should be blue)
Brick: 2 remaining slots - splitter, locked exit and button?
Snow: 2 remaining slots - updraft, slow freeze (same as suggested in the Crystal style, but in a white color)
Bubble: 1 remaining slot - radiation
Sega: 8 remaining slots - locked exit and button, teleporters, one-way fields, splitter, radiation/slow freeze?

I recommend starting with the Sega style first.

For a proper readme, I'm not sure if you should still do one since all the information about NeoLemmix that people need is right in the website.

For the in-game configuration menu, do you mean a type of menu that has all the settings from the INI file, but with a more user-friendly interface, which can be accessed from the main screen of the player? If so, I strongly like this idea. It will also work very well in the traditional players.

What is the highlight lemming?
YouTube: www.tinyurl.com/YTWafflem
Twitch: www.twitch.tv/Wafflem467

Have level designer's block right now? Have some of my incomplete levels for LOTS of ideas!

namida

Yes, that's pretty much what I mean. (Apart from the cheat mode option; as that's turned on/off by entering a code.)

For the Marble style, I was going to add teleporters, as it's one of the few (and the only Original) styles with enough object slots to do this.

I'm somewhat wanting to avoid the modify-existing-exit workaround for locked exit, but if there's no other good ideas for any specific style, I can consider it. Do keep in mind that level designers can always create custom versions of styles for their packs (especially if they're Flexi-based packs).


As for the highlight lemming, it's a feature where by some method (a dedicated icon in L3D, or a right-click in Cheapo), you can make an arrow appear above a certain lemming. Then, you can assign skills specifically to the highlighted lemming (in L3D, simply clicking a skill does this, while in Cheapo, right-clicking a skill icon assigns it to the highlighted lemming). Of course, I'd have to think about how I'd implement this since right-click already has the feature of selecting walkers only in NeoLemmix (right-clicking skills is fine though); perhaps one option is to move *that* to a keyboard shortcut (such as Ctrl+Click).
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 might reconsider how I'll do the next update - I'll probably do one update to include all the updates relating to the game's functioning (like fixing the blocker glitch, custom window order, probably include the object additions and level tweaks here too), then one more after that for the non-gameplay matters (palette fixes, config menu, etc). Though it's likely some of the simpler ones (like volume control) will come in the first update here.


By the way, as a heads up - at some point soon (may not nessecerially be the *next* update), I will probably be dropping support for saving NeoLemmix levels in the non-extended format. Saving traditional Lemmix LVLs, and loading non-extended format NeoLemmix levels will remain supported, of course. The NeoLemmix players will also remain able to use non-extended format LVLs. I would think that at this point, there's little if any reason to use the non-extended format for NeoLemmix, but if you have found some reason to need to do so, keep this in mind.
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

Blocker locked-exit glitch is now fixed (I actually added general code, that will basically make sure to remove a blocker field when a lemming that has one (whether it's currently a blocker or not; just matters that it has a blocker field) becomes anything other than an OhNoer (applies to both regular and stoner OhNoing). Custom window orders and 128 object levels are now implemented; the former only in the player, the latter in both the player and the editor.

EDIT: Name-based style selection is now added to the players. However, it's not yet supported in Flexi, except for the "none" keyword for VGASPEC selection. It is supported and used correctly when dumping LVL files.

(For reference, once it is supported (or in non-Flexi players), any name up to 16 characters long can be used for a style, the same name can be used for a standard style and a VGASPEC without interfering with each other, the one exception is that "none" cannot be used as a VGASPEC name as that's hardcoded to refer to not having any special graphic. If a level does not contain a style name, or contains one that doesn't exist in the player, then it reverts to using the style numbers instead.)
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

Known issue in NeoLemmix player: When dumping LVL files, if the source LVLs use gimmick codes instead of the Custom Gimmick Combination option (only relevant to non-extended format), the output level will not have any gimmicks applied. I do not plan to fix this (as it'd be quite a hassle); but will be sure to convert all levels to use the Custom Gimmick Combinations in the next update.

Although I haven't checked, due to this the existing version probably does not apply SuperLemming on Wicked 2. LPII and LPII Bonus levels will be unaffected when playing (but the gimmicks will be stripped in dumped copies of the levels); LPIII should not be affected as IIRC it uses the custom combinations rather than hardcoded numbers (though I could be wrong on this).


In general, I'm tidying up the level systems on all players - changing all of them (except CustLemmix) to the one DAT file = one rank system, putting all levels in NeoLemmix Extended LVL format internally, replacing hardcoded overrides to the music number with a selected track in the level file, etc. Another thing I've done is gotten rid of the hardcoded graphic set switch in the Extra player; the Genesis levels now actually refer to the Genesis style files (the 66% on Sixes Not is still hardcoded though, and will be staying that way as I don't want to add an option in the LVL file to create such an effect). I've already in a previous update completely gotten rid of DOS-style oddtabling - the two players that use oddtabling (ie: Orig and LPDOS) have already been switched over to NeoLemmix-style oddtabling. The functionality still remained, unused, but that is being removed in the next update as it serves no purpose now.


EDIT: Editor is now loading and saving custom window order fine for NeoLemmix levels, and loading (but not yet saving properly) for SuperLemmini levels. You might be wondering why it's not saving them now when it was preserving it just fine before - this is because previously, all it did to preserve it was memorise the text of the entranceOrder parameter. It now actually loads it into an internal format; I haven't yet got it to rebuild SuperLemmini's parameter from this properly. However, I was able to test that it *loads* fine by loading a SuperLemmini level with a custom entrance order, then switching it to NeoLemmix format. There is still no internal means to *edit* the order.

EDIT: Saves it fine now. It is limited to up to 128 entries in SuperLemmini (32 in NeoLemmix, due to restrictions in both the level format and the engine), but I'd be VERY surprised if anyone ever needs more than this. There's still no way to edit them; it only *preserves* them (and converts them properly between SuperLemmini and NeoLemmix levels).

EDIT: Palette fixes are implemented in the player. Not yet implemented in the editor, LemMain or LemSet.


By the way, if anyone is interested, I've already updated the level format documentation on my DropBox with the new additions. There's one more addition I am considering - custom positioning of VGASPEC 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

Another new feature, this is quite small but I felt there's no reason not to - VGASPEC levels can now contain normal terrain in addition to the VGASPEC image. Do note that just like it does on objects, this will have an impact on the terrain pieces' colors when used with palette-based VGASPEC files (but not when used with RGB-based VGASPEC files).

In the case of a level having both a VGASPEC and normal terrain, the VGASPEC can essentially be thought of as being terrain piece #-1, with no special properties set - so terrain pieces will overwrite it (unless they have the No Overwrite property set).

This doesn't actually require any editor modifications, as the editor already supports such a thing.

Due to this feature, I am almost certianly going to implement the option for custom positioning of the VGASPEC image. Note that unlike in SuperLemmini (where the positioning is defined on the special graphic side), it'll be defined in the level file in NeoLemmix.
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)

Wafflem

Some VGASPEC questions:
  • Thanks for adding the ability to include normal terrain. Will the normal terrain color palette change to be the same as the VGASPEC level? (EDIT: Just saw your edited post saying there will be a palette color change for terrain)
  • Will you add support for custom VGASPEC level sizes (i.e. remove the 960x160 limitation)?

Also, found a VGASPEC glitch. While I was experimenting with styles and see how they look in VGASPEC colors, when you place objects in their position, but when you play the level, the objects move to the left. Attached are two images illustrating this.
YouTube: www.tinyurl.com/YTWafflem
Twitch: www.twitch.tv/Wafflem467

Have level designer's block right now? Have some of my incomplete levels for LOTS of ideas!

namida

As mentioned above (I might've edited it in after you read it) - yes, the terrain palette is affected if the VGASPEC is palette based (but not if it's RGB-based).

I don't plan to allow for custom VGASPEC sizes, it's too much hassle. But as mentioned above, I do plan to allow custom positions instead of the default.


As for that glitch - it would seem that the editor (not the player) has the glitch; it's displaying the VGASPEC image further to the right than it should be. EDIT: I checked, and it's off by 8 pixels - exactly half of the difference between 1584 and 1600. Because of how the editor tries to auto-center VGASPEC images in (Neo)Lemmix formats (but not SuperLemmini format, where it instead uses the positioning data specified in the special graphics INI file), it's almost certian that this issue was introduced when the default width was corrected to 1584 - in fact, if you use a level with width of 1600, it should line up correctly.

One thing I noticed in NeoLemmix player, was that VGASPEC images *weren't* having their default position adjusted. Therefore, it'd only match the editor's behaviour on a level of width 1600. I plan to make the two consistent with each other in the next update, obviously.
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)

Wafflem

Not sure if you'll still do this one, but the infinite skills on the skill bar in the player need the infinite symbol or the asterisks that were in NeoLemEdit instead of just a white background.
YouTube: www.tinyurl.com/YTWafflem
Twitch: www.twitch.tv/Wafflem467

Have level designer's block right now? Have some of my incomplete levels for LOTS of ideas!

namida

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)

Wafflem

Memory leak strikes again after closing the editor. This is what the error message usually looks like in the picture attached (but the number tends to change)

For reference, exit has a reason for the error happening, but this could be one reason. This doesn't always happen even if the level is still open (i.e. I didn't click Close Level).

The memory lek messages come up also on Eric's Lemmix editor(I'm not sure about NeoLemmix, but I believe it's the same). To prevent these memory leks, you can close the level(File>Close Level), and then close the editor. If you have a bigger level(more information in it), the lek will be bigger.
You could try this and see if it works.
YouTube: www.tinyurl.com/YTWafflem
Twitch: www.twitch.tv/Wafflem467

Have level designer's block right now? Have some of my incomplete levels for LOTS of ideas!

namida

The only thing I've 100% identified as causing that error (but I can't identify *why*), unless something unusual happens, is that there's always a memory leak error box on closing if a SuperLemmini special graphic has been compiled during that run (it doesn't happen on (Neo)CustLemmix special graphics, or non-special styles in either (Neo)CustLemmix or (Super)Lemmini formats).

It's possible - given that that's a custom dialog box, and not the actual system memory leak error, that it's actually popping up as a result of a memory leak that was successfully detected and handled during the running, but the error details were still saved in memory. Without knowing the actual cause though (and they mostly seem random), I can't say for sure.
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

At this point, I think I've done everything I'm going to do in the player for the next update (apart from modifications to the official and Sega styles). However, due to some major revamping of certain aspects, some more-extensive-than-usual testing needs to be done before release. Additionally, there's still some work to be done on the editor before the next update, although this doesn't *have* to be released at the same time.

As you can probably guess - next update will be V1.24n, not V1.23n-E (what about V1.23n-D? There was no release of all NeoLemmix stream players on V1.23n-D, but the first release of Holiday Lemmings Plus used this version).


For reference, the changes I've made for the next update are - let me know if there's anything that really should be done in the next update specifically that isn't listed here. Note that a very small amount of these were already present in V1.23n-D, but as that didn't get a main stream release, I've included them in the V1.24n changelog.
Code: [Select]
*  Custom entrance orders can now be specified.
*  Up to 128 objects in a single level is now supported. Note that there is still a limit
   of 32 entrances (whether using custom orders or not).
*  A VGASPEC level can now also contain standard terrain.
*  VGASPEC positioning can now be adjusted.
*  Added support for name-based instead of number-based style references; these take priority
   if both are present in a level file. This is not yet supported in Flexi (except "none" for VGASPEC).
*  Improved looping on OGG musics.
*  Fixed the error where CustLemmix may crash when trying to save a replay on a
   level with certain characters in the level name.
*  Fixed a bug where replays could assign skills that aren't in the level's skillset.
*  Fixed a bug involving blockers placed in front of locked exits.
*  Fixed a bug where some level codes may repeat (and thus, the latter levels become inaccessible
   with non-cheat codes) if a rank has more than 98 levels.
*  Fixed some of the palette colors.
*  Fixed Wicked 2 in ONML; the SuperLemming had been accidentally disabled in a previous update.
*  The Genesis levels in Extra now use the Genesis level width, and have the correct style set instead
   of using a hardcoded hack to change the style number at runtime.
*  Support for DOS-style oddtabling has been removed; use NeoLemmix-style oddtabling instead as
   this is more versatile. (This is only relevant to those building custom players from source
   code, as Flexi has never supported DOS-style oddtabling.)
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)