Author Topic: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.51)  (Read 2796 times)

0 Members and 1 Guest are viewing this topic.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
L3DEdit: Lemmings 3D Level Editor - Release topic (V0.51)
« on: June 16, 2019, 02:32:31 am »
L3DEdit is a Lemmings 3D level and graphics editor.

Current limitations
- Only the full PC version of Lemmings 3D is officially supported (though you can use the graphics from Winterland, together with full L3D). I have no intention to officially support Winterland, the demos, or the console versions - if it works it works, if it doesn't it doesn't, unless someone else wants to contribute code to make it compatible with other versions.
- Some obscure level settings are not editable. Most of these are nonetheless preserved. I'm working on a feature to edit the obscure / unknown values, so this should change in the near future.
- Extraction of images with the RLE compression does not work (graphics without that compression, which is most graphic files, can be extracted without issue). This is a low priority issue for me at the moment.
- Performance is somewhat weak. This has greatly improved since the first release, but could still be better, especially in the Lazarus builds. Using the Delphi build and/or reducing the resolution (under the View) menu can improve performance - the Delphi build should work on Linux + WINE.

I highly recommend reading the attached manual. You're welcome to ask questions even if the manual might answer them, but reading the manual might get you your answer a bit quicker. The manual states V0.48, but the next two updates are just bugfix updates. However, it has not yet been updated for V0.51.





L3DEdit can edit almost everything in a level, but there's a few obscure details I didn't bother to add support for. If you have a specific need for a level feature it doesn't support yet, please request it and I'll see what I can do. You are also, of course, welcome to report bugs. You can make feature requests, but these are very low priority (unless they're easy to implement) at the moment.

As a reminder, L3DEdit is open-source, the source code is available on BitBucket, under the MIT Licence.
L3DEdit is written in Lazarus. The only dependency is Graphics32; either the version from GitHub or the version from Lazarus's Online Package Manager will work.
There is also an alternative branch which compiles under Delphi XE6. This requires obtaining and compiling Graphics32 from GitHub specifically; but also has no dependencies other than Graphics32.

Please be warned: Any side branches may be history-rewritten, at any time, without warning. The release branches, as well as the "master" (formerly "delphi"), "lazarus" (formerly "master") and "linux" branches are safe from this, but any side branches eg. used for WIP new features, could disappear or be rebased at any time.

This is still an early version. Expect bugs, save often, back up your work, report bugs you do find, and expect updates to occur frequently. And again - back up your work. There has been a bug in the past that deletes level files - fortunately it would only trigger on the official levels unless one went out of their way to achieve it triggering on a custom one, but the risk is there that a future bug might not be so nice.

You can file bug reports or feature requests either on Bitbucket (no login required), or as a reply to this topic.

If you want to be able to share replay files for your custom levels, and/or would like a quicker way to launch L3D under DOSBox, check out L3DUtils.

Regarding the three different versions:
L3DEditD.exe is a Windows build, built using Delphi XE6. It's the recommended version wherever possible - including Linux (via WINE).
L3DEditL (with no extension) is a Linux build, built using Lazarus. This is not as stable, and is missing a few features; it should only be used when you specifically need a native Linux build.

There is currently no Mac OS build.
« Last Edit: August 09, 2019, 12:07:07 am by namida »

Offline Flopsy

  • Posts: 681
  • Gotta Go Fast
    • View Profile
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.22)
« Reply #1 on: June 16, 2019, 01:02:45 pm »
Awesome, this has progressed really fast. I'm still waiting to get a hold of a PC copy of Lemmings 3D right now so I can't look at this right now. Hopefully it won't be long until it arrives.

I can't wait to get stuck into this and report any bugs.

I have downloaded the editor but I'm guessing without the Lemmings 3D PC version, you cannot use it at all?
SEB Lems (160 levels)
MegSEGAbytes (40 levels)
Gotta Go Fast (in progress)

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.22)
« Reply #2 on: June 16, 2019, 08:17:32 pm »
Correct, you need the PC version of 3D Lemmings. If you've ordered a legit copy, I'd argue there's nothing wrong with downloading an abandonware copy to use until it arrives - I justified downloading my copy on much lesser grounds (specifically, I did own a legitimate copy but lost the disc a long time ago). I haven't looked much at the Playstation version at all. I vaguely recall the format of the LEVEL.xxx looking pretty similar at a quick glance a long time ago (but do keep in mind I didn't have a very strong understanding of it then), but no idea if that's also true for the corresponding BLK.xxx files, and it almost certianly won't be for the various graphic files - and L3DEdit needs all three.

Otherwise, you can try it with the demos. At this stage, I have no intent to guarantee support for the demos (if it's not too much extra work I'll look into that once it's got full support for the full game), but I did try loading a Lemmings 3D Winterland* level into it at one point and it loaded correctly, at least in terms of what the editor supported at that point. Do be aware that there's an even bigger chance L3DReplay won't work with the demos.

* a Lemmings 3D equivalent to Xmas Lemmings 1991 / 1992. Free, 6 levels, all of which are completely original (not taken from the main game) and have winter-y visuals. Some of them are actually pretty good levels, too.

Quote
Awesome, this has progressed really fast.

Sure has. Less than two weeks from announcement to first release and two levels produced, even if that release is somewhat limited. In practice, I had also been working on L3DEdit for about half a week before anyone other than Pooty (who had been helping me figure out details of how L3D works) knew about it, too. So about two weeks all up.
« Last Edit: June 16, 2019, 08:34:33 pm by namida »

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.22)
« Reply #3 on: June 17, 2019, 01:10:10 am »
I've been working on the slow rendering. I think to really get it working at a real-time speed, I'm going to need to completely rewrite the rendering using a GPU-accelerated library, at which point this becomes practically a full rewrite from scratch. The good news - any such rewrite would be much quicker than the original project, as something like 80% of the time spent on this project so far has been figuring out details of how L3D's level files work or how to render the level fairly accurately to what L3D does - effort that won't have to be repeated. And a further 10% or so was figuring out how to produce a good 3Dish render, again, something that now that I know I don't have to figure out again.

However, before I take on such a project, I'd rather have this one working to the point where you can edit everything important - even if it isn't optimal for that. So I'm going to, for now, continue on trying to improve the performance of the current code. So far, I've managed to cut about 20% off the time it takes to render the blocks, which is by far the most time-consuming part of the render (land is a very distant 2nd, and then sky and sea - which get rendered as a combined unit - is close behind in 3rd, for levels that don't have a full-height sky graphic (for ones that do, sky rendering is lightning-fast)).

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.23)
« Reply #4 on: June 17, 2019, 03:11:48 am »
Uploaded V0.23. Changes:
- Huge improvements to rendering speed. It's still not great, but now it's just "not great" instead of "awful". I suspect that resolution-wise most people can go to whatever's higher - Medium, or one step up from what they were already using.
- When you import block data from another level, the input field for the current level's texture set is updated to account for this. (The actual level data was always updated, but the text field wasn't, before.)
- If you select a block from the palette, while your current selection is an empty block (ie: none of the slices are present), your current selection is automatically changed back to a full block.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.24)
« Reply #5 on: June 17, 2019, 09:12:57 am »
Uploaded V0.24. Changes:
- You can now set a few more options relating to how the sea graphic behaves.
- You can now set the flag that replaces drowning with zapping.
- Fixed a few issues with the preset selections for style-related settings.

