Lemmings Forums

NeoLemmix => NeoLemmix Main => Topic started by: namida on January 15, 2014, 09:26:16 AM

Title: NeoLemmix (Player: V1.26n-C | Editor: V1.26n-B)
Post by: namida on January 15, 2014, 09:26:16 AM
Welcome to NeoLemmix!

Latest NeoLemmix Version: 1.26n-C
Latest NeoLemmix Editor Version: 1.26n-B


NeoLemmix is an updated version of the Lemmix Player engine which fixes glitches that are carried over from DOS Lemmings, as well as adds a variety of new features and removes or reduces limitations. For the most part, compatibility with traditional DOS/Lemmings content is maintained. As of yet, not much original content has been produced for NeoLemmix but I'm hoping that'll change soon enough; the major exception being Lemmings Plus III which was designed for NeoLemmix from the beginning.

There are NeoLemmix versions available of all official games for which a Lemmix player exists (except Holiday 93, as its levels are included in Holiday 94 anyway), as well as for my own Lemmix-based packs (Lemmings Plus DOS Project, Lemmings Plus II, and Lemmings Plus II Bonus Pack). As well as using the NeoLemmix engine, the levels in these players have been tuned up to take advantage of NeoLemmix capabilities - for example, autosteel is generally used or where not practical more finely-tuned steel areas are in place, and most level sizes have been adjusted to remove excess space. Also, where applicable, the NeoLemmix players use the Amiga version levels as a base, rather than the DOS versions. Specifically, NeoLemmix players are available for the following:

In addition to this, there are also NeoLemmix versions of CustLemmix and FlexiLemmix. The former is useful for playing or creating small level packs, while the latter is useful for creating entire fangames. NeoCustLemmix comes with a levelpack designed to show off the new skills; it contains tutorial levels for them (with each level using one new skill, in combination with one or more of the classic skills), as well as one puzzle level that uses most of these new skills.

An overview of some of the new or upgraded features in NeoLemmix:


There is also an extended version of the Lemmix Editor, very creatively titled "NeoLemmix Editor". This level editor retains compatibility with traditional-format levels, but is specifically intended for use with NeoLemmix. The editor is generally kept in-line with new player releases, to support any new features that have been added. Additionally, unlike the Lemmix Editor which has remained as-is for a very long time now, the NeoLemmix Editor is being actively updated, so any identified issues can be fixed. Recently, the NeoLemmix Editor's capabilities have been expanded to also support editing SuperLemmini levels. Aside from these two, it's also compatible with DOS / traditional Lemmix and traditional Lemmini; though it is not guaranteed that support for these works 100% perfectly, or that it will permanently maintain support for them. It also supports directly integrating with NeoCustLemmix (or traditional CustLemmix) to provide a playtest mode just like the standard Lemmix Editor has, but with full support for all features in the players that were missing from the editor's playtest mode - as it directly uses the players!


Just for reference - if you're wondering "will NeoLemmix ever support (insert Lix / SuperLemmini / other engine feature here)" - your best bet, if it doesn't already support it, is to ask! Some of them I do not plan to add support for, but others I may be open to adding if there's enough interest in it. (On the other hand, if a SuperLemmini feature is not supported in the editor, then unless it was introduced in a very recent release of SuperLemmini (in which case I'm probably already working on it by the time anyone's noticed xD), let me know! The exception is the background terrain feature, which I am aware is missing from the editor - I will implement this at some point but it's not high on my priority list at the moment.)

DOWNLOADS
These are now links to the relevant folders on my DropBox. I am also no longer including all-in-one ZIPs, as DropBox directly offers an option to download all files within a folder as a ZIP - just click the "..." up the top and click "Download as ZIP".

Main NeoLemmix Downloads
General NeoLemmix folder
Direct link to V1.26n-C Players folder
Direct link to NeoLemmix Editor folder

Alternate download location (NeoLemmix website)

Style files
NeoLemmix Graphic Sets (NeoLemmix-ised versions of Orig, OhNo, Xmas, LPII and Sega styles, plus the LPIII styles)
These are the newest versions; they include the modifications for the V1.26n update.

The link for the Genesis styles has been removed; they are now included in the above download.

Other useful tools
Lemmings Tools folder - Both LemMain (for making MAIN.DAT files) and LemSet (for making graphic sets) can be found here. Both of these are not NeoLemmix-exclusive, but are fully compatible with NeoLemmix and capable of using NeoLemmix features. Note that LemMain V6 or higher is required for NeoLemmix V1.15n and higher. Both of these tools are capable of both extracting existing files and compiling new ones from source files, so you can modify existing graphic sets rather than creating them from scratch.

Obsolete
Direct link to NeoLemEdit folder
This is a remake (for Windows) of LemEdit with added NeoLemmix support. This has been discontinued due to interest being far stronger in NeoLemmix Editor.
QuikEdit - Download (MediaFire)
QuikEdit is a quickly thrown-together text-based semi-featured level editor for Lemmings. It's NOT something you want to use to create levels, but because it supports NeoLemmix's pixel-perfect steel areas, it can be useful for tweaking levels once you've designed them in a proper editor. No longer being updated due to NeoLemEdit; as of V0.51 of NeoLemEdit, QuikEdit is now completely obsolete.
Traditional-graphics Lemmings Plus II styles
These are NeoLemmixised (ie: support autosteel, and have some new objects); they are functionally (but not graphically) identical to the remastered ones up to V1.19n-B. V1.20n onwards, the non-remastered ones are no longer kept in sync; so the remastered ones must be used if you want the newer features such as one-way-down arrows.

Source Code
NeoLemmix: Available on request for V1.11n onwards* (Delphi 7)
NeoLemmix Editor: Available on request for V1.06n-A onwards (Delphi 7)
NeoLemEdit: Source code is available to download from the NeoLemEdit folder
LemMain: Source code is included in the download (QB64)
LemSet: Source code is included in the download (QB64)
QuikEdit: Source code is included in the download (QB64)

May not be available for all minor revisions (eg: V1.14n-B); I only keep one copy of the source code for each major version.

Other Editors?
NeoLemmix Editor is the only editor that is officially supported for NeoLemmix. NeoLemEdit should also be fully compatible, but cannot edit features added in V1.14n or newer, and probably will not preserve the data of these features when editing levels.
NeoLemmix is compatible with the standard Lemmings LVL format, and can even use previously-unused bytes in it to store the data on a lot of the new features. For this reason, existing editors for DOS Lemmings / Lemmix are compatible to a degree.
If you are developing an editor, or modifying an existing one, and would like to add support for NeoLemmix, I am happy to help you do so. Please first look at the documents in the "Misc Documents" subfolder of the NeoLemmix folder above; then if you need further help, feel free to PM me or ask in this topic.

I want to make a NeoLemmix-based game!
There are three ways you can go about doing this.

The first is to use the basic structure of an existing pack, and simply drop in your LVLs and use the LookForLVLFiles option. This is what many people have already been doing to create their own packs in traditional Lemmix; it works equally well for NeoLemmix. The downside is you must match the avaialble graphic sets and rank structure of an existing pack - for example, if you were to base it off Prima, you'd have to have four ranks of four levels each and be limited to the ONML styles only. Furthermore, also note that the base players may not nessecerially have full support for all features - for example, the included style files often are not patched to include the pre-placed lemmings and pickup skills that are added in the versions in NeoCustLemmix. For this reason it is recommended to use one of the other methods.

The second, which gives you a bit more flexibility (for example, you can define your own custom rank names and level counts, have a custom logo, and if you want, build it as an all-in-one EXE) is to use the Flexi Player or the Flexi Toolkit to create your pack. See the included instructions with either one to create it. Note that you need LemMain (in the Tools folder linked above) to create a MAIN.DAT for a Flexi-based pack; as of V1.25n this functionality will be in the NeoLemmix Editor instead (though you might still want LemMain to customize menu graphics / sprites).

The third, which gives the most flexibility of all, but requires a much higher level of technical capability, is to grab a copy of the source code and modify it for your own player. This is not a task that less-advanced users should try, but for those who are advanced enough, you can do virtually anything this way. The source code is for Delphi 7. I'll probably try porting it to a more-recent version eventually. I tried with both the latest version of Delphi and with Lazarus; results were not good in either case.
Title: Re: NeoLemmix
Post by: namida on January 15, 2014, 09:26:34 AM
Currently Known NeoLemmix Levelpacks / Fangames

DynaLem
DynaLem's NeoLemmix Pack #1 (Post)

namida
Lemmings Plus III (topic)
Lemmings Plus III Bonus Pack (topic)
Holiday Lemmings Plus (topic)
NeoLemmix New Skills Tutorial Pack (included with NeoCustLemmix)
Title: Re: Namida's Glitch-Free Lemmix
Post by: EricLang on January 15, 2014, 11:16:12 AM
My goal is not a database. This is just for convenient storage of different types of styles / platforms / pictures.
The goal is to create a program which has a level editor AND a playing program in one.
Including the dos clone and including one that does "perfect" mechanics.
Perfect mechanics are only really possible if the storage of levels is changed and goes beyond the dos-limitations.
BTW: the database format is a very simple one and will be well documented.


Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on January 15, 2014, 11:24:52 AM
Ah I see. That's still somewhat different - mine is basically exactly the same as the original Lemmix players (versions for Orig, OhNo and H94 - I don't see any reason to stick to H93 - as well as most likely LPDOS, LPII and (if mobius wants) RotL), with the updated mechanics. Of course, in the long run, I would be adjusting minor things elsewhere (for example, aligning all the steel properly, fixing the miner mask, etc), but at this point I'm focusing solely on problems that occur in the player itself, not as a result of the data files it loads.

I disagree about the perfect mechanics requiring new formats. A few tweaks to the LVL format is all it needs - and there's enough unused bytes in there, whether they're literally unused (like the 4th byte of steel data, which I'm using to fine-tune positions/sizes of steel areas - the result being that they can now be placed pixel perfect, and this is already implemented and tested and functioning perfectly) or just never going to be used in practice (like the high byte in the graphic set or VGASPEC) and thus can safely be reassigned to another purpose. This also simplifies the creation/conversion process - LVL files (or DATs containing them) can be used as is, and existing editors can be used for the most part with a need to use a specially-designed tool only to fine-tune the newer details. Indeed, editors that are still in active development or at least source code still exists somewhere for (traditional Lemmix editor, Lix, jLevelBuilder - pretty much every editor that supports LVL really, apart from LemEdit) could even add support for these extensions with very little work, whether as a forked version or simply an additional supported format.

I suppose the last motivation is also the fact that it gives me a base code I'm already familiar with and already have set up the way I like, for if I ever am doing new projects - LPIII if that ever happens (am I planning it? Only as far as "I probably will make it someday"), as well as Lemmix players for other people's packs (like I did / am doing for Revenge of the Lemmings - indeed, to some extent, some of the unique needs of it are what inspired me to do this. Which reminds me, I must add entrances where the lemmings face left to the list of added features - already implemented and fully working, just forgot to list it in this topic).
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on January 15, 2014, 12:02:12 PM
Okay now I'd like to ask your guys' opinions on something. For bashers and miners, I'm going to make wrong direction one-way arrows act like steel (currently, they behave the same way they always have - the basher and miner can hit into them a tiny bit before being turned around, I want to make them entirely indestructible instead if you're not facing the right way). My question is what should be done in this regard for bombers and diggers? Should one-way only be destroyable by those if they're facing the right direction? (Or perhaps, should that be the case for diggers but not bombers - or perhaps for bombers, work on a "center outwards" kind of system, that is, it'll destroy one-way left areas to the left of the lemming and one-way right areas to the right of the lemming.) The general rule tends to be that one-way walls have no effect on these two skills, so I'm leaving it that way for now, but does anyone think this should be changed?
Title: Re: Namida's Glitch-Free Lemmix
Post by: ccexplore on January 15, 2014, 12:15:56 PM
Quote
Did ccexplore's updates add reproduction of this bug? I think he might've mentioned it...
As far as I remember it hasn't been added.  To do so I would need to add a new type of replay record so that the glitch can be captured in replays, and I'm pretty sure I got sidetracked before ever gotten around to that.  So you shouldn't need to worry about it.

==============

Off top of my head, one other thing that wasn't noted in the "glitch list" was the slight inconsistency in maximum safe falling distance between walker and non-walker lemmings such as miners, as I think you already noted in the "48 fall distance challenge" thread.  It's not exactly high-priority to fix though.

Depending on free time, I may be able to help with fixing some of the items on the list that haven't been addressed yet.
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on January 15, 2014, 12:21:54 PM
I'm getting through this extremely rapidly - apart from the trigger areas, indestructible steel, left-facing windows, and anything already fixed in LPII, everything you see on that list that's been crossed off was done in the last few hours. Still, thanks for the offer, I might need at least a bit of pointers in the right direction for the more complex ones. Suggestions on what *should* happen are also always appreciated.

(For example - the blockers pushing climbers/bashers through walls - perhaps I should make blockers only affect walkers, fallers, floaters, builders and miners?)

The fall distance, I believe it's a matter of that walkers have already moved downwards 3 pixels before they become fallers, whereas other lemmings generally transition directly to it. Hence why the original game added 3 to their fallen distance - which would in fact imply that OhNo, not Orig, was the one with a glitchy fall distance. In this case, adding 3 to the maximum fall distance and restoring Orig's mechanic should fix the issue. (For the player for Orig, the max fall distance remains unmodified so walkers still splat at the same height they normally would in Orig - I thought this was the case for LPDOS too, but it seems that LPDOS, despite for the most part using Orig mechanics, uses the OhNo falling mechanics. I don't remember making that change, though, unless it's part of ccexplore's Lemmix modifications? EDIT: I see. OhNo and Orig are identical in this regard; only CustLemm has the higher distance.)
EDIT: Some testing would suggest that I'm right with my guess about the underlying cause... Or not, since Orig and OhNo behave the same in this regard... and this glitch is present in Orig, now that I think about it. >_> Still, all I have to do is find the exact distance between what walkers will tolerate and what others will tolerate, and change the 3 pixels to a larger amount...

Okay, the discrepancy is two pixels for a miner - this might be related to other miner positioning glitches though. I'll see what it is for a basher now... if I'm not mistaken, diggers and blockers quickly transition to walkers for one frame before becoming fallers, right (and same for shruggers if you remove whatever they're standing on)? So they shouldn't exhibit the glitch...

EDIT again: As I suspected, there's extra things at play for the miner - the discrepancy is only *one* pixel for a basher. Do you know any other cases where the glitch occurs? (Ohnoers? Though I don't think they can splat?) If it's just these two, then it shouldn't be too hard to simply chuck start their fall counters at -2 and -1 respectively... although then, that won't work because of how it works in 3-pixel units... :/ perhaps moving them down by that many pixels before transitioning them to a faller is the better option, if it doesn't look too jumpy... Actually, I can think of one more case; climbers when they hit their head. I'll have to look into that one too...
Title: Re: Namida's Glitch-Free Lemmix
Post by: ccexplore on January 15, 2014, 01:15:42 PM
Should one-way only be destroyable by those if they're facing the right direction? (Or perhaps, should that be the case for diggers but not bombers - or perhaps for bombers, work on a "center outwards" kind of system, that is, it'll destroy one-way left areas to the left of the lemming and one-way right areas to the right of the lemming.) The general rule tends to be that one-way walls have no effect on these two skills, so I'm leaving it that way for now, but does anyone think this should be changed?

I'm personally inclined to stick with the existing rule where one-way walls only affect bashers and miners.  To me it is always about not allowing you to make tunnels going in certain directions.  I had never thought of it as being selective on which direction the lemming is facing, though I'll admit that is an interesting interpretation.

==================================

The fall distance, I believe it's a matter of that walkers have already moved downwards 3 pixels before they become fallers, whereas other lemmings generally transition directly to it.  Hence why the original game added 3 to their fallen distance - which would in fact imply that OhNo, not Orig, was the one with a glitchy fall distance. In this case, adding 3 to the maximum fall distance and restoring Orig's mechanic should fix the issue.

I think you are thinking of CustLemm vs Orig.  Both Orig and OhNo has the same max safe-fall distance behavior.  I guess for me, I'd like to see any downward movement during the skill transition being counted as part of the fall (so like 3 for walkers but 0 for miners, roughly speaking).  The current behavior would be more consistent with the lemming lowers himself down the cliff holding on with his hands only, and then releases hands and falls--not at all what is depicted.

Also the tracking of the fall distance is not precise in the current implementation--that's how you end up with only multiple-of-3 safe fall distances for example.

===============

Blocker pushing lemmings into/through walls is a tricky one.  It's happening because the walker always moves forward before turning around, and the blocker cancels the turnaround.  So either the walker doesn't move forward before turning around, or the blocker doesn't cancel the turnaround in this case.  Haven't decided which way to go yet.

The blocker-climber interaction is definitely one of the stranger outcomes of the current implementation.  Having climbers be immuned to blockers is one option (though admittedly inconsistent), although I'm actually thinking that maybe the blocker will actually trigger the climber to transition to falling as if they bump their head--it is the only other case where the climber's facing direction changes, so arguably it is at least consistent.
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on January 15, 2014, 01:23:04 PM
That is actually a brilliant idea of how to handle climbers meeting blockers. I hadn't thought of that.

Yes, I realised that the difference was Custlemm-only and edited my post to reflect that (I've edited it a few times, including while you were apparently writing your message). I'm not too worried about the exact details of what's happening behind the scenes, I just want it basically so that, if a walker can walk off the top step of a bridge and land safely, a miner can mine off the edge of it and land safely too, etc. Any method of implementation that acheives this end is fine by me. Hence why I'm most interested in knowing the exact details of why it happens - then I can decide for myself what I think is the best way to tackle it.

I will probably make the fall tracking pixel-precise, doesn't make sense for them to not be when the trigger areas are.


In the case of the turning around, I have coded it so (and this is part of the HandleWalking code, not the TurnAround code, so it *only* happens in the case of a walker meeting a wall or the sides of the level) that after turning around, the lemming is shifted one pixel forwards. This eliminates the backstroke basher (and somewhat the miner too; the other half, I consider to be a problem with the miner mask, not the game mechanics, and thus that'll be something to worry about when I get up to the data files - obviously, there'll be plenty of work to do there, such as fine-tuning steel areas etc).

Random fact - almost all the testing I've done so far has used Cheeky 1 as a sort of sandbox to test things in. Only things relating to elements that that level doesn't have (steel, one way, traps, etc), I generally test in other levels - Nice 2, Nice 3, Nice 7 and Nice 10 are my usual go-to's, depending on what I need. (When I was testing LPDOS's fall distance and concluded it was the same as LPII (and thus OhNo), I instinctively went to Psycho 28 because I know one of the falls is exactly one pixel too high - then realised "builders will be really useful for this" and jumped over to its easier version instead. Then for more precise testing... it was back to the actual modified version, and back to Cheeky 1. xD)



EDIT: I implemented your idea with the climbers. It actually works quite nicely.
Title: Re: Namida's Glitch-Free Lemmix
Post by: Proxima on January 15, 2014, 03:55:33 PM
Wonderful!  :thumbsup:  This is just what Lemmix needs, in my opinion, to make it worthwhile again as a platform for level creation -- with Lix being almost entirely glitch-free and much easier to use (as well as having a kickass multiplayer mode), Lemmix had just fallen too far behind. Now, both have advantages and disadvantages -- the advantages of Lemmix being music, the traditional intro and wrap-up screens, use of the original styles (which are available in Lix but not allowed for any levels that are to be distributed) and the absence of some fine-control features, as this encourages level design based on strategy rather than precision, while keeping the "fake difficulty" of precision available for the occasional level to add variety. (Not that I would advocate removing these features from Lix; when playing geoo's or Clam's harder levels they tend to be necessary!)

Now for some suggestions and requests.

* How about making direct drop and instant bombers available as options that can be set on a per-level basis? I wouldn't insist on removing direct drop from the game entirely when you've used it in your levels, but it being possible can be very annoying from the de-backrouting point of view.

* "Perhaps I should make blockers only affect walkers, fallers, floaters, builders and miners?" Not sure if you're aware of the history of this -- on the old forums, when ccexplore discovered that blockers turn diggers, this was considered a glitch and was one of the glitches that he referred to by level (this one was "Wild 15") to avoid revealing its nature. When the secret came out, other people (LemSteven, maybe?) said "I don't consider that a glitch", and this seemed to become the consensus. Lemmini, however, disallows it. Lix keeps it, and I've used it in one level, the Lix version of Rhapsody in Blue (it's not needed in the RotL version). It's very useful for challenges, but it is unobvious and a little counterintuitive, so I don't have strong feelings either way -- I'd marginally prefer it to be left in, but perhaps I'm biased because I'm used to it by now.

* I strongly feel bombers and diggers should affect one-way wall regardless of direction faced. That's what we're used to from original Lemmings, and it makes sense, as ccexplore said. Bombers aren't really facing any direction as they explode, and diggers "face" downwards.

* You mentioned music in connection with gimmick levels, but I'm still not entirely sure how music works in general in this version. I know that your Lemmix players for LPDOS, LPII and RotL fixed the DOS version bug where failing a level resets it to the first level's music (thank you very much for this!) but it would be good to have more control over the music.

* Could you add steel to the bubble terrain set? And perhaps some of my traps / deadly objects from Cheapo?
Title: Re: Namida's Glitch-Free Lemmix
Post by: mobius on January 15, 2014, 10:09:08 PM
to be clear; will this effect the player *inside* the editor? So when I want to test my level quickly it'll have these changes?

I vote to let bombers and diggers remain the same as regarding 1-way-walls. I think it'll get too complicated the other way+it works well as is. In the future, with newer features there could be things like non-bomb-able but otherwise destructible terrain and etc...

I'm also for letting some things be optional; changeable in a txt file or whatever.

* Could you add steel to the bubble terrain set? And perhaps some of my traps / deadly objects from Cheapo?

this reminds me how I was doing this myself before my PC crashed months ago  :( I'd really like to get back to this soon. I may in a few days/weeks. There are a bunch of graphical fixes and additions I'd like to make.
I recommend copying the steel from Pillar, that looked the nicest, unless someone feels like drawing new but the steel from pillar actually fits pretty appropriately.
I liked that bubble-blower trap from Cheapo.


Title: Re: Namida's Glitch-Free Lemmix
Post by: Minim on January 15, 2014, 10:59:37 PM
* Could you add steel to the bubble terrain set? And perhaps some of my traps / deadly objects from Cheapo?

I apparently have the picture of the steel pieces all bundled together in one image in case anyone's interested; not the traps though because I don't have Cheapo.
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on January 16, 2014, 02:50:26 AM
Wonderful!  :thumbsup:  This is just what Lemmix needs, in my opinion, to make it worthwhile again as a platform for level creation -- with Lix being almost entirely glitch-free and much easier to use (as well as having a kickass multiplayer mode), Lemmix had just fallen too far behind. Now, both have advantages and disadvantages -- the advantages of Lemmix being music, the traditional intro and wrap-up screens, use of the original styles (which are available in Lix but not allowed for any levels that are to be distributed) and the absence of some fine-control features, as this encourages level design based on strategy rather than precision, while keeping the "fake difficulty" of precision available for the occasional level to add variety. (Not that I would advocate removing these features from Lix; when playing geoo's or Clam's harder levels they tend to be necessary!)

Lemmix, no fine control features? Don't know what planet you've been living on, it seems to have the most powerful fine control of any Lemmings version I've played... or were you referring to Lix there?

I should also mention that I'm only working on the *player* side of things, although I am happy to cooperate with any level editor authors who want help with adding support for the extended LVL format. If no one does, I'll probably make a little tool to tweak the newer points, though I don't know that I have the patience to make a full-blown editor. (As far as I'm aware, I don't have the source to the Lemmix editor, only the players - otherwise I'd quickly hack up a version of that to handle edit, even though Lemmix isn't my preferred editor (but let's face it, we're not going to be able to add much features to LemEdit...))

Quote
* How about making direct drop and instant bombers available as options that can be set on a per-level basis? I wouldn't insist on removing direct drop from the game entirely when you've used it in your levels, but it being possible can be very annoying from the de-backrouting point of view.

That's a good point. Though I don't know that I'd feel comfortable enabling the sort of thing where direct drop works in one level then makes your lemmings splat in the next. I might feel more okay with allowing it to be somehow globally set for a level pack (so for a single level pack, it's a matter of all levels allow it or none do).

Quote
* "Perhaps I should make blockers only affect walkers, fallers, floaters, builders and miners?" Not sure if you're aware of the history of this -- on the old forums, when ccexplore discovered that blockers turn diggers, this was considered a glitch and was one of the glitches that he referred to by level (this one was "Wild 15") to avoid revealing its nature. When the secret came out, other people (LemSteven, maybe?) said "I don't consider that a glitch", and this seemed to become the consensus. Lemmini, however, disallows it. Lix keeps it, and I've used it in one level, the Lix version of Rhapsody in Blue (it's not needed in the RotL version). It's very useful for challenges, but it is unobvious and a little counterintuitive, so I don't have strong feelings either way -- I'd marginally prefer it to be left in, but perhaps I'm biased because I'm used to it by now.

I've already dealt with that glitch as per ccexplore's suggestion - if a climber encounters a blocker, it acts as though it hit its head and starts falling. The only other one that's really glitchy is the bashers - in this case, it really might be easiest to just prevent bashers reacting to blockers (the only other idea I can think of is making them just stop bashing if they encounter a blocker).

Quote
* I strongly feel bombers and diggers should affect one-way wall regardless of direction faced. That's what we're used to from original Lemmings, and it makes sense, as ccexplore said. Bombers aren't really facing any direction as they explode, and diggers "face" downwards.

This does seem to be the general consensus. Your idea about the diggers facing downwards just put an idea in my head though - one-way down walls, anyone? My thinking on this is destroyable by diggers or miners in either direction, but not bashers. (One-way up is obviously pointless unless we add new skills, which I'm not planning on doing, it'd essentially just be "destroyable only by bombers".)

Quote
* You mentioned music in connection with gimmick levels, but I'm still not entirely sure how music works in general in this version. I know that your Lemmix players for LPDOS, LPII and RotL fixed the DOS version bug where failing a level resets it to the first level's music (thank you very much for this!) but it would be good to have more control over the music.

Well, if I'm compiling a dedicated Lemmix player for a specific project, then music can be handled however is desired for that player. However, to simplify playing fan levels in general I'm hoping to be able to also create something along the lines of a Lemmix-based Custlemm (that loads external files). I'm aware the LemmixPlayerRemake in the source at least has elements of this, but some parts of my extra code I've only specifically written the parts for OhNo, so any player I make basically has to be based off that one rather than Remake as such. (EDIT: Or not. I tried compiling Orig in the NeoLemmix folder, and it compiled just fine, all fixes included, etc. So it would appear my fixes aren't dependant on the OhNo variant at all.)

Also, the reset music bug doesn't occur in any version of Lemmix, it was never reproduced by it.

Quote
* Could you add steel to the bubble terrain set? And perhaps some of my traps / deadly objects from Cheapo?

Modifying the existing graphic sets is outside the scope of this project at this stage, I might consider it later (to add the new object types in, and then it'll be easy enough to add other things at the same time - in the case of adding steel to the bubble set, it will mean I'll have to extend the graphic set format to support more than 64 terrain pieces, at the moment (keyword, at the moment) my priority is on functional, level-related stuff. If/when I do upgrade the graphic sets though, I'll gladly add your steel pieces to it (this is a one-off thing, apart from that I won't be modifying terrain), but I don't plan to add any objects unless they're of the new types (might fine-tune trigger areas on existing ones, though at the moment graphic sets are still limited to 4x4 resolution for defining trigger areas, it's only their position in the level that can be pixel-perfect).

Now that being said, if you're wanting make extensions yourself to any graphics set, LemSet might be of interest to you. Not the most user-friendly tool in the world, but when it's the only tool that exists for this purpose (and it's not *too* bad...)
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on January 16, 2014, 03:11:56 AM
to be clear; will this effect the player *inside* the editor? So when I want to test my level quickly it'll have these changes?

If I can get a copy of the editor source code I will most certianly try to apply the updates to its playtest mode as well, but at the moment, it looks like it's limited to Lemmix Players. Still, you can test pretty quickly by simply saving your level as 0101.lvl, turning on LookForLvlFiles, and starting Fun 1 (or Nice 1 if you're using an LPII style).

Quote
I vote to let bombers and diggers remain the same as regarding 1-way-walls. I think it'll get too complicated the other way+it works well as is. In the future, with newer features there could be things like non-bomb-able but otherwise destructible terrain and etc...

Yeah, I'm gonna leave these as is.
Title: Re: Namida's Glitch-Free Lemmix
Post by: Proxima on January 16, 2014, 03:13:54 AM
Lemmix, no fine control features? Don't know what planet you've been living on, it seems to have the most powerful fine control of any Lemmings version I've played...

I said it lacks some. Maybe I'm wrong about some of these, but I don't think it has zoom or slow motion or a true priority invert, and although replays come with a text version, I don't think you can just edit them and play the edited versions back as you can in Lix (and Simon considers this a legitimate tool for level-solving).
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on January 16, 2014, 03:28:37 AM
Ah. You can't with the text replays. You can hex edit the LRB files to some degree, but it tends to cut off at your modified action (ie: it'll perform up to and including the one you modified, but nothing else afterwards).

There isn't a zoom as such, though it's already zoomed to 3x. Keep in mind that Lemmix moves a pixel per frame, there's no intermediate unrendered frames or anything, so you can acheive a good enough result with frameskip anyway. Likewise, the cursor mechanics are like in the original - it chooses the highest priority lemming (and in some cases, a backup one) within the cursor's range. I don't know that I want to override that, except maybe the direction-specific selection like in WinLemm or Cheapo if enough people think it should be added.
Title: Re: Namida's Glitch-Free Lemmix
Post by: mobius on January 16, 2014, 03:30:59 AM
there is no directional selection (right-left) in current Lemmix [major pain]
Title: Re: Namida's Glitch-Free Lemmix
Post by: Clam on January 16, 2014, 04:44:07 AM
This is a great initiative! Hopefully it retains the original Lemmings "feel" (if that hasn't been taken over by the glitchiness :P) while updating it to the present day. It could even make Lemmings competitive with Lix again :)


Responses to random points:

Left-facing hatches: These bug me in Lix, to the point that I rarely ever use them. I'd really like to see an arrow built into the hatch design to indicate the direction the lemmings face at the start. (One of Simon's designs even has arrows, but they point both ways.)

One-way walls: Different directions of one-way walls don't provide much interest, unless (and I'm sure this isn't in the plan :)) you have 4-way gravity. Then you could have arrows in 4 or even 12 directions, with tunnels allowed at (say) up to 90 degrees from the direction of the arrows.

Direct drop: I think the common view here is that you have to walk into the exit, but there's an interesting alternative: Lemmings touching the exit goal are saved, regardless of anything else. Either works IMHO, as long as it's consistent through the whole game.

Also :thumbsup: to the climber-blocker idea, it makes perfect sense!
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on January 16, 2014, 04:50:11 AM
Left-facing hatches: These bug me in Lix, to the point that I avoid them where possible. I'd really like to see an arrow built into the hatch design to indicate the direction the lemmings face at the start. (One of Simon's designs even has arrows, but they point both ways.)

I could look into that at some point. Perhaps one option is to have an option, that can be toggled on and off by the player, to show a little arrow next to entrances indicating their direction. I would also assume that the majority of levels would still end up with right-facing entrances - Cheapo supported left-facing and yet I don't remember seeing many levels that used them.

Quote
One-way walls: Different directions of one-way walls don't provide much interest, unless (and I'm sure this isn't in the plan :)) you have 4-way gravity. Then you could have arrows in 4 or even 12 directions, with tunnels allowed at (say) up to 90 degrees from the direction of the arrows.

4-way gravity? Hm. An interesting concept, though to be fair, we hardly even saw many levels that made use of two-way gravity back in the Cheapo days, and those that did usually ended up being far too complicated. If there's enough demand, I might look at implementing at least two-way at some point later - in which case, one-way ups would be as valid as one-way downs. (And would be implemented in the form of "a one-way down with Upside Down set becomes a one-way up", saves an object slot and somewhat reduces the chance of that person coming along who's like "ooh, I'mma put these arrows upside down so they confuse the player".)

Quote
Direct drop: I think the common view here is that you have to walk into the exit, but there's an interesting alternative: Lemmings touching the exit goal are saved, regardless of anything else. Either works IMHO, as long as it's consistent through the whole game.

I had actually always thought touching it means saved, due to a combination of the direct drop mechanic and Cheapo *actually* working on the "touch it and you're saved" rule. :/

Quote
Also :thumbsup: to the climber-blocker idea, it makes perfect sense!

Twas ccexplore's idea, not mine. =)
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on January 16, 2014, 05:18:38 AM
If anyone wants to test this so far, here's a download link.

As this is LPII-based, as you might expect, this just has the same levels, music, resources etc as LPII. However - it certianly is NOT to be considered an updated version of LPII; V4/1/3 is still the official, current version. It's just for you to test out the mechanics changes in.

As I've said, I find Cheeky 1 to be a very good level for testing things on, unless you're wanting to test things relating to steel, one-ways or traps.

Note that I haven't adjusted steel areas. The support for pixel-perfect placement of them is there (try it yourself with a hex editor if you like), but as I'm working on mechanics at this point, I haven't adjusted the levels to take advantage of this. Therefore, some of the steel areas might overlap non-steel terrain or not entirely cover the steel blocks (For example, Mild 9, all steel areas extend two pixels further inwards from the steel blocks). However, you most certianly *can* observe the indestructible steel. =)

http://www.mediafire.com/download/o96tzbt392x31ld/NeoLemmixTest1.zip
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 11, 2014, 05:30:04 PM
This isn't dead! =D Just fixed a few miner problems...
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 12, 2014, 05:54:30 AM
Here's a new test version. Some glitches still aren't fixed; see the first post for info. (Most of the blocker-related glitches were fixed *after* I uploaded this, so don't be surprised if they still occur.)

Let me know if you discover any glitches that are listed as fixed but can still occur under certain circumstances (and what those circumstances are), or any new glitches that have come up. (Already had one - there was a glitch where if you use a bomber on a one-way wall, then bash or mine in the wrong direction and part of what the bomber removed falls under the mask, the mask-covered parts of the one way would spontaneously regenerate; I've fixed this though.) Also, if there's anything that just feels too weird. (Note: Miners look like they're incorrectly positioned on certain frames, though this is purely graphical. Easiest way to address this would be simply editing the sprites to move them one pixel down, but for now, it's a purely-graphical glitch anyway.)

http://www.mediafire.com/download/dv6yun6ecjc7y7b/NeoLemmixTest2.zip

Also note that LPII Bonus Pack-exclusive gimmicks are not yet supported. (Gimmicks from plain LPII work, though, but I have NOT tested them for if any new glitches arise as a result of gimmick-bugfix interactions; feel free to let me know if you find any, as well as glitches with the gimmicks themselves that occur regardless of whether it's this version or plain LPII. There shouldn't be any with the Karoshi, Overflow or Frenzy gimmicks, but the Inalterable Terrain, No Gravity or Hardworkers might incur some...)


EDIT: I've tracked down exactly how Lemmix draws the lemming graphics, so I'm able to fix these without modifying the sprites, just by offsetting the graphic of left-facing builders and walkers by one pixel (it seems other left-facing skills already line up alright). Haven't done miners yet. I figure no one's probably downloaded it yet, so I replaced the download with one with the fixed left-builders and left-walkers. As I said: Miners (graphically) are NOT yet fixed.
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 14, 2014, 07:13:50 PM
I've seperated the trigger map into three seperate maps now:

- ObjectMap: For exits, traps, water and fire (LPII one-way fields and secret level triggers also use this one)
- BlockerMap: For blockers only
- SpecialMap: For steel and one-way areas

So, these three can now overlap each other, and no longer interfere with each other. So if you place an exit on steel, the ground below it won't become non-steel; and blockers won't let you magically bash through one-way walls.

As a precaution, blockers still "back up" whatever area they overwrite, however, since blockers still can't overlap (though you can pack them much more tightly together now) and nothing else uses BlockerMap, it should be a redundant measure.
Title: Re: Namida's Glitch-Free Lemmix (Need help!)
Post by: namida on May 15, 2014, 11:48:15 AM
Okay, so I've fixed (or in a few cases, decided to ignore) most of them, apart from a few miner graphical issues (that pun never gets old xD). However, the Tricky 5 / Taxing 8 Basher glitch... I've actually never heard of this one apart from on Clam's glitch list so I have no idea how it's meant to work, anyone got a replay or at least a description I can check?

EDIT: The miner graphical problems have been corrected. Basher glitch still unfixed, since I don't even know what it is, let alone how to trigger and test it.

So, here's the first proper release of the engine! Since it's still somewhat of a testing phase, it's still just using LPII content. Please note that the levels have NOT been modified to make optimal use of the new engine (so steel areas may still be slightly out of line, objects aligned to multiple-of-4 Y coordinates, etc); some levels are not even possible under these mechanics (Panic Attack is one example, though it's possible to get 94% on it). It's NOT intended as a new version of LPII; the focus here is the engine*. It DOES, however, support Bonus Pack gimmicks (if you want to try the bonus pack levels on it - just grab the LVL files from the LPII topic and use LookForLVLFiles). Please let me know if you find any problems. =)

* With that being said, I am still considering the possibility of releasing updated versions of LPDOS and LPII that run on this engine at some point. All I'm saying is this isn't the updated release or a beta of such or anything.
And me someday making LPIII using it is a possibility too.

http://www.mediafire.com/download/amq5sup6s0579d9/LemmingsPlusIINeo.zip

And here, a screenshot. Most of you should be able to spot several things that couldn't/wouldn't happen under the original mechanics. ;)
Title: Re: Namida's Glitch-Free Lemmix
Post by: Wafflem on May 15, 2014, 01:01:01 PM
Quote
  • If a lemming trapped inside terrain is made a climber, or a climber becomes trapped in terrain, it repeatedly begins climbing, gets stuck, and falls slightly. It gains one pixel in height each time. Because climbers transitioning to fallers are shifted across slightly, the wall has to be at least 4 pixels wide for this to work.
Because of the removal of this glitch, Cheeky 8, "The Haunted House" is no longer solvable without it. Unless there's an alternate, harder solution. Also, in that same level, it seems that when a building lemming hits a wall they shrug before turning around.

For that same reason, if this glitch removal were applied to my 100% solution in Flight 2 of the LPII Bonus Pack, it would no longer work. If the glitch-free releases become official, would this invalidate my 100% record on the LPII page?
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 15, 2014, 02:44:51 PM
No, records would be unaffected. Think of such releases as being more like a console port than an update.

And yes, the shrugging is something I intentionally added, so you have more than a split second to deal with builders that hit their head. It ONLY applies when the unalterable terrain gimmick is in effect.

This is by no means exhaustive (and only for Genius), but off the top of my head, I can confirm that Genius 1, Genius 4, Genius 6, Genius 7, Genius 9 (obviously) and Genius 13 are possible, and Genius 8 is not (can't beat 94%, requires 96%). The method of getting through the one-way wall on Genius 19 still works, but I haven't tested whether the solution as a whole does.

Although I extensively tested Cheeky 8 for if the *mechanics* work like they should, I never actually tested if it's still possible. xD

Cheeky 20 is one I found fun to play under this; the usual solution won't work, but there *is* a solution that does work.

ALSO: Look very closely at that screenshot. You might notice something else I've done that I haven't said anything about. ;) (To clarify, it's just a feature of the updated engine, and shouldn't be taken as a sign of any plans.)
Title: Re: Namida's Glitch-Free Lemmix (Need help!)
Post by: ccexplore on May 15, 2014, 07:35:09 PM
However, the Tricky 5 / Taxing 8 Basher glitch... I've actually never heard of this one apart from on Clam's glitch list so I have no idea how it's meant to work, anyone got a replay or at least a description I can check?

The behavior is simply that whenever basher moves forward, it will never move up with the terrain, only horizontally or downwards.  In normal cases this doesn't matter because what's in front of the basher is either flat ground (due to the bashing) or a downward slope.  Tricky 5/Taxing 8 is one of the rare situations where the terrain setup with the "gridwork" terrain in Crystal graphics set, enables a situation where due to this behavior, the basher will not walk up an upwardly sloping terrain, but rather walk "through" it.

IIRC Cheapo does not have this behavior, the bashing moving forward will behave just like a walker I think, the lemming can move up with the terrain.  This is also more interesting in game mechanics with better steel handling, since with "perfect" steel handling it is no longer the case a basher's stroke will always take out everything in front of the basher.

I'll try to get a replay in later today (perhaps there is one already on the challenge thread?).
Title: Re: Namida's Glitch-Free Lemmix
Post by: ccexplore on May 15, 2014, 09:39:43 PM
Replay from Taxing 8 attached.

If you do decide to fix this behavior, I think the idea would be to allow the basher to walk up terrain like a walker can, except for steps which would've caused a walker to turn around or need to turn into jumper, in which cases the basher should probably just stop walking and stay in its current position for next stroke.
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 16, 2014, 01:36:15 AM
Replay from Taxing 8 attached.

If you do decide to fix this behavior, I think the idea would be to allow the basher to walk up terrain like a walker can, except for steps which would've caused a walker to turn around or need to turn into jumper, in which cases the basher should probably just stop walking and stay in its current position for next stroke.

That's almost exactly what I have done (even without knowing it related to this glitch - it's to make things tidier with non-removable steel), except that rather than stay in position, they stop bashing and turn around. =D It's so that if they encounter a steel or one way (which won't be removed) that they can't move up, they won't move through it instead. (You can probably guess that this needed a bit of special treatment for the Unalterable Terrain gimmick to still work...)

Thanks for the explanation, anyway. Even if the result is I've already fixed it without realising it - at least I know that now. =) (I'll test it for sure once I try importing the original levels into this.)

And yes, I'm not sure if it's identical to a walker but a Cheapo basher can move upwards; one of my levels in either LP2 or LP3 relied on this. I forget the name, but it was a pillar-style one, with several pillars and gaps between them in the middle (slightly remeniscient of The Buildo Station / Buildo Frenzy, but going all the way up to the top of the screen, and wider), and the challenge was to get through them with one basher. It was acheived by dropping builders at exactly the right time to bridge the gaps and let the basher cross. (EDIT: "The Way Across" maybe? That name does ring a bell anyway...)
Title: Re: Namida's Glitch-Free Lemmix
Post by: ccexplore on May 16, 2014, 02:15:44 AM
The reason I explicitly suggest "stay put but still continue bashing if too high a step to walk up directly" as oppose to "stop bashing and turn around" is that, while the latter certainly makes sense in case of steel/OWW (although in those cases wouldn't the stopping have come from the handling of steel/OWW anyway?), I'm not sure that it makes sense is intuitive when the too-high-to-step-up terrain in front is just normal, bashable terrain.  It can lead to situations where depending on the precise location the lemming has started bashing from, the lemming may end up either continuing to bash or stop bashing, as it starts to approach the unwalkable step-up.  [edit: change wording to "intuitive" and acknowledge that there exist other behaviors anyway in lemmings that are arguably unintuitive]

With all that said, it is true that in practice, for the non-steel/OWW cases, you likely need fairly specific terrain setup to enable the "special case" to begin with, so for "normal levels" it probably won't even be encountered, and in rare case when it can be used in a level for unexpected alternate solutions, it is likely not too hard to fix by minor modifications to the level.
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 16, 2014, 06:11:43 AM
I'll have to load that specific level into it and see how it reacts. Although I'm thinking he'd just move upwards onto the bashed-out terrain and continue normally.

Anyway - one person noticed and PM'd me, but as you might notice from that screenshot, I also upgraded it to support 32 color palettes (of which 24 can be customized). That isn't in the version I uploaded, by the way, I did that more recently. (The screenshot is just for testing purposes; I have no plans to remaster the LPII graphics anytime soon - though I'm not saying it couldn't ever happen either.)

Currently, it doesn't try to detect whether it's loading a 16-color or 32-color graphic set; it just treats all of them as 32 (and assumes they *do* have the pixel-perfect trigger areas). I'll need to come up with some method of uniquely identifying the 32-color ones so that it can retain full compatibility with the 16-color ones; at present, while LemSet-generated styles such as the LPII ones work fine in it (due to the 32-color format being merely an extension of the existing format, not an entirely new one), the official styles do not. It's a very quick two-line change to switch the player between 16-color sets and 32-color sets (though official styles would still have minor problems, due to it *also* assuming the files are set to have pixel-perfect trigger areas). I'll probably use animation flags on the first object or something to mark them.

32-color styles also work fine in older engines, albeit with weird colorings (and possibly some terrain becoming non-solid on DOS, though not on Lemmix). If you're careful when creating the style, you can make one that will work properly on both 32-color and 16-color engines. (If you don't use the pixel-precise trigger areas, and you know the format, you could even make one that works across 32-color, 16-color, *and* CGA/Tandy. If you use the pixel-precise trigger areas, it uses some bytes that are usually used for CGA/Tandy to store information on them, so you can only make it backwards compatible as far as EGA - and pixel-precise trigger areas obviously won't work on older engines, they'll round up to the nearest multiple of 4.)


EDIT: Working on re-coding it to detect these. In doing so, I've also done it so that it'll be quite simple to further extend the palette (apart from having to work out where exactly I'll fit the data in, unless old engines don't throw a fit at oversized groundXo.dat files but rather just ignore the extra bytes; or I just break backwards compatibility for 64-color and higher), though for now I'll leave it at 32 since this allows decent variety while (in my opinion) still retaining the Lemmings feel.


EDIT AGAIN: Done. It now only attempts to load pixel-precise triggers and 32-color images if the appropriate flags are set. The two are independant of each other, so you can create a 16-color graphic set while still taking advantage of perfect triggers without worrying about 32-color mode interfering, and if you know the CGA/Tandy formats, since their bytes are only taken over for trigger areas (not for 32-colors), if you don't use pixel-perfect triggers you can create a set that's compatible with 32-color, VGA/EGA *and* CGA/Tandy. (Note that pixel-perfect triggers on graphic sets merely refers to aligning the trigger area to the object graphic within the graphic set itself; you can still place objects pixel-perfect and their trigger areas will move pixel-perfectly accordingly even if the graphic set uses the older 4x4  grid-based triggers.)
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 16, 2014, 08:46:24 AM
Tested it; that glitch doesn't occur, but testing this has exposed another (unique to the updated version) glitch - specifically, that the lemming will move up even if there's a gap between what it's standing on and what it's moving onto.

I fixed this glitch, I also implemented your suggestion of the lemming simply not moving forward further (rather than stopping bashing) if it runs into a 4-pixel or higher wall that isn't steel or a wrong one-way. (In fact, it only cares if the top pixel is; if the top one isn't but the lower three are, it'll stop moving forwards, take out that top pixel as part of its next stroke, and proceed to ascend the now-3-pixel wall while moving forward this time.)

Hm, I can think of an interesting (though I wouldn't classify it as a glitch) way that skills could interact here to give rise to a new trick that wouldn't've come up under original mechanics... I might keep the idea to myself for now though.

Anyway, gonna take a bit of a break from fixing bugs / enhancing features, to add a new gimmick. I'll leave exactly what it is as surprise until I decide to use it, though. ;) All I'll say is that it's one that is extremely hilarious to watch. (Or maybe I'm just easily amused.)
Title: Re: Namida's Glitch-Free Lemmix
Post by: ccexplore on May 16, 2014, 09:59:29 AM
Yeah, the Tricky 5/Taxing 8 setup won't exhibit the issue with basher trying to walk up a tall step.  I've attached a test level that I believe would.  I haven't tested it but I think in previous version of your fixes, the basher may stop bashing at the bottom of the slope depending on where exactly on the slope you started bashing from.

And if we want to be absolutely consistent it should be 3-pixel or higher, since 3-pixel wall is when a walker would've started to need to jump. However that's rather hair-splitting so I'm not hung up on that (especially since in the original mechanics, the basher is already inconsistent with the walker when it comes to falling--the latter needs a 4-pixel fall to transition to faller, the former only needs 3).
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 16, 2014, 01:47:12 PM
Nope, no problems. =)
Well, apart from that the lemming fell onto the bit at the top, but after I moved the window one pixel left, it worked fine.
Title: Re: Namida's Glitch-Free Lemmix
Post by: ccexplore on May 16, 2014, 07:57:47 PM
How can I configure it to use the graphics sets from the official game, for testing it out with my own LVLs via LookForLVLFiles?
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 17, 2014, 02:25:01 AM
That upload doesn't support it, it only has the LPII styles; I added the official ones in shortly after uploading it tbh xD. I got a few IRL things to do right now, once I'm done I'll upload a new version including the recent updates and default styles.

EDIT: Here you go. For obvious reasons, replays from traditional Lemmix won't work with it, but it definitely can play its own replays. By the way, in addition to existing gimmicks, feel free to give 0x420B and 0x420C a try and see what they do. ;) 420B is the one I was referring to before, whereas 420C could be seen as taking one of the existing gimmicks and inverting it.

http://www.mediafire.com/download/65v6ip89vfq2izj/LemmingsPlusIINeo.zip
(EDIT: This link previously pointed to wrong versions, and at one point incorrectly to the LPII Bonus Pack; it's completely fixed now. Thanks to DynaLem for pointing this out.)

Style numbers:
0 - Tree (LPII)
1 - Purple (LPII)
2 - Psychedelic (LPII)
3 - Metal (LPII)
4 - Desert (LPII)

6 - Test style (Ground/VGAGR file attached)

16 - Dirt
17 - Fire
18 - Marble
19 - Pillar
20 - Crystal
21 - Brick
22 - Rock
23 - Snow
24 - Bubble
25 - Holiday

All official and LPII styles (including Psychedelic, which previously I showed screenshots with it slightly modified) are normal 16-color styles that don't use the new pixel-perfect trigger capabilities - they're just the normal, existing versions of the styles.

The test style (6) however, does use 32-colors and pixel-perfect triggers. It loads fine in older engines for editing purposes, playing might be a bit weird (not that the style is really suitable yet for anything other than testing).

By the way, for those who are just for fun trying to solve LPII levels in it, I can also confirm all three of the tuned lemming levels are possible. Also, I found a working solution to Cheeky 8 (replay attached), though 60% (the requirement exactly) seems to be the maximum it's possible to save. (Now that mechanics are more or less complete, I should probably start making a list of which LPII levels are problematic, so I know for if/when I release a version of it based on this engine... though so far, the only one that I can confirm for sure is *not* possible is Genius 8.)

I'm aware of the following glitches, in fact I've fixed them already (but since uploading this, so the uploaded version has them), with the new gimmicks:


And the following, which I haven't fixed:
Title: Re: Namida's Glitch-Free Lemmix
Post by: namida on May 17, 2014, 08:15:36 AM
Okay, that's embarassing. For a while I had the wrong link in the above post - I had posted the link for the LPII Bonus Pack instead. Anyway, the correct link (and the correct version of the file) is there now.

It would also seem inconsistent fall distances between different skills have somehow snuck back in, though I've fixed up all of them except the basher now. While working on this I noticed I never actually made fall distances pixel-precise, so I've fixed that too. That being said, an inconsistent fall distance for the climber, I decided to leave as-is, because while numerically it's inconsistent, from a gameplay point of view it makes sense (since the climber hits his head). It may even be that it isn't inconsistent, but just looks it - I tested it by climbing up a wall that was basically an upside-down L shape and testing how many extra steps were needed to make it safe, then testing the same thing by digging away the horizontal bit so that lemmings would fall exactly from the corner (on the inside); walkers going off the edge needed 5 steps more than climbers did, but that's roughly the height of a climber lemming so it makes sense IMO.

Here's an updated version with all my new fixes:
http://www.mediafire.com/download/65v6ip89vfq2izj/LemmingsPlusIINeo.zip

(NOTE: The link is the same as the above post. If you downloaded that one, then saw this and think "oh crap I have to download again", nope, the above link will also be updated. I'm trying to keep the link the same for this exact reason.)


By the way - in case you're wondering - I used Wimpy 21 to do the testing, since it has a fall that's exactly one pixel too far, so it was good for calibrating. (Actually, at first I used Psycho 28, until I realised "builders would be really, REALLY useful for this" xD).


EDIT: Teleporters are added! =D
Mechanics of them is that they automatically assume the next object is a receiver (eg: if the 3rd object in a level is a teleporter, it'll attempt to teleport you to the 4th object). The lemming is teleported to the same point relative to the top-left corner of the trigger area. The exact point at which the coordinates are changed is when the teleporter's animation finishes and the receiver's one starts.
Detecting which teleporter has been activated is implemented in a similar way to how Lemmix implements traps.

Current version also seems to throw a lot of error messages in levels that *don't* contain objects of a specific type... looking into this now.
Title: Re: NeoLemmix (updated, de-glitched Lemmix Player engine)
Post by: namida on May 18, 2014, 07:39:38 AM
Okay, I tracked down the source of the rapid-fire error messages and fixed that. The reason I was having trouble is because although the presence of one type of object caused the errors to not occur, it was the teleporter's code that was actually causing it, with the former type's presence simply having a preventative effect. (I would explain more detailed, but that would give away what exactly this "other" object is... ;) )

http://www.mediafire.com/download/65v6ip89vfq2izj/LemmingsPlusIINeo.zip
There's the fixed version. Since I'm releasing so many versions, I decided to start adding version numbers. They may look random, but there's a pattern to it: YYYY.MMDD.HHMM.xxxx. You can probably guess what Y, M, D, H, and the other M are; xxxx is AAAA in this release and I'll make it AAAB in the next, AAAC after that, and so on. The date/times are GMT+12, since that's what it is where I live.

And here's a level so you can see teleporters in action, since screenshot doesn't do them much justice. Requires this version (or the previous one, if you can tolerate all the error messages it throws at you). It's not a hard level by any definition of the word, though it's not just "watch lemming walk into teleporter, then walk into exit".
Title: Re: NeoLemmix (updated, de-glitched Lemmix Player engine)
Post by: namida on May 20, 2014, 05:03:58 AM
Here's the newest test version. You may notice some slight differences from the previous one, such as the content being an updated-for-NeoLemmix version of LPDOS content rather than the plain old unadjusted LPII content. This is because this version is (albeit in beta form) the official NeoLemmix LPDOS release. =)

http://www.mediafire.com/download/vj1lxqm1debgd00/LemmingsPlusDOSNeo.zip

Any discussion that doesn't relate to the NeoLemmix engine (ie: level design errors, or general talk about the content rather than the engine) might be more suited for the LPDOS topic.
Title: Re: NeoLemmix (updated, de-glitched Lemmix Player engine)
Post by: namida on May 21, 2014, 05:03:14 AM
Updates for next version (for the engine itself):
> Fixes the bug where you can turn a miner around by making a different lemming build.
> Lots of behind-the-scenes stuff to make it easier to add and update new players (for different packs/games).
> Fixed a bug where certain object types that should never be rendered still get rendered on the preview screen.
> Made it so that whether main.dat contains 4 or 5 rank images can be set independantly of which game is being compiled.
> Same for the existance of secret levels.
Title: Re: NeoLemmix (updated, de-glitched Lemmix Player engine)
Post by: namida on May 21, 2014, 09:49:52 AM
I'm not uploading an LPDOS update yet because there's some level fixes needed for it that I haven't done yet, but here's something else that I'm sure you guys will probably like...

NeoLemmix CustLemm! =D

Unlike the traditional-mechanics versions of CustLemm which don't support any new features except for 32-color palettes, this is fully NeoLemmix based and thus supports all NeoLemmix (and LPII) features.

I've now completely integrated everything into one folder, compiling off the same codebase (just like the vanilla Lemmix source does for Orig, OhNo and H93) - Orig, OhNo, H94, LPDOS, LPII, LPIIBonus and Cust. So, when I make any updates now (unless of course, it's updates to a specific game's datafiles (levels, graphic sets, etc)), it'll instantly be applied to the whole lot. =D This probably sounds like an everyday kinda thing to the progamming experts here, but to me, this is fancy s***. xD For that matter, I can also very easily add new games to it, for if I'm making Lemmix players for any of the large packs other people have made, or Lemmings Plus III if/when that happens...

I'm getting a bit sick of organisational stuff now, so the next thing I do will probably be a new gameplay feature. Pickup skills, most likely, or perhaps a new gimmick if I get a good idea. (I did have one idea recently but I'm not sure if it's enough on its own to be worth making - nuclear lemmings! In other words, bombers take out a MUCH larger area.) EDIT: Working on pickup skills now.

Also, QuikEdit has been updated to fix the Y coordinate bug and add support for editing the pickup skills. Note that pickup skills aren't actually implemented in NeoLemmix yet (not to mention you'd need a graphic set that has the object for them).
Title: Re: NeoLemmix (updated, de-glitched Lemmix Player engine)
Post by: namida on May 21, 2014, 11:47:01 AM
Okay well, they are now. Gonna hold off on uploading yet another 5-minutes-later update for now, but here's a couple of screenshots to show it. They also show (or at least strongly hint at) another new feature. Actually, I showed this one to a few people already, but didn't so much say it publically... anyway, as you can see in this shot, it's also possible now to have lemmings that are already present at the start of the level (and yes, you can make them face left if you want).
Title: Re: NeoLemmix (updated, de-glitched Lemmix Player engine)
Post by: mobius on May 21, 2014, 04:44:26 PM
 :thumbsup: very cool! What's with the circle around the builder? I couldn't get that to happen in game.

so the lemmings that are already on screen, are they not counted in the lemming start count?

the teleporters are very cool of course  :)
Title: Re: NeoLemmix (updated, de-glitched Lemmix Player engine)
Post by: namida on May 21, 2014, 04:54:22 PM
That builder isn't a lemming, rather, the thing is a pickup skill. Once a lemming walks past it, notice how an extra builder is gained? It's a new feature I only just added in; I haven't released any version of the player that supports it yet. (Neo CustLemmix supports the teleporters and pre-placed lemmings though; though you do need a style file that contains objects for them.)

And yes, they are counted in the total.


Also, I mentioned before how I worked out how to have multiple versions (Orig, OhNo, etc) compiling from mostly the same code, and that I had added all those various games... I just now added Covox and Prima too, just for completeness's sake. (I haven't started doing level tune-ups on anything beyond LPDOS at the moment.)


EDIT: Redownload CustLemmix (I just updated it to version 1.01n of NeoLemmix) and use this graphic set and level, it shows all the new object types (except secret level triggers, but you've already seen those in LPII):
Title: Re: NeoLemmix (Current Version: 1.01n) (Please vote in poll!)
Post by: namida on May 22, 2014, 10:47:01 AM
I had a thought*. How would everyone feel about a feature where certain terrain pieces (in other words, the steel blocks) can be automatically made into steel by the NeoLemmix engine without having to be marked with steel areas? Of course, the style would need to be modified accordingly to accomodate this (there are two spare bytes on each terrain piece that can be used for this), and I'd probably also make it set on a per-level basis. The other advantage to this is that the portion of the LVL file used for steel areas could then be repurposed for something else, perhaps extra objects. Not to mention it would negate 99% of the work of updating existing levels for it; only some minor object adjustments would be needed. Obviously, it wouldn't work for VGASPEC levels, but there aren't many of those full stop, and even fewer with steel (only one official VGASPEC level has any steel in it, not quite sure about fan levels). One other potential issue is dealing with where steel is overlapped by other terrain - though if I'm able to handle this fairly easily, it'd become an advantage rather than an issue, Danger 11 and Psycho 4 are some examples from LPDOS where it'd make a pretty big difference (although a bit late now - though Danger 11, there's simply no way I was actually going to try and implement that diagonal cut-off by hand).

Also, since some of you may be wondering - this would indeed mean there would be no limit to how much steel you could have in the level (apart from the number of terrain pieces).

* My original thought was actually writing an app to detect relevant terrain pieces and automatically create steel areas based on them, but then while writing this I thought "why not just build it directly into NeoLemmix".
Title: Re: NeoLemmix (Current Version: 1.01n) (Please vote in poll!)
Post by: ccexplore on May 22, 2014, 08:04:00 PM
The other advantage to this is that the portion of the LVL file used for steel areas could then be repurposed for something else, perhaps extra objects.

Perhaps, although you can always just extend the LVL format to more than 2048 bytes to help accommodate extra stuff.

==================================

Overall I think it's definitely a nice idea, though I think you might still want to keep the steel area section, to be used for any steel areas that cannot be derived purely from the terrain.

For handling of overlapping terrain, I'll propose the following:
  - if the steel terrain is used with eraser flag set, then it is clearly being used for erase purposes rather than placing actual terrain pixels into the level, and therefore should not be applied as steel area in the level
  - later non-steel terrain that overlaps with the steel terrain does not affect steel status (the idea being that if you want to for example overlay some moss onto a steel block for decoration purposes, it shouldn't undo the steelness of the overlaid pixels as a result).  The one exception being if the later terrain has eraser flag set, in which case in addition to erasing pixels of steel terrain it overlaps with, it also erases the steel status associated with those pixels of steel terrain that got erased (basically the idea is to support creating steel areas of irregular shapes that matches directly the terrain pixels you see).

In other words, the steel piece is always assume whole even if parts of it are visually obscured, the exception being if the pixels were explicitly erased rather than merely obscured via overlap.

This should cover most cases, and then having the reserved steel area section can be used to handle any exception cases not handled by the automatic steel area algorithm.
Title: Re: NeoLemmix (Current Version: 1.01n) (Please vote in poll!)
Post by: Nepster on May 22, 2014, 09:20:38 PM
May I suggest to add another option to the ongoing poll: Extend the Readme that comes with CustLemmixNeo.
It would help (at least me) to have the following informations present there:
- version number
- explanations of the newly added features (and perhaps a summary of the changes in the game mechanics as you did in the very first post in this thread)
- explanations, how to use single .lvl-files, new terrain styles, ...
Unfortunately I couldn't yet get CustLemmixNeo to load your level. It always wants to load some levelpak.dat (which works fine btw), but how can I play single levels? I am sure, you explained this somewhere, but I am too dumb to find it right now.
But (as far as I can tell right now): Great work :thumbsup:!
Title: Re: NeoLemmix (Current Version: 1.01n) (Please vote in poll!)
Post by: namida on May 23, 2014, 04:11:40 AM
Turn LookForLVLFiles on, as with any Lemmix player. CustLemmix should probably have it enabled by default to be honest, but I haven't got around to doing that. As for custom graphic sets, just put them in the same folder and it'll load them automatically (it will automatically load external LEVELPAK.DAT, GROUNDxO.DAT, VGAGRx.DAT and VGASPECx.DAT with priority over its internal ones). This is true for all versions of CustLemmix, by the way, not just the Neo one.

However, I think you're right about the readme; unlike any of the things in the poll, that's a very simple and quick job, so I'll do that at some point today.

You can find out the version by (not that this is very convenient, so yes, I'll add it to the readme) just watching the scroller at the bottom of the main menu screen. The 4th or 5th thing that comes up will tell you the version number. The testing versions I released during development used a date/time based version number with four sequential letters, while versions since most of the bugs have been dealt with and it's now mostly adding new features are numbered "V1n", "V1.01n" (current latest), next will be "V1.02n", etc. The "n" is just to signify that it's a NeoLemmix version.

ccexplore: I agree with what you're saying, although personally I would've considered that overlapping terrain negates the effect (however, it would be MUCH easier to implement it as you've described, definitely). There again, if I can manage to get that implemented at all, I see little reason why I can't allow for *both* options. The difficulty is in how I should go about implementing this - as you might've noticed, Lemmix has no direct connection between the game engine and the terrain piece data (the game engine simply calls a function of the renderer that renders the entire terrain layout and returns it as one large image). Therefore, I either need to make such a connection, or implement this in another way; my current thought is adding an extra option to this render thing that renders everything other than steel blocks as erasers (although still paying attention to the No Overwrite tag) and then using the bitmap generated from such to build the steel map. (My terminology here is probably horrible, but I'm hoping you get what I'm trying to say?)
Title: Re: NeoLemmix (Current Version: 1.01n) (Please vote in poll!)
Post by: Minim on May 23, 2014, 06:54:32 AM
I think NeoLemmix would work well with the Original Lemmings set as well as the two main clones: OhNo and Holiday (My intention was to vote for three options, one for each). We now know that NeoLemmix was designed to remove glitches. It would be interesting to see how many challenges we will be able to copy without glitching.

Edit: I only just discovered this thread after posting. ccxplore has made a very valid point about the lack of interest in finding glitch-free solutions. I think it would take someone who's very patient and has a lot of free time to go through each and every level to check if glitches are involved in them.
Title: Re: NeoLemmix (Current Version: 1.01n) (Please vote in poll!)
Post by: namida on May 23, 2014, 10:00:34 AM
And that still leaves some arbitrariness about what exactly constitutes a glitch. Direct drop is the most debated one - some consider it a glitch, whereas in my case, not only do I consider it acceptable (just off the top of my head, Medi 7, Danger 1, PSYCHO 6 and Genius 20 are some levels I've designed where a direct drop is required, or at least used in the intended solution; and you may notice that I usually don't bother fixing backroutes that require glitches, but Medi 30 and Genius 4 are both designed to prevent direct drops (although the former is very subtle about it)) but in NeoLemmix I've even removed the need for there to be terrain below the exit for it to work, so NeoLemmix behaves like Cheapo in this regard.

Anyway, I'm gonna put this steel thing on hold for a while (by my definition, this means "a day or two" at the most xD) to give me time to think of a good way to implement it (I'm meaning as in how to actually code it here, not "should it count this, should it count that" kind of thing or what to do about file formats). Probably not a great idea to start converting any other packs just yet since if I can implement steel like that, it'll render a lot of the work I do redundant... so I guess, well an improved readme for Neo CustLemmix of course, but aside from that, now would be an excellent time to throw me any suggestions you have for objects and/or gimmicks. And if not, I have another Lemmings-related project I'm working on which I won't reveal what it is just yet...
Title: Re: NeoLemmix (Current Version: 1.01n) (Please vote in poll!)
Post by: namida on May 23, 2014, 01:53:21 PM
Another small change I just made... it now supports having ranks with different numbers of levels. So, when doing the Xmas 91/92 player on this, I can easily make it so there's two levels under 91 and four under 92; or I could put LPII and the bonus pack in a single player (though I would first have to add support for more than 5 difficulty ranks), etc.
Title: Re: NeoLemmix (Current Version: 1.02n) (Please vote in poll!)
Post by: Nepster on May 23, 2014, 08:35:59 PM
Thanks for the explanations, namida! Everythig works now.
Today I spend some more time, exploring the new game mechanics (for version 1.01n). I still found one behaviour that I would consider a glitch (besides the direct drop to the exit, where our opinions differ). The test level with replay is attached.
Apart from that: I don't know yet, whether I like the new basher mechanics. It allows for a bunch of new tricks, though most are rather hard to execute. This may make backroute-proofing custom levels rather hard in some cases.
Title: Re: NeoLemmix (Current Version: 1.02n) (Please vote in poll!)
Post by: ccexplore on May 23, 2014, 11:43:42 PM
The difficulty is in how I should go about implementing this - as you might've noticed, Lemmix has no direct connection between the game engine and the terrain piece data (the game engine simply calls a function of the renderer that renders the entire terrain layout and returns it as one large image). Therefore, I either need to make such a connection, or implement this in another way; my current thought is adding an extra option to this render thing that renders everything other than steel blocks as erasers (although still paying attention to the No Overwrite tag) and then using the bitmap generated from such to build the steel map. (My terminology here is probably horrible, but I'm hoping you get what I'm trying to say?)

So basically it's just a matter of rendering both the terrain and steel maps either at the same time, vs basically calling the renderer two times, once for each.  I'm not really seeing how one option is particularly more difficult or better than the other. ??? Then again it's been ages since I looked at Lemmix code so maybe there's some subtlety I'm not getting.

===========

Apart from that: I don't know yet, whether I like the new basher mechanics. It allows for a bunch of new tricks, though most are rather hard to execute. This may make backroute-proofing custom levels rather hard in some cases.

Do you have specific examples you are worried about?  Assuming you are talking about the basher's new ability to walk up terrain instead of through it, it seems like it would be just as difficult to exploit the original behavior as it would be to exploit the new behavior.  Mainly because in most normal cases, bashing typically causes the terrain immediately ahead to become perfectly horizontal, so there would usually be no opportunity for the lemming to either walk up (ie. new behavior) nor through (ie. old behavior) that terrain.
Title: Re: NeoLemmix (Current Version: 1.02n) (Please vote in poll!)
Post by: namida on May 24, 2014, 02:44:44 AM
Thanks for the explanations, namida! Everythig works now.
Today I spend some more time, exploring the new game mechanics (for version 1.01n). I still found one behaviour that I would consider a glitch (besides the direct drop to the exit, where our opinions differ). The test level with replay is attached.
Apart from that: I don't know yet, whether I like the new basher mechanics. It allows for a bunch of new tricks, though most are rather hard to execute. This may make backroute-proofing custom levels rather hard in some cases.

There's a lot of cases where lemmings transition to walker as an intermediate step. I shot down a few of these cases manually, but I think it's time to shoot down the lot by adding a check upon switching to a walker that (unless No Gravity gimmick is in effect) immediately changes it to a faller instead. I should have thought to do it this way sooner. EDIT: Done. Also did the reverse; when transitioning to a faller, a check is performed to see if there *is* terrain and immediately change it to a walker (this happens before the change is even processed visually; not in the next frame, so there's no opportunity to assign a quick skill now).


ccexplore: Well, what I was getting at is that while running the actual gameplay, there's no variable referring to the terrain pieces of the level data as such. It calls a "RenderWorld" function that creates one image of the entire level's terrain, and uses that. What I'm thinking was creating a variant (or a switch) of this function that only renders pieces marked as steel properly, and renders everything else as an eraser (or ignores it altogether if no overwrite is set). Then, a for loop and HasPixel is used on the resulting map to build the SteelMap (basically, just ObjectMap, the 4x4 trigger area grid; except it's no longer 4x4 and steel has its own one seperate from the main object one). This isn't something I've already coded, just my thought on how I might implement it.

As for basher tricks, one such example of what I'm guessing he might be referring to can be seen in the replay for PSYCHO 5 from NeoLemmix version of LPDOS? Though this trick already existed in previous versions, it's just a bit differently performed and not as effective now.


I've also made a few changes to the replay system for the next version:
- The text file now lists what rank and level it's for.
- The text file no longer contains mechanics information, but now contains info on which version of NeoLemmix was used to create it.
- Replays store information on which game, rank and level they're for. All NeoLemmix players (if they're V1.03n or above) save this information, but it can be set on a per-player basis whether or not correct info is required to load the replay. (At present, I have the check disabled in CustLemmix but enabled in everything else.)
- Replays created in V1.03n onwards will not load in older versions (replays created in earlier versions will load in V1.03n, but will not be able to verify that the level is correct, and thus can be loaded on an incorrect level).
- TODO: Add an option (which would be enabled for CustLemmix, and probably backported to the non-NeoLemmix version of CustLemmix) to make the filename the level name, rather than the level rank and position.
Title: Re: NeoLemmix (Current Version: 1.02n) (Please vote in poll!)
Post by: namida on May 24, 2014, 06:31:47 AM
I've started work on implementing the auto-steel. This will be the last thing added before V1.03n is released, and once this is done, I should be able to pump out NeoLemmix-adapted versions of all players *very* quickly, since all I'll have to do is adjust objects and test for solvability of levels under the new conditions. (I probably won't do any upfront testing on the official games' levels, but I will test LPII and LPII Bonus.)

So far, I've successfully gotten the game to draw *only* the steel pieces. Still need to take into account other pieces overwriting/erasing it though. (This could in a roundabout way solve the issue of whether something drawn over steel cancels the area or not - if you want it to cancel it, place the steel block first then place the other piece over it; if you don't, place the other piece first then place the steel block with No Overwrite. Making it pay attention to the steel's own No Overwrite, it appears, would require some VERY heavy modifications, and I think in this case, due to both being far simpler and allowing more choice, it's easier to leave the burden on the level design.)


EDIT: Got it all working, pretty much exactly via the methods I described. There are three new level options. All of them are set in the high byte of the extended graphic set number; I chose to use this one as it's probably the least frequently used, I doubt many people will be too bothered by only being able to have 254 VGASPECs instead of 65534 of them (especially between DOS only having supported up to 10 of them and custom standard graphic sets being possible nowdays - as well as that NeoLemmix supports 24 custom colors plus the 8 fixed ones in custom graphic sets, while VGASPECs are still limited to 8 colors and I don't really plan on trying to extend this), and the DOS versions in fact ignore this byte altogether rather than treating the two bytes as a 16-bit number.

The settings are:

1 - Enable steel erasing. When this is set, the first 16 steel areas function as normal, while the last 16 negate steel instead of adding it. (They do not negate ANYTHING else, only steel; but they can negate the automatic steel as well as manually-placed steel.)
2 - Enable autosteel. Requires support in the graphic set. (It's a very simple change to add this to a graphic set.)
4 - Ignore steel data in level. Use this if you don't want the level's steel data to be read (because, perhaps, you're testing the level with autosteel), but still want to keep the data in the level file.
EDIT: 8 - When applying autosteel, ignore overlapping terrain, just make all solid parts of the steel block into steel areas. (Currently it ignores erasers too, I plam to change this.)

I just want to test this a bit further (EDIT: and make the 4th bit *not* cause ignoring erasers), and then I'll upload V1.03n CustLemmix; with V1.03n LPDOS probably not far behind. This will GREATLY simplify porting existing packs (and designing new ones); since now I only have to adjust objects.

I've found that both the "overwriting terrain cancels steel" and "overwriting terrain doesn't cancel steel" options to be useful. Just have a look at which one works better for Taxing 2, then which one works better for Mayhem 1, and you'll soon see my logic in deciding to go with giving the option after all (even if it potentially sacrifices consistency). I would also say though, while the pay-attention-to-other-terrain seems more logical; given how steel areas are laid out by default, I would say it goes against the intentions of the designers, so the paying attention to overlapping (non-erasing) terrain would probably be an option left more for custom levels than conversions of the official packs.

I've also added an option so that a player can be compiled with any of those options globally activated (except bit 1; I see no need to add that functionality for that). This'll speed up the official pack conversions even more.

For anyone making custom styles; this does indeed mean you're no longer restricted to rectangular terrain; you can make it any shape you want and the auto-steel will use the exact shape of it.

I'm mostly just happy that this means I don't have to align the steel areas manually for the official and LPII levels (except "The COVOX Level", since it uses a VGASPEC).
Title: Re: NeoLemmix (Current Version: 1.03n) (Please vote in poll!)
Post by: namida on May 24, 2014, 08:56:04 AM
Haven't adjusted the ONML, Xmas and LPII styles to accomodate autosteel yet, so until I do that, no new version of CustLemmix or LPDOS (I'd rather have the updated styles built into CustLemmix than simply support them but the included ones don't have the info for it). So here's something I *can* give you.

http://www.mediafire.com/download/uym3m09fo3fhrlh/LemmixPlayerNeo.zip

Original Lemmings running on NeoLemmix V1.03n. Please note that it's marked as "beta" as the levels have not been adjusted in any way; it's simply the default versions of the levels with some of the steel-related options set globally (as described in the post above). The styles are, of course, adjusted so that autosteel will work. Full support for all NeoLemmix features that aren't style-dependant (such as new object types), so you can pop in a LVL file and play the level with gimmicks, for example - I mean technically, of course it even supports the style-dependant ones, it just doesn't contain any styles that make use of them.


LemSet has also been updated to support marking terrain pieces as steel.
Title: Re: NeoLemmix (Current Version: 1.03n) (Please vote in poll!)
Post by: Nepster on May 24, 2014, 09:39:12 AM
Sorry, that I was so unprecise about basher mechanics in my previous post. Attached are now four levels (with replays, but still for V1.01n), showing some new phenomena (and clam, ccx, ... will likely find many more). I am rather unconcerned about the first two. The third may have some applications in usual levels and the fourth is the most worrisome.
Title: Re: NeoLemmix (Current Version: 1.03n) (Please vote in poll!)
Post by: namida on May 24, 2014, 10:42:53 AM
1st one: A bit weird, but if you notice, this also happens in the replay I gave for PSYCHO 5 in NeoLemmix. It can actually be done (although with much better timing needed, but you also gain much more height rapidly from it) under the original mechanics too; not sure about Cheapo or Lemmini.
2nd one: That's no different from how it would behave if instead of a brick being placed there perfectly timed, those pixels couldn't be destroyed due to steel / oneways. This is fine IMO.
3rd one: I have no idea what I'm supposed to be looking for here? Unless V1.02n or V1.03n has fixed it...
4th one: Hmm... I'm not sure about this one. Once again, although it appears glitchy, it's once again just intended things interacting in unusual ways... I'm not entirely sure that fixing this would be very easy either. Although maybe extending how far ahead bashers check for terrain could do it (that way the one down the bottom won't stop).
Title: Re: NeoLemmix (Current Version: 1.03n) (Please vote in poll!)
Post by: namida on May 24, 2014, 10:45:44 AM
Anyway, here's *EVERYTHING* on V1.03n. Please keep in mind that aside from LPDOS (which still may have steel errors due to switching over to autosteel; LPDOS wasn't exactly built with it in mind - I know at the very least, Medi 1 / PSYCHO 13 has some steel areas where there shouldn't be any, due to barely-visible steel blocks being used as part of the terrain), none of these have modified levels; the only difference is that the normal steel is ignored and autosteel is applied instead.

https://www.mediafire.com/folder/pcf5ybw5vfs70/V1.03n
You can get all V1.03n versions (including CustLemmix) there.

You can of course enable the cheat codes in the INI file, but if you want to do it through the level code menu, the code is NOT "cheatcodes", but rather, whatever it was in the original version of the game, or in other words:
Orig, Covox, Prima: BILLANDTED
OhNo: SLAMRACING
X91/92, H94: SNOWFLAKES
LPDOS: NIGERFAGOT
LPII: NGGYUNGLYD
LPIIB: BARRELROLL
Cust: SKIPLEVELS



V1.03n changes (Note: May be incomplete. I'm trying to keep accurate logs of this now, though I started half way between V1.02n and V1.03n so not sure if I got everything.)
Code: [Select]
* Replays now verify they are being loaded for the correct
  level. This is simply based on the game, rank and position,
  not the title or hash of the level or anything like that.
  This check is not performed when loading replays created in
  older NeoLemmix versions, or when using CustLemmix.
* V1.03n+ replays cannot be loaded in V1.02n or earlier. Replays
  created in V1.02n or earlier can be loaded in V1.03n.
* Replay text files no longer list the mechanics settings,
  but do now list the rank and level number.
* Many skills are set statically whether the lemming transitions
  to a walker or a faller. Rather than hunt down all these cases
  individually, it is now set so that when changing to either of
  these, it checks whether the other would be more appropriate,
  and automatically adjusts.
* Different ranks within a single game are no longer required to
  all have the same number of levels.
* Fake Objects are now marked by the first drawing flags byte (the
  one used for No Overwrite / Upside Down) having the 5th bit set
  (adding 0x10).
* If using a graphic set that supports it, and the level enables it
  (or the player globally enables it), steel areas can be applied
  automatically to steel pieces instead of needing to make them
  manually.

CustLemmix does *not* automatically enable autosteel or any other of the new steel-related settings; you need to adjust the setting in the individual level file. I'll update QuikEdit sometime soon to handle this. However, as long as the level is set to use autosteel, CustLemmix supports it, including on official and LPII styles, not just new custom ones.

Also: I am aware that there is no steel on Fun 1 of Covox. That's because it uses a VGASPEC file, so autosteel obviously won't detect the steel blocks in it. I'll have to do that level manually at some point.
Title: Re: NeoLemmix (Current Version: 1.03n) (Please vote in poll!)
Post by: Nepster on May 24, 2014, 11:10:19 AM
namida, I didn't say there was anything in these replays that I consider a glitch - just some new behaviour, which I am not sure I like (but that's only my opinion). For the third replay: It's just there to show that builder-walls now need only two builders under certain circumstances.
Title: Re: NeoLemmix (Current Version: 1.03n) (Please vote in poll!)
Post by: namida on May 24, 2014, 11:33:27 AM
Ah, fair enough. Actually, your replay never gets around to assigning a second builder on V1.03n, so I couldn't've seen it even if I had realised what you meant. Still, I don't think that's anything unique to NeoLemmix, apart from the steel mechanics making it a bit easier to pull off in some cases.

Anyway, here's something I'm not sure about. Make sure you use V1.03n to check this, otherwise it won't work. The attached replay shows off non-rectangular steel working just fine (in this case I just used a square rotated 45 degrees, but you could make any arbitrary shape; you could have a spiral-shaped steel piece if you wanted). But, the way the basher handles when he meets it... I'm not sure if I want to do something about this maybe... (Just for reference, all it takes is *one* pixel off the edge erased, and he'll hit steel and turn around like normal.) Also, this is a pretty neat level in itself too. It is actually possible (but quite hard) to solve without grabbing the extra builders.
Title: Re: NeoLemmix (Current Version: 1.03n) (Please vote in poll!)
Post by: namida on May 26, 2014, 08:31:24 AM
Two more fixes to expect in V1.04n (haven't released it yet; don't freak out if you can't find it :P ).

> We all know the classic "nuke glitch", but Lemmix also had another, far more minor nuke glitch which I believe (but could be wrong) wasn't present in the originals - if the timer runs out after the lemmings start exploding from the nuke but before they finish, the level won't cut off and the timer wraps around into negatives. This is fixed for V1.04n.

> Objects with Y coordinates less than zero now work properly.

Thanks to DynaLem for these; I was actually aware of both (the former actually happens in a few of the official LPII (non-NeoLemmix version) replays; while I ran into the latter while trying to improve the appearance of Medi 26 "Overheat" for the NeoLemmix version) but had completely forgotten about fixing them, he reminded me.



And another new feature, this is one I discussed earlier as a low-priority idea but didn't implement until now:

> You can now specifically set the music for your level. This uses the high byte of the graphic set number.


I'll probably add support to CustLemmix for external music files at some point, too.




EDIT: One more, again this is something I've discussed before.

> When using CustLemmix, replay files will be saved with a filename based on the level's title, not its rank and position. (This feature will also at some point be backported to non-neo CustLemmix.)
Title: Re: NeoLemmix (Current Version: 1.03n) (Please vote in poll!)
Post by: namida on May 26, 2014, 12:30:37 PM
Version 1.04n is here.

Code: [Select]
*  Bashers now perform steel / oneway checks on two pixels (the
   new one is one pixel below the old one).
*  The minor nuke glitch (where, if the nuke has been used but
   some lemmings are still exploding, the timer wraps around into
   negatives instead of running out and ending the level) has been
   fixed.
*  Objects with Y coordinates less than zero now function properly.
*  Music can be fixed. This is done using the high byte of the
   graphic set (similar to how steel settings are on the extended
   graphic set). The corresponding track number will be played.
   The following have special effects:
     00 - Player's default, unless the level has a gimmick
     FD - Player's default, even on gimmick levels
     FE - Frenzy music
     FF - Gimmick music
*  In CustLemmix, replay filenames are based on the level's name,
   not its position. (This does not affect non-CustLemmix players.)

All players can be downloaded here. This time, as well as individual files, I also put a ZIP containing the whole lot of them (including the Lemmings Plus ones).
https://www.mediafire.com/folder/xlxaab8awc3bp/V1.04n



You may have run into a bug on custom styles (or the test style I've posted several times in different versions) where NeoLemmix appears to be regarding pieces of terrain as steel when it shouldn't. You may also notice it wasn't listed as fixed in the above changelog. That's because this was actually a LemSet bug, not a NeoLemmix one; LemSet was marking pieces as steel when it shouldn't (specifically, after the first piece that *should* be marked steel, all remaining pieces it would mark as steel). A fixed version of LemSet has also been uploaded.
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 27, 2014, 05:28:32 AM
I have another project connected to NeoLemmix that I might reveal now... I have no idea if I'll actually finish it, or if at some point I'm just going to decide it's not worth the effort, though. I'm working on my own (proper, not text-based) level editor; more a modern remake of LemEdit than a truly new design. For now, just a level editor (but with full support for NeoLemmix features), at a later point I might integrate LemSet-type features into it too.

I'm writing it in DBPro rather than QB64, as I've found QB64's graphics support to be quite unreliable and buggy. I have to say though, trying to use any BASIC variant after getting used to Delphi from all the work I've been doing on NeoLemmix lately... it feels really weird and a lot of things are annoying me now that, initially, I got annoyed that Delphi *wasn't* that way (for example; at first I found it annoying that you have to pre-define variables in Delphi, but now I'm actually finding that to be a really useful feature for, say, hunting down typos that are causing bugs). This does mean I have to redo the routines from scratch, sadly. I've already implemented reading the Ground file and decompressing (but not yet reading the decompressed contents of) DAT files, working on loading the graphics from it at the moment.

The main reason for doing this is that, although LemEdit is useable with 32 color graphic sets, it's not exactly the cleanest, and it in effect puts extra limitations on since at least some of the fixed colors need to be duplicated into the custom ones or else it becomes not so useable due to graphic glitches. As you already know, other level editors, I'm either not too fond of (Lemmix editor), or they're primarily aimed at Lemmini and a bit awkward to use with DOS (jLevelBuilder), or they just plain don't work on my system (Lix). Not to mention even jLevelBuilder, probably the best alternative, doesn't support NeoLemmix features - the only editor that does is QuikEdit, and while it's better than a hex editor, it's not better by much, it pretty much only exists because no other editor can edit those specific things. So I'm writing a new editor, appropriately titled "NeoLemEdit" (obvious combination of "NeoLemmix" and "LemEdit"), to provide a full-featured (at least in terms of levels) editor with full support for NeoLemmix additions. (Adding Lemmini support at some point is not a priority, but is something I am willing to consider once the basic features for NeoLemmix and traditional DOS/Lemmix are in place.)

Some of the coders here would honestly facepalm at some of the mistakes I managed to make (and of course, subsequently fix) so far... the most amusing one, and this actually had me confused for AGES as to why it was loading incorrect colors in some cases but not others - I had been loading palettes as "red, blue, green" rather than "red, green, blue". *facepalm*

EDIT: It now can completely load a graphic set into memory. Next up is to write a function to quickly take care of loading both the GROUND and VGAGR files for a specific set number (currently, I have to first call the function to load the Ground file - that's all done in one function - then one to load the VGAGR to memory, two to decompress it (one per section), and one to build the images out of it - the one function here takes care of both terrain and objects, obviously via  other more-specialised functions rather than windy code.) Then it's saving and loading level data, and from there, the next step is actually building the editor. For now, I'm only going to worry about saving to LVLs, not to DATs (although I will add DAT saving at some point in the future), though I may as well add the functionality for loading from DATs since if it already has both decompressing DAT files (nessecary for loading graphic sets) and loading LVL files, it's a VERY short jump to add loading levels from DAT files.

I've got another, much bigger announcement coming up soon too, so stay tuned. ;) Some of you might already know / be able to guess what it is.
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 27, 2014, 04:29:06 PM
Notice anything new? =D
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: Minim on May 27, 2014, 10:22:37 PM
Oh yes, It took me about 2 minutes to work out what it is. The time limit now has seconds added. :D

I voted for the Suicide button option. Maybe that's the best idea to stop players backrouting people's levels? :-\ I don't know, but I think the idea of a suicide button is rather cool. You can be creative with it by making the button as long or as tall as you like, and rotate the position to direct the lemmings towards or away from it.
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 28, 2014, 03:37:39 AM
^ That's actually one of the reasons I haven't done that one yet; because I don't really want to if it's only ever going to be used as a cheap and tacky way to fix backroutes. To some degree, the one-way fields ended up being that way in LPII, although at least some levels made interesting use of them.

Anyway, a suggestion I received via PM was to drop the % saved in favor of a plain number of lemmings. I don't actually like the idea of getting rid of percentages altogether, but I'm thinking about maybe adding an option to let the player choose which one they prefer; that would be fine with me. Obviously, this would nessecitate some fixes to goal calculation - currently it actually runs on the exact % value, not "works on number of lemmings but displays it as a %". Which has no impact on levels with <= 100 lemmings, but it does if there's more. For example, if the level has 200 lemmings, both 50 and 51 lemmings saved would report at 25%; in fact, even if the level sets the goal at 51 lemmings, saving 50 lemmings would be counted as a pass because it's still 25%. So I'd have to fix this. Which to be fair, I probably should anyway.

(EDIT: Option added, glitch fixed.)
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: Tsyu on May 29, 2014, 03:58:44 AM
I noticed a few bugs that you should try fixing:
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 29, 2014, 10:05:29 AM
1) Going to try and fix that for the next version. (EDIT: Done.)
2) I have one idea for how I might be able to fix this, not 100% sure how well it'll work though. Probably won't be in the next version.
3) Ideally, that should never show up. :P But yeah you're right, I'll translate these at some point. Not guaranteeing next version or anything though.
4) This is something that varies between versions. DOS simply advances to the next music every time you complete a level; if you quit the game and start again, it restarts from the first one. Windows is the same, but preserves it between restarts. Sega Master System is the closest to how I've implemented it. Though; I believe that shouldn't happen in the X91/92 player?
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 29, 2014, 11:03:05 AM
Two things you might be able to notice here... one of them, as mentioned, is *optional* and can be configured from the INI.
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: Tsyu on May 30, 2014, 12:02:50 AM
4) This is something that varies between versions. DOS simply advances to the next music every time you complete a level; if you quit the game and start again, it restarts from the first one. Windows is the same, but preserves it between restarts. Sega Master System is the closest to how I've implemented it. Though; I believe that shouldn't happen in the X91/92 player?
Most major versions of Lemmings (such as the Amiga and Macintosh versions) use the system that I suggested, although not all of them use the same music order. If you would rather keep it the way it is, though, that's fine with me.

Still, you might want to consider changing it in Holiday '94. The first and last levels of a ranking in that player have the same music, resulting in the same music playing in two consecutive levels.
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 30, 2014, 01:44:24 AM
Out of the poll options, the low-gravity zones have been implemented for the next version. Lemmings, whether fallers or floaters, fall slower than normal in these zones. While in them, their "distance fallen" decreases rather than increases (though not as quickly as it would increase by falling the same distance) - can't decrease below zero, by the way - and if they're within the zone when they land (as opposed to simply passing through it during the fall), they won't splat no matter what. There's still a few things to do with them that I need to fix up though - currently, if a lemming ends up in one early enough in their fall, they won't pull out their parachute; and I'm pretty sure it's going to have some weird results if mixed with the exhaustion gimmick too.
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: Wafflem on May 30, 2014, 02:07:19 AM
What happens if the no-gravity gimmick is in play and a lemming touches the low-gravity zone?

Also, how big are the low-gravity zones?
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 30, 2014, 03:24:46 AM
It has no effect when the No Gravity gimmick is in play, because it only affects Fallers and Floaters; which are two types of lemmings that never occur under No Gravity.

And, like any object, the size is whatever the style says it is. They're no different to any other objects in this regard - most aren't, the only custom ones that have any special effects relating to the size of the trigger area are the receivers and the instant lemmings, both of which ignore the size of their triggers (they use the trigger area coordinates, but not the sizes). Everything else uses them (even the pickup skills - they might appear to use something else since they trigger when the lemming walks underneath them, but that's actually just a result of exactly what position/dimensions I set for their object in that style).



NeoLemEdit is also coming along fairly well. It's now down to making the interface and actually *editing* the levels; pretty much all the nessecary behind-the-scenes functionality is in place (the only things missing, as far as I can think of, are VGASPECs and saving to DAT files (but it can load from them)).
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 30, 2014, 05:51:02 AM
Well. My attempt at rendering a level was... not exactly a success, but not a 100% failure either. Even if it's messed up in ways that are better explained by looking at the picture, the small segments DO have a pretty good resemblance to the actual level. (Yes, I know objects are missing - I haven't implemented drawing them when rendering the level yet. Terrain first, then I'll worry about them.)

EDIT: Second attempt. Looking better!

EDIT: Third attempt. Almost there!

EDIT: Sort of found the problem. I had the "No Overwrite" and "Upside Down" flags the wrong way around. Because I had them the wrong way when both saving *and* loading (and they were consistent with each other), the result of loading a LVL file then saving it again was identical to the input, thus, I didn't pick this up earlier. So that's corrected now and it's interpreting them correctly but... it's also interpreting "no overwrite" as "don't draw it at all". >_>
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 30, 2014, 08:21:34 AM
Ah, much better. Objects are now rendered, too. (The pickup skills don't quite render properly because at the moment, it just renders the first frame of the object, and pickup skills do special stuff involving frames - so that's not a bug/glitch, just an advanced feature that I haven't implemented in the editor yet.)
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 30, 2014, 09:03:53 AM
w00t!
Currently displaying at a 320x200 resolution, simply because I haven't written the code to resize the rendered level to fit a 640x400 window yet. However, ultimately, it'll run in 640x400 to keep open the option of supporting Lemmini.
(Toolbar is visible but non-functional at this stage; it's hardcoded to open a specific LVL file, though if you replace that LVL file with a different one it'll load whatever LVL you put there - it currently does not pay attention to the screen start position or graphic set in the file, it just uses set values for those, but obviously that wont' be the case once it's fully working.)


EDIT: It still is hardcoded for what level file it tries to open, but it now defaults the screen position to the level's starting screen position, and loads the correct graphic set instead of always loading set #1. Additionally, although no editing functionality is implemented yet, you can now scroll the loaded level. =D And, running in the proper 640x400 resolution now. Also, toolbar displays the mouse X and Y and screen position (didn't implement the slider yet). So I guess so far, it's a (almost) fully-functional level viewer. xD
Title: Re: NeoLemmix (Current Version: 1.04n)
Post by: namida on May 30, 2014, 06:44:26 PM
Alright, here's V1.05n. Got a few changes here that don't require specially-made levels; most notably that you can now choose between percentages or plain lemming counts, and in CustLemmix you can now choose to load a levelpack other than LEVELPAK.DAT (this feature has also been backported to traditional CustLemmix).

Code: [Select]
v1.05n
------
*  Fixed some bugs relating to the reverse skill count gimmick.
*  Skill panel now displays 0 instead of a blank white square
   when none of a skill remains.
*  Infinite uses of a skill is now possible. This is done by
   setting the skill count to 200.
*  Time limits can now have seconds as well as minutes. The
   preview screen has been slightly changed to accomodate this.
*  Explosion particles now disappear properly.
*  There is now an option in the INI file to choose between
   using percentages or using number of lemmings.
*  Levels with >100 lemmings no longer sometimes count an attempt
   as successful when it's a few lemmings short but still enough
   to, when rounded down to a whole number, reach the same percent
   as the goal would be.
*  Some slight changes to the formula to determine which victory
   or failure message is shown.
*  CustLemmix - The level pack name to load can be changed in the
   INI file.
*  New object: Low-gravity zones. Lemmings fall slower and are far
   less likely to splat afterwards, and will never splat if they
   land while still in this zone.



ALSO: I turned off autosteel for LPDOS, since the manually done perfect steel gives better results on
every level except Medi 19 / Danger 11, and even there, the slight inaccuracies in it have no impact
on any known solution to this level nor do they allow for any known backroutes that would otherwise
not be present. All other players still have it globally enabled (except CustLemmix of course).

Download here, I'm still in the middle of uploading them so some may not be available yet, just give it a few minutes done:
https://www.mediafire.com/folder/16bynte4q5w5m/V1.05n

(Note: First release of V1.05n had a major bug; in that the time limit "wrapped around" after 7:59, causing an 8 minute level to instantly declare "time up" and a 9 minute level to only give 1 minute. Within minutes of uploading I caught this bug, and rather than wait till V1.06n, I uploaded a fixed version of V1.05n. I don't think anyone actually downloaded the bugged version, but if you did and you're getting that bug, redownload it.)

----
I am aware of (and have already fixed for V1.06n) the following:


Editor-wise, the toolbar (at least the default version, not the slightly different versions for terrain / objects / steel) is now fully functional! Well, most of the buttons don't do anything yet, but they function as clickable buttons and do in fact, behind the scenes, each report a different code so that they can be handled seperately. To an end user it doesn't really make much difference, but for me, all I have to do is code what those buttons actually do now; detecting them being clicked is already fully in place. The only ones that actually *do* anything though are the scroll arrow buttons and the "Exit" button (also, the scrollbar also is fully functional).

EDIT: I now have also implemented (quite generically, so it can be reused for every such input box in the editor) code for typing into the input boxes. So far, the only input box you can actually get to appear (and thus, the only one you can use) is the screen position one on the toolbar; but it works perfectly! You may quite rightly be wondering - that's a textbox that only uses numbers, how can you be sure letters will work too - but the way it's designed actually means there's very little difference between the two (the only change is what range of ASCII characters it'll accept - text boxes accept anything from " " to "~", while number boxes only accept the digits).
Title: Re: NeoLemmix (Current Version: 1.05n)
Post by: namida on May 31, 2014, 10:09:12 AM
Well, NeoLemEdit can finally actually edit something! At this stage, it can only edit the skills, though. Besides the traditional setting the amount of skills, it also has a button to set a skill's uses to infinite, as supported in NeoLemmix V1.05n and onwards (if you try to load such a level in older versions or other engines, depending on the engine in question it'll either give you 200, 99 or none - older Lemmixes do 200, I believe).

I still haven't made a proper save/load menu yet. It just always loads from a specific filename (not going to say what that is, as it would reveal the position of one of those two levels in LPIII) when starting up, and saves to the same filename with an "A" on the end if you push the S key. I'm not sure what I'm going to do next, but it'll be either the general stats menu or the loading and saving LVL files (DAT will come later - although the nessecary underlying code for *loading* from DATs is already there; code for saving only exists for LVLs so far).

First screenshot just shows the skills menu. In the second one, I've clicked the infinite button for a few skills and am typing in the amount for bashers.
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (not yet released)
Post by: namida on May 31, 2014, 11:55:58 AM
I've yet to actually implement it into the program, but here's what the general stats window looks like. Much more crammed than the old LemEdit one. o_O

Note to self: Don't add any more features relating to general level stats. xD

Also, in a later version, I plan to actually do a dropdown list or popup box or something for gimmick selection. But at first, it's going to be a matter of "enter the code". xD I should also mention, Autosteel will be turned *on* by default when creating a new level; but of course you can turn it off.


EDIT: Implemented. Though (except for the button to set the starting screen position to the current position, and the "Confirm" and "Cancel" buttons) it's not functional yet.

EDIT AGAIN: And it's functional now. Including that if you change the graphic set number, once you exit that menu (it doesn't do it in the background while you're still in there), it correctly loads up the new graphic set. (VGASPEC support still isn't implemented; the Ext field just allows you to view/change the extended set number stored in the level file.) You probably also notice that I expanded the time limit minutes, graphic set number and VGASPEC number fields to 2 digits, and the lemmings and requirement to 3. =)

And if anyone's gonna ask: Yes, those are the actual stats and skillset for that level, I didn't change them for the screenshot. xD
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (not yet released)
Post by: mobius on May 31, 2014, 04:28:34 PM
wow, cool! I missed this thread. This is looking really nice. I like all these new graphics people are making lately  :thumbsup:

I voted for the pre-placed athlete because I thought it might offer the biggest level design opportunity. But it looks like the vote is pretty divided. IMO, that or portals are the coolest.
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (not yet released)
Post by: namida on May 31, 2014, 05:33:26 PM
NeoLemEdit now boots to a blank level, and the menu option to load a LVL file now works (including that you can enter any file you want). =D Saving... I'll do it tomorrow. Done enough for tonight. Mostly that I can't be bothered doing the popup box to confirm you want to overwrite existing files, right now.
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (not yet released)
Post by: namida on June 01, 2014, 07:45:19 AM
I'm wondering - I put a poll up for this, but feel free to post if you want to say more than what the poll can - would there be any interest in support for VGASPECs with more than 8 colors? The reason I ask is because, I did expand the normal graphic sets by an extra 16 colors - but I plan to make use of that myself. On the other hand, I don't see myself being very likely to make use of extended VGASPECs, so it's a feature I'm only going to code if people are likely to use it. But if I am going to code it, I'd like to know that I'm going to do so *before* I start coding any VGASPEC support into NeoLemEdit.

Just to be clear - just like how NeoLemEdit and NeoLemmix can use the old 16-color graphic sets as well as the new 32-color ones (and for that matter, most old formats); they will likewise remain able to use both the older and the new VGASPECs.

EDIT: Also, I noticed the bug involving bashers and diagonal steel has somehow revived itself. The code I added to fix it is still there, so I'm guessing something else brought it back. At any rate, it'll be fixed (again) in V1.06n.
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (not yet released)
Post by: Minim on June 01, 2014, 09:58:29 AM
I have tried your NeoLemmix program, but I found it a lot slower compared to the original Lemmix programs (The fast-forward button doesn't work and the skip-time buttons cause the game to freeze). I just wonder what exactly is causing the NeoLemmix games to be so slow?
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (not yet released)
Post by: namida on June 01, 2014, 10:57:38 AM
Probably because NeoLemmix does a lot of checks that normal Lemmix doesn't, thus, it needs more power to run. In fact, Lemmix (in traditional form) can exhibit those kind of behaviours too, under intense circumstances (such as levels with very high numbers of lemmings); it just takes less to push NeoLemmix to that point because it does more work.

This is especially true of blockers - under traditional mechanics, the trigger area grid is made up of 4x4 sections, whereas in NeoLemmix, it's pixel-perfect. This essentially means that the engine has to do 16 times as much work each time a blocker is placed or removed, since what was previously one spot of the trigger map is now 16 spots. In practice, it isn't *quite* 16 times, because the blocker's fields don't cover quite as large an area as they did before, but it's still a LOT more. Likewise, any skill that applies a terrain destruction mask can no longer just blindly slap the mask down, but also has to check if any of the pixels shouldn't be removed (due to being steel or wrong one ways). Likewise, climbers now perform terrain checks more often (though the checks themself aren't any more intensive, I don't think; they're just more frequent), builders perform a couple of extra checks each step, etc.

That being said, on my system - a laptop from about 3 years ago, that was probably somewhere between "good" and "great" for its time but definitely nowhere near top-of-the-line - it doesn't have any problem with fast forward or time skip; it does sometimes take a while to load a saved position, depending on various factors (how complex the level is, how many lemmings, what skills are used). Maybe try running it on a different system, or with less processes running in the background? I might see if I can get an older PC up and running to see just how bad the performance issues are and if I can identify anything that's really straining and if there's any way to improve it. Indeed, some of the earliest fixes I implemented could probably be implemented in more efficient ways; the hard part is tracking down exactly which ones cause the big issues when my system isn't one where the issues are particularly noticable. But, I would certianly rather not make it unusable on older systems if I can avoid it.
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (Current: V0.30)
Post by: namida on June 01, 2014, 01:09:57 PM
Alright. While it's nowhere near complete, since NeoLemEdit can now load and save files properly (at least for LVLs), and edit the stats and skillsets (including NeoLemmix features, even some that QuikEdit doesn't support yet - and probably won't, since I probably won't bother updating it anymore), it might actually be somewhat useful, even though it can't edit any aspect of the actual level layout yet. (Also, it shows that I am actually doing something, rather than just taking screenshots of LemEdit and editing them. :P)

So, here's the first release. Just to re-iterate - it is nowhere near complete and you will not be able to create a level from scratch in it. Not yet, anyway.

http://www.mediafire.com/download/luhbfjnf3bbpazo/NeoLemEdit_v0.30.zip


If it's of interest to anyone, the NeoLemEdit.dat file is a standard Lemmings format DAT file, and contains the following sections:

Section 0: Palette info. Just the default Lemmings palette. Probably don't want to edit this.
Section 1: Unused, reserved for future use. (It'll be a list of gimmicks and their codes.)
Section 2: Unused, reserved for future use. (It'll be a list of trigger effects, their codes, and what properties need to be set for them.)
Section 3: A blank level, this is what it loads when it boots up (or, in the future, when the "Create New Level" option is selected). You can modify it if you want, but keep in mind that, except on startup, it ignores the graphic set number stored in this file.
Section 4: Contains some data on the positioning, sizes, and effects of the buttons and input boxes in the interface. You probably don't want to edit this either.

The interface images aren't stored in the DAT file, they're directly embedded in the EXE.
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (not yet released)
Post by: Minim on June 01, 2014, 06:18:59 PM
That being said, on my system - a laptop from about 3 years ago, that was probably somewhere between "good" and "great" for its time but definitely nowhere near top-of-the-line - it doesn't have any problem with fast forward or time skip; it does sometimes take a while to load a saved position, depending on various factors (how complex the level is, how many lemmings, what skills are used). Maybe try running it on a different system, or with less processes running in the background?

OK, I've figured out what was going wrong. :) I think it all depends on the type of computer you have. My Windows XP computer was the reason why it was playing so slow, despite being a fast machine. I did as you said and decided to run it on my Windows 7 laptop and it was MUCH better (I could read the scroll at the bottom of the title screen, and avoid the 5-second delay on each fadeout (Which I briefly asked here), some of the things that my XP was unable to match). Thanks, namida!
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (Current: V0.31)
Post by: namida on June 02, 2014, 06:29:10 AM
Alright, here's V0.31 of NeoLemEdit. It doesn't have any new features from V0.30, just a few improvements to existing features:

> Level images are now saved with the proper black background, rather than a transparent one.
> Much less lag while scrolling.
> Tolerance for invalid data *very* slightly improved. It's still likely to crash if you try to make it do so, though.

http://www.mediafire.com/download/ad7lh4d98zuy3ah/NeoLemEdit_v0.31.zip

If you're wondering what I did to improve the lag; previously, it redrew the entire level every time anything on-screen changed (whether it was that it had been drawn over by a menu, scrolling, changing graphic set...). Now, it only redraws it when nessecary - if nothing's changed, it re-uses the same image it generated the last time it drew the level. Additionally, it doesn't render the whole level (except when saving an image file, obviously), but only the parts on the screen and about 200 pixels either side (this is so that it doesn't have to regenerate the layout just because you scrolled 8 pixels).
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (Current: V0.32)
Post by: namida on June 02, 2014, 10:48:56 AM
Well, this is quick even by my standards. V0.32 is here.
I wasn't going to release a new version so soon - the only new feature is that it can now display steel areas - but I found some major rendering bugs relating to objects, and also with terrain pieces that have contradictory properties (such as having both No Overwrite and Eraser activated - NeoLemEdit was trying to apply both, whereas the correct behaviour is to only apply No Overwrite in this situation. Most editors won't allow setting contradictory properties like that, but some levels from the official games have terrain pieces set like that.)

Aside from the fixes and rendering steel, it also now gives an "are you sure you want to quit" box when you try to exit (as long as you use the exit button - clicking the X is an instant close still, I probably won't change that).

Mayhem 6 is a good level to compare the versions. As you can probably guess from the attached image, it doesn't include the steel areas when saving an image; it only displays them actually inside the editor.

And, with this one, make sure you replace NeoLemEdit.dat as well as the EXE, as it contains a bit of data that's new.

http://www.mediafire.com/download/v7a6w9x3s7sij8f/NeoLemEdit_v0.32.zip

Next thing on my todo list is placing/editing steel areas - that's by far the hardest thing to do without a graphical tool that supports it. (Even though autosteel does render it somewhat redundant, but just in case.)
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (Current: V0.32)
Post by: namida on June 04, 2014, 10:49:55 AM
Question! You know how when editing a piece, LemEdit has those directional buttons on the toolbar to move it (instead of drag&drop or using the arrow keys)... does anyone actually use these, and if so, would you really miss them if they weren't there? It's just because I see them as kind of redundant, and would like to be able to re-use that space for other purposes (except on steel, where I'll probably keep the arrows but re-use them themself for adjusting the sizes, rather than those fiddly buttons LemEdit normally has next to them); especially on objects.

At this point I'm going ahead with my idea of getting rid of / repurposing them, but if anyone really wants their original function retained, the sooner I'm aware of it the easier it'll be to change it back to how it was in the original.

I should be able to release a new version pretty soon. Steel editing is almost complete - selection is done, editing position/size via the input boxes on the toolbar is done, resizing via the arrow buttons is done. Just have to implement moving via arrowkeys (done) and drag/drop.

Not sure whether I'll do terrain or objects next after that. Terrain will be easier, but objects will be more useful - there's no terrain-related new properties in NeoLemmix after all (except the autosteel which doesn't require any special editor attention for terrain editing).
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (Current: V0.40)
Post by: namida on June 04, 2014, 01:27:25 PM
Steel can now be edited. ;)

http://www.mediafire.com/download/y0dor1ieaqcz8s1/NeoLemEdit_v0.40.zip

(EDIT: Should clarify; it can ONLY edit existing ones, not place new ones yet.)
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (Current: V0.40)
Post by: Tsyu on June 04, 2014, 07:22:16 PM
Just so you know, the word is spelled "necessary," not "nessecary."
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (Current: V0.40)
Post by: namida on June 05, 2014, 05:36:23 AM
^ It's one of those words I never get right no matter how much I try. xD

Anyway, terrain editing is semi-implemented now. (I'm aiming for editing all types of pieces first; then I'll worry about creating new ones and deleting existing ones.) The toolbar isn't functional for it yet though (but that's one of the easier parts), but drag and drop and arrowkeys are.

EDIT: Same for objects too now.
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (Current: V0.41)
Post by: namida on June 05, 2014, 06:27:51 AM
Here's V0.41. It contains support for editing the position (but not any other attributes) of terrain and objects. The only reason I'm uploading a version of this is because it now means NeoLemEdit supports all NeoLemmix features that require a graphic interface to do effectively (namely, pixel-perfect object positioning is the new one; I did terrain first which is why that's also in there).

Next version should have *full* support for editing existing objects and terrain (as well as for changing the Z value of steel pieces, which is important with the negative steel feature). After that, the only remaining feature I plan to do in the near future is of course placing pieces from scratch and deleting them, and some other small stuff (like replicating existing pieces). Once NeoLemEdit is fully capable of designing levels from scratch, I'm probably going to put further work on it on hold until LPIII is complete, apart from adding support for any new NeoLemmix features that may come along.


EDIT: Version 0.41a. Fixes a crash when exiting the General or Skills menu if entered while a steel, terrain or object is selected. Otherwise it's identical to 0.41.

http://www.mediafire.com/download/lwt6qyq3o4b134c/NeoLemEdit_v0.41a.zip
Title: Re: NeoLemmix (Current: V1.05n) and NeoLemEdit (Current: V0.41a)
Post by: namida on June 08, 2014, 08:48:19 AM
Bit bored of editor work, so I've been doing a bit on converting existing packs to full NeoLemmix versions. I'm starting with the smaller ones - so at this point, LPII Bonus, Covox, Prima and X91/92. (Well, Covox might have to wait until NeoLemEdit has VGASPEC support...)

I've looked through most of LPII Bonus - the only levels I still need to look at are Challenge 5 and Rush 4. Rush 4 will have to wait until I can be bothered (let's face it, that level IS a bit of a pain in the ass :P ), while Challenge 5, I am convinced that it is impossible without modifications but I'm not entirely sure what I want to modify about it.

Fortunately, the way the LPII levels were designed means autosteel works quite nicely with them - I tended to keep in mind a concept of "tidy" design. On the other hand, while it works for the most part in LPDOS, due to the use of barely-visible steel in some cases as normal terrain pieces, autosteel can have weird results (hence why, until I properly go through it again, I've switched autosteel off in the NeoLemmix builds and am using my hand-modified steel instead, even though it's not 100% perfect in some levels - most notably Medi 19 / Danger 11). There is ONE case of this in the LPII bonus pack (Flight 7), but that can easily be sorted with a negative steel area, it's only one block.

Apart from that, the requirement in Challenge 3 has been dropped to 94% (one lemming fewer) and some time limits have been changed:
Trial 5: 0:45 (was 1:00)
Challenge 2: 1:15 (was 1:00)
Reverse 4: 1:30 (was 2:00)
Reverse 6: 2:15 (was 2:00)

No changes (at least yet) to any of the skillsets. Also considering knocking Trial 1's time limit up to 1:05, and perhaps increasing the requirement to 50% - in its current state, it is only *JUST* possible to beat, and I don't think it's possible to get more than the required 45%.

Trial 6, especially the RHS solution, is quite a bit harder now I thought, just because of mechanics changes. But it didn't actually need any modifications; both sides are still possible under the existing stats and skillset.


EDIT: Also just realised I forgot to look at the two secret levels (I did check they're still accessible - Challenge 7 is same as always, while Flight 7 requires a new approach to get to it).

So I looked at them, as I mentioned above Flight 7 needed some touchups, while Challenge 7 didn't (I didn't think it would). So I just need to get around to sorting out Rush 4, and decide what exactly I'm doing about Challenge 5, and hopefully for V1.06n, LPII Bonus Pack Neo will no longer be a beta version. :)

EDIT: Can confirm *most* of Rush 4 works fine, but there is one part near the end that needs a slight modification.

EDIT: Challenge 5, the decided change is 1 extra builder and 15 seconds extra on the time limit (although the extra time is not strictly necessary; it is still possible to solve in 2 minutes, albeit barely). Rush 4 is a terrain change.
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.41a)
Post by: namida on June 08, 2014, 02:02:28 PM
NeoLemmix v1.06n.

https://www.mediafire.com/folder/0rrt85dg9b9y4/V1.06n

Code: [Select]
v1.06n
------
*  Found and fixed a massive source of lag.
*  Black particle-like pixels no longer appear over entrances in
   certain conditions.
*  When using the skip level cheat with percentages disabled,
   the postview screen now displays you as having saved every
   lemming like it should.
*  If a lemming enters the exit right as an explosion countdown
   finishes (due to the nuke or the Radiation object), that
   lemming no longer plays the exiting animation and sound twice.
*  Fixed a bug where being exactly two lemmings short of the goal
   would sometimes still give a success message (without actually
   counting as a pass; just gives the wrong text).
*  Fixed a bug specific to the ONML Neo player, that added an extra
   copy of the first level of each rank as a Level 21 in the previous
   rank.
*  Lemmings Plus II Bonnus Pack NeoLemmix version is no longer
   considered beta, but the first proper NeoLemmix version (V1n/1.06n).
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.41a)
Post by: namida on June 08, 2014, 04:54:23 PM
Here's the Circuit style from LPIII. Just so you can play around with some of the new objects, including some I don't think I've mentioned yet. The style should work in any editor though may have graphical oddities in editors other than NeoLemEdit. (However, I've only tested it in LemEdit.)
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.41a)
Post by: namida on June 09, 2014, 05:32:44 PM
Alright, here's a big one!

NeoLemEdit v0.50
At this point, NeoLemEdit can finally fully replace QuikEdit! I will leave QuikEdit up, but keep in mind it's not going to be updated (there's already stuff it doesn't support).

So, you can now edit all features of terrain, objects and steel, obviously including the NeoLemmix-exclusive ones. You can also now use the toolbar to adjust their positions, if you wish. You still can't change which piece a given terrain/object is; but that's pretty much the only attribute of it you can't change.

http://www.mediafire.com/download/9ccp82i6npo9at6/NeoLemEdit_v0.50.zip

(Yay, I remembered to actually include a download link instead of having to go back and edit one in this time.)
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.51)
Post by: namida on June 09, 2014, 07:16:49 PM
And why stop there. Since it's so close, here's V0.51, with a few hacky solutions to allow placing new pieces and modifying their types, thus meaning NeoLemEdit can now fully create levels from scratch! See the readme file for more info.

http://www.mediafire.com/download/e1itvsy1x1kf41a/NeoLemEdit_v0.51.zip

I should probably mention about the S, L, Lf and Fk options on objects.
S - This is the skill number for the pickup skill objects. 0 = climber, 7 = digger.
L - This is unused at this stage, it's there for future usage.
Lf - This is the option used for left-facing entrances or pre-placed lemmings.
Fk - This option marks an object as fake.

When enabling negative steel; it's based on the steel piece's Z value, not any specifically settable attribute. Values above 16 become negative. And, negative steel will override autosteel or manually-placed steel. (By the way, NeoLemEdit will display these negative steel areas green instead of gray, so you can tell which ones they are without having to select them and inspect their Z value)

I've also attached a level file; the first level made completely in NeoLemEdit! No special style file required; it uses the dirt style. Just run it on NeoCustLemmix. It's not a particularly hard level, though it does have a gimmick. ;) (Someone asked me this, so I'll answer it here to save anyone else asking: No, this one is not an LPIII level, it's not going to be remade in an LPIII style, etc. This time, it really is just a test thing. xD)
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.51)
Post by: Minim on June 10, 2014, 09:49:56 PM
I saw the new poll and voted for the restart button. You could even replace the nuke button with it if that's possible...
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.51)
Post by: ccexplore on June 10, 2014, 10:34:09 PM
Haven't paid attention to the poll until now.  In Lemmix I've always been using the keyboard for fast forward and restart, so I guess the only thing left is instant RR 99.  But that can potentially be achieved like in Lix, where double-clicking on the existing increase/decrease RR buttons instantly moves it to RR 99 (and lowest allowed RR respectively).  Granted, the tricky thing with double-clicking is that from time to time you may activate this behavior by accident.  Perhaps a better implementation would be to hold down another key or mouse button while clicking the RR buttons.

I believe in most if not all subsequent versions of the game (starting from Lemmings 2 all the way to present times), there is almost always a fast forward button.  Restart button is pretty rare and may be hidden elsewhere rather than always displayed alongside the skills (eg. IIRC, in Lemmings Revolution restart is one of the menu options, and you bring up the in-game menu by pressing the ESC key or something).  I guess the nuke is just such an entrenched tradition that, even though seasoned players would rather do a quick restart to save time, in no case had an official game replaced the nuke button with a restart button.  Finally instant RR did not seem to have ever made an appearance in any official versions of games in the franchise  (granted, some games like Lemmings 2 don't even allow the user to adjust RR, while others like Revolution actually have per-entrance RR rather than a global one).
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.51)
Post by: namida on June 11, 2014, 03:09:55 AM
I remember - and thought about this idea after I put the poll up - seeing one version of Lemmings where a right click on the - or + instantly minimizes or maximises the rate (might've been Cheapo). I'm thinking about maybe implementing that this way.
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.51)
Post by: Minim on June 14, 2014, 05:09:17 AM
I noticed a basic error on the OhNo version (Hopefully shouldn't be too hard to fix). Apparently all the Wild levels have been categorised in the Wicked rating (e.g Pop Yor Top for Wicked 1 and This Corrosion for Wild 3) and vice versa. I do somehow get Pop yor top when I open up the Wild level list but the level menu displays the Wicked rating. It's problematic if you're looking for a specific level when you enable cheat codes.
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.51)
Post by: namida on June 14, 2014, 07:09:56 AM
Ah yep. That's a simple matter of me typing the names the wrong way around, and it'll be a very easy fix. :) Thanks for pointing it out.
Title: Re: NeoLemmix (Current: V1.06n) and NeoLemEdit (Current: V0.51)
Post by: namida on June 17, 2014, 04:08:27 PM
Making some improvements to teleporters for the next version. It's now possible to make them so the receiver starts animating sooner than when the teleporter finishes (this is of course set by the graphic set, not the level), and also it no longer requires the next object to be a receiver - instead, it searches through the objects (starting from the next one, and it wraps around if it passes the last object) until it finds one. If the level doesn't *have* any receivers, the teleporter won't function. I'm not sure if I explained that well, so to give some examples:

-case 1-
Object 1 is a teleporter, object 2 is an exit, object 3 is a receiver. It first checks object 2, realises it's not a receiver, and moves on and tests object 3. Since it is, the teleporter will link to that.

-case 2-
1 = receiver, 2 = teleport, 3 = receiver, 4 = teleport. In this case, object 2 first checks object 3, and finds the receiver to link to. Object 4 gets to the end of the list without finding one, so it goes back to the start, and finds object 1.

-case 3-
1 = teleport, 2 = teleport, 3 = receiver. This case is similar to case 1. It doesn't matter if it finds another teleporter, it still just keeps going until it finds a receiver. So, both teleporters would link to the same receiver here - and probably glitch if lemmings were to enter both at the same time. :/ (Of course, I'll test this and if it does cause glitches, fix them.)

I won't change the circuit set to make use of the animation (since a couple of levels I've made are reliant on the current timing of them), but it'll be useful for the teleporters in the martian style.


Aside from this, I'm adding another new feature for V1.07n (won't say what it is yet) that doesn't affect gameplay, but might add a bit of fun. :)
Title: Re: NeoLemmix (Current: V1.07n) and NeoLemEdit (Current: V0.52)
Post by: namida on June 18, 2014, 08:51:27 PM
Got a decent update to NeoLemmix and a minor update to NeoLemEdit. Actually this NeoLemEdit update I did quite a while ago, but it appears I completely forgot to release it. The NeoLemmix update V1.07n is new; you might've noticed a few minutes ago that I already released an updated version of the LPIII Demo that runs on it.

NeoLemmix V1.07n changelog
* Added Sky and Circuit styles to NeoCustLemmix.
*  Fixed a rank name mix-up in the ONML Neo player.
*  Fixed the absence of destruction particles in the LPDOS Neo player.
*  Teleporters and receivers no longer are restricted to triggering
   the next part of the sequence (ie: receiver animating, or lemming
   being available again) on the last frame.
*  Receiver no longer has to immediately follow the teleporter in the
   object order; it will keep searching until it finds a receiver.
   This even means multiple teleporters can link to the same receiver.
*  Teleporters no longer remove the lemming from the level (this isn't
   the same as killing it - the lemming is treated as if it still exists
   but is not positioned anywhere or doing anything) if the teleporter
   can't find a receiver - which is still possible if the level doesn't
   *have* any receivers.
*  Added a scoring system. Note that there is no option to determine
   pass/fail based on score and never will be; it's there purely for a
   bit of extra fun.


NeoLemEdit V0.52 changelog
* Pickup skills, buttons and locked exits now display correctly.

Download links:
NeoLemmix V1.07n: Downloads available here
NeoLemEdit V0.52: Download



I won't give full details yet on how the scoring system works (since figuring it out is half the fun), but I'll give a few pointers:
Title: Re: NeoLemmix (Current: V1.07n) and NeoLemEdit (Current: V0.52)
Post by: namida on June 19, 2014, 03:03:58 AM
Hm, I found a bug it seems no one had noticed yet (it's Lemmix-specific). Most of the keyboard shortcuts don't work when Caps Lock is on. This will be fixed in has been fixed for V1.08n, and I'll probably backport the fix to all versions of CustLemmix too. Though it's probably not too big a deal, considering it went unnoticed until I spotted it (and I noticed it through the source code, not through running into it while playing, so... xD).

By the way, I haven't forgotten about the ideas in the poll (I actually had a look at a different method of the instant RR99 thing - my idea was to make right-clicking the + or - instantly max/min the RR; I haven't actually implemented such a feature yet, just looked for where in the code I would need to implement it), don't worry. :P I have another idea of what I might do for implementing buttons for these kinds of things, though.
Title: Re: NeoLemmix (Current: V1.07n) and NeoLemEdit (Current: V0.52)
Post by: namida on June 19, 2014, 07:20:57 PM
Okay, so I've thought of a few ideas of how to implement the extra buttons, I'd like some input on which ideas you guys think would be best.

1) Moving the minimap slightly across to make space for Restart and Fast Forward buttons.
2) Halving the size (vertically) of the Pause and Nuke buttons, to add two extra buttons behind them.
3) Removing the nuke button; the F12 shortcut key could still remain. This would only allow for one extra button unless I combine it with #1, though.
4) Adding an option (most likely based on a shortcut key and also saved in the INI file) to change between showing the minimap or showing extra buttons.
5) Using the space which displays the info about the lemming(s) under the cursor; obviously the buttons would only be displayed when the cursor isn't overlapping any lemmings.

In any case, the fast forward button could also double as a frame advance button when paused. The last two options could also allow for Save Replay and Load Replay buttons too.


Also, I'm currently working on adding support for VGASPECs (at this time, only displaying, not creating - because I still haven't got around to adding support for saving compressed DAT files; it can still only decompress them) to NeoLemEdit. I don't plan to use VGASPECs for LPIII at all; it's more to aid with tuning up the steel in The Covox Level more than anything else. xD
Title: Re: NeoLemmix (Current: V1.07n) and NeoLemEdit (Current: V0.52)
Post by: namida on June 19, 2014, 09:22:37 PM
Okay, that was actually pretty simple. (I suppose it helps that 90% of the needed code can be reused from the code for standard graphic sets. xD)

Not quite ready for release yet; still got to make adjustments to how it handles certain other things when a VGASPEC is involved, and for example, the fact that it doesn't yet update the VGASPEC displayed when you change the setting in the General (so far, it only checks when loading a level). But the big part is done. :D V0.60 shouldn't be too far away.

It doesn't render the objects in the changed palette at the moment; that isn't an urgent detail but I'll get around to it eventually.
Title: Re: NeoLemmix (Current: V1.07n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 19, 2014, 10:08:00 PM
Alright, here it is! Now you really can edit *everything* in a NeoLemmix level - even a VGASPEC one! :D (Well, NeoLemEdit can't make VGASPEC files yet, only display them; but NeoLemmix has no special features relating to VGASPECs at this point so any existing VGASPEC creation tool will do the trick.)

http://www.mediafire.com/download/94d5zqp6r1t2p36/NeoLemEdit_v0.60.zip

NeoLemEdit v0.60 changelog
> VGASPEC levels now display properly instead of only showing objects.
> The VGASPEC box in the General menu no longer displays slightly off-position
  while editing it.
> The VGASPEC number displayed in the General menu is now in line with the file
  names, instead of with how it's stored internally (EG: VGASPEC0.DAT level will
  now show 0 in this menu, not 1), and will display "--" on levels that don't use
  a VGASPEC. A button has also been added to set the VGASPEC to "none".



Note that all options relating to terrain pieces (selecting them, editing them, placing them, and of course displaying them) are disabled when a VGASPEC is active. However, they are not erased - if you change the level back to a non-VGASPEC one, the terrain pieces will be there again.



Another feature I'm going to add for NeoLemmix v1.08n (obviously, this will be an option that can be toggled on a per-player basis like LookForLVLFiles or secret level support) is an option in the INI file to override the levels' gimmick settings, so that you can try playing levels with various gimmicks without having to edit the level files, and perhaps also a "Challenge mode" setting that doesn't enforce skill limits, but rather, they count upwards so you can see how many you've used. (EDIT: Actually ended up implementing the challenge mode first. Although the way it works is REALLY kludgy - it just sets the skill counts to 0 at the start, and then causes the gimmick check function to report "yes" on the Reverse gimmick even if it isn't actually a reverse gimmick level - just for reference, this doesn't interfere with oher gimmicks (except maybe the overflow one due to them having somewhat opposite effects; haven't tested that yet).)
And a feature I REALLY need to remember to do in the next NeoLemEdit update... making the negative number display neater (and for that matter, allowing input of negative numbers where applicable).


EDIT: Next release will have fully NeoLemmix-adjusted version of Covox. :) Maybe Prima and/or X9192 too, we'll see. They're definitely next in line anyway; just a question of whether or not it'll be V1.08n.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 20, 2014, 12:44:56 AM
Okay, here's the V1.08n update for NeoLemmix. Most notable new features are the challenge mode and gimmick forcing; the bug with score display on the final level is also fixed, and the bug with watching replays then trying to use external style files in NeoCustLemmix is fixed.

Also, Covox Lemmings is now fully converted for NeoLemmix. :) I didn't do Prima or X91/92 yet.

You might notice a "DebugSteel" option in the INI files (except CustLemmix, Covox and LPII Bonus), that's something I've added to help with doing the conversions, and it only shows up in beta version players (or those where I explicitly enable it; this can be done seperately from marking as beta). If you really want to know, what it does is causes the game to only render the parts of the level that are covered by autosteel. In general, it's an option you probably want to leave off. I'm simply telling you for completeness's sake; no need to hide anything (except maybe a few gameplay features I'm keeping as surprises for LPIII; although if you can be bothered experimenting nothing's really stopping you from discovering them on your own).

Downloads are here:
https://www.mediafire.com/folder/4j8e2flyzclai/V1.08n

EDIT: Found a MAJOR issue in the challenge mode. If you find the number sometimes jumps up instead of just going to 1 the first time you use a skill; redownload and it's fixed. I also have noticed (I forgot to damn check this before I uploaded >_>) that challenge mode and the Overflow gimmick do not work very nicely together. That's not an urgent issue (since it affects a grand total of one level and has simple workarounds) so I'll fix it in V1.09n; in the meantime, either disable challenge mode (since Overflow gives you infinite skills anyway) or use the force gimmick option to disable the overflow gimmick.

NeoLemmix v1.08n changelog
*  Fixed a bug in NeoCustLemmix that caused external files to not load correctly
   after viewing a replay. (Also affects my development copy of LPIII; but that's
   a bit irrelevant to you guys. :P)
*  Fixed the absence of destruction particles in the Xmas 91/92 player.
*  Score is now displayed correctly on the congrats screen after beating
   the final level. (This was fixed for the V1.07n version of the LPIII
   first demo, but not any other V1.07n players.)
*  Fixed some issues relating to players with cheat codes and/or LookForLVLFiles
   disabled. (This was also fixed for both versions of the LPIII demo but
   wasn't previously fixed in the main code.)
*  Keyboard shortcuts now work correctly when Caps Lock is active.
*  Added "Challenge Mode". Set this in the INI file; when active, skill limits are
   not enforced, but rather, all skill counts start at 0 and how many you use is
   tracked.
*  Added an option to force a specific gimmick to always be active. Putting it as
   0000 will disable the option; to force all levels to have no gimmick use a code
   that doesn't correspond to any gimmick (0105 and 0106 are guaranteed to NEVER
   have any effects, as they're the default values placed in that field by LemEdit
   and NeoLemEdit respectively).
*  Covox Lemmings Demo NeoLemmix version is no longer considered beta, but the
   first proper NeoLemmix version (V1n/1.08n).




I have a question for when I approach the official packs that exist on both Amiga and DOS. Should I keep the DOS stats (ie: max 80 lemmings), or adjust them back to the Amiga values? (I'll be keeping it at 80 for LPDOS either way.)
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 20, 2014, 02:02:02 AM
I decided to try the LPII Bonus levels from Reverse and Flight with gimmicks forced off. xD

Reverse 1, 2 and 5 were dead easy (though 1 is anyway :P), while 3 and 4 appear to be impossible. 6 was somewhat interesting, not as much as its normal incarnation but still.

Flight 1 and 2 were both pretty interesting, 3 was easy. 4 and 6 are very clearly impossible (due to fatal falls from exit; 4 due to water that you can't get to even nearly quick enough from the other entrance, and 6 due to splat and not having any floaters). Flight 5, I wasn't able to solve, but I'm not quite ready to declare it impossible yet. (Flight 7, of course, is not a gimmick level anyway)


I also tried the Karoshi and Backwards gimmicks on Covox, but the only one that was somewhat interesting was Taxing 1 on Backwards.


...also, playing around with this has made something else very clear. I need to add an option to disable gimmick/frenzy musics (and just use the regular ones) in V1.09n. :P
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: Minim on June 20, 2014, 10:45:28 PM
I have a question for when I approach the official packs that exist on both Amiga and DOS. Should I keep the DOS stats (ie: max 80 lemmings), or adjust them back to the Amiga values? (I'll be keeping it at 80 for LPDOS either way.)

I'd keep the DOS stats to be honest, rather than do the hard work of changing all that. ;)

As for gimmicks, I don't quite understand how the whole gimmick system works (or how you explained it even). Can you explain what process I need to do to activate the Flight gimmick for example? Can you also explain how the code works? (because just changing numbers isn't do anything for me at all, well, not at the moment so far)
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 21, 2014, 12:21:11 AM
I have a question for when I approach the official packs that exist on both Amiga and DOS. Should I keep the DOS stats (ie: max 80 lemmings), or adjust them back to the Amiga values? (I'll be keeping it at 80 for LPDOS either way.)

I'd keep the DOS stats to be honest, rather than do the hard work of changing all that. ;)

As for gimmicks, I don't quite understand how the whole gimmick system works (or how you explained it even). Can you explain what process I need to do to activate the Flight gimmick for example? Can you also explain how the code works? (because just changing numbers isn't do anything for me at all, well, not at the moment so far)

Well, if I was going to change it back to Amiga, I'd do so by hunting down (or failing that, extracting from the game - there was info posted on how to do so here at one point, I'm sure I could dig it up) the actual Amiga level files. :P I could possibly even also look at adding a bonus rank (with things like the budget version levels, Going Their Seperate Ways, SNES/Genesis-exclusive levels, etc).

If you look on the first post of this topic, near the bottom of it there's a list of gimmicks. The Flight gimmick (or as it's called in the list, "No Gravity") is 4207. So, after you've run the player once (whichever player you're using), if you open the INI file, you'll notice this line (it'll probably be the last line, but it might not):

ForceGimmick=0000

Change this to "ForceGimmick=4207", and *all* levels will now be No Gravity levels. If you were to instead change it to, say, 4204, all levels would now be Karoshi (the gimmick where you have to kill the lemmings instead of save them) levels. FFFF (or 420A) would make all levels Superlemming levels. Et cetera. If you set it back to 0000, levels will act as they normally do, while if you set it to something other than 0000 that doesn't actually correspond to any gimmick, all levels will become gimmick-free (even those that usually have gimmicks).

All the gimmick codes have 42 as the first two digits (except for the ONML SuperLemming code, FFFF), and they're hex, not decimal (this just means that the digits go from 0 to F instead of simply 0 to 9, with "A" coming immediately after "9"). The choice of 42 rather than any other number was completely arbitrary (well, I'm sure most of you get the reference, but I could've chosen *any* number), but the use of *some* kind of number here was to keep it well seperate from the "FFFF" code used in ONML, and the "0105" default value put into that field by LemEdit.

Karoshi (4204) and Backwards Lemmings (420B) seem to be the most interesting ones to play normal levels with - the latter is an LPIII gimmick but it was built into NeoLemmix and revealed before LPIII was even announced.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: Tsyu on June 21, 2014, 01:28:24 AM
Well, if I was going to change it back to Amiga, I'd do so by hunting down (or failing that, extracting from the game - there was info posted on how to do so here at one point, I'm sure I could dig it up) the actual Amiga level files. :P I could possibly even also look at adding a bonus rank (with things like the budget version levels, Going Their Seperate Ways, SNES/Genesis-exclusive levels, etc).

Mindless ripped the Amiga levels some time ago. Here they are:

http://www.camanis.net/lemmings/files/rips/levels/

The levels are in the same order as those in the DOS version, but they're grouped into sets of 4 instead of 8 (since that's how the Amiga version stores them).

You may notice a "Book Club" version there. It has the same levels as the normal Amiga version, except two of them are completely different: Level001-2.lvl (Tricky 21) and Level009-1.lvl (Taxing 20). As far as I know, those levels are not found in any other version of the game (except perhaps the Atari ST Book Club version). This version was discussed in this thread, where you can also find level stats and screenshots, courtesy of yours truly.

The levels in the Amiga version of Oh No! More Lemmings are identical to those in the DOS version.

The Amiga version of Holiday Lemmings '93 made adjustments to some of the levels and included a completely different level for Flurry 8. Holiday Lemmings '94 (the Amiga version, not DOS) made tweaks to even more of the '93 levels. The levels that are only in '94, however, are identical in both the Amiga and DOS versions.

Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: mobius on June 21, 2014, 02:38:30 AM
I voted for the wrong thing... I meant to vote for: remove nuke button for another button. Nuke is still works with F12 or whatever button and I don't like accidentally clicking on it on the panel.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 21, 2014, 02:47:16 AM
The levels in the Amiga version of Oh No! More Lemmings are identical to those in the DOS version.

Does this even extend to levels having only 80 lemmings, etc?

I'm not really aiming to include every *version* of every level - I'd rather stick consistently to either DOS or Amiga, including special levels where relevant. Now that I think about it, the best idea for these extra levels might be to include them in a completely seperate player; NeoLemmix mechanics are consistent across all players (except for presence/absence of secret level support, which is irrelevant outside of LPII, LPIIB and LPIII) so it doesn't need to be in a specific player as such.

But one way or another (lulz, level name reference) I would like to make all traditional-format levels available in it, apart from for example the Genesis (or was it SNES?) version levels that are just ONML levels remade in Orig styles. I'm even contemplating remaking the SEGA style in DOS so we can have the 10 levels from there. :P


Also: Re: H94, are we talking new levels among the H93 ones, or just modifications to the existing ones?
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: Tsyu on June 21, 2014, 03:16:35 AM
The levels in the Amiga version of Oh No! More Lemmings are identical to those in the DOS version.

Does this even extend to levels having only 80 lemmings, etc?
Yes, they're bit-for-bit identical. The same is true for the Holiday '94 levels.

Also: Re: H94, are we talking new levels among the H93 ones, or just modifications to the existing ones?
Just modifications.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 21, 2014, 03:23:46 AM
Sweet as. I managed to locate the Genesis levels too, so I can probably also include these. (Although I believe one uses a VGASPEC; I don't have a copy of that. :( )

So far, for extra levels (if we're assuming the Amiga versions as the base versions), I've got:
> The two unique Book Club version levels (Amiga)
> The four unique Budget Version levels (Amiga)
> "Vacation in Gemland" (DOS)
> "Sixes Not!" (Master System)
> "Stepping Stones" (Master System)
> The two versions each of the five SEGA levels (Master System) <-- well, haven't remade SEGA Five yet, but I will do so soon enough
> "Going Their Seperate Ways" (Mac)
> "The Apple Computer Level" (Mac demo)
> All the non-VGASPEC unique levels from Genesis (but I'm missing the VGASPEC ones, both the levels and the VGASPEC files themself)

(I'm not going to remake EVERY level from a console port that can't be directly converted to LVL format; I'm just giving Master System special treatment cause I can. :P xD It was the first version I played, after all.)

As I said, I might also look into the SEGA levels from the Master System version.

Also, I'm going to include the Amiga version's 2-player levels in the Orig player; so they're not missing from that list, they're just not going in the Extra player. Do any other versions have these? (I think I heard ONML does. H94 doesn't seem to - if it does, they're not in the rips - were there any in H93?) Also, was there anything special in X91 or X92 on Amiga, or are they identical to DOS? Note that I absoultely do not plan to actually add a two-player mode at any point; it's just the levels themself.

The SMS version of Mayhem 17 is actually somewhat challenging under NeoLemmix mechanics, as NeoLemmix's (and for that matter, DOS/traditional Lemmix too; there's no differences between the two for this) release rate 50 is significantly faster than Master System's release rate 50. :P



Also, it would be really helpful if anyone has the Genesis VGASPECs (especially the Sunsoft one, but the others would be good too), as well as any other unique levels I may have missed (doesn't SNES also have 5 or so in a rank titled "Sunsoft"?).  :) I can't seem to find those. I need both the LVL files and the VGASPEC files. No, I just need the VGASPECs now.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 21, 2014, 03:39:06 AM
I voted for the wrong thing... I meant to vote for: remove nuke button for another button. Nuke is still works with F12 or whatever button and I don't like accidentally clicking on it on the panel.

What one did you accidentally vote for?



By the way, I've started working on remaking the Sega style. Now, this style does make use of more than 16 colors (once you take the fact that DOS/Lemmix/NeoLemmix uses a fixed set for the first 8 colors). Fortunately, a lot of this is varied shades of the same color*. So I just need to take care with how the palette is constructed, and the resulting style should be usable under both NeoLemmix/NeoLemEdit and things that support only traditional DOS format (although color variety will be reduced and may in some cases be glitchy; I know traditional LemEdit has some graphical glitches with such styles, while traditional Lemmix displays them fine apart from the reduced color depth). And all versions of CustLemmix support the extended palettes anyway, not just NeoCustLemmix. Heh, this is actually kind of exciting; I deliberately made sure the format of the extended sets was such that such a thing could be done (styles that work in 16-color engines but will take advantage of 32-color engines when used in one), but this is the first time actually having such a style (since the LPIII ones are *not* designed to be backwards-compatible).

* In fact, if we count very close shades as the same (with the lightest blue and lightest browny-yellow being considered to not be paired with anything), it comes to exactly the number of colors that can fit in a 16-color style's palette.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: Proxima on June 21, 2014, 09:54:41 AM
Also, I'm going to include the Amiga version's 2-player levels in the Orig player. Do any other versions have these? (I think I heard ONML does. H94 doesn't seem to - if it does, they're not in the rips - were there any in H93?)

Genesis has the 2-player levels, cut down to fit that version's reduced level size. Levels 9 (The Pipe Room) and 12 (The Crystal Cavern Mark II) are replaced by completely different levels, "Now use miners and climbers" and "A task for blockers and bomber" (no connection with the single-player levels with those titles!)

Quote
(doesn't SNES also have 5 or so in a rank titled "Sunsoft"?)

Yes. They're all levels from the Genesis version (Two heads are better, I am A.T., Final impediment, Private room available, Lemmings' Ark) but I believe the terrain is slightly different, and this makes 2/4 possible on Two heads are better, whereas it's not (known to be) possible on Genesis.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 21, 2014, 10:02:20 AM
Also, I'm going to include the Amiga version's 2-player levels in the Orig player. Do any other versions have these? (I think I heard ONML does. H94 doesn't seem to - if it does, they're not in the rips - were there any in H93?)

Genesis has the 2-player levels, cut down to fit that version's reduced level size. Levels 9 (The Pipe Room) and 12 (The Crystal Cavern Mark II) are replaced by completely different levels, "Now use miners and climbers" and "A task for blockers and bomber" (no connection with the single-player levels with those titles!)

Quote
(doesn't SNES also have 5 or so in a rank titled "Sunsoft"?)

Yes. They're all levels from the Genesis version (Two heads are better, I am A.T., Final impediment, Private room available, Lemmings' Ark) but I believe the terrain is slightly different, and this makes 2/4 possible on Two heads are better, whereas it's not (known to be) possible on Genesis.

I'm not worried about minor variations like that (heck, initially I wasn't even going to bother with the Genesis versions of the Fun through Mayhem VGASPEC levels, but someone requested it and if I can get a hold of the levels and VGASPEC files it's not going to take much effort to add them in); but I'll have to hunt down those two Genesis-exclusive two player levels. Thanks for letting me know. :)


Sega style is nearly ready. Terrain is completely done, just got to do the objects.
EDIT: Almost! Just got the trap left to do.
EDIT AGAIN: And it's done! There's nothing NeoLemmix-exclusive about it (though it does look better when used with NeoLemmix (or CustLemmix)), so I made a topic of its own in Fan Corner. Levels coming at some point... not today, I'm too tired now. xD
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 22, 2014, 10:36:54 PM
I'd really like to get the "Extra" player included with the V1.09n update (I'm going to make a non-NeoLemmix version of it too, by the way; so I need to get all the content before I can start adjusting it for NeoLemmix, though I can release a NeoLemmix player using unmodified levels before that). At the moment, all I'm missing as far as I'm aware are the Genesis VGASPEC files (which worst case scenario I'll try and recreate from level images, but I'm kind of hoping someone still has them lying around somewhere), and SEGA Five (which I just haven't got around to remaking yet; I've done the other four SEGA levels).
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: Tsyu on June 22, 2014, 11:30:52 PM
At the moment, all I'm missing as far as I'm aware are the Genesis VGASPEC files (which worst case scenario I'll try and recreate from level images, but I'm kind of hoping someone still has them lying around somewhere)
I already have those graphics ripped for the SuperLemmini Genesis pack. Later today, I will try to make VGASPEC versions for you.

Make sure that your Genesis levels use the correct stats. The Genesis version used up to 100 lemmings, but it's possible that the ones on the level archive were changed to use a max of 80. (Actually, some of those levels were modified in ways that needlessly make them less faithful to the real Genesis levels [such as water being removed], and some of them use the wrong starting position. If you want, I can rip those levels myself, complete with the multiplayer and test levels; it shouldn't take long at all.)

Also, in case you haven't been following the SuperLemmini thread, do note that the Genesis version spawns lemmings four pixels lower than the Amiga and DOS versions do. This is important because at least one level (Mayhem 15) is impossible with the Amiga/DOS spawn height.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 22, 2014, 11:37:52 PM
I have Genesis versions of the GROUNDxO.DAT files which should take care of most of the differences. Thanks for letting me know about the entrance though, that's something I'll have to hardcode in the player (or add support for setting that in the styles; probably this actually as it'll in general be a useful feature to have.)
If you've got the pure terrain images (ie: without the objects), I can easily make VGASPECs from those. My 'if I have to' was meaning like, finding maps / screenshots, editing out the objects, etc. :P


EDIT: One more I'm looking for (I haven't actually searched yet, I've only *just* been reminded of it's existance). "Ohayou Lemming-San" from the SNES version.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: Tsyu on June 23, 2014, 03:07:27 AM
The Genesis special graphics are attached. All you need to do with them is convert them to VGASPEC files. Assuming you're using the levels from the level archive without modifying them, here are the file names to use:

(In case you're wondering, yes, the graphics really are supposed to be 511 pixels wide, not 512. Odd, I know.)


EDIT: One more I'm looking for (I haven't actually searched yet, I've only *just* been reminded of it's existance). "Ohayou Lemming-San" from the SNES version.
I once tried to rip the SNES levels without success. I think they're compressed somehow. (And this was after I figured out the Genesis level format.)
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 23, 2014, 03:25:48 AM
The Genesis special graphics are attached. All you need to do with them is convert them to VGASPEC files. Assuming you're using the levels from the level archive without modifying them, here are the file names to use:
  • Fun 22: VGASPEC4.dat
  • Tricky 14: VGASPEC5.dat
  • Taxing 15: VGASPEC7.dat
  • Mayhem 22: VGASPEC6.dat
  • Sunsoft 18: VGASPEC8.dat

(In case you're wondering, yes, the graphics really are supposed to be 511 pixels wide, not 512. Odd, I know.)


EDIT: One more I'm looking for (I haven't actually searched yet, I've only *just* been reminded of it's existance). "Ohayou Lemming-San" from the SNES version.
I once tried to rip the SNES levels without success. I think they're compressed somehow. (And this was after I figured out the Genesis level format.)

Awesome, thanks for that. I'll have to renumber them (or the other levels), as currently I'm using 6 for The Apple Computer Level and 8 for Sixes Not. But that's probably the simplest task imaginable, so. :P
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 23, 2014, 05:15:28 AM
Okay, NeoLemmix version of the Extra player will be done with the next update - I still have to load the Amiga version H94 levels into it, as well as a few other things I want to implement before the next release.

However, the traditional Lemmix version of it has been released, see here.

The only probably-compatible unique level I know of that it's missing is "Ohayou Lemming-San" from SNES. That doesn't mean there aren't others; just that I'm not aware of them.


It would also appear that the versions on the level archive are adjusted to compensate for the fall distance; either that or you're mistaken about the fall distance. I just got up to and solved that level now, not only was it possible but I actually thought it was pretty easy compared to a lot of the other Genesis ones so far.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: Ron_Stard on June 23, 2014, 04:33:34 PM

The only probably-compatible unique level I know of that it's missing is "Ohayou Lemming-San" from SNES. That doesn't mean there aren't others; just that I'm not aware of them.

Thanks for ripping and making a Genesis (+other versions) player. There are some NES and ZX Spectrum unique levels too, but perhaps they are too hard or unfeasible to recreate.

By the way: at least on Oh No NeoCustLemmix 1.08 (I have not tried the other players yet), I've found that writing "CHEATCODES" on the New Level section doesn't work.

Oh, and two final suggestions:

1.- Could you please allow the cursor select items on the on-game menu while Pause is activated (on Lemmix, not on Neo, which actually works)?
2.- Also (but not very important), could you map 'P'/'p' as a Pause button too, like F11? I always wrongfully press that key for Pause (blame on me and [Super]Lemmini  :D)
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 23, 2014, 09:25:05 PM
Thanks for ripping and making a Genesis (+other versions) player. There are some NES and ZX Spectrum unique levels too, but perhaps they are too hard or unfeasible to recreate.

Someone mentioned NES to me. I don't think they'll be directly convertible, but I could look into remakign them at some point. It won't be in the near future though - Sega is kind of a special case for me, but no more remakes at least until LPIII's done. :P However, if anyone else remakes these, I'd be more than happy to include them of course.

Quote
By the way: at least on Oh No NeoCustLemmix 1.08 (I have not tried the other players yet), I've found that writing "CHEATCODES" on the New Level section doesn't work.

NeoLemmix uses the code from the official versions, not "cheatcodes". So for ONML, that's "SLAMRACING".

Quote
1.- Could you please allow the cursor select items on the on-game menu while Pause is activated (on Lemmix, not on Neo, which actually works)?

The whole reason I haven't changed this here is because traditional Lemmix is meant to be a virtually perfect emulation of the original games. I generally try to avoid changing anything that's replicated from the originals, unless it's purely graphical or it's in a custom pack (ie: LPDOS / LPII having instant bombers and a few other changes in LPII) - same reason there isn't, even as an option, instant bombers in the non-Neo ones.

Quote
2.- Also (but not very important), could you map 'P'/'p' as a Pause button too, like F11? I always wrongfully press that key for Pause (blame on me and [Super]Lemmini  :D)

I can definitely do that. I've added to my notes to make sure that's in V1.09n.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: Ron_Stard on June 24, 2014, 12:22:13 PM

Someone mentioned NES to me. I don't think they'll be directly convertible, but I could look into remakign them at some point. It won't be in the near future though - Sega is kind of a special case for me, but no more remakes at least until LPIII's done. :P However, if anyone else remakes these, I'd be more than happy to include them of course.


That reminds me of PlayStation Portable unique levels - it seems that the user called Luis have recreated all 36 new levels for that handheld in the Level Pack web:

http://lemmings-db.camanis.net/levelpack/ag1zfmxlbW1pbmdzLWRichYLEglMZXZlbFBhY2sYgICAgMCcggoM/
http://lemmings-db.camanis.net/levelpack/ag1zfmxlbW1pbmdzLWRichYLEglMZXZlbFBhY2sYgICAgKCSnwoM/
http://lemmings-db.camanis.net/levelpack/ag1zfmxlbW1pbmdzLWRichYLEglMZXZlbFBhY2sYgICAgKCZkAoM/

Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.60)
Post by: namida on June 24, 2014, 12:47:56 PM
Sweet. I'll add those once I've gotten around to adding support for >5 ranks (not hard; just something I haven't done yet).
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: namida on June 26, 2014, 03:07:37 AM
A minor update to NeoLemEdit.

http://www.mediafire.com/download/ct68958j9lhl0v1/NeoLemEdit_v0.61.zip

NeoLemEdit v0.61 changes
> Objects in VGASPEC levels now render with the adjusted colors
> If a graphic set that supports it is being used, left-facing pre-placed lemmings will now be rendered as such


To add support for left-facing pre-placed lemmings to a graphic set, just add a second frame which contains the lemming's left-facing graphic. Note that you do NOT have to do this for left-facing lemmings to be *functional*, only for NeoLemEdit to be able to display them as facing left - NeoLemmix in fact does not render the pre-placed lemming objects at all (it just creates a lemming at their position - the top-left corner of their trigger area, NOT the direct coordinates of the object - so if you place one at 100,100 and it's trigger area's top-left corner is at 4,5 on the sprite, the pre-placed lemming will be at 104,105), the graphic of them is entirely for the level editor's use.

Also - if you're using a 32-color graphic set, VGASPECs only overwrite the first 8 colors, and the remaining 16 custom colors will stay as-is. This is useful to keep in mind if you're making a graphic set you intend to use together with VGASPECs. Of course, NeoLemEdit handles this correctly.


A couple of questions about features, one that I'm not too fussed about (because I use my own seperate tool for it) and one which I'd like but don't want to if other people are going to find it problematic:

1) Saving images. Should I make it automatically crop out the black space on the sides?

2) How would you feel if I took the load/save from DAT options out of the Files menu, and instead put them somewhere else as a general DAT management tool (still with the option to directly load/save levels to/from the DATs, of course, as well as general adding and extracting files)? I'm thinking about extending NeoLemEdit beyond being just a *level* editor - for example, adding graphic set editing functionality to it as well; since while LemSet works fine for me, I do notice no one else has done anything with it yet, of course that may just be lack of time or interest but having a simpler tool avialable might also make people more interested in doing so.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: Minim on June 26, 2014, 10:26:01 AM
Haven't tried the NeoLemEdit yet, because I was so addicted by playing levels with different gimmicks. Despite some impossible levels and the singular music track it constantly plays (Although that song is very good whoever composed it) it made Lemmings fun again. I made sets of results for some of the gimmicks, but haven't bothered with combinations apart from 4210. If anyone's interested by my results please let me know.

As for questions about the editor.

1) Saving images. Should I make it automatically crop out the black space on the sides?

2) How would you feel if I took the load/save from DAT options out of the Files menu, and instead put them somewhere else as a general DAT management tool (still with the option to directly load/save levels to/from the DATs, of course, as well as general adding and extracting files)?

For 1, that would be useful if you could do that, so yes.
As for 2, Definitely keep the Load/Save buttons in the File Folder, because that seems to be the crux of many computer programs. ;) You could copy them to the DAT management tool if you want to, but not cut and paste.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: namida on June 26, 2014, 10:37:06 AM
To be clear - loading and saving *LVL* files would still be in the File menu. It's packing DATs that wouldn't be; it' be somewhat more similar to how Lemmix handles them than how LemEdit did.

I would then most likely use the freed up space for other options - like for example, saving the level image.

About the repetitive music - V1.09n is going to have an option to not play special musics on gimmick levels. :)


As I keep mentioning, NeoLemEdit is still far from complete - but it is capable of fully creating a level. However, if working in traditional styles (and especially on traditional engines), an older editor is probably the easier option. The advantages of NeoLemEdit is full support for NeoLemmix features - especially when using 32-color graphic sets, it can be a pain trying to use anything else when designing for NeoLemmix. My initial reason for creating it was that designing the LPIII levels in traditional LemEdit was a pain in the ass (and as you know, I'm not a huge fan of any other editors). As a random piece of trivia - "Dreamy Drift" was the last level to be made entirely in traditional LemEdit (not including minor changes with QuikEdit / hex editor), though a couple of other levels since then were started in traditional but later continued in Neo.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: Ron_Stard on June 26, 2014, 11:55:20 AM
I have one suggestion for Neo-games: have you thought about creating a general gimmick or .ini option for the exploders' behaviour to be like traditional Lemmings games? (i.e., the countdown from 5 -or from another configurable number of seconds-).
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: namida on June 26, 2014, 12:56:56 PM
In general, I see that as being an archaic behavior that only serves to add fake difficulty, which is why it's removed - because the bomber is a useful skill for players and designers alike, but the timing it adds no real value. However, if there's ever a pressing need, I have built into the source code a compile-time switch which can restore the classic bombers (so for example, if I was building a custom-made player for someone who really really wanted timed bombers in their pack).

It's also worth noting that regardless, the functionality is still there - the change simply works by setting the countdown to 0 instead of 5. But even in a player that uses the instant ones, certain conditions can still give rise to a timed bomber - specifically, the nuke (which still starts a countdown from 5), and the radiation object (a NeoLemmix-exclusive object which turns any lemming that passes it into a timed bomber, starting from 9).*

I had considered even allowing it to be set on a per-level basis, but decided against it for similar reasons to why I hardcoded the "Sixes Not!" special effect instead of setting it in the level file (I actually did even write code to store that effect in the level file, but later decided to remove it - or rather disable it; all the code's still there except the line to actually read the value from the file has been commented out) - although of course, the traditional version would need that to be hardcoded *anyway*. xD


* I should add, so I don't seem hypocrital: My logic on this being okay is that the burden with the timing in this case ends up falling more so on the level designer than the player - there's no guesswork as to where to start the bomber, only a matter of where (and how) to get him for his detonation 9 seconds later.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: Minim on June 26, 2014, 01:19:01 PM
In general, I see that as being an archaic behavior that only serves to add fake difficulty, which is why it's removed - because the bomber is a useful skill for players and designers alike, but the timing it adds no real value. However, if there's ever a pressing need, I have built into the source code a compile-time switch which can restore the classic bombers (so for example, if I was building a custom-made player for someone who really really wanted timed bombers in their pack).

It's also worth noting that regardless, the functionality is still there - the change simply works by setting the countdown to 0 instead of 5. But even in a player that uses the instant ones, certain conditions can still give rise to a timed bomber - specifically, the nuke (which still starts a countdown from 5), and the radiation object (a NeoLemmix-exclusive object which turns any lemming that passes it into a timed bomber, starting from 9).

I was about to say the same thing too, but namida explained it very well already. It adds unnecessary frustration (Having to replay the level on any mistiming), and bombing the blocker is just a waste of time as well.

Having said that, there was one level I created back in 2008 which timed bombers were necessary to remove a backroute. Sadly, I may have to edit it again as someone found a backroute to it. It can be found in lmset02.

My favourite gimmicks so far are the Backward walkers and Karoshi. However I can think of a few more gimmicks. Setting the fall height (which I know I've been talking about so many times) to a personal preference, disabling the particles on bombers (Something that's already on EricLang's Lemmix), and making temporary blockers (Blockers only stop for a few seconds, then start moving again)
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: namida on June 26, 2014, 01:26:28 PM
You're not the first to suggest temporary blockers as a gimmick, actually. I suppose it'd be almost expected as part of the lazy lemmings gimmick. xD I might implement this; if I do I'll probably also change the Timid secret levels to use that in addition to the existing laziness.

A variable fall height setting could definitely be added. I can also easily restore the enable/disable particles option, I had removed it since I didn't think there was much need for it, but the underlying code is still there (it's just always assumed to be enabled). (EDIT: The particle option has been re-added).


Just wondering, how did timed bombers prevent the backroute? Is it to do with using a bomber in the first 5 seconds?


By the way, I've done the X91/92 levels ready for V1.09n, and I'll probably do Prima before releasing it too.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: Minim on June 26, 2014, 07:14:51 PM
Just wondering, how did timed bombers prevent the backroute? Is it to do with using a bomber in the first 5 seconds?

Say the level has a short-length floor with the entrance directly above it. Even when the lemming appears from the entrance, clicking the bomber skill wouldn't work, otherwise the timer would be too long for him to stay on the floor and break it. He'll need to find more land so that he can come back to blow up the floor. I hope this makes sense.

As for the particle option, (Which were very eye-catching in the Psychedelic graphic set) the problem I get is that the game freezes temporarily every time I press the space bar while the particles are showing. Disabling that removes the problem.
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: Ron_Stard on June 26, 2014, 10:43:05 PM
In general, I see that as being an archaic behavior that only serves to add fake difficulty, which is why it's removed - because the bomber is a useful skill for players and designers alike, but the timing it adds no real value. However, if there's ever a pressing need, I have built into the source code a compile-time switch which can restore the classic bombers (so for example, if I was building a custom-made player for someone who really really wanted timed bombers in their pack).

It's also worth noting that regardless, the functionality is still there - the change simply works by setting the countdown to 0 instead of 5. But even in a player that uses the instant ones, certain conditions can still give rise to a timed bomber - specifically, the nuke (which still starts a countdown from 5), and the radiation object (a NeoLemmix-exclusive object which turns any lemming that passes it into a timed bomber, starting from 9).

I had considered even allowing it to be set on a per-level basis, but decided against it for similar reasons to why I hardcoded the "Sixes Not!" special effect instead of setting it in the level file (I actually did even write code to store that effect in the level file, but later decided to remove it - or rather disable it; all the code's still there except the line to actually read the value from the file has been commented out) - although of course, the traditional version would need that to be hardcoded *anyway*. xD


I was about to say the same thing too, but namida explained it very well already. It adds unnecessary frustration (Having to replay the level on any mistiming), and bombing the blocker is just a waste of time as well.

Having said that, there was one level I created back in 2008 which timed bombers were necessary to remove a backroute. Sadly, I may have to edit it again as someone found a backroute to it. It can be found in lmset02.

My favourite gimmicks so far are the Backward walkers and Karoshi. However I can think of a few more gimmicks. Setting the fall height (which I know I've been talking about so many times) to a personal preference, disabling the particles on bombers (Something that's already on EricLang's Lemmix), and making temporary blockers (Blockers only stop for a few seconds, then start moving again)

I understand very well your points of view, but I was thinking about though levels which have become pure doodles, paraphrasing Tricky's first level name, due to such comfort: from the not so difficult "Luvly Jubly" and "Diet Lemmingaid" (Tricky 16 & 17) to the masterproof "Look Before You Leap" (Havoc 20), passing through levels which require some levels of ability, observation and precision, like "It's Time To Get Up!" (Mayhem 19) and even "ONWARD AND UPWARD" (Wild 13). All those levels are far too easy without the countdown, they have no difficulty at all.

P.S. I've just realized there is no button for multi-quotating. I had to do it by hand :D
Title: Re: NeoLemmix (Current: V1.08n) and NeoLemEdit (Current: V0.61)
Post by: namida on June 28, 2014, 04:10:46 PM
Okay, I didn't do Prima in the end. I figured getting the NeoCustLemmix update with the Sega style included was a bit overdue, for one thing, and also I'm sure it's much awaited with the disable gimmick music option. Note that some features that I said I might include haven't been - doesn't mean they won't be, just means they'll be in (most likely) V1.10n.


NeoLemmix V1.09n Update
*  In players that have gimmick forcing enabled, an option has been
   added to the INI file to disable automatic gimmick music. (Of course,
   it will still play if a level has music number set to 255.)
*  Original Lemmings and Holiday Lemmings 94 are now using the Amiga
   version levels. (ONML levels are identical in Amiga and DOS.) These
   still haven't been adjusted for NeoLemmix though.
*  Added the two-player levels to the Original player. (There's no support
   for two-player mode and I don't plan to add it; it's just the *levels*.)
*  NeoLemmix will no longer attempt to apply autosteel on graphic sets that
   don't support it, even if a level is marked as using it. Note that any
   custom graphic sets that use autosteel will need to be recompiled with the
   latest version of LemSet in order for NeoLemmix to recognize them as having
   autosteel support. (Or you can manually do it, just activate the 0x04 bit
   on the byte at 0x01 in the GROUNDxO.DAT file.)
*  Fixed the M and S shortcut keys which were broken by the last update.
*  The "P" key can now be used to pause (F11 still works too).
*  Restored the option to hide explosion particles.
*  Added a Neo version of LemmixPlayerExtra.
*  NeoCustLemmix now includes the Sega style and the first 3 LPIII styles.
*  Xmas Lemmings 91/92 NeoLemmix version is no longer considered beta, but the
   first proper NeoLemmix version (V1n/1.09n).


Downloads are here:
https://www.mediafire.com/folder/ye7eqz069lm3q/V1.09n
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: Minim on June 29, 2014, 06:35:00 AM
I had a go at your NeoLemEdit for the first time. (Apparently couldn't get it working on my Windows 7 laptop, maybe I needed a DOSbox to get that working? I used my big XP computer instead) It's quite good at first, and I've made a nicely working test level, the autosteel works perfectly and the graphic sets are easy to navigate, but it's a bit slow and worst of all it takes a while for me to get used to the controls, (No Ctrl+V?) as well as having to press enter to exit an option. :P I was quite confused by the +/- buttons, because I could just press those on the main keyboard as well as (or rather than, even) those on the numeric pad.

As for the terrain pieces, it's a bit tedious cycling through the terrain IDs to get to the last one, especially on graphic sets with more terrain pieces, such as Fire and Rock. If there is a feature which cycles through the terrain in a loop (Say it's the dirt set, and piece 49 is the last terrain piece, when I click the Terrain button I want to press "-" to go to that piece instead of having to hold + every time), or shows the terrain ID so that it can be modified, I'd be more than happy to create some more levels. For now, I'm sticking with Eric's Lemmix Editor, but that's just my personal opinion.
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: namida on June 29, 2014, 07:02:12 AM
You don't need DOSBox, it's a windows application. I'm using Windows 7 and it works fine for me, what exact error does it give?

Anyway, the +/- thing is only a temporary solution until I implement a proper terrain/object selection menu (I will probably leave those in too, though - they're quite useful!), but that's a very good suggestion of implementing a wrap-around, I'll do that in the next version.

By the way - just keep in mind that at the moment, there's no option to enforce the DOS/Lemmix limitations, so you need to manually keep an eye on those if you aren't designing for NeoLemmix.

I don't think LemEdit had any copy/paste options either; but you can duplicate the currently selected piece by pressing Insert. (In future, this will also be doable via the mouse.)


Anyway, if you find neither Lemmix nor NeoLemEdit to be that great, there is one other option: jLevelBuilder. It's more suited for Lemmini than DOS/Lemmix, but it's still definitely usable for the latter. (Tip: If using it for DOS/Lemmix, set the alignment grids to 16x2 for objects, 2x2 for terrain and 8x8 for steel; and make sure your steel piece sizes are multiples of 8 and don't exceed 128x128.) I myself used it for a small portion of the LPII levels (though the majority I used traditional LemEdit) - Genius 5 was mostly (but not entirely) made in jLevelBuilder - and it's definitely not bad, I just prefer LemEdit's interface.
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: Minim on June 29, 2014, 10:25:57 AM
You don't need DOSBox, it's a windows application. I'm using Windows 7 and it works fine for me, what exact error does it give?

Anyway, the +/- thing is only a temporary solution until I implement a proper terrain/object selection menu (I will probably leave those in too, though - they're quite useful!), but that's a very good suggestion of implementing a wrap-around, I'll do that in the next version.

It was only a missing dll file, which I've fixed without any problems. :)

I got the program working on my laptop, but realised to my horror that my laptop has no numpad keys, :o making it literally impossible to cycle through different terrain/objects. Hopefully the +/- problem (or even another method, for example the < and > keys) can be fixed in the next update. I'm looking forward to it.
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: namida on June 29, 2014, 10:37:13 AM
Proper menus for those items is the next "big" feature I have planned (ie: the one that'll bring it to V0.70, rather than just 0.62). However, if I do a V0.62 update before that (bugfixes, minor features, etc) I'll make sure to put in a different set of shortcut keys that should be more friendly to users of compact keyboards - my laptop has a full-size so I didn't think about it, to be honest.

Can't you use the Fn key combined with... I think it's P and ; usually?
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: Simon on June 29, 2014, 11:51:32 AM
If you want something in this direction, make every hotkey freely remappable. >_>;; You never know the user's layout or physical location of special keys.

-- Simon
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: namida on June 29, 2014, 12:31:29 PM
That's actually a good point. I'll look into doing that.

I'm making a change to the Basher mechanics for V1.10n. The basher no longer only doing terrain checks on odd-numbered strokes makes it often more difficult to bash where there's dips in uneven terrain, or poles close together but with small gaps, etc. So to compensate for this, I'm increasing the size of the area the basher checks for terrain in - up to V1.09n it's been a 4x1 area, from V1.10n it'll be 7x2 (beginning the same distance away from the lemming but extending further, and the extra vertical pixel checked is the one immediately *below* the currently checked one - though I might change this to the one above, I'll do some more testing to see which one feels better). Since no one apart from myself has really made any NeoLemmix-targetted levels yet, this isn't going to break anything, but keep it in mind if you're designing levels for it between now and then.
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: Ron_Stard on June 30, 2014, 01:13:22 PM
I've found a bug on CovoxNeo - Tricky 1 ("Animal or Vegetable?"): once the lemmings reach the exit platform, they refuse to get into home, unless a bridge is built; this doesn't happen with the Lemmix versions.
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: namida on June 30, 2014, 01:16:04 PM
Ah! I had noticed this and was going to fix it, but completely forgot. I'll make sure to fix it in the next update - I added a note about it to my todo list (I keep that and the changelog in the same file, so that I'm sure to see it when I'm doing updates).

In the meantime, here's a fixed version you can use with LookForLVLFiles. (EDIT: Removed, as V1.10n has been released which contains a fixed version.)
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 05, 2014, 08:44:24 AM
I've implemented the fix on autosteel. Though I now need to make sure simple autosteel works correctly - not nessecerially saying it won't, but I haven't tested since fixing standard autosteel; and it might have broken it since I had to almost completely revamp how autosteel works in order to fix the no overwrite glitch. (The part that actually translates the map into steel areas is still the same, but the part that actually generates the steel area map has been completely redone.)

EDIT: Confirmed that simple autosteel has not been affected in any way by the fix. I'm actually quite surprised about that. However, it *has* completely broken DebugSteel - though this is arguably a minor issue as DebugSteel is a development/testing option, not a playing one.

(One example of a level where negative effects of the old autosteel method were noticable - though you had to go out of your way to get to the part of the level where they were - was Dodgy 1 of the *first* LPIII demo.)


Current todo list for V1.10n - if there's something I've said I'll do but forgotten to list here, please mention it. (If I've merely said I'll think about it or may do it at some point, feel free to remind me, though I'm not promising it for V1.10n). Of course, some of these are subject to me being able to work out (and be bothered) doing them.

>  Re-fix DebugSteel
>  Improve behavior after attempt to load incorrect replay
LemmixPlayerExtraNeo: Genesis graphic set patch Done
>  Support any number of difficulty rank signs instead of only 4 or 5 <--- This one might not come in *this* version though
>  Add an option to make the timer blink when low
>  Add an option to let the user pick the filename when saving a replay <--- I may also backport this one to CustLemmix
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: Minim on July 05, 2014, 09:36:41 AM
You could also add a few more gimmicks that I forgot to mention.

* A border at the bottom (rather than just the left and right edge) so that the lemmings won't die when reaching the bottom of the level. This could be used in conjunction with that new invincibility gimmick to guarantee survival.
* Inverting steel graphics (I think I saw this on NeoLemEdit) where the steel becomes destructible and the ground becomes steel. Or you could make a gimmick where steel doesn't work at all.
* Every lemming out performs the same action simultaneously as the lemming clicked. This setup is probably going to get complicated, and we might want to limit it to certain skills, but the results would be quite hilarious, especially if a hero tries to build and doesn't realise that the other lemmings are building too to escape the blockers.
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 05, 2014, 09:48:26 AM
* A border at the bottom (rather than just the left and right edge) so that the lemmings won't die when reaching the bottom of the level. This could be used in conjunction with that new invincibility gimmick to guarantee survival.
I could consider that.

Quote
* Inverting steel graphics (I think I saw this on NeoLemEdit) where the steel becomes destructible and the ground becomes steel. Or you could make a gimmick where steel doesn't work at all.
This one can probably be done on autosteel levels, might be a bit messy on non-autosteel ones. There's no such option in NeoLemEdit - the four steel-related options (these may not be the exact names) are:
"Negative Steel" - this turns steel areas 16 to 31 into steel erasers rather than steel areas (they will erase both standard steel areas *and* autosteel)
"Enable AutoSteel" - this option must be set for autosteel to be applied (NeoLemEdit sets this on by default when creating a new level); note that the option will be ignored if the graphic set doesn't support autosteel (the vanilla versions of the official and LPII styles don't, but NeoCustLemmix's internal versions of them do; the Sega style I made does support it, and obviously the LPIII styles do)
"Ignore Level Steel" - this option will cause the level's steel areas to be ignored by NeoLemmix (it does not disable autosteel if you've enabled it)
"Simple Autosteel" - this option disables the checks for terrain overlapping steel blocks and just makes the area of the steel pieces into steel regardless, obviously it requires autosteel to be enabled

You can therefore acheive the latter effect of disabling steel simply by turning off autosteel and turning on ignore level steel.

Quote
* Every lemming out performs the same action simultaneously as the lemming clicked. This setup is probably going to get complicated, and we might want to limit it to certain skills, but the results would be quite hilarious, especially if a hero tries to build and doesn't realise that the other lemmings are building too to escape the blockers.

I've thought about this gimmick actually, though it would be a pain to implement. I probably won't implement any more major gimmicks at least until after LPIII is finished, as I have all four gimmicks for it. (Five if you include that it has two frenzy levels, but frenzy isn't new to LPIII.)
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: Minim on July 06, 2014, 08:27:03 AM
Since you added those 2P levels into the Original set as the last difficulty rating, I don't get the congratulatory message every time I complete Mayhem 30. It's only there in the last level of 2P. It is however only a minor problem, but the question is how can this sort of problem be fixed in the next update? Maybe there is some way to change the difficulties so that 2P appears as the first rating, but the default rating remains on Fun?

Considering that you also changed the Original Lemings version to Amiga, I'll have to recheck some of those levels for gimmick solutions. :( Especially on levels Taxing 22 and Mayhem 4, as those requirements have changed for the player to save 100%.

Edit: And while I remember 2P, maybe change the screen's starting position of every 2P level to make them more centralised and realistic? (by -80 pixels roughly)
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 06, 2014, 08:39:53 AM
It shouldn't actually be too hard to change it so that message shows up after Mayhem 30 even with the 2P levels where they are. I'll do that now. EDIT: Done.
Title: Re: NeoLemmix (Current: V1.09n) and NeoLemEdit (Current: V0.61)
Post by: Minim on July 06, 2014, 01:57:40 PM
So for the Amiga version of lemmings I did the Karoshi gimmick, and solved almost all of the levels (Although I haven't done 2P yet). Exceptions being Fun 4, Tricky 23 and Tricky 24. I thought with Fun 5 you could get the lemmings in the water, but due to the glitch fixes I was unable to do that. I tried to replicate the Three basher ramp trick like that of the Reverse Fun 5 solution, but despite being a non-glitch trick it appears that the raised lemming falls immediately after it jumps, rather than taking a step.

I did solve it a different way, by bashing the top of the grid to get the lemmings to splat near the exit.

As for the Unalterable terrain and No Gravity I didn't have much success on them, but Fun 30 and Fun 10 on each respective gimmick make interesting challenges!
Title: Re: NeoLemmix (Current: V1.10n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 06, 2014, 04:27:34 PM
NeoLemmix V1.10n Released
------------------------------------------
*  Bashers now look slightly further ahead for terrain when deciding
   whether or not to continue bashing.
*  In players that don't display a leading zero on single-digit skill
   counts (currently only LPIII), the remaining digit will be centered.
*  Added a new gimmick, "One Skill". When this gimmick is enabled, each
   lemming will become unselectable after one skill has been assigned to
   it.
   (These first three were already present in the "V1.09.5n" player used for
    the second LPIII demo.)
*  Standard autosteel code has been almost completely rewritten, the
   difference in terms of effects being that steel pieces with No
   Overwrite set don't apply steel areas to the normal pieces that
   overlap them but have a lower Z order. (Simple autosteel has not
   changed in any way.)
*  Fixed a bug in Tricky 1 of Covox - I had adjusted the exit based
   on its graphic rather than its trigger area, which caused problems.
*  The Genesis levels in Extra now use the Genesis GROUNDxO.DAT files,
   just like in the non-NeoLemmix version.
*  The Exhaustion gimmick now also affects blockers.
*  Added another option alongside Challenge Mode called "Timer Mode",
   this has the same function but for the clock instead of the skills.
*  On players that have Challenge Mode, Timer Mode and Force Gimmick
   options, information about the status and results of these items are
   saved in the text replay.
*  Directional select is implemented; holding an arrow key while picking
   a lemming will result in only lemmings facing that direction being
   selectable.
*  The effect of holding the right mouse button has been changed; rather
   than simply inverting priority, it forces a walker to be selected.
*  DebugSteel has been improved; it now shows the steel areas as-is, but
   the remaining terrain is displayed as white while the background is
   changed to magenta.
*  The Original Lemmings player shows the congrats message after Mayhem 30.


V1.10nB
---------------------
*  Replays where directional select was used now work fine.
*  Information about the state of direction select is now saved in the text replay.


Downloads:
https://www.mediafire.com/folder/x1dnmnbn5q6sa/V1.10n



NOTE: It appears directional select does not currently work properly in replays (or rather, it has the same issue that WinLemm has - you have to actually hold the appropriate directional key while the replay is playing, or it won't work properly) - I'll make a "V1.10nB" tomorrow to fix this (no other changes). If you create a replay in this version that uses directional select, then try to play it in the fixed version when I release it, it is possible that it may work but also possible it may not - entirely depends how I end up implementing it, so I would reccomend don't rely on it. Fixed versions uploaded. Replays from older versions (including the unfixed V1.10n) are compatible as long as they don't use directional select - I haven't made the old replays worthless :P - but those that do use it are not (unless, of course, they're made in the fixed V1.10n themself).
Title: Re: NeoLemmix (Current: V1.10n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 07, 2014, 05:35:13 AM
Known bug in V1.10n:

When you play a replay (this also includes jumping back to a save state, due to how that works from a technical point of view) that uses directional select, if the most recently assigned skill was assigned using directional select, that direction will be "stuck" until you select another one. I'll fix this in the next version (it's not critical enough to need an urgent update); to unstick it just press either directional key then let it go, and it'll be back to normal.


By the way, here's the stuff currently on my todo list that didnt' make it into V1.10n. Some are due to not being significant enough, others are due to being quite complex so I thought I'd save them for later while implementing less-major features now:
> Extra levels for Extra: Ohayo Lemming-san, PSP levels remakes, Classic levels from L2
> Split Genesis levels in Extra into their ranks
> A proper readme
> Support any number of difficulty rank signs instead of only 4 or 5
> Timer blink & lemming count blink
> Custom replay filenames
> Pickup skills + Reverse count gimmick?
> Improve behavior after attempt to load incorrect replay
Title: Re: NeoLemmix (Current: V1.10n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 13, 2014, 08:53:17 AM
It appears some (not all) older replays don't work properly in V1.10n. Don't throw these replays away - I found the source of this and they will work again in V1.11n. :)
Title: Re: NeoLemmix (Current: V1.10n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 20, 2014, 02:20:28 AM
V1.11n update will be out fairly soon. There aren't that many new features in the engine, but I'll also be upgrading the official styles (including the Xmas, Sega and LPII styles, but not the Genesis ones) to include pre-placed lemmings and pickup skills (and secret area triggers although they're not of much use in CustLemmix; but that's more future-proofing for when the customizable player is ready).

EDIT: It works! :D If possible I didn't really want to have to completely decompile the styles and rebuild them with new objects added, so I looked for a way to just slip them in. And, it works. :D See attachment. Now... will this be quicker to do each style manually, or to write an app (that'll only ever need to be used once) to do it automatically... probably the latter...
Title: Re: NeoLemmix (Current: V1.10n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 20, 2014, 03:57:30 AM
I've finished updating all the styles - I wrote a tool to quickly do all of them, except for the Sega style which I did simply by adding them to the source files and recompiling it; because the tool doesn't support 32-color styles (or rather, the tool itself has no reason why it wouldn't, but I only made generic insertable data for 16-color ones).

There's a link to download the updated styles in the first post, so that you can use them in your editor of choice (which unless it's NeoLemEdit, won't be able to adjust *which* skill they are (it defaults to climbers) or which way the pre-placed lemmings face - but they should be able to display it, so you can make the level in LemEdit / Lemmix then tweak it in NeoLemEdit when you're done; I don't know if they'll preserve the extra data or not (I think - but haven't tested - LemEdit does but Lemmix doesn't; no idea about jLevelBuilder or the Lix editor)).

When V1.11n is released, NeoCustLemmix will contain these updated versions internally, but until then you'll have to pop the style files into the folder with it. They're numbered the same way that NeoCustLemmix has them internally.

It includes pretty much all styles, apart from the LPIII ones. Specifically - it has:
* All Orig styles
* All OhNo styles
* The Xmas/Holiday style
* All LPII styles (these already had secret triggers, so it's only the pre-placed lemmings and pickup skills added to those)
* The Sega style


Given these additions, I've decided to add secret level support to NeoCustLemmix in the next update. When creating a level pack file for it, to add secret levels, just place them at the end of the file. EG: The 11th level in the pack will be the secret level for the first rank. It's one-per-rank in this case; if you don't want one for a specific rank, just put a filler level in that place.


Also, as I've been promising I'd do for the last who knows how many versions, V1.11n will finally have NeoLemmix-adjusted levels for Prima. :D I've already done the modifications, just got to test them; which will be the final thing before release.
Title: Re: NeoLemmix (Current: V1.11n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 20, 2014, 06:16:54 AM
NeoLemmix V1.11n Released
--------------------------
*  Fixed the bug with directional select getting temporarily stuck after
   a replay that uses it.
*  Fixed a small sound-related bug in the surviving bombers gimmick.
*  Levels without trapdoors (generally due to solely using pre-placed
   lemmings) no longer play a trapdoor opening sound.
*  Fixed a bug that occurs when trying to play some replays from V1.09n
   or earlier.
Prima NeoLemmix version is no longer considered beta.
*  NeoCustLemmix now supports secret levels; see its readme for more info.
*  NeoCustLemmix now includes upgraded versions of the official (and LPII)
   styles which include pre-placed lemmings, pickup skills and secret level
   triggers.
*  NeoCustLemmix now includes all four LPIII styles.


https://www.mediafire.com/folder/u9edx9yp08cfp/V1.11n
Title: Re: NeoLemmix (Current: V1.11n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 22, 2014, 09:13:07 AM
It's been brought to my attention that there's a problem with the upgraded Dirt style. Fixed versions have now been uploaded.

This affects only the upgraded style files themself, and NeoCustLemmix; it does not affect Orig, Extra or LPDOS. Both the download of NeoCustLemmix on its own, and the all-players-in-one-ZIP file, have been fixed. But yeah; only NeoCustLemmix (and the style files themself if you're using those) need to be redownloaded.

If for any reason you've renamed / renumbered the style files, it's only the dirt file that's affected - and specifically, only the VGAGR file (the GROUND file was fine).
Title: Re: NeoLemmix (Current: V1.11n) and NeoLemEdit (Current: V0.61)
Post by: Minim on July 22, 2014, 10:13:34 AM
I thought of a few more interesting gimmicks that have missed the cut for LPIII (maybe for the next update of NeoLemmix instead)

*Lemmings cannot jump over 3-6 pixel walls. They have to climb instead. They can walk over builder's steps however. You could expand on this jump gimmick by making them jump over vertical walls of any height (Remember the old sliding trick?) or even make the lemmings unable to walk over 1-pixel walls.

*A minor one, but lemmings can walk on water, possibly by converting the trigger areas of water into terrain, provided that it doesn't convert any other trigger areas, such as exits, otherwise none of the levels will be possible. :P

* Extend the hardworkers gimmick to include bombers; that is, the bomber keeps bombing in a downwards direction, removing quite a large chunk of terrain in the process. If it lands on a steel block, it will keep trying to blow it up. (Actually that's going to make a horrible drony sound. :XD: We better make sure it kills itself instead)
Title: Re: NeoLemmix (Current: V1.11n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 22, 2014, 10:34:42 AM
I like both of the ideas in the first point. One other thing I want to do in a future update though is rehaul the gimmick system, so that you can individually choose what gimmicks apply to a level, instead of being stuck with fixed combinations.

However, my next goal is the customizable player; other updates (except for fixing two new glitches I've discovered, both of which I believe are unique to NeoLemmix) will most likely have to wait in the meantime.
Title: Re: NeoLemmix (Current: V1.11n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 26, 2014, 03:10:57 PM
Just a thought, was the source code for the Lemmix editor ever released? Since a lot of people seem to prefer that over LemEdit, I'd quite like to create a NeoLemmix-friendly version of that too, if the source is available...

I don't know how easy it'd be to implement NeoLemmix playtest mode, but simply implementing editing with all NeoLemmix features should be very easy to do...

EDIT: DynaLem managed to find an old post on here that had a link to what appears to be the editor source code, I'll look into that later on today! Now the question is... do I simply work in the compatibility features then continue with NeoLemEdit, or do I drop that project (at least for now) and work on improving the Lemmix editor? (Keeping in mind that either of these may take a while.)

EDIT: It seems that this code is missing a lot of files. :/ Either that or there's a step in compiling it that I'm missing... I haven't modified anything yet, just tried to compile the source as I found it.

EDIT: Okay, I did find how to get around some of the problems, but it appears some libraries are missing. Fortunately, it appears the ones in question are used in the Lemmix *Player* source code, so I may be able to copy them across from there (since that's more likely to be the correct version that's used in the editor source, than if I just get the latest versions from the internet).

EDIT: I'm getting past more and more of these - for example, I was able to get past some errors using fragments of the source he'd posted on a Delphi support forum for help (I don't know what with, as the forum was in Dutch). But still seems to be throwing more errors at every corner. xD


Nope, seems this has got to a point where I can't find the missing code or fix it. Oh well, it was worth a try... xD I can get the included *player* code to compile (though it won't run - but I can tell exactly why), but not the editor itself, it says something about TImgView32 missing. This appears to be part of the GraphicsEx32 library; as well as the included copy (version 1.8.1), I tried a fresh copy of 1.8.1, as well as versions 1.8.3 and 1.9.1 (the latest); 1.9.1 gives a different error, while fresh 1.8.1 and 1.8.3 give the same one.

EDIT: I GOT IT TO COMPILE! I actually just had to disable the "devleopment mode" options, and it compiled fine - the hard part was actually finding *where* these were enabled, as searching the source files and the project's Conditional Defines turned up nothing.

Next step is to firstly check if this compiled version works, and if it does, I can start on firstly adding NeoLemmix editing support, then once that's done, other enhancements (I'd like to include NeoLemmix playtest mode if possible, though I won't if it'll be too much hassle).
Title: Re: NeoLemmix (Current: V1.11n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 27, 2014, 04:50:00 AM
ALRIGHT! I have successfully managed to compile the Lemmix editor, at last! :D
Next step is to add support for NeoLemmix features. A lot of the files appear to be the same ones as used in the game, so my first approach will be to see if I can just copy across the ones from NeoLemmix. (EDIT: Appears this will not be an option for all of them, but may be for some.)

This will also be much easier than NeoLemEdit to add SuperLemmini support to.

I noticed that EricLang had mentioned he lost the source in a hard drive crash, so I've sent him the source that I got to compile.
Title: Re: NeoLemmix (Current: V1.11n) and NeoLemEdit (Current: V0.61)
Post by: Wafflem on July 27, 2014, 05:09:08 AM
Congratulations! Glad the code I found worked.

I have some suggestions: remove the style categories "Dos Original Lemmings," etc., and instead just one simple menu listing all the styles (including, of course, the LPII, LPIII and SEGA ones). There are so many unnecessary categories.

There may need to be a separate menu for the Lemmini/Superlemmini styles, though.

Also, the ability to change graphic sets within the editor, especially with levels I've seen that use the wrong graphic set.

EDIT: DynaLem managed to find an old post on here that had a link to what appears to be the editor source code, I'll look into that later on today! Now the question is... do I simply work in the compatibility features then continue with NeoLemEdit, or do I drop that project (at least for now) and work on improving the Lemmix editor? (Keeping in mind that either of these may take a while.)

You can go for the latter, since you've already compiled the editor. There are people who will want to create levels with your styles and the new NeoLemmix objects.
Title: Re: NeoLemmix (Current: V1.11n) and NeoLemEdit (Current: V0.61)
Post by: namida on July 27, 2014, 05:26:34 AM
Yeah, I will remove the unnessecary amount of styles. In all likelihood - especially if I remove the playtest mode, which looks like I may have to do (as if it loads NeoLemmix data but then tries to run these in a traditional engine that's obviously going to have bad results; while porting over NeoLemmix game code is likely to be a huge hassle that isn't really nessecary with the existance of LookForLVLFiles and CustLemmix / NeoCustLemmix - keep in mind none of these existed when the Lemmix editor was first released), then I'll probably only leave in four styles - CustLemm(ix), NeoCustLemmix, Lemmini and (eventually) SuperLemmini.

At this stage, I've got it including the LPII and Sega styles in CustLemmix style, and those plus the LPIII ones in NeoCustLemmix style; although it doesn't yet load them with the proper extended palettes for the LPIII and Sega styles it does now. Trigger areas also don't display accurately for the pixel-perfect ones - it displays the correct dimensions of them, but seems to be positioning them wrong.

I figure this is enough to warrant releasing a version of it - you can at least get the full palette when editing levels now, even though you'll still need NeoLemEdit to edit NeoLemmix-specific properties (but it'll be useful for those who prefer Lemmix's interface, as well as for those making traditional levels in the Sega style), so here:

http://www.mediafire.com/download/5gww92ywnvwsb1k/NeoLemmixEditor_0.0.11.0.zip

Let me know if you find any bugs that either aren't present in the existing version of Lemmix, or relate specifically to the new features - no suggestions at this stage, please. (Well, you can make them, but until the essentials are there, I'm not going to focus on them for the most part.)


Things remaining to make editable (off the top of my head):
- Gimmick (Done)
- Seconds in time limit (Done)
- Autosteel options (Done)
- Music selection (Done)
- Pixel-perfect screen start positions (Done)
- Fake object mark (Done)
- Left-facing object mark (Done)
- S and L values of objects (Done, though change is not reflected visually on pickup skills)
- Infinite skills (Indirectly supported; you can acheive it by entering 200)
- Pixel-perfect object X coordinates (Done)
- Pixel-perfect steel areas (Load only)
- Display pixel-perfect trigger areas (Done)

While I've been able to get the editor to compile, the Delphi IDE refuses to edit the custom object types in forms, which means I have to customize all the forms by hand from the text-based source. >_> Bit annoying, but doable.

Note that once I've added support for all NeoLemmix features and release the next version (current release doesn't support any NeoLemmix features apart from the extended palettes), I'll change the version numbering to a system more in line with the NeoLemmix player releases. Probably something along the lines of V#.##n-X; where X is a release number (most likely in the system of A, B, C, etc), and #.## is the lowest version number of NeoLemmix that supports *all* features contained in that version of the editor. (So for example, the first release would be V1.06n-A (because no new features that need editor support have been added since V1.06n - although I didn't mention it at the time, as with many features I planned to use in LPIII; V1.06n was where I actually first added support for more than one secret level per rank. If I then made an update which doesn't add any features to support a new NeoLemmix version, but simply fixes things in the editor / improves the interface / whatever, it'd then be V1.06n-B; but if I were to update it to support a new feature added in V1.12n, the new version would be V1.12n-A).

I will leave this first release available too, as it's more of an update to traditional Lemmix editor to simply support 32-color styles (most notably the Sega style, though also any custom 32-color but otherwise traditional styles anyone may make).
Title: Re: NeoLemmix & tools (NLx: V1.11n | NLE: V0.61 | NLxE: 0.0.11.0)
Post by: Wafflem on July 27, 2014, 02:08:32 PM
When trying to open a level from a DAT file, I get this error message:

Error during play:

Access violation at address 0050E17B in module 'Lemmix.exe'. Read of address 00000000.


Also, attempting to open a level with more than 100 lemmings gives me an error message.
Title: Re: NeoLemmix & tools (NLx: V1.11n | NLE: V0.61 | NLxE: V1.06n-A)
Post by: namida on July 27, 2014, 02:38:41 PM
Will look into the former - making sure DAT support is perfect is something I'll check over the next few days (possibly later tonight even), though first priority is getting out a version that supports all NeoLemmix features (in LVL format). The latter will be fixed in the first NeoLemmix-capable release.

Speaking of which, here is said release.

NeoLemmix Editor V1.06n-A Released
> Adds support for all NeoLemmix features.
> Removes playtest mode.
> Reduces the messy styles menu to three selections (though you can change this back by editing the INI): NeoCustLemmix, CustLemmix and Lemmini.

http://www.mediafire.com/download/rnj505sc5ra651c/NeoLemmixEditor_V1.06n-A.zip

Includes the full set of styles available in both CustLemmix and NeoCustLemmix. It doesn't include the Lemmini styles; it just has the placeholder data for them in the NeoLemmixStyles.ini file.

Note that setting infinite uses of a skill doesn't have a dedicated option currently; just enter 200 for the skill quantity if you want infinite (this isn't a "virtually infinite" case; NeoLemmix literally interprets 200 as "infinite" - and by extension, any value above 200 will count down until it reaches 200 at which point it becomes infinite, though the editor prevents setting any value that isn't either 200 or in the range 0 to 99).

As before; I'll look into suggestions later, but at the moment, I'd rather stick to bug reports that are either not present in the standard version of Lemmix or are related to the NeoLemmix additions.

Also, for simplicity's sake, I will probably eventually drop support altogether for standard Lemmix and Lemmini, and make this editor exclusively for NeoLemmix and SuperLemmini. (At the moment though, it does not support SuperLemmini, except through SuperLemmini having (if it does; I haven't tried) backwards compatibility with standard Lemmini.)
Title: Re: NeoLemmix & tools (NLx: V1.11n | NLE: V0.61 | NLxE: V1.06n-A)
Post by: namida on July 27, 2014, 03:20:24 PM
I just checked the DAT thing, and it's not actually a major issue - nothing that's going to take ages to fix, and in fact a workaround exists. All it is is that it doesn't seem to automatically choose a style to use, thus you have to manually select one by right clicking and choosing "Change viewer style". Once you do that, it will work. I'll look into making it automatically use the current one (and if nessecary, default to the first one - that's NeoCustLemmix which includes *all* graphic sets so should be the most compatible).

Still, thanks for pointing it out, because I probably would never have found this myself, seeing as I generally only work with LVL files and have my own tool for quickly compiling entire games of LVL files into DATs.

EDIT: Okay, it doesn't even require any change to the code.
All you need to do is edit the NeoLemmixEditor.ini file. Find this line:
DosPackPreviewStyleName=
and replace it with this:
DosPackPreviewStyleName=NeoCustLemmix

I'm reuploading V1.06n-A both versions with fixed INI files. But if you downloaded the unfixed one, no need to redownload; just make the above change. For the 0.0.11.0 version, you may want to use CustLemm rather than NeoCustLemmix for that line.
Title: Re: NeoLemmix & tools (NLx: V1.11n | NLE: V0.61 | NLxE: V1.06n-A)
Post by: Wafflem on July 27, 2014, 11:06:35 PM
I used the above code line and saved the INI file, and it worked. However, when I close the editor and open it again to load up another DAT file, I get the same error. Upon rechecking the INI file, I found that the new line I added has reverted itself to DosPackPreviewStyleName=. This happens when I close the editor.
Title: Re: NeoLemmix & tools (NLx: V1.11n | NLE: V0.61 | NLxE: V1.06n-A)
Post by: namida on August 01, 2014, 04:59:11 AM
I tested that (forgot to post anything about it, sorry) and can confirm that happens for me too. I'll see if there's a way I can stop that from happening, or if not, to make it default to NeoCustLemmix if it encounters a blank line.

That aside, I'm hoping to get a V1.12n update out too - probably not with the customizable player, but just fixing a few climber-related glitches. Most likely I'll also release the first updated version of LPIII at the same time, as one of said glitches makes the solution to Fierce 15 somewhat fiddly to execute (well, to a degree it's meant to be, but the glitch makes it even more so than I intended), while another one can affect certain solutions on Fierce 4 (not nessecerially in a negative way) - I still have to fix the backroute in Fierce 11, though (I've done fixes for Rough 5, Fierce 12 and Fierce 15). V1.12n should also come with properly converted levels for Orig, maybe even OhNo as well. Also, most likey LPDOS as well - it's already very close to done so I may as well finish it off; in fact I'm pretty sure the only change that still needs to be made is involving the steel in Medi 19 / Danger 11; and that one should be as simple as switching that level to autosteel - in fact the only level that autosteel doesn't really work for is Medi 1 / Psycho 13 (due to use of barely-visible steel blocks as part of the regular terrain), but the existing work on the conversion was done before autosteel was added. I might also look at a few of the suggestions I've put on my todo list if any are relatively simple; and I also plan to include a more versatile gimmick selection - existing codes would still work, but also, an option where rather than relying on preset combos, you can pick and choose which gimmicks you do and don't want to apply to the level. Of course, that would require an editor update too - but since the above fix is required, that'd be needed anyway. I might leave this for V1.13n, actually.

Since there seems to be little interest in NeoLemEdit, from this point I will probably work solely on NeoLemmix Editor. As such, I will release the NeoLemEdit source code when I get home.
Title: Re: NeoLemmix (Player: V1.11n | Editor: V1.06n-A)
Post by: namida on August 01, 2014, 09:54:13 AM
NeoLemEdit source code has been uploaded, chcek the first post.

Also, done the climber-related bugfixes, as well as also fixing the "Rough 5 bug" (if you don't know what I mean, try bashing in the small space underneath the steel blocks near the end on, as the name suggests, Rough 5).

Aside from that, I also FINALLY added the right-click for instant min/max release rate feature. I was going to do a slight addition to the cheat codes feature to allow entering for example 0101 instead of FUN1, but this is more complicated than I expected so it'll have to wait for now - nothing that's on NeoLemmix has rank names long enough to nessecitate this yet, so it's not an overly huge deal, I guess.

I changed the poll to ask which conversion you want next. Orig and LPDOS aren't on there because I plan to have them both done for the V1.12n release, while LPII isn't on there for other reasons which I won't detail just yet.

EDIT: For LPDOS, there's 5 levels that need adjustments (or should I say 5 maps; since due to repeats it's 7 levels). Haven't started on Orig yet. There's also one modification to the style files that I feel is needed - some of you might be able to guess what it is, or even surprised that it wasn't already done in an earlier version, but it involves the Fire set. (This fix will be applied to all players that contain this set - so Orig, Extra, LPDOS and Cust)

EDIT: LPDOS conversion is complete. Just gotta do Orig, fix a bug with the instant RR99/RRmin (specifically - for some reason, F1 / F2 are instantly minimising / maximising it) fixed, and then the new version can be released.

I have also added a couple of other new features - one that I should've added a while ago; DebugSteel now works on levels that don't use autosteel. The other is also related to steel - steel areas (the non-autosteel type) now are only applied to pixels that are actually terrain, so they won't affect, say, a bridge you build later on.
Title: Re: NeoLemmix (Player: V1.11n | Editor: V1.06n-A)
Post by: namida on August 01, 2014, 12:12:45 PM
So for Orig, there's a total of 24 maps that need modification. Most of these are very simple, the only one that I foresee being a MAJOR hassle is Tricky 4 / Taxing 7. I notice Mayhem 2 and Mayhem 8 exhibit the same problem as Medi 1 / Psycho 13 from LPDOS did when using autosteel, so the steel for these two will have to be done manually; fortunately it isn't overly complicated.

This is not including the 2P levels, where all of them need at the very least a fix to the screen start position; all except level 2 need further fixes (most often a left-facing trapdoor).

EDIT: Well, there was no way I was going to manually place steel areas around that bit on the left on Taxing 7... so instead I overlapped the terrain with erasers, then in turn placed normal pieces back in their place. It may not be graphically identical to the original, but it's pixel-perfect the same in terms of what is or isn't solid; with accurate steel. xD
Title: Re: NeoLemmix (Player: V1.11n | Editor: V1.06n-A)
Post by: Minim on August 01, 2014, 12:27:20 PM
One said OhNo so far, and I almost decided OhNo too, but changed my mind to Extras instead. The more levels the better, and quite clearly with 45 Genesis and 30 Present & Sunsoft levels that's more than the 100 levels of OhNo.
Title: Re: NeoLemmix (Player: V1.11n | Editor: V1.06n-A)
Post by: Wafflem on August 01, 2014, 01:06:34 PM
I think the Extra player conversion can be done once namida extends the ranking number to more than 4 or 5, in which he should split the Genesis rank into Fun-Mayhem.

I wonder how he did the seven ranks for Revenge of the Lemmings, though.
Title: Re: NeoLemmix (Player: V1.11n | Editor: V1.06n-A)
Post by: namida on August 01, 2014, 01:44:55 PM
It's not an overly huge thing - it's that Lemmix only contains code for handling MAIN.DAT files with either 4 or 5 rank images. Adding the 5th one changes the position of certain other data; however there is the unused 5th section which could be used to store as many images as needed without interfering with anything - it's just a matter of actually doing so. In the case of Revenge Of The Lemmings, it (like the non-NeoLemmix version of LPDOS) uses external BMPs rather than a modified MAIN.DAT, and as such does not run into this issue. However, that's quite a messy approach. :P

Anyway, at this point, I'm done with all the single player levels; I only have the 2-player levels left to NeoLemmixise. Most of the levels are exactly what you're used to except for improved steel areas and placement of traps (the window was also slightly moved in Mayhem 1 so that it still begins with a fatal fall). There is one level in late-Mayhem that has an extra nasty surprise, though, but I think that the level would've originally been this way had the original game had NeoLemmix mechanics (or at least one specific NeoLemmix mechanic in particular). There's also one level in early-Fun with a similar modification, but it's much less nasty here. (It's not Mayhem 20, by the way - the two levels are mostly unrelated but just share one thing somewhat in common.)
Title: Re: NeoLemmix (Player: V1.12n | Editor: V1.06n-A)
Post by: namida on August 01, 2014, 03:04:31 PM
V1.12n is here!

Players can be downloaded here: https://www.mediafire.com/folder/qbzyj2h8t3ad8/V1.12n

The most notable additions is that both Original and LPDOS are now fully converted. There might be the odd problem with the Orig conversion, so let me know if you find any issues. (The skillset has been changed in two levels, both to remove blockers in levels primarily revolving around blockbombing due to instant bombers negating the need, those levels being Fun 6 and Mayhem 26 (the latter is also made much better suited to its position by this change); and yes, I did verify that the latter is still possible to complete.) You can also now instantly minimise or maximise the release rate by right clicking the appropriate icon on the skillbar. Other changes are just bugfixes or related to DebugSteel (which may be useful to anyone developing levels, but not really to those who are just playing them).

Lemmings Plus III has also been updated to V1.12n (along with backroute fixes on a few levels), but that isn't included in the above link as it's considered an official LPIII update; see the LPIII topic for the download.

NeoLemmix V1.12n changelog
*  Fixed a bug that allows climbers to fall through one-pixel floors
   under certain circumstances. ("Fierce 4 bug")
*  Fixed a bug where climbers can climb through an overhang above their
   head if it's still very close to the ground. ("Fierce 15 bug")
*  Fixed a bug where a basher may continue due to the presence of
   terrain that can't be destroyed but does not trigger the steel
   check and turn around. ("Rough 5 bug") Note that they won't turn
   around on such pixels, they just won't recognize them and thus treat
   it as if there was no terrain there - this is intentional.
*  Release rate can be instantly minimised or maximised by right-clicking
   the appropriate button on the skillbar. (No shortcut keys for it yet)
*  Fixed a trigger area in the Fire graphic set (this affects Orig, LPDOS,
   Extra and Cust only).
*  DebugSteel now works on levels that don't use autosteel. (However, it may
   have weird results on levels that use simple autosteel.)
*  Steel areas do not affect pixels that are not terrain (to prevent them
   from being applied to a bridge built near a steel block, especially in
   levels not specifically designed for NeoLemmix).
*  LPDOS NeoLemmix conversion is complete.
*  Original Lemmings NeoLemmix conversion is complete.
Title: Re: NeoLemmix (Player: V1.12n | Editor: V1.06n-A)
Post by: Wafflem on August 01, 2014, 03:21:07 PM
Great job with converting the Orig levels, especially the skillsets of the two levels. Although it does defeat the purpose of Tricky 17.

Two more bugs in the NeoLemmix Editor:
1. The editor refuses to load levels that are at a release rate of 0.
2. Sometimes, when I exit the editor, it gives me an error: "memory leak: 88" (not sure if that's the right number). This error also happens in EricLang's version.
Title: Re: NeoLemmix (Player: V1.12n | Editor: V1.06n-A)
Post by: namida on August 01, 2014, 04:03:34 PM
1. Probably because levels aren't meant to have a release rate outside the range of 1 to 99? :P But since there are levels out there that have done so anyway, I'll make sure to fix that.

2. I've never seen this; any ideas on exactly what causes it? (eg: does it happen after performing a certain operation before exiting? does it happen when a certain level is in the editor? etc)



I'd say the big difference between Fun 6 and Tricky 17 is that Fun 6 gives you a few extras to spare; whereas Tricky 17 you must place the second one correctly (I'd say it's fairly hard to muck up the first one, unless you're doing so on purpose :P) or restart the level (or revert to an earlier save state). However, my logic here was removing the duplication of training levels involving blockers, especially since their only purpose in this level is to position the bombers which is no longer nessecary under NeoLemmix. Fun 18 on the other hand keeps them, because if you mess up and bomb into a fire pit (not that that's likely to happen with the instant bombers), you may be able to use the blockers to save yourself - and that is what differentiates it from Taxing 19; though obviously, there's only so much that can be done when these levels were originally designed with timed bombers in mind. Taxing 27 keeps them similarly because they have uses there outside of timing the bombers. This is also true of Mayhem 26, but the level is possible without them, and becomes much more suited to its position that way - and while not the sole use, I think it's fair to say timing the bombers was the main use of them here.

It's similar logic to how I removed the blockers in Mild 22 and Medi 17, but not Medi 5, in LPDOS.
Title: Re: NeoLemmix (Player: V1.12n | Editor: V1.06n-A)
Post by: Minim on August 02, 2014, 09:46:30 AM
Hey, I noticed that you created left-facing levels! (You did forget Mayhem 2 however, but that can be easily fixed in the next update) These will certainly make levels such as Taxing 11 and Taxing 13 a lot less intimidating. As for 2P mode, you forgot to change the screen start for 10, but that can also be fixed easily.
Title: Re: NeoLemmix (Player: V1.12n | Editor: V1.06n-A)
Post by: namida on August 02, 2014, 09:56:55 AM
For some reason, making the entrance left-facing never even crossed my mind for Mayhem 2. I probably should do that.

Aside from those, one other thing I noticed is that there's three pixels on Mayhem 18 that aren't steel but should be (in the steel block across the water from the bottom-right entrance). You can easily see this if you turn debugsteel on.
Title: Re: NeoLemmix (Player: V1.12n | Editor: V1.06n-A)
Post by: namida on August 03, 2014, 03:32:19 AM
Problems I'm aware of in V1.12n:

> If a climber climbs a wall that's exactly 7 pixels high, he ends up one pixel too high and thus becomes a faller for one frame before walking as normal.
> Certain situations that would previously have caused the Rough 5 bug now result in the basher stopping but *not* turning around. (Trying to bash very close to steel but underneath it, where there *is* non-steel terrain below it, is one way to trigger this.) I don't know exactly what approach I want to use here, but the current result just feels weird. Adapted behavior: If all solid pixels in the normal check area are steel (or wrong oneways), it also checks the row of pixels one below the normal two and acts based on that - if these are also unbreakables, the steel check is triggered, if they are empty space, the lemming becomes a walker. This fix is much tidier.
> If you instant RR99 / RRmin while paused then further change the release rate before unpausing, it reverts back to min/max as soon as you unpause.

I'll release an update soon to fix these, as well as the couple of minor issues identified in the Orig conversion.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: namida on August 03, 2014, 05:30:10 AM
Alright, V1.13n is up!

NeoLemmix V1.13n changelog
*  Fixed a bug introduced in V1.12n which caused climbers to be positioned
   one pixel too high after climbing a 7-pixel wall.
*  Fixed some weird behaviour caused by the "Rough 5" bug fix when bashing
   through non-steel terrain with steel right above it.
*  Fixed some errors with applying the "Rough 5" bug fix to one-way walls,
   including a complete lack of acknowledging one-way downs.
*  Fixed a bug with the instant min/max release rate while paused.
*  Fixed a few levels in the Orig conversion, namely Mayhem 2, Mayhem 18,
   and 2P 10.
*  As the LPIII cheat code has now been revealed, cheat codes can now be
   enabled in the INI file in LPIII.
** Players can now have up to 15 difficulty ranks instead of only 5.
** Fixed a few levels in the Orig conversion, namely the VGASPEC ones.
** Fixed the versions of the DOS and LPII styles in NeoCustLemmix.
** Added the 2P levels to OhNo.
** Added the PSP levels and the SNES version Tricky 21 to Extra.


Features marked with ** instead of * were added in a later update, which was only applied to the players that are actually affected by the change.

You can get the players here, except for the LPIII one which can be found in the LPIII topic.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: namida on August 04, 2014, 06:19:24 AM
I've added support for >5 difficulty ranks; a NeoLemmix player can now support up to 15 ranks. I decided to set the limit there due to a) I doubt there'll ever be a need for more than that, and b) when setting the destination secret level on a trigger, you can't set a rank higher than 15 (actually currently you can't set higher than 7, but it can be easily expanded to allow up to 15 - anything more would require reworking how it stores the info).

I've also (despite that the appropriate version of NeoLemmix is not yet released) updated my MAIN.DAT tool to support this.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: namida on August 04, 2014, 07:06:18 AM
Updated the Extra player based on this fix (still otherwise V1.13n), it's in the same folder. Going to do the same with OhNo to add the 2P levels. Note that I didn't yet update the version in the AllNeoLemmixPlayers zip due to the pending ONML update; so if you want this updated version, be sure to grab the individual download for Extra.

Changes:
> Added an extra rank, "PSP". Thanks to Luis for these levels.
> Added an extra level to "Other", "Ohayo Lemming San". Thanks to DynaLem for remaking it.
> Fixed the ordering of budget amiga Taxing 15 and bookclub amiga Taxing 20 in the "Other" rank.


EDIT: Okay, reuploaded the all players ZIP with fixed versions of (individual downloads are also fixed of course):

> Extra: See above.
> OhNo: Adds the 2P levels.
> Orig: No longer has hardcoded music for the VGASPEC levels, instead it uses the NeoLemmix feature of selecting music (it should've done this before but I forgot xD)
> Cust: Uses the fixed versions of the upgraded styles that I was going to wait for V1.14n to include (though they're avialable as a seperate download)
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: namida on August 04, 2014, 01:18:52 PM
So going back to what I said about having "something else" I'm working on before I do the LPII conversion. I have the three easier-to-do styles out of the way, but the Tree and Desert ones might take some time...

The Psychedelic and Metal ones were completely touched up by hand, while some parts of the Purple one were scripted. I also haven't done the objects in the purple style yet, except for the trap. Pixel-perfect accuracy to the originals is being maintained in terms of what is or isn't a solid pixel, so the update is purely graphical.

I don't expect the final result to look quite up to LPIII standard (though I must say, the Metal style comes very close), but a bit of improvement never hurt. :P
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: Wafflem on August 04, 2014, 02:38:51 PM
I was sure you were going to do that for LPII, considering how you showed a preview of updated graphics for Nice 2 before.

Will you also change the exits of the Tree, Desert and Metal styles to completely new exit designs? Will you also update the graphics for the traditional styles?

Another NeoLemmix suggestion, based on what you've done with the trapdoors in the 2P levels: one trapdoor can have both right-facing and left-facing lemmings, instead of overlapping two trapdoors.

Another NeoLemEdit suggestion for later: Add a prompt on whether you want to overwrite a file or not, since this doesn't happen in the original version.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: mobius on August 04, 2014, 09:42:59 PM
I apologize if this has been asked and covered before but I don't have time to keep up with the forum.

Do you have the individual graphics files of all of your new styles? If you can upload them, I'd like them as I'd like to use them for Lemmini. [Lemmini requires GIFs but I can convert most common file types to GIF]
You can send me the objects as well but don't anyone look at me to get those working in Lemmini as it's quite a bit more difficult (well maybe I Don't actually know much about it)
I will give you credit for any styles of yours that I use if I do use them.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: namida on August 05, 2014, 12:50:51 AM
I was sure you were going to do that for LPII, considering how you showed a preview of updated graphics for Nice 2 before.

Will you also change the exits of the Tree, Desert and Metal styles to completely new exit designs? Will you also update the graphics for the traditional styles?

Another NeoLemmix suggestion, based on what you've done with the trapdoors in the 2P levels: one trapdoor can have both right-facing and left-facing lemmings, instead of overlapping two trapdoors.

Another NeoLemEdit suggestion for later: Add a prompt on whether you want to overwrite a file or not, since this doesn't happen in the original version.

I actually had no plans to do that originally; I only used the "updated" graphic to test the 32-color code without having to make a whole new style. However, once I got into creating new object types, I felt I may as well work on a new style, and made sure it was of decent quality so that I could use it with LPIII rather than it serving no real purpose in the end.

I don't plan to make entirely new exits for those styles, but I did touch the metal one up a little bit. And I don't plan to update the traditional styles, though if anyone else does so, I'd be more than happy to include them provided that, as how I'm doing with the LPII ones, the shape of the terrain pieces remains pixel-perfect to the originals.

The two-way entrance isn't a bad idea, but the question is where to squeeze it into the object data - that's become *very* packed by this point! There are only three bits that remain unused IIRC out of the entire 8 bytes. It is simple enough to just overlap it with another entrance that's left-facing.

I don't plan on making further updates to NeoLemEdit since the interest is more in the NeoLemmix editor; that's also easier to work with due to similarity in code between it and the player. However, anyone is welcome to make whatever changes they want to the source code which has been released. Although I'm pretty sure it *does* give a prompt for overwriting files, and the original LemEdit definitely does... do you perhaps mean the NeoLemmix Editor? I'm not sure if that one does.

I apologize if this has been asked and covered before but I don't have time to keep up with the forum.

Do you have the individual graphics files of all of your new styles? If you can upload them, I'd like them as I'd like to use them for Lemmini. [Lemmini requires GIFs but I can convert most common file types to GIF]
You can send me the objects as well but don't anyone look at me to get those working in Lemmini as it's quite a bit more difficult (well maybe I Don't actually know much about it)
I will give you credit for any styles of yours that I use if I do use them.

I'm not at home at the moment, but yes I do have them. They're in BMP format; you may need to manually handle the transparency because the way LemSet works is simply "any color not in the palette is treated as transparent" - in some cases I've used more than one transparent color in an image, to help with alignment or things like that.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: Wafflem on August 05, 2014, 05:34:22 AM
I don't plan on making further updates to NeoLemEdit since the interest is more in the NeoLemmix editor; that's also easier to work with due to similarity in code between it and the player. However, anyone is welcome to make whatever changes they want to the source code which has been released. Although I'm pretty sure it *does* give a prompt for overwriting files, and the original LemEdit definitely does... do you perhaps mean the NeoLemmix Editor? I'm not sure if that one does.

I meant the NeoLemmix Editor, which doesn't prompt whether you want to overwrite files or not.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: namida on August 06, 2014, 09:36:09 AM
I'll get onto doing some upgrades/updates with the editor this weekend, hopefully.

Anyway I'm wondering (and I put a poll up) - do you think the maximum score should be increased? Case in point - Dodgy 6 of LPIII, where it is impossible to get any score other than 100, as the amount of skills needed to pass the level even without other considerations reduce the score to almost nothing. Fierce 5 is also very hard, though not impossible, to get a score that isn't 100.

The only change would be the maximum value - so converting old scores to the new system would just be a matter of adding the difference. (EG: If the max is increased by 30,000, old scores can be converted by simply adding 30,000 to them.)
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: namida on August 08, 2014, 04:42:18 AM
Okay so, in preparation for some editor work, want to make sure I've compiled all the bugfixes or major missing features, and updates.

If I've missed a bugfix on this list, please point it out. However, if I've missed a suggestion, it can wait, unless I've specifically said "I'll do it in the next update." Especially if you've mentioned it to me by PM rather than this topic, I might miss it - I generally don't save my PMs for very long, nor is it too easy to go through them to find those specifically relating to a certain matter (it took me ages to dig up the old PM where DynaLem had sent me the remake of SNES Tricky 21, for example (only for me to then find I had already saved a copy of it to my working folder xD)), so this topic is a more reliable place to put suggestions / bugfix requests / etc. I also don't guarantee everything on here will make it in; it's just a list for me to use as a reference, but I will try to do as much as possible

Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-A)
Post by: namida on August 08, 2014, 12:08:07 PM
Alright! Here's NeoLemmix Editor V1.06n-B. :)

NeoLemmix Editor V1.06n-B changelog
* Now loads levels with Release Rate 0 without issues.
* The graphic set of a level can now be changed.
* The bug with the DAT manager failing to select a default style is fixed.
* A confirmation box when overwriting an existing file has been added.
* Object's S values can now be set between 0 and 15 instead of just 0 and 7. Note that the current version of NeoLemmix player still can't handle values above 7; they'll be treated as if they were (value - 8), eg, an S value of 10 would be treated as if it was 2.


Link: http://www.mediafire.com/download/ti4w196udu636ys/NeoLemmixEditor_V1.06n-B.zip


By the way - if anyone's really missing playtest mode... while as I said implementing it directly would be too much work, if anyone really wants it, I might look at seeing if there's a way I can directly integrate it with NeoCustLemmix (so in other words, if you have NeoCustLemmix and the editor in the same folder, there'd be a way to directly launch NeoCustLemmix on the current level from the editor). This would still probably be a fair bit of work, but much simpler than trying to update the playtest mode.


In player-related news, I have implemented the flexible gimmick function. I have yet to add the corresponding support to the editor, though. For those who didn't see the earlier posts - this basically means that instead of being stuck with one gimmick or specific preset combos, you can mix and match however you like (although of course, some combinations won't be compatible - for example hardworkers + lazy lemmings will probably have weird results), so for example, you could choose to create a level that's got Frenzy, Karoshi and Surviving Bombers combo, even though no preset value for that combo exists. Of course, the existing codes will continue to work.

From a technical point of view, this is acheived by using the unused high bytes of the first four skills (only the last two are actually used at the moment, the other two are reserved for future gimmicks), and setting the gimmick code to 0x4300 a specific bit on in the autosteel options byte (the 0x20 bit).
It integrates just fine with the automatic gimmick level music system, though obviously Superlemming can only be one or the other under this system - it goes with the Frenzy music. Of course, you can use the manual music selection to override this and use the gimmick one instead.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: Pieuw on August 08, 2014, 01:17:21 PM
Hey namida, good work here! :thumbsup:

I just downloaded NeoLemmix and there seemed to be something wrong with the NeoLemmixStyles.ini file: I set the paths to the Lemmini styles and it kept resetting to the default values when launching the program. I don't know exactly what I did to fix the problem since I tried lots of things, but now it works. I just wanted to let you know that there may be an error somewhere in the Lemmini section of this file.

Now I'll make a level with it, if I find inspiration! :D
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: namida on August 08, 2014, 02:00:15 PM
I haven't changed anythign relating to Lemmini as of yet (apart from style-independant features, such as the confirm overwrite dialog box), so I'm not sure why it would do anything differently from the vanilla version of the Lemmix editor. :/

Anyway, I made a slight change to the custom gimmick combos - rather than requiring setting the gimmick to 0x4300, it uses a previously-unused bit in the same byte as the autosteel options.

I also added another feature that'll be very useful once the customizable player is ready (or when creating levelpacks to be used with an existing player) for people creating packs that include repeat levels - basically a level-file based (instead of hardcoded) way to achieve the Oddtable effect. So, you can create a level file that doesn't contain any terrain/object/steel data of its own, but instead loads those of a different level. So for packs with repeat versions, you don't have to include (and update if there's any changes) two copies of the same level with different stats - you can just have the one version, and then for the repeat (or the earlier version; you can do it either way around), you just set it to load the terrain/object data from the other one. It also supports recursive cross-loading - so for example using the original game, you could have Fun 13 point to Tricky 2, which in turn points to Taxing 30, which in turn points to Mayhem 11 (which contains an actual level). The result would be that all four share exactly the same map, but can have their own titles, skillsets, etc.

Just for reference, the following data is taken from the actual level in the position:


And the following is taken from the level referred to:



At the moment, there is no way to do slightly varied levels (for example, the minor terrain differences between Tricky 25 and Mayhem 13 in the Master System version), but I might look into finding a way to do this if there's enough demand for it.

It will crash (but then again, what else is it meant to do?) if there's a circular reference* where both are external LVL files. I haven't tested in the case of one or both being inside the DAT files (either inside or (for Cust) outside the EXE) yet - it'll either crash or hang indefinitely.
(* By this I mean for example - Fun 1 refers to Fun 2, and Fun 2 refers to Fun 1, thus creating a never-ending loop.)
EDIT: Tested those cases; it crashes in both, but takes a few seconds to do so instead of doing so almost right away, and gives a different error message. But still - as I said, there isn't really anything else it can do in such a case.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: exit on August 08, 2014, 02:30:06 PM
I'm guessing that this would be NeoLemmix exclusive, although it might not be depending on how you do it.
Setting a default release rate for a whole set of repeats sounds sort of limiting(although now that I think of it, all of the original levels that repeated had the same release rates. I'm not sure about Holiday 94).
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: namida on August 08, 2014, 02:35:52 PM
It is NeoLemmix exclusive. While I'm still hoping to do a customizable traditional player, it won't have the NeoLemmix features like that.

And um... I specifically mentioned the release rate among things that *can* be different between the different versions? Also - not all pairs in the original had the same release rate between versions; one example that didn't is Fun 4 and Mayhem 20.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: Pieuw on August 08, 2014, 03:07:30 PM
I haven't changed anythign relating to Lemmini as of yet (apart from style-independant features, such as the confirm overwrite dialog box), so I'm not sure why it would do anything differently from the vanilla version of the Lemmix editor. :/

Oh, it's perfectly possible that I screwed up myself then, but I don't really see how.
Anyway, as long as it works now it's good! :thumbsup:
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: namida on August 08, 2014, 09:06:05 PM
I haven't changed anythign relating to Lemmini as of yet (apart from style-independant features, such as the confirm overwrite dialog box), so I'm not sure why it would do anything differently from the vanilla version of the Lemmix editor. :/

Oh, it's perfectly possible that I screwed up myself then, but I don't really see how.
Anyway, as long as it works now it's good! :thumbsup:

It's not impossible that I've done something by accident that changes it - I will have to look into this later today.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: mobius on August 09, 2014, 05:10:05 PM
I've started using the NeoEditor--very nice and easy to use!  :thumbsup:
I hope to make some new levels with the new features. soon :)

for some reason I'm unable to get copy/paste to work. From the menu or hotkeys. Pretty annoying to make levels without this for now.
Other than this--this is really awesome, great job on fixing the big mistakes and problems with Lemmix  :D

I have one maybe odd request; could you consider using something like dropbox or this forum to upload your files? I don't like using sites like source forge and mediafire; it's too easy to get viruses on them.
Dropbox is really useful, easy, and free and you don't need to remember passwords for it.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: Wafflem on August 09, 2014, 05:18:31 PM
I use Dropbox, too. It's a very flexible cloud storage.

There's a terrain glitch in the crystal style in NeoLemmix. I've attached two screenshots of MazuLems 25 / Frenzy 9 for comparison, one in the NeoLemmix editor with the glitch, the other in the Lemmix version of Revenge of the Lemmings that doesn't have the glitch. This happens in both the traditional and Neo style viewers. I've noticed this glitch when skimming through levelpacks to add in the Lemmings Level Database.

The memory leak errors have still been popping up randomly when closing the editor. I'm still wondering how this happens.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: namida on August 10, 2014, 03:57:50 AM
I'll look into that glitch later today. If you know off-hand - is this exclusive to my version of the editor, or does it happen in the traditional one too (ie: EricLang's one)?

I'll need to update the editor alongside the next NeoLemmix player release, and I'd be surprised if this is a complicated matter to fix (and at any rate, it is an important one), so I should be able to get this done by then.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: namida on August 10, 2014, 06:26:32 AM
Another new feature for NeoLemmix v1.14n specific to NeoCustLemmix (and will also be backported to traditional CustLemmix): It finally loads external MAIN.DAT files if one is present!

NeoCustLemmix will require a NeoLemmix-style MAIN.DAT file (these can be built using the MAIN.DAT tool in the first post), while traditional CustLemmix will require an OhNo-style one. Neither will work with an Orig-style MAIN.DAT.

Obviously, these are all steps towards what will be nessecary for the customizable player. :P The next thing to do is create a custom file which contains info on the custom levelpack, then add support to the editor for editing this file (or - since I've decided to include this data as an extra section in MAIN.DAT rather than yet another extra file - I could alternatively build it into the MAIN.DAT tool). Once that's done, I think everything else is internal, and in fact the customizable player should hopefully be ready in some form for the V1.14n release. :) Although, at least at this point, it probably won't be possible to actually build it into the EXE - but more a matter of that you can drop the customizable player in with a set of datafiles and it will adjust the number of ranks, number of secret levels, etc, according to this.

(EDIT: Or rather I should say, building it into the EXE won't be automated. The more tech-savvy users will be able to do it with a resource editor. :P)
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: Wafflem on August 10, 2014, 11:38:20 AM
I'll look into that glitch later today. If you know off-hand - is this exclusive to my version of the editor, or does it happen in the traditional one too (ie: EricLang's one)?

I'll need to update the editor alongside the next NeoLemmix player release, and I'd be surprised if this is a complicated matter to fix (and at any rate, it is an important one), so I should be able to get this done by then.

It's exclusive to your version, not EricLang's.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: namida on August 10, 2014, 12:57:46 PM
That's strange, I'll have to look into it.

I've made some great progress with the customizable player - the number of levels per rank (including how many are secret levels) is now customizable, as is the number of music tracks used in the rotation (now that I think about it, I still need to make it load external music files). The next step is the number of ranks as well as their names. After that, there's a few less-major options, and then just various texts - not all texts will be customizable, but some will be (including the cheat code).


Okay, ranks and their names is done, that was actually pretty simple! Now to deal with some of the smaller options...

Remaining to do:
* Customizable cheat code
* Customizable pack name (for title screen text)
* One customizable line for the scroller
* Victory/failure screen texts
* Congrats screen text

* Extra options:
*** Enable/disable LookForLVLFiles
*** Enable/disable cheat codes in INI file (To disable them altogether, disable them in INI and set a blank code)
*** Enable/disable accessing secret levels with cheat codes
*** Enable/disable security checks on replays
*** Enable/disable extra modes (challenge mode, timer mode, etc)
*** Enable/disable global autosteel override (disables level's steel, enables autosteel on all levels)
*** Enable/disable global simple autosteel

I will not build into it options on where secret levels redirect to; rather, those will be definable in the secret level's level files themself.


I've already uploaded an updated version of the MAIN.DAT tool, this doesn't build anything itself, but if a SYSTEM.DAT file is present when building a MAIN.DAT file in NeoLemmix style, it will automatically include that in the output MAIN.DAT file. I've decided to first get the new version of NeoLemmix (including the customizable player) out; once that's done, I will worry about updating the editor to follow. In the meantime, I'll include documentation of the exact format of the SYSTEM.DAT file so that those who want to get a head start can use a hex editor to create them - the format is VERY simple, the complexity is similar to that of ODDTABLE.DAT (so not very complex at all). Later, I'll either add functionality to NeoLemmix editor to create/modify these files, or add functionality to LemMain to create the section based on an INI file - probably the latter.

I most likely will also leave the victory/failure screen and congrats texts until V1.15n. The "other options", however, will be in V1.14n.

I also can't find any easy way to actually *remove* the options from the INI file if they're disabled, so that'll come later; for now the disabled options are simply ignored rather than not present.



There's also two more modifications that don't (at least not directly) relate to the custom player for V1.14n. Both relate to cheat codes, one is a bugfix (albeit to a bug that wouldn't occur on any existing player, but may on future players or especially custom ones), the other is a new feature that DynaLem requested quite a while ago:

* Cheat codes previously could only be used to access up to Level 99 of a rank, they can now be used to access as many levels as are supported (which is up to 255 per rank in the customizable player, and no real limit in a hardcoded one)
* Instead of typing the rank name, you can now type its number instead, for example, for Fun 14, rather than "FUN14" you could put "0114"

The latter still has some impact for customizable players - specifically because rank names may be longer than 8 characters (the limit is 16).
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: Minim on August 10, 2014, 03:37:35 PM
A few days ago I noticed that the entrance to Mayhem 1 was positioned higher by about 2 pixels. ??? Was that intentional or an accident? Maybe you could fix that in the next update unless you have a reason not to.
Title: Re: NeoLemmix (Player: V1.13n | Editor: V1.06n-B)
Post by: namida on August 10, 2014, 03:41:21 PM
It's because without that adjustment, the starting fall is no longer fatal under NeoLemmix mechanics. I'm not sure exactly what's causing this, as for example, PSYCHO 28 of LPDOS contains a fall that's exactly one pixel too high, and it remains such under NeoLemmix (ie: reducing it by just one pixel will make it survivable).
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B)
Post by: namida on August 10, 2014, 03:51:51 PM
Here we go, NeoLemmix V1.14n!

NeoLemmix V1.14n changelog
-----------------------------------
*  Added support for "pick-and-choose" gimmick combinations, rather than
   being restricted to a preset selection.
*  Added support for Oddtable-style levels directly encoded in the level
   file, rather than requiring a hardcoded redirection list and an actual
   Oddtable file.
*  Cheat codes can now be done using the rank number instead of the rank
   name, for example for Fun 14, you can enter "0114" instead of "FUN14".
   The rank number must be entered as two digits.
*  Cheat codes now work for any level number (at least as high as the
   players actually support); previously they would not work for levels
   beyond Level 99 of a rank.
*  NeoCustLemmix will now load an external MAIN.DAT if one is present. (Must
   be a NeoLemmix-style MAIN.DAT file; Orig and OhNo style ones are not
   supported.)
*  NeoCustLemmix can now load external music files if they are present.
*  Added a new player called "Flexi". This one is similar to CustLemmix but
   more customizable, it's designed for entire games rather than just small
   levelpacks. See its readme file for more info.


Downloads are here.

I'll release an editor update over the next few days to support the two new features in levels. If you want to use either of them urgently and have enough knowledge to do stuff with a hex editor, I can explain the format if you want. I haven't uploaded either the Flexi player or the all-players-in-one-zip yet (the latter being due to wanting to include the Flexi player in it); this is only because I still need to write the readme file for it. It'll be added within half an hour or so.


Note that the maximum scores have not been adjusted, nor does LPII use any of the remastered styles yet (as that's waiting until they're all complete).
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B)
Post by: namida on August 10, 2014, 04:11:15 PM
Flexi player has now been uploaded, enjoy! :D Am currently uploading the all-in-one zip (may take a few minutes since it's a very large file).

NOTE - there is a mistake in the included info on SYSTEM.DAT format. There is *NOT* a 16th rank name slot that should be left blank; only include 15 rank names (or rank-name-sized blank spaces as applicable).

As mentioned in the readme - you do NOT need to include style files with custom packs, as long as they're using the NeoCustLemmix numbering system. (You do need to include VGASPECs though.) Obviously this only applies to the styles that also exist in NeoCustLemmix, ie: the styles from the official games, the LPII and LPIII styles, and the Sega style.


And rather than wait for someone to ask, here's how to implement the two new features with a hex editor:

"Oddtabling"
1) Change the byte at 0x0C, turn the 5th bit on (in other words, add 0x10 to it)
2) Change the byte at 0x10 to the section number of the level to copy from (zero-based, so the first rank is 00, second is 01, etc)
3) Change the byte at 0x12 to the level number to copy from (also zero-based, so level 1 is 00, level 2 is 01, etc)

Custom gimmick combinations
1) Change the byte at 0x0C, turn the 6th bit on (in other words, add 0x20 to it)
2) Treating the bytes at 0x08, 0x0A, 0x0C and 0x0E as if they were a single 4-byte value (with 0x0E being the least significant byte), toggle the following bits on to add the corresponding gimmick. These are also listed from the least significant bit first:
Bit 0: SuperLemming
Bit 1: Frenzy
Bit 2: Reverse Skill Count
Bit 3: Karoshi
Bit 4: Unalterable Terrain
Bit 5: Skill Count Overflow
Bit 6: No Gravity
Bit 7: Hardworkers
Bit 8: Backwards Walkers
Bit 9: Lazy Lemmings
Bit 10: Exhaustion
Bit 11: Non-Fatal Bombers
Bit 12: Invincible Lemmings
Bit 13: One Skill Per Lemming

Note that if a custom gimmick combination is in effect, the standard gimmick code will be ignored; they do not combine. And note that combinations that directly contradict each other (for example, Hardworkers + Lazy Lemmings) may have weird or unpredictable results, though they aren't likely to cause crashes.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B | Customizable player released!!!)
Post by: exit on August 10, 2014, 04:55:50 PM
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.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B | Customizable player released!!!)
Post by: mobius on August 10, 2014, 07:48:32 PM
did you fix the issue with copy/paste? It's incredibly tedious to make a level without this. Btw, cut works fine for some reason. Is no one else having this issue?
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B | Customizable player released!!!)
Post by: namida on August 10, 2014, 09:00:25 PM
did you fix the issue with copy/paste? It's incredibly tedious to make a level without this. Btw, cut works fine for some reason. Is no one else having this issue?

I haven't updated the editor yet, only the player. Editor update is coming in the next few days, but yep, I'll have a look at the copy/paste issue.

exit: You say you aren't 100% sure if that helps - do you mean as in that's just a theory? Or you know for sure it helps on the traditional one, and just don't know if it would work for Neo?

Let me know if there's anything I've missed:

> Add support for flexible gimmick editing
> Add support for Oddtabling
> Investigate the copy/paste issue
> Investigate the memory leak on close
> Fix the transparent black bug
> Possibly a SYSTEM.DAT editor, though more likely I'll build this into LemMain Built this one into LemMain
> (Not urgent, will probably wait until the others are fixed first) Investigate the issue with Lemmini styles

The first two and the SYSTEM.DAT are the most urgent, so that the editor is up to date with the player. But depending how difficult they are to fix, the other three will probably be fixed in the same release anyway.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B | Customizable player released!!!)
Post by: exit on August 11, 2014, 12:10:32 AM
I'm not sure if this will work on NeoLemmix Editor(since I don't know how the editor is). I'm sure it will work on the traditional editor, though.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B | Customizable player released!!!)
Post by: namida on August 11, 2014, 12:14:36 AM
If it will work on the traditional one, it *should* (not definitely though) work on this one too. Thanks for that. The fix *should* hopefully be as simple as checking what exactly the "close level" function does, and making the "exit application" also do the same thing before actually closing.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B | Customizable player released!!!)
Post by: namida on August 11, 2014, 12:17:45 AM
I've updated LemMain (the MAIN.DAT tool) to add functionality to generate the SYSTEM.DAT section based on an INI file. The readme contains instructions on how to create the INI file; a sample is also included.

http://www.mediafire.com/download/us62552jbqf152h/LemMain.zip

Note that this is futureproofed by already containing support for the customizable texts that don't yet work in V1.14n, so you won't need to download a new version when V1.15n is released.

There's mention in the SYSTEM.DAT format explanation of an option that says "experiment and see what it does and don't abuse it". Those who figured out what this option does will know exactly why I say "don't abuse it" and why I haven't openly revealed what it does; similarly I haven't documented how to include turning that option on in the INI file (but there is a way). If you really want to know, ask me in PM, or examine the source code to figure it out.


To get the images required to compile a MAIN.DAT, just extract any existing MAIN.DAT file (using Orig or OhNo style as applicable; you then choose NeoLemmix when you rebuild it). Use OhNo style for any MAIN.DAT from a game with 5 ranks (OhNo, CustLemm, LPDOS, LPII), otherwise use Orig. If you're using CustLemm as the source, its file is named "CSTM.DAT", just rename this to "MAIN.DAT" before extracting it.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B | Customizable player released!!!)
Post by: exit on August 11, 2014, 01:49:56 AM
Will the system.dat file work with the customizable player? And also, if you add more ranksign images, will it build into an main file? I'm sorry if I overlooked something in one of your posts or the "usage" file.
I can't see what you're talking about when you're saying that there is an option with the explanation "experiment and see what it does and don't abuse it"(I take it you took that as a direct quote from the file). Am I missing something?
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.06n-B | Customizable player released!!!)
Post by: namida on August 11, 2014, 02:20:27 AM
An actual SYSTEM.DAT file (standalone) placed in the folder will not be recognized by the player; it is LemMain that recognizes this file (or a SYSTEM.INI file, which it will generate a SYSTEM.DAT based on), and adds it to the MAIN.DAT it generates. The customizable player does indeed recognize the SYSTEM.DAT when it's inside a MAIN.DAT file; that's how it gets the information on how many ranks, how many levels in each rank, what cheat code to use, how many musics to cycle through, etc.

The number of rank signs LemMain adds depends on which type of MAIN.DAT you choose. It adds four in an Orig style, five in an OhNo style, and fifteen in a NeoLemmix style. As long as at least one rank image (for the first rank) is present, it has its ways of handling any missing files - so if you're only using 5 ranks in a NeoLemmix style one, for example, you don't have to include dummy files for ranksign_06 onwards.

When I released the Flexi player, there wasn't yet anything that could make a SYSTEM.DAT file (LemMain would build it into the MAIN.DAT if there was one present, but it had to already be a SYSTEM.DAT file; it was only more recently that I added the option of using an INI file to generate it). Therefore, with the Flexi player, I included a file with information on how to create a SYSTEM.DAT file using a hex editor. There was one option in here that I didnt' outright say what it does, I just said that it exists and that if the user is interested, they should experiment to find out what it does. That's the option I'm referring to with that comment.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.14n-A | Customizable player released)
Post by: namida on August 11, 2014, 02:29:00 AM
NeoLemmix Editor Updated (V1.14n-A)
-------------------------
* Can now edit customizable gimmick combinations.
* Can now set a level as an "oddtable level".
* Locked exits, unlock buttons, pickup skills and left-facing pre-placed lemmings now display properly in the editor.
* Swapped "Cut" and "Copy" in the menu to the order they're in in most programs.


http://www.mediafire.com/download/q5e8g08qe3b411z/NeoLemmixEditor_V1.14n-A.zip

Regarding the other things mentioned above, I haven't looked at the Lemmini issue, the memory leak or the transparency glitch yet - I thought it was more important to get out a version that supports the new V1.14n features first. As for the copy/paste bug, I did look at it but was unable to reproduce it - copy seemed to work just fine for me. However, while checking this I noticed the odd ordering of those two in the menu so I fixed that.

mobius, could you let me know exactly what you're doing when you have the problem? eg: What kind of piece are you trying to copy? I do find it strange that there's any issue at all, given that the code for Cut is exactly the same as the code for Copy except with an added line to delete the piece; but then again, I've run into weirder issues with Lemmix so I'll reserve my judgement until I know the full details of what's happening. :P

Two issues I'm aware of that mostly relate specifically to the Flexi player:
> I forgot to implement the level-based selection of where secret levels redirect to. >_>
> Secret level triggers that specify an exact level to go to still won't work beyond the 7th rank.

I'll release an update to fix those for the Flexi player and NeoCustLemmix (as the former of those two could affect that too); the other players aren't affected by these so I'll wait for V1.15n to fix anything in those.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.14n-A | Customizable player released!!!)
Post by: namida on August 11, 2014, 03:34:04 AM
Uploaded the fixed versions of NeoCustLemmix and the Flexi player. All other players will receive these updates in V1.15n, as they're not critical for those ones (really, they aren't *overly* important for these two either, but they're nice to have):

* You can specify in a secret level's file what level it should redirect to afterwards. Just set the target level in the Oddtable targets, but without actually enabling Oddtabling mode for that level.
* Secret level triggers can now target any rank, instead of only the first 7.
* Secret level triggers can now target up to Level 255 of a rank, instead of only up to Level 99.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.14n-A | Customizable player released!!!)
Post by: namida on August 11, 2014, 04:32:32 AM
Okay, I had a look into the possibility of making players with the data stored internally in the EXE rather than as seperate files, and I came up with a solution. It does require a bit of work, but I included a guide on how to do it - it should be easy enough to follow. So here's the toolkit (it can also be found in the release folder for V1.14n - and of course, any future versions will have an up-to-date copy of it as well):

http://www.mediafire.com/download/y2d87olsc0oqtvc/FlexiTool.zip

Just in case anyone needs them, it contains copies of the styles and music files as well. These might be useful even if you're not building an all-in-one player.

Note that the version of the Flexi player in this toolkit is slightly different from the one in the general release; specifically, it will not load external files. The exception is single LVL files if LookForLVLFiles is enabled by the pack in question, and turned on in the INI file - that still works as normal.

You should also be aware that, while not impossible, it's quite hard to re-extract your data/music files from the EXE once you've built them in. This can be both a good thing (in that people can't mess with them so easily) and a bad (in that if you lose your data, it's a pain to recover it). It isn't entirely impossible - I managed to recover the Lemmings Plus DOS Project data files by extracting them from the EXE - but it is one hell of a pain in the ass.



So... let's see some awesome custom packs taking full advantage of this new tool! :D

By the way, I'm currently working on a non-NeoLemmix version of the Flexi player. Just for the record; it will support 32-color styles just like CustLemmix does, in fact it's being based off the CustLemmix code (and yes, there'll be the three versions just like with CustLemmix). It won't support more than 5 ranks though (less than 5 is fine if you don't want to use the full amount), nor will it support oddtabling or any other NeoLemmix-exclusive features besides the extended palette.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.14n-A | Customizable player released!!!)
Post by: namida on August 11, 2014, 06:28:43 AM
Finished making the traditional version. However, since it's not NeoLemmix, I won't post about it here - the best place for it, I think, is the CustLemmix topic, so I'll post it there.


By the way, an option I realised I need to add in the next update (for both versions) - using the Xmas palette.
Title: Re: NeoLemmix (Player: V1.14n | Editor: V1.14n-A | Customizable player released!!!)
Post by: namida on August 17, 2014, 03:29:55 AM
The Flexi Tool version seems to crash after completing levels, so I've temporarily removed it - I'll look into this. This only affects the NeoLemmix version of Flexi Tool; the traditional version one works fine as far as I can tell.

EDIT: Seems this affects the non-Tool version of Flexi as well. However, I've found a fix - will upload soon. Since it's relatively simple, I'll add support for the custom strings first.
Title: Re: NeoLemmix (Player: V1.14n-B | Editor: V1.14n-A | Customizable player released!!)
Post by: namida on August 17, 2014, 04:10:39 AM
Alright, release V1.14n-B. This update only exists for Flexi, as all changes are only relevant to it (not even Cust is affected).

Updated Flexi Player: http://www.mediafire.com/download/vavqsyckv9qyvag/LemmixPlayerFlexi.zip
Updated Flexi Tool: http://www.mediafire.com/download/swl20owtl8cc691/FlexiTool.zip


By the way, I have something very big planned for the V1.15n update, which will be made use of in Lemmings Plus III bonus pack - or given the variety of designs it gives rise to potential for, perhaps it'll even be "Lemmings Plus III, Part 2" (I wouldn't call it Lemmings Plus IV as I don't plan to make new styles for it; I might possibly use both the LPII and LPIII ones though for more variety if the pack looks like it'll be big enough to warrant it).

Please keep your MAIN.DAT files in loose format (as opposed to just keeping the RES file) if you want to upgrade any custom games to V1.15n, as they'll need to be recompiled for it for reasons which I shall reveal when it is released. You may also want to hold off on editing certain parts of the graphics for now... anything from the title / preview / postview screens should be fine, but in-level graphics you might want to wait...
(You don't have to actually keep the raw BMP images sitting around; just keep the compiled MAIN.DAT file and your SYSTEM.INI or SYSTEM.DAT file. You can always decompile the MAIN.DAT again when nessecary.)
EDIT: I should stress that this only applies to NeoLemmix; you don't need to worry about this if you're using traditional.
Title: Re: NeoLemmix (Player: V1.14n-B | Editor: V1.14n-A | Customizable player released!!)
Post by: namida on August 18, 2014, 05:34:07 AM
Two glitches that were brought to my attention by DynaLem and will be fixed in the next update:
> SuperLemming and Karoshi get "stuck" after playing a level with them (whether on their own or combined with other gimmicks, and regardless of whether they're set by the old method or the new one), in that they'll be applied to all levels until you exit the player. The latter is only partially stuck, in that the preview/postview screens keep displaying the Karoshi texts, but the actual gameplay is unaffected. This doesn't affect any other gimmicks. (This glitch was newly introduced in V1.14n)
> In levels where the screen start position is further to the right than you should be able to scroll, a white block is displayed in the extra area until it's scrolled off-screen. One example would be level 2 of Xmas91. (This glitch affects all versions, including traditional Lemmix)
Title: Re: NeoLemmix (Player: V1.14n-B | Editor: V1.14n-A | Customizable player released!!)
Post by: namida on August 18, 2014, 08:44:50 AM
As per a few people's suggestions, I've moved the downloads onto DropBox. I've updated the links in the first post; you can also get to them through the link in my sig (which is just the master folder under which all my Lemmings-related downloads are stored).


Note that I haven't removed the MediaFire downloads; so those links still work too. But I probably won't put future versions on MediaFire.
Title: Re: NeoLemmix (Player: V1.14n-B | Editor: V1.14n-A | Customizable player released!!)
Post by: namida on August 18, 2014, 01:51:00 PM
So, look what I finally got around to fixing...

Just for the record, Player V1.15n, Editor V1.15n-A and LemMain V6 will all be released at the same time, as these are somewhat all interdependant on each other. At this point, the editor and LemMain are both ready for release, but there's still some work to be done on the player.

(If you're wondering about that new dropdown box, it's just a list of skills. Selecting one from it will instantly set the selected object's S value to the correct value for that skill; it's to make using pickup skills easier.)
Title: Re: NeoLemmix (Player: V1.14n-B | Editor: V1.14n-A | Customizable player released!!)
Post by: namida on August 19, 2014, 05:11:14 AM
Not too long to go now. At this point, all that remains is to ugprade the MAIN.DATs from Xmas, H94 and LPIII, and also make a small levelpack (it won't be another new player; just a custom levelpack to use with NeoCustLemmix) with some levels to introduce the new feature. The levels won't be very complex, so it won't take long to make that.

The Xmas and H94 MAINs won't, at this stage, be made with proper graphics for the new features, as the levels actually in them don't use them obviously. I might consider doing them later though. The LPIII one will be, partly as futureproofing for LPIII-2 (although I'm also considering just giving it a new name, not "Lemmings Plus IV" but perhaps "Lemmings Plus" with a non-numerical subtitle).


EDIT: At this point, all that remains is the tutorial level pack, provided that testing doesn't uncover any nasty surprises (I've tested a few players at random, but given some of the changes of this update - even though it'll be almost entirely behind the scenes stuff except for in Cust and Flexi - I feel it's nessecary to test *all* of them). As the V1.15n update for Lemmings Plus III is still considered an official LPIII release rather than just part of the NeoLemmix update stream, and thus isn't nessecerially tied to the same release time, that one has already been released in the LPIII topic.

EDIT: Seems all good! :D

EDIT: 6 levels for the pack completed so far. One more tutorial type level to do, then I'm going to make 3 proper levels to fill out the spaces - of course, these levels will use the new feature. One might also be a gimmick level. And in case anyone's wondering; these levels are just using the official styles, I'm not using the Lemmings Plus ones for this. It's actually kind of interesting using the official ones for a change. I'm probably going to go for a one level in each style setup, although I don't plan to use the Xmas style (it's basically just a clone of the Snow style but with less objects anyway) so one might have to be duplicated... or I could use the Sega style for one...
If I do go with such a setup, the styles I have left to make levels in are Fire, Snow, Bubble, and Sega. I have a specific level design in mind I want to use the Fire style for, so that leaves the other three for the last tutorial and two standard levels.
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-A)
Post by: namida on August 19, 2014, 11:48:02 AM
Alright, it's finally here. I didn't come up with the full 10 levels, but the included LEVELPAK.DAT (with NeoCustLemmix) contains one tutorial level for each new skill :P as well as a normal level that uses most of the new skills (as well as a couple of the old ones).

So yeah, that's what it is. I added some new skills. Not hundreds like L2 has, that's overkill; there's 7 new ones, and the way I've implemented them only leaves room to add one more at a future point. I probably won't even do one though, although if any really really good ideas come up I might consider it. Oh and indeed, all style files (official, LPII, LPIII and Sega) have been updated to include pickup skill graphics for the new skills. :) I won't describe them here; play the LEVELPAK.DAT included with the new version of NeoCustLemmix if you want some training levels for them.

Note that said LEVELPAK.DAT has a somewhat strange structure (this is intentional). Specifically, it has 8 levels total, and rather than fill both Step5 levels with a filler level, the second level each in Step4 and Step5 are fillers while both first levels are proper levels. So remember - Step4 Level 2 is a filler, but Step5 Level 1 is an actual level.

Hope you enjoy these levels! Apart from being (I hope) good introductions to the new skills; they're also the first levels in over 4 years I've made using the official styles rather than my own custom ones, and also my first levels made in the Lemmix editor (LPIII was done about 10% in LemEdit and 90% in NeoLemEdit).

NeoLemmix V1.15n Update
--------------------------------------
*  Seven new skills have been added. The NeoLemmix Editor makes it easy to
   handle using these; the one thing to be aware of is when creating styles,
   specifically for pickup skills, the order is *not* the new skill order,
   but rather, it is first the old skills in order, then the new skills in
   order. A LEVELPAK.DAT is included with CustLemmix which contains a tutorial
   level for each skill, plus three relatively easy levels using a combination
   of new and old skills.
*  Two changes have been made to the scoring system. Firstly, the maximum
   is now 50,000 (so just add 30,000 to existing scores), secondly the
   penalty for not acheiving 100% has been reduced to 1,500 (so add 500 to
   any scores obtained on a non-100% result).
*  Secret level triggers can now go up to Level 255 instead of only 99.
*  Secret level triggers can now go up to Rank 15 instead of only 7.
*  Which level a secret level redirects to can now be set in the level
   file itself.
*  Fixed the glitch where the congrats message would show after completing
   a secret level that redirects to Level 1 of the first rank.
*  Fixed a glitch where SuperLemming would become stuck after playing one
   SuperLemming level. The same thing also happened to the preview/postview
   screen texts (but not actual gameplay) for Karoshi, this is also fixed.
*  The player will detect and correct screen start positions that are set
   further right than should be possible (for example, level 2 of Xmas91).
*  Lemmings Plus III is now finalized, and as such, LookForLVLFiles, secret
   levels via cheats, and extra modes (Challenge Mode, etc) have been enabled.



NeoLemmix Editor V1.15n-A
----------------------------
> Can now edit the skillset (new feature in V1.15n)
> Adds a quick-select box for pickup skills
> When creating a new level, the AutoSteel, Custom Gimmick
  and Custom Skillset options are enabled by default.
> Fixed the bug where black parts of objects/terrains are
  rendered as transparent even when they shouldn't be.
> No longer crashes if a left-facing pre-placed lemming
  exists in the level but the graphic set in use doesn't
  have a left-facing image for it.
> Now loads negative object Y coordinates correctly.


Links:
NeoLemmix V1.15n Players
NeoLemmix Editor V1.15n-A
LemMain V6 - This new version is needed to make MAIN.DATs for NeoLemmix V1.15n


I'd be interested to hear feedback on the actual proper level (well all the levels, really). It's not meant to be overly hard - to give an estimate, if it was an LPIII level, it'd probably be mid-Dodgy, late-Dodgy at the most.

By the way, I've also added a "Misc Documents" subfolder under the NeoLemmix folder. I eventually plan to properly document the NeoLemmix file formats and put them in here, but at the moment this just contains one document - the details of the scoring system mechanics. I did post them somewhere in this topic, but firstly that'd be a pain to dig up now, and secondly that would have the old maximum score and 100% penalty (only those two things have changed since the system was implemented) and also wouldn't have the score values for the new skills; the document in that folder *does* have them. If you're one of those people who like to have a general idea of things but don't want the full details:
> the Walker has a smaller penalty than any other skill, but it does still have one
> in general, the impact of the new skills is fairly similar to the skills that they're similar to (eg: Platformer's is similar to Builder's)
>> the one exception to the above is the Stacker, which has an impact only about half that of the Builder

EDIT: NeoLemmix level format documentation has now been added. I'll add documentation for MAIN.DAT and graphic sets... hm, I have not-Lemmings-related stuff I need to do over the next couple of days, then girlfriend visiting this weekend... so it might be a while, but I'll get them up eventually! (Although MAIN.DAT still uses the same format as always, it's just where exactly certain images are that's changed.)
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-A)
Post by: namida on August 20, 2014, 05:41:35 AM
Known glitch: If you assign a Stoner close enough to the edges that part of the graphic will be outside the level, the game crashes. This could interfere with some possible level designs (and can even be triggered in the tutorial level, though it doesn't prevent completing it as you don't have to assign the stoner that close to the edge), so I'll probably put out a V1.15n-B fix for Cust and Flexi today to take care of it. Thanks to DynaLem for letting me know.

If anyone's encountered any other issues with the new skills that probably should be fixed for this update, let me know ASAP. Most important are any that cause crashes (though I doubt there'll be any more; I know exactly why this one happens now and shouldn't be possible with any other skill but the Stoner), though all problems should be mentioned - even if they're not urgent enough to fix for that update, I'll of course want to fix them for V1.16n.


One other issue I noticed, though this is very minor, is that the players report themself as "V1.14n-B", not "V1.15n". Still, for this reason, I'll release updates for all players, and also drop the "-B" from the number since that's not really nessecary to distinguish the players. :P
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-A)
Post by: Minim on August 20, 2014, 05:57:33 AM
Alright, it's finally here. I didn't come up with the full 10 levels, but the included LEVELPAK.DAT (with NeoCustLemmix) contains one tutorial level for each new skill :P as well as a normal level that uses most of the new skills (as well as a couple of the old ones).

So yeah, that's what it is. I added some new skills.
Well, you have surprised me with the new skills update. I logically thought that it was combining two different graphic sets, via a post that you mentioned on LPIII, which was about adding more colors to the palette on the circuit set (or something based around that).

Anyway, I downloaded your level pack for CustLemmix, and it's very good indeed (apart from the filler levels, well they're not bad testing levels, but the 0% requirement means you only get to play them only once. :P) I solved all the levels. I was almost unable to solve the stacker level, but I realised that this particular stacker sets up the bricks in the same place, rather than standing on top of each brick like in Lemmings 2. The proper level was great fun too, and it wasn't too hard (I managed to save a walker too). This definitely will remind everyone of Lemmings 2 and Lix; and if we can create levels (or modify existing ones) around these new skills, this game will be very hard to put down.
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-A)
Post by: namida on August 20, 2014, 06:30:26 AM
If you're interested, here are the actual two levels I used for testing. Well, two of them - the third was just a modified version of Fierce 15, since I happened to already have a copy of that level in my development folder.

0101 uses the Sky set, 0102 uses the Pillar set.

The modified Fierce 15 was mostly used for testing the Walker, Platformer, Stacker and Stoner skills.
0102 was mostly used for testing the Swimmer, Glider and Mechanic skills.
0101 was used specifically for testing the interaction between Gliders and updraft objects - this might be interesting to play with a bit, as none of the tutorial levels actually contain that interaction.



As for having one walker left on the proper level - it depends which way around you use the Builder and Platformer (as they're interchangable). If you use the builder for the fatal fall, you might need the walker to stop the platformer depending on where exactly you place him. But I am indeed well aware that it can be completed with a walker left over; my solution also had it left.

The new version of the editor makes it pretty simple to use the new skills. I moved the skillset to a different place in the level properties panel, and each skill now has a checkbox next to it to enable or disable that skill. Of course, if you set more than 8 skills, only the first 8 will be usable (it won't even save the quantities for the remaining ones). But you can definitely open an existing level in it, then modify it with the new features - if doing so, be sure to enable the "Custom Skillset" option in the level properties; it's enabled by default when creating a new level, but obviously would be disabled if you open an existing level that doesn't already use it. (You'd also probably in most cases want to enable the Autosteel option too, and maybe the Ignore Level Steel).
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-A)
Post by: namida on August 20, 2014, 07:09:15 AM
Alright, new versions are up that fix the Stoner crash, and display the correct version number (V1.15n). There's one other change, a fix to a glitch with the teleporter mechanics (you may recall that in one of the challenge solutions to LPIII, I mentioned it - specifically, even if the lemming should instantly become a faller after coming out of the receiver, it becomes a walker on air for one frame, similar to the case with Blockers in traditional mechanics).

I also finally finished off the Purple set for the remastered LPII graphic sets. Only Tree and Desert left to go now.
EDIT: Only Desert left now. And it should actually be a rather quick job, due to the fact that Desert only really uses a single color (and therefore already has heaps of shades of it), and therefore is already up to a similar standard to LPIII graphic sets - mostly Sky, as that's the one it's the most similar to graphically. (By comparison, the Tree style uses two, and while the Purple style only uses one, some of the shades are *so* different that they can pretty much be counted as seperate colors.) Well, there are the cactuses, I guess...
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-A)
Post by: namida on August 20, 2014, 12:01:07 PM
Alright, they're done!

I reuploaded all the players that contain the LPII styles with the new versions, as well as the editor. So, that's LPII, LPII Bonus, Cust and Flexi (including the Flexi toolkit); and the editor. Apart from including the new versions of the LPII styles, there's no changes to any of these players, so if graphics don't really bother you, there's no need to worry about redownloading them.

If you just want to download the styles themself, then you can get them here:
Remastered LPII Styles Download (in the LPII folder)

The non-remastered styles are still available. These are kept available in case anyone feels they prefer them. These are the versions initially included with V1.15n; so in all non-graphical ways (including which pixels are and aren't solid in terrain pieces) they are identical; they're just using the non-remastered graphics.
Non-Remastered NeoLemmix-ised LPII Styles Download (in the base NeoLemmix folder)

Even outside of terrain pieces, there's only two objects where the graphics don't cover exactly the same pixels - the two traps in the desert style. They've been modified slightly to make them stand out more; of course they can still be hidden (by using No Overwrite) but generally they'll now be visible unless the level designer tries to make them not so. In the standard LPII levels, every case of the sinkhole trap is now pretty visible, though the one case where the falling sand trap is used (Cunning 17) it's still impossible to spot until it catches you - but the intended solution wouldn't encounter it anyway, I don't even know of any otherwise-possible unintended solutions that it prevents from working.


Next task, I guess, would be to create Xmas style graphics for the new skills. At the moment, all graphics that correspond to skill icons or actual graphics of new skills just have the non-Xmas ones as placeholders. It shouldn't be *too* hard to create the extra ones, as all but one of them (the Swimmer) are just modified versions of existing ones.
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-A)
Post by: namida on August 21, 2014, 09:30:12 AM
An interesting thing I just noticed - while both are FAR from obvious, the tutorial levels for Walkers and Platformers can both be beaten without actually using the new skill.
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-A)
Post by: namida on August 21, 2014, 11:07:28 AM
Got something long overdue for the next version... you can now specifically mark a style as using the Xmas palette, and therefore have it display in the correct colors even when other styles in the same game are non-Xmas. :D

I'll also integrate this feature into CustLemmix, too (edit: done, and released, see the CustLemmix topic - and of course by extension, this is applied to traditional Flexi as well). And, of course, the editor. I guess I'll need to make a LemSet update to support it too, just in case anyone wants to use it in custom styles (not that there's been any other than my ones, yet). Although there isnt' much point to doing so, unless you're making them for non-customizable games; graphic set palettes feature the same colors either way, it's only the order of them that's different.
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-B)
Post by: namida on August 21, 2014, 02:16:18 PM
New versions are up for LemSet (V7), LemMain(V6.1) and NeoLemmix Editor (V1.15n-B).

NeoLemmix Editor V1.15n-B
---------------------------------
> Index numbers of pieces no longer need to be all
  consecutive, they can now have gaps. (This can matter
  for objects in Traditional, and steel in NeoLemmix.)
> Can correctly display graphic sets that use the Xmas
  palette, as long as they are marked as such (same
  marking scheme as used in CustLemmix V14+ / NeoLemmix
  V1.16n+).
> Negative steel areas are now displayed in a different
  color from regular steel.
> Terrain pieces with No Overwrite enabled no longer have
  reduced priority when selecting.

Note: It's very possible this update may have caused issues with saving/loading Lemmini levels. If it has, let me know and I'll see what I can do about it. I don't have Lemmini set up, so I haven't tested this.



The update to LemSet is a very minor one, it just supports putting the Xmas Palette mark in styles. The update to LemMain is also related to the Xmas Palette; it adds an option of which palette to use, instead of only supporting the standard one.

Should also mention - the included copy of the Xmas style with the NeoLemmix editor (in both NeoCustLemmix and CustLemm styles) has been modified to mark it for the Xmas palette.


Also, to confirm what you're probably suspecting - yes, from V1.16n, the Flexi player option to use the Xmas palette will be working.
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-B)
Post by: Minim on August 21, 2014, 04:18:05 PM
Also, if your planning to update the editor, could you change the order of the skills on the level properties window so that the new skills are on the right column and the old skills on the left? (I see that you organised them in two columns which is good, but jumbling them up might confuse some people, well, it does confuse me a little bit)
Title: Re: NeoLemmix (Player: V1.15n | Editor: V1.15n-B)
Post by: namida on August 21, 2014, 04:31:33 PM
If you read left-to-right, top-to-bottom, they're in the order that they appear in-game. Like, for example, Walker always appears first on the list, Stoner will always appear after Bomber but before Blocker, etc.

If generally people would prefer the way you've suggested (old skills on the left, new on the right), then I can definitely make that change.


By the way - V1.16n update will include an option to force specific skillsets among the extra modes (just like it's had for a while with gimmicks), so you can try out new skills on existing levels. Additionally, it'll support custom gimmick combinations when using the Force Gimmick option, instead of limiting you to the combinations that have a dedicated code. Both features have already been coded.
Title: Re: NeoLemmix (Player: V1.15n-B | Editor: V1.15n-B)
Post by: namida on August 21, 2014, 05:04:15 PM
Did I say V1.16n? I meant V1.15n-B. Not enough to warrant an entirely new version, but I think it's worth releasing as these are some features that might be found quite useful, or at least quite nice. :P

NeoLemmix V1.15n-B
-----------------------
*  The Flexi player now supports the Xmas palette.
*  A single player can use styles with both normal and Xmas palettes without
   graphical glitches.
*  Gimmick forcing can now use custom combinations. This is done by entering
   an 8-digit value instead of a 4-digit one; NeoLemmix Editor will display
   the correct value for the currently-selected combination.
*  In players that support extra modes, it is now possible to override the
   skills with a custom selection. Like with custom gimmick combinations and
   gimmick forcing, NeoLemmix Editor will display the correct code to use.
   Note that any skill not usually present in the level will have a quantity
   of zero, so this should generally be used together with Challenge Mode.
*  Lemmings Plus III is now included in the NeoLemmix update stream. Note
   that the versions from such are not considered official LPIII releases;
   the Levels V3 / Player V1.15n release is the final official version.


https://www.dropbox.com/sh/z1h2vwtu90w8igs/AABBtcL2GcebwreclZsijmUKa/NeoLemmix/V1.15n

Please be aware: X9192 and H94 do not have proper graphics for the new skills; they do function fine but will be slightly strange graphically. Lemmings Plus III does have proper graphics for them though (LPIII-style skill panel buttons / empty slots, and variable colors on the glider just like it has on the floater). Likewise, the players that have differently-colored skillbars (Covox, Prima and Extra) have the new skill icons in their proper colors, not out-of-place-looking default colors.

Most likely, the big task for V1.16n will be finishing off some (if not all) of the remaining conversions - there's four games left to do; those being OhNo, H94, Extra and LPII.

EDIT: Just for fun, here's a few screenshots of new skills being used in the original game.
I had actually considered the idea of seeing how many different combinations of skills Mayhem 3 can be beaten with, still keeping the one-of-each... but even if you exclude Bombers and Stoners (since they kill the lemming, thus meaning you can't get 100%), that gives a total of 1287 possible combinations of 8 skills. :P
(If you were wondering, if you *include* those two skills, it becomes 6435 possible combinations! Yep, with just 15 skills, we probably have more possible combinations than will ever actually occur in levels - without taking into account that you don't *have* to have a full set of 8 skills! Now, if you do take into account skillsets of less than 8 skill types (going all the way down to no skills at all), there's 22,819 possible combinations! Of course, there are some cases where certian skills are useless - for example, there's no use for swimmers on graphic sets that don't have water, so there'd be no reason to have levels in the Xmas, Metal, Sky or Lab styles with swimmers.)
Title: Re: NeoLemmix (Player: V1.15n-B | Editor: V1.15n-B) (Flexi supports Xmas palette!)
Post by: mobius on August 21, 2014, 11:50:22 PM
[regarding the poll]
I'd be willing to help with making a Community pack. I can help contribute my own levels or convert other remakes. Are you looking for new things or levels which were in the Revenge of the Lemmings? There are a number of levels which I considered for that which didn't get included also.

The only thing is right now I'm busier than a fingerless man at a piano players contest. Hopefully things will calm down soon that I could actually do something Lemmings related again  :(

amazing work on adding all these new things to the game!  :thumbsup:
Title: Re: NeoLemmix (Player: V1.15n-B | Editor: V1.15n-B) (Flexi supports Xmas palette!)
Post by: namida on August 22, 2014, 06:46:03 AM
I was hoping for at least half the levels to be completely new, while the other half could possibly be re-used. Although, in the case of re-used levels, I'd encourage (though not require - there's nothing wrong with having a few levels sticking to the basics!) modifying them a bit to make use of NeoLemmix, even if it's just changing a couple of skills so they're pickup skills, or maybe replacing a builder with a platformer, etc.

I would rather avoid levels that have been in large packs that were originally made for Lemmix - so like, nothing from the Lemmings Plus series, cLemmings, GeoffLems, etc. But if they're from Lemmini-exclusive or even primarily-Lemmini packs, that should be alright.

As far as styles go, it'd probably be fine for all the styles except maybe the Sega one. (So the LPII / LPIII ones would be alright too.)

But also, the exact specifics of the pack is something that all contributors could discuss when the project actually starts. I'm not going to call the shots altogether for a community pack, except on that it'll be for NeoLemmix since that's the whole point of this one. :P

Also worth noting - we wouldn't be limited to using the Flexi player; I'd make a proper dedicated player for it like I did with LPIII. So this also means that (for example), assuming they're not too complicated, I could add in specific gimmicks that people want to use. Or other hardcoded stuff, though obviously this would need a *very* good reason and be only an occasional thing (like for example, the 66% required on Sega 3 from the Extra player, or the bait-and-switch on Timid 5 of LPIII).


By the way, I'd probably put Stone Hot Sacrifice forward as a level for possible inclusion. Maybe some of the tutorial levels too; some people have commented on a couple of them being a bit on the hard side (specifically, the ones for gliders, stoners and stackers) so possibly not all of them. If it doesn't get included, then I'll probably remake it in an LP style for "LPIII-2".
Title: Re: NeoLemmix (Player: V1.15n-B | Editor: V1.15n-B) (Flexi supports Xmas palette!)
Post by: namida on August 22, 2014, 09:05:16 AM
Some interesting mechanics / notes on how they work with the new skills that may be of use to level designers. Some of these are shown in the tutorial levels, or in "Stone Hot Sacrifice":

Walkers
- You can assign a walker to any of the following: Walkers, Blockers, Platformers, Builders, Stackers, Bashers, Miners, Diggers.
- If you assign a walker to a lemming that is already walking, it turns around. (I believe this is the same as in Lix.)

Swimmers
- If a swimmer enters the water below the surface, it jumps up a few pixels instantly, then slowly floats towards the top.
- For the most part, a swimmer functions the same way as a walker, but on water instead of terrain. This includes that it will jump up a small ledge if it encounters one, and can transition to climbing if it encounters a taller wall.
- A swimmer can be assigned the Bomber or Stoner skills. Bomber does not do any destruction if used while swimming (intentional, not a glitch), but Stoner functions as normal.
- The Exhaustion gimmick does not have any impact on Swimmers.

Gliders
- Gliders will turn around and continue gliding if they hit a wall.
- Gliders that meet updraft objects (the Sky set has these) will move upwards instead of downwards, though at a slower rate.
- You can assign a glider to a lemming mid-fall, just like with floaters.
- A lemming cannot be both a Floater and a Glider. You can have both skills on the same level, but not on the same lemming.

Mechanic
- Mechanics take 43 frames to deactivate a trap.
- A mechanic can only deactivate a trap while the trap is idle (not currently killing a lemming).
- A trap deactivated by a mechanic is permanently deactivated; the effect is not temporary.
- Mechanic is a permanent skill just like Climbers, Swimmers, Floaters and Gliders - one mechanic can deactivate as many traps as he encounters.
- The Exhaustion gimmick does not have any impact on Mechanics.

Stoner
- Stoner functions more or less identically to bomber, except for creating terrain instead of destroying it.
- Even in a player that uses timed bombers, Stoners are still instant.
- As implied by the first point, you can use a Stoner in mid-air.
- If you use a Stoner on flat ground (and even in most cases on slopes), Climbers will not be able to climb over the resulting terrain.
- A lemming that dies by becoming a Stoner does indeed count as killed for the purpose of the Karoshi gimmick.

Platformer
- Platformer can only be assigned in locations where at least one pixel of their first step is not already solid terrain.
- A platformer will stop if, while moving horizontally, there is a solid pixel either one or two pixels above his platform.
- A platformer will also stop if an entire brick is placed where there is already solid terrain; but not if even just one pixel of it was previously empty space.
- Platformers *are* affected by the Lazy Lemmings gimmick.

Stacker
- A stacker cannot be assigned in a location where the pixel below the leftmost pixel of their first brick is not solid.
- The stacker shares the builder's animation, there is no dedicated graphic for it.
- Stackers place their steps much more rapidly than builders or platformers do.
- Stackers' steps are three pixels wide, and they place 8 steps.
- Stackers will stop if the leftmost pixel of a brick they place is already solid terrain; they do not care about the other two.
- Stackers *are* affected by the Lazy Lemmings gimmick, making it almost impossible to actually make use of them in such conditions.



Combinations of permanent skills (Climber, Swimmer, Floater, Glider, Mechanic)
- The name "Athlete" now applies to a lemming with any two permanent skills.
- A lemming with three permanent skills is called a "Triathlete".
- A lemming with four permanent skills is called an "X-Athlete". This was originally going to be "Superathlete", but it barely fit in the space and looked weird.
- Five permanent skills is not possible as Floater and Glider are mutually exclusive; but if it did happen, it would still just show as "X-Athlete".

Currently there's no way to tell exactly which skills an athlete / triathlete / X-athlete has, unless the skillset only allows for one possible combination that acheives the name in question (for example, if the level doesn't have Floaters or Mechanics, then a triathlete is obviously Climber + Swimmer + Glider). If anyone has any suggestions for how differentiating them should be implemented, let me know.
Title: Re: NeoLemmix (Player: V1.15n-B | Editor: V1.15n-B) (Flexi supports Xmas palette!)
Post by: namida on August 24, 2014, 04:55:35 AM
Preliminary LPII conversion is now complete - still got to finish testing them though; only tested Nice so far. After that, next up is ONML, probably going to get H94 done before V1.16n is released too. Not sure about Extra, of course it'll be done eventually but whether it's done for V1.16n or not is another matter.

One new feature, that I discussed ages back but never implemented but have done so now (and will be in V1.16n); pre-placed lemmings can be pre-assigned certain skills. Specifically, the 5 permanent skills, as well as blocker. They can be assigned in any combination, except the impossible combo of Floater + Glider; if you try to assign both, it only gets Floater. The level does not need to actually have the skill in question as part of the skillset.


EDIT: Tested LPII up to the end of Cunning. The only levels that *needed* modifications were Cunning 5 and Cunning 6; though I'm also going to slightly increase the time limits on Sneaky 7, Sneaky 8 and Cunning 16, as well as some minor terrain changes on the last one.

EDIT: Tested all of LPII. Cunning 5, Cunning 6, Genius 8 and Genius 13 were the only level that needed modifications to actually be *possible* (after modifications to make stuff look neater, that is; they might've been possible as-is before that - well, the Cunning ones anyway; the Genius ones were both impossible under NeoLemmix mechanics). Cunning 16 also had some minor changes as the lack of steel glitches made it require an annoying degree of precision, and a few levels had an extra 30 seconds added to their time limits (off the top of my head, Sneaky 7, Sneaky 8 and Cunning 16). Cunning 9 needed some changes to keep the secret level accessible - since there was no way to make it impossible to get the whole crowd to the general area of it but still allow getting one or two lemmings, I had to do something slightly different for it. Under the new mechanics, Genius 4 was possible with one fewer builder than before, so the skillset has been adjusted accordingly. Cheeky 20, while not impossible under the new mechanics, became a LOT harder than before, so I made some very slight changes there too - you probably won't even notice the changes unless you're looking for them. That's just off the top of my head, I know there were a few more changes here and there. Surprisingly, Genius 19 needed no changes apart from one cosmetic change that doesn't impact the solution. Cheeky 8 is a lot harder than before now, but I'm not sure exactly what can be done to negate that without making it mostly just tedious (by sharply increasing the number of builders), except maybe swapping it and one of the other gimmick levels (maybe Cunning 19), but I don't really want to do that... I also have to say, Genius 3 gave me a bit of difficulty! Nothing NeoLemmix-specific, I just couldn't remember how to solve it. xD

OhNo and H94 are yet to be confirmed for sure, but LPII will definitely be fully NeoLemmix-adjusted for the next update, as the conversion is now complete. :P Those two (especially H94) shouldn't be too much trouble anyway.
Title: Re: NeoLemmix (Player: V1.15n-B | Editor: V1.15n-B) (Flexi supports Xmas palette!)
Post by: namida on August 24, 2014, 05:03:40 PM
Three glitches with the new skills that I'm aware of. Two with the Glider, one with the Stacker.

Title: Re: NeoLemmix (Player: V1.15n-B | Editor: V1.15n-B) (Flexi supports Xmas palette!)
Post by: namida on August 25, 2014, 04:40:08 PM
Both the ONML and H94 conversions are now completed. I noticed something strange in the H94 levels - namely, that the static and animated parts of the exit weren't exactly lined up, but overlapped slightly. As a nice touch, I adjusted them in the H94 levels while leaving them with this orientation in the H93 levels - it makes it look somewhat like the flames are candles that have, in the older levels, melted a bit over time.

Aside from that, in general the conversion is just enabling autosteel on relevant levels, and fixing up a few odd object positionings - or in very rare cases, some terrain oddities. Like with Orig, there's the odd case where I've set an entrance to left-facing.

The only conversion that still remains is Extra. I'll probably do that, since these are actually very quick and simple to do with the NeoLemmix Editor, much more so than they were with NeoLemEdit (primarily due to DAT support).
Title: Re: NeoLemmix (Player: V1.16n | Editor: V1.15n-B) (All conversions complete!)
Post by: namida on August 25, 2014, 07:27:45 PM
Alright, here we go! V1.16n is here!

The biggest update is that the four remaining conversions - OhNo, H94, Extra and LPII - are now done. It also fixes the aforementioned glitches, and a couple of other minor things.

NeoLemmix V1.16n
--------------------------
*  Fixed marking objects as Fake not working, not sure when it broke but it's
   fixed now.
*  Added support for marking windows, receivers and pre-placed lemmings as fake.
   Note that fake pre-placed lemmings essentially just do not exist; it might be
   useful during development but doesn't really have any purpose in a finished
   level.
*  Fixed the glider-falling-through-terrain glitch.
*  Fixed the glider-turning-around-on-slanted-terrain glitch.
*  Fixed the graphical glitches with Stackers and Diggers where the addition
   or removal of terrain wouldn't be visible until the frame after being applied.
*  Fixed the repeated error messages in levels with no windows, and a higher
   lemming count than the number of pre-placed lemmings.
*  Pre-placed lemmings can be initialized as being blockers and/or having any
   of the permanent skills. This is done by adding the following to their L
   value (starting from 0 for "none of these"):
     +1: Climber
     +2: Swimmer
     +4: Floater
     +8: Glider
    +16: Mechanic
    +32: Blocker
*  Lemmings Plus II conversion is now complete.
*  Oh No! More Lemmings! conversion is now complete.
*  Holiday 94 conversion is now complete.
*  Extra conversion is now complete.


There's no update to the editor, as the new feature with pre-placed lemmings is based on the L value and thus doesn't need dedicated support as such. I probably will in a future update add a quick-select thing like there currently is for the pickup skills.

https://www.dropbox.com/sh/z1h2vwtu90w8igs/AABk3XT4fiiCqrVlGWC-c2jza/NeoLemmix/V1.16n


By the way - as I mentioned before (I think), with the pre-placed lemmings, auto-assigning them a skill does not impact the skill count - so if the level has 5 climbers in the skillset, and has one pre-placed lemming who starts as a climber, the player still has 5 climbers they can use. The level does not even have to have the skill in the skillset - for example, you can have a pre-placed blocker in a level where blockers is not one of the skills that's given. Also note that a pre-placed blocker will automatically be moved down as far as nessecary to ensure they are standing on terrain, so you don't need to worry about them instantly freeing due to not having terrain to stand on.
Also, you might wonder what happens if you mark one as both a Floater and a Glider, since the two are mutually exclusive. If you try to do this, the result will be the lemming will only be a Floater (not a Glider). As a point of interest - if you did somehow end up with a lemming that was both, it would still function almost exactly the same as a pure Floater. The only difference would be what the lemming is identified as when mouseovered - it would be counted as having two permanent skills, and thus be labelled an Athlete (or a Triathlete or X-Athlete, if it had other permanent skills too).


EDIT: I have no idea how it slipped my attention for so long, but I've just noticed that Cust and Flexi didn't support DebugSteel. I've reuploaded them with support for it added.
Title: Re: NeoLemmix (Player: V1.16n | Editor: V1.15n-B) (All conversions complete!)
Post by: namida on August 26, 2014, 05:42:58 AM
Since the LVL format is pretty much chock-full now, I'm creating a new format to use in future versions (compatibility with LVL format will also be retained, of course; but any future new features will most likely only be supported in the new format). I haven't implemented support in the player yet, but it's almost fully working in the editor - the only thing that isn't working yet is displaying the level title in the DAT manager.

Aside from a tidier format and much more space for future additions, the format also greatly extends the number of pieces you can have - 64 objects, 1000 terrain pieces and 128 steel areas.

EDIT: It's now supported in the player too. But I do still need to fix the issue with displaying the level title in the DAT manager (it works fine in-game, and even in the Level Stats editor window - it's *only* the DAT manager where it doesn't.)
I also found a glitch relating to the standard level files (nothing newly introduced; it's always been there at least in this version and I just never caught it until now), specifically that it only reads the low byte of the lemming counts and save requirement (which in effect means that they can't exceed 255). That will of course be fixed for the next update.


Two features I've already added using the new format. Firstly, specifically marking steel areas as negative or not, rather than it being based on their index (I still need to properly support this in the editor), and secondly, a level can now contain the author's name (which will be shown on the preview screen), which might be useful for collaborative packs.
Title: Re: NeoLemmix (Player: V1.16n | Editor: V1.15n-B) (All conversions complete!)
Post by: namida on August 26, 2014, 03:49:36 PM
Another thing I'm doing for the next release (of the editor) - getting Lemmini support back up to scratch, and hopefully also finally adding SuperLemmini support. (EDIT: To clarify here, the "SuperLemmini" is a "soon", not nessecerially the immediate next version.)

EDIT: Okay, found two issues with standard Lemmini - both of which were the results of fixes to Lemmix-format stuff (one was NeoLemmix-specific fixes, the other was in general). To be specific:

1) (only on V1.15n-B) Basically, saving and loading was completely broken. All loaded levels will be blank, while most saved levels will have heaps of non-existant pieces added.
2) (since... V1.14n, I think?) Objects with only a single animation frame would give errors and not display in the editor.

If there's any other Lemmini-related issues you're aware of, let me know ASAP. :) Or just any issues in general. Four general issues that I'm aware of, the first three of which have already been fixed for the next update, and the fourth I'm about to try and fix now all of which I've fixed for the next update:

1) Levels with lemming counts or save requirements exceeding 255 don't preserve these values properly when using standard LVL format (there's no problem with such in the new NeoLemmix format or in Lemmini format).
2) The Level Pack Manager won't allow you to add more than 16 levels to a pack.
3) If you edit a level's title (or name a level you're making from scratch), all leading spaces are stripped from it.
4) While click-dragging an upside-down terrain or object, it displays the right way up until you place it again.



Also, if there's any other formats you think are worthwhile adding support for, let me know. The only one I'm guaranteeing in the near-future is SuperLemmini, but longer-term I can look at others.
Title: Re: NeoLemmix (Player: V1.16n-B | Editor: V1.16n-B)
Post by: namida on August 26, 2014, 05:38:18 PM
I figure rather than leaving you to work your way around bugs and have to check which ones I already know about, I should release an update. So, this update fixes quite a few things in the editor.

NeoLemmix Editor V1.16n-A
-------------------------------------
> Supports an "Extended Format" which allows for more pieces,
  and has room for future additions of more new features.
> No longer has issues with level packs containing more than
  16 levels.
> Fixed a bug with levels in traditional format that have more
  than 255 lemmings.
> Irrelevant options on the level properties screen are now
  disabled (for example, the gimmick checkboxes if custom gimmick
  is not enabled; or NeoLemmix-exclusive options when editing
  levels in CustLemm format - though options are not disabled if
  they're supported by CustLemmix).
> Leading spaces are no longer stripped from level names.
> Inverted pieces are now displayed inverted when dragging and
  dropping.
> Fixes some issues with Lemmini levels.


NeoLemmix Editor V1.16n-B
-------------------------------------
> Partial SuperLemmini support has been added. Most features are supported, but there
  are a few that aren't yet. Note that as per the wishes of the authors of Lemmini and
  SuperLemmini, the graphics are not included; copy the contents of your Style folders
  into the "lemministyles" or "superlemministyles" folders then use the Compile Styles
  option in the editor.
> When loading a Lemmini level, you will now be asked what style you wish to load it
  in; this is so you can choose Traditional Lemmini or SuperLemmini. (It can also be
  loaded directly to CustLemmix / NeoCustLemmix style if you wish.)


https://www.dropbox.com/sh/z1h2vwtu90w8igs/AACKeoJX31NHzRvJvoOhopWqa/NeoLemmix/NeoLemmix%20Editor/NeoLemmixEditor_V1.16n-B.zip



Now of course, it'd be a bit silly to release an editor that supports a feature that's not in the players yet. So, here's a very minor update to the players. Supports the new level format, including the two new features added using it (author name, and more-convenient autosteel). Aside from that, all players that support ExtraModes (which I'm fairly sure is all of them, except custom Flexi players that have disabled it) should now also have DebugSteel available.

NeoLemmix V1.16n-B
-----------------------------
*  DebugSteel is no longer an independant option when compiling; it is now
   part of Extra Modes.
*  Supports "Extended Format" level files; these allow for much higher counts
   of pieces, more creator-friendly Negative Steel, and will most likely be
   required for future new features; the downside is they are not backwards
   compatible at all. Traditional LVL files are still supported too!


https://www.dropbox.com/sh/z1h2vwtu90w8igs/AABk3XT4fiiCqrVlGWC-c2jza/NeoLemmix/V1.16n

Note that if you're not creating levels, you probably don't really need this update, except maybe CustLemmix in case anyone else ends up making levels using the new format.
Title: Re: NeoLemmix (Player: V1.16n-B | Editor: V1.16n-B) (Editor supports SuperLemmini!)
Post by: namida on August 27, 2014, 12:02:33 AM
Alright, it's very soon after the last version, so I just updated the above post.

There's no changes in terms of NeoLemmix-related functionality; this update relates solely to Lemmini and SuperLemmini. Mostly the latter. So yep, we finally have a compatible editor (even if it doesn't quite support all the features yet, but it's pretty close).

Note that in line with the requests made by the authors of both Lemmini and SuperLemmini, as well as due to the heavy filesize that would result, the Lemmini styles are not included. Simply copy/paste the contents of your Styles folder (not the Styles folder itself; the folders inside it!) to the "lemministyles" or "superlemministyles" folders, then use the Compile option in the editor, and they're good to go. The INI file is all set up ready for them, no need to mess with that. PNG-format SuperLemmini styles are supported!

The stuff that isn't supported yet:
> Background terrain. I'm not sure that I want to implement this feature, it would seem that the only purpose it serves is trying to confuse or annoy the player... However, even disregarding that (after all, you could argue the same thing about some NeoLemmix features, for example Frenzy; and some of the other SuperLemmini features that I have added support for, such as invisible terrain), it'll also be quite a hassle to implement this, though I can think of one way it might be doable.
> Special graphics ("vgaspec") handling. I plan to overhaul how it handles this for Lemmix/NeoLemmix formats too (not a change to the actual files or anything, just to how the editor handles them); since the end result will be it working in a similar way in both cases, I'm going to do both at the same time.
> Boundary settings. I'll probably implement this one in the next update.
> Invisible objects. I had actually implemented this one, but the feature seems to be broken in SuperLemmini itself; either that or Tsyu's documentation on the format has a mistake here (which is possible - it had a mistake on the same feature for terrain, but I managed to find the correct way to set that one). Until it's fixed / I know the correct way to implement it, I've disabled it.


EIDT: Known bug in NeoLemmix Player V1.16n-B: Some types of objects malfunction when they're in object slot #32 or higher. Specifically; triggered traps, teleporters, pickup skills, and unlock buttons. They may act like other object types, or just not work at all. Objects types other than these four work fine; and the next update will fix this for those types too (as well as futureproofing it against this issue if the format is further extended). This bug does not affect any existing level; it's only relevant to new levels that may be made using the new format (the old one doesn't have enough object slots for it to occur).

As a side effect of how I fixed this, it's now very easy to implement different secret level triggers within a single level having different target levels; so as of the next update, it will be possible to hide multiple secret levels within a single level. I don't plan to use this, but since it's now quite simple to implement, I saw little reason not to do so.
Title: Re: NeoLemmix (Player: V1.16n-B | Editor: V1.16n-B) (Editor supports SuperLemmini!)
Post by: namida on August 27, 2014, 05:57:19 PM
Added a new gimmick for the next update, since it's been a while since I've added one of those. I might add a couple more, so now is a good time to suggest ideas for them. :)

This one I've added basically turns all steel into normal terrain, and vice versa. This includes terrain created by constructive skills (can't really just say "builders" anymore, since there's now Stoners, Platformers and Stackers to consider too) - although I'm still trying to work out the best way to apply it to Stoners, as that one's a bit tricky to implement it for (it already does for the other three).

One other thing for the next version, this one relating to a specific player. I've added an extra rank to the LPDOS player, which contains (fully NeoLemmix-ised, of course) the six levels that were removed in V7, as well as the classic version of PSYCHO 9 (I don't remember exactly when I changed it, I think it was V4 or V5). I remember people commenting that the old Medi 8 wasn't as bad as I thought it was (even if the new one was better); the old Medi 16 also isn't nearly as bad under NeoLemmix mechanics. So at any rate, those levels will be available to play in NeoLemmix form. For those who never played it; the "classic" version of PSYCHO 9 is essentially the same level cosmetically, but there's a few small changes as well as some slight tweaks to the skillset that, together, majorly change the solution, so in some ways it's almost like an entirely different level.

The old Danger 17 and Danger 21 still existed in the data files, due to their earlier/repeat versions still remaining in V7; the others were recovered from the Level Database, which it seems I'd uploaded the raw level files to at some point.
Title: Re: NeoLemmix (Player: V1.16n-B | Editor: V1.16n-B)
Post by: namida on August 27, 2014, 11:39:18 PM
I've decided on one more new skill to add to fill that last remaining slot. I won't say just yet what it is; all I'll say is that it's something we have seen before in at least one official lemmings game, but not nessecerially as a skill. When the next version is released, I'll make sure all the styles are updated to contain a proper icon for it on their pickup skills (though if you use an old version of the style it won't crash - I thought ahead and put a placeholder icon for the 8th slot when I added the other 7 new skills), as well as all the MAIN.DATs (again, it won't crash if the MAIN.DAT is missing the new icon; there's placeholders here too, although in this case they aren't custom-made, it just duplicates the previous icon, which happens to be the digger).


Two other bugfixes:
* When pressing a shortcut key for an empty skill slot (eg: F10 in a level with 7 or less skill types), it would select the first skill; it now does nothing (the intended behaviour).
* Custom music selection only worked in old-format, non-oddtabled levels. It's now fixed for both new-format levels and oddtabled levels. (In the case of oddtabled levels, the target level's music selection would apply, while in the case of new-format levels, it just wouldn't pick up any music selection at all (unless it was a new-format level that oddtabled an old-format level, in which case it'd use that level's music selection).) Just for reference, CustLemmix / traditional Flexi don't have this bug; it works fine there.
Title: Re: NeoLemmix (Player: V1.17n| Editor: V1.17n-A)
Post by: namida on August 28, 2014, 01:46:00 PM
Alright, here it is. This is a fairly large update, there's a LOT of new/fixed stuff compared to most updates!

The new skill is Cloner. It duplicates a lemming; the clone is almost identical, apart from that it'll be facing the opposite direction. You can assign a Cloner to a lemming in almost any state.

There's three new gimmicks - the inverted steel one I mentioned before, plus one that makes the bottom of the level solid terrain rather than a deadly bottomless pit, and one that makes permanent skills wear off after being activated once.

One feature that was requested a very long time ago that I finally implemented - the player now behaves much more nicely after attempting to load an invalid / incorrect level replay; it won't lock up, but simply will restart the level (with no replay playing, just normal gameplay mode).

There's quite a few bugfixes here too. Also added a force autosteel option to NeoCustLemmix, and also made it so it won't crash on a non-existant level pack - if the pack specified in the INI file doesn't exist, it looks for LEVELPAK.DAT; if this doesn't exist either, it loads a level pack contained internally - which specifically, is a copy of the tutorial pack. Speaking of which, the tutorial pack has two new levels now - one which is a tutorial level for Cloners, and the other is another puzzle level; this new puzzle level uses (in combination with traditional skills and other new skills) every new skill that wasn't used in the first puzzle level.

Note that the two new levels of the tutorial pack will only be possible to open in NeoLemmix Editor, as they use the new format (of course, a general DAT decompressor will still decompress them just fine; but they'll still be incomprehensible to any editor other than NeoLemmix Editor).

NeoLemmix V1.17n
-------------------------
*  Added one more new skill, "Cloner". This duplicates the lemming; the new
   lemming is identical in almost every way (including what it's currently
   doing - if the source lemming is building, the clone will be too, for
   example; and it also has the same permanent skills that the source lemming
   has), the only exception is that the clone will be facing the opposite
   direction.
*  Added three new gimmicks:
     Inverted Steel - Steel becomes regular terrain, regular terrain becomes steel
     Solid Floor    - The bottom of the level is solid, rather than deadly
     Non-Permanents - Permanent skills can only be used once per assignment
*  Fixed the bug where certain types of objects would have weird effects if
   they were in object slot #32 or higher.
*  Fixed a bug where custom music selection wouldn't work in oddtabled levels.
*  Fixed a bug where custom music selection wouldn't work in new-format levels.
*  Fixed the bug where pressing a shortcut key for an empty skill slot would
   select the first skill (it now does nothing).
*  Improved the player's reactions when attempting to load an invalid replay;
   it now merely restarts the level (with no replay loaded) instead of refusing
   to do anything.
*  Multiple secret level triggers within a single level can now point to
   different levels.
*  Fixed the inconsistency between level edges (where the left edge would be
   considered a wall, but the right edge would not); both are now considered to
   be walls.
*  NeoCustLemmix now has an extra option in the INI, "SteelOverride". Enabling
   this option will use Autosteel (and ignore the level-defined steel areas) on
   all levels. This can be set to 0 (disabled), 1 (enabled with normal formula),
   or 2 (enabled with simple autosteel formula).
*  Lemmings Plus DOS Project player now has an extra rank, which contains levels
   from older versions of LPDOS that were removed (or in one case, modified) by
   the time of the final release. These are (listed by their original positions):
     Wimpy 12  "Life The Universe And Everything"
     Medi 8    "Take Us All Home..."
     Medi 16   "The Lonely Pole"
     Medi 21   "Ghostly Hall"
     Danger 17 "Livin' a Lie"
     Danger 21 "Phase Rotation Syndrome"
     PSYCHO 9  "Coalburner" (the classic version of this level)
*  NeoCustLemmix will now revert the selected pack name to LEVELPAK.DAT if the
   specified pack does not exist, instead of giving an error. If LEVELPAK.DAT does
   not exist either, it will play the new skills tutorial level pack (which is no
   longer included as an external file for this reason; it's now built into the
   NeoCustLemmix player).
*  Two new levels have been added to the tutorial pack; one is a tutorial level for
   Cloners, the other is another puzzle level which uses all the new skills that
   aren't used in "Stone Hot Sacrifice", plus some that are as well as some of the
   classic skills.
*  MAIN.DATs have all been updated to include graphics for the new skill. Graphic
   sets are also updated to include it in the pickup skills in Cust and Flexi.
*  The H94 / Xmas91/92 MAIN.DAT files now contain proper graphics for the new
   skills.


Also, as per one user's request, these are mostly no longer zipped. The exceptions are NeoCustLemmix, Flexi Player, and Flexi Tool; as these all come with included readmes (and, except Flexi, other stuff too).

https://www.dropbox.com/sh/z1h2vwtu90w8igs/AAD_-zIbcQXSvEB8KdE6Xsmua/NeoLemmix/V1.17n?dl=0



Of course, new features mean the need for new editor support, so:

NeoLemmix Editor V1.17n-A
--------------------------------------
V1.17n-A:
> Can edit the new gimmicks in V1.17n.
> Now has placeholder checkboxes for future gimmicks, to avoid having to immediately update
  the editor when they're added; only their name will need to be added, which isn't nearly
  as urgent.
> Added the checkbox and number entry for Cloners (new skill in V1.17n) to the editor.
> Fixed some issues with enabling/disabling options for different engines.


https://www.dropbox.com/sh/z1h2vwtu90w8igs/AAAFuz4RPxVy1Xecw9-nrpHha/NeoLemmix/NeoLemmix%20Editor/NeoLemmixEditor_V1.17n-A.zip?dl=0



The independant downoads of style files have also been updated; the new versions add a proper icon for Cloners to the pickup skills (if you use an older version of the styles, it'll just display a ? for pickup skill Cloners).

Complete NeoLemmix Style Collection - Includes updated and NeoLemmix-ised versions of all official styles; updated, NeoLemmix-ised and remastered LPII styles; updated LPIII styles; and updated Sega style
Lemmings Plus II Unremastered Style Collection - Contains updated NeoLemmix-ised LPII styles, but with the traditional (non-remastered) graphics - functionally these are identical to the ones in the above set / included with the editors, they only differ graphically.



EDIT: Some players appear to have ended up with the wrong icon for the new skill. It functions fine; it just displays as a digger on the skillbar. I'll look into which ones have this issue and fix them.

EDIT: Okay. It's only Orig and LPIII that have the wrong icon for the new skill; also Xmas and H94 have some wrong colors on the Platformer and Stacker icons.

EDIT: All fixed versions are uploaded.
Title: Re: NeoLemmix (Player: V1.17n | Editor: V1.17n-A)
Post by: namida on August 28, 2014, 03:35:56 PM
By the way, based on the poll results, I think I won't try to do a NeoLemmix community pack just yet. While I'm fine with some existing levels being re-used, I was hoping there'd be interest in creating original content, or at least modifications to the existing levels to take advantage of NeoLemmix features. I might revisit this idea at a later date though.

Also, if anyone's interested in where some of the level names in the tutorial pack come from:
Quote
Level 1 "Maybe Not JUST Walk..." - A reference to Mild 1 from LPDOS "Just Walk!"
Level 4 "If It Ain't Broke, Unfix It" - A play on "If it ain't broke, don't fix it"
Level 6 "Lemmings on a Platform" - A fairly obscure play on "Snakes on a Plane"
Level 8 "Always Give 110%" - Both a reference to the saying, and to the level's save requirement of 110% (though it's possible to save more than this)
Level 10 "Master of the System" - A reference to the Sega Master System, since it uses the Sega style from that version


Known glitch: If you're using percentages, and you save a number of lemmings exceeding the amount in the level, it might display an inaccurate percentage - for example, on "Always Give 110%", it displays 104% rather than 105% when you have 21 lemmings exited. I still need to look into what's causing this. This only happens in-game; on the postview screen it displays correctly.
Title: Re: NeoLemmix (Player: V1.17n | Editor: V1.17n-A)
Post by: Minim on August 28, 2014, 04:07:03 PM
OK, I tried your new level pack, and the first one is still the better of the two proper levels in my opinion. The Clone on the MOTS level doesn't appear to impact anything at all apart from the percentage requirement, but at least I was unable to solve more than 100%, which is a good thing. I used all the skills available which is another good thing.

BTW, (I could've mentioned this earlier as it wasn't part of this update) I noticed changes to the graphics in the LPII sets, especially to the psychedelic-set, which is much more realistic looking. Thanks a lemming for that! It is much less migraine-inducing. :P
Title: Re: NeoLemmix (Player: V1.17n | Editor: V1.17n-A)
Post by: namida on August 28, 2014, 04:13:01 PM
It's meant to be nessecary in order to solve the level at all; (I won't explain exactly *how*), I'll have to take a closer look at this level tomorrow and fix it if need be.

Quote
BTW, (I could've mentioned this earlier as it wasn't part of this update) I noticed changes to the graphics in the LPII sets, especially to the psychedelic-set, which is much more realistic looking. Thanks a lemming for that! It is much less migraine-inducing. :P

Those were done a while back. Initially I just did them because, basically, "why not?", but the motivation to actually finish doing it was that I plan to use both the LPII and LPIII sets for "LPIII-2", and so I felt the LPII ones needed to look up to a similar standard to the LPIII ones. Of course, there is still the issue of the lack of new object types (apart from the one-way-walls), but this may work out quite nicely since some of the old types are rare in the LPIII sets - for example, only the Martian set has a triggered trap; compare that to the official sets (only Fire and Xmas don't have one), or even the LPII sets (only Metal doesn't have one).

But, thanks for the compliment on them. :D Just so you know - the two versions of the styles are functionally identical, so if a level's been made in the non-remastered versions and you want to play it with the remastered ones (or vice-versa), it should be just plug-and-play. At worst, there might be a graphical oddity here and there (the metal style is most at risk for this, if you've used multiple pieces and erasers to create unusual-sized blocks).

A feature I plan to add for the next update is a third option for displaying results, alongside traditional % and number-of-lemmings; which is Cloner-adjusted percent. Basically, this means that the percent displayed would be based on the number of lemmings *plus* the number of cloners in the level. For example, if a level had 20 lemmings, and also gave 5 cloners in the skillset, with this option enabled, saving 24 lemmings would display as 96% (whereas with standard percents, it would display as 120%). Of course this would be purely cosmetic, as is the percent display in the first place - internally, NeoLemmix determines results based on the number of lemmings saved. (Although that being said, some of the success/failure messages are based on the percent - but I can easily make changes to how that is handled).
Title: Re: NeoLemmix (Player: V1.17n | Editor: V1.17n-A)
Post by: namida on August 29, 2014, 02:07:11 PM
Alright, here's an updated version of the pack that should fix the backroutes. :)
Title: Re: NeoLemmix (Player: V1.17n | Editor: V1.17n-A)
Post by: namida on August 30, 2014, 10:10:32 PM
Found an issue with VGASPEC creation in NeoLemmix Editor that... isn't nessecerially a bug as such, but is annoying. Specifically, despite the fact that say, RGB(255,0,0) and RGB(252,0,0) are the same color once downgraded to the 18-bit palettes Lemmings uses, while it creates the palette based on 18-bit values, it doesn't make the same adjustment when comparing colors. Thus, if you don't round them off, it'll throw errors when it encounters a color even if it is identical to one in the palette. I've fixed this.

I'm also finally adding support for extended VGASPECs; these will not use a palette at all but will use direct RGB values. I don't currently plan to do the same for graphic sets, but if there's enough demand I can reconsider. (Those with more technical knowledge of the Lemmings formats may point out that a RGB-based, even if 18-bit, VGASPEC will exceed the 64KB size limit of a DAT section - already taken care of that, and increased the section size limit to well beyond what anyone is likely to ever use.)

EDIT: FINALLY got extended VGASPECs working perfectly in the editor. Now, to add support to the player... this should be easier, as about 90% of the hassle with them in the editor was to do with creating them, not loading them, and the player only has to handle the latter.


Just for reference, the editor can still create traditional VGASPECs too. If the image being loaded is within the 8 color limit (including the transparent black), it will automatically create a traditional-style one, if not, it will create a NeoLemmix extended one. I'll probably add support to CustLemmix and Flexi Traditional for these extended VGASPECs, just like I did with the extended palette graphic sets.



EDIT: Support added to the player. Like I expected, it was much less effort on the player side. The same also held true for supporting larger DAT sections - tested with a VGASPEC that was, when compressed, over 300KB and it worked fine. I doubt any typical VGASPECs will reach that size; I specifically made one with the aim of it being extremely uncompressable by the Lemmings algorithms. But even if you were to make the most incompressible one possible, it would still be under 350KB.


Also implemented for the next update, two more gimmicks - Disobedient Lemmings and Nuclear Bombers. You can probably at least somewhat guess from the names what they do. Attached an image to show just how powerful the nuclear bombers are; the shot is taken on Fun 25, and that's just a single bomber.
Title: Re: NeoLemmix (Player: V1.17n | Editor: V1.17n-A)
Post by: Minim on August 31, 2014, 08:13:48 AM
Wow, that nuclear bomber is such a scary size. :scared: This reminds me of Clones (You could make giant-sized clones and make them explode to create ridiculously giant craters like that one). I wonder if the blast symbol is double the size as well. I could use it to my advantage though - if the terrain is big enough below, I can block both sides and lose just one lemming, rather than two. I'd probably need to build out of my own pit though. >:(

As for the disobedient lemmings gimmick, what skills would this gimmick affect?
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-A)
Post by: namida on August 31, 2014, 10:45:55 AM
The update's here, so try it and see for yourself how it works. :D

My internet connection is being somewhat slow at the moment, so it might take a while for these to finish uploading. They're all up now.


NeoLemmix V1.18n
------------------------------
*  Implemented two new gimmicks:
     Disobedient lemmings - Lemmings generally won't obey you the first
                            time you click them.
     Nuclear bombers      - Bombers take out a much larger area. (No
                            custom graphics needed; they're resized by
                            the player automatically.)
*  Added an alternative percent display mode, which adjusts for cloners;
   so for example, 21 lemmings saved in a level with 20 lemmings and 5
   cloners would be considered 84%, not 105%. Set UsePercentages to 2
   to use this mode. Note that it is not compatible with Challenge Mode;
   if both are set at the same time, it reverts to standard percentages.
*  Fixed the glitch where saved percentage sometimes displayed wrong
   in-game when over 100%.
*  Fixed the glitch where gimmicks would not work on levels with a custom
   music track specified, even on forced gimmick mode. (SuperLemming worked,
   but no others did.)
*  Level 10 of the tutorial pack (Master of the System) has been changed
   slightly to remove a backroute, thus making it nessecary to actually use
   the Cloner for a purpose other than just saving an extra lemming.
*  DAT files with sections exceeding 64KB in size are now supported.
*  18-bit RGB VGASPECs (instead of 8-color palette based) are now supported.
*  Further fixes to the CustLemmix non-existant level pack fix; before, it
   didn't always work.
*  Slight change to Crazy 14 of OhNo; the entrance is now left-facing.
*  Added two new options to the Flexi player (LemMain has also been updated
   to allow setting these):
     - Default percent mode: When running for the first time, you can choose
                             which percent mode (standard / cloner-adjusted /
                             no percentages) is the default. This does not
                             prevent the user from changing it to whatever
                             they prefer (I will not add an option to do that),
                             it just lets you pick the default.
     - Center digits:        This will center single-digit skill counts on
                             the panel, like in LPIII. If using this option,
                             make sure the left-side zero digit is blank.


(LemMain V6.2 or higher supports these new options; they only work on Neo, so if you're using traditional Flexi, V6.1 still has everything you need.)

https://www.dropbox.com/sh/z1h2vwtu90w8igs/AADLULCEgqW9lEDWsV3x39Q6a/NeoLemmix/V1.18n

NeoLemmix Editor V1.18n-A
-------------------------------------
> Fixed some bugs with the custom gimmick selection on placeholder gimmicks and the new
  gimmicks added in V1.17n of NeoLemmix.
> Added support for DAT sections over 64KB in size. Note that these WILL NOT WORK IN
  ENGINES OTHER THAN NEOLEMMIX (unless they've specifically added support) - support in
  CustLemmix is planned.
> Added support for RGB-based VGASPEC files. These still downgrade to 18-bit color values
  to keep the Lemmings feel, but are not limited to an 8-color palette. These are supported
  in NeoLemmix as of V1.18n; support in CustLemmix is also planned.
> Fixed a bug with creating traditional VGASPEC files. (The editor will automatically
  create a palette-based one if the number of colors is low enough to do so.)


https://www.dropbox.com/sh/z1h2vwtu90w8igs/AAD6LHg3LdFoxonlm4kWK27Ha/NeoLemmix/NeoLemmix%20Editor/NeoLemmixEditor_V1.18n-A.zip?dl=0


Traditional CustLemmix also has been updated to support these new VGASPEC files, but I'll post about that in the CustLemmix topic.



Note: For now, it's probably best to avoid making levels / challenge runs that rely on very precisely-placed nuclear bombers; I plan to improve the algorithm that smoothes the edges of the resized mask in a future update. Using them in general should be fine, as long as precision with them isn't relied on.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-A)
Post by: Minim on August 31, 2014, 02:35:35 PM
What are the codes for these two new gimmicks? I can't find them anywhere at the moment.

And also, (I only just brought this up for the next update) is it possible to change the background color for some of the styles (They do this in DOS Lemmings 2 and Lix)? For example, the desert and sky sets are quite bright, so a light blue color would suit that perfectly.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-A)
Post by: namida on August 31, 2014, 11:36:28 PM
I have actually been considering that myself for a while. In fact, that to an extent happens when DebugSteel mode is active (albeit with a fixed color)... at least until you use a destructive or constructive skill - the former has graphical glitches, the latter doesn't work at all. I've been meaning to figure out how to fix what happens when those are used. It's not a big deal for DebugSteel mode since the primary aim there is to just look and work out how the steel is being applied, but if it was for actual gameplay, obviously they would need to be fixed.

That being said, I probably wouldn't do it on a "per style" basis, but rather, allow the user to configure what background color they like.


As I've said before; you can get the code for any specific gimmick combination (or skillset combination) by using the NeoLemmix Editor. Just set the gimmick combination you want, then look down the bottom of that section. (Alternatively, if you know how binary works, they're bitwise values - each new gimmick generally uses the least significant unused bit; whereas the skills are in reverse order (ie: cloner is least significant bit, walker is most)). I don't know if my explanation is very clear, so here's a screenshot (you don't have to enable the Extended Format box; but you *do* have to either have a NeoLemmix style active, or no level open at all - the options will be disabled when editing a traditional Lemmix or (Super)Lemmini level).

It's worth mentioning - they must be entered exactly as-is; ie: including any leading zeros. Also, if I update the player with new gimmicks but there's no corresponding editor update, I'll mention which (Gim##) box corresponds to the new gimmicks.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-A)
Post by: namida on September 01, 2014, 02:33:33 AM
I'm wanting to hopefully finish up the player fairly soon and land on a "finalised version", so if there's anything you'd like to see in it, let me know. Even if I've said before that it might be too difficult to implement, feel free to request it again, as my knowledge of the internal workings of Lemmix (and of Delphi) have obviously gotten much better than when I first started this project. Likewise, if you know of any bugs, let me know!

I will probably continue to improve the editor for a while beyond the finalised player - bugfixes, improving user-friendliness, as well as taking into account other engines (particularly SuperLemmini).

I won't be adding any more skills to it, I could possibly add some more object types though (although only if someone's actually planning to use them - I don't plan to make any more styles any time soon; I could look at adding a "decompile" option to LemSet so that people can modify existing styles to add them), and there's definitely room for a few more gimmicks.


One thing I'm going to look into doing is somewhat ressurecting the playtest mode, though in a slightly different form - specifically, not built into the editor itself, but rather an option to integrate it with CustLemmix or NeoCustLemmix (as appropriate for the style in use); so that if they're present in the folder together with the editor, it can use them to playtest the level. That also means I don't have to seperately update the playtest mode in the editor.

EDIT: Finished implementing this on the player side; implementing on the editor side will be a very simple task. Only implemented it in NeoCustLemmix so far; still have to implement it in traditional.

EDIT: Done on the Editor side. Before I release the update, I just need to quickly re-enable the Invisible setting for objects in SuperLemmini format, as Tsyu has now fixed that option. Once the editor's ready, I'll also upload the updated version of NeoCustLemmix that supports it (no point in reuploading anything else, as the changes don't affect any other players), then I'll update traditional CustLemmix to also support it.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-A)
Post by: namida on September 01, 2014, 04:45:26 AM
Alright, editor update is here!

NeoLemmix Editor V1.18n-B
-------------------------------------
> Playtest mode has been re-added, though in a slightly different form. Rather than being
  built-in, it uses a version of CustLemmix (including NeoCustLemmix) to test. Just put a
  copy of the version you wish to use in the same folder as NeoLemmix Editor, and specify
  in the INI file under the the style on the "TestEXE" option (see the included sample
  NeoLemmixStyles.ini file to see how it's done). Note that you must have a recent version
  of CustLemmix or NeoCustLemmix to do it. Newer copies of NeoCustLemmix V1.18n or traditional
  CustLemmix V15 support this; those versions will be labelled on the title screen's scroller
  info as "V1.18n+" or "V15+". All copies of versions newer than V1.18n / V15 support it.
> The "Invisible" option for objects in SuperLemmini mode has been re-enabled, as it has now
  been fixed in SuperLemmini itself.
> Fixed a bug with steel and object positioning when saving traditional Lemmix levels.


https://www.dropbox.com/sh/z1h2vwtu90w8igs/AADj9wfT1Kvoqu-GFhTaYYNpa/NeoLemmix/NeoLemmix%20Editor/NeoLemmixEditor_V1.18n-B.zip?dl=0

The nessecary NeoCustLemmix update has also been uploaded:
https://www.dropbox.com/sh/z1h2vwtu90w8igs/AACsVda0z3RiZIw5yfoud_lUa/NeoLemmix/V1.18n/CustLemmixNeo.zip?dl=0

The equivalent update for CustLemmix can be found in the CustLemmix topic.

If you use the Styles INI from the latest version update, all you need to do to set it up is put the new version of NeoCustLemmix (and traditional CustLemmix, if you want testing mode for traditional style too) in the same folder as NeoLemmix Editor, and it's good to go.
However, you might have a customized styles INI file for whatever reason, in which case you'll need to add one line under the styles section:

For NeoCustLemmix style: TestEXE=CustLemmixNeo.exe
For traditional style: TestEXE=CustLemmix.exe

(Of course, you can use CustLemmixOrig.exe or CustLemmixOhno.exe if you want to for any reason, too.)


Just for reference - if there's an update to either version of CustLemmix, you won't need an updated version of the editor to support it; just drop the new version in the editor's folder and it'll be good to go.



EDIT: By the way, I should mention - you do NOT have to use the CustLemmix numbering scheme for playtest mode to work. As long as you still have the original graphic set files (rather than deleting them after compiling them with the editor), the NeoLemmix Editor will direct it to the correct files to use. This applies to both Neo and Traditional.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-A)
Post by: Tsyu on September 01, 2014, 05:46:47 AM
I noticed some bugs regarding how the NeoLemmix editor handles (Super)Lemmini levels:

Oh, and SuperLemmini updated the documentation that appears in the actual level files. For your convenience, I'll put it here:
Code: [Select]
# Objects
# ID, X position, Y position, paint mode, flags, object-specific modifier (optional)
# Paint modes: 0 = full, 2 = invisible, 4 = don't overwrite, 8 = visible only on terrain (only one value possible)
# Flags: 1 = upside down, 2 = fake (combining allowed)
[...]

# Terrain
# ID, X position, Y position, modifier
# Modifier: 1 = invisible, 2 = remove, 4 = upside down, 8 = don't overwrite, 16 = fake (combining allowed, 0 = full)
[...]

# Steel
# X position, Y position, width, height
[...]

# Name
[...]
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: namida on September 01, 2014, 05:55:11 AM
1) Sweet, I'll make that change in the next update.
2) I'll have to test this to see what you're meaning here.
3) That should be a pretty simple fix - I actually just copied them from the original Lemmix's INI file. That being said, an initial-lowercase name would look weird in the menus, so I may have to look at adding a seperate option between the displayed name and the internal names.

By the way - I'd be quite keen to integrate playtest mode for (Super)Lemmini too, if there's any realistic way that may be possible. It works for (Neo)Lemmix by simply sending a command line parameter that tells it:
* to activate test mode
* which LVL file to load
* which GROUND file to load
* which VGAGR file to load
* which VGASPEC file to load

Obviously such a feature would need support from both the editor and the player; but if you'd like to help support such a feature, I'd be more than happy to integrate it on the NeoLemmix Editor side. I don't know if command line parameters can be passed to java apps, but maybe there's another way? (Perhaps a temporary INI file that SuperLemmini checks to see if it needs to activate test mode, then once it's read the info, deletes it? You probably know far more than I do about Java, I know next to nothing about it.)
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: namida on September 01, 2014, 06:30:46 AM
No release yet, but:

1) These two options are now supported in Lemmini formats whether traditional or SuperLemmini. While doing so, I also discovered a bug in that it wouldn't save the fall distance at all (even though it would load it just fine); fixed this too.
2) I can't replicate this one; loading a level in a different folder works fine for me.
3) I've added an option that allows specifying an internal name seperately from the one displayed in the menus. If no internal name is specified, it defaults to the displayed name in all-lowercase.

As for the in-file comments; those have been added.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: Tsyu on September 01, 2014, 07:49:52 AM
SuperLemmini (but not Lemmini) already supports loading levels via the command line (and I should have said so in the release thread). To use this feature, use this command line:

Code: [Select]
java -jar [superlemmini.jar path] -l [level path]
Both paths need to include the file name and extension. Both INI and LVL levels can be loaded this way, but they can't use mods; I intend to make this possible somehow in the future.


2) I can't replicate this one; loading a level in a different folder works fine for me.
You're loading a (Super)Lemmini level, right?

To help you replicate my problem, I have attached my NeoLemmixStyles.ini file to this post. And in case it matters, I'm running Windows 7 Home Premium 64-bit, I have NeoLemmix installed in C:\lemmix\NeoLemmix, the SuperLemmini styles are located in C:\lemmix\NeoLemmix\superlemministyles, and I'm trying to load a SuperLemmini level from C:\lemmini\levels\1_orig.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: namida on September 01, 2014, 07:56:29 AM
Ah, from a quick look at the INI file, it appears you haven't actually compiled the styles. I wasn't even aware they *could* be used without compiling them - so it would seem this bug only occurs if you haven't done so. I'll test it in more depth soon.

For now, I've added modifying the boundary options. So, unless there's something undocumented or something new you've added since the last release I downloaded (the one where invisible objects was broken), it now supports everything except background terrain and special graphics, I think? I've thought of a way I might go about implementing the former; while as I've said for the latter, I plan to overhaul how it handles that for Lemmix-based styles, as the way I plan to do that should also make it much easier to integrate SuperLemmini-style ones.


EDIT: Implemented the escaping for the level name. As it appears that traditional Lemmini handles these escaped levelnames just fine, and you mention it should be safer, I've implemented it on both styles.

EDIT: I also realise, there's no support for mods in the editor either, at this stage. Although you can always just have seperate copies of the SuperLemmini style sets that are individually modified, though that may be a bit tedious.

EDIT: Playtest mode implemented.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: Tsyu on September 01, 2014, 09:12:40 AM
Ah, from a quick look at the INI file, it appears you haven't actually compiled the styles. I wasn't even aware they *could* be used without compiling them - so it would seem this bug only occurs if you haven't done so. I'll test it in more depth soon.
Compiling the styles does indeed fix the problem. Thanks for the help!

For now, I've added modifying the boundary options. So, unless there's something undocumented or something new you've added since the last release I downloaded (the one where invisible objects was broken), it now supports everything except background terrain and special graphics, I think?
I believe that's right.

And I found some more bugs:
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: namida on September 01, 2014, 09:24:38 AM
Thanks for that, I'll get those fixed before any update. Just for reference - if testing anything with skill counts, don't use 200, as that's treated as a special case (specifically, because NeoLemmix treats 200 as "infinite"). There doesn't seem to be any simple way I can make it set different limits for the different styles, so for now, I'll just remove the upper limits altogether. NeoLemmix can handle skill counts up to 199 (200 is treated as infinite, and anything over 200 will eventually count down and reach 200 at which point it becomes infinite) and time limits up to 255:59 (old format) or 1092:15 (new format) with no non-graphical issues.
(The higher limit in the new format wasn't actually intentional, it's just a side effect of how time limits are stored in the new format. While the old format stores minutes in one byte and seconds in another, both as 1-byte values; the new format just stores the seconds as a 2-byte value.)

The invisible objects; this is a matter of me forgetting to uncomment the lines that save/load that property when I removed the code that disabled the checkbox. I've fixed that in the source now.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: Tsyu on September 01, 2014, 09:30:43 AM
There's something that I forgot to mention: SuperLemmini supports negative object and terrain IDs and basically treats such entries as though they're blank. The editor doesn't support this, though. And in case you're wondering, it's fine if the editor doesn't preserve those entries. (Lvl0006.ini is an example of a level that has object entries like this.)
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: namida on September 01, 2014, 09:32:49 AM
I don't get what you mean? Do you mean the piece ID (ie: the number that identifies an object as an exit, a window, etc), or the index (ie: whether it's the 1st piece, 2nd piece, etc)?
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: Tsyu on September 01, 2014, 09:34:55 AM
I mean the piece ID.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: namida on September 01, 2014, 09:48:28 AM
Alright, it no longer has problems with loading levels with such objects. :)

I'll just test some of the new changes, and if they all seem to be working fine, I'll send you a copy of the update so you can test it too (since everything in this update relates to SuperLemmini, apart from enabling those two options in standard Lemmini mode).

EDIT: Check your PMs. :)
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-B)
Post by: Tsyu on September 01, 2014, 10:24:06 AM
Yes, all those bugs seem to be fixed.

EDIT: Actually, it turns out that playtesting SuperLemmini levels doesn't work; I get a "ShellExcecute fout 5." error (including the misspelling) whenever I try to do so.

Unrelated to Lemmini, but something that should be mentioned: In the DOS level format, bit 4 of byte 0 of each terrain entry is not unused; it's a 13th bit for the X position. And no, it's not a sign bit.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: namida on September 01, 2014, 10:38:58 AM
Alright then. Here's editor V1.18n-C, which fixes a lot of things with SuperLemmini (and to a lesser extent, Lemmini) editing. If you're only editing Lemmix / NeoLemmix, there's nothing new in this update affecting those.

NeoLemmix Editor V1.18n-C
---------------------------------------
> Can now edit the custom boundary settings in SuperLemmini levels.
> The custom fall distance and seconds-based time limits have been enabled for standard
  Lemmini levels; I wasn't previously aware that they worked there too.
> Various bugfixes relating to Lemmini and SuperLemmini editing.
> An internal name can be set for Lemmini / SuperLemmini styles, if the style name set
  in the file needs to be different from the one displayed in the editor. If none is set
  for a style, it defaults to the displayed name in all lowercase.
> Lemmini / SuperLemmini level names are now escaped properly (if you don't know what this
  means, don't worry about it).
> Playtest mode is now supported for SuperLemmini levels; you must set TestEXE to the full
  path of SuperLemmini.jar (even if it's in the same folder as the editor). It cannot be
  supported for traditional Lemmini as Lemmini itself doesn't offer support; though the
  option to specify a testing program is present, in case support is ever added, or if
  you wish to use SuperLemmini to test them.


https://www.dropbox.com/s/id72hofxcxo9gjv/NeoLemmixEditor_V1.18n-C.zip
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: namida on September 01, 2014, 10:44:40 AM
If you're getting that error, it's because your operating system doesn't know where to find the Java EXE. No specific path to the Java executable is coded into the editor; what it does would be exactly the same as typing this into a command prompt (from the editor's folder):

java -jar (TestEXE's value) -l (NeoLemmix Editor's Folder Path)temptestlevel.ini

I'm not sure if there's some option during Java install that sets up this to work, or if it's something done manually, or exactly how you get it to the point where you can do that. I guess an option could be to add something to the main INI to specify the exact path to the Java executable?

EDIT: It appears that you need to add Java's directory to your "Path" environment variable. See here for more info on this.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: Tsyu on September 01, 2014, 06:42:55 PM
If you're getting that error, it's because your operating system doesn't know where to find the Java EXE. No specific path to the Java executable is coded into the editor; what it does would be exactly the same as typing this into a command prompt (from the editor's folder):

java -jar (TestEXE's value) -l (NeoLemmix Editor's Folder Path)temptestlevel.ini

I'm not sure if there's some option during Java install that sets up this to work, or if it's something done manually, or exactly how you get it to the point where you can do that. I guess an option could be to add something to the main INI to specify the exact path to the Java executable?

EDIT: It appears that you need to add Java's directory to your "Path" environment variable. See here for more info on this.
No, that's not the problem; it works fine for me if I use the Windows command prompt. It must be a problem with the editor. Have you actually tested this yourself? (And in case I'm doing something wrong, I have attached my NeoLemmixStyles.ini.)

I found out just now that that error appears only if the TestEXE value is correct. If it's not, then a "file not found" message appears instead.

I should also say that I got the same error the first time I tried playtesting a NeoLemmix level, but subsequent tries worked fine.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: Minim on September 01, 2014, 09:18:25 PM
Unfortunately I noticed a bug with the disobedient lemmings gimmick. Normally when replaying a level the lemmings automatically follow the earlier commands from the player, but when this gimmick turned on it doesn't seem to work very well (well, sometimes I think), and they carry on walking instead. Basically just solve any level and press the restart button, and you'll have to do those time-wasting commands again. >:( It's quite funny that they turn into shruggers every time you command them.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: namida on September 02, 2014, 03:11:49 AM
DynaLem already informed me of that bug by PM. I've worked out why it happens, though haven't got around to actually fixing it yet.

Tsyu: Yes, I have tested it, it works fine for me - at first it didn't, but then I realised it needed the level file to have a ".ini" extension or it wouldn't load it properly. Anyway the NeoLemmixStyles.ini you attached specifies CustLemmixNeo.exe as the test app for SuperLemmini style, which is probably the problem... try changing it to this (based on the directories you gave me in the post further up):

TestEXE=C:\lemmini\superlemmini.jar
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: Tsyu on September 02, 2014, 04:28:19 AM
I fixed that line and tried playtesting again--same result. My new NeoLemmixStyles.ini is attached.

In case it helps, my operating system is Windows 7 Home Premium 64-bit SP1, and my Java virtual machine is Java 8 Update 20, 64-bit. What OS and JVM are you using?
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: namida on September 02, 2014, 05:59:26 AM
Same operating system as you, Java 7 Update 45 from Oracle. I'll have to look into this more later on.

In less-technical news, I've fixed the replay glitch with disobedient lemmings, and traced the source of the oddities with the nuclear bomber blast - it turns out it was nothing wrong with my code, but simply that I hadn't realised the original bomber mask wasn't symmetrical. This is something I'm going to fix in the next update - I'll add code that automatically adjusts it to be symmetrical (to avoid having to modify MAIN.DATs), while for those making custom players who actually don't want a symmetrical bomb mask for any reason, I'll add an option to the Flexi player to disable this auto-adjust. Once that is fixed, the nuclear bomber issue will almost certianly correct itself.

One other long-ago-suggested feature I'm trying to get done for the next update: A prompt for what filename to save a replay as. I realise this could get annoying, so the default behaviour will be as-is (except maybe for Cust); while you can specify in the INI file to prompt for a filename instead of automatically picking one.

EDIT: Done. :D Must be noted though that there's no overwrite prompt if the file already exists, and I don't think there's much I can do about this - I tried making a popup dialog, but the game continues playing in the background.

This means the only remaining features on the suggestions list are making the timer blink when it's low / lemming count blink when there isn't enough left to meet the requirement (which I'll probably look into soon), and a proper readme (which I'll probably do after a final version). I decided against splitting the non-Present/Sunsoft Genesis levels by rank, as there aren't really that many of them.


EDIT: Blinks have been implemented too. The two can be configured independantly of each other; the default is for lemmings blink to be disabled and timer blink to be enabled.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: namida on September 02, 2014, 01:28:56 PM
A glitch I'm aware of: With the Disobedient Lemmings gimmick, if you've already made one lemming do something, then select a skill you have none of and click a lemming (whether it's the same one or another one), the lemming you assigned the skill to will revert to a shrugger. Already fixed this for the next update.
Another one: Terrain created by stoners is treated as steel. It wasn't initially, but became this way when the Invert Steel gimmick was added (they're only meant to be treated as steel when that gimmick is in effect, but due to an oversight, ended up *always* being treated as such). Fixed this one too.

Another feature; I've added an option to NeoCustLemmix to skip the preview and postview screens when used for playtest mode with the editor (I'll add this feature to traditional CustLemmix at some point, but it'll be more work there - I was able to conveniently reuse some of the code that was used for, of all things, Timid 5's hardcoded special effect in LPIII, to do this). There's three settings available:
0: Show full preview and postview screens
1: Disable preview screen (it'll go straight into the level when playtest mode is started, or when clicking continue from the postview screen)
2: Disable preview and postview screens (when the level finishes, NeoCustLemmix exits)
3: Same as 2, but automatically saves a replay on exit


Also made some improvements to one-way walls. Just like steel areas already have for quite some time, they won't be invisibly applied to mid-air areas; only to where there's actually terrain. And, if you destroy them then later create new terrain where they were, that new terrain will not be one-way.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: namida on September 03, 2014, 12:11:07 AM
While it's semi-unrelated to NeoLemmix, I figure here is the best place to mention it:

I'm working on adding a "decompile style" option to LemSet. Not only will this make it easier to access samples (as you can just decompile any graphic set and look at the generated LemSet "source" for it), but this will also allow adding of new objects to existing styles much more easily - at the moment doing that is a HUGE hassle, and only the really advanced users would be capable of it.

Of course, with great power comes great responsibility - I'd reccomend keeping modified styles to the Flexi player (or custom-built-from-source Lemmix players) only, until I come up with a way to handle them a bit more tidily in CustLemmix / NeoCustLemmix. I'm neither able nor willing to force people to do that, but it's just a suggestion to avoid messiness.

EDIT: It's now extracting palette info and terrain perfectly fine, for both 16-color and 32-color styles. Just got to do objects now, that's the hard part though. xD
EDIT: Extracting object metainfo fine now (like the data about what the object does, etc), all that's left is to extract the object image itself.
Title: Re: NeoLemmix (Player: V1.18n | Editor: V1.18n-C)
Post by: namida on September 03, 2014, 03:29:45 AM
New version of LemSet is here. Enjoy. :)

As well as adding the decompiler, it fixes a couple of minor issues, and I also updated the horribly-outdated documentation somewhat.

https://www.dropbox.com/s/xkzmjzrih2ud3ww/LemSet_V8.zip?dl=0

I'm going to come up with something for the next version of NeoCustLemmix (and following shortly behind, standard CustLemmix) to easily enable use of customized styles without having to have a different style number for every version of a style, or constantly shuffling filenames around. It won't be long (should be sometime today) until release as everything else I want to do for V1.19n is already done. Until that's ready and I have exact instructions on how to use it, I ask that for the sake of keeping things tidy, please don't distribute edited versions of existing styles, except as part of a Flexi setup (whether done with the Flexi tool or just a file set to use with the external-file Flexi player); not that I expect anyone will have any modifications ready by the time that update is.
Title: Re: NeoLemmix (Player: V1.19n | Editor: V1.18n-C)
Post by: namida on September 03, 2014, 04:18:01 AM
Alright, here we go! Another pretty big update this time. Note that there's no new editor version at this time, as none of the new features require editor support.

NeoLemmix V1.19n
---------------------------
*  Disobedient Lemmings gimmick now works properly in replays.
*  Fixed a glitch with disobedient lemmings where you could make a lemming
   a shrugger by clicking on a different lemming while having zero of a skill.
*  Bomber masks are now automatically adjusted to be symmetrical; this
   can be disabled in custom packs on the Flexi player. Basically; this works
   by ignoring the right half of the mask image from MAIN.DAT, and instead
   duplicating (and flipping) the left half.
*  Made the open replay dialog box a bit tidier.
*  Custom filenames can be selected when saving a replay; by default this
   option is disabled (and the traditional behaviour is used) but it can
   be enabled in the INI file.
*  Added options to make the lemming count blink when too many lemmings
   have been killed to complete the level, and to make the timer blink when
   less than 30 seconds remain. By default, the timer blink is enabled but
   the lemming blink is not.
*  One-way walls no longer are applied to empty space, and once destroyed,
   if a constructive skill is used where they used to be, it will not be
   one-way.
*  Fixed the glitch where stoners always become indestructible (they are
   only meant to if the Invert Steel gimmick is in effect).
*  Added an option in NeoCustLemmix called "QuickTestMode", which affects
   how it behaves when used for test mode with NeoLemmix Editor. Setting
   this to 1 skips the preview screen (but leaves the postview screen as-is;
   clicking continue on it instantly restarts the level), setting it to 2
   removes both (so when the level finishes, NeoCustLemmix exits). Setting
   it to 0 leaves both preview and postview screen intact. Setting it to 3
   performs the same as 2, but also automatically saves a replay on exit.
*  NeoCustLemmix automatically disables certain options that probably should
   be turned off for testing mode, when booted in testing mode. These are
   Challenge Mode, Timer Mode, Forced Gimmick, Forced Skillset, DebugSteel
   and Steel Override.
*  NeoCustLemmix now includes the VGASPECs from the Genesis version and the
   "Apple Computer Level".
*  NeoCustLemmix can now specify a prefix to add when looking for external
   files. For example, if the prefix is set to "lem", then when looking for
   graphic set 0, it will first look for "lem_ground0o.dat"/"lem_vgagr0.dat",
   if those don't exist it will look for "ground0.dat"/"vgagr0.dat", and if
   those don't exist either, it will finally resort to using internal ones.
   This is to simplify playing custom levelpacks with custom resources. This
   applies to GROUND, VGAGR and VGASPEC files, but not to MAIN.DAT.



https://www.dropbox.com/sh/ksx7lbwic6x2nrd/AAC4uB1snGZ9WMBZ9tCCt1fHa?dl=0

The NeoCustLemmix-specific updates (external file prefixes, quick test mode and adding the extra VGASPECs) will also be added to traditional CustLemmix soon.

Also, just to clear it up - you are more than welcome to make modified versions of the Lemmings Plus styles for use with custom levels.



Also, I uploaded yesterday but forgot to mention, a new version of LemMain. This is just a minor update; it adds support for the option to disable bomber mask auto-adjustment. The option to use traditional-style timed bombers is now documented instead of being a secret option; I also changed the actual option flag to something a bit more logical (timed_bombers) than the previous non-obvious-but-somewhat-amusing flag (goddamn_bombers).

https://www.dropbox.com/s/roybn1s3v410ri0/LemMain_V6.3.zip?dl=0
Title: Re: NeoLemmix (Player: V1.19n | Editor: V1.18n-C)
Post by: namida on September 03, 2014, 10:15:07 AM
I've noticed that the QuikPack tool in the Flexi Toolkit often gives errors when some/all of the levels it's packing are in the NeoLemmix extended format. These errors are actually harmless - you can just click "continue", the output files will be fine; it actually relates to the style count. The reason is that it wasn't coded to read the correct byte to get the graphic set in extended format levels, so it reads a different byte instead and interprets a completely different number (specifically, the number of Stackers in the skillset) as being the style; then because this number is higher than the total style count, it gives an error when trying to count it.

I've updated the V1.19n Flexi Toolkit's copy of QuikPack to one that fixes this error (and counts graphic sets correctly even in the extended format). If you need to use an older version for any reason (although the V1.19n copy of QuikPack will work just fine with older versions of Flexi Toolkit; all it does is pack LVLs into DATs), you can avoid the error (at the cost of not getting accurate counts of which styles you've used) by simply entering 255 for the number of styles.

A glitch I'm aware of in NeoLemmix - I've actually been aware of this since I first added the gimmick, but keep forgetting to fix it (but I've made sure it's noted on my todo list now; though haven't actually fixed it because been working on the LPIII Bonus Pack rather than NeoLemmix today): In surviving bombers gimmick, if you make a faller into a bomber, his distance fallen starts counting again from zero, essentially meaning you can assign a bomber mid-fall to survive it. Do not create levels relying on this, as I plan to fix it.
Title: Re: NeoLemmix (Player: V1.19n | Editor: V1.18n-C)
Post by: Tsyu on September 04, 2014, 03:11:39 AM
It looks like NeoCustLemmix 1.19n is ignoring steel sections entirely, including the negative steel. Autosteel works, but that's it.

I've attached two test levels. The "No Autosteel" version has autosteel disabled, a regular steel area (index 0) covering the terrain, and a negative steel area (index 1) covering only the right half of the terrain. The "Autosteel" version is the same except that it has autosteel enabled, and it doesn't have a regular steel area. I'm sure you know what's supposed to happen.
Title: Re: NeoLemmix (Player: V1.19n | Editor: V1.18n-C)
Post by: namida on September 04, 2014, 04:02:56 AM
I looked at those levels; it appears this glitch occurs exclusively with NeoCustLemmix (not that you said it occurred in anything else)*; so my guess is it's probably something to do with the Steel Override feature causing this. I'll look into that in more depth shortly, and since that's a pretty major bug (combined with that I'm not sure how much I'll be able to come on here over the next week and a half), I'll put a v1.19n-B update out later today to fix it.

* For reference, I tested in 3 other players: LPII Bonus (has negative steel in Flight 7, as a No Overwrite steel block is used to smooth the terrain in the upper-right), Covox (has steel in a VGASPEC level so that must be handled manually), and LPIII Bonus (I specifically made a test level here).

I also tested NeoCustLemmix in normal mode (not testplay mode) and the bug *does* still occur, so it's not related to that.

EDIT: Found the source of the bug, and it's fixed. Specifically, the Steel Override mode, although it was applying the Autosteel and Simple Autosteel flags correctly, it was applying the Ignore Levelsteel flag as the opposite of what it should be.
Before I put out the update, two other small bugs I also want to fix - the aforementioned one with surviving bombers, and a purely graphical one involving brick colors in VGASPEC levels (done).
Title: Re: NeoLemmix (Player: V1.19n | Editor: V1.18n-C)
Post by: namida on September 04, 2014, 04:55:10 AM
Here we go!

NeoLemmix V1.19n-B
------------------------------
*  Fixes the glitch with non-auto steel not working in NeoCustLemmix.
*  Fixes the brick colors in VGASPEC levels.
*  Fixes the glitch where using a bomber on a faller in the Surviving
   Bombers glitch would reset their fall distance.

KNOWN LEVEL ISSUE: LPDOS Danger 26, the one-way arrow placement could use improvement.


https://www.dropbox.com/sh/ksx7lbwic6x2nrd/AAC4uB1snGZ9WMBZ9tCCt1fHa


There's also some change I made to LemDosStyles.pas, but I haven't noted what I did here and I can't remember what it was...
(EDIT: I remember now. It was just changing one of the rank names in LPIII Bonus; so nothing that affects any of the released players.)
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 04, 2014, 06:03:06 AM
And a NeoLemmix Editor update!

This editor does NOT yet fix the problem with playtesting SuperLemmini levels; I need to look more into this one before attempting a fix. It fixes one minor bug and adds one new minor but useful feature - you can now save an image of the level. As there's no new Neolemmix V1.19n feature that it adds compatibility for (or at all), it's labelled V1.18n-D rather than V1.19n-A.

NeoLemmix Editor V1.18n-D
-------------------------------------
> Fixed the glitch where the memorised filename would not be updated when saving a level.
> Added the option of saving a LVL to an image file. To do this, go to Save As, and select
  "Image File (*.png)" from the format box. Currently, only PNG format is supported.

KNOWN BUG: SuperLemmini test mode does not work in some setups. I need to look more into
           why this happens before releasing a fix.

KNOWN BUG: If a negative steel area completely overlaps a normal steel area, it is not
           visible as being negative steel.


https://www.dropbox.com/s/3qxsjwk82vg3omu/NeoLemmixEditor_V1.18n-D.zip

Just to be clear on what is or isn't included in the output image - it's whatever you've currently got set as visible in the editor. So if you've got it set to only display terrain and objects, that's all that will be in the output file. If you've got it set to render trigger areas, trigger areas will show up in the output file, etc.


By the way - just a heads up, I might not be on here much over the next week and a half or so; but feel free to leave bug reports, suggestions, etc here and I will look at them if I get a chance, or when I get back. If any MAJOR issues come up within the next 6 hours or so, I can probably get them patched before I go anywhere. Otherwise, during this time I will have my laptop with me so can work on the code; I should be able to access the forums via my cellphone so I can read any comments and respond to them, but I don't know for sure if I'll be able to upload updates or if they'll have to wait until I'm back.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 04, 2014, 08:23:02 AM
Also - given the way one-way arrows now work, it's possible some levels could use improvements to the placement of these to reflect the new(ish) mechanics. One such level that I'm aware of is Danger 26 of LPDOS, let me know if you're aware of any others. I will go through and check at some point, but it's helpful if I know of any that I specifically need to look out for.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: Tsyu on September 06, 2014, 12:10:48 AM
SuperLemmini 0.93, which has just been released, adds support for autosteel (both methods), negative steel, and infinite skills. Also, the steel section's documentation has been updated:

# Steel
# X position, Y position, width, height, flags (optional)
# Flags: 1 = remove existing steel
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 16, 2014, 12:48:58 PM
I'll get onto adding the support for those soon. :)
I've so far looked through the updated format documentations and made a note of what changes need to be made. I'll need to make some changes to the editor's level properties layout box to account for these.

A question - any plans to add an "ignore level steel" option? It may be useful when converting/updating existing levels - that's why I added the option in NeoLemmix (if you were to examine the converted levels from old packs for example, you'll notice the steel areas aren't removed in most levels, they've simply got the Ignore Level Steel option turned on). If so, let me know how you plan to implement it, and I'll add that in at the same time.

Also, a minor LemMain update (V6.4), which adds an option to save BMPs of the palettes. This saves you having to pick colors out of existing images or look up the RGB values. It will save whichever palette (standard or Xmas) is active at the time of selecting the option.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: Minim on September 16, 2014, 04:45:03 PM
Hi namida; glad to see you back on the forums again. A few more points to raise about the editor:

Here's a bug that I should've mentioned when I first found the forum, which still hasn't been fixed on the Neo Editor. Whenever I click on the vertical panels below the map, I an unable to move any terrain pieces or objects with the arrow keys. Despite the fact I created so many levels in the past it'd be nice if you could fix this unnessecary issue.

And also, because I prefer to use the arrow keys to move pieces around rather than the mouse I prefer to move them quickly without having to hold Ctrl, and use that button instead to make 1-pixel moves, just like the original Lemmix Editor. Is it possible to add an option in the settings to change this back to normal? Thanks.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 16, 2014, 04:51:58 PM
Here's a bug that I should've mentioned when I first found the forum, which still hasn't been fixed on the Neo Editor. Whenever I click on the vertical panels below the map, I an unable to move any terrain pieces or objects with the arrow keys. Despite the fact I created so many levels in the past it'd be nice if you could fix this unnessecary issue.

This one has been bothering me too. I have to look more into exactly how the connection between parts of the editor work before I can fix this, but it's on my todo list.

Quote
And also, because I prefer to use the arrow keys to move pieces around rather than the mouse I prefer to move them quickly without having to hold Ctrl, and use that button instead to make 1-pixel moves, just like the original Lemmix Editor. Is it possible to add an option in the settings to change this back to normal? Thanks.

This should be possible. I'll probably also look into making the "larger" move distance configurable instead of hardcoded at 8 pixels.


Another thing I'm going to look into doing is splitting the Level Stats panel into two seperate ones; one for the skillset, and one for the other details. It's getting a bit overcrowded, I think... and I want to make setting infinite skills tidier, especially for SuperLemmini purposes - in NeoLemmix, you can't have more than 99 of a skill anyway, so using a value over 99 as infinite (specifically, 200) works fine, but SuperLemmini you can have higher amounts without actually being infinite.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: Wafflem on September 17, 2014, 05:18:47 AM
I have some more ideas for gimmicks:
1. Turn around skill – when a lemming is assigned a skill, they immediately turn around before performing the skill. This is essentially assigning a walker and another skill at the same time.
2. Flip the exit and the entrance around; in other words, lemmings come out of the exit as if it were the entrance, and treat the trapdoor as if it were the exit. Although I could simply achieve that by making the entrance and exit fake objects, then putting an invisible entrance and exit behind them... This is just an idea, as it looks like you can only have so many gimmicks in the editor.
3. Radiation Stoner - lemmings become Stoners after touching the Radiation object and counting down. Unless you'll just create a new object specifically for that?
4. Harmful Bomber/Stoner - if a lemming explodes, any lemming within the vicinity of the bomber will be killed by the blast. This also applies to stoners.
5. Upside-down lemmings?

I have some ideas for lemmings that can be used in all styles:
1. Gold lemmings – these are required to beat the level.  They are pre-placed lemmings. For example, in a level of five gold lemmings, even if you reach the 90% of the requirement of regular lemmings but not all of the gold lemmings are saved, the level will not be beaten. The Karoshi gimmick will also apply to this; all gold lemmings must also die in order for the level to be beaten.
2. Evil lemmings - these are colored red with black hair. They are pre-placed lemmings and they can also be pre-assigned a permanent skill/blocker. However, you cannot assign a skill to them during gameplay. Their behavior is the same as that of a regular lemming, including how they die; however, if an evil lemming touches a regular lemming, both of them will explode. Evil lemmings cannot exit the level; they are only there to hurt the regular lemmings.

LemmixPlayerExtraNeo:
1. Use the Genesis music for the Genesis-Sunsoft ratings.
2. Use the LPDOS music for the SEGA levels.
3. I remember Proxima discussing about the two Genesis 2-player levels. While I haven't found the level files for those, the closest thing I can get to so far is these YouTube videos:

Now use miners and climbers: http://www.youtube.com/watch?v=yP_-9QkZY1Q
A task for blockers and bomber: http://www.youtube.com/watch?v=FJJkDnQdmrY
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 17, 2014, 05:41:37 AM
Gimmick ideas:
1. Turn around skill - I could possibly do this one, although aside from graphical features, it wouldn't be much different from Backwards Walkers. I'll add it to the list to consider.
2. Entrance/exit swap - I think this would indeed be better handled with invisible and fake objects. I plan to add proper invisible objects (but probably not terrain, both for reasons of difficulty of implementation and that that is blatantly unfair to the player given the more pixel-perfect nature of terrain compared to objects) to the next update, just like SuperLemmini has. And of course, you can simply use specific music selection if you want to play the gimmick music (set it to 254 for Frenzy, 255 for Gimmick).
3. Radiation Stoner - This one would be better handled by an object, I think.
4. Harmful Bombers/Stoners - I would think it'd be logical to only apply this to bombers, or perhaps as two seperate gimmicks; but I've actually considered this one myself. Added to the list. (This could be quite interesting when combined with Nuclear Bombers, too.) What I'd wonder for this one is, what's the best thing to happen to them - should they burn (like hitting a fire object), or perhaps start a chain reaction (ie: any lemming caught in the blast also instantly bombs (without an OhNo))?
5. Upside-down lemmings - I've already explained (I think) why I wasn't going to do invertible gravity (like Cheapo has); the same thing applies here. It's FAR too much work. One possible workaround would be to simply draw the gameplay area upside down, though then you'd have to create the level upside down too; and this may still take more effort than it's worth.

Lemming types:
In general, these would be quite simple to implement functionally, but could be problematic graphically. They would have to be done either by including an entire second set (per type) of lemming graphics in MAIN.DAT, or palette-swapping on the default graphics (which could then be problematic for customized graphics, and maybe even when simply using the xmas palette).
I do like the gold lemmings idea, not so much the evil lemmings one. Perhaps I can look at these at some point.

Extra:
1, 2. I don't see much point in doing this; for one it would majorly increase the filesize of an already-large player. The only music-related change I'd like to make is, if there's a MOD/IT file (or MIDI; I can convert that easily enough) for the Sunsoft Special level, then I'd like to use that for that level.
3. If the level files (or information on how to extract levels from the Genesis version) show up, I'd be more than happy to adjust and include them.



I'm currently overhauling how the skill counts are handled, which will have a number of benefits:
- Easily fix the interactions between various factors that affect counts, such as Challenge Mode, the Reverse and Overflow gimmicks, pickup skills, etc
- Avoid (not that there are any that I know of) skill count-related glitches that only apply to a specific skill
- Remove the 100-of-each-skill limitation in Challenge Mode
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 17, 2014, 08:00:57 AM
Known bug that will be fixed in the next update:
When using Challenge Mode, the text replay always contains info on quantities used of the 8 traditional skills, instead of basing it off the level's actual skillset.

Also, as mentioned above, pickup skills, the Overflow gimmick and the Reverse Count gimmick now all get along just fine, instead of having weird results when combined. :D

One more thing I'll be doing for the update (unless it turns out to be too much work, which it shouldn't) is adding one-way-down arrows to the official and LPII styles. Also, the Fire style needs some improvement to the trigger areas of the existing arrows, so I'll do that too. The improved trigger areas for the one-ways will apply to all affected players, while the addition of the one-way downs will, as usual, only be put into Cust and Flexi (and of course the editor).

EDIT: On closer examination of the fire set's one-way arrows, it looks like the way they're set up is actually logical. If anything, it's just the frame size that's a bit confusing.


EDIT: I've added the one-way downs to the dirt style, it's very simple and doesn't seem to cause any problems. :)

I might look into adding some other new objects to certain styles, too. I didn't want to do this before because it would be a complicated task, but with V8 of LemSet having a decompile option, it's much simpler to do now (apart from having to make graphics, of course). If you have any suggestions of what should go in what style, let me know.


Also, please note: From now on, the non-remastered versions of the LPII styles are no longer given any official support. They'll remain available for use, but please note that they won't be updated with new objects in this round of updates (which will probably be the last one for existing styles).
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 17, 2014, 09:20:44 AM
Just for reference, the remaining object slots in each style, if anyone wants to make suggestions (especially relevant for objects that go in pairs, such as teleporters or locked exits, which will thus need two slots). All of these are taking into account the addition of one-way-downs (unless they won't be added to the style in question; I don't plan to add them to styles like Xmas and Sega that don't have one-way arrows at all):

Dirt: 1 remaining slot
Fire: 1 remaining slot
Marble: 2 remaining slots
Pillar: 1 remaining slot
Crystal: 1 remaining slot
Brick: 2 remaining slots
Rock: 0 remaining slots
Snow: 2 remaining slots
Bubble: 1 remaining slot
Xmas: 3 remaining slots
Tree: 5 remaining slots
Purple: 5 remaining slots
Psychedelic: 4 remaining slots
Metal: 3 remaining slots
Desert: 3 remaining slots
Sega: 8 remaining slots <-- I might add all three types of one-way arrows to this one, that'd still leave 5

If you've got graphics for an object type that you think should be added, even better - though keep in mind, you need to stick to the available palette! (You can easily get this by decompiling the graphic set with LemSet.)

EDIT: Actually, for the locked exits, they don't nessecerially *need* two free slots - as the existing exit can be adapted into a locked exit. This would though mean that in styles where this is done, a single level can't contain both locked and unlocked exits. (But, a locked exit and a normal exit function exactly the same if there are no buttons in the level.)



A behind-the-scenes change; I've changed the code for removing a lemming so that it can be specified whether it's been saved, killed, or neutral (eg: fallen out of the level). This means that rather than having to duplicate the code for registering the lemming as saved/killed (the latter for Karoshi purposes) on each case that can remove the lemming, it simply specifies which to treat it as. This should have no actual effect on gameplay, it's just a behind-the-scenes change, but it does make it easier to add future cases of lemmings being either saved or killed.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 17, 2014, 11:58:31 AM
Well, run into a minor snag with three styles (specifically - Fire, Crystal and Brick), in that adding the one-way-down arrows pushes the VGAGR object sections to over 64KB. Working on updates to all three programs (LemSet, NeoLemmix and NeoLemmix Editor) to get around these limitations now - of course the editor and player already support sections over 64KB in and of themself, there's just no support for graphic sets pointing to anywhere beyond the 64KB mark (as previously it was only used for full-color VGASPECs); whereas LemSet didn't support these at all previously.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: Wafflem on September 17, 2014, 12:43:07 PM
Great job that you're doing this!

Here are my suggestions for some of the styles:

Fire: 1 remaining slot - radiation
Marble: 2 remaining slots - locked exit and button
Crystal: 1 remaining slot - updraft
Brick: 2 remaining slots - locked exit and button
Snow: 2 remaining slots - updraft
Bubble: 1 remaining slot - shame this only has one slot, one-way fields, teleporters and locked exits would have worked here. The radiation object will do, since it goes along with the theme of the style.
Xmas: 3 remaining slots - updraft, ice blower, water (the Xmas style needs some objects from the Snow style; it really looks bare without them)
Tree: 5 remaining slots - a bird trap (birds eating lemmings; you can place that on the nest terrain piece), updraft, one-way fields
Purple: 5 remaining slots - teleporters, locked exit and button
Psychedelic: 4 remaining slots - teleporters, locked exit and button, radiation
Metal: 3 remaining slots - radiation, locked exit and buttons
Desert: 3 remaining slots - updraft, radiation
Sega: 8 remaining slots - locked exit/buttons, teleporters, one-way fields

Also, are you able to add steel to the Bubble set?

Gimmick ideas:
1. Turn around skill - I could possibly do this one, although aside from graphical features, it wouldn't be much different from Backwards Walkers. I'll add it to the list to consider.

Another thing that makes this different from backwards lemmings. For example, after a lemming finishes building, and you assign them a builder again, they will turn around and build in the opposite direction; if you keep doing this, you can make a zigzag staircase without blockers; these will especially be useful as splatforms.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 17, 2014, 01:03:19 PM
Tree: 5 remaining slots - a bird trap (birds eating lemmings; you can place that on the nest terrain piece), updraft, one-way fields
I'm only going to add *new* object types, except maybe with the Xmas and Sega styles. Tree style already has a triggered trap anyway (the falling clump of leaves).

Quote
Also, are you able to add steel to the Bubble set?

Not at this point in time, as it already has 64 terrain pieces, which is the maximum. I'd have to overhaul the format much more significantly in order to add extra terrain. It's something I might consider eventually, but definitely won't be doing in the next update at least.

You could of course create a customized version of the style that either replaces some of the existing pieces, or alternatively, use the spare object slot (make an object that looks like a steel block, and use the Only On Terrain property - if you want different sizes, you could even designate the object as a pickup skill, with a trigger area in a location that can't actually be reached if the area its on is set as steel; alternatively the Steel object type will be working properly again in the next update so that'd avoid the need to manually set steel areas when using the workaround, though I haven't yet tested how this interacts with negative steel).

Quote
Another thing that makes this different from backwards lemmings. For example, after a lemming finishes building, and you assign them a builder again, they will turn around and build in the opposite direction; if you keep doing this, you can make a zigzag staircase without blockers; these will especially be useful as splatforms.

That's actually a really good point. Okay, I'll do this gimmick at some point. It probably won't be the next update though; I need to implement the new extensions to the graphic set formats, then also do an editor update to get it in line with new version features (as well as implement support for new SuperLemmini features), so apart from that and fixing any bugs I might come across, I think I've implemented everything that I'm going to for the next update. (Also keep in mind - you probably saw this coming; since the only function of the new graphic set extensions is to allow more/larger graphics, I'll be updating CustLemmix to support it too.)

At this point, I've finished updating LemSet to support the graphic set extensions, and I've done all the graphic sets except Fire and Crystal (these two, along with Brick, ran into problems before; but since Brick has the simplest arrows, I used it while testing the fixes); I still need to update the player and the editor.

EDIT: Player is now updated to support it. So the player can pretty much be released once I (re-)do the Fire and Crystal sets. An updated editor may have to wait until tomorrow as there's a fair bit to do on it. With that being said, the extended graphic sets don't crash the existing editor, they just look weird, so you can already make the levels using it if you can tolerate slight graphical issues in the editor.

For those who know the technical details of the formats, the new extensions allow the object section to be up to 4GB (which realistically will probably never happen - the brick style, which is the largest so far (though Fire or Crystal might end up exceeding it, we'll see), is only about 65KB - barely over the limit of the old format). The terrain section's limitation isn't so straightforward - the section itself can be up to 4GB theoretically too, but the furthest into it any terrain piece can start is at the 8MB mark exactly; since the maximum size of an individual piece is 248x255, this puts the practical maximum at about 8.05MB. Still far higher than any graphic set is realistically likely to ever use, especially since the current format only allows for 64 terrain pieces (and if I were to make a new format that allows for more, I could then also allow it to make use of the full 4GB maximum section size - the 8MB-ish limit is due to the limitation of bytes to store the piece graphic addresses).

(And for those of you who don't quite understand the above - this is not the same as the size of the actual source BMP files. The size of the 'sections' in the output graphic set are only about 20% of that of the source files.)


Other new objects (apart from the one-way downs) will come in a later release, since they're a lot more work - I have to actually make new graphics (unless anyone else wants to contribute?) for the most part, rather than just rotate and maybe slightly modify existing ones; although I could possibly recolor some of the graphics used in LPIII to add them to the old styles.


EDIT: On second thought, I will release a V1.20n-A of the editor which supports the new extensions to the graphic sets (but is otherwise identical to V1.18n-D). Then later this week I'll do a V1.20n-B update which adds the support for the new features in NeoLemmix V1.20n and SuperLemmini V0.93a.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: Wafflem on September 17, 2014, 02:25:40 PM
Another suggestion for the Fire style: notice how the right-facing one-way arrows are actually moving towards the left? This should also be fixed.

For the turn-around skill, another thing I can suggest is that when a lemming is currently in the middle of a permanent-skill activity, and you assign them a skill, they will turn around while doing the activity. For example, when a lemming glides and you assign them a mechanic, the lemming will immediately turn around. In the case of assigning a skill to a climber, they will turn around immediately after climbing up a ledge.

If you combine this gimmick with the Surviving Bombers, they will turn around after exploding.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 17, 2014, 02:33:42 PM
I'm fairly sure that's intentional? At any rate, I've kept consistent with the one-way-downs - they also move to the left, not downwards. It's kind of hard to say whether this is an intentional thing or a mistake - I guess the questions to ask are; is this the same in all versions? And, if so, do any official levels actually *use* the one-way-rights in that style, because if not, it's more possible that it was overlooked. (I can't think of any off-hand that do, there might be something in Genesis maybe?)

At any rate, I'll leave it as-is for now, and I can always fix it later, since it'd be a purely graphical change.

Just got to do (and test) the Crystal style, then compile everything, and it'll be ready for release. :)

A couple of other changes that are coming with this update, one of which I was a bit unsure about adding but decided to just put it in, and the other I think most of us will agree is long overdue (as pretty much all other modern engines have it) - invisible objects and infinite time limits.
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-A)
Post by: namida on September 17, 2014, 03:12:18 PM
Alright, here we go! I already uploaded the LemSet Update V9 earlier (it also fixes a bug with decompiling non-official 16-color styles, as well as adding the support for the new extensions), but here's the new NeoLemmix and editor updates. :)

NeoLemmix V1.20n
----------------------------
*  Objects can now be invisible.
*  Objects with the effect of anti-blocker field or steel area now work properly.
*  One-Way Arrows automatically apply the Only On Terrain flag, as this is more
   consistent with how they actually behave.
*  Overflow and Reverse Skill Count gimmicks now interact with each other properly.
*  Pickup skills now interact properly with the Overflow and/or Reverse Skill Count
   gimmicks.
*  Any skill count that isn't in the range of 0 to 99 is now considered to be
   infinite. (Previously, only exactly 200 was considered infinite.)
*  A time limit exceeding 99:59 is now considered infinite. (Previously, there
   was no option for infinite time.)
*  When using traditional LVL format, if the time limit seconds exceeds 59, it
   overflows into the minutes instead of giving glitchy results. (For example, if
   the limit is 1min 62secs, the actual time limit will be 2:02)
*  When Reverse Count is in effect, skills are unusable at 99 instead of at 100.
*  The text file saved with a replay when Challenge Mode is enabled now uses the
   level's skillset to save used skils info, rather than only showing the traditional
   eight skills.
*  One-Way Down arrows have been added to all traditional and LPII styles (except Xmas).
*  Graphic sets with more than 64KB of object and/or terrain data are now supported.
*  When using Test Mode in NeoCustLemmix, the forced settings are no longer saved
   to the INI file.
*  The positioning of the one-way arrows on Danger 26 of LPDOS has been improved.


https://www.dropbox.com/sh/pf3qz9s1jvxaxzh/AADJQnEVIMYKNKpyk4anjzQja


NeoLemmix Editor V1.20n-A
-------------------------------------
> Supports graphic sets with more than 64KB of image data in either section.
> Has the updated traditional/LPII graphic sets that include one-way-down arrows.

Note that it does NOT yet support other V1.20n features, such as infinite time limits; nor does it yet have support for new features in the latest version of SuperLemmini. Both of these engines will be given better support in the V1.20n-B update. The features have been documented in the NeoLemmix and SuperLemmini level format documentations respectively, so if you need them urgently for any reason, you can manually implement them with a hex / text editor in the meantime.

https://www.dropbox.com/s/8mvqsauypeex3j7/NeoLemmixEditor_V1.20n-A.zip



The ZIP of the NeoLemmix Styles has also been updated with the new versions. If for any reason you're wanting to use these with older versions of the engine, most of them will work fine, but NeoLemmix V1.20n (or higher, once available) is required for the new versions of the Fire, Crystal, Brick and Snow styles. There are no changes at all to the LPIII or Sega styles.

CustLemmix has also been updated to support the new extensions to the graphic set format. Obviously there's no intention to add anything to the CustLemmix versions; it's more so people won't run into the limit if/when they create custom graphic sets.
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-A)
Post by: namida on September 17, 2014, 08:33:27 PM
So, working on the editor. Not ready for the release yet - it can't do anything it couldn't do before yet - but I have, as mentioned, split the Properties and Skillset into two seperate windows. Further improvements to the skillset window will be on their way later (tidier layout, checkbox for infinite skills setting, etc). :)

I'm wondering if I should also split the gimmick selection into yet another seperate window?
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-A)
Post by: Wafflem on September 17, 2014, 09:13:30 PM
Yes, you should split the gimmick selection in a new window. It will also make things easier.
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-A)
Post by: namida on September 17, 2014, 10:06:12 PM
Alright, I'll split that into another seperate window too.

EDIT: Okay, so far I've done:
- Splitting Gimmicks into yet another seperate window
- Autosteel in SuperLemmini style
- Negative steel in SuperLemmini style
- Invisible objects in NeoLemmix style

I must leave for a few hours now, so I'll do more later. All that's left to do is tidy up the skills window, add proper support (and SuperLemmini support) for infinite skills, and add support for infinite time limits in both NeoLemmix and SuperLemmini. ...and I still need to add support for SuperLemmini "vgaspec"s, as well as improve the general handling of those, but that'll probably be for V1.20n-C.

In the meantime, here's another shot showing the 3 seperate windows, and Autosteel being used in a SuperLemmini level.
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-A)
Post by: Wafflem on September 18, 2014, 04:13:03 AM
Another glitch with the disobedience gimmick:

Another way to free a blocker with this gimmick in play is to use any skill on the blocker, so it will shrug and become a walker again. However, when lemmings walk into the area where the blocker used to be, they treat this area as though the blocker is still there, and turn around.
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-A)
Post by: namida on September 18, 2014, 05:08:19 AM
Being able to free the blocker that way is intentional, but the blocker field remaining behind is not. Fixed that in the source, so it'll be fixed in the next update.

Also worth noting - you can only make it shrug by assigning a skill that you could usually assign to a blocker (so Bomber, Stoner or a permanent skill). This is intentional too. Once it's shrugging, you can assign any skill to it.


Support for infinite time limits (in both NeoLemmix and SuperLemmini) has now been added to the editor.

By the way, in case anyone's wondering: Invisible objects require the extended format, while infinite time does not.


EDIT: Done the infinite skills now. Before I release it, there's one more thing I want to do - an attempt at a workaround for the playtest issue with SuperLemmini.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: namida on September 18, 2014, 07:03:16 AM
And also, because I prefer to use the arrow keys to move pieces around rather than the mouse I prefer to move them quickly without having to hold Ctrl, and use that button instead to make 1-pixel moves, just like the original Lemmix Editor. Is it possible to add an option in the settings to change this back to normal? Thanks.

Just stumbled upon this by accident - there's actually a setting for this in the INI file. So, in the meantime you can edit that manually; in the future I'll look at adding something to the Settings menu to make it easier to change.
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: namida on September 18, 2014, 07:15:22 AM
Alright, here's the REAL update to the NeoLemmix Editor. :) This one brings it up to date with the latest versions of both NeoLemmix and SuperLemmini, if I'm not mistaken (though it still doesn't support "vgaspec"s or background terrain in SuperLemmini).

NeoLemmix Editor V1.20n-B
--------------------------------------
> Level stats, gimmicks and skillset are now three seperate menus.
> Shortcut keys for some menus have been changed, as well as a couple assigned to options
  that previously didn't have any shortcut key.
> Supports infinite time limits in both SuperLemmini and NeoLemmix formats
> Supports infinite skill counts in SuperLemmini format, and implements it more tidily in
  NeoLemmix format than it previously did
> Supports Autosteel in SuperLemmini format
> Supports negative steel in SuperLemmini format
> Supports invisible objects in NeoLemmix format
> Added an option to manually specify the path of Java. It's the JavaPath option under
  the [Editor] section in NeoLemmixEditor.ini. You may not need to configure this, but
  if playtest mode for SuperLemmini gives an error, setting the full path here should
  hopefully fix it.

(NOTE: At the time of release, SuperLemmini has a major glitch with standard
       autosteel (or by SuperLemmini terminology, Autosteel Mode 2). Tsyu
       has stated this will be fixed in the next update.)


https://www.dropbox.com/s/5c2rmvu31oot5fn/NeoLemmixEditor_V1.20n-B.zip

EDIT: Reuploaded to fix a couple of issues with infinite skills in SuperLemmini format.


Also, before anyone asks - no, there's no plans to apply infinite time limits to any of the existing levels (whether official or LP).
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: Tsyu on September 18, 2014, 10:31:07 AM
If I use an absolute path for the NeoCustLemmix player and try to playtest a level in that player using the NeoLemmix editor, I get a "test player EXE does not exist" error, even if the path is correct. If I use a relative path, though, everything works fine. Strangely, SuperLemmini playtesting works even with absolute paths.

Specifying the full path to java.exe fixed the SuperLemmini playtesting error.

With the above considered, do you think that, when playtesting mode is entered, you could have the NeoLemmix editor display the command line that it will use? That could be a big help in determining why the problems are happening.

One more bug I noticed with the editor: In the levels viewer (in the View menu), escape backslashes are not removed from Lemmini level titles.
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: namida on September 18, 2014, 10:57:57 AM
Although probably not the best design decision, it's meant to work that way for (Neo)CustLemmix. I can probably change this though so that it works with either. SuperLemmini uses an absolute path because keeping NeoLemmix Editor and a copy of SuperLemmini (which has heaps of subfolders etc) in the same folder is not quite as clean as keeping NeoLemmix Editor and a copy of NeoCustLemmix in the same one.

I can't say I'm too familiar with how the level viewer even works, but I can definitely look into fixing it.

By the way, making progress on the better VGASPEC handling. In fact, it's now almost fully implemented for (Neo)Lemmix; I just need to implement it for SuperLemmini too and fix up a few minor details. Basically, you're no longer tied to having to make a specific entry in the styles INI for every combination of graphic set and VGASPEC; each entry can simply be marked as either being a normal style or a VGASPEC, and you can pair up any VGASPEC with any graphic set you like (similar to how you could just pick both arbitrarily in NeoLemEdit).

EDIT: Okay, implemented for SuperLemmini now too! At least for the most part - I haven't (not due to trouble, just haven't done it yet) got it *loading* levels with special graphics yet (but it saves and displays them just fine, including the specified positioning).
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: namida on September 18, 2014, 01:03:21 PM
Done!

NeoLemmix Editor V1.20n-C
---------------------------------------
* Adds support for special graphics in SuperLemmini format.
* Improves handling of special graphics in Lemmix/NeoLemmix format.


https://www.dropbox.com/s/3ea17vmqqqpxhi4/NeoLemmixEditor_V1.20n-C.zip

Note: There's some pretty major changes to the NeoLemmixStyles.ini, though you can probably just copy/paste the additional parts over (entry 20 onwards in NeoLemmix style, entry 16 onwards in CustLemmix style, and entry 10 onwards in SuperLemmini style). You'll also need to recompile your SuperLemmini styles (traditional Lemmini has no changes, and updated and pre-compiled Lemmix and NeoLemmix styles are, as usual, included).

And if you're adding other special graphics, I'm sure most of you realise this but I'll make it clear just in case - it couldn't matter less what number you give them (just as long as you don't set the GraphicSetExt number to zero). You can even have the same number on two. (Super)Lemmini uses names, not numbers, to identify styles, and that is equally true for special graphics. (On the other hand, NeoLemmix does indeed use numbers.)
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: Tsyu on September 18, 2014, 07:56:06 PM
The NeoLemmix editor freezes on "Fetching metadata" whenever I compile a SuperLemmini special style.

EDIT: And if I load an LVL file, I get an error message saying "TBaseGraphicSetWrapper.Graph.IsSpecial: Property IsSpecial does not exist."
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: Tsyu on September 19, 2014, 02:25:29 AM
I don't think you ever said how you extended the DAT format to handle files larger than 64 kB. Are the previously unused bytes in the headers now used as the high bytes?
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: namida on September 19, 2014, 02:59:39 AM
The NeoLemmix editor freezes on "Fetching metadata" whenever I compile a SuperLemmini special style.

EDIT: And if I load an LVL file, I get an error message saying "TBaseGraphicSetWrapper.Graph.IsSpecial: Property IsSpecial does not exist."

Found the issue. Quite an embarassing one... while I had put all the updated styles, INI, etcs in the updated zip... it appears I somehow had left the old version of the editor itself. xD Redownload and it should work?


As for the extended DAT - that's how it's done for the DAT format in itself. In graphic sets, 8192 (whichever bit that corresponds to... it's too early to math xD) is added to the first object's animation flags as a marker (just like the markers for autosteel, extended palette, etc), and for objects Unknown1 is used as high bytes for animation_frames_base_loc, while for terrain, the unknown value is used for:

(Bit0 - Autosteel marker - this has been there for a long time now)
Bit1 to Bit7 - High byte (or, 7/8ths of a byte :P ) of image_loc
Bit8 to Bit15 - High byte of mask_loc

The DAT format one I had written up, but forgotten to put into the documents folder. I haven't done one on the graphic set format yet.
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: namida on September 19, 2014, 04:31:18 AM
Known bugs in NeoLemmix player:
When specifying what level should be sent to after completing a secret level, the level number worsk fine but the rank number is ignored.
Level codes (not cheat codes, but the standard level codes) do not work for ranks beyond the 5th rank.
Both will be fixed in next update.

There isn't too much stuff I can think of that needs to be done on the player at the moment, so I might look at implementing a few more of the gimmick suggestions.
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: Tsyu on September 19, 2014, 05:33:04 AM
Found the issue. Quite an embarassing one... while I had put all the updated styles, INI, etcs in the updated zip... it appears I somehow had left the old version of the editor itself. xD Redownload and it should work?
Yes, that fixes both of those problems. I did find another problem, though: When compiling SuperLemmini special styles, the editor loads both the main image (*.png) and the mask image (*m.png) and combines them into one image, with the main image in front (Actually, it's a bit more complicated than this; try using one set's mask with another set and you'll see what I mean). This should not be the case; the mask is for gameplay only and should have no visual effect. Also, the editor expects both files to be present; in SuperLemmini, the mask is optional.

As for the extended DAT - that's how it's done for the DAT format in itself.
So my guess is correct, right?
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: namida on September 19, 2014, 05:55:21 AM
Yes, sorry, that was a bit vague. The first unused bytes are for decompressed size, the second two for compressed size.

It loads it this way so it knows which areas to treat as transparent. This is important when, for example, using objects with No Overwrite. Also partly because, for some reason which I couldn't identify, it kept throwing errors when trying to use the standard Lemmini transparency algorithm (even though it works fine for objects and terrain).

Of course, I will try to improve this. I also didn't realise the mask was transparent, so I'll try to find a way around needing it altogether. Such as getting that damn normal algorithm to work. xD
Title: Re: NeoLemmix (Player: V1.20n | Editor: V1.20n-B)
Post by: Tsyu on September 19, 2014, 06:40:47 AM
I think I now have a good lead as to why I can't playtest levels in SuperLemmini without specifying the full path to java.exe. I checked my Path variable and did not find the real location of java.exe. Instead, I found C:\ProgramData\Oracle\Java\javapath, which does contain a java.exe, but it's really a symbolic link (which is different from a shortcut) to the real thing. This must be what the NeoLemmix editor must be trying to run, which should still work, but it doesn't for some reason.

This setup was probably introduced in Java 8 (which isn't available at java.com for some reason), so if you want to try to fix this problem, you might want to get that.
Title: Re: NeoLemmix (Player: V1.20n-B | Editor: V1.20n-C)
Post by: namida on September 20, 2014, 02:08:19 PM
^ I'll look into that at some point soon. :)

In the meantime, here's NeoLemmix V1.20n-B. This is a very minor update, just fixes two glitches - the main reason I'm releasing it now, rather than waiting for further stuff, is so that LPIII Bonus Pack isn't based on an "inbetween versions" release of NeoLemmix - so yes, LPIII Bonus (at least the first release) will also be based on NeoLemmix V1.20n-B. As usual, it's seperate from the NeoLemmix update stream until the first update after it's finalised.

NeoLemmix V1.20n-B
-----------------------------
*  Fixed the bug where blocker fields remained behind when the Disobedient Lemmings
   gimmick is in effect.
*  Fixed a bug where specified post-secret-level redirects always went to the first
   rank instead of the correct one.


https://www.dropbox.com/sh/pf3qz9s1jvxaxzh/AADJQnEVIMYKNKpyk4anjzQja
Title: Re: NeoLemmix (Player: V1.20n-B | Editor: V1.20n-C)
Post by: namida on September 21, 2014, 11:23:24 AM
Alright, going back to the subject of adding objects to existing styles - I'm going to do the LPII ones very soon, but the official styles may be a bit further away.

As long as you weren't planning on needing to use the new objects, you can still go ahead and create levels of course - the new objects will be added at the end of the style, so they won't cause compatibility issues with existing levels.

I won't necesserially use all the available slots - it depends what objects make sense for the style too, and I'm only adding *new* object types, not more objects of existing types. For example, I'm not going to add teleporters to the Tree style, but probably will add them to the Psychedelic style.

Most additions will be re-using graphics from the LPIII sets (possibly recolored).

Additions.

Tree: Updraft (Sky)
Purple: Teleporter (Martian), Slow Freeze (edited version of Lab radiation object)
Psychedelic: Teleporter (Circuit), Radiation (Lab), new object (original)
Metal: Locked Exit (original), Button (Circuit), new object (original)
Desert: Updraft (Sky), Radiation (Sky)
Title: Re: NeoLemmix (Player: V1.20n-B | Editor: V1.20n-C)
Post by: Wafflem on September 21, 2014, 12:21:15 PM
I think the radiation will work very well for the Psychedelic style instead of the Purple style.

I also have an expanded idea on the updraft - left-facing and right-facing drafts. When a lemming enters those zones, the following happens:

This will work very well in the Desert style (like it's a sandstorm), and could have worked in the Sky style (but there are no more object slots).
Title: Re: NeoLemmix (Player: V1.20n-B | Editor: V1.20n-C)
Post by: namida on September 21, 2014, 12:31:56 PM
It's a good idea, but those would be quite a lot of difficulty to code without glitchiness (look at how many glitches the Glider had :P - and there were many more that came up after creating it but before the first release with them included). I could maybe look at them later on.

Also just for reference-  there are 3 free object slots in the Sky style...

For radiation in the Psychedelic style, I might add that too. There's enough spare slots for it. But I'll also add it to the purple style as well.
Title: Re: NeoLemmix (Player: V1.20n-B | Editor: V1.20n-C)
Post by: namida on September 21, 2014, 01:11:11 PM
I've just added an entirely new object type to NeoLemmix. I won't say what it is, apart from that it's something that exists in (at least) one of the official games. I've added it to the Metal style, and will probably add it to the Psychedelic style too. It would've worked nicely for the Circuit and/or Lab styles too, but I'm not adding anything to the LPIII ones.

(This doesn't mean you'll have to wait for NeoLemmix V1.21n to get the updated styles - I'll release them as soon as all 5 are done. It just means the new object type won't work until that update is released. That is unless both are ready at roughly the same time.)
Title: Re: NeoLemmix (Player: V1.20n-B | Editor: V1.20n-C)
Post by: namida on September 21, 2014, 01:23:06 PM
Known bug in NeoLemmix: When the Backwards Walkers gimmick is in effect, if a builder hits terrain, sometimes he ends up one pixel inside it. I haven't yet determined whether this can also happen with Platformers. I need to investigate further as to what causes this (and whether it affects Platformers too) before I can make a fix, but I'll make sure it's fixed before the next update.

EDIT: Alright. Fixed that. It does indeed happen with Platformers too, fixed that too (although it's MUCH harder to trigger it with platformers than builders anyway). Also, I finally did something about that pesky "gap in the staircase" issue when turning a builder with a blocker.

I've also added a couple of the suggested gimmicks, specifically:
- Lemmings turn around when a skill is assigned to them
- When a skill is assigned, all other skills count down instead of the one that was used

And I'm about to have a go at implementing the one where any skill that's assigned is assigned to *all* lemmings that are able to do it.

EDIT: Implemented it. However, I explicitly made it not apply to Cloners, as otherwise the lemming count gets out of hand extremely quickly - just 4 cloners in an average level (80 or 100 lemmings) can result in over 1000 lemmings, which causes major lag. It does apply to all 15 other skills.



Known bug in NeoLemmix Editor: When copying/pasting objects, only the traditional attributes get copied/pasted. This is fixed for the next update.

Known bug in NeoLemmix Editor: Sometimes it's possible to select steel that doesn't actually exist (only happens when Steel In Background is disabled). Fixed for the next update.

Known bug in NeoLemmix Editor: When trigger area rendering is enabled, some "ghost" trigger areas appear near the top-left corner. Fixed for the next update.

Some other changes for the next version include confirmation boxes when changing formats in a way that could result in loss of information (such as downgrading from Extended Format to Standard Format, or switching between Lemmix and Lemmini -based styles), and the style selection box defaulting to (though not automatically selecting - you still have an opportunity to choose otherwise if you want!) a Lemmini style when opening a Lemmini level (or vice versa - if a Lemmini style is the first one in your list, and you try to open a Lemmix level, it will default to the first Lemmix style in the list).




Also, one long long LONG overdue feature that I'm including in the next update of NeoLemmix (and likewise supporting in the next editor update) - horizontal flipping of terrain! I'll probably implement it for objects too at a later date.
Title: Re: NeoLemmix (Player: V1.20n-B | Editor: V1.20n-C)
Post by: Minim on September 21, 2014, 04:05:09 PM
Another thing I might suggest although not gimmick related: Volume Control? Should be possible via the ini files in each game.

As for free object spaces, I thought about the slow freezer hazard, which sets a nine-second timer when the lemming walks into it, and turns them into stoners! Should work well with the snow & crystal sets.
Title: Re: NeoLemmix (Player: V1.20n-B | Editor: V1.20n-C)
Post by: namida on September 21, 2014, 04:08:45 PM
Another thing I might suggest although not gimmick related: Volume Control? Should be possible via the ini files in each game.

As for free object spaces, I thought about the slow freezer hazard, which sets a nine-second timer when the lemming walks into it, and turns them into stoners! Should work well with the snow & crystal sets.

DynaLem also suggested this as a possible object. Well then, I'll implement it in V1.21n, though it'll be a bit longer before I modify the official styles (and I don't see that object as fitting in too well in the LPII styles - it might've gone well in the Lab style but as I said I'm not modifying the LPIII ones); but it'll be available in V1.21n for use in custom styles.

EDIT: Actually, it might work well for the Purple style. I'll put it in there.


As for the volume control, I don't really know that much about how the sound system works in-depth, so don't expect that in the next update. I might add it at a later point though.


EDIT: Okay, I've added it (as in added the object type to the engine; I haven't added it to any style yet - which also means I haven't tested it, but it'll be tested when I add it to the Purple style, which I plan to do before releasing the next update). As well as that, I've made a slight change to the Stoner in general - in players that have timed bombers (this is possible when building custom games using the Flexi version), Stoners will also be timed.
Title: Re: NeoLemmix (Player: V1.20n-B | Editor: V1.20n-C)
Post by: namida on September 21, 2014, 05:52:50 PM
The updated styles are now included in the NeoLemmix styles download here.

They'll also be included (only for Cust and Flexi, as usual) in the next update, which should be no more than 20 minutes or so away - pretty much just a matter of preparing it and making the post now.
Title: Re: NeoLemmix (Player: V1.21n | Editor: V1.21n-A)
Post by: namida on September 21, 2014, 06:04:53 PM
Alright, here we go! Lots of new features in the player, lots of fixes in the editor. :)

NeoLemmix V1.21n
----------------------------
*  In players that have timed bombers, Stoners are now also timed.
*  Added support for horizontally flipping terrain pieces.
*  Added a new object type, Splitter. This is inspired by a similar object in 3D
   Lemmings. Lemmings walking through the splitter will alternate between going
   left or right from it. By default the first lemming to enter a splitter will
   walk right; if the Face Left flag is set then left will be first instead. When
   making a graphic set, the trigger effect ID for this is 21, and the first frame
   should be for right, the second frame for left.
*  Added a new object type, Slow Freeze. This works the same as radiation, except
   it results in a Stoner rather than a Bomber. The trigger effect ID for this is 22.
*  Added a new gimmick, "Turnaround". This gimmick causes lemmings to turn around when
   a skill is assigned to them.
*  Added a new gimmick, "Other Skills". This gimmick causes, instead of the count of
   a used skill to reduce by 1, every OTHER skill reduces by 1. Whether or not a skill
   can be used is still determined by its own count.
*  Added a new gimmick, "Global Assign". This gimmick causes a skill to be assigned to
   all lemmings whenever it's assigned to one. Note that it does not apply to Cloners.
*  Fixed a bug involving Builders and Platformers under the Backwards Walkers gimmick.
*  Fixed the issue of gaps in staircases when a builder is turned by a blocker.
*  Fixed a bug where on the 4th brick, if a builder's brick was destroyed on the same
   frame it was placed, it would regenerate on the next frame. (Platformers did not
   exhibit this bug.)
*  Fixed the bug where you could reset a bomber's timer (in players with timed bombers)
   by assigning it another bomber.
*  Added some of the NeoLemmix objects to the Lemmings Plus II styles.


https://www.dropbox.com/sh/jb14a23k9zca4gq/AACxtCw38ZUj6q3eYHpCCD2xa


NeoLemmix Editor V1.21n-A
--------------------------------------
> Improves saving level image files (for example, saved images now utilize compression and
  do not have a transparent background).
> The Gimmick31 checkbox has been given an actual description of what it does - this was
  being kept secret previously. Use the Oddtable level/rank settings to set what level it
  refers to.
> Correctly labelled the checkboxes for the three new gimmicks introduced in V1.21n.
> Added support for horizontally-flipped terrain.
> Copy/paste now copies the new properties properly.
> Fixed the bug where "ghost" trigger areas appear near the top-left corner of the level.
> Fixed the bug where non-existant steel areas (usually ones that had recently been deleted)
  could be selected if Steel In Background was turned off.
> Renders splitters correctly according to their Face Left setting.
> Lemmini format is no longer offered as a save option when using Lemmix-based formats,
  and vice versa. To save as such, first change the level's style. Loading them directly
  to a different format is still possible, though it is recommended to load them in the
  correct format then change the style.
> When loading a level, the style selector will default to the first Lemmix or Lemmini
  style in the list as applicable, instead of just the first style in the list.
> Confirmation dialogs now pop up when making certain changes between formats/styles:
    - When disabling Extended Format in NeoLemmix levels
    - When changing between Lemmini-based and Lemmix-based formats
    - When changing from a NeoLemmix style to a standard Lemmix style
    - When changing from a SuperLemmini style to a standard Lemmini style


https://www.dropbox.com/s/efrmjf7mliyzf2u/NeoLemmixEditor_V1.21n-A.zip


Just to clarify on what new object types were added to the LPII styles:

Tree: Updraft
Purple: Teleporter, Receiver, Slow Freeze
Psychedelic: Teleporter, Receiver, Radiation, Splitter
Metal: Locked Exit, Button, Splitter
Desert: Updraft, Radiation


Also, I updated the documentation with the latest version of LemSet to include the two new object types. There's no change to LemSet itself, only the documentation (as LemSet doesn't need to know what trigger effects correspond to what type of object; it just blindly puts the number into the output style file), so if you already have the latest version, all you really need to do is make a note of two new object types - 21 is splitter, 22 is slow freeze.

And if anyone was thinking "huh, splitter? I'm sure I've never seen that in an official game" - it's Lemmings 3D that has them. :)

EDIT: Found a fairly major bug with the splitter. Reuploaded Cust and Flexi (including the Flexi toolkit) with the bug fixed.
Title: Re: NeoLemmix (Player: V1.21n | Editor: V1.21n-A)
Post by: namida on September 21, 2014, 08:31:19 PM
Here's a sample level using the splitter. It's not very hard (but, it isn't meant to be).

Uses the Metal style, and of course, it requires the new NeoLemmix version (and style).
Title: Re: NeoLemmix (Player: V1.21n | Editor: V1.21n-A)
Post by: Tsyu on September 21, 2014, 09:35:44 PM
I've got some more bug reports regarding the editor (not all of them are new):
Title: Re: NeoLemmix (Player: V1.21n | Editor: V1.21n-A)
Post by: namida on September 21, 2014, 09:42:16 PM
I've got some more bug reports regarding the editor (not all of them are new):
  • When loading a standard-format LVL file as either the NeoCustLemmix or Custom Lemmings style, the conversion warning is displayed. Considering that no conversion is really taking place, the warning should not be displayed.
  • The conversion warning is also displayed when creating a new (non-Neo) Custom Lemmings level. (Again, no conversion is happening here.)
  • When loading a Lemmini level as a NeoCustLemmix or Custom Lemmings level, all the positions and sizes should be divided by 2. (And perhaps a conversion warning should be displayed in this case.)
  • The default start position is currently 632 for all styles, including Lemmini and SuperLemmini. For those two clones, that number should be doubled to 1264.

Thanks for pointing these out. :)

EDIT: #1, #2 and #4 are fixed. For #3, this is why it's recommended to load it in the correct style then change the style - it has no such issue if you do it that way. I might look into that later, though not promising anything (since there's another way that works perfectly fine) - another issue that also happens is, if you load a SuperLemmini level into NeoLemmix style, it won't load most SuperLemmini-exclusive (compared to standard Lemmini) features, even if NeoLemmix supports them. The same is true of loading a NeoLemmix level into SuperLemmini style. Whereas loading them then changing the style will work fine, once again.

Quote
Could the mouse wheel be reversed so that scrolling up zooms in and scrolling down zooms out? That's how most programs work (well, at least the ones that I've used).

I was thinking the same thing, but left it so far because I figured that's what Lemmix users would be used to. I'll look into it.

EDIT: Done.



A feature for the player that was requested a while back that I've added for the next update - saving an image of the current level. It saves the entire level in its current state (not just the on-screen part); it does not include the mouse cursor or the skillbar, but does include the lemmings.
Title: Re: NeoLemmix (Player: V1.21n | Editor: V1.21n-A)
Post by: namida on September 22, 2014, 01:18:45 AM
I've coded horizontal flipping for objects in both the editor and the player; though I still need to tidy some things up on the player side (for example, I don't think it works completely right with teleporters yet). Obviously, the trigger area is flipped too - in fact, from the next release, that'll be true for vertical flipping too (with an adjustment to account for that trigger areas are checked at a lemming's foot, not the center of a lemming - unless of course it's an object type that applies to terrain rather than a lemming, which is pretty much just one-way arrows).
Title: Re: NeoLemmix (Player: V1.21n | Editor: V1.21n-A)
Post by: namida on September 22, 2014, 11:19:03 AM
As per earlier suggestions, I'm going to add some objects from the Snow style to the Xmas set. If you're making levels in the Xmas style, please avoid using the new objects for now (the pre-placed lemmings, pickup skills and secret triggers) - I'm going to slot in the added objects *before* these, so that I can create an expanded version that's compatible with traditional Lemmix too (without having a few unused slots inbetween working ones).

EDIT: Done. I'll include them in all relevant apps from the next update (and I've already included them in the Flexi Toolkit zip); but for now:

NeoLemmix versions - now included in the NeoLemmix styles zip
Traditional version - Download here.

The additions are water, the ice blower, and the icicle trap. Additionally, I also added the other three sizes of steel blocks to the terrain. (These are added at the end, so they won't interfere with existing levels.)
In both cases there are two copies of the VGAGR file. The ones just labelled VGAGR9.DAT have the standard lemmings graphic on the trap; the ones labelled VGAGR9A.DAT have the Xmas lemmings graphic on the trap. Apart from that one object, they're identical. The same GROUND9O.DAT file works with both.



I've uploaded the updated version of traditional Cust/Flexi with the extended style included. I just need to check (and almost certianly fix) the flipping with teleporters before I can put the NeoLemmix player update up too (and the editor update to go with it).


Just for reference: The Xmas style now has no remaining free object slots so there won't be any further additions to it. Likewise, although some do have free slots, there will be no further additions to the LPII or LPIII styles. With that being said, any additions to other styles won't have any affect on existing levels (all objects will be added at the end) - the only reason it was different for the Xmas style is that I was adding object types that already existed under traditional, and thus saw no reason not to make a traditional version too.


EDIT: About the teleporters. Tested and it works fine when both the teleporter *and* receiver are flipped, but has issues when one is and the other isn't. So I'll need to fix that before release. Also on that subject a feature I'll add is for teleporters to be able to flip the lemming's direction (this will just be a matter of setting the Face Left flag on the teleporter - not the receiver; the reason here being that multiple teleporters can link to a single receiver, but not the other way around, so it made more sense to put it on the teleporter).
Title: Re: NeoLemmix (Player: V1.21n | Editor: V1.21n-A)
Post by: namida on September 22, 2014, 01:58:23 PM
Alright, here we go!

NeoLemmix V1.21n-B
-------------------------------
*  A "screenshot" (actually the entire level, not just the on-screen part) can
   be saved by pressing I.
*  Objects can now be flipped horizontally. Note that this does NOT affect the
   facing for windows / pre-placed lemmings / splitters; you still use the Face
   Left flag for that. (You can set both in the case of a window. Setting both
   on a pre-placed lemming would do nothing but look confusing in the editor.
   Using it at all on a splitter is probably a total dick move in most cases.)
*  Flipping an object (whether vertical or horizontal) affects its trigger area
   too. In the case of upside down, most trigger areas are slightly moved to
   compensate for that trigger areas are detected at a lemming's foot.
*  If a teleporter has the Face Left flag active, any lemmings that go through
   it will change direction when they come out of the receiver.


https://www.dropbox.com/sh/jb14a23k9zca4gq/AACxtCw38ZUj6q3eYHpCCD2xa



NeoLemmix Editor V1.21n-B
---------------------------------------
> Conversion warnings no longer pop up in some situations where they shouldn't (such as when
  creating a new traditional Lemmix level).
> Zooming via the scroll wheel now works the logical way (up to zoom in, down to zoom out).
> Screen start position now defaults to 1264 in Lemmini styles, rather than 632.
> Can now flip objects horizontally.
> Displays trigger areas of flipped objects in accordance with how they work in NeoLemmix
  V1.21n-B (ie: the trigger area is flipped along with the object, and in most cases is
  moved slightly downwards in the case of upside down).
> Contains updated versions of the Xmas graphic set (for both Traditional and Neo) with a
  few extra objects from the Snow style. The version named VGAGR9.DAT and contained in the
  compiled style by default has the standard lemming graphic on the trap; the one titled
  VGAGR9A.DAT can be used if you want the Santa lemming instead.


https://www.dropbox.com/s/sdev659zvsbyjc8/NeoLemmixEditor_V1.21n-B.zip



By the way - although it isn't mentioned in the update log, the Xmas91/92 and H94 players also contain the updated version of the Xmas set.
EDIT: There was a minor graphical issue in these two players - specifically, these players have the Christmas palette hardcoded, so the graphic set *also* having the Christmas palette flag set instead causes it to use the normal graphics. So, they should've used  a copy with the Xmas lemming graphic but *without* the Christmas palette flag set - which they now do. :)
Just for peace of mind - Flexi players built with the Xmas Palette flag won't have this issue, as in Flexi setting the Xmas Palette doesn't affect graphic sets (unlike the hardcoded setting in the H94 and X91/92 players).

If there's enough demand, I can add the save image feature to CustLemmix too.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-B)
Post by: Tsyu on September 23, 2014, 04:37:33 AM
SuperLemmini has been updated again, and it now supports some of the features that were implemented in recent versions of NeoLemmix, as well as oddtabling. Also, the in-level documentation has changed for objects and terrain:
Code: [Select]
# Objects
# ID, X position, Y position, paint mode, flags, object-specific modifier (optional)
# Paint modes: 0 = full, 2 = invisible, 4 = don't overwrite, 8 = visible only on terrain (only one value possible)
# Flags: 1 = upside down, 2 = fake, 4 = upside-down mask, 8 = horizontally flipped (combining allowed)
[...]

# Terrain
# ID, X position, Y position, modifier
# Modifier: 1 = invisible, 2 = remove, 4 = upside down, 8 = don't overwrite,
#           16 = fake, 32 = horizontally flipped (combining allowed, 0 = full)
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-B)
Post by: namida on September 23, 2014, 04:45:55 AM
I assume "upside down mask" flips the trigger area (so this is independant of flipping the object itself - or does it only work if the object is also flipped?)? Anyway, I'll get onto updating the editor very soon - probably will be ready in a few hours at most. :)

EDIT: According to the documentation that's exactly what it does.

EDIT: I'm done with adding these features. But that aside, there's also one more feature (applicable to all four engines) that I want to add too - a better way to set the screen start position.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-B)
Post by: namida on September 23, 2014, 07:25:53 AM
Alright, it's done!

NeoLemmix Editor V1.21n-C
---------------------------------------
> Improved directly loading Lemmini levels into a Lemmix style and vice versa. Note that
  this is still not recommended (especially when loading into traditional styles rather
  than NeoLemmix / SuperLemmini), but it should work better than before.
> Supports horizontal flipping in SuperLemmini styles.
> Supports the MainLevel setting in SuperLemmini levels - this performs an equivalent
  function to NeoLemmix oddtabling, but uses a filename instead of a rank and level
  number.
> If a MainLevel is set in a SuperLemmini level, and the starting screen position is
  set to zero, no screen position will be saved to the output level file.
> Edit boxes in the level properties window are greyed out when not applicable to the
  current format.
> The S Value and L Value captions are now greyed out when the respective values cannot
  be edited for any reason (such as a non-NeoLemmix level or no objects selected).
> Added an option to set the screen start position to the right-click context menu.



https://www.dropbox.com/s/eihh7ybbolqvzgz/NeoLemmixEditor_V1.21n-C.zip
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: Minim on September 23, 2014, 02:53:24 PM
One slight problem about the editor that hopefully can be fixed easily. On the NeoStyles ini file there are only four style categories: NeoCustLemmix, Custom Lemmings, SuperLemmini and Lemmini. The problem is, if I load up an ONML level it always appears with the wrong graphic set. Could you extend the number of categories so that it suits OhNo graphic sets? If that can  be done could you also include the Holiday, LPII and LPIII sets too? (For example Tree being set 0 and Purple on set 1 for LPII)

I hope I explained this clearly enough. I'm only asking this because I don't use NeoCustLemmix. Thanks.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: Wafflem on September 23, 2014, 03:24:33 PM
I have some more object ideas:
1. Crumbling terrain - if a lemming walks over the terrain, that terrain will crumble as soon as the lemming steps on it. If a destructive skill is used on that terrain, the terrain will immediately crumble. I believe this appears in the official games, and I thought it's a cool idea for NeoLemmix.
2. Forbidden skill zone - if a lemming steps into this zone, they will not be allowed to use a specific skill. For example, if they step into a zone that says that builders cannot be used, a lemming cannot be assigned a builder (but can be assigned any other skill) until they step out of the zone. The zone can be changed the same way pickup skills are.
3. Locked trapdoor - like locked exits, all buttons need to be stepped on in order to get the locked trapdoor to open.
4. Gimmick off switch - when a lemming steps on the switch, all gimmicks in play turn off.
5. Gimmick on switch - when a lemming steps on this switch, the gimmick turns on. Note that the switch must be set to a specific gimmick. For example, in a level of lemmings that are falling into the water from the trapdoor, if a lemming steps on a gimmick switch that is set to No Gravity, the gimmick will be in play, and the lemmings will stop falling into the water.
6. A one-time trap: if a lemming steps on the trap, both the lemming and the trap will disappear, allowing for the others to walk past without problems.
7. Mirage - if a lemming walks to an object, that object will disappear, but when the lemmings walks away, the object will reappear. This will work very well in the Desert style.

More gimmick ideas:
1. This one is similar to the overflow gimmick: the player will be able to go lower than the set release rate. For example, if you set the release rate at 85, and you attempt to go lower than that, the release rate will then go lower than 85.
2. If you use a skill on a lemming, the release rate will automatically spike up to 99. If you use a skill on another lemming, the release rate will go back to the inital release rate. You cannot change the release rate at any time; attempting to do so will give you the "Oh No" sound, similar to Frenzy.
3. When a lemming falls to the bottom, he does not die, but instead reappears at the top of the screen. The same is true for the sides of the level; if a lemming walks off the right side of the level, they will appear on the left side.

I'm not sure if you have time, but for me, the new NeoLemmix objects in the LPII styles could use some more recoloring:
1. The updrafts should match the color of the style (light brown for Desert, dark brown for Tree). For Desert, this will give the impression of a sandstorm.
2. The radiation object in the Psychedelic style should radiate in different colors instead of just blue.
3. Remove the stars in the teleporter/receiver of the Purple style and change the background to purple.
4. Recolor the button of the Metal style to metallic colors, and change the green color (when the button is stepped on) to yellow.

Extra:
1. I found more levels on YouTube that can be added to the Extra player if the level files are found: https://www.youtube.com/watch?v=WivO9yJLrzg . If they are found (or remade by someone), they can be added to the Other rank.
2. I can suggest a traditional Extra Player, Part 2 for other levels that don't appear in the Neo versions of Lemmings - specifically, the Orig/Oh No 2P levels, Luis's PSP remakes and Ohayo Lemming-san.
3. I suggested sometime ago that the L2 Classic levels can also be remade. I don't think that's possible now because some of the column tiles in L2 have different sizes from the Orig ones. Unless you can VGASPEC them the same way you did with Sixes Not? (but there is the issue with the flamethrower).
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: namida on September 24, 2014, 05:59:37 AM
1) Objects acting as terrain would be quite complicated... I could maybe consider this if there's a lot of demand for it.
2) That's an interesting idea, though I don't know how much use it would have outside of backroute-blocking. Still, it won't be overly hard to implement, so I can probably do this one.
3) How would this interact with other (non-locked) trapdoors though? Or would it just be used together with pre-placed lemmings? Anyway, since no new animations are required (the trapdoors already have closed and opening animations) it wouldn't need a new object type, just some adjustment to how existing trapdoors work and a way to set them (presumably through an S/L value setting).
4/5) Now, this is a pretty interesting idea!
6) That could probably be set as a property of existing traps, rather than a new object.
7) This would be purely decorative (but appear/disappear based on the presence of lemmings), right?

With that being said, are you planning to make graphic sets using these objects? Apart from additions to the official styles (and let's face it, we've got plenty to choose from already :P ), I don't plan to make any more new graphic sets or modifications any time soon, so unless someone's actually planning to use an object type, I'm probably not going to add it.

Gimmicks:
1) RR overflow: It would make more sense to me to just add the release rate to the existing Overflow gimmick.
2) RR 99/norm on skill: That one could be interesting.
3) Wrap-around: This one's a great idea! :)

New objects - in general, I decided against further recoloring so they're clearly identifiable for what they do.

Extra:
1) Once again - if either the level files or info on how to extract them comes out, I can definitely look into it.
2) That's a good idea, though I might wait until these levels have had a chance to show up.
3) Yes, they can be VGASPEC'd (as long as they aren't more than 960 pixels wide) and I could put together a sort of "hybrid" style that contains the flamethrower and other objects from the pillar style - it'd be especially easy to do now that LemSet can decompile styles. Alternatively, I could just create a modified version of the pillar style itself with the differently-sized pieces.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: Tsyu on September 24, 2014, 08:13:07 AM
1) Once again - if either the level files or info on how to extract them comes out, I can definitely look into it.
Here you go. That's all of the levels from the Genesis version, including the 2-player levels, all of which I ripped myself. The levels that DynaLem is referring to are fun31 and fun32.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: namida on September 24, 2014, 08:31:35 AM
Awesome, thanks for that. I'll be sure to include them in the next update. :)
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: namida on September 24, 2014, 12:21:13 PM
One slight problem about the editor that hopefully can be fixed easily. On the NeoStyles ini file there are only four style categories: NeoCustLemmix, Custom Lemmings, SuperLemmini and Lemmini. The problem is, if I load up an ONML level it always appears with the wrong graphic set. Could you extend the number of categories so that it suits OhNo graphic sets? If that can  be done could you also include the Holiday, LPII and LPIII sets too? (For example Tree being set 0 and Purple on set 1 for LPII)

I hope I explained this clearly enough. I'm only asking this because I don't use NeoCustLemmix. Thanks.

Here's a modified version of the NeoLemmixStyles.ini file that also includes the following styles:
* Oh No! More Lemmings!
* Covox
* Prima
* Xmas
* Lemmings Plus II
* Lemmings Plus III
* Lemmings Plus III Bonus Pack (needs the LPIII Bonus VGASPECs - will release them in due course)
* Lemmings Plus Z Project (does not need any new files)

There's no Orig or LPDOS option as those are number-compatible with the CustLemm style. Likewise, Lemmings Plus II Bonus Pack is number-compatible with Lemmings Plus II.

To use this:
1) Close NeoLemmix Editor if it's running - this is very important; otherwise it will just overwrite it with a copy of the old one when you close it.
2) Replace NeoLemmixStyles.ini with this one.
3) Start up NeoLemmix Editor.
4) Recompile the styles (you'll need to recompile all, even the ones that already existed).

Note that by default these aren't marked as NeoLemmix styles (except LPIII, LPIIIB and LPZ); if you want to change any style to NeoLemmix, just make the following three changes to its section near the start of the NeoLemmixStyles.ini file:
* CommonPath=.\clstyles\ >>> CommonPath=.\nclstyles\
* NeoLemmix=False >>> NeoLemmix=True
* TestEXE=CustLemmix.exe >>> TestEXE=CustLemmixNeo.exe
If you already compiled the styles before doing this, you'll need to recompile them again afterwards.

Note that you don't really need to make this change for LPII; just use the LPZ style instead (that's number-compatible with LPII and uses the NeoLemmix versions).
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: namida on September 24, 2014, 01:24:23 PM
I'm going to release an update soon with that new INI pre-configured and compiled, but first I'm trying to improve the handling of SuperLemmini special graphics. I actually found out why there's problems with them under normal conditions - it's because the default ones use 4 bits per color instead of 8, and for some reason, that causes problems with the conversion algorithm. Now to fix that.

EDIT: Okay, I can't find any simple way to fix this. I'll look into it more later, but for now, here's an update that just has the expanded range of styles. Note that the only changes are to the included styles and the NeoLemmixStyles.ini file; nothing about the editor itself has changed (except the version number reported on the About screen), so if you don't need the adjusted styles INI, there's no major need to update.

NeoLemmix Editor V1.21n-D
--------------------------------------
> Added the Lemmings Plus III Bonus Pack VGASPECs.
> Added various extra style sets to the default NeoLemmixStyles.ini - Oh No! More Lemmings!,
  Covox Lemmings, Prima Lemmings, Holiday Lemmings, Lemmings Plus II, Lemmings Plus III,
  Lemmings Plus III Bonus pack and Lemmings Plus Z Project. (The last one is just a combination
  of the LPII and LPIII graphic sets, nothing new.)


https://www.dropbox.com/s/v3pfk2z8p7idh6g/NeoLemmixEditor_V1.21n-D.zip

To reduce the size of the download, the styles are not pre-compiled (except NeoCustLemmix and CustLemm as usual); just compile them through the Tools -> Compiler option on the menu.

I'll reupload NeoCustLemmix with these three additional VGASPECs soon, I won't give them a new version number though. Same deal for CustLemmix. EDIT: Done, for both.


Just to confirm ahead of time, both "Lemmings Plus H Project" and "Lemmings Plus C Project" (the other two, smaller LP projects I've mentioned around the place) will not need their own entries as both will be compatible with an existing entry (though no mentions yet as to which ones).
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: namida on September 25, 2014, 07:41:45 AM
Known bug in NeoLemmix player: There is potentially a memory leak when saving images. This is only likely to occur if you save an extremely large number of images in a single run of the program, so should never pop up; at any rate it'll be fixed in the next update.

Known bug in NeoLemmix player: If you play a level with infinite time limit, then play a level that has a time limit, you will have infinite time on the latter level too (this doesn't show on the preview screen, only when playing the level). Fixed for the next update.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: Wafflem on September 25, 2014, 01:21:03 PM
Thanks, Tsyu, for the levels! I'm also going to upload them (along with my remake of Ohayo Lemming-san) in the Level Database at some point.

With that being said, are you planning to make graphic sets using these objects? Apart from additions to the official styles (and let's face it, we've got plenty to choose from already :P ), I don't plan to make any more new graphic sets or modifications any time soon, so unless someone's actually planning to use an object type, I'm probably not going to add it.

Actually, no. These are just object ideas that would have worked in future Lemmings Plus games. If I end up making a style of my own, I will let you know which object is necessary for what style. Though, as you said, the locked trapdoors should be possible.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: namida on September 25, 2014, 02:25:10 PM
In general - if it's going to take a lot of effort, I'll only do it if someone plans to use it. If it'll be relatively simple (like the locked trapdoors), I can look at doing it anyway. :)

By the way - I've made some huge improvements to the preview screen level image in NeoLemmix; for example, pre-placed lemmings are now displayed as part of the preview, and locked exits now actually show up as locked. Because of these changes, an image saved from the preview screen in NeoLemmix will probably be more accurate than an image saved from the editor for NeoLemmix levels (for traditional levels, it shouldn't make a difference either way) - other differences include that the editor won't hide secret triggers, for example (though in the traditional version of the LPII styles, they're invisible anyway).
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: namida on September 25, 2014, 03:37:51 PM
An issue has been identified with the Flexi Toolkit that may make Resource Hacker refuse to allow adding the RES file on certain systems. I've reuploaded the latest version of the toolkit with updates that fix this problem.

It does not affect the non-toolkit version of Flexi or any of the other players.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: namida on September 25, 2014, 06:51:26 PM
The two "test" maps and the three unique two-player levels from the Genesis version have been NeoLemmix-ised and added to the Extra player for the next update.

(As far as Traditional goes, unlike with NeoLemmix there's a clear need there to maintain support for old-format MAIN.DATs which would make having more than 5 ranks very complicated; so the extra Genesis levels and the PSP levels will most likely be, as was suggested, put in a "Extra Part 2" player at some point.)

Also, as a heads up to anyone making levels using the Stacker skill, there's a few changes to how it works in the next update:
- It's no longer impossible to assign a stacker if there's no ground one pixel to the right of where the lemming is standing. Instead, it just starts the stack one pixel lower (it still has the same number of bricks, so it'll finish one pixel lower too)
- The stacker won't shrug if it hits terrain, and will turn around
- The stacker won't stop stacking if it hits terrain on the first brick (but will on any other brick)
- The stacker + Lazy Lemmings glitch is fixed (try it if you don't know what I mean)

These shouldn't matter for any levels that aren't overly-precision-reliant, but letting you all know just in case.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: Proxima on September 25, 2014, 07:14:17 PM
Level 17 isn't strictly unique; it's the Genesis version's equivalent of the normal 2-player Level 17, "Graffiti". What with the level being shrunk to fit the Genesis version's maximum size, the graffiti got erased, so the title was changed.

Just for reference, the remaining object slots in each style, if anyone wants to make suggestions (especially relevant for objects that go in pairs, such as teleporters or locked exits, which will thus need two slots). All of these are taking into account the addition of one-way-downs (unless they won't be added to the style in question; I don't plan to add them to styles like Xmas and Sega that don't have one-way arrows at all):

Dirt: 1 remaining slot
Fire: 1 remaining slot
Marble: 2 remaining slots
Pillar: 1 remaining slot
Crystal: 1 remaining slot
Brick: 2 remaining slots
Rock: 0 remaining slots
Snow: 2 remaining slots
Bubble: 1 remaining slot

For some of these, you could perhaps use the objects from my Cheapo styles -- they're not all great, but I've attached them all just in case anything there strikes your fancy. In particular, it would be nice to have the trap in the Fire style (or just to have a triggered trap in this style) and the fire object in the Brick style.

I'm not wild about many of the new objects (I prefer gameplay to be nice and simple) but the teleporters are an obvious and versatile addition to the game -- it would be great to see those added to one of the original styles, perhaps Marble.
Title: Re: NeoLemmix (Player: V1.21n-B | Editor: V1.21n-C)
Post by: namida on September 25, 2014, 07:29:20 PM
That Marble-style trap could be a useful base for the teleporter! :) I don't see much use for the rest - they'd be more suited to if I was expanding it with more objects of existing types, rather than new ones.


UPDATE: So, I think I mentioned (and either way, I've made) a feature on the traditional Lemmix players that dumps all levels to LVL files. I've coded the same thing into NeoLemmix for the next update. This can be useful not only for getting them in the correct order (particularly with OhNo, where the order is about as logical as a polar bear wearing a burqa), but also in the case of levels that are oddtabled (whether NeoLemmix-style oddtabling, or the traditional way as used in Orig and LPDOS), the output file will have the oddtabling pre-applied to it. NeoLemmix will dump levels into the NeoLemmix Extended LVL format, regardless of what format they were originally in.

For now this option is outright disabled in Flexi players; I'll look later into making an option so it's up to the pack's creator whether to enable or disable it.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on September 25, 2014, 11:39:15 PM
Alright, I think we're getting towards too much at once if I leave the update much longer... :P

NeoLemmix V1.22n
---------------------------
*  Three changes to the Stacker mechanics:
    - They no longer shrug before turning around if they've hit terrain
    - Stackers can now be assigned if there's no terrain one pixel to the
      right of the lemming; in this case the stack starts one pixel lower
    - Stackers won't turn around from hitting terrain on the first brick (but
      still will on any other brick)
*  Saving images is now possible on the preview screen. This is recommended
   over saving them from the editor, as certain object types are rendered more
   accurately as to how they are in-game (especially pre-placed lemmings).
*  Added a feature to dump all levels to LVL files. Note that this does not
   directly extract them as is, but tidies them up somewhat:
    - Always extracted to NeoLemmix Extended Format LVLs
    - Skill counts of any skills the level doesn't give are set to zero
    - Objects, steel and terrain are moved back so there are no gaps - all empty
      slots are at the end
    - Output LVLs will not use oddtabling; if a level is an oddtable level, the
      output level will combine the level with its target
   To dump the LVLs, press F4 on the main menu screen. Note that this feature
   is intentionally disabled in the Flexi player.
*  Object colors are no longer altered on VGASPEC levels that use a full-color
   VGASPEC (alterations still occur on palette-based VGASPECs).
*  Fixed a potential memory leak with saving gameplay images.
*  Fixed a bug where if you played a time-limited level after playing a level
   with infinite time, you would also get infinite time on the limited level.
*  Fixed a bug where stacker steps would appear mid-air if the Lazy Lemmings
   gimmick was in effect.
*  Fixed a bug where stackers under the Lazy Lemmings gimmick would only play
   the warning sound on their last two bricks instead of their last three.
*  Fixed the flicker in the center of the screen when leaving the preview screen.
*  Improved preview screen rendering of NeoLemmix object types.
*  Added the hidden Fun 31 and Fun 32, and the three unique two-player levels
   from the Genesis version, to the Extra player.


https://www.dropbox.com/sh/0283lialw2a6tp7/AADyhlQ6s7hE7VRnX02i2oOPa

There are no new features that require an editor update.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: Wafflem on September 26, 2014, 01:50:06 AM
Thanks for adding the levels.

Since the L2 Classic levels are not part of Original Lemmings, should they be part of the Extra player or be in a player of their own?

Also, there is one more set of levels that need to be remade. However, this is low-priority. This set would be the NES levels, which are very difficult to do due to the obvious gameplay area size difference between that and the Lemmix games.

Here is the list of NES-unique levels (actually, all of these are Crystal):
Fun 25 - Lemming and Lime
Tricky 23 - Iced Lemming
Tricky 25 - Lemming Good fun
Taxing 6 - A Spot of Bother
Taxing 18 - Arctic Lemmings
Taxing 20 - Come to Lemmings County
Mayhem 16 - Hello John Got a New Lemming
Mayhem 22 - Is that Lemming Licensed

An interesting thing to note is that some of the original levels have been slightly modified. For example, the web in "Lemmings Lemmings Everywhere" is actually a spiral. I'm not sure if these types of levels should be remade.

It should also be noted that there are some repeats in there that don't appear in the DOS/Amiga games, like "Watch Out, There's Traps Everywhere". Those types of repeats can be remade the same way namida did for "Stepping Stones" in the SMS version.

As far as I know, minimac did remake one of the levels, though: Taxing 6, "A Spot of Bother," which is Level 9 in lm_set05.dat.

Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on September 26, 2014, 01:55:52 AM
Since the L2 Classic levels are not part of Original Lemmings, should they be part of the Extra player or be in a player of their own?

If the PSP levels qualify for inclusion, I don't see any reason why these wouldn't.

Quote
Also, there is one more set of levels that need to be remade. However, this is low-priority. This set would be the NES levels, which are very difficult to do due to the obvious gameplay area size difference between that and the Lemmix games.

That may make it hard to do a *perfect* remake, but if the overall feel and solution can be retained, that should be good enough. I had to improvise a tiny bit with the Master System levels, due to them being 8 pixels shorter and significantly less wide (it's especially noticable on Sega Five).

Quote
(links)

Videos aren't the easiest thing to use for remaking from. Do you know if there's images of the levels anywhere?

Quote
An interesting thing to note is that some of the original levels have been slightly modified. For example, the web in "Lemmings Lemmings Everywhere" is actually a spiral. I'm not sure if these types of levels should be remade.

I'm generally not bothering with stuff like this. For example, a lot of the Genesis 2P levels are very much squeezed into a smaller area compared to the Amiga versions, and I didn't include those.

Quote
It should also be noted that there are some repeats in there that don't appear in the DOS/Amiga games, like "Watch Out, There's Traps Everywhere". Those types of repeats can be remade the same way namida did for "Stepping Stones" in the SMS version.

Sounds like a plan.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on September 26, 2014, 07:42:12 PM
I've noticed that I didn't modify the gimmick selection checkboxes in the editor to include two of the new gimmicks.

Just for reference, they are still possible to assign - they're just not labelled.

(Gim20) sets the gimmick that makes other skills count down, and (Gim21) sets the gimmick that assigns skills to all lemmings.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on September 26, 2014, 11:55:05 PM
Known bug in NeoLemmix player: Stoners do not function symmetrically. (The easiest way to test this is to assign a stoner to fallers in both directions and see where the rest of the lemmings land) This will be fixed in the next update; it is the right-facing that's being adjusted (left-facing will remain as-is).

As the stoner code is an almost-exact copy of the bomber code, I tested bombers too to see if there's any symmetry issues there, but it appears they're fine. (I did previously make a fix, but that was only to the bomber mask; this issue is relating to the placement.)
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: Minim on September 29, 2014, 09:19:57 PM
Just a small problem I found, if there is time before the the next update. I noticed some weird behaviour with the blink feature. The timing of each blink is one second. (so that if the TimeBlink option was turned on, the timer would read something like 30, 29, blank, 28, 27, blank, etc. rather than 30, blank, 29, blank... you see what I mean). Can this be changed to half (or even a quarter of) a second?

I like the new inverted steel gimmick BTW, despite several levels being impossible. Good job on that.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on September 30, 2014, 05:24:45 PM
Made that adjustment. :) It's done on half-seconds, as quarter-seconds would get a bit annoying as that's quite fast (especially in Superlemming levels).

The wrap-around gimmick has also been implemented.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: Tsyu on October 01, 2014, 02:41:22 AM
I have two suggestions for LemMain:

Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: ccexplore on October 01, 2014, 03:12:27 AM
Regarding the NES levels, it may be a good idea to watch the video solutions at some point anyway, since there is a big difference in game mechanics, namely the 45-degree diagonal movements of the builders and miners in NES.  Properly remaking some of the levels may require either implementing that behavioral change, or adapting the level for normal building/mining angles.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on October 01, 2014, 02:52:07 PM
I have two suggestions for LemMain:

  • Xmas and Holiday Lemmings use four-rating main.dat files, which isn't obvious with most of those games; this should be noted in the program.

I believe this is noted in the Readme file, unless I removed it at some point. However, I can re-add that to the program itself.

Quote
  • LemMain does not rip the graphics that are used in the "High Performance PCs" mode. The palettes to use for these graphics are below:
    • Standard:
      • 0-7: Same as normal level palette
      • 8: 00A800
      • 9: 54FC54
      • 10: 545454
      • 11: A80000
      • 12: A85400
      • 13: 00A8A8
      • 14: FC54FC
      • 15: A800A8
    • Xmas:
      • 0-7: Same as normal level palette
      • 8: 00A000
      • 9: 50F050
      • 10: 505050
      • 11: A00000
      • 12: 603030
      • 13: A05000
      • 14: F050F0
      • 15: 904040

The main reason I didn't include these is that Lemmix doesn't make use of them, but I can probably add support for it fairly easily.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on October 01, 2014, 03:36:37 PM
LemMain update. :)

https://www.dropbox.com/s/e4o475p8xy32htg/LemMain_V6.5.zip

As per Tsyu's request, support for the High Performance PC graphics has been added.


Regarding the NES levels, I would find modifying the levels favorable over modifying the mechanics for specific levels. Pretty much the only thing that I've allowed mechanics variation on within NeoLemmix (gimmicks aside) is whether bombers are timed or not, and even that can only be applied to whole players, not on a per-level basis.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: Tsyu on October 01, 2014, 07:55:46 PM
LemMain is not ripping the HPPC font correctly. My guess, based on examining the graphics, is that the plane that it's interpreting as being +4 is really +8 (I hope you know what I mean). An image of what it should look like is attached. (The main panel, on the other hand, looks OK.)

Oh, and one more request: Can the ripped graphics go into a subfolder instead of the same folder where LemMain is located? That would help reduce clutter. Perhaps do a similar thing when importing graphics.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on October 01, 2014, 08:19:51 PM
ccexplore noted in his MAIN.DAT documentation that there seems to be some oddity with the font. Currently it's just using the same algorithm that's used for all the graphics (the active palette in memory is swapped between images if nessecary; the actual extraction code is the same), so unless it is just an oddity with those specific images, any issue like that would show up for *all* graphics, not just a small subset of them.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: Tsyu on October 01, 2014, 08:32:34 PM
The problem that I reported affects only the HPPC font, not the panel. With that font, the color that LemMain is interpreting as being index 5 should really be index 9. That's why I was saying that I think the plane being interpreted as +4 should be +8 when reading the font (which would leave you with +1, +2, and +8 planes, but no +4).

Another bug: After I extract the palettes, I can't open the menu palette. It seems like the whole thing isn't being saved; the menu palette is only 50 bytes, whereas the level and HPPC palettes are 102 bytes each.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on October 01, 2014, 08:45:24 PM
Fixed both. :) Seems you're right about it skipping the +4 plane - the easiest way for me to fix this was to simply add yet another palette option, which uses the HPPC palette but copies entries 8 to 11 into slots 4 to 7, then load it as a 3bpp image.

https://www.dropbox.com/s/r565py1zd7cmakv/LemMain_V7.1.zip?dl=0

EDIT: Forgot to also include that workaround in the rebuilding MAIN.DAT code (so it would extract fine, but not recompile correctly). Fixed that, same link.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: Tsyu on October 01, 2014, 08:58:53 PM
The menu palette still apparently isn't being saved properly; the file is still 50 bytes.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on October 03, 2014, 01:17:16 AM
Sorry, didn't see this before - I'll look into that. I thought you meant the HPPC palette for some reason, which there was a small error in the code for (but maybe it was just one of those "something that should be done but wasn't, but doens't really have any effect" things), so I only checked that one.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on October 04, 2014, 02:29:56 AM
https://www.dropbox.com/s/91b3dhyfdxqlc24/LemMain_V7.2.zip?dl=0

Problem solved. :)
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: Wafflem on October 04, 2014, 03:20:00 AM
Suggestion for NeoLemmix Editor:
The ability to load up VGASPEC files into the editor to edit them. When I open a VGASPEC file, all it does is show me a picture of the VGASPEC in the dialog box that says "View DOS Extended Graphic File." I would like to have that removed, and instead be able to directly load up a VGASPEC into the editor and add objects to it.

NeoLemmix players:
1. Have an INI file option to automatically save a replay after exiting the postview screen. However, the replay must not automatically replace the old one, and instead go under a modified name (e.g. Mayhem06(1).lrb)
2. I may have suggested this before, but also extend the pre-placed lemmings to all other skills.
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on October 04, 2014, 03:53:34 AM
Editor:
- You need to add them as an extra option in the NeoLemmixStyles.ini. See the existing ones for an example on how it's done. Once that's done, you simply click the "..." next to Extended Graphic (or whatever label I gave it - it's right underneath the normal graphic set) and you can choose it from there.
I might look into (though probably won't be the next update) an option to automatically add an entry for the VGASPEC from a button on the viewer.

NeoLemmix:
1. That's a good idea. I'll most likely do it the same way the Test Mode 3 saves replays with unique filenames - ie: adds the timestamp to the file name. I'll try to implement this one for the next update.
2. I don't see much use for doing this with non-permanent skills, that's why I haven't done it yet. If you have ideas for levels that would need this feature, I can implement it (you don't have to tell me what those ideas are, just confirm that you have some).
Title: Re: NeoLemmix (Player: V1.22n | Editor: V1.21n-C)
Post by: namida on October 04, 2014, 05:52:18 AM
As I mentioned over in the SuperLemmini topic, I'm implementing adjustable level sizes for the next update. So far, width is working in-game, though the minimap needs improvement. The editor doesn't seem to like loading levels with unusual widths though (but has no problem saving them)... fixed that issue.

While I don't expect anyone would ever want to create a level this big, nor do I expect it wouldn't be extremely laggy and memory-intensive, theoretically the maximum size the format would allow for is 34351 x 32927 (though terrain and object coordinates can't exceed 32767); the minimum is (for obvious reasons) 320x160.

Obviously, use of the extended format is required to take advantage of this feature.

EDIT: And now vertical is implemented too; minimap still needs to be improved to work better for both.

EDIT: The minimap now works fine graphically for non-standard horizontal sizes (I also made some improvements to it in general that are probably quite overdue for NeoLemmix, specifically relating to the accuracy of the view rectangle). If the level width exceeds what the minimap can display at its scale, the minimap also slowly scrolls. I still need to implement vertical scrolling on it (EDIT: done that), as well as click-to-move.

This is quite a major task, so this will probably be the last change for V1.23n, apart from implementing the autosave replay feature. After that, it's adding support for varied heights (in both NeoLemmix and SuperLemmini) to the editor.

So, at this point, remaining todo's before the next versions:
1) The replay autosave
2) Minimap click-to-move
3) Window ordering in the editor (SuperLemmini feature)
4) A playtest mode issue I've found that needs looking at
Title: Re: NeoLemmix (Player: V1.23n | Editor: V1.23n-A)
Post by: namida on October 04, 2014, 11:37:47 PM
Alright, here's the update. Aside from the big one of adjustable widths and vertical scrolling, there's a few minor nice features too, like being able to adjust the background color.

NeoLemmix V1.23n
----------------------------
*  The width and height of levels are now both adjustable; this includes that
   vertical scrolling is now possible and a vertical screen start position can
   be set.
*  Added an option to change the background color from black to something else,
   enter a hexidecimal RGB value in the "BackgroundColor" option in the INI.
*  Added an option to automatically save a replay after a level. This replay
   will use the usual automatic filename but with a timestamp added at the end.
   Note that it doesn't save until you leave the postview screen.
*  Added a new gimmick, "Wrap". This causes lemmings who go off one side of the
   level to appear on the other, instead of disappearing or turning around.
*  Made the timer and lemming blinks slightly tidier.
*  Swimmers now handle terrain above them properly.
*  Fixed a symmetry issue with Stoners.
*  In the No Gravity gimmick, if lemmings encounter a downwards-sloped wall,
   they will move along down it rather than turning around.
*  Fixed bugs relating to moving the mouse between the skill bar and the game
   area while scrolling.
*  Improved the accuracy of the minimap's current view rectangle.

-= When first uploaded there were two bugs that have been fixed in a reupload =-
*  Non-extended format levels pretty much just didn't work full stop, fixed.
*  Minimap click-to-scroll didn't work properly on levels with very small widths.


https://www.dropbox.com/sh/3rtsg7k0yx7s4v6/AAAS4LjPTdMEJ_zUt6ybAcyXa




And of course, an editor update to go with it. Note that I didn't end up implementing editing of the entrance order in SuperLemmini in the end. The method I was going to try would save it correctly but threw errors when loading; rather than hold back the NeoLemmix update (and ability to edit the other new SuperLemmini feature) for this, I decided I'll simply implement editing it at a later time.

Note that it will preserve entrance orders - eg: if you load and then re-save a level that has a custom entrance order, the custom order won't be lost. It just can't be edited in the editor.

Do also note that NeoLemmix Extended Format levels saved with this version of the editor won't load properly in older versions of NeoLemmix (both the editor and players). If you need compatibility with older versions, use V1.21n-D, or if suitable for your levels, non-extended format.

NeoLemmix Editor V1.23n-A
--------------------------------------
> Added support for non-default level widths in NeoLemmix.
> Added support for non-default level heights in NeoLemmix and SuperLemmini.
> Added support for setting the Y screen start position in NeoLemmix and SuperLemmini.
> Changed (Gim20) to (Gim22) to more descriptive captions.
> Preserves the entrance order in SuperLemmini levels. It cannot yet edit it; it simply
  will preserve it on levels that are loaded then re-saved.
> CustLemm levels use the correct width of 1584, instead of 1600. NeoLemmix levels also
  default to a width of 1584.


https://www.dropbox.com/s/wwu3xh8sogro3ed/NeoLemmixEditor_V1.23n-A.zip
Title: Re: NeoLemmix (Player: V1.23n | Editor: V1.23n-A)
Post by: namida on October 05, 2014, 01:31:34 AM
Known bug in NeoLemmix player: If a terrain piece is set to flip both horizontally *and* vertically, it only flips horizontally. Objects are not affected. Fixed for the next update. (To be clear - this is a bug in the player; the editor handles, saves and loads pieces that are flipped both ways without problems.)
Title: Re: NeoLemmix (Player: V1.23n | Editor: V1.23n-A)
Post by: Minim on October 05, 2014, 11:22:37 AM
Good work on that BackgroundColor change. That was what I was really looking forward to and I'm really enjoying it. I can now play with a daytime background, which makes the sky and desert sets relevant, or set the color to #00B000 to make the lemmings bald! :D

However, at the same time I've noticed a little bug with it, which isn't too urgent to fix, or maybe not at all if you are interested in where you've dug. Placing multiple diggers or miners close together displays a black area on the minimap. I've tested this glitch in other circumstances and the area also shows on created stairs.
Title: Re: NeoLemmix (Player: V1.23n | Editor: V1.23n-A)
Post by: namida on October 05, 2014, 12:26:09 PM
Thanks! Fixed it for the next update. :)
Title: Re: NeoLemmix (Player: V1.23n | Editor: V1.23n-A)
Post by: namida on October 05, 2014, 02:34:20 PM
Alright, here's an update fixing the identified issues and others.

NeoLemmix V1.23n-B
------------------------------
*  If the last lemming is killed in a trap, the level will not exit until
   the trap finishes animating.
*  Fixed a bug on terrain pieces that are flipped in both directions.
*  Fixed the bug where the mouse cursor would not be bound properly after
   switching focus to another application.
*  Fixed the bug where the mouse cursor would show a lemming as being under
   it when it's actually positioned on the skillbar, if a lemming was under
   it when it was moved onto the skillbar.
*  Fixed a bug where destroyed parts of minimap are made black instead of
   the proper background color.
*  Fixed a bug where DebugSteel didn't work properly if a custom background
   color was set.
*  Fixed the bug where destructive skills would leave a black (or custom color)
   background instead of a magenta one in DebugSteel mode.
*  Fixed the bug where constructive skills (apart from Stoner) did not work
   in DebugSteel mode.
*  Improved the accuracy of the minimap following constructive or destructive
   skills.



https://www.dropbox.com/sh/3rtsg7k0yx7s4v6/AAAS4LjPTdMEJ_zUt6ybAcyXa


I've also attached a level that uses vertical scrolling. Use NeoCustLemmix style to open it (or directly play it in NeoCustLemmix); if there's any problems with it loading in the wrong style (shouldn't be), the correct style is Lab. You'll need this update as it contains a piece that's flipped both horizontally and vertically.

Note that while *this* level only has vertical scrolling (no horizontal scrolling), it is perfectly possible to create a level that has both.
Title: Re: NeoLemmix (Player: V1.23n-B | Editor: V1.23n-A)
Post by: namida on October 06, 2014, 03:21:35 AM
I've written a tutorial for how to make Flexi packs - firstly with the normal player, then how to turn that into a toolkit; as well as a more detailed writeup about the options in a SYSTEM.INI file. Hopefully this will be useful and more people will feel comfortable using it now.

http://www.neolemmix.com/old/flexitutorial.html
http://www.neolemmix.com/old/flexitutorial2.html
http://www.neolemmix.com/old/systemini.html

Let me know if there's anything I should add to it.

EDIT: And now LemSet, too.

http://www.neolemmix.com/old/lemsettutorial.html
Title: Re: NeoLemmix (Player: V1.23n-B | Editor: V1.23n-A)
Post by: Wafflem on October 09, 2014, 04:01:31 AM
NeoLemmix Website (this can be low priority):
1. Add a page that has a list of gimmicks and describe what each one does, complete with pictures. The same can go for the NeoLemmix objects, skills, and styles.
2. Maybe a page with a small applet where you have a list of gimmicks and skills, and you click which ones you want to use to display the code for ForceGimmick and ForceSkillset, like how it is done in the NeoLemmix Editor.
3. Make pages that have lists of pictures of the levels from the official games into the website in the same vein that you did for the Lemmings Plus series.

NeoLemmix:
1. Based on what you've done with the traditional players, add an INI option titled "LookForMusicFiles". This is similar to LookforLVLFiles where you name a level file 0101.lvl.
2. After completing the last level of a rank, it shows you the password for the first level of the next rank. However, when you go back to the main menu, it shows the last level's rank instead of the next rank. For example, when completing Tricky 30 and it gives you the password for Taxing, then pressing Esc, it still displays "Tricky" on the main menu, but when you enter the preview screen of the first Taxing level and go back to the main menu, it now displays "Taxing."
3. Should the passwords for the first level of each rank be removed? There is no point in those if you can simply access them from the main menu. Instead, put a message like "Congratulations! You beat this rank!" in place of the password. The same applies for the fail screen of the first level of each rank, that the area where the password is normally placed is blank. The first level of each rank can still be access by Cheat Codes, though.
Title: Re: NeoLemmix (Player: V1.23n-B | Editor: V1.23n-A)
Post by: namida on October 09, 2014, 04:54:56 AM
Website:
1. Not a bad idea.
2. I don't know enough about Java or Javascript to do this. While my knowledge of PHP is good enough, my site is on a static (non-PHP) server to keep the costs low, so this isn't an option either.
3. If there's enough interest, I could possibly do this. I do have level map images for Orig on my DropBox, and will add OhNo and others when I produce them (which'll be whichever comes first - when they're needed for the voteoffs, or when I code a feature into Lemmix to dump all images in the same way it can currently dump all level files).

NeoLemmix:
1. I'll add music pack support eventually, that's on my to-do anyway. CustLemmix and non-toolkit Flexi can also already accept external music files. I don't think an INI option is nessecary.
2. Thanks for reminding me about that, it's something I was meaning to fix at some point.
3. I don't see any harm in keeping them there.



EDIT: I've identified yet another glider-going-through-terrain glitch, in this case involving a glider meeting a builder's bridge at exactly the right position. >_>
Title: Re: NeoLemmix (Player: V1.23n-B | Editor: V1.23n-A)
Post by: namida on October 09, 2014, 07:14:45 AM
Found a minor glitch with the minimap in levels with vertical scrolling. I've also now added support for OGGs and Music Packs; it was actually very straightforward as 90% of the code for it was possible to copy verbatim from the traditional version.

Still need to implement the Z/X skill selection.
Title: Re: NeoLemmix (Player: V1.23n-B | Editor: V1.23n-A)
Post by: namida on October 09, 2014, 11:21:59 PM
Z/X is implemented.

I've soso discovered a memory leak that can occur if too many levels are played during one run of the app (about 90 levels triggers it), I've traced which unit it occurs in but have yet to actually fix it. (Its possible it relates to code I've added since the last update  though.)

EDIT: No, it doesn't relate to new code, so be aware of it in existing versions (though it should only happen at the start of or inbetween levels, not during one, so you're unlikely to lose any progress). However, it'll be fixed in the new update.

I've also now added the "save all images" option.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 10, 2014, 03:20:26 AM
Okay, here's the update!

NeoLemmix V1.23n-C
------------------------------
*  Z/X can now be used to select skills.
*  There is now an option whether to hard-oddtable levels (ie: copy the target
   level) or soft-oddtable them (ie: save a level that uses oddtabling) when
   dumping levels.
*  Fixed a bug where Gliders could pass through builder bridges if they hit them
   at exactly the right spot.
*  Fixed a bug where the minimap may have minor glitches when scrolling horizontally
   along the bottom of the level in levels that also have vertical scrolling.
*  Fixed the bug where the wrong rank would show on the menu screen after exiting
   from the postview screen on the final level of a rank.
*  Fixed a memory leak that occurs after playing a large number of levels.
*  OGG Music and Music Packs are now supported.
*  Added a feature to save images of all levels. Press F5 on the menu screen. Note
   that this is quite slow, as each level must be loaded, rendered and saved; also
   note that the screen goes blank while doing this (this is normal).


https://www.dropbox.com/sh/3rtsg7k0yx7s4v6/AAAS4LjPTdMEJ_zUt6ybAcyXa

You can get versions of the Music Packs for NeoLemmix here:
https://www.dropbox.com/sh/3mb76lxwm6s5fv3/AABH3m5mbgATRZCk9NQvtMQWa

(The difference from the standard ones is that they include Gimmick and Frenzy musics. They aren't higher-quality or different versions though for those two. If you'd rather avoid the extra downloads, you can use standard ones as long as you aren't using any gimmick or frenzy levels; or alternatively, you can use the NeoLemmix ones on the traditional players which will have no issues whatsoever.)
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Tsyu on October 10, 2014, 10:09:44 AM
I found an issue regarding the music pack for the Extra player: If you play one of the special graphics levels (other than the Sunsoft and Apple ones, of course), the wrong music plays. However, the music for those levels does play in certain normal levels (which also shouldn't happen). If I don't use the music pack, then the correct music plays. It sounds like the music files in that pack might not be in the correct order.


EDIT:
The difference from the standard ones is that they include Gimmick and Frenzy musics.
What do you mean by "standard ones"? The music packs that you linked to in that post seem to be the only ones that are available.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 10, 2014, 10:43:48 AM
"Standard ones" refers to the ones for traditional Lemmix players.

And you're right - I forgot that Extra traditional and Extra Neo have the musics in a slightly different order when building these music packs (specifically; traditional has the 17 Orig tracks, the 4 special graphics levels, then the 6 OhNo musics, whereas Neo has the 17 Orig tracks, the 6 OhNo tracks, then the 4 special graphics ones). I'll fix that up soon.

EDIT: Okay, fixed version is up. :) (It's the music pack, not the player, that's been updated.)
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Tsyu on October 10, 2014, 07:52:24 PM
"Standard ones" refers to the ones for traditional Lemmix players.
I did some more searching on this forum, and it looks like the only link to these music packs is in this post; the original post of that thread only has a link to the players.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 11, 2014, 12:27:47 AM
"Standard ones" refers to the ones for traditional Lemmix players.
I did some more searching on this forum, and it looks like the only link to these music packs is in this post; the original post of that thread only has a link to the players.

They're also linked on the website in my sig; but you're right, I probably should (and have now) add a link to the original post.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 11, 2014, 12:40:20 PM
Known issue in NeoLemmix player: OGGs with looping info set (which is most of the DOS ones, and especially noticable in the H94 music pack) don't loop properly. This is also true for traditional Lemmix. I'm looking into a fix for it.

EDIT: At this point, managed an almost-fix. I say almost because while it does loop, it kind of skips slightly whenever the loop occurs.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 12, 2014, 10:36:59 PM
Two more suggestions for the NeoLemmix editor:
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: exit on October 12, 2014, 11:31:20 PM
Note that some songs have short pauses at the end. One prime example of this is Tim 7(the mod version, not sure if your OGG is different).
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 13, 2014, 12:03:21 AM
Two more suggestions for the NeoLemmix editor:
  • If a level is a long vertical-scrolling level, only part of it gets shown in the preview screen; you can add a feature that sets the Y value to show which part of the level should be seen in the preview screen (for example, if the bottom part of the level should be shown in the preview screen, then you can set the Y value to that area of the level).
  • The ability to change the color of an individual level's background within the editor.

1) I'm aware something needs to be done about this. I'd rather somehow show the whole level, or failing that, base it off the Y screen start position than a seperate value.
2) Not too sure about this one... it seems a bit too open to abuse. Unless you mean just as in how the editor displays it (essentially a BgColor config option for the editor)?


exit: I don't see any problem with the Tim7 MOD? It loops fine...


By the way, I found the solution to the looping issue with the OGGs, and it'll be fixed in the next update for both Traditional and Neo. No redownload of the music packs needed; the problem was in the players.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 13, 2014, 05:26:13 AM
2) Not too sure about this one... it seems a bit too open to abuse. Unless you mean just as in how the editor displays it (essentially a BgColor config option for the editor)?

I actually meant setting a background color to an individual level (e.g. one level has a blue background, another one has a green background, etc.)

Another issue with the editor (it might be just me, though): the editor refuses to load the new VGASPEC levels, and the error states "The system cannot find the path specified."
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 13, 2014, 05:41:49 AM
I assume you're using V1.23n-A, right? Which level are you trying to load?
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 13, 2014, 12:43:19 PM
Yes, I'm using V1.23n-A. The VGASPECs in question are the ones from the LPIII Bonus pack.

The error occurs when I attempt to load up one of the LPIII VGASPEC files from the Level properties window, in the "Special graph" section.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 13, 2014, 01:00:04 PM
Just to be clear - which style does that happen in? NeoCustLemmix, CustLemm, or LPIII Bonus? (Or all of them?)
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 13, 2014, 01:06:45 PM
It happens in all of the styles.

I've checked the NeoLemmixStyles INI, and it might be because of this (example for comparison):

Quote
[NeoCustLemmix_35]
GraphicSetClass=TBaseDosGraphicSet
BrickColor=0
GraphicExtFile=VGASPEC15.DAT
GraphicFile=
GraphicSetArchive=NeoCustLemmix_Apple.lga
GraphicSetId=0
GraphicSetIdExt=16
GraphicSetName=Apple
IsSpecial=True
MetaInfoFile=
vs
Quote
[NeoCustLemmix_37]
GraphicSetClass=TBaseDosGraphicSet
BrickColor=4278206592
GraphicExtFile=vgaspec17.dat
GraphicFile=
GraphicSetArchive=
GraphicSetId=0
GraphicSetIdExt=18
GraphicSetName=Lemmings Forums
IsSpecial=True
MetaInfoFile=

The reason it wouldn't load may be that the GraphicSetArchive section has not been filled out yet, causing the error.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 13, 2014, 01:33:36 PM
If that's the case, then use the Compile Styles option in the menu bar to compile the style, and it should work (doing so automatically fills in that section). This simply means that I didn't compile the style in that upload.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 14, 2014, 02:52:04 AM
Known bug in NeoLemmix: By using modified replay files (or those from other levels, where the player in question allows it), it's possible to assign a skill that isn't actually in a level's skillset. Will be fixed in the next update.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 15, 2014, 05:19:10 AM
Alright, here it is. My first NeoCustLemmix pack. There are ten levels in the pack and one secret one.

The pack uses a variety of styles: traditional, LPII (remastered) & LPIII styles, and the Sega style. For the difficulty of the levels, I'd say they're not too hard. Some of them could be seen as Timid, while others could be seen as Dodgy. One could even be seen as a Rough difficulty, as someone commented on one of my levels. I could be wrong, however. Some of the levels generally should have multiple solutions, especially the last one, which is meant to conclude the pack with multiple solutions and one of my favorite NeoLemmix objects. The secret level is a gimmick that has not appeared in any of the Lemmings Plus levels yet. It shouldn't be a hard one, especially once you master one of the tricks of this gimmick.

This is my first time working with NeoLemmix, so some of the levels may not be that good. Constructive criticism is welcome.

Also, for one of the levels, make sure you have played Nice 10 of Lemmings Plus II, as what you'll learn from Nice 10 will be valuable in this one.

Make sure you run the latest version of NeoCustLemmix for this pack.

https://www.dropbox.com/sh/uaf7v0167hcigro/AAAjz-VMrvPwtk1tqHGvfMPea?dl=0

namida, you may add this to the second post of your topic and the Level Packs section of your website. I would also like screenshots of my levels posted to your website, but not now; I'll let you know when I'm ready. Already posted.

One glitch to mention though in NeoCustLemmix: after completing a secret level, it jumps back to the very first level of the pack, rather than the level where the secret level trigger is. Fixed.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 15, 2014, 05:50:11 AM
You have to actually set which level it should redirect to after completion. To do this, you use the Oddtable Level settings, but without actually turning the Oddtable option on.

(EG: If you were using the Original Lemmings layout, and you wanted the secret level to return you to Tricky 21 afterwards, you'd set the oddtable rank to 2 (as Tricky is the 2nd rank), the Oddtable level to 21, and the actual oddtable option itself off.)

The reason it's done this way is that otherwise, the only way it could actually know which level to redirect to (and even then it's assuming you only have *one* level with a trigger leading to the level in question, which may not be true in all cases) is by going through and checking every object in every level - also having to load each graphic set in the process, so it knows which object is a secret level trigger - until it finds the one that redirects to the secret level in question. You might say "why not just to the level you came from?" - the problem there is what if the person directly starts from the secret level via either cheat codes or the actual code for the level.


For reference, the same setting is also used to set the target level for the Rickroll gimmick.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 15, 2014, 06:34:07 AM
Thanks, I went ahead and fixed that. It's also a lot better if you download it here:

https://www.dropbox.com/sh/uaf7v0167hcigro/AAAjz-VMrvPwtk1tqHGvfMPea?dl=0
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 15, 2014, 03:45:53 PM
Alright, I know I said this before but this time it's closer to actually meaning it - I'm hoping to wrap up NeoLemmix very soon.

As such, from this point on, I'm not going to be adding any more new gimmicks or object types, and no major new features (with one exception). Other changes might still be made - for example, I do intend to improve the handling of sound to remove the one-sound-at-a-time limitation. Any bugs that may be found will of course be fixed.

Since this means that exactly half the object data in the level format is unused (it was formerly reserved for future use), I can make a small change to the level format to increase the object count from 64 to 128. (The engine is already capable of handling up to 224 objects in a level, the limitation to 64 comes purely from the level format.) This will not cause any compatibility issues with existing levels. I'll most likely make this change in the next update.

The one major feature I do plan to add is the ability to customize the window order, like SuperLemmini recently added.

So, things that *may* still be changed/added:

Note that this only applies to the NeoLemmix players / engine itself. Even when they're completely finalised, I plan to continue updating the editor to improve its useability, as well as for keeping support for new SuperLemmini features if any more are introduced.

Also, the extending of the official styles is still on the todo list - I'm not saying that one isn't going to happen.

Once the finalised version is out, I'll also make the source easily-accessible (instead of "available on request"), so someone else can take over improving it if they see a need, or people can make customized versions of it (if for example, they want to create a fangame that uses a new gimmick).

While I'm not saying for sure it will be the case, I'm aiming and hoping for V1.25n to be the final version. Likewise, I'll most likely stop updating traditional Lemmix around the same time, not that there's really much more that needs to be changed/added in that anyway.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Tsyu on October 15, 2014, 09:16:58 PM
I noticed that a few of the colors in LemMain are a bit off. The correct palettes are below. The colors that are wrong in LemMain are bold and marked with exclamation points.

You should also check the palettes in Lemmix and NeoLemmix; some of those colors are also wrong there.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 15, 2014, 11:12:43 PM
The colors in Lemmix I haven't touched, while those in LemMain are taken from either ccexplore's documentation or the Lemmix source code. I'll get onto fixing these when I get back on Monday.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Tsyu on October 16, 2014, 12:21:08 AM
For the record, ccexplore's documentation also has the correct colors for the standard palettes.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 16, 2014, 07:32:59 PM
Another NeoLemmix Editor suggestion: the ability to "lock" terrain and object pieces. This means that I won't end up moving a terrain or object by accident; it will stay in its place no matter how much I try to drag it.

I was hoping that you would implement the harmful bombers/stoners gimmick, that gimmick would work very well in LPZ (and maybe one of my future levels).
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Tsyu on October 17, 2014, 11:35:32 PM
The editor is writing the entranceOrder parameter to SuperLemmini levels, even if there's nothing to write there. This is bad because SuperLemmini does not expect it to be blank if it exists. Even if it did, a blank entranceOrder would mean that no entrances would be used, which SuperLemmini can't handle.

Until this is fixed, anyone making SuperLemmini levels with the NeoLemmix editor will need to manually remove the entranceOrder parameter every time the level is saved to avoid crashing SuperLemmini.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Minim on October 19, 2014, 08:27:44 PM
I was hoping that you would implement the harmful bombers/stoners gimmick, that gimmick would work very well in LPZ (and maybe one of my future levels).

I like this idea, but it's probably going to be difficult to create a trigger area for that. We'll see what namida thinks about that.

Speaking of bombers, I have an idea for a gimmick: To create terrain with the blast radius of the bomber. This could be inverted to a stoner destroying terrain (although I don't know how this concept can be utilised). Related to this I also thought about making a trap for which lemmings are automatically assigned the bomber skill! It is possible, but to create the firework effect is probably going to take up lots of area. :P

Other crazy ideas I have are ice (which is seen in 3d Lemmings), rainbow coloured steps, upward floaters/gliders and adding an area of quicksand/quickslime to the desert/purple sets (There's already the trap version and the water, but I thought a large area of yellow quicksand would be just as cool)
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 19, 2014, 09:46:20 PM
For traps, you mean... like the radiation object? :p

I don't want to keep updating and working on this forever, which is why I've said I'm pretty much (apart from some minor features) only doing bugfixes from now on. Modifications to styles can be done by anyone using LemSet; for that reason I made CustLemmix have support for prefixes in the filenames (to avoid swapping in and out various copy filenames).

I could possibly look at a Flexi option to make the radiation bombers instant, if that suits what you're wanting to do?
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 20, 2014, 05:08:24 AM
I like the instant radiation bombers idea too. This could also be expanded to Slow Freeze.

There is a glitch that is related to locked exits. If you put a blocker over the locked exit, then when the exit opens and you use a bomber to release the blocker, the blocker exits, but any other lemming that goes to where the blocker stood acts as though the blocker is still there. Attached is a test level illustrating this.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 20, 2014, 05:36:55 AM
Ill be home later tonight so I can get onto fixing that. I think I know why that's happening.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 21, 2014, 07:03:31 AM
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.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 21, 2014, 05:20:43 PM
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.
Title: Re: NeoLemmix (Player: V1.19n-B | Editor: V1.18n-D)
Post by: Wafflem on October 22, 2014, 02:28:57 AM
For the extending graphic sets with new objects, I've mentioned what should be suggested before in 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?
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 03:09:29 AM
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).
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 03:48:05 AM
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.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 05:20:22 AM
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.)
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 08:47:47 AM
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.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 12:46:43 PM
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.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 22, 2014, 12:51:55 PM
Some VGASPEC questions:

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.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 12:56:05 PM
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.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 22, 2014, 01:45:31 PM
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.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 02:02:44 PM
Added to the Todo list.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 22, 2014, 03:14:11 PM
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.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 03:30:03 PM
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.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 03:35:33 PM
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.)
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 22, 2014, 04:01:40 PM
Will you add support for DOS sounds and music in the Traditional and Neo Flexi players (unless you have already)?
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 04:34:52 PM
DOS sounds, not in Neo, while traditional should already have them. However, I should indeed add support for custom sounds - in fact, all I'd need to do is add the option to compile them to LemResourceBuilder. (They can then be inserted into the EXE via Resource Hacker in the same way.)

Music packs are supported for Flexi in both versions, and OGG musics can also be used internally (though it's not recommended as the resulting EXE will be very large). To create a music pack, just compile the music resource as normal with LemResourceBuilder, and the arc file is your music pack - just rename it to (player EXE name)_Music.dat to use it. If this doesn't work, I've forgotten to enable the option - I'll double-check this before the next update.

By the way, as far as testing goes for V1.24n, the major testing is done for all except Cust and Flexi. The only ones that need further attention are LPDOS, LPII Bonus and LPIII. The needed attention on LPDOS is very minor - there's just a couple of levels in Pre-V7 where the music track was previously hardcoded, and I'm going to change it to have the reference in the LVL file as usual. LPII Bonus and LPIII have the stripped gimmicks problem when I updated the levels to be in the most up-to-date format (NeoLemmix has no problem loading older formats; it's just being done for tidiness).

Once those issues are fixed up, and a bit more small-scale testing is done, the only thing left to do is the expansions to the default styles. I'd rather get that out of the way for the next update instead of waiting longer. Once they're done, I'll include the expanded styles in all players instead of just Cust and Flexi (though I won't be making additions to the Genesis styles).


By the way - with what you were mentioning about trying various levels with VGASPECs to see their recoloring - try the Nyancat level with styles, that one gives REALLY interesting results.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 22, 2014, 05:20:19 PM
Trying it out, and the results are indeed really interesting so far. Some examples:

In the Crystal style, the water turns red.
And of course, we already know what the Nyancat level looks like in the Sky style (as Rough 10).
As usual, the Martian style's colors aren't affected by the VGASPEC.
The Lab style looks much more retro now in the Nyancat style.

Check out the radiation object for the Lab style in the Apple Computer Level. This one also produces interesting results, and is something that would have worked in the regular Psychedelic style (but I know you won't change it anymore).

Suggestion for NeoLemmix editor: the object should already be in their VGASPEC colors instead of the normal colors, much like how it was in NeoLemEdit.

Found a memory leak source: if I get an error like "List index out of bounds (15)" while changing the style, then close the editor, I am likely to get the error.  The memory leak errors I get are either 52 or 219012.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 05:42:39 PM
Unfortunately, due to the way NeoLemmix Editor handles styles, it's almost impossible to do that. The images of pieces are decoded when compiling the styles; therefore, they're already in correct (unaltered) colors. The traditional Lemmix editor was able to do this because standard graphic sets and VGASPECs weren't independant; a specific style option would refer not to one graphic set or one VGASPEC, but to a specific combination of a graphic set and a VGASPEC (yeah, of course you could have a graphic set without a VGASPEC, but in a way this is still a specific combination - the graphic set + no vgaspec; not like with NeoLemmix Editor where you can then choose a VGASPEC seperately); therefore when compiling, it could apply the VGASPEC palette. Because the two are independant in the NeoLemmix editor, this same approach would not work. I would like at some point to eliminate the need for compiling the styles altogether; once that's done, this feature may be more likely to be implementable.

Indeed, even in NeoLemEdit, the way this was implemented was by literally re-loading the style using the altered palette when the VGASPEC was changed. On the other hand, the NeoLemmix player checks for a VGASPEC (and changes the palette accordingly) before it even loads the standard graphic set, which is why it can be altered without problems there.



The Martian style won't be affected by any VGASPEC because its palette is specifically constructed to not be affected. This should even apply to the terrain pieces too. None of the other styles are constructed as such, so all others will most likely be affected.


I'll look into that memory leak. I know that error itself happens when switching to a style that results in the level having an object that doesn't exist (for example, create a Metal level containing a splitter (the last object in the style), then switch to a style that has empty object slots); improving the handling of this is on my todo list.


Here's a shot of the Lab style, with Nyancat VGASPEC, including some terrain. :D Notice how some colors are unaffected - this is because a palette-based VGASPEC won't touch colors beyond #15.

I find in general, Lab goes very well with a lot of VGASPECs - for example, aside from the window, most objects and terrain don't even look at all out-of-place in all the official VGASPECs (except Prima and Covox, but it does work nicely in the Sunsoft one) combined with Lab; even the window looks pretty good in the two Beast ones. It also goes quite nicely with Duck, Rickroll and RickrollII; not so well with Troll.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 22, 2014, 08:24:58 PM
Nice job with the terrain changes; I can't wait to see how this will affect the other styles. Though it's too bad that there is no terrain/object color change beyond #15 (unless there is a workaround for that?). It would have been interesting to see the terrain color changes for the letters in the Fire set.

Will you also adjust the level sizes for all the other levels, or will this be only for the Genesis levels?
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 08:40:33 PM
Genesis levels only. It's too much work to go through and adjust sizes on each level individually (just doing so on the already-made-at-that-point LPZ levels when I first implemented the adjustable sizes feature was tiring); the Genesis ones could be done with a constant formula (shift everything left by X pixels) which is why it wasn't a problem there.

Workaround... the only real option is to create a customized version of the style with a different palette.
One more interesting thing that can be done is that, due to the custom positioning, you can place the VGASPEC image outside the level (eg: put it's Y coordinate as -160). As long as it's a palette-based VGASPEC and not an RGB-based one, it'll still alter the graphic set's palette. There are probably some creative uses for this.

None of the official styles use colors beyond #16, so the fire set letters will be easily avaiable to check once the update is here. A few shots from some of the nicer results (Nyancat just looked kind of glitchy more than anything else) are attached here.


EDIT: Done something I should've really done as soon as full-color VGASPECs were implemented. The VGASPEC for The Troll Level has been rebuilt from the source image, which makes it look much neater. (The NyanCat Level could probably also benefit from such a thing, except that the *source* image also is reduced to 8 colors; whereas for The Troll Level the source image has more than 8 colors and the reduction was done by the VGASPEC creation tool used. Thus, doing it for The Nyancat Level would be a lot more work.)
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 22, 2014, 10:51:55 PM
I've started work on the expanded styles. So far, I've done Sega and Marble - not all the slots in Sega are used up, but I feel this gives it enough.

I've added:

Marble: Teleporter, Receiver
Sega: One-way arrows (all 3 directions), Locked exit, Unlock button

Thanks to Proxima for the graphic used for the Marble style teleporter (I'm fairly sure he originally intended it as a trap, though).



My plans are, though any that haven't been implemented yet are not definite. If the style name is crossed out, it's been done.

Dirt: not going to add anything
Fire: Updraft
Marble: Teleporter, Receiver
Pillar: Fire trap (Flamethrower), for L2 Classic remake reasons
Crystal: Slowfreeze
Brick: Splitter
Rock: can't add anything as there are no remaining slots
Snow: Slowfreeze
Bubble: Splitter
Sega: One-way arrows, Locked exit, Unlock button
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 23, 2014, 03:52:54 AM
Nice job  :). I thought you meant "terrain/object pieces after index 15". I also think the idea of hiding a VGASPEC level to change the terrain color of the level is interesting. Also, great choices for the objects for Sega style, especially the locked exit/buttons.
 
Two more glitches in the NeoLemmix Editor:

NeoLemmix:
For the in-game configuration menu, will the menus for ForceGimmick and ForceSkillset be similar to the ones in the NeoLemmix Editor?

Lemmini / SuperLemmini
This is low-priority, but do you plan to make a Lemmini / SuperLemmini version of the Sega style? This could also be helpful for möbius's Lemmings project if he plans to include them.

Do you also plan to make LPII and LPIII styles for Lemmini / SuperLemmini?
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 23, 2014, 06:29:51 AM
Cloner glitch: I just checked and this does NOT happen for me. Can you please double-check that there is no MAIN.DAT file in the same folder as the NeoLemmix Editor? What is likely happening is that there *is* one, so NeoCustLemmix uses that instead of its internal one; and this MAIN.DAT is from before that was fixed. I have tested this with both V1.23n-C and V1.24n and the issue does not occur for me on either.

Yellow square glitch: I haven't encountered this. Do you know any specific way to trigger it / make it likely to happen, or does it just seem random?


In-game config menu: No idea yet. Beyond the basic idea of having one, I haven't decided on much to do with this yet - suggestions are welcome.


Lemmini / SuperLemmini styles: It would be nice to have the Sega style there, I might look into it eventually. As for LPII and LPIII, the new object types would need to be stripped out. This isn't a huge matter for LPII (pretty much just secret area triggers; and the one-way fields if Lemmini doesn't support them), but would be half the objects in the LPIII style.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 23, 2014, 09:18:32 AM
Alright, all the style upgrades are now done.

The graphics are mostly re-used from other styles, except the Marble teleporter/receiver, the one-way arrows and unlock button in Sega, and the splitter in Brick. The Marble ones come from the graphics Proxima provided a few pages back; the rest of these are completely original.

Remaining todos before next version:
- Editor upgrades. Window order probably won't be editable right away (it will be preserved, though) as that'll be a lot of work; but I do need to implement VGASPEC positioning which will be simple enough.
- Actually putting the upgraded styles into the players. As I mentioned before, I plan to add them to *all* players, not just Cust and Flexi (for LookForLVLFiles purposes).

Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: Wafflem on October 23, 2014, 12:16:02 PM
Thanks for adding the new objects to the styles, especially the locked exit and buttons in the Sega style.

Cloner glitch: I just checked and this does NOT happen for me. Can you please double-check that there is no MAIN.DAT file in the same folder as the NeoLemmix Editor? What is likely happening is that there *is* one, so NeoCustLemmix uses that instead of its internal one; and this MAIN.DAT is from before that was fixed. I have tested this with both V1.23n-C and V1.24n and the issue does not occur for me on either.

Yellow square glitch: I haven't encountered this. Do you know any specific way to trigger it / make it likely to happen, or does it just seem random?

Yep, it was indeed a MAIN.DAT issue that I now took out. Thanks.

For the yellow square glitch, it seems to happen at random times.
Title: Re: NeoLemmix (Player: V1.23n-C | Editor: V1.23n-A)
Post by: namida on October 23, 2014, 03:31:23 PM
Identified yet another gliders-moving-through-terrain issue, this time involving updrafts. >_> I'll have to fix that too before the next update.

EDIT: Tracked it down and fixed it.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.23n-A)
Post by: namida on October 23, 2014, 06:31:12 PM
Okay, Player update is here! Editor update will be later on today, I'm waiting to hear back about something SuperLemmini-related first so I can implement it in this update if possible (but if I don't hear back soon, I'll just release the update without it and add that in the following update).

NeoLemmix V1.24n
---------------------------
*  Lemmings Plus III Bonus Pack is now included in the NeoLemmix update stream.
*  Some of the new objects have been added to the official styles; one-way arrows have also
   been added to the Sega style. These updates are applied to *all* players, not just Cust
   and Flexi. (However, they are not applied to the Genesis styles in Extra)
*  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 non-fake entrances (whether using custom orders or not); any beyond this will be
   treated as fake.
*  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.
*  Improved looping on OGG musics.
*  Fixed the error where NeoCustLemmix 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 involving the glider-updraft interaction.
*  Fixed a bug where some level codes may repeat (and thus, the latter levels become inaccessible
   with non-cheat codes) if a rank other than the final one 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.
*  Fierce 9 in LPIII has had the VGASPEC recreated from the source image, the result is much smoother
   in appearance. It should have little if any impact on playing the level.
*  Post-secret level redirects in LPII, LPII Bonus and LPIII now use in-LVL specification of the target
   level instead of hardcoded values.
*  The Genesis levels in Extra now use the Genesis level width.
*  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.)
*  Level dumping in NeoCustLemmix has been improved. While it will still give an error if there are
   secret level slots that aren't filled with dummy levels, it will dump all the non-secret levels
   first, meaning that the error doesn't prevent proper dumping of all levels that *are* present.
   This also applies to saving level images.


Downloads are here (DropBox) or here (my website; note that Cust and Flexi have their own seperate pages there).

You can get the updated styles here if you want them; they'll be included with the editor in the next update:
https://www.dropbox.com/s/e4aekv1exsodx2t/NeoLemmix%20Styles.zip


Please note that V1.23n-A of the editor cannot properly handle level files dumped from the V1.24n players. However, the V1.24n players have no problem handling levels made with the V1.23n-A editor (you just can't use the new features, except for VGASPEC levels with normal terrain in them which works in any level format; even non-extended. Obviously, you can use the new objects too, if you put the updated styles into the existing editor version). This is also true of the copy of LEVELPAK.DAT included with NeoCustLemmix V1.24n; the older editor versions won't be able to open the levels properly.

(Just to clarify - yes, you absolutely can use V1.24n NeoCustLemmix for playtest mode with NeoLemmix Editor V1.23n-A; this will work fine.)



Due to the large number of changes, as well as the fact that I've upgraded all internal level files to the latest NeoLemmix level format specification (previously, a lot of players used the V1.17n NeoLemmix format or even non-extended format), it's quite possible there may be some bugs/issues I've missed, so please let me know if you find any, preferably by posting them in this topic. Especially, look out for them on Orig, Extra, LPII, LPII Bonus, LPIII and Flexi - those are probably where issues are most likely to occur.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.23n-A)
Post by: Wafflem on October 23, 2014, 06:53:43 PM
Thanks for this update. I'll look into these players later and see if I find any glitches.

Flexi option suggestion: a Secret rank very much like the one in LPIII Bonus, in that once you press down in the main menu, you can't go back to that rank. Unless you've implemented that already?
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.23n-A)
Post by: namida on October 23, 2014, 06:58:46 PM
Thanks for this update. I'll look into these players later and see if I find any glitches.

Flexi option suggestion: a Secret rank very much like the one in LPIII Bonus, in that once you press down in the main menu, you can't go back to that rank. Unless you've implemented that already?

Not yet, but it's something I was planning to do (but forgot to actually add to my todo list).
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.23n-A)
Post by: Wafflem on October 23, 2014, 07:39:44 PM
Another Extended Level feature idea: the ability to set your own custom password on your level.

NeoLemmix players suggestion:
In the pass/fail screen, in the password area, it should read something like "Your Password for (rank number) (level number)" instead of just "Your Password for Level (level number)" (e.g. Your Password for Medi 6). This can also apply in the level preview screen, where it can display "Medi 6   Fallen" instead of "Level 6    Fallen".

LPIII:
Fierce 9 looks much clearer now, though I miss the change of the palette in the Sky exit and the flashing "EXIT" sign; I thought it was a cool effect. However, there is a minor glitch: the minimap and text is in the color of the Sky style, not the VGASPEC colors.

EDIT: This also happens to all VGASPECs based on RGB colors, as I've noticed in Secret 7. Is this an intended behavior?
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 24, 2014, 04:13:23 AM
Yes, that is an intended behaviour. The reason for this is, as you may be able to guess, for the case of levels using normal and VGASPEC terrain combined.

Anyway, editor update is now here!

NeoLemmix Editor V1.24n-A
--------------------------------------
* Preserves (but cannot yet edit) custom window orders for NeoLemmix.
* Supports 128 objects in a NeoLemmix level.
* Saves style names in NeoLemmix level files, and uses them if available when loading levels.
  This is to improve ease of use of a level file between different players or graphic set collections.
* Can use and edit custom placement of VGASPECs in levels, for both NeoLemmix and SuperLemmini.
* Removed the "error" message that pops up when changing between styles, if the target style does not
  have a matching graphic set to the level's previous one - this error message was a leftover from before
  graphic sets could be changed by the editor, and did not actually indicate that anything hadn't worked
  anymore.
* Fixed the level name display issue in the DAT Level Pack editor, where level names of Extended Format
  levels created with NeoLemmix Editor V1.23n-A or dumped by NeoLemmix V1.23n or newer do not display
  correctly.
* Fixes the glitch where blank entranceOrder parameters would be saved to SuperLemmini levels.
* Fixed the bug where level width, height and screen start Y position weren't scaled properly when switching
  between Lemmix and Lemmini styles.


https://www.dropbox.com/s/177bk6j3nxdoyol/NeoLemmixEditor_V1.24n-A.zip


Until I implement proper editing for the window order, there are two possible workarounds:
1) Use a hex editor. The format of the window order data is documented in the usual place.
2) Save the level as a SuperLemmini level, add window order data to the saved INI, then reload it and convert it back to a NeoLemmix level.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on October 24, 2014, 04:51:23 AM
The version you uploaded is still an older version of the editor (the date modified reads as 10/5/2014); thus, I am getting error messages like this:

Error reading
TBaseGraphicSetWrapper.Graph.GraphicSetInternalName:
Property GraphicSetInternalName does not exist.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 24, 2014, 04:57:46 AM
Oops. >_>
Fixed. :)
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on October 24, 2014, 05:11:17 AM
Thanks. Great job with the new object additions. However, in the Sega style, if there is a one-way down object and I attempt to use test mode or regular NeoCustLemmix, I keep getting an odd error:

Source rectangle is invalid.

I haven't tested all the other styles to see how this error pops up.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 24, 2014, 05:19:41 AM
No issues with any of the other new objects in the Sega style? I'll look into that soon.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on October 24, 2014, 05:25:33 AM
Only the one-way down arrows are affected; everything else is fine.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 24, 2014, 05:42:27 AM
I've managed to recreate this error; will look into the cause of it shortly.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 24, 2014, 06:31:52 AM
Found the cause. What's happening is that locked exits, on the preview screen, are meant to render frame #1 instead of frame #0 (so they show as locked), so some code was inserted to do this. However - this code was actually being applied to one-way down arrows instead. It didn't cause problems before because all existing one-way down arrows so far have multiple animation frames; these are the first ones that don't, so the bug showed itself. As a side effect of this, some locked exits would incorrectly render as open on the preview screen (it depends whether or not the style file specified the first frame as the preview frame).

This also explains the inconsistent behaviour of why it happened on a fresh install of the editor and NeoCustLemmix but not on my existing one - because I have my existing one set to skip the preview screen during test mode. The preview rendering doesn't occur in such a mode, thus, no error.

So, I'm reuploading fixed versions of all players which now correctly apply the code to locked exits, and not to one-way down arrows. This should fix both issues. I haven't given this a new version number.

It's only the players that need to be redownloaded; the editor is fine as-is.

My connection is being a bit slow at the moment so the reupload may take a while. Fixed versions of Cust and Flexi are already up on DropBox; the others might take a bit longer. All the NeoLemmix download links on the website are currently down; I'm waiting for the DropBox ones to finish uploading first then I'll put them up on there too.

EDIT: They're all up on both now.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 24, 2014, 09:43:04 AM
I made a NeoLemmix LPDOS music pack. It's the same as the standard one, except it also includes Frenzy and Gimmick musics. It's in the folder along with all the other NeoLemmix music packs.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on October 24, 2014, 03:51:20 PM
Thanks, the one-way down arrows work now.

Some important editor suggestions to consider:

LemmixPlayerExtraNeo:

NeoLemmix:
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 24, 2014, 04:36:49 PM
Editor: Those are all features I can consider eventually. For now, I'm just keeping it in line with new NeoLemmix / SuperLemmini features (well, there probably won't be any more new NeoLemmix features now (apart from maybe the full-color graphic sets), but SuperLemmini there may be) and fixing bugs. Once NeoLemmix is complete, I might look at the more flashy stuff.

Extra: I'll look into both of these.

Music packs:
LPII has the same musics as ONML, and as such you can simply use that one (the NeoLemmix version player supports it; just rename the files). The gimmick music doesn't sound very impressive in its original state, while the Frenzy music I'm not even entirely sure what the ultimate original source was.
LPIII, I might look into it eventually, though a lot of the tracks are remixes that only exist as midis (however, some tracks such as the gimmick musics and the first track could be potential candidates; and it *is* possible to mix formats in a music pack). Another issue is that there'd be quite a mix of quality here - the first track is CD Audio, the second, sixth and final-level-of-rank are MIDI remixes, the third I'm not sure what system exactly (SNES or N64 I think?), the fourth, fifth, frenzy and final-level-of-Fierce are Gameboy, and the two gimmick mucis (not counting the LPII one) are PS1. Basing them off MIDI versions, they don't sound too out of place together; if the original tracks were used, it would sound very strange indeed.
HLP, I'm not sure there's much point, as the source musics are midis anyway so the ones in the release pretty much sound exactly like them.
I can say though that there probably won't ever be a non-NeoLemmix version of LPII that supports music packs or in any other way uses the new players - unlike LPDOS, which has exactly one modification (not including the different rank names, texts and level order) from the standard mechanics (the instant bombers), LPII has the gimmicks, secret levels, etc, which aren't supported in the traditional versions of Lemmix. (In fact - not sure if I've mentioned this before - the NeoLemmix project was initially intended to be a player for LPII, but since it was nowhere NEAR ready by the time LPII was, I didn't go with this idea, and instead it wasn't until LPIII that NeoLemmix was being used.)

Testing: Most likely, it'll simply be a matter of "finalised once all features I want to implement are, and it's been out for a while without any issues that need fixing being reported". This won't happen before LPZ is released, as that'll probably be the first chance people have to really test out the new skills - HLP and the tutorial pack give somewhat of a taster, but LPZ will be the first (and from me, most likley the only) full-length pack using them.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on October 24, 2014, 05:04:22 PM
Editor suggestion: For the pre-placed lemmings, the same drop-down menu that was used for choosing the pickup skills can also be for the six skills for pre-placed lemmings instead of using the L values.

Editor glitch:
I am still getting the List index out of bounds (15) error (e.g. when I attempt to change the Bubble set which has the splitter (index 15) to the Dirt style, when it doesn't have anything in index 15).

If this happens for a while, when I close the editor, the editor disappears, but then is followed by an error message (in attached). Following that is memory leak 219012.

For the yellow squares glitch, I tend to use the Ctrl+C and Ctrl+V shortcut a lot when using the editor. Perhaps pressing a certain button may cause the yellow squares to disappear?

LPIII and LPIIIB as part of the update stream:
You may need to slightly rename these players. I've put these two in separate folders from the official versions, but if I save a replay in the unofficial version of LPIII or LPIIIB, the replay ends up in the replay folder of the official version. This is because the official version has the same name as the unofficial version.

Will look for more bugs in the players/level editor.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 24, 2014, 11:29:45 PM
Yes, I haven't fixed that bug yet.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on October 27, 2014, 04:06:10 AM
Another level that you may want to add to the Other rank of the Extra player on both versions: One Way to Freedom, which comes from the Amiga demo.

After reading this post by Prob Lem, I had to look the level up, and this is the closest I can get to a level map (beware, this one has the intended solution). This topic of another forum discusses the solution to the level (with the image I posted here), as it was apparently an extremely difficult level.

I can either remake this level, or we can wait until someone has the level file for this demo.

Also, with the new NeoLemmix capabilities (pickup skills, vertical scrolling and teleporters in official styles), would you be able to remake the PS3 levels at some point? (Though, for the cloning machine, you could replace that with a cloning pickup skill?). Obviously, this rank should be NeoLemmix-exclusive. Since this game has only 45 levels, you can put them all in one rank like you did with the Genesis rank.

For the NES levels, I might look into remaking them. Nothing confirmed yet, but they shouldn't be that hard to remake.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Tsyu on October 27, 2014, 07:44:23 AM
Once I'm able to download Amiga Forever again, I'll see if I can rip the level from an uncompressed savestate like I can with the full version of the game.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 28, 2014, 02:19:52 AM
About further levels, I'm going to limit Extra to levels from official versions that are either mechanics compatible with the originals or include most of the same levels, to avoid overcrowding. (Except for the L2 classic levels). Other remakes could still be made into Flexi based players or NeoCustLemmix level packs, though.

This means versions like NES and PSP are fine, but not PS3 or Lemmings Touch, for example. Where possible a direct rip will be used and if needed edited to NeoLemmix-ise it, but if it cant be ripped or the format is not compatible, then a remake may be used. All remakes should initially be designed within traditional Lemmix limitations, then NeoLemmixised, if possible (so they can be included in Traditional too) - I'll sort out something for the L2 classic tribe levels (for the flamethrower) for the traditional version.

EDIT: From what I can gather, this should mean the following (including already present ones, and without checking if they do have unique levels - bolded ones I believe *do* have unique levels that aren't included yet):
* 3DO
* Acorn Archimedes (ONML)
* Amiga
* Amiga CD32
* Amstrad CPC
* Atari Lynx
* Atari ST
* Commodore 64
* FM Towns
* Gameboy
* Gameboy Color
* NES
* PC (DOS / Windows)
* Phillips CDi
* PSP
* PS2
* Sega Genesis
* Sega Master System
* Sharp X68000
* Sinclair Spectrum
* SNES
* Turbo CD
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on October 28, 2014, 11:21:43 AM
Thanks.

There's a glitch with the nuclear bomber. The bomber can actually get around the steel and remove terrain near steel within the blast radius. Image attached for example.

You can block a lemming that is stuck in a wall (and, to an extent, add a pre-placed blocker). Is this intended or not?

Also, found some gimmick combination glitches.

Assign All+One Skill: if I have lemmings that currently in the level (i.e. some haven't come out of the trapdoor yet) do a skill, they shouldn't be able to be assigned another skill since *all* of them are already assigned, but if an unassigned lemming comes out and I have hm do a second skill, the other lemmings are also able to do that second skill. (e.g. 64 lemmings currently in the level build, but when you assign the 70th lemming a miner, all the other lemmings mine).

For Assign All+Turnaround, only the one lemming that gets clicked turns around, but all other lemmings do it in the direction they are facing.

Wrap+Solid Floor:

Turnaround+Disobedience - a lemming turns around after shrugging. Not sure if you'll consider this one a glitch or not, though it will make for interesting levels if this is intended.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 28, 2014, 06:56:57 PM
Nuclear bombers one is not a glitch; the same thing happens with regular bombers too on thin enough steel. Ill look into the rest at some point soon.

Okay, comments on the others:
- Block in wall: No reason why they shouldn't be able to? Of course, there shouldn't be too many ways to *get* them stuck in there, though building up into it or creative builder/stoner/stacker placement may result in it.
- Assign all + one skill: This is a glitch, I'll fix it in the next update.
- Assign all + turnaround: This is also a glitch, I'll fix it in the next update.
- Wrap + Solid floor: These two gimmicks obviously aren't going to play nice together (like hardworkers + lazy lemmings wouldn't be expected to; though in practice the result of those two is just that some skills behave like one and some behave like the other*). Most likely, what I'll do is make it so if both of these gimmicks are in effect, wrap only applies horizontally.
- Turnaround + Disobedience: If you click once (shrug only), they should turn around, more or less as if they'd been assigned a walker. If you click twice (shrug then perform skill), they should turn around twice, and thus ultimately perform the skill in the original direction. If this isn't what happens (I didn't test yet), it's glitchy.

* From memory: Builder and Platformer get the hardworkers effect, while all other affected skills get the lazy lemmings effect.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Minim on October 29, 2014, 06:16:40 AM
Here are a few glitches I think I found yesterday while testing out Danger 27 and Fun 6 respectively:

* Climbing Mechanics - doesn't work because the mechanic decides to fall down instead of continuing to climb, because it moves one pixel to the right. I may have to test this further with left climbers and floaters to see if the same problem occurs.

* Swimming Bombers - When the bomber skill activates the Lemming falls through the sea and does the Oh No bit before exploding, rather than explodes instantly.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on October 29, 2014, 02:53:51 PM
Gimmick Combo glitches:
NeoLemmix:
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 30, 2014, 01:09:11 AM
Climber Mechanic: I know exactly why this is happening. I'll think of what to do about it.
Swimming Bomber: Correct behaviour should be instant explosion with no terrain removal. I'll look into it.

Turnaround + Assign All: Should fix when I fix the non-backwards version.
Solid Floor + Wrap: See above.

Snow One-ways: Will do.
Blink: I'll make that a seperate option probably.
Pre-placed: I'm aware of this. I probably should do something about it...
9-6: A main.dat issue; I should be able to sort it.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 30, 2014, 04:29:45 PM
Wraparound gimmick:
The current "Wrap" checkbox will, from the next update, only be *horizontal* wrap-around.
The checkbox following it (currently labelled "(Gim23)" will be *vertical* wrap.

If you want your level to wrap both ways, please make sure *both* of these are checked. (It doesn't matter that (Gim23) isn't currently labelled correctly; it's still saved to the output level file and so will function fine once a player that pays attention to it is released.)

Note that Solid Floor and Vertical Wrap are incompatible, and as such, from the next update, Solid Floor will be ignored if Vertical Wrap is enabled. (However, you can combine Solid Floor and Horizontal Wrap.)

General notes on trigger areas:
I'm probably going to look over and adjust some of the trigger areas at some point soon - I'll try to do it before the next update. Anything that relies on pixel-precise positions of them may need to be adjusted after that. It won't affect one-way arrows, most NeoLemmix-exclusive objects (possible exceptions are locked exits (as their current trigger areas are direct copies of the standard exit ones) and one-way fields (which aren't really NeoLemmix-exclusive)), or anything in the Lemmings Plus III styles except maybe water (and the visually-water-but-mechanics-wise-fire object from the Lab style).

Note on window position:
I'm going to adjust it back to the original X=24 (instead of X=25) spawn position. This may affect levels where the window is precisely placed. I'm also going to move the Y spawn position one pixel higher; this gives more consistency with what is or isn't a fatal fall (for example, Mayhem 1, where currently the entrance has been moved up by one pixe to keep the initial fall fatal). So, if your window position needs to be pixel-precise for any reason, it should be moved one pixel right and one pixel down from current position.

Additionally, in custom styles, I'm adding an option to allow custom positioning of the spawn position. Simply use the Trigger X and Trigger Y of the window object to specify them. However, I don't believe the current version of LemSet allows setting these on windows (they'll be ignored), so I'll need to make an update that does, most likely. If they aren't specified, the default position will be used.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Prob Lem on October 31, 2014, 12:49:00 AM
After reading this post by Prob Lem, I had to look the level up, and this is the closest I can get to a level map (beware, this one has the intended solution). This topic of another forum discusses the solution to the level (with the image I posted here), as it was apparently an extremely difficult level.
It's difficult due to the lack of Builder-shrugging in the (earlier) version of Lemmings that the Amiga Format demo is derived from. Take out that problem and it's just very timing and execution focussed.

There is an extremely pixel-precise way of saving 100%, too (I won't spoil it here), but due to that demo having collision-detection that is slightly different to (and I would say pickier than) the final game, I'd say that it would be fair to consider it a glitch.

Anyway, here's hoping that this one can be gotten out of that demo soon. :thumbsup:
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 31, 2014, 03:54:17 AM
I've fixed all the gameplay glitches above (but not the graphical issues) now.

In the case of the climbing/falling/floating mechanics; I've made it so that only a lemming who is standing on something is able to perform the mechanic skill. Specifically, it checks if the lemming has a pixel at it's usual check position; it will also automatically fail the check if the lemming is currently climbing, hoisting or swimming. (TODO: Check whether I need to add more exclusions to that list, or if they're already handled by when a trap can trigger altogether.)

Noticed a (fairly obvious) issue with the Assign All + Disobedience combo too; I'll get onto fixing that one soon. Though leaving this one as is could give interesting results, too...

Another thing I've thought about is; it doesn't really make sense to leave exisiting packs on old verisons, so I'll probably do one more official update of each NeoLemmix pack (LPIII, LPIII Bonus, HLP) to the finalised version of NeoLemmix once it's ready. I don't think Omega will be ready before NeoLemmix is finalised, so no issues there as such.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 31, 2014, 04:24:13 AM
How's this? :)
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 31, 2014, 05:36:10 AM
Updates for LemSet and LemMain! :)

LemSet V10
------------------
> Fixed some inaccurate colors in the default palettes (including those used when extracting
  graphics sets).
> Trigger positions can now be set on window objects; these will be useful in a future NeoLemmix
  update.
> Added an option to save the default palettes as BMP files, rather than including copies of
  them.
> Compiled with a newer version of QB64, giving the EXE a much smaller filesize.


https://www.dropbox.com/s/as09mdhwyogykqb/LemSet_V10.zip
or
http://www.neolemmix.com/old/lemtools/LemSet.zip


LemMain V7.3
---------------------
  > fixes some colors with the palette. Note that the 4th color in the Xmas menu palette is intentionally
    set slightly incorrectly, to differentiate it from color #0 (as they are both RGB 0,0,0)
  > compiled with a newer QB64 version, giving a smaller filesize for the EXE


https://www.dropbox.com/s/4go8mlnx65ke8eu/LemMain_V7.3.zip?dl=0
or
http://www.neolemmix.com/old/lemtools/LemMain.zip



A note to anyone using the Flexi Player - V1.24n or earlier MAIN.DATs / SYSTEM.DATs will probably not be compatible with V1.25n onwards. Haven't decided yet what will happen for Traditional Flexi, but it's likely that they will be updated too in the next update to use the new format. This is due to a few changes; for example, it will no longer specify the number of levels in a rank (instead, it'll just be based off the number of levels present in the DAT file - number of *secret* levels will still need to be specified, of course), I'll expand the maximum length of postview screen strings, and also add support for defining style names. Also, most likely, SYSTEM.DAT will no longer be built into MAIN.DAT, but be present as a seperate file (meaning that if no changes are needed to the images, existing MAIN.DATs can be used as is, without having to extract and rebuild them); also meaning that it'll no longer be part of LemMain, but either a standalone tool or part of the NeoLemmix Editor.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 31, 2014, 06:11:40 AM
On that note, if there's anything you'd like to be customizable that isn't yet in Flexi, let me know and I'll try to work it in.

EDIT: Found a bug, specifically that there are steel areas where there shouldn't be in the LPDOS levels. This doesn't seem to be affecting any other players, just LPDOS. (EDIT: Might also be affecting a very small number of levels in Orig, still looking into this.)
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Tsyu on October 31, 2014, 06:47:14 AM
I finally ripped One Way to Freedom from the Amiga Format demo: https://dl.dropboxusercontent.com/u/89353583/Lemmings/Levels/OneWayToFreedom.lvl
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 31, 2014, 08:10:48 AM
Added a NeoLemmix-ised version of it to Extra for the next update. It's the first level in "Other" now.

Also, as I suggested I might do, the number of levels in a rank is now determined simply by the number of levels in the respective LEVELxxx.DAT file (this applies equally to hardcoded and Flexi players; of course, Cust still uses a different system). Additionally, I've enabled having a secret rank in Flexi. This is done automatically if every level in the last rank is a secret level (eg: if the rank has 5 levels, and the secret level count for that rank is set at 5 or higher). EDIT: Can now have more than one secret rank, though they do need to all be at the end of the rank list (ie: you can't have a normal rank for rank #1 and rank #3, but a secret rank for rank #2; but you can have rank #1 normal and both rank #2 and rank #3 secret).

Also, I've modified Flexi so that it now looks for an individual SYSTEM.DAT file, instead of expecting it to be an extra section in MAIN.DAT, though beyond that I haven't made any changes to it so far (apart from that the level counts will now be ignored due to the fact that it autodetects these from the level pack files).
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Tsyu on October 31, 2014, 08:47:27 AM
Added a NeoLemmix-ised version of it to Extra for the next update. It's the first level in "Other" now.
I'd put it at or near the end, considering its difficulty.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 31, 2014, 09:27:59 AM
I'm trying to order them based roughly on chronological order.

Anyway, I'm working on a SYSTEM.DAT editor menu for NeoLemmix Editor now. As you probably expected, I'm adding the ability to define graphic set names in the SYSTEM.DAT file for the graphic-sets-by-name feature. However, I'm not going to make this fully customizable in the editor (advanced users can do so with a hex editor if need be), but rather, it simply will have the option to load any style defined in NeoLemmixStyles.ini (eg: you can choose ONML style if you want the brick=0, rock=1, snow=2, bubble=3 setup).

EDIT: Here's a screenshot so far; do note that I haven't implemented edit space for the following yet:
- Result texts
- Congrats screen texts
- Scroller texts (you can now have up to 16 custom lines on it, instead of just a single one)

(Note: All of the above texts can now be up to 36 characters, instead of 32.)

Also note that it's not functional at all yet. Only the layout has been designed; the only thing behind-the-scenes that's done on the editor side is coding in the structure of the file.

EDIT: Since posting this, I've added a checkbox for enabling the LVL File and mass-image dumping (still need to implement the option though), as well as preset buttons for the mechanics which will set the following options (without changing any others):

Orig
- Off: Fix one-way right bug
- On: Timed bombers, 60px Fall, X=24, A>B>B>A, Climber>Shrugger Glitch

OhNo
- Off: Fix one-way right bug, X=24, A>B>B>A, Climber>Shrugger Glitch
- On: Timed bombers, 60px Fall

Cust
- Off: Fix one-way right bug, X=24, A>B>B>A, Climber>Shrugger Glitch, 60px Fall
- On: Timed bombers

LPDOS
- Off: Fix one-way right bug, Timed bombers
- On: 60px Fall, X=24, A>B>B>A, Climber>Shrugger Glitch

LPII
- Off: Timed bombers, X=24, A>B>B>A, Climber>Shrugger Glitch
- On: Fix one-way right bug, 60px Fall

(Note with the last one that there's no option to disable the pause-for-time and nuke glitches in Flexi, so those two details of LPII Mechanics won't be set by the LPII preset.)

As already mentioned in existing documentation (and hinted at by the (T) in these menus), these mechanics options (except the timed bombers one) only apply to Traditional Lemmix. On that note, I also slightly changed the text of the timed bombers option - it now says "Timed Bombers/Stoners", to reflect that stoners are also affected by the setting.


EDIT: Added an updated screenshot.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 31, 2014, 12:07:45 PM
It's starting to become functional. Although load/save isn't yet implemented, the in-memory values can be edited for the options checkboxes / radio boxes and in-game texts (the stuff at the bottom of the panel). :)

EDIT: Now, pretty much everything except the input boxes near the top-left and the Save and Load buttons are working. The New button is only partially working - it does clear the data, but this isn't yet immediately updated on screen (but say, if you change which text is active at the bottom, it'll now be cleared when it loads the one you've changed to).

EDIT: Preset buttons weren't working, but they are now. Same issue as with the New button; it doesn't update on-screen, only in memory. This is because the function to set the displayed values based on the memory ones hasn't been coded yet; it only exists currently as an empty placeholder that does nothing.

EDIT: Everything except Load, Save and generating the style name list is now fully functional, including properly updating the displayed values when New (or a preset) is clicked.


By the way, before anyone asks: I do not plan *at this time* to implement a similar thing for SuperLemmini's level pack INI file. However, the keywords here are "at this time"; I probably will do it later on down the track.


EDIT: Okay, the SYSTEM.DAT editor is now fully functional (except the style name list, which I'll do later). Now, to get the player fully utilizing this new format (it already partially can, as many things were simply a matter of modifying the structure used to load the old one).

EDIT: All new features are now implemented in the player, except for name-based style selection.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on October 31, 2014, 03:51:06 PM
Great job in the SYSTEM.DAT addition, this is just what this editor needs, especially for a lot of us who have been wanting to create their own Lemmix players!

Also, great job with the red arrows in the Snow style. I wonder if you will also be able to apply that to the Traditional Snow style, like how you also added the Snow objects to the Xmas style.

One Way To Freedom seems to be a lot easier under NeoLemmix mechanics, due to the ability of instant bombers.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on October 31, 2014, 03:53:47 PM
I definitely can apply it to the traditional version Snow style, though I might see what the general opinion is on doing that before making any changes to it that affect existing levels/objects (unlike the Xmas style modification, which was simply adding new objects in a way that has zero impact on any existing content). I've put a poll up, and also asked for feedback, in the traditional Lemmix topic.

Anyway, that's enough for today. Time for some FFX-2, or maybe some sleep... haven't decided which yet. Definite todos before the next release are improving the style trigger areas (I've already done one style) and the countdown graphic widths. I might also look at moving *all* players (except Cust) onto using a SYSTEM.DAT file, as that means less hardcoded stuff - I think pretty much everything that needs to be editable can be edited in SYSTEM.DAT or the levels themself now, apart from a few hardcoded details (such as the 66% requirement on Sixes Not in Extra, or showing the Congrats message on a non-final rank in Orig and OhNo even though the final rank isn't a secret one; LPIII's Timid 5 is no longer hardcoded but is instead set in the level file itself now).


Another minor issue is that I'll want to have an update for Traditional at the same time (or at least reasonably soon afterwards), that way we won't have a situation of having to use LemMain for one version but NeoLemmix Editor for the other. I'll probably also release a LemMain update at the same time to remove that feature from it, as well as add a couple of new things that shall remain unrevealed for now...
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 01, 2014, 03:10:25 AM
Another change I'm making alongside the trigger area adjustments, is making the fire one-way arrow graphic 24 pixels tall instead of its current 21 pixels tall. No change to their trigger area though - it's already 24 pixels tall, so I'm just making the graphic match (additionally, you'll notice that they line up accurately from a graphical point of view if there's a 3 pixel gap between them vertically; which is why I'm expanding the graphic rather than reducing the trigger area). This has no effect during gameplay since the extra space is transparent; it just makes the borders line up more neatly when editing levels.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on November 01, 2014, 03:11:18 AM
In PSP 32 of the Neo Extra player, the exit's head is cut off. This needs to be fixed.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 01, 2014, 03:20:27 AM
I'll check that out. Due to the trigger area adjustments (and in case the LPDOS glitch has popped up elsewhere that I haven't noticed), I'm probably going to be rechecking *all* levels before the next update, except the LPIII and LPIII Bonus Pack ones since those styles aren't being modified (except maybe making the water trigger areas extend one more pixel vertically). Huge task, but it has to be done sooner or later.

EDIT: All Orig styles plus Snow and Xmas are done now. Still need to do Brick, Rock, Bubble, Sega and the LPII styles.

EDIT: All official styles (including Sega) are done.

EDIT: All styles are done. The updated versions can be downloaded here. Note that these are fully compatible with the existing versions of NeoLemmix and NeoLemmix Editor; you don't have to wait for the new version to use them.

Most objects in the official, LPII and Sega styles have their trigger areas slightly adjusted. The only adjustments in the LPIII styles are the water object in the martian style and the fire object (that looks like water) in the lab style; and only very minorly so - their trigger area is one pixel taller than it was before.

I do still need to apply the updates to the Genesis styles, though. Done. In case anyone wants them, the Genesis styles with updated triggers are here. Please note that they do NOT contain the new objects, and never will unless someone decides to add them. The only NeoLemmix-isations on them are the adjusted trigger areas and autosteel support.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 01, 2014, 07:18:27 AM
Just finished fixing all the MAIN.DATs (the countdown digits, as well as adding two new graphics, although one of them probably won't be used until the release after the next one), as well as sorting out the lemming counts in levels where there's only pre-placed lemmings or where there's more pre-placed lemmings than the lemming count - in these cases, the lemming count is adjusted to the number of pre-placed lemmings in the level. (Be aware that the save requirement is *not* adjusted in any way.)

By the way, since I have to go through all the levels anyway, I probably will adjust the sizes of existing levels - most likely including LPIII and LPIII Bonus Pack.

Also - I worked out what the cause was of the steel problem in LPDOS. It's a problem where 1 is added to the width and height of a steel area whenever the level is dumped, which was done multiple times for the LPDOS levels while updating the format; I'll fix this in the next update. So, it won't affect autosteel levels, but will affect those which use manual steel - which is why it was most noticable in LPDOS, because most levels' steel is done manually there.

EDIT: Fixed it up on all the official game players; still got to do the Lemmings Plus ones.

EDIT: Okay, steels are fixed on all games. As for looking through the levels (and making adjustments on many of them - be it level size, one-way arrow positioning, fixing oddities with the appearances, whatever), I've done Fun and Tricky so far.

EDIT: Well, that's all of Orig done. Most levels simply have empty (or near-empty) space on the sides cut out, but I did find some things worth changing, and in others I've made slight modifications to the decorative elements. There's one level - and those who are familiar with other versions of the game should have no trouble guessing which one - where I actually *increased* the width.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 01, 2014, 12:11:31 PM
On a slightly-different note, I implemented the Infinite symbol for infinite skill counts. :)

Another feature I'm going to add - and most likely, this includes in Flexi (since there's no reason not to) - is the ability to have a completely hidden rank. This differs from a secret rank in that the levels in it are not playable in any way (as opposed to merely being secret levels). What's the point then? You can oddtable those levels, so for example, I'll use it when I do the updating the levels in the LPII and LPIII Bonus Packs - including a copy of the LPII / LPIII level and oddtabling it makes things simpler, but I don't want the level to actually be *playable* in the bonus pack, for example. I'll probably even include this option in Traditional, too.

Also, I can confirm now that the following features, while all but the last still planned for eventual inclusion (the last one I'm still undecided about if it's worth it, since I don't think I'm ever going to make use of it), won't be in the next update:
- Volume control
- Multiple sound channels
- Config menu
- Highlight lemming
- RGB-based graphic sets

The following haven't been implemented yet and may or may not be in the next update (probably will, though):
- Rescued lemmings blink
- Instant slowfreeze/radiation option for Flexi


There's also one last new feature in levels that I'm considering that I haven't mentioned yet; I know I said I wasn't going to add any more but I see this one potentially being *extremely* useful - the ability to make a terrain piece "invisible" to one-way walls (ie: if a one-way wall covers all or part of the piece, it won't affect it); this could be useful when making one-way walls in graphic sets with uneven terrain. Obviously if this is implemented, it'll be used in a lot of places when updating the levels, so if I am going to implement it, it'll probably be in the next version.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on November 01, 2014, 09:18:56 PM
Another feature I'm going to add - and most likely, this includes in Flexi (since there's no reason not to) - is the ability to have a completely hidden rank. This differs from a secret rank in that the levels in it are not playable in any way (as opposed to merely being secret levels). What's the point then? You can oddtable those levels, so for example, I'll use it when I do the updating the levels in the LPII and LPIII Bonus Packs - including a copy of the LPII / LPIII level and oddtabling it makes things simpler, but I don't want the level to actually be *playable* in the bonus pack, for example. I'll probably even include this option in Traditional, too.

Will this rank also work for bait-and-switch levels like Timid 5 (e.g. put a useless-looking builder level in the hidden rank, but when you attempt to play that level as shown in the preview screen, it will turn out to be a Rickroll level)?
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 02, 2014, 01:47:50 AM
Yes. That isn't something I'd want to use myself (I'd almost see the level as wasted if it can't be accessed somehow), but it'd actually be more work to make it *not* possible to use with bait-and-switch, so there's literally no reason for me not to allow this if people want to use it.

Also: Despite the name in the editor, Bait-and-Switch doesn't *have* to be used for Rickroll. :P I'm sure there's more creative uses for it (maybe some kind of "haunted" rank where levels disguise themselves as each other?).
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 02, 2014, 03:02:50 AM
So, the "one-way-proof terrain" feature...

I should probably go back and apply this to a few certain levels in Orig. If I'm not mistaken, the ones where it might be useful are Tricky 27, Taxing 13 and Mayhem 30... any others that anyone can think of?
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on November 02, 2014, 03:19:11 AM
Probably the one-way wall on the bottom-left in Tricky 9 / Mayhem 6 and the small one-way wall in Fun 24 / Mayhem 3.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 02, 2014, 04:11:02 AM
Good point - they definitely could use it.

On another note, I'm adding another option, so it can be selected whether one-way walls can apply to all pieces except those that are excluded, or one-way walls are only applied to pieces that are specifically included.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 02, 2014, 06:55:33 AM
Well, Taxing 13 is certianly a pain to apply it on - but also a useful level, because I discovered a glitch with this feature while doing so; namely that all upside down pieces would be treated as if the flag was set.

So, what ya think?


EDIT: I've also added a warning in the editor, which will pop up when saving LVL files if the level has more objects/terrains/steels than the format can handle (previously, the extras were just not saved). If using the non-extended LVL format, but using a NeoLemmix style, it will also suggest switching the level to the Extended Format if the maximums for *that* aren't exceeded. Note that it won't prevent saving the level, it's just a *warning*.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on November 02, 2014, 12:51:28 PM
Looks very good, although were the roots on the one-way wall on the right side meant to have the arrows on them too?

There are some mistakes in the level adjustments for the following levels while looking through images of the levels that I dumped:
Present 8 / Sunsoft 6 - Part of the left side is cut off, including the fire trap
Present 14 - part of the left circle is cut off
Present 19 / Sunsoft 1 - you can see a blank space as shown in the left side of the wall.
Sunsoft 24 - part of the left side is cut off.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 02, 2014, 01:10:00 PM
I'll look into that. There's one in the Genesis rank that I think seems a bit off too - I forget the name but I *think* it's the first Genesis-exclusive level of Tricky.

The roots having the one-way arrows was intentional, though I was also wondering if maybe I should change that as it does look a bit odd.

Also - partly to make this easier on me, and partly because it'll be a useful feature in general, I've added a "Shift Level" option to the editor. This moves the entire level, including the screen start positions and VGASPEC position.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 02, 2014, 01:29:24 PM
So I've started doing the ONML levels, and I must say, it's interesting how much more common it is to have levels that fit exactly on one screen here. The original game had exactly one such level (not including repeats, as this level did have one), which was Fun 9 / Tricky 26. Apart from that, Fun 11 / Taxing 18 also fit on one screen - but not exactly, it was actually 312 pixels wide (one screen is 320 pixels wide) so there was leftover space on both sides. I know a lot of my own designs were made to fit on a single screen; for example, all four No Time To Die levels take up one full screen exactly.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 02, 2014, 06:16:15 PM
Some other interesting things I've found:

- ONML actually has a few traps that needed position adjustments due to the trigger area changes (Orig didn't, unless I missed some).
- ONML also has a few levels where the width needed an increase rather than a decrease, Wicked 2 was one example.
- One-way arrows are incredibly rare in ONML! I never noticed this before. (I did notice they were rare in the original game.) There was still one level where the new OWW feature was useful, though.
- Havoc 12 works out somewhat differently under NeoLemmix mechanics (specifically, the entrance order for 3-entrance levels); definitely still possible though

I also decided to make one slight adjustment to one level that was outside of just fixing it up... I get the feeling this would've been done in the official game had the mechanic existed, which is why I did...

Quote
Wicked 2. Three guesses what the change was.

At this point, Orig and ONML are done. I'll most likely release the update when all the official packs are done (the LP packs may have to wait a bit longer; though they *will* have the steel areas fixed in the next update).
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 03, 2014, 06:30:41 AM
I found a few bugs relating to steel areas with the new one-way feature (EDIT: should clarify, not all are directly related to it, but some are, and all of them were found while testing the new feature). Most of them have been fixed now but one pesky one that I'm having trouble tracking down the cause of still remains - it seems manually-placed positive steel (but strangely, not negative steel) doesn't work in levels with Simple Autosteel enabled. EDIT: Managed to track down and fix it.

Also, weird results if you put the (illogical) combination of Simple Autosteel enabled but Autosteel itself disabled. Simple fix here; ignore the Simple Autosteel setting if Autosteel is not also on.


Another thing: I've decided that as it's getting quite complex to track which options relate to which games now, I'm going to be removing support for all engines except NeoLemmix and SuperLemmini at some point in the near future from the editor. It won't be the next update, but it will be fairly soon. (Support for loading traditional Lemmix / Lemmini levels will be kept, though, but they can only be edited/saved as NeoLemmix / SuperLemmini ones.)
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Wafflem on November 03, 2014, 03:33:20 PM
But how will that affect people who still want to create traditional levels and create players with the Traditional Flexi tool for Lemmix or level packs for Lemmini?

Of course, they can use EricLang's version, but that version is outdated, full of glitches, and they can't compile the traditional versions of the LPII styles and the Sega style. One thing I suggest is a Traditional version of the NeoLemmix editor once you've finalized the NeoLemmix editor (i.e. an updated, improved version of EricLang's editor, but without the NeoLemmix features)
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 03, 2014, 06:04:18 PM
But how will that affect people who still want to create traditional levels and create players with the Traditional Flexi tool for Lemmix or level packs for Lemmini?

Of course, they can use EricLang's version, but that version is outdated, full of glitches, and they can't compile the traditional versions of the LPII styles and the Sega style. One thing I suggest is a Traditional version of the NeoLemmix editor once you've finalized the NeoLemmix editor (i.e. an updated, improved version of EricLang's editor, but without the NeoLemmix features)

I could possibly do that. One other option is simply to use an older version of the NeoLemmix editor. Alternatively, I might look into other, more simplified ways of splitting the different formats; although I can almost guarantee that WinLemm* at least will be dropped (but does anyone actually use that, anyway?).

I'll put a poll up and see what kind of interest there is in it, and decide from there what I'll do. However - I'm definitely going to drop support for saving NeoLemmix levels in non-extended format; there's really no use for it and maintaining it is somewhat annoying. In fact, I'll probably drop support for it from the players too, while there's still little NeoLemmix content out there apart from my own so it's better to do it sooner than later. Support for *loading* it in the editor will be kept.

(To be clear - the players will still be able to load traditional LVL format, and this will include loading specified music tracks and NeoLemmix-style oddtabling from them, since those two features are also available in traditional CustLemmix which I have no plans to move away from the standard format. Likewise, the NeoLemmix Editor will still be able to save these (and values for the SuperLemming field other than 0000 or FFFF; as traditional LPII / LPIIB use these) values for traditional LVL files.)


* Of course, WinLemm's level format is exactly the same as that of DOS / Traditional Lemmix, so it would only be WinLemm graphic sets that support for would be dropped; the level files can still be edited as long as DOS / Traditional Lemmix support is kept.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 03, 2014, 07:36:24 PM
I can confirm at this point that the following features will be removed in the *next* update:
- Editor: Any compatibility with WinLemm graphic sets
- Editor: Saving NeoLemmix levels in non-extended format

The following, some (but not all) may be eventually removed, but they will not be removed in the *next* update:
- Editor: Compatibility with traditional Lemmix/Lemmini
- Editor: Loading NeoLemmix levels from non-extended format
- Player: Loading NeoLemmix levels from non-extended format



By the way - another thing to consider about keeping support for the older formats - one thing mentioned was that EricLang's version of Lemmix Editor was quite buggy - but there's always jLevelBuilder, especially for Lemmini.

Another thing I plan to get rid of soon is the compiling of styles; instead allowing it to simply use the styles directly as-is. This is in fact already supported to some degree, but is known to sometimes be buggy.

Finally, one other change: I'm going to add the Genesis styles to NeoCustLemmix. :) They'll be numbered 20 to 24, and can also be recognized via the styles-by-name option.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 03, 2014, 09:18:38 PM
Sorry. I couldn't resist. :P

(The real exit is still the same one as it always was, though. Additionally, since the original "hint" isn't available to most players these days, I built a hint into the actual level design - although it's not present in the attached pic as I added it later. It's quite subtle though.)

Also, a slight change in plan from what I previously said about the next update having all the official levels adjusted: I'm not going to do the levels in Extra just yet. The other official ones will all be adjusted (including X91/92, Covox and Prima).
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 03, 2014, 11:13:45 PM
Alright, only two things left that I want to do for this version before it's ready for release - adding the rescued lemmings blink, and fixing a relatively minor bug that I discovered (I previously fixed this one actually, but either I didn't fix it 100% or it's crept back in - it's a minor one, but still). After that, it'll be ready. The editor is already ready. The update for traditional to use the new SYSTEM.DATs will be my next project after that (as well as a few small bugfixes).

Modified levels for Extra and the Lemmings Plus packs will probably come as part of V1.25n-B. I don't plan to do modifications to the NeoLemmix tutorial pack unless there's an issue that makes them impossible or disproportionately difficult to solve with the new changes.
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: Tsyu on November 03, 2014, 11:37:07 PM
Additionally, since the original "hint" isn't available to most players these days...
I never understood what "hint" the level title refers to. Is it something that was in the manual?
Title: Re: NeoLemmix (Player: V1.24n | Editor: V1.24n-A)
Post by: namida on November 04, 2014, 05:42:29 AM
Additionally, since the original "hint" isn't available to most players these days...
I never understood what "hint" the level title refers to. Is it something that was in the manual?

Apparently it was. I never saw this for myself; I just remember reading about it somewhere. I originally found the exit by lucky guessing.




Anyway, this bug is being quite a pain to track down the last part of. Specifically, you know how I mentioned I fixed the issue where the cursor would show as having a selected lemming when over the skill panel? Well, it still does that when paused. I managed to mostly fix this apart from one thing - it briefly flashes to the selected lemming one sometimes* when moving it back onto the game area now, unless the game is paused. And I cannot for the life of me work out *why*. Most confusingly; even if I completely disable the code which reactivates the lemming check after it's moved back onto the game area, this one-frame flash STILL happens.

* I have been able to work out the exact conditions that triggers it; just not yet a way to stop it happening.


EDIT: FINALLY got it! Also, I've implemented the rescue count blink but I made one small change - it doesn't blink when you have rescued enough lemmings, it blinks when you haven't. This keeps it consistent with the others, where the blinking indicates something bad - not having enough remaining lemmings to reach the goal, or being close to running out of time.


EDIT: Alright, everything's pretty much ready now. The updated version of LemSet has been available for quite a while now, new version of LemMain is fully prepared for release, the editor and player pretty much just need to be compiled and packaged now. I have to go out for a bit though, so it'll be a little bit later on, but very soon. :)
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: namida on November 04, 2014, 06:54:56 PM
Alright, big update time! Updates to NeoLemmix, the NeoLemmix Editor, and LemMain. :)

NeoLemmix V1.25n
----------------------------
*  Terrain pieces can now be set to be excluded from one-way walls
*  Trigger areas in all graphic sets have been fine-tuned
*  Lemmings counts are now adjusted to the number of pre-placed lemmings in levels with no
   windows, or levels where the lemming count is less than the number of pre-placed lemmings
*  Flexi now looks for a standalone SYSTEM.DAT file instead of looking for an extra section
   in MAIN.DAT; the format of this has also been changed
*  Added an option to make the rescued lemmings count blink when not enough lemmings have
   yet been saved (it is this rather than blinking when enough *have* been saved to keep
   consistency with the other blinks, which generally imply a negative situation)
*  Added an option to enable LVL / image dumping in Flexi players
*  Added support for styles-by-name in Flexi players
*  Entrance default spawn position has been moved one pixel left and one pixel upwards
*  In custom graphic sets, an entrance spawn position can now be specified; this overrides
   the default one. Note that the position cannot be set at (0, -4) or (0, 0) for backwards
   compatibility reasons
*  A skill with infinite uses now displays an infinity symbol instead of the count being
   whited out completely
*  The one-way arrows in the Snow style have been recolored to make them more visible
*  Wraparound has been seperated into two gimmicks; Wrap Horizontal and Wrap Vertical
*  Solid Floor gimmick will be ignored if Wrap Vertical is also set (but it works fine with
   Wrap Horizontal)
*  Mechanics can no longer disable traps while climbing, swimming or in mid-air
*  Swimming bombers/stoners now function properly (the lack of terrain destruction from a
   swimming bomber is intentional; but they previously OhNo'd when they shouldn't've)
*  Assigning a skill to a previously-unused lemming no longer assigns skills to previously-used
   lemmings too when the Assign To All and One Skill Per Lemming gimmick are combined
*  All lemmings that perform the skill turn around when the Turnaround and Assign To All gimmicks
   are combined
*  Fixed the bug where replays would not be interrupted when the selected skill was changed using
   the Z/X shortcut keys
*  Fixed the steel issues on certain levels (especially in LPDOS) introduced in a recent update
*  Fixed the countdown digits 6 to 9 in all MAIN.DAT files
*  Improved the fix for the cursor sometimes showing as having a lemming under it when it's actually
   on the skill panel.
*  Replays are a bit less strict on lemming selection, which means they shouldn't stop playing back
   as a result of minor modifications to the level (however, do keep in mind that the effect of these
   build up over time and will almost certianly eventually throw the solution off).
*  Level counts for each rank are no longer hardcoded, but are instead determined from the number
   of levels present in the rank's level pack file. Secret level counts remain hardcoded (or come
   from SYSTEM.DAT in Flexi).
*  If the number of secret levels in the last rank is equal to the number of levels full stop in
   the last rank, it will be treated as a secret rank (like the one in LPIII Bonus Pack); this
   applies in Flexi too.
*  Cust and Flexi now include the Genesis styles, numbered from 20 to 24 (they are also recognised
   through the styles by name feature). Please note that these styles do NOT contain the new objects;
   but they do have the adjusted trigger areas and support for autosteel.
*  Major adjustments have been made to the levels in Orig, OhNo, X9192, H94, Covox and Prima.


Downloads: https://www.dropbox.com/sh/9pbvgx8ihlqhh2z/AABBgteLgs9tPEkf595nO625a
Alternative: http://www.neolemmix.com/old/neolemmixplayers.html



NeoLemmix Editor V1.25n-A
---------------------------------------
* Added a SYSTEM.DAT editor; note that this only works with V1.25n+ SYSTEM.DAT files. As adding all
  the victory/fail texts can be tedious, a SYSTEM.DAT with preset texts is included.
* Supports marking terrain pieces for whether or not they can be one-way walls. Please note that this
  is not yet rendered correctly in the editor.
* Supports the switch to invert whether the default option is to allow or prevent terrain becoming
  one-way walls.
* WinLemm graphic sets are no longer supported.
* The "Extended Format" option for NeoLemmix levels no longer exists; NeoLemmix levels are now always
  saved in extended format. Non-extended format NeoLemmix levels can still be loaded (however, do note
  that if they use the old (LPII style) gimmick codes, the gimmicks will not load properly and will have
  to be re-applied manually).
* The checkboxes for "Custom Gimmick Combination", "Custom Skillset" and "Neg. Steel" have been removed,
  as all still-supported formats either have these options always on or always off; the non-extended
  NeoLemmix format was the only format where they could be either enabled or disabled.
* The oddtabling option is no longer sometimes randomly cleared when editing traditional Lemmix levels.
* "TBaseDosGraphicSet" in NeoLemmixStyles.INI has been changed to "TDosGraphicSet"; custom INI files need
  to be updated accordingly.
* The "BrickColor" parameter in NeoLemmixStyles.INI has been removed, as it doesn't do anything anyway.
  (It was used for playtest mode in the original Lemmix editor, but since CustLemmix / NeoCustLemmix handles
  that externally, it isn't needed here.)
* The Genesis styles have been added for both NeoCustLemmix and CustLemm styles.


Download: https://www.dropbox.com/s/oswjuzjlqmzp80x/NeoLemmixEditor_V1.25n-A.zip
Note that Traditional FlexiLemmix has not yet been updated to support the new SYSTEM.DAT format; you'll need to keep using the old one for now. Expect an update fairly soon though.



LemMain V8.0
---------------------
  > adds the "skills_inf_01.bmp" and "highlight_01.bmp" for NeoLemmix MAIN.DAT files; the former is
    used as of V1.25n while the latter is planned for future usage
  > removes support for building/including a SYSTEM.DAT section as this is no longer part of MAIN.DAT,
    and can be created by the NeoLemmix Editor
  > reorganizes the format selection screen, taking into account that Traditional Flexi now supports
    up to 15 ranks as of V24


Download: https://www.dropbox.com/s/yjgd8mxeegjr0s7/LemMain_V8.0.zip
Please note that until the V24 update for Traditional is released, you'll need to keep using LemMain V7.3 (or earlier) for traditional.

If you don't want to create your own graphics for the new images, copies of the versions used in the NeoLemmix players have been added to the extra graphics ZIP, which can be found here.

Alternatives:
LemMain V8.0: http://www.neolemmix.com/old/lemtools/LemMain.zip
Extra Graphics: http://www.neolemmix.com/old/lemtools/NewMainGraphics.zip


Please note that I haven't had the time to test them as extensively as I'd have liked to, so there might be issues - please report them straight away (preferably in this topic).
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: namida on November 04, 2014, 07:39:43 PM
Also, the current todo list for future versions. (This is just for the player, not the editor.)

> A proper readme
> One-way arrow positioning fixes
> Volume control
> Instant slowfreeze/radiation option for Flexi
> In-game configuration menu
> "Ghost" rank
> Level upgrades for Extra and Lemmings Plus packs
> RGB-based graphic sets (maybe)
> "Highlight" lemming (like Lemmings 3D and Cheapo have) (maybe)


As before, I'm still open to suggestions (though not making any guarantees that I'll implement all of them), as long as they aren't new gimmicks, new skills or new object types.
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: Wafflem on November 05, 2014, 04:32:06 AM
Thanks for all the new features you added.

Low-priority suggestion: MAIN.DAT with the LPIII/LPO color palette of the toolbar in the gameplay area, not just for the LPII/LPIII styles, but also the official and Sega styles. Also, the fonts that were used for the skill count in LPIII (there was one for the first demo of LPIII that looked like a digital clock, and the other one is, of course, the one officially used for LPIII/LPO).

Also, just wondering, but even after you finalize the NeoLemmix players, will you still accept submissions of Lemmings levels for the Extra player?
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: Tsyu on November 05, 2014, 04:57:20 AM
I noticed a few bugs (not necessarily new ones) that you should fix in the next version:
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: Minim on November 05, 2014, 06:44:12 AM
The RescueBlink feature really is distracting me right now. (And would definitely give my mum a migraine if I encouraged her to play this with this thing on. :P) I believe it's better to invert the blink mechanics for the next update - in this case, blink when enough lemmings have been rescued, rather than not enough lemmings and to prevent more distractions, if you could get the feature to blink only once, would be a real treat for me.
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: namida on November 05, 2014, 08:50:30 AM
Thanks for all the new features you added.

Low-priority suggestion: MAIN.DAT with the LPIII/LPO color palette of the toolbar in the gameplay area, not just for the LPII/LPIII styles, but also the official and Sega styles. Also, the fonts that were used for the skill count in LPIII (there was one for the first demo of LPIII that looked like a digital clock, and the other one is, of course, the one officially used for LPIII/LPO).

Also, just wondering, but even after you finalize the NeoLemmix players, will you still accept submissions of Lemmings levels for the Extra player?

MAIN.DAT: I don't have the demo one anymore, but I've attached the LPIII main.dat (latest version) to this post. The images you're looking for (once extracted) are skill_#_##.bmp, panel_01.bmp, and skillicon_##.bmp. Also, the Floater and Glider graphics, maybe.

Extra: Hopefully, we'll get all the levels *before* that. :)

I noticed a few bugs (not necessarily new ones) that you should fix in the next version:
  • The editor is expecting the INI file of the SuperLemmini Xmas style to be called Christmas.ini, which is happening because the editor is using the GraphicSetName field for the INI file. Here's what I suggest doing for Lemmini/SuperLemmini styles: Remove the GraphicSetPath field and instead use [GraphicSetInternalName]\ for the path. For the INI file, use [GraphicSetInternalName].ini. For special styles, the path should be special\[GraphicSetInternalName]\ instead.
  • You need to make the Shift Level dialog box slightly bigger. On my Windows 7 system, unless I switch to the Windows Classic theme, the dialog box is a bit too small, causing scroll bars to appear that hide the OK and Cancel buttons. The same should also be done to the Level Errors and FormCompile (the one that shows compile progress) dialog boxes since they also have the same problem, albeit not as bad.
  • When you get the chance, go through the items in the drop-down menu and make sure that every item that's guaranteed to launch a dialog box ends with an ellipsis, and that all the others do not. ("Close level..." and "Shift level" are examples of items that should have an ellipsis added or removed.)

1. Good idea. It is somewhat redundant having both.
2. I'd been meaning to do this, but obviously forgot about it before doing the release.
3. Is this the standard for menus? If so, I'll do that.

The RescueBlink feature really is distracting me right now. (And would definitely give my mum a migraine if I encouraged her to play this with this thing on. :P) I believe it's better to invert the blink mechanics for the next update - in this case, blink when enough lemmings have been rescued, rather than not enough lemmings and to prevent more distractions, if you could get the feature to blink only once, would be a real treat for me.

I put it the way it is to keep it consistent, but I can probably add an option to do it the way you're asking for instead.



EDIT: I should mention with the LPIII MAIN.DAT, you'll probably want to turn on the SYSTEM.DAT option to center single-digit skill counts. If you're using an older version (that uses LemMain-generated SYSTEM.DAT sections in MAIN.DAT), IIRC this option is called "center_digits"; while in the NeoLemmix Editor's SYSTEM.DAT editor it's called "LPIII Style Skill Counts". If you don't want to use this option, you'll probably want to edit the left-side 0 digit.
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: Minim on November 05, 2014, 02:02:43 PM
The RescueBlink feature really is distracting me right now. (And would definitely give my mum a migraine if I encouraged her to play this with this thing on. :P) I believe it's better to invert the blink mechanics for the next update - in this case, blink when enough lemmings have been rescued, rather than not enough lemmings and to prevent more distractions, if you could get the feature to blink only once, would be a real treat for me.

I put it the way it is to keep it consistent, but I can probably add an option to do it the way you're asking for instead.

Yes please. It makes more sense in my opinion.

Also, I encountered lots of glitchy behaviour involving the wraparound gimmick using certain skills, mainly because of disappearing sprites. I tested some of the skills concerned on Tricky 1, the level with terrain on all four corners, and Fun 12, a level in the open.

Here's the list, with H & V being Horizontal and Vertical wraps:
* Digging an H: The lemming digs one side of the hole rather than both sides. Also, it keeps digging even when there's no terrain if combined with V.
* Mining an H: The miner keeps going but there's a wall on the other side, preventing anyone else going through the miner's tunnel.
* Bashing an H: The basher stays still ands keeps bashing without advancing further.
* Building and platforming H and V: It keeps building as normal but a step cuts off at the other side, making the other lemmings fall off.
* Mining a V: The miner stops and turns into a walker.

The V digger and the Climbers, Floaters and Gliders work perfectly, but other than that, you might want to fix those disappeared sprites...
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: Tsyu on November 06, 2014, 02:21:28 AM
3. Is this the standard for menus? If so, I'll do that.
Actually, I should amend that to "items that always need to get additional input from a dialog box to do anything." So, things like the Inspector and Level Properties windows and the About item would not take ellipses. And yes, that's the standard as far as I can tell.

I have another bug to report: The "One-Way Inversion" check box shows the opposite state of what's in the level file, so it's checked when it shouldn't be and vice versa. The same thing applies when it's saved.
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: namida on November 06, 2014, 03:49:27 AM
That way of working / level formatting is intentional; to allow the more logical opt-in being default, while not breaking existing levels.
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: Wafflem on November 06, 2014, 04:15:55 AM
In the NeoLemmix editor, some levels refuse to load if the release rate was previously set at 100; an example of this is Level 7 of geooPk1.dat. The error reads:

Invalid release rate (100)

Also something worth pointing out, and this has also happened in EricLang's version: some levels that were previously made in DOS LemEdit end up with white lines. Attached is an example. Clicking on a white line gives me the error "List index out of bounds (61)"
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: Tsyu on November 06, 2014, 04:26:19 AM
That way of working / level formatting is intentional; to allow the more logical opt-in being default, while not breaking existing levels.

What I mean is that the option currently works like this:

option checked -> flag not set
option not checked -> flag set

...whereas it should really work like this:

option checked -> flag set
option not checked -> flag not set

To get the behavior that you want, the editor should enable the flag by default, similar to how the "extended format" option worked.

(In case it's not clear, "option" refers to the check box in the Level Properties window, and "flag" refers to the relevant flag in byte 0x09.)
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: namida on November 06, 2014, 04:33:51 PM
In the NeoLemmix editor, some levels refuse to load if the release rate was previously set at 100; an example of this is Level 7 of geooPk1.dat. The error reads:

Invalid release rate (100)

Also something worth pointing out, and this has also happened in EricLang's version: some levels that were previously made in DOS LemEdit end up with white lines. Attached is an example. Clicking on a white line gives me the error "List index out of bounds (61)"

This is related to the issue with levels that have invalid pieces being problematic. When I fix one, the other will fix as well, as they're both the same root cause.

That way of working / level formatting is intentional; to allow the more logical opt-in being default, while not breaking existing levels.

What I mean is that the option currently works like this:

option checked -> flag not set
option not checked -> flag set

...whereas it should really work like this:

option checked -> flag set
option not checked -> flag not set

To get the behavior that you want, the editor should enable the flag by default, similar to how the "extended format" option worked.

(In case it's not clear, "option" refers to the check box in the Level Properties window, and "flag" refers to the relevant flag in byte 0x09.)

I did consider doing it this way, but it could be confusing... also, do keep in mind that the average end user is probably not going to know the technical side of the level format, so it makes no difference to them. Ultimately - the editor is consistent; the option in a terrain piece is described as *enabling* one-way, so to the average end user, they won't see a problem. How it works behind the scenes, similarly, is described consistently in the level format document. However - just to be clear on this, I'll add a note to the format documentation pointing out that the editor handles it this way (if I didn't already put one there).





By the way, I added this to the above post where I attached the LPIII MAIN.DAT, but I'll post it here too since you might not see it above:
Quote
I should mention with the LPIII MAIN.DAT, you'll probably want to turn on the SYSTEM.DAT option to center single-digit skill counts. If you're using an older version (that uses LemMain-generated SYSTEM.DAT sections in MAIN.DAT), IIRC this option is called "center_digits"; while in the NeoLemmix Editor's SYSTEM.DAT editor it's called "LPIII Style Skill Counts". If you don't want to use this option, you'll probably want to edit the left-side 0 digit.




Finally, although I haven't done any fixing yet, I've made a note in the respective todo lists of all the bugs that have been reported here (and the alternate rescue blink mode suggestion).
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: Tsyu on November 07, 2014, 04:34:36 AM
I did consider doing it this way, but it could be confusing... also, do keep in mind that the average end user is probably not going to know the technical side of the level format, so it makes no difference to them. Ultimately - the editor is consistent; the option in a terrain piece is described as *enabling* one-way, so to the average end user, they won't see a problem. How it works behind the scenes, similarly, is described consistently in the level format document. However - just to be clear on this, I'll add a note to the format documentation pointing out that the editor handles it this way (if I didn't already put one there).
OK, I think I see what you mean.

Speaking of the documentation, I noticed that the "General structure of a level" section still describes the object section's size as being 16 bytes x 64. This should be updated.
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: namida on November 07, 2014, 05:06:52 AM
Thanks for that. Fixed. :)


Anyway, as far as bug fixes for the player go... I've fixed the issue where wraparound lemmings are still only visible on one side (they somewhat "jump" from one side to the other). This is only graphical though; I haven't fixed the functional side of anything yet, though I have found a few more issues. In general - any skill that modifies the level needs fixing, while the skills that affect the lemming itself only don't seem to have issues. I'm pretty much just going to test all the skills very thoroughly with the wrap gimmicks and see if there's any issues, except for three that I can tell won't have issues (Walker, Mechanic and Cloner, the Mechanic because trap trigger areas themself don't wrap and the other two for obvious reasons) and two that I already know work fine (Floater and Glider).

Before that though, very next one to fix is that a lemming can only be selected on one side or the other when it's near the edges, instead of being selectable on both sides. EDIT: Done that, now on to testing skills.


Walker: (no testing needed)
Climber: No issues.
Swimmer: No issues.
Floater: (no testing needed)
Glider: (no testing needed)
Mechanic: (no testing needed)
Bomber: Issues identified, fixed.
Stoner: Issues identified, fixed.
Blocker: Issues identified, fixed.
Platformer: Issues identified, fixed.
Builder: No issues. *
Stacker: Issues identified, fixed.
Basher: Issues identified, fixed.
Miner: Issues identified, fixed.
Digger: Issues identified, fixed.
Cloner: (no testing needed)

* I did notice the reported issue above, but this didn't happen when testing. Most likely, fixing the Platformer also fixed the Builder, as the section of code where the Platformer fix was implemented is a part that's shared between the two skills.


minimac, I couldn't reproduce the glitch you mention about a digger continuing when there's no terrain with H + V wraps. Could you tell me exactly how you triggered this?


Next things to do for the V1.25n-B release will be the level modifications on Extra, and possibly some (or even all) of the Lemmings Plus levels. Just for reassurance, none of the Lemmings Plus levels (except of course Holiday Lemmings Plus which already uses them) are going to be modified to use the new skills; it'll only be the sizes, making sure they still work properly under the latest mechanics (and perhaps in some cases making use of new features like the one-way options), and possibly minor modifications to decorative terrain. I might also implement the highlight feature, not sure yet.


EDIT: Highlight lemming is definitely in the next update. It's already 95% implemented; the missing 5% being the graphic to show which lemming is currently highlighted. Default behaviour is right-click a lemming to highlight it (with select-walker now being moved to Ctrl+Click; there's an option in the INI to swap these around for those who are used to right-click for walker selection); to select a skill for them, right-click the skill.

EDIT: Fully implemented now! :D


Something else. I was going to implement the "ghost rank" option, then I realised that with the way those two features it'd be useful for (oddtabling and the "rickroll" gimmick), it probably isn't even nessecary to do any special code - it should be as simple as including an extra LEVELxxx.DAT file that's outside the number of ranks. And indeed, doing that works!

Anyway, I'm now working on the levels for Extra. At the moment, Present and Sunsoft are done. (The "Genesis" rank isn't, as I'm doing these three in reverse order, to make it easier to apply the oddtabling as needed - currently it doesn't use oddtabling where it could (some of the Genesis/Present/Sunsoft levels, as well as Sega One, Two, Four and Five (Sega Three has a minor terrain difference between the two versions).)
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: namida on November 07, 2014, 11:21:46 AM
Extra is mostly done. What I'm going to do (I'll start soon) is not release all the V1.25n-B's at once when they're all done, but rather, I'll put up the already-done-in-V1.25n ones as well as Cust and Flexi soon (once I completely finish Extra - still got to test a few things, as well as do the VGASPEC levels and double-check that oddtabling is used wherever possible), and roll out the Lemmings Plus ones one-at-a-time as they're done (Holiday Lemmings Plus will be available right away since it doesn't *need* any changes; it has no one-way arrows and already uses the variable sizes).

The only new engine features are the bugfixes relating to the wraparound gimmicks and the Highlight Lemming feature.

(Just to reassure everyone, I haven't forgotten about updating Traditional Flexi to use the new SYSTEM.DAT. I'll do it sometime soon. :) )
Title: Re: NeoLemmix (Player: V1.25n | Editor: V1.25n-A)
Post by: namida on November 08, 2014, 01:17:27 AM
As for the old format support in the editor:
For now, they'll be kept. I'm going to look at reworking it in other ways to more efficiently differentiate between formats.

And just for peace of mind - even if support for saving and editing traditional Lemmix and/or Lemmini levels is dropped, support for loading them will be kept.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 08, 2014, 01:56:21 AM
Okay, rolling out of V1.25n-B updates has begun.

NeoLemmix V1.25n-B
------------------------------
*  Added a highlight lemming feature. To use this, right-click a lemming (or hold Ctrl
   and click a lemming, if CtrlHighlight option is turned on in the INI file) to mark
   it, then right-click a skill to assign it to that lemming. Right-click an empty space
   to deselect the lemming without selecting a new one.
*  Selecting a walker only has been changed from right-click to Ctrl+Click, as right-click
   is now used for highlighting a lemming. If the CtrlHighlight option is turned on, then
   selecting walkers only is reverted to right-click.
*  Fixed many issues with the two wraparound gimmicks.
*  Fixed the positioning of countdown digits above left-facing lemmings.
*  When dumping levels, the popup asking whether to hard-apply oddtabling or not only appears
   in Orig, Extra, LPDOS, Cust and Flexi (since other players don't use oddtabling).
*  Levels have been adjusted in all players.


Downloads are here. Note that this is the same folder as the V1.25n players, so those that haven't yet been updated will just be V1.25n. They are not yet available on the NeoLemmix website; I'll put them up on there once all of them are completed.

EDIT: They're all done now.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: Wafflem on November 09, 2014, 01:04:42 AM
There is an issue with the objects when I use the Traditional CustLemmix test mode in the NeoLemmix Editor; it is that the objects end up moving a bit to the left when I play them in test mode. It might be a similar issue to an error I reported regarding objects moving left when playing a VGASPEC mode.

Assign All + Disobedience: The first lemming assigned shrugs, but when you click him the second time to assign the skill, all other lemmings shrug. Shouldn't all lemmings shrug?

Very great job with the highlight lemming, it definitely will be an extremely helpful tool, especially in levels with crowded lemmings. However, if i press "B" to go back, the arrow disappears.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 09, 2014, 03:28:32 AM
There is an issue with the objects when I use the Traditional CustLemmix test mode in the NeoLemmix Editor; it is that the objects end up moving a bit to the left when I play them in test mode. It might be a similar issue to an error I reported regarding objects moving left when playing a VGASPEC mode.

Assign All + Disobedience: The first lemming assigned shrugs, but when you click him the second time to assign the skill, all other lemmings shrug. Shouldn't all lemmings shrug?

Very great job with the highlight lemming, it definitely will be an extremely helpful tool, especially in levels with crowded lemmings. However, if i press "B" to go back, the arrow disappears.

For CustLemmix, it's probably not related to that. I have an idea of why it might be happening, I'll check when I next look at the editor source code.

Assign All + Disobedience: I noticed this, and felt that it could give more interesting results than making all lemmings shrug the first time, so left it as is.

Pressing B during highlight lemming: This is because anything that goes "backwards" actually replays (very quickly) the entire level up to the target point. In the case of pushing B, the entire level is replayed up to one frame before the current one. Whenever the level is reset, the highlighted lemming is cleared, and currently, replays do not keep track of the highlighted lemming so it won't be re-highlighted. I'll see what can be done about this.



Also - I didn't mention this before though some people might've guessed - you can use directional select (and, for that matter, the "only select walkers" option) while choosing a lemming to highlight. For example (this is on default controls), if you hold Left Arrow *and* Ctrl, then right-click a lemming, you'll only end up highlighting a walker who's facing left.

I'm also thinking about adding an option to allow you to change to the next / previous lemming (eg: if you've got the first lemming that entered the level highlighted, then you push the button, it'll move the highlight to the second lemming). This will mean that, without exception, you can select *any* lemming at *any* time.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 09, 2014, 04:58:05 AM
V1.25n-B of Lemmings Plus DOS Project is now up. Just leaves LPII, LPIII, and the respective bonus packs to go.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: Wafflem on November 09, 2014, 06:02:46 AM
Fun 2 of COVOX isn't actually adjusted; in fact, the whole level is on the very left side, and there is a huge blank space on the right side of the level.

Also, I cannot download the Neo COVOX player from the NeoLemmix website.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 09, 2014, 06:04:02 AM
Fun 2 of COVOX isn't actually adjusted; in fact, the whole level is on the very left side, and there is a huge blank space on the right side of the level.

Also, I cannot download the Neo COVOX player from the NeoLemmix website.

1) That would suggest that I forgot to edit the Width parameter (but *did* correctly move the level to the left side, as well as the other changes on this one - the Covox levels were slightly more heavily modified than others due to the extremely untidy-looking design in many of them.).
2) I'll check that, hang on.

EDIT: Both are fixed. (It's still the old version of the player on the website though; I'm not putting the V1.25n-B's up there until *all* of them are done. Current progress: Done the first 3 ranks for LPII.)

EDIT: Probably should clarify. Fixed version of Covox is uploaded (on DropBox).
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 09, 2014, 04:42:47 PM
V1.25n-B Lemmings Plus II is now up.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: Wafflem on November 09, 2014, 05:34:05 PM
Genius 19 has not been adjusted yet, as I can still scroll to the blank areas on the left and right.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 09, 2014, 05:36:12 PM
Genius 19 has not been adjusted yet, as I can still scroll to the blank areas on the left and right.

Must've missed that; I made some other slight adjustments to that level. (Specifically, a lot of LPII levels had one blank row of pixels along the bottom of the level, including Genius 19; while doing these updates, I got rid of most if not all of these.)

I'll fix it up tomorrow.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 10, 2014, 02:20:24 AM
Fixed.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 10, 2014, 05:43:01 AM
Lemmings Plus II Bonus Pack is now up.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 10, 2014, 06:27:30 AM
Lemmings Plus III is now up. That means only the LPIII Bonus Pack remains.

EDIT: I've noticed a bug where the NeoLemmix Players, when dumping levels, don't seem to save the VGASPEC-by-name correctly (they *load* it fine, however). Once I'm finished with the LPIII Bonus levels, I'll start right away on the V1.25n-C update, which will fix this issue as well as upgrade the sound similarly to what was done in the latest traditional Lemmix update.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: Minim on November 10, 2014, 06:53:02 AM
Just a minor discovery I've found whilst playing the extra Levels: The screen start of Sunsoft 19 is in the wrong place, only showing the exit and not the entrance.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 10, 2014, 07:41:16 AM
Lemmings Plus III Bonus Pack is now done. Lemmings Plus III has also been reuploaded as I found something I missed in one level.

They're all being uploaded to the NeoLemmix website as we speak.

minimac: That issue happens with a few levels; I thought I had caught and fixed most of them though. Let me know if you find any others; eventually I'll go through and fix them all. (Extra is especially likely to have them; I'm fairly sure I caught all of the ones in the Lemmings Plus packs, others might have one or two here and there.) Specifically, the underlying cause of it is if the start position is outside the level boundaries, it currently moves it to the far-right. Since I re-dump and re-pack all levels prior to the releases (to ensure they all have the correct name *and* number for the graphic sets, just in case), it also then writes this adjusted value in at this point, meaning that it'll have to be adjusted manually.



May be worth holding off on the downloads (if you haven't already) for a bit, cause I should be able to do the V1.25n-C update very shortly; there's not much I want to add (primarily just the new sound code, and also fixing the VGASPEC name in dumped levels).

EDIT: It appears the issue's actually with the editor, not the player, so the only change to do is adding the new sound system.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-A)
Post by: namida on November 10, 2014, 08:03:14 AM
Why not.

NeoLemmix V1.25n-C
------------------------------
*  Implements new sound code that allows for more than one sound effect at a time.

https://www.dropbox.com/sh/9pbvgx8ihlqhh2z/AABBgteLgs9tPEkf595nO625a
http://www.neolemmix.com/old/neolemmixplayers.html
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-A)
Post by: namida on November 10, 2014, 09:03:58 AM
Doing some work on the editor now. I've fixed the issue with the Christmas style in SuperLemmini  (and as suggested, removed the "GraphicSetPath" parameter and instead just used the internal name; since these should always be the same anyway), going to look at the level shift in CustLemm, the RR100 issue and the VGASPEC style-by-name issues next as those are the most urgent ones.
Title: Re: NeoLemmix (Player: V1.25n-B | Editor: V1.25n-A)
Post by: namida on November 10, 2014, 09:08:28 AM
There is an issue with the objects when I use the Traditional CustLemmix test mode in the NeoLemmix Editor; it is that the objects end up moving a bit to the left when I play them in test mode. It might be a similar issue to an error I reported regarding objects moving left when playing a VGASPEC mode.

Okay, I looked into this and there's no issue here. This is just an inconsistency between DOS and traditional Lemmix; DOS restricted object X positions to multiples of 8. Traditional Lemmix doesn't currently handle this properly (it allows any arbitrary X position for the graphic); the editor does not enforce it while editing (the same is true for many DOS format limitations) but *does* enforce it when saving the level. This is why this is happening; it's not a bug in the editor because having them at the exact positions would be outside what traditional Lemmix should be able to do.

Since it looks like traditional Lemmix editing is going to be kept, I'll make sure this is enforced while editing in a future update (though not the next one).
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 10, 2014, 10:43:44 AM
An update for the NeoLemmix Editor! Most (but not all) of the updates are related to SuperLemmini levels.

NeoLemmix Editor V1.25n-B
--------------------------------------
* Can edit Author field in SuperLemmini levels.
* Can edit Music field in SuperLemmini levels.
* Supports marking terrain as One-Way Wall friendly or not in SuperLemmini levels. Please
  note that the "One Way Inversion" option is not actually supported by SuperLemmini, so
  its effect is applied by the editor when saving or loading a level.
* (Super)Lemmini styles no longer have a "GraphicSetPath" parameter; it's instead determined
  from the graphic set's internal name (as these should always match anyway for the style
  to work in (Super)Lemmini).
* The editor no longer refuses to load levels with release rates over 99.
* Style-by-name now works properly for VGASPEC when loading levels.
* The size of some dialog boxes has been slightly increased to avoid scrollbars.


https://www.dropbox.com/s/y8rjdky5g15g5jx/NeoLemmixEditor_V1.25n-B.zip

Please note, you may need to recompile your (Super)Lemmini styles even if you don't replace the NeoLemmixStyles.INI file.


EDIT: I've noticed also that the NeoLemmix players create a file "test.wav" (which is one of the sounds from the game) every time they run; this was a line of testing code while implementing the new sound system that I forgot to take out. You can safely delete this file; I'll make sure I fix it in the next update.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: Wafflem on November 10, 2014, 09:15:14 PM
Small suggestion, and this is based on one of Mariachi Skeletron Prime's threads: an INI option to make every skill currently in the skillset infinite. (though this could also be achieved with the Overflow gimmick, but visually it looks nicer if the skills are displayed as infinite as opposed to counting down).

Another thing if I set the sounds on FX. When I play a level and before it says "Let's go!", I press 'M' to turn on the level's music. However, after the trapdoor opens and a lemming comes out, the music resets to the beginning. The same thing occurs with levels with pre-placed lemmings only after they say "Let's go!" This should be improved so that the music continues to play even after a lemming comes out of the trapdoor.

Also, great job with the sound changes.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 11, 2014, 03:13:24 AM
Small suggestion, and this is based on one of Mariachi Skeletron Prime's threads: an INI option to make every skill currently in the skillset infinite. (though this could also be achieved with the Overflow gimmick, but visually it looks nicer if the skills are displayed as infinite as opposed to counting down).

Is there any reason that Challenge Mode doesn't cover what you're after? It gives infinite use of all skills, basically it starts them at 0 and combines Overflow and Count Upwards gimmicks, meaning you have unlimited use but can also keep track of how many you've used. It also saves the used skill count to the text version of a replay, if you save one.

Obviously due to the two-digit limitation on the skill panel, if you exceed 99 uses of a skill only the last two digits will be displayed (eg: if you use 125 builders, the skill panel will show 25 for the builders); however the value saved in the text replay is accurate (so in this case, the text replay would say 125).
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 13, 2014, 12:01:33 PM
I had another look at a feature that was requested quite some time ago, namely the option to encrypt level packs. This might be more doable than I previously thought; I'll look at including it in the next version.

Obviously, it won't be an overly strong encryption (though far more so than the "protect graphic set" feature on LemSet, which adds no protection other than setting a flag which, if LemSet finds, it will refuse to decompile the graphic set), but it should be more than enough for the simple purpose of preventing the average end user from opening your pack and discovering where the secret levels are. :) As an extra layer of protection for that end, I probably won't include decryption functionality in the editor at all (only the player will be able to open the encrypted files).

If I do implement it, I'll allow for its use with LVL files loaded via LookForLVLFiles too, allowing people to release LVL files as updates to single levels without having to update the entire pack. Do note - there WON'T be any option (even in Flexi) to "load encrypted LVLs only", meaning if you do allow this, there's still nothing stopping someone from popping in a custom-made level file. It's more useful for, for example, test versions of packs (similar to the ones I sent to testers for LPIII and HLP).
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: Wafflem on November 13, 2014, 06:26:41 PM
Forgot about Challenge Mode. Yeah, that's a great way to have infinite skills.

This came into my mind while reading Lemmings Plus C Project. I have a thought for something similar to the Congratulation screen that you see after beating the very last level of the last rank. I'm thinking of an Intro screen, where you can write your own introduction to the fangame. Something that is very similar to this:



This isn't just limited to before first level of a rank. It can also be used to introduce other ranks (e.g. "Welcome to the Tricky rank. The puzzles will get harder now"). You could even do this screen in-between two levels.

Also (spoiler to those who haven't played the Party levels in LPIII Bonus):
Quote from: Spoiler
You could also modify it so that if people see the Rickrolls in Party 3, then press Esc, they will see a screen that says "Gotcha again! : P" (without the level map and stats) in the middle.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 13, 2014, 11:28:14 PM
I'll consider that idea, no guarantees though.

Something I have done though... check the saved image. :D
Although not apparent from this pic, nothing in the original graphic set has been removed; I expanded it to allow more than 64 pieces (up to 128 terrains and 32 objects). The somewhat weird placement is because I haven't added support for it to the editor yet, so I had to hex edit these into a level. (EDIT: It's supported in the editor now.)

RGB-based colors is also supported (not shown in pic). They still need a defined 16- or 32-color palette, for the purpose of brick color, and certain colors in lemming animations, but the terrain pieces and objects aren't limited to using the palette.

It's possible I might backport this to Traditional Lemmix. It's not overly difficult to implement.

For anyone wanting to implement support for these extensions into other engines/programs:
- For extra terrain/objects, at the end of the GROUNDxO.DAT file, the same format is repeated (it even includes a second set of palette entry bytes, though these obviously are unused).
- For RGB values, 0x40 is added to the usual flags byte, and all images are read as 19-bit, the 19th bit being an alpha bit. (The mask location is not to be used in this case, and should not be assumed to be accurate.) As usual, each pixel is an 18-bit color, not a 24-bit one.

In NeoLemmix LVL format, the higher ID numbers can be used directly. For traditional Lemmix format, the terrain ID number can't be; still need to come up with a workaround for this.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 14, 2014, 10:08:29 AM
I may as well mention now - I'm intending for all three of the poll options to be present in the next version. The extended graphic sets is already implemented (including in the editor now) and a steel-containing version of the Bubble style has been made, and the config screen is being worked on at the moment. The saved game feature will be last (and might not make it until a later version) as I intend to save the config options in here too; so it'll be easier to tell if the config menu is working while still using INIs to save the configuration.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 14, 2014, 12:08:16 PM
Config menu is coming along very nicely. At the moment, almost everything that can be configured in the INI file can now be configured via the built-in config menu. The exceptions are:

Activating/Deactivating Cheat Mode
This can be done in-game via entering the cheat code. I don't intend to add it to the config menu.

Turning Sound/Music On/Off
At the moment, this option exists on the title screen so there's no need to add it to the config menu; if I remove it from there (possibly to add the icon for the config screen) I'll add it in here.

EDIT: It's been added to the menu now.

NeoCustLemmix Level Pack Name
I'll probably add this later, though I might leave it as INI-based.

NeoCustLemmix Data File Prefix
Same for this one.

Background Color
I'm not quite sure *how* I'd even implement this one, unless it's just selecting from a list of a few presets.

Forced Gimmick/Skillset Selection
This is still on the to-do list, but for obvious reasons is more complicated to implement than the rest of the menu.

This one has now been implemented.


It's also coded so that irrelevant/disabled options won't show up. For example, the "Test Mode Setting" will only show up in NeoCustLemmix's config mode, and "Look For LVL Files" option won't show up in a Flexi-based pack where the author has disabled LookForLVLFiles in SYSTEM.DAT.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 14, 2014, 06:55:23 PM
Save system is semi-implemented. Specifically, it's there, but the "level select" menu isn't. However, any level that's been unlocked (which doesn't necesserially mean beating the level before it; for example secret levels are considered unlocked when you find them, and if you skip to a level using a code then it's considered unlocked afterwards; it does seperately keep track of which levels have actually been beaten though there is currently no way to see this) can be skipped to using the same codes as used with cheat mode (even if cheat mode isn't active). For example, if you've played up to Tricky 10, you could (without enabling cheat mode) enter "TRICKY6" as a code.

All configuration options except for the three that can't yet be configured via the menu (ie: background color, and level pack name / data file prefix for Cust) have also been removed from the INI file; they're now stored in the save file.

The save file also tracks (although there currently isn't any way to display) your best time and best lemmings count rescued for each level.


EDIT: I should also add, if you have cheats enabled and use the push-5-to-complete-level cheat, it *will* mark the following level as accessible, but it won't mark the current one as beaten. For example, if you're on Tricky 5 and use it, then from that point onwards both Tricky 5 and Tricky 6 will be marked as unlocked, but Tricky 5 will still be marked as unbeaten (and no records entered for it).
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: Minim on November 15, 2014, 07:24:36 AM
Another discovery (albeit minor) I found whilst retrying the Karoshi Gimmick challenge for Oh No: The Hammer trap at Wicked 1 doesn't work. Maybe because it's placed too high? I'll see if this involves any of the others...

Edit: Found a couple more major errors:
* In Wild 12 the Ice blaster is placed too high. I think it's supposed to prevent a backroute where the lemmings can just bash under the two walls without difficulty.
* Havoc 20 is impossible because of bad terrain placement. The lemmings on the left side splat upon entering.

I'm enjoying this task! :P Found some errors in the Extras too:

Genesis 5, 23 and Present 24 etc: Both zapper traps don't work. OK, I've proved the assumption that every floor zapper trap in the Genesis levels are placed too high.
Present 5, Genesis 17 and 32: Bad screen start positions. I could say the same for Genesis 1 too, despite the fact it's showing an entrance, IMO it should be showing both entrances and the exit.
Genesis 28: I noticed a missing row of pixels at the top row. The VGAspec must've been placed 1 pixel further down than its supposed position.
Genesis 40: The trap near the exit doesn't work. The trap on the right works okay.

Present 25 is interesting. There's a wall spike trap near the exit that's facing the wrong way. Not sure whether this is intentional or not, but I've never seen that before. A good idea to prevent backroutes I suppose...
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: Tsyu on November 15, 2014, 09:45:36 AM
Genesis 28: I noticed a missing row of pixels at the top row. The VGAspec must've been placed 1 pixel further down than its supposed position.
It's like that in the Genesis version too.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 15, 2014, 12:43:30 PM
Present 25 is interesting. There's a wall spike trap near the exit that's facing the wrong way. Not sure whether this is intentional or not, but I've never seen that before. A good idea to prevent backroutes I suppose...

I haven't modified the *type* of any objects, so if this is the case, it was either like that originally in Genesis, or was the result of the level being badly ripped. (Or possibly (though unlikely) caused by a glitch somewhere along the line.)

As for the rest of them, noted, and I'll get onto them at some point soon. I thought I had adjusted those zapper traps though... I was aware that some may not work in their old positioning. Perhaps the trigger area should be re-adjusted...
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: Wafflem on November 15, 2014, 01:01:43 PM
Your NeoLemmix New Skills Tutorial Pack's level sizes have not been adjusted yet.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 15, 2014, 01:38:49 PM
Your NeoLemmix New Skills Tutorial Pack's level sizes have not been adjusted yet.

I don't plan to adjust those ones.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 15, 2014, 02:03:51 PM
KNOWN BUG IN NEOLEMMIX:
(Actually, I've known about this one for a while, but I keep forgetting to both mention it and fix it.)
Stackers usually won't work if placed right on the edge of terrain; they'll stack 1 pixel in midair then walk away.

This bug is fixed for the next update. :)
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: Minim on November 15, 2014, 06:19:29 PM
Found a few more levels with a bad screen start position: Sunsoft 16 and 17. But anyway, thanks for fixing Sunsoft 19.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 16, 2014, 06:43:38 AM
Thanks for that. I've fixed all the ones you reported earlier (not these two you've reported just now though, not yet anyway :P ); about Genesis 1, although the start position is very weird, it was like that in the original Genesis level too. Nonetheless, I've adjusted the start position for the NeoLemmix version now.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.25n-B)
Post by: namida on November 17, 2014, 11:56:46 AM
For those who didn't see it mentioned in Crane's topic, there is a known MAJOR issue with the editor for Lemmini and SuperLemmini levels; specifically it can cause level pieces to be removed. In the meantime please ALWAYS keep a backup copy of any Lemmini and SuperLemmini levels you're working on; I'm going to make sure this bug is fixed in the next update.

I only just received a message from Crane detailing what exactly happened in his case; reading this has given me a very good idea of what might be causing the bug though I haven't done any testing myself yet. If my suspicion about the cause is correct, this problem should not ever occur with Lemmix / NeoLemmix levels; only Lemmini / SuperLemmini.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.26n-A)
Post by: namida on November 17, 2014, 06:49:41 PM
I usually prefer not to release an editor update before the associated NeoLemmix Player version, but due to the above bug I'll make an exception here.

NeoLemmix Editor V1.26n-A
--------------------------------------
*  Has new versions of a few styles with slight modifications:
    -          VGAGR4 (Crystal): Adjusted the trigger areas on the two zapper traps
    -           VGAGR8 (Bubble): Added steel pieces
    - VGAGR24 (Crystal Genesis): Adjusted the trigger areas on the two zapper traps
   This only applies to the NeoLemmix versions of the styles.
*  Support for RGB-based graphic sets, and graphic sets with up to 32 objects and/or 128 terrain
   pieces, has been added.
*  Fixed a bug that may cause pieces to disappear in Lemmini and SuperLemmini levels.
*  Fixed a bug causing the vertical screen start position to not be reset when creating a new level.
*  Piece count limits are more strictly enforced in Lemmix and NeoLemmix levels; you will not be able
   to add an extra piece if the limit has been reached. (Sometimes it will give an error message (for
   example, when pasting and the limit is exceeded), sometimes it silently just won't add a piece.
   I'll make this more consistent in a later update.)
*  Pieces in excess of the limits are removed when switching a level from (Super)Lemmini format to
   NeoLemmix format, or from any of those to CustLemm format. First, it will try compacting the list
   by moving pieces downwards into empty slots; but if any excess pieces still remain they will be
   deleted. (This behaviour previously occurred anyway but wouldn't be noticable until after saving
   the level; it's now noticable immediately upon conversion.)
*  Fixed the bug with the Validate Level option making reference to non-existant pieces.
*  Supports encrypting data files for NeoCustLemmix (support for Flexi will come later).


https://www.dropbox.com/s/xngxbcyidfa7ztu/NeoLemmixEditor_V1.26n-A.zip
http://www.neolemmix.com/old/neolemmixeditor.zip

NOTE: You won't be able to play levels with the new version of the Bubble style until NeoLemmix V1.26n is released. The new versions of the Crystal style (and its Genesis version) are fine for immediate use though. Encrypted files also won't work until V1.26n. The version of LemSet used to create RGB-based graphic sets has been available for a while, but likewise, they can't actually be used in NeoLemmix until V1.26n is released. It's not far from being ready; mostly I just need to do a few more level fixes in Extra, make sure all players have the updated style, and implement some special rules regarding the save system for NeoCustLemmix. (In all likelihood, I'll probably just disable the save system altogether (except for configuration settings) in NeoCustLemmix. The same isn't true for Flexi; the save system will be fully functional there.)

EDIT: To clarify on this about the bubble set - you can still use playtest mode with bubble set levels, but the new pieces won't show up (and are likely to cause an error if you try to playtest a level that uses them). Levels that don't use the new pieces should playtest fine.
Title: Re: NeoLemmix (Player: V1.25n-C | Editor: V1.26n-A)
Post by: namida on November 17, 2014, 08:36:36 PM
Update is almost ready; just have to fix two last-minute bugs (both relating to new features) that I found, specifically:

- NeoCustLemmix: There was nothing preventing accessing the secret levels by simply using the (non-cheat) level select. Fixed now.
- LPIII Bonus (and Flexi players with a secret rank): The secret rank needs to be selectable from the menu once at least one level in it has been unlocked. Fixed now, but this in turn caused another bug: Level 1 of the rank will become accessible if at least one other level in the rank also has been unlocked. Fixed that too.
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-A)
Post by: namida on November 17, 2014, 09:20:40 PM
Alright, here we go. One of the biggest updates in quite a while, and also means that pretty much all the major features are out of the way now (though of course, I need to implement some way to display the records).

NeoLemmix V1.26n
---------------------------
*  Added a save system. You can move between previously-accessed levels by pressing
   Left and Right on the preview screen, or by entering the rank name (or number)
   and level number as a code (eg: "TRICKY03" or "0203") - rank numbers must be two
   digits. Records are also kept of most lemmings saved, quickest time for completion,
   and highest score acheived, although these are not currently visible anywhere (except
   that the postview screen will say "New high score" if you beat your old one).
*  Added a configuration menu. Press F3 to access it from the main menu. Almost all
   configurable options can be set here. Accordingly, the music panel from the main
   menu has been replaced with one that indicates config options.
*  Most configurable options have been removed from the INI file and are now stored in
   the save file. The exceptions are the level background color (in all players), and
   the levelpack filename and data file prefix in Cust; these are still in the INI.
*  Supports RGB-based graphic sets, these can be created with LemSet V11.
*  Supports graphic sets with up to 32 objects and 128 terrain pieces (both of these
   are double the previous limit), these also can be created with LemSet V11.
*  Can now load encrypted data files. Note that some details of the formula for Flexi
   (specifically, differentiation between different Flexi-based packs) is not yet
   implemented, which is why the NeoLemmix Editor doesn't support encrypting for Flexi
   yet.
*  Fixed various minor issues in the Extra levels.
*  Fixed the "test.wav" bug
*  Secret ranks should no longer need to be at the end of the pack (though be warned
   that this is untested; it's just a side effect of other things in the update). The
   only limitation is that the first rank cannot be a secret rank.


Downloads:
DropBox
NeoLemmix Website: Cust | Flexi | Others

Just to be clear, I have no intention of adding the save system to Traditional Lemmix, but I do plan to add the configuration menu and the RGB-based images / 32 objects / 128 terrains graphic sets (and yes, steel pieces in the Bubble style). The graphic set thing I'm working on now, the config menu won't be done until it's completed in NeoLemmix (including the CustLemm options).

As usual, big updates probably mean a few bugs snuck in, so let me know if you find any.

(I should probably note - the fact that it jumps to a seemingly "random" level from the main menu isn't a glitch; what it's actually doing is jumping to the first level in the selected rank that has been unlocked but not completed; it'll jump to the last level if all of them have been completed.)


EDIT: I should also be clear, just before anyone wastes their time trying... no, the new gimmicks from LPO are not present in this version. I've coded it so that (for now) they only work in Omega itself, nothing else.
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: namida on November 17, 2014, 11:49:22 PM
It's very soon after the last update I know, but it's to add something that was meant to be in that update but I missed - supporting >64 terrains / >16 objects for Traditional levels. But while I'm at it, I added the new version of the traditional Bubble style too (I was going to just provide the updated style seperately until the next editor update, otherwise).

NeoLemmix Editor V1.26n-B
--------------------------------------
*  Has a new version of the traditional Bubble style with steel pieces added.
*  Supports more than 16 object types / 64 terrain types in traditional Lemmix format.


https://www.dropbox.com/s/pphg7gc694aviun/NeoLemmixEditor_V1.26n-B.zip
or
http://www.neolemmix.com/old/neolemmixeditor.zip

If you're not planning on creating traditional Lemmix levels (or aren't going to use the Bubble style, or don't want steel in it), you probably don't need to worry about this update.



I probably won't do any more updates for a little while on anything, unless serious bugs show up. My main Lemmings focus is going to be on LPO for a while (and I'll probably put together and release LPF at some point fairly soon too).
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: Wafflem on November 18, 2014, 03:58:55 PM
Loving the new save system, this is something that works very well for NeoLemmix. I also like that you can't enable CheatCodes by the INI file anymore; that has to be done via F2.

Some things that can be improved/fixed:
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: namida on November 18, 2014, 04:07:02 PM
Some things that can be improved/fixed:
  • Even when I set Music & Sound to FX, but when I exit and open the player again, the music resets to ON. No other option as far as I know are affected.
  • The force gimmicks and force skillsets should be in separate pages. Also, I find it inconvenient that you have to cycle through the gimmicks. Instead, the gimmick/skillset should follow a similar format to the gimmick/skillset menus in the NeoLemmix editor.
  • When you start the player, perhaps a screen asking you which save file you want to load before it takes you to the main menu? This can also include "new save", etc.
  • This one will make it more convenient. Normally, if you are at the first or last level of a rank that is available, you can't go from the first level to the last level rank unlocked and vice versa (e.g. press left at Fun 1 to go to Fun 26, the last level unlocked). This should be enabled.
  • Maybe try to remove the black flicker that occurs every time you change an option in the configuration menu?

1) I'll look into it before the next update.
2) Probably not a bad idea to split them. I don't know how practical it is to do it like the editor, given the limited screen space and lack of mouse (though I probably could add mouse on that screen if need be, though that would make it inconsistent with the other non-game screens). I've added a general comment "improve the forced skillset / gimmick selection" to my todo list.
3) It's not a bad idea to have multiple saves, though I'll probably save (heh. no pun intended) it until I've got everything in the save system working completely fine.
4) Great idea, I'll add that one in the next update.
5) I have tried. I'll look at it again at some point, of course, but I figured it wasn't worth delaying the release (especially since the updated editor was already out and I'm sure people were itching to use that new version of the Bubble set :P ) over a minor graphical issue in the configuration menu.


EDIT: For #4, I will implement that but in the meantime - for levels you've already unlocked, you can enter their rank and level number (exactly the same as with cheat mode) to quickly jump to them. Eg: If you've unlocked Tricky 15, you can enter "TRICKY15" as a code, whether cheat mode is enabled or not. (But if you haven't unlocked it yet, this code will only work if cheats *are* enabled.)


I think the real test of the save system will be when Lemmings Plus Omega is ready for release, as that'll be the first case of new content that has the save system from Day 1.



Also - in case you were wondering, the save files can be transferred between PCs etc without any problem. But you can't use a save file from one game on a different game (eg: you can't use an Orig save on OhNo; it'll just ignore it altogether and start from scratch). At the moment, you can use a save from one Flexi game on a different Flexi game, but I plan to change this of course. This isn't based on the filename, but on the game's code seed number, so renaming OhNo to "LemmixPlayerNeo.exe" won't let you use an Orig save (and won't stop you from using an existing OhNo save from before you renamed it).
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: namida on November 19, 2014, 01:46:56 AM
Known bug in NeoLemmix player:
If you access a later level in a rank with cheat codes before you play (or at least view the preview screen of) Level 1 of that rank, you won't be able to access Level 1 of that rank anymore unless you either access it via a cheatcode, or complete the final level of the previous rank. This is meant to happen with secret ranks but is actually happening with *all* ranks.
(This also applies if you access the later level (before accessing Level 1) via a means other than cheat codes; for example, if you were redirected to it by a secret level trigger, or by completing a secret level. Or for that matter, if you access it via regular codes.)

I've noted it and will fix it in the next update, but in the meantime, the easiest workaround is to simply use a cheat code (or the normal code) to get to the first level of the rank, and play it (or at least view the preview screen). You only need to do this once; the problem arises from the level not being marked as unlocked, once you view its preview screen it will be marked as unlocked and the problem will no longer occur. Beating the final level of the previous rank will also work (or if it's the first rank that's glitched, then beating the final level of the pack), as long as it isn't one of the "bonus" ranks that comes after the final rank (such as 2P in Orig/OhNo).
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: Wafflem on November 20, 2014, 01:19:14 PM
Should a bait-and-switch level stay as revealed in the preview screen after seeing the fake preview before seeing the actual level?

For example, after finding out what Timid 5 is, then pressing Esc and returning to the level preview, it is now displayed as "The Rickroll Level." However, after changing ranks and going back to Timid 5, the preview displays as "The Rebound" again. This can especially be weird when you select levels and you see two "The Rebound" levels. This problem does not occur when you exit the player and come back to the same level without changing ranks.

In other words, the level preview of a revealed bait-and-switch level should be retained after it is seen when starting the level, no matter what.
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: Minim on November 20, 2014, 02:02:15 PM
Another unacceptable bug I found: After trying to play NeoLemmix with a different background color, after I exit the game the save system crashes - therefore I can't access the levels that I used to access when I previously played. I also get a system error message when this happens, with ABCDEF being the background color.

For now, I can only save levels if the background color is plain black.
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: namida on November 22, 2014, 01:17:51 AM
DynaLem: Originally it stayed that way as long as the game was running; but when I changed it to a general gimmick (instead of being hardcoded for one level in LPIII) I made it so it resets, so that people can have more than one such level in a pack. I'll look at a better solution for this.

Minimac: I can guess why this might be happening; I'll fix that in the next update.
Title: Re: NeoLemmix (Player: V1.26n-B | Editor: V1.26n-B)
Post by: namida on November 22, 2014, 11:21:22 PM
Okay, here's an update to fix a few bugs.

NeoLemmix V1.26n-B
-------------------------------
*  When using left/right to move through levels in a rank, you can
   now wrap around (eg: press right on Fun 30, it will go to Fun 1).
*  Fixes the bug where Level 1 of a rank becomes inaccessible if
   a later level is accessed via codes.
*  Fixes the bug where the save system won't work if a custom background
   color has been set.
*  Fixes the bug where the sound/music options aren't saved. Note that
   when first starting up the player with an old save (but not if creating
   a new one), sound and music will initially be turned off.


https://www.dropbox.com/sh/87bdts83f64p1t1/AAAmGNafZCl24Fg97PVWXUjTa
http://www.neolemmix.com/old/neolemmixplayers.html

I haven't done any changes to the bait-and-switch gimmick yet (since that's an issue that'd take a bit of work to fix, but is very minor to the end user; all of these were very simple fixes and some were major issues to the user), but it has been added to my todo list. LPF has also been updated as I don't really want that background color bug in an official release. :P
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: Wafflem on November 26, 2014, 11:56:37 AM
If you use NeoCustLemmix test mode and the level preview screen setting is on, there is actually a level select menu inside. There are two levels, but Level 2 is basically a copy of Level 1.
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: namida on November 26, 2014, 09:45:06 PM
Thanks, I'll fix that next update.

Another known issue; pressing P to pause during a replay interrupts the replay. I'll fix it in the next update, but for now, clicking the pause button or pressing F11 works fine.
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: mobius on November 27, 2014, 05:16:01 PM
I'm experiencing a pretty nasty glitch where save isn't working. Several levels I saved in ini format got corrupted somehow. When I opened them in NEoLemmix a ton of terrain was missing and trying to open it in old Lemmix gave a "invalid time limit -1" and the level wouldn't open.

Maybe this is fixed in a new version? I'll try updating first.
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: namida on November 27, 2014, 08:11:27 PM
I'm experiencing a pretty nasty glitch where save isn't working. Several levels I saved in ini format got corrupted somehow. When I opened them in NEoLemmix a ton of terrain was missing and trying to open it in old Lemmix gave a "invalid time limit -1" and the level wouldn't open.

Maybe this is fixed in a new version? I'll try updating first.

Crane found the disappearing pieces glitch in V1.25n-B (I think), its fixed in V1.26n-A onwards. The time limit issue is likely to occur if the level doesnt have a time limit, as the old Lemmix editor cannot handle this. (Its a feature not present in the traditional versions of either Lemmini or Lemmix)
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: mobius on November 27, 2014, 09:21:01 PM
I'm experiencing a pretty nasty glitch where save isn't working. Several levels I saved in ini format got corrupted somehow. When I opened them in NEoLemmix a ton of terrain was missing and trying to open it in old Lemmix gave a "invalid time limit -1" and the level wouldn't open.

Maybe this is fixed in a new version? I'll try updating first.

Crane found the disappearing pieces glitch in V1.25n-B (I think), its fixed in V1.26n-A onwards. The time limit issue is likely to occur if the level doesnt have a time limit, as the old Lemmix editor cannot handle this. (Its a feature not present in the traditional versions of either Lemmini or Lemmix)

ok, cool. it's tough to keep up.  :P I'm glad cause the test-play feature is super handy.
My issues btw, the panel resizing thing I wouldn't worry about; since you've nicely made the panels a better size by default.
The copy/paste thing is still an issue though; I've just been using old Lemmix to do serious/heavy editing and NeoLemmix for testing and other stuff.
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: namida on November 27, 2014, 09:38:45 PM
I'm still intending to look into it, though I can't do any major changes to software at the moment as I'm away from home until January; I have my laptop but the keyboard barely works (I'm having to use my smartphone as an external one, which is fine for posting messages and stuff but I wouldn't want to try any major coding).

Out of interest, what version of Windows do you have, and what language do you use? These are the only things I can think of that may cause issues for you that arent seen by everyone. (And, if possible, do you still have the issue if you use a different PC, and if so, what's the setup on that one?)
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: namida on November 29, 2014, 02:07:50 AM
Just to confirm, the new LPO features that were in Demo 2 will be available in NeoLemmix from the next update. These are:

- The rising water gimmick
- Entrances where the lemmings come out with permanent skills already applied

EDIT: There was no new release and the full version is out, so the next update (which I'll put up within the next few days, but getting the forum move sorted is higher priority ATM) will have all new LPO features.
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: Wafflem on November 30, 2014, 01:59:27 PM
I think I've asked about this before, but just in case people need to know:

How do you open up a custom-made VGASPEC level in the NeoLemmix Editor? (For example, VGASPECS.DAT of geoopk1.dat)?
Title: Re: NeoLemmix (Player: V1.26n | Editor: V1.26n-B)
Post by: namida on November 30, 2014, 10:41:38 PM
You need to define them in NeoLemmixStyles.ini then recompile the style in question. If it's a CustLemm level (or a NeoLemmix level without a style-by-name set), you might have to use a custom style set entry so the numbers match up.

It's mostly the same as for the traditional Lemmix editor, except that VGASPECs and graphic sets are defined as seperate entries, instead of each entry referring to a specific *combination* of the two.
Title: Re: NeoLemmix (Player: V1.26n-C | Editor: V1.26n-B)
Post by: namida on December 18, 2014, 11:20:25 PM
Update is finally here. :) This update brings the NeoLemmix versions in line with what LPO was released based on, as well as allowing general use of the LPO gimmicks (and the new feature of entrances pre-assigning permanent skills).

NeoLemmix V1.26n-C
-----------------------------
* Increased the strictness of Platformer terrain checks.
* Fixed a bug with swimmer+climber athletes.
* Fixed a bug with a three-way interaction between a climber, a blocker
  and a stacker.
* Fixed a minor graphical glitch in the Desert style.
* LPO gimmicks are now usable in all NeoLemmix players:
  (Gim24) is the rising water gimmick. Any water (or fire!) objects that you
    want to rise should have their L value set to a non-zero value; they will
    rise by 1 pixel every (L value) frames. Note that it should be impossible
    for the lemmings to get below the water level unless they'll drown (or swim)
    immediately, and any objects that come before the water in the object list
    must have the same No Overwrite setting as the water itself does; otherwise
    graphical glitches may occur.
  (Gim25) is the Playtime 10 gimmick. Giving away how this works would spoil the
    level's solution so I won't detail it just yet, PM me if you want the info.
  (Gim26) is the Zombie gimmick. Marking a lemming as a zombie is done the same
    way as initially giving it a skill; the value to add for zombie is 64.
* Just like with pre-placed lemmings, trapdoors can also have skills initially
  assigned to the lemmings they spawn. It's done the same way as for a pre-placed
  lemming, except that trapdoors can't spawn blockers (they CAN spawn zombies).
* Lemmings Plus Flashbacks is now included in the NeoLemmix update stream; as
  always this is considered an unofficial version of the game.


DropBox
NeoLemmix Website


Also, the NeoLemmix website finally has information on all the NeoLemmix file formats (except VGASPEC, but standard Lemmings VGASPECs will work perfectly fine too).