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

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

namida

ALRIGHT! I have successfully managed to compile the Lemmix editor, at last! http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" />
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.
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

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

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" class="bbc_link" target="_blank">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).
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

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

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

namida

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

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

namida

So 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
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

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

Wafflem

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

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

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

V1.12n is here!

Players can be downloaded here: https://www.mediafire.com/folder/qbzyj2h8t3ad8/V1.12n" class="bbc_link" target="_blank">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.
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)