I've also updated my levels. Space Station and Acrobatics just have cosmetic updates - preview pivot position adjustments and in the latter case some tweaks to the sea. But I've also added a third level, "Activity Center". Like Space Station, this one assumes you've applied the music patch. This one is much less forgiving than the first two were, so bring your best Lemming-ing (though just to be clear - it isn't that tight just to be annoying; it's necessary to prevent backroutes).
« Last Edit: June 17, 2019, 09:39:57 am by namida »

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.25)
« Reply #6 on: June 18, 2019, 11:36:34 pm »
Uploaded V0.25. Changes:
- You can now edit objects. This is still not tested super-intensively, so please report any bugs. HOWEVER - "lemmings walk through them" is NOT a bug, objects are not inherently solid, you must place an invisible (and preferably, indestructible) block in the same place.
- The options for a solid level floor and a slippery level floor are now supported.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.26)
« Reply #7 on: June 19, 2019, 12:29:29 am »
Uploaded V0.26. The only change from V0.25, is that instead of the weird-looking filter effects, it uses an outline to indicate the currently selected layer and block.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.27)
« Reply #8 on: June 19, 2019, 06:06:20 am »
Uploaded V0.27. Changes:
- Special properties of blocks are now displayed at the bottom of the block selection form (mouseover a block to see details about it).
- Metablocks can now be edited. Right click on a metablock to edit it. Shading can't be edited yet - this was an oversight I only realised after uploading, but won't be difficult at all to implement.
- Bug fix: The 3D-effect shading of block faces stopped working at some point; it's been reimplemented now.
- Bug fix: Negative values for sea movement weren't being accepted; they do now.
- Bug fix: The blue Lemgo sea (and theoretically, any custom seas that share its attributes) did not render correctly; it does now.

Pretty much, the only things remaining now that aren't supported are a few obscure flags (and some unknowns), and land areas, as far as I can think of right now. In particular - you can now create a level truly from scratch, you don't have to import a block setup from another level (though it's still probably easier to do that).

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.28)
« Reply #9 on: June 19, 2019, 10:53:30 am »
Uploaded V0.28. Changes:
- Metablock shading can be edited.
- Added a "Clear" button when editing metablock data.
- Shortcut keys have been completely revised, see spoiler tag in first post.
- The "Do you want to save?" check pops up when quitting L3DEdit; previously it only came up when opening a level or creating a new level

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.28)
« Reply #10 on: June 20, 2019, 11:58:26 am »
One thing to be aware of that I've discovered - L3D seems to have a limit on how many block faces it can render. Now, I don't know exactly what does or doesn't count towards this - I've seen a level where this kicks in at around 500 blocks, but there are some official levels with more than that.

One thing I have noticed is - any face touching a block #3, doesn't get rendered - and thus, using block 3 on areas the user will never be able to see, can help avoid this limit. The highest block count is 1227, on Lemlab, a level that very extensively uses block #3. However, the highest block count on a level that doesn't use block 3 at all, which is "A Head Above The Rest", is 825 - well above the 500 that I've seen this effect kick in at.

Anyway, it's probably best to avoid particularly huge levels due to this, at least until we understand exactly how this glitch works.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.29)
« Reply #11 on: June 20, 2019, 11:42:34 pm »
Uploaded V0.29. Changes:
- Can fill an entire region (rectangular prisms only) with a block or object instead of having to do it block by block.
- Shading of land graphics is now preserved (but not editable or displayed).
- If a level is loaded that has land coordinates in the incorrect order, they will be corrected upon saving the level.
- Block #3's special effect is now mentioned when selecting it in the block selection window.

To fill a region, you must mark one corner, then select the opposite corner. You can mark a corner either by clicking "Mark" then clicking the block to mark, or by mousing over the block you wish to mark and pressing Alt+F. You can then select the corner to fill to either by clicking "Fill Region" then clicking the target block, or by mousing over the target block and pressing Alt+V.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.30)
« Reply #12 on: June 21, 2019, 11:58:22 pm »
Uploaded V0.30. This is purely a bugfix update.
- Bug fix: The wrong options get checked for metablock face options (but not whole-block options) in most cases.
- Bug fix: A file called "invis.bmp" (containing the face graphic used in place of invisible faces when "No Invisibles" is enabled) was saved every time L3DEdit is run; this was a debug file.
- Bug fix: Pairing icons for paired interactive objects don't get adjusted to the object's vertical position.
- Bug fix: Some objects that have their positions adjusted depending on the block they're placed on the same space as, weren't rendered correctly. This is only fixed for SOME cases, not all of them (generally, it's fixed for the more important and likely-to-see-real-world-usage cases, but not most of the less-likely-to-happen-in-non-troll-levels ones).

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.31)
« Reply #13 on: June 22, 2019, 03:36:35 am »
Uploaded V0.31. Changes:
- The boundary points (which kill any lemmings that go past them) are now editable. Note that there's no Min Y option because (as far as I'm aware) the bottom boundary is not editable.
- When creating a new level, the various graphic assets are set to "None" instead of zero.
- Added the ability to shift the level.
- When increasing / decreasing the currently selected slice of the level, it now wraps around.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.33)
« Reply #14 on: June 22, 2019, 10:31:15 pm »
Uploaded V0.33. (V0.32 was skipped because I discovered a serious bug in it after preparing the release but before uploading it; since the 0.32 release exists as a branch in the repo nonetheless, I decided to make this V0.33.)

Changes from V0.31:
- Fixed a bug in loading / saving border kill points.
- Shading of block faces is now more accurate (though not 100% accurate) to in-game.
- Shading of land is now rendered correctly.

(There's also been a lot of behind-the-scenes work to prepare for editing land, but the actual editing isn't implemented yet.)

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: [WIP] L3DEdit: Lemmings 3D Level Editor - Release topic (V0.34)
« Reply #15 on: June 23, 2019, 05:07:28 am »
Uploaded V0.34. There's only one change, but it's a big one:
- Land areas can now be edited.

This pretty much means everything - minus a few very obscure flags that I doubt anyone will miss - can be edited via L3DEdit. As such, the focus will now switch to bug fixing - so please report any bugs you find! I will also, in time, look into further rendering speed improvements.

But yep - V0.34 now edits everything important. And we got here less than three weeks from starting editor development. A huge thanks to Pooty in particular, once again, for his documentation of the Lemmings 3D file formats, and for futher assistance in figuring out the remaining details of these during L3DEdit's development. That aside, also, thanks to everyone else who contributed in any way - whether it was throwing out random thoughts (some of these really did lead us to useful info!), or even just showing support.

Now - what are you waiting for, let's see some custom L3D levels! :D And don't forget - it's always a good idea to keep solution replays, which is possible thanks to L3DReplay. :)
« Last Edit: June 23, 2019, 05:18:15 am by namida »

Offline Flopsy

  • Posts: 681
  • Gotta Go Fast
    • View Profile
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.34)
« Reply #16 on: June 24, 2019, 01:23:18 am »
Just to re-iterate that I am still waiting on a copy of the game and I am still intending to test this when I get the chance to.
SEB Lems (160 levels)
MegSEGAbytes (40 levels)
Gotta Go Fast (in progress)

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.35)
« Reply #17 on: June 24, 2019, 08:17:42 am »
Uploaded V0.35. Mostly a bugfix update, but there's a couple of nice new features.
- L3DEdit finally has an actual icon instead of the generic Lazarus app icon.
- Added a menu to reorder (or mass-replace-with-placeholders) levels - hugely useful if you're working on a large pack! (It's under "Utilities".)
- The spawn direction of lemmings is indicated on top of any entrance blocks.
- When switching to land editing, the selected axis is automatically changed to Y and the selected slice to 0 (unless it's at "none", in which case it stays at none).
- You can press Alt+O to get a count of how many blocks, and how many non-block-3 blocks, are in your level. This is mostly a debugging / testing feature but I saw no reason to take it out for the release version - but do be aware that whether this feature exists and/or how to access it could change without warning.
- When no slice is selected, L3DEdit says "None" instead of "-1" for the currently selected slice.
- Fixed bug: Shift level shifts in the wrong direction.
- Fixed bug: Land coordinates (when placing land) are inaccurate when view is rotated.
- Fixed bug: Some UI components don't update properly when hotkeys are used to change the currently-edited component.
- Fixed bug: Some UI components don't update properly when objects are selected by right-clicking.
- Fixed bug: Some UI components don't update properly when changing style options via the presets.

As a reminder: Please report any bugs you run into! I'm regularly creating levels myself so I do end up finding a lot, but it's possible that some things would be so minor I don't really register them, or that they don't occur with the way I work (which is very strongly hotkey driven, so the mouse options often have limited testing).

The immediate next thing to do is "Undo". The editor really needs this in my experience.
« Last Edit: June 24, 2019, 09:42:11 pm by namida »

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.36)
« Reply #18 on: June 24, 2019, 11:59:48 pm »
Uploaded V0.36. This is a minor update compared to the last one:
- The "All Levels Unlocked" save option now actually generates a save file, instead of just extracting one that's embedded into L3DEdit's EXE. In particular, this means (a) the saves created by it no longer have some existing lemming kill / save and skill use counts; and (b) when used with custom levels, the save file will have accurate titles. This option still erases all your records / completion / etc and replaces it with a save that has all levels unlocked but none complete, it's just truly a blank save (and with accurate titles) now. Huge thanks to ccexplore for cracking the checksum algorithm.
- The L3D palette file is no longer embedded in L3DEdit, it relies on the copy from L3D's data files. Since it relies on other files from L3D anyway, and thus already has to be in the same folder (or in a folder with a copy of L3D's files), this probably wouldn't have even been noticed had I not mentioned it. ;)

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.36)
« Reply #19 on: June 25, 2019, 11:35:49 pm »
Uploaded an alternate V0.36 build that's built with Delphi XE6 rather than Lazarus. Delphi-compiled code is generally faster, especially where Graphics32 is involved. If you're having issues with L3DEdit's rendering speed, try this alternate build. However - be warned that it's highly experimental, so take even more care than usual with saving / backing up your work, etc. (It's unlikely there's any bugs that will corrupt data, unless they also exist in the Lazarus version, but better safe than sorry!)

If you use hotkeys much, please read over the new notes at the start of the hotkeys section regarding the Delphi version - they work a bit differently from the Lazarus version. (I'll likely bring the Lazarus verison in line with this behaviour in a future update.)

Linux users: It won't be possible to compile the Delphi version for Linux, but there's a good chance it'll work correctly under WINE (except maybe the RNC decompression, so you may have to decompress files manually), based on that NeoLemmix does, and that Delphi L3DEdit is compiled with the same compiler using only libraries that NeoLemmix also uses.

---

Known Delphi version bugs (and workarounds where applicable):
- When block segments are modified via the checkboxes (but not when done via hotkeys), the block is not updated. Workaround: Re-select the block type from the dropdown menu after changing these checkboxes, and it will update correctly.
- The "No Invisibles" option doesn't appear to work.
« Last Edit: June 26, 2019, 12:28:49 am by namida »

Offline ccexplore

  • Administrator
  • Posts: 4971
    • View Profile
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.36)
« Reply #20 on: June 25, 2019, 11:59:32 pm »
Linux, but there's a good chance it'll work correctly under WINE (except maybe the RNC decompression

Out of curiosity, what's so special about the RNC decompression that it might not work correctly under WINE? ???

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.36)
« Reply #21 on: June 26, 2019, 12:29:31 am »
Linux, but there's a good chance it'll work correctly under WINE (except maybe the RNC decompression

Out of curiosity, what's so special about the RNC decompression that it might not work correctly under WINE? ???

I haven't written my own code for this; rather, I embedded a common tool into the EXE, which is extracted and run when needed. This is something that I could foresee possibly not working correctly, and is not something NeoLemmix does so can't make guesses based on that.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.36 / V0.37-D)
« Reply #22 on: June 26, 2019, 03:13:37 am »
Uploaded V0.37-D. To be clear, this is an update ONLY to the Delphi version of L3DEdit - there's no new update to the Lazarus version. (I could release an update that solely changes the version number to V0.37, but what would be the point?)

Some UI elements in the Delphi version did not respond correctly (or more likely - not at all) when clicked. This update fixes all cases I could find of this.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.38)
« Reply #23 on: June 26, 2019, 08:36:06 pm »
Uploaded V0.38 and V0.38-D. Changes:
- Added an option (under the View menu) to pick between the standard grid, corners-only grid, or no grid at all for the selected level slice.
- Negative water movement speeds now can be entered and load correctly.
- Right clicking while editing land will now delete the last vertex, meaning you don't have to start the land over again if you mess up.
- A specific byte is always written to level files, that may help reduce the impact of the face render limit.
- (Lazarus version) Hotkeys now match the Delphi version.
- Fixed bug: Level is not re-rendered after adding a new vertex to land.
- Fixed bug: The editor allows creating land with more than 8 vertexes (which are then lost when saving).

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.38)
« Reply #24 on: June 26, 2019, 11:10:19 pm »
Uploaded V0.39 and V0.39-D. Changes:
- Added Undo and Redo. They're under the "Edit" menu, or alternatively, use the shortcut keys Ctrl+Z and Ctrl+Shift+Z respectively.
- Fixed bug: Adding more than 8 lands is possible, with excess being lost.
- Fixed bug: L3DEdit treated land vertexes with an X coordinate of 0 as invalid. (This is correct behaviour for Z, but not for X.)

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.38)
« Reply #25 on: June 26, 2019, 11:20:16 pm »
I have just pushed commits which now put the source code under the MIT Licence. As per the wording of the L3DEdit Temporary Licence that applied to older commits, they too may be used now as if they were under the MIT Licence.

Offline Flopsy

  • Posts: 681
  • Gotta Go Fast
    • View Profile
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.39)
« Reply #26 on: June 27, 2019, 01:38:30 am »
Ok I'm on board with bug reporting at last.

I have had great difficulty getting L3D working in DOSBox but thanks to Nessy helping me I have managed to get it working decently now.

I didn't get much time to play around with the editor but I did notice that I'd get an access violation if I ever clicked outside of the grid in the level working area.

Also Nessy did help me learn this (among other things) but I have to apparently load a level with the tiles required to get the tiles to make a level with myself. In other words treat the level as a mini "tileset".

Looks good from what I've seen so far but the editor looks like a steep learning curve.
SEB Lems (160 levels)
MegSEGAbytes (40 levels)
Gotta Go Fast (in progress)

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.39)
« Reply #27 on: June 27, 2019, 03:58:24 am »
Quote
I didn't get much time to play around with the editor but I did notice that I'd get an access violation if I ever clicked outside of the grid in the level working area.

Which level components tab were you on (ie: land, blocks, etc) when this happened? Also, Lazarus version or Delphi version? (If you're not sure, check Help -> About. If the version number has "-D" at the end, it's Delphi, if not, it's Lazarus.)

Quote
Also Nessy did help me learn this (among other things) but I have to apparently load a level with the tiles required to get the tiles to make a level with myself. In other words treat the level as a mini "tileset".

You don't have to - you can right click on an empty (or not-empty, for that matter) block slot in the block selection menu to edit it and choose textures yourself - but it is much easier to use another level's block data as a starting point, perhaps with your own changes on top of that. (This is my usual approach - I'll use the block data from a level with similar blocks, then make my own tweaks on top of that.)
« Last Edit: June 27, 2019, 05:42:15 am by namida »

Offline Simon

  • Administrator
  • Posts: 2710
    • View Profile
    • Lix
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.39)
« Reply #28 on: June 27, 2019, 08:42:55 am »
I have had great difficulty getting L3D working in DOSBox but thanks to Nessy helping me I have managed to get it working decently now.

What problems did you encounter? How did you solve them?

This is highly valuable to write down in a public post. I don't mind maintaining the info afterwards, but I need the info first.

-- Simon

Offline Flopsy

  • Posts: 681
  • Gotta Go Fast
    • View Profile
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.39)
« Reply #29 on: June 28, 2019, 12:47:17 am »
Quote from: namida
Which level components tab were you on (ie: land, blocks, etc) when this happened? Also, Lazarus version or Delphi version?

It only happens on the Blocks tab and I was using the Lazarus version

____________________________________________________________________________________________

Here you go Simon, this is the entire conversation on Discord last night which me and Nessy had (it was in a private conversation so it's not publicly viewable other than what is posted here). I hope this is helpful.

Spoiler (click to show/hide)
SEB Lems (160 levels)
MegSEGAbytes (40 levels)
Gotta Go Fast (in progress)

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.39)
« Reply #30 on: June 28, 2019, 01:39:50 am »
Just to clarify: The music patch does not fix anything with sound working or not working.

What it fixes, is that in the vanilla version of L3D, there's a discrepancy between CD audio and other audio. As you might know, there's two tracks for each style on the CD audio (I'll call these "Standard" and "Alternate"); while the soundcard / MIDI audio has three for each track (equivalents to Standard and Alternate, plus a third one - which I'll call "Remix" - which is always a remix of Standard).

Each level can select between Standard, Alternate and Remix. Obviously, this setting is based on soundcard / MIDI audio. Since CD audio doesn't have Remix, you'd logically expect that any level that plays Remix, would instead get Standard under CD audio; while Standard and Alternate would work the same way they always do. However - what actually happens, is that while Standard works fine, the CD audio will play Alternate if the level's set to "Remix", and Standard if the level is set to "Alternate".

The music patch fixes this, so that the musics are consistent between the CD audio and the soundcard / MIDI audio. That's all it does - specifically, it does this by swapping the 2nd and 3rd music file for every style. You can then choose, either globally or per-style, whether you want to treat the CD audio track selection or the soundcard audio selection as the "correct" one (which will then patch the levels appropriately - when keeping the CD music, or on levels that use Standard, no changes are needed; otherwise, it will swap between the two remaining options). You can customize this however you like, but I've set the default to be keep soundcard / MIDI's choices for Space levels, and CD audio's for all others (when you see exactly which Space levels get the alternate music with this setup, you'll see exactly why I made that the default).

If sound / music is not working, you need to run L3D's "setup.exe" and configure sound hardware. With DOSBox's default config, you can use either Soundblaster or General Midi. With some additional setup, you can also use Gravis UltraSound. AWE32 is not supported in DOSBox - although you can use Virtual Midi Synth, together with an AWE32 soundfont and the "General Midi" music option, to get very close to AWE32 music (but you just have to settle for Soundblaster or Gravis UltraSound for effects) - the one catch being that it glitches out hard towards the end of the Standard track for the Computer style (sound glitches only, but they're REALLY annoying). The need to run setup to configure your sound hardware is nothing special to DOSBox; the same applies to running L3D PC version on real hardware.



Also, you CAN skip the intros, as long as you're not running L3D for the first time (or more accurately: as long as a valid save file exists). If the spacebar button is held down between scenes in the intro, all remaining scenes will be skipped and it'll go straight to the title screen.
« Last Edit: June 28, 2019, 01:45:19 am by namida »

Offline Simon

  • Administrator
  • Posts: 2710
    • View Profile
    • Lix
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.39)
« Reply #31 on: June 28, 2019, 02:57:06 am »
Flopsy, thanks for the log, that's very good. I'll be busy the next few days, but will distill the info afterwards. Would be cool to have a concise howto.

-- Simon

Offline Flopsy

  • Posts: 681
  • Gotta Go Fast
    • View Profile
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.39)
« Reply #32 on: June 28, 2019, 10:39:58 am »
No problem, glad it's helpful. I'm sorry if it sounds like I really dislike DOSBox but it just seems to really misbehave on my computer.
For the record, I do think the editor is very promising and I am 100% behind it.
Just need some level ideas now to try out on it, I'll post some levels as soon as I have some.
SEB Lems (160 levels)
MegSEGAbytes (40 levels)
Gotta Go Fast (in progress)

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.39)
« Reply #33 on: June 28, 2019, 07:29:36 pm »
Flopsy, thanks for the log, that's very good. I'll be busy the next few days, but will distill the info afterwards. Would be cool to have a concise howto.

-- Simon

For the record, the "alternate EXE" that Nessy sent to Flopsy (which in turn, Nessy originally got from me), is just the EXE from the floppy disk verison of L3D.

The CD version of L3D, requires a CD to be inserted. In my experience, this doesn't have to specifically be the L3D disc. In DOSBox, this translates to that you must mount something as an optical drive, which is an annoying extra step. (If you're trying to mount the actual L3D CD for CD audio, in my experience I've found that I have to mount it via an external tool such as Daemon Tools, then mount the virtual drive in DOSBox as if it were a physical drive. However, I know not everyone has had this issue, so it might be something specific about the copy I have, or that I was doing something wrong, etc.)

The floppy disk version removes this requirement, at the cost of not supporting CD audio. It does still support the high-resolution lemming sprites and the full-motion videos from the CD version, if the files for them are provided.



Another known issue that can arise - Tricky 10, Tricky 14, Tricky 20 and Mayhem 4 may have texture glitches on some copies. This is due to a corrupted TEXTURE.000 file; getting hold of an uncorrupted copy will sort out the issue. The majority of abandonware downloads of the floppy disk version have the corrupted file, but I've never seen a CD copy that's corrupted.



Another thing that may be worth noting - L3D always stores the save file in C:\LM3D.CD\, regardless of which version of the game is in use and/or which drive L3D is being run from. Thus, if someone has multiple installations of L3D, they should also mount different C drives in DOSBox for each one. (I personally don't bother, but that's because at the moment there isn't a significant amount of custom content to worry about - chances are I will once there's a bit more of it out there.)

Hm, I recall DOSBox has quite powerful command line options, right? I should perhaps look at creating some kind of L3D launcher to simplify the process...

Quote
It only happens on the Blocks tab and I was using the Lazarus version

Alright, I've figured out why this is happening. I'll fix it for the next update. :) EDIT: Fixed in the source code now.
« Last Edit: June 28, 2019, 07:53:58 pm by namida »

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.39)
« Reply #34 on: June 28, 2019, 10:22:50 pm »
Uploaded V0.40. Changes:
- When changing the axis for the selected slice, the selected slice on the new axis is now based on the selected block, rather than keeping the same numerical index.
- Keyboard-based controls for block selection / placement / etc now exist, see the spoiler tag in the first post.
- Added an option to (mostly) disable mouse input in the level area. When it's enabled, the only thing the mouse does in the level view area is scrolling (and any mouse button can be used to scroll).
- Added a shortcut key to rotate the level view.
- Fixed bug: Access violations may occur when clicking in the level area, outside the block boundaries.
- Fixed bug: The order in which block faces were drawn caused graphical oddities with some shapes, most noticably Corner B Down when rotated so that the X=31 and Z=0 faces were the slope.
- Fixed bug: (Delphi version only) Default skill counts for a new level were some ridiculous huge number
- Fixed bug: (Delphi version only) The minimum window size was not correctly enforced
- Fixed bug: (Delphi version only) The "Perspective Minus" button did not correctly move when the window was resized

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.40)
« Reply #35 on: June 29, 2019, 10:55:18 pm »
Known bug: Sometimes when picking an object via right click (or numpad 0), not all properties of the object are accurately selected.

I have seen this bug regularly (and fairly consistent in terms of what happens) in the Delphi version. I've briefly confirmed it occurs in the Lazarus version but haven't looked into if it behaves exactly the same way; although I have little reason to believe it wouldn't.

One way to consistently reproduce it is with a sign object using any graphic other than 7. The picked sign will always have graphic 7, but otherwise be accurate to the right-clicked sign object.

(EDIT: Fixed in V0.42 update.)
« Last Edit: July 05, 2019, 12:50:12 am by namida »

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.40)
« Reply #36 on: July 03, 2019, 08:21:53 pm »
Uploaded V0.41. This does NOT fix the above post's bug yet, but it fixes a few others. Changes:
- Pressing the numpad minus key now enables / disables mouse control.
- Fixed bug: Locked slice index and coordinate text in bottom-right corner don't always update when using keyboard to move selected block.
- Fixed bug: Form controls sometimes steal numpad input.

I'm wondering - does anyone specifically use the Lazarus version for any reason? If so - is that for the purpose of using it on Mac / Linux, or something else? I intend to keep the Lazarus version available, but I'm considering making the Delphi version the primary one, since it tends to offer superior performance with few drawbacks, outside of lack of cross-platform support. Having the cross-platform option available is important, but I don't see it alone as a reason to keep the Lazarus version as the main one - just as a reason to keep a Lazarus branch existing.
« Last Edit: July 03, 2019, 08:27:06 pm by namida »

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.41)
« Reply #37 on: July 05, 2019, 12:49:44 am »
Uploaded V0.42. Changes:
- Improved rendering of flamethrower trap and laser trap.
- Improved rendering of selected object in the UI - in particular many rotateable objects now display their rotation even in the preview, instead of having to try placing one.
- Fixed the bugs where right-click-selected objects may have wrong properties.
- Fixed the bug where trying to rotate graphic #0 animated object might change it into graphic #1 animated object.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.42)
« Reply #38 on: July 05, 2019, 03:00:11 am »
Uploaded V0.43. This fixes one case I missed (or rather, introduced by accident :P ) in the last update where the preview image was wrong.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.43)
« Reply #39 on: July 05, 2019, 06:21:02 am »
Uploaded a Linux build of V0.43. This is extremely experimental - all I've done is checked that it compiles, starts up, and that the interface seems to work (it is somewhat odd looking). If you just want to make L3D levels on Linux, you're probably better off using the Windows version (and probably, the Delphi version at that) with WINE; but if you're wanting to help with bug testing, it might be worth trying this.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.43)
« Reply #40 on: July 08, 2019, 04:07:46 am »
I finally wrote a proper manual for L3DEdit. It's attached to the first post.

It is quite long, but it's very thorough, and tries to actually walk you through using the editor rather than just saying "this does X, this does Y, etc". You also only need to get about half way through to be able to actually start creating levels.

Now with that being said - I'm really not great at documenting stuff. It would be much appreciated if someone could volunteer to help maintain the manual, as well as to spruce up the appearance / layout a bit. The source file, if anyone's interested, can be found in the source code repo ("Manual.odt", LibreOffice or recent versions of MS Office can open it).

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.43)
« Reply #41 on: July 09, 2019, 05:06:10 am »
I have enabled the issue tracker on the Bitbucket repository: https://bitbucket.org/namida42/l3dedit/issues

You can report bugs or submit feature requests there, no login required (and you can do it anonymously, if you prefer that, or if you don't have a forum account). You are of course welcome to post the reports / requests in this topic instead if you prefer.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.43)
« Reply #42 on: July 09, 2019, 09:16:08 pm »
I have recently confirmed that it is possible to use Lemmings 3D Winterland's unique graphic files with the regular version of Lemmings 3D (and in turn, with L3DEdit).

I've added this info to the original post, and will explain it in the manual too next time I update it.

Quote
Yes, absolutely[, you can use Winterland graphic files with regular L3D]! Simply copy all files with a number as the extension - a quick way to find these is to sort the folder by "Type", then they'll all be at the start - EXCEPT for "BGRD.000" - from Winterland's "GFX" folder to Lemmings 3D's "GFX" folder. Some files will already exist; these files (except for BGRD.000, which is why I said don't copy that one) are byte-for-byte identical in both Winterland and regular L3D so it doesn't matter which copy you use.

L3DEdit V0.44 will add the Winterland-unique graphics to the preset dropdowns list. For now, you will need to enter the numbers manually. The unique land graphic does use the "Single Texture Land Graphic" option, the unique sea graphic does use the "Large Sea Texture" option, and the unique sky graphic does not use the "Full Height Sky Graphic" option.

If you don't want to go to the hassle of finding a copy of Lemmings 3D Winterland to download, here are the unique graphic files - put them in L3D's "GFX" folder. Since Lemmings 3D Winterland is a legitimately-free demo, I don't believe there's any issue with sharing these files.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.44)
« Reply #43 on: July 09, 2019, 10:48:08 pm »
Uploaded V0.44. Changes:
- The "Import Graphic File" function is no longer hidden. To use it, save the file to be imported as a BMP file, using the desired filename with ".bmp" at the end (eg: "TEXTURE.060.BMP"). You can use "death magenta" (RGB 255, 0, 255) as a transparent color, in the case of graphic types that support it. Note that this option won't work for any type of graphic file that L3DEdit can't also extract correctly. I will update the manual in the near-future with information on how to create custom graphics correctly; for now, figure it out by looking at existing ones.
- Greatly improved the load speed of the metablock editing window.
- Updated with new discoveries regarding two of the face graphic flags in metablock data.
- When editing metablock face graphics, there's an extra blank face added at the end which can be used as a "None" option even in texture sets where all 100 graphics are present.
- Level reordering window now has a button to swap two levels' positions (without any effect on other levels).
- Lemmings 3D Winterland graphic files are included among the presets.
- Any presets in the graphic files will be hidden if the file is missing.
- You can now customize the names / numbers of the presets for graphic files; run L3DEdit once then edit the "L3DEditPresets.ini" file that gets created. If you ever want to reset to default, just delete that file and run L3DEdit again.
- The default save requirement on new levels is now 1, not 0. This is pretty much a matter of my personal preference.
- The music patch and save file generation options have been removed. You can now find these features as part of L3DUtils.
- Fixed bug: Decompression may fail on files marked as Read-Only (which some copies of the game are).
- Fixed bug: (Lazarus version only) The texture set view in the metablock editor has excessive empty space added at the bottom of the scrollable region.
- Fixed bug: (Delphi version only) The block options and face options checkboxes in the metablock editing menu don't have header labels, making it not clear that some apply to the whole block and some just to a single face.
- Fixed bug: (Delphi version only) Clicking on the text next to the block / face option checkboxes does nothing, the checkbox itself must be cicked.
- Fixed bug: Considerable lag occurs when clicking the "Clear Block" button in the metablock editing window.

If you're using custom graphics, while I don't intend to enforce this, my recommendation is to use numbers between 60 and 89. Numbers in this range are not used for any official graphic files of any type, so sticking to this range clearly designates custom content. Please also be aware that numbers above 99 are probably not supported by L3DEdit (haven't tested) and are definitely not supported by L3D itself (I have tested this one).

Please also be aware that L3D is restricted to a fixed palette of 256 colors. If your image does not stick to that palette exactly, L3DEdit will try to convert each color to the nearest equivalent from the palette. And I'm no image scientist, so my algorithm for finding the nearest color is probably far from optimal - you may want to look into using a dedicated tool to do that conversion instead, then use L3DEdit to convert the result to L3D format.


The following bugs are NOT yet fixed:
- Linux version cannot decompress RNC'd files, they must be done with an external tool
- Linux version has lots of UI oddities
- Faces with the "double sided" (on the block) + "alt texture" (on the face itself) flag combination, render the reverse side of the face as if it didn't have the alt texture flag.
« Last Edit: July 09, 2019, 10:54:06 pm by namida »

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.44)
« Reply #44 on: July 09, 2019, 11:18:27 pm »
Uploaded V0.45, since I discovered a pretty annoying bug soon after V0.44's release. Changes:
- The theme list in the dropdown box is now in alphabetical order.
- Fixed bug: The theme assigned to a level may differ from the one listed in the menu, whether using the default or customized lists.
- Fixed bug: Inconsistencies with whether "None", "Select Preset" or nothing at all is displayed in the preset selection boxes at various times.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.45)
« Reply #45 on: July 10, 2019, 02:39:34 am »
The manual has been updated to reflect the changes in V0.44 and V0.45.

Offline insulfrog

  • Posts: 23
    • View Profile
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.45)
« Reply #46 on: July 19, 2019, 04:27:34 pm »
I am not sure what happened with the latest L3DEdit update Namida but L3DEdit is deleting level files every time I try to open either the 'BLK' or the 'LEVEL' files. Then a cmd prompt type window opens for a split second (see attachment), then this message appears.

Cannot open File
(directory here)... L3D\LEVELS\LEVEL.nnn
The system cannot find the file specified

(where nnn is the level number)

The L3DEditD.exe is in the L3D folder.

EDIT: I have copied my entire L3D game from my L3D CD to the same L3D directory.
« Last Edit: July 19, 2019, 08:29:16 pm by insulfrog »

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.45)
« Reply #47 on: July 19, 2019, 09:05:25 pm »
Okay - so what's happening there, is that L3D, as on-disc, has all the levels compressed via RNC compression. I don't understand the RNC algorithm well enough to write my own decompression code yet*, so L3DEdit relies on an external command line tool (there's a copy built into L3DEdit.exe that it extracts as needed, so you don't need to obtain this tool separately).

This tool can only extract from a file on disk, to another file on disk; so this works by - let's use LEVEL.000 as an example - asking the tool to decompress LEVEL.000 and save the result in LEVEL.000.TMP (the BLK file is not compressed, ever). L3DEdit then deletes LEVEL.000, and renames LEVEL.000.TMP to LEVEL.000.

In your case, it looks like the command line parameters aren't being passed to the RNC tool properly. Maybe it's a specific issue with your setup, maybe something's broken during development since this feature was introduced, maybe it's a bug specific to the Delphi version - I'll have to look into it a bit to see.

Due to the compression being the reason for this, this should NEVER happen with custom levels, unless you've compressed them manually. Nonetheless, this could still be severe if I'm wrong on that assumption, or someone has done that, so - I was about to release a 0.46 update just now, but I'll put it on hold to put some more safety measures in place to avoid file deletion if things go wrong and release a 0.47 update instead that has these measures in place. An actual solution to the issue, rather than just data-loss-prevention safety measures, will become a project for 0.48.

In regards to just getting the editor working for yourself - as an immediate workaround, please try downloading the Lazarus version of L3DEdit (L3DEdit.exe), placing it in your L3D folder, and using the Utilities -> RNC Decompress -> Lemmings 3D (Full) option. This will run the RNC decompressor on all known RNC-compressed files in L3D. Please make a backup of any L3D files that you've customized first. Note that your save file is safe no matter what, as L3D stores this in an entirely different folder. If it's a "this has crept in over time" bug or a "specific to your setup" bug this won't help, but if it's a Delphi version-exclusive bug - which I believe to be the most likely scenario at this stage - then this will get all the files decompressed. You don't need to continue using the Lazarus version after that (except if you need decompress files again - you may want to take a backup of your decompressed but otherwise unmodified L3D folder, to avoid that hassle), once the files are decompressed you can go back to using the Delphi version for actual real-world usage.

* If anyone who's more familiar with compression algorithms wants to help me understand it so I can write my own implementation, or if anyone knows of a Pascal implementation that already exists, please let me know. In the latter case, compression ability would be nice, but only decompression is critical. Only version 1 of RNC is relevant to Lemmings 3D.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.47)
« Reply #48 on: July 19, 2019, 09:49:48 pm »
Uploaded V0.47. Compared to V0.46, V0.47 just adds some safety checks to reduce the risk of data loss when the bug mentioned above by insulfrog is triggered. It does not *fix* the bug, it just has more precautions to avoid data loss when the bug does occur.

Though as mentioned above, V0.46 didn't see a release, and that one does have a few changes:
- The Reorder Levels menu now has a "Style Count" button, which can be used to count the style usage in either all levels (if none are selected in the menu) or a subset of levels (by selecting them in the level list in that menu).
- Can now edit the "Land Is Slippery" and "Disable Quick Jump" (the quick-jump done by clicking and dragging on the minimap) flags.
- Two of the flags in the metablock editor have had their descriptions updated to reflect recent discoveries about them.
- Some improvements to the tab ordering of form controls, though it's still not great. (If anyone wants it to be great, please submit a pull request - I simply don't see tweaking the tab ordering as a worthwhile use of development time; hotkeys are faster for layout editing, and other fields are not used frequently enough that the tab order needs to be perfect IMO.)
- Fixed bug: The "Swap" button in the Reorder Levels menu doesn't stay in place when the window is resized.

Note that when saving a level, if the "Disable Minimap" flag is active, the level will be saved with the "Disable Quick Jump" flag also active (yes - you can still quick jump on minimap disabled levels if this flag isn't set, despite the minimap not being visible) regardless of the state of the checkbox. However, you can absolutely have the "Disable Quick Jump" flag on levels that don't outright disable the minimap (this is seen in official levels in Lemlab, The Prisoner, The Hanger and Claustrophobic).


Please also note, there's a change to the repo structure:
- The Delphi version is now the main version, ie: the "master" branch. From 0.47 on, release branches under just "release/x.xx" are Delphi versions (for 0.46 and earlier, they're Lazarus versions).
- The Lazarus version is now in a "Lazarus" branch. The releases are "release-lazarus-windows/x.xx".
- The Linux version has been re-branched from the new Lazarus branch. It also has release branches now, "release-lazarus-linux/x.xx".

I intend to deprecate the Windows Lazarus build in the near future. The branch will remain in existance, as I'll use it so that I can follow a two step porting process - first from Delphi to Lazarus-Win, then from Lazarus-Win to Lazarus-Linux. The only released Lazarus builds will then be the Linux build, and possibly in the future a Mac build; though anyone will still be free to compile the Lazarus-Windows source themself if they wish.
« Last Edit: July 19, 2019, 10:56:19 pm by namida »

Offline insulfrog

  • Posts: 23
    • View Profile
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.47)
« Reply #49 on: July 20, 2019, 08:37:29 am »
The 'Anti-Data-Loss' algorithm is working, but I fear though that Delphi is not supporting the decompression algorithm. The reason being is that in the Delphi version now simply refuses to decompress the levels for viewing in the editor even after un-checking the 'read only' status in the folder properties. The attachment might provide more insight. 

Surprisingly the Lazarus version loads levels flawlessly and seems to run quicker but there may still be bugs to squash. So I am gong to have a play around that version and see what's up.  Please note that I have not applied any patches to L3D at this point as I have restored my L3D game folder from a pre-patched backup.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.47)
« Reply #50 on: July 20, 2019, 09:51:13 am »
Yes - as mentioned, I haven't made any effort to fix the bug yet, just to avoid data loss when it occurs. So the only difference from before that you'll see so far, is that files don't disappear anymore.

The "Read Only" mark shouldn't matter - both versions of L3DEdit are aware of the possibility of the file being read-only, and are prepared to deal with that. But something else must be stopping the Delphi version from working properly - so I'll look into that.

As mentioned in my previous post - you should be able to use the Lazarus version to decompress the files (Utilities -> RNC Decompress -> Lemmings 3D (Full), this will decompress all RNC compressed files in the Lemmings 3D installation), and once that's done, the Delphi version should work fine with the now-decompressed files. Lemmings 3D does not require the files to be compressed, and even the Lazarus version of L3DEdit does not compress level files when saving them, so you won't run into the same issue when you try to save levels.

I'll probably have a patch out to fix this in the Delphi version either later tonight, or sometime tomorrow, if you'd rather just wait for that.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.48)
« Reply #51 on: July 20, 2019, 10:21:56 am »
V0.48 released. For users of the Lazarus Windows build, there is no change except the version number, so no need to update if that's the version you're using.
- Fixed bug: (Delphi version only) Decompression of RNC compressed files fails.
- Fixed bug: (Linux version only) Most files fail to load due to incorrect path delimiters
- Fixed bug: (Linux version only) Many UI elements are oddly sized and/or overlap each other

Just to be completely clear: RNC decompression is still not supported on the Linux build; Linux users will need to use one of the Windows versions with WINE, or an external tool, to decompress the files.

The manual has also been updated to match V0.48 of L3DEdit.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.49)
« Reply #52 on: July 21, 2019, 12:57:13 am »
Uploaded V0.49 of the Delphi Windows Build only. This fixes a bug introduced in 0.48 that would cause the level reordering menu to not load correctly.

As there's no other changes, I didn't upload new Lazarus builds (Windows or Linux), so for those, continue using 0.48.

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.49)
« Reply #53 on: July 23, 2019, 01:26:02 am »
Uploaded V0.50 (all builds, this time).

This fixes a bug in the code that automatically enables the "Disable Quick Jump" flag on levels that have the "Disable Minimap" flag - it was also setting flags that disable the proper rendering of some other level elements.

This new version will not repair those flags on levels that have already been affected. If your levels have been affected by this bug, please download this tool, place it in your L3D "LEVELS" folder, and run it; it will fix the levels. (It also ensures the Disable Quick Jump flag is active on the levels in question, so if you have levels that pre-date the discovery of this flag and need them adjusted, use this tool to quickly do so, instead of manually going through all your levels.) Source code, for Lazarus, is also attached. This should work under WINE, but if anyone needs a native Linux build and can't compile one themself, let me know.

For the record, any level that has been saved with V0.48 or V0.49 of L3DEdit with the "Disable Minimap" flag active, even if the flag was later deactivated, will have the incorrect settings - although depending on the level's design, it may not suffer any ill effects from this. (If the flag was enabled, but disabled again before the level was saved, the level will not have the settings in question.) This applies to all three builds.
« Last Edit: July 23, 2019, 01:44:22 am by namida »

Offline namida

  • Administrator
  • Posts: 9355
    • View Profile
    • NeoLemmix Website
Re: L3DEdit: Lemmings 3D Level Editor - Release topic (V0.51)
« Reply #54 on: August 09, 2019, 12:12:54 am »
Uploaded V0.51.

I've decided at this point to stop releasing Lazarus-Windows builds. The Lazarus-Windows branch in the repo is still there, so anyone who really wants this is free to compile it themself. So, the only builds released for this update are the Delphi-Windows build and the Lazarus-Linux build.

Also, since it looks like I need to start putting attention into NeoLemmix again, I'm likely going to slow down work on this project. Assuming no one else wishes to take over on it, future updates will be for bugfixes only, at least for the foreseeable future. However - this is pretty much a complete editor at this stage; basically every known feature can be edited directly, and there's now even means to edit the unknown-at-this-time values, if anyone ever figures out what they're for.

Changes for V0.51:
- Unknown values, and some known obscure settings, can now be edited through a menu (or in some cases, extra edit boxes) that edit the raw data for these attributes - look under "Edit" on the menu bar. You can use the obscure ones, but I advise leaving the unknown ones alone if you don't know what you're trying to do with them.
- Adjusted the metablock editor's positioning of face graphics to more accurately reflect how a block is composed in-game.
- Some improvements to rendering accuracy.
- Fixed bug: The level isn't considered "modified" (and thus you won't be asked if you want to save before exiting / etc) after shifting the level.