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

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

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

Alright! Here's NeoLemmix Editor V1.06n-B. http://www.lemmingsforums.com/Smileys/lemmings/smiley.gif" alt=":)" title="Smiley" class="smiley" />

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 - http://www.lemmingsforums.com/Smileys/lemmings/cool.gif" alt="8)" title="Cool" class="smiley" />, 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" class="bbc_link" target="_blank">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.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Pieuw

Hey namida, good work here! http://www.lemmingsforums.com/Smileys/lemmings/thumbsup.gif" alt=":thumbsup:" title="Thumbs Up" class="smiley" />

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! http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" />

namida

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:
  • Release rate
  • Lemming count
  • Save requirement
  • Time limit
  • Skillset
  • Gimmick
  • Music track
  • Title


And the following is taken from the level referred to:
  • Reference to other level (if the referred level itself refers to yet another level)
  • Screen start position
  • Graphic set
  • Extended graphic set
  • Autosteel options
  • Objects
  • Terrain
  • Steel areas



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.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

exit

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).

namida

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.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Pieuw

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! http://www.lemmingsforums.com/Smileys/lemmings/thumbsup.gif" alt=":thumbsup:" title="Thumbs Up" class="smiley" />

namida

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! http://www.lemmingsforums.com/Smileys/lemmings/thumbsup.gif" alt=":thumbsup:" title="Thumbs Up" class="smiley" />

It's not impossible that I've done something by accident that changes it - I will have to look into this later today.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

mobius

I've started using the NeoEditor--very nice and easy to use!  http://www.lemmingsforums.com/Smileys/lemmings/thumbsup.gif" alt=":thumbsup:" title="Thumbs Up" class="smiley" />
I hope to make some new levels with the new features. soon http://www.lemmingsforums.com/Smileys/lemmings/smiley.gif" alt=":)" title="Smiley" class="smiley" />

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  http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" />

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.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Wafflem

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.
YouTube: www.tinyurl.com/YTWafflem
Twitch: www.twitch.tv/Wafflem467

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

namida

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.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

Another new feature 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. http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" /> 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. http://www.lemmingsforums.com/Smileys/lemmings/smiley.gif" alt=":)" title="Smiley" class="smiley" /> 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. http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" />)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Wafflem

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.
YouTube: www.tinyurl.com/YTWafflem
Twitch: www.twitch.tv/Wafflem467

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

namida

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).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Minim

A few days ago I noticed that the entrance to Mayhem 1 was positioned higher by about 2 pixels. http://www.lemmingsforums.com/Smileys/lemmings/huh.gif" alt="???" title="Huh?" class="smiley" /> Was that intentional or an accident? Maybe you could fix that in the next update unless you have a reason not to.
Level Solving Contest creator. Anybody bored and looking for a different challenge? Try these levels!

Neolemmix: #1 #4 #5 #6
Lix: #2  #7
Both Engines: #3

namida

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).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)