L3DEdit: Lemmings 3D Level Editor - Release topic (V0.51)

Started by namida, June 16, 2019, 02:32:31 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

namida

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

Simon

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

Flopsy

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.

namida

Quote from: Simon 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

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

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

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

namida

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

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

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

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

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

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

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

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