Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - namida

Pages: [1] 2 3 ... 38
Well, while it's still got a long way to go, I think L3DEdit has come far enough that I can actually start providing releases now.

Please do not redistribute L3DEdit at this stage, unless it is because this topic is unavailable at the time. You are welcome to link back to the topic; guests do not need to register an account to download the attachment.

Current limitations
- You cannot edit the land at the bottom of levels yet. (However, you can simulate it by placing blocks at Y=0, which means only their top face is above the water.)
- Some known level settings are unavailable.
- Extraction of images with the RLE compression does not work (graphics without that compression, which is most graphic files, can be extracted without issue).
- Almost completely untested with the demos and Winterland. Assume it will only work with the full version.
- The editor is quite slow. V0.23 and later hugely improve this compared to the initial release, but it's still not great. You can get faster speeds by reducing the resolution (under the View menu), using a lower perspective (skew doesn't appear to affect it), or rendering only a portion of the level at a time. Zooming in or out does NOT affect render speeds, so feel free to zoom as much as you like.

If a feature appears to not be supported yet (or read-only), then indeed it probably isn't supported yet, and would be stripped from any level file that's saved. However, there are a few properties that L3DEdit can't edit yet, but does preserve, so in some cases you can get a few extra features, by using an official level that contains them as a starting point for your level.

I'm not going to go into too much detail with documenting this - I want to put my time into creating and improving the editor, not documenting it, at this stage, especially given that I *am* documenting the Lemmings 3D file formats. But if there's anything you can't figure out after a bit of trial and error, please feel free to ask me.

One thing you will want to be aware of - although you can create the metablocks yourself, this is very tedious. It's much quicker to import them from an existing level, then make changes as needed.

Shortcut keys (click to show/hide)

Scrolling is done by clicking and dragging with the middle mouse button. Yes, you probably have one if you're using an external mouse (touchpads might or might not support clicking both buttons as being a middle-click). You can right click to set your current block, to the one that's under the cursor. You can also zoom in and out using the scroll wheel.

To edit a metablock, right click it while in the block selection menu.

And to place a window in a level, it needs to have the top two slices solid and the bottom two slices not solid, otherwise it will not function. This is how L3D works, the only thing the editor is guilty of here is not enforcing that requirement - I'll fix that eventually, but it's low priority while there are still features the editor doesn't support.

At this stage, let's not get into making suggestions about what features we'd like or wouldn't like - we'll save that until the editor is fully functional for all the basics. So bug reports only at this stage please.

As a reminder, L3DEdit is open-source, the source code is available on BitBucket. While L3DEdit is still under early development, this is under a somewhat restrictive temporary licence that doesn't allow redistribution (although the notes on file formats are public domain). This licence contains a "time-bomb" clause that will make the code available under the MIT licence after some time has passed, if I don't release it under another licence first - just in case I disappear, or slack off with updating the licence, etc.
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.

Please be warned: For any branch other than master, Git history may be rewritten without notice at any time - I simply don't have the same aversion to that that most Git users have. However, I will guarantee no history-rewriting on the master branch.

This is still a VERY early version. Expect bugs, save often, back up your work, report bugs you do find, understand that not all features are supported yet, and expect updates to occur frequently.

If you want to be able to share replay files for your custom levels, check out L3DReplay.

I've also attached three custom levels of my own - "Space Station", "Acrobatics" and "Activity Center". These replace Fun 1 to 3 respectively, although they're well beyond Fun difficulty - I would say Space Station is early-Mayhem, while the other two are harder than anything in the official game. I've also attached replays for these levels, which you can view using L3DReplay. Please note, these levels assume you're either using CD music, or you've applied the music patch (L3DEdit can apply it) to your copy of Lemmings 3D.

So, with custom levels being possible now, wouldn't it be nice to have a way to save and load the replays that L3D offers you when you retry a level?

Well, I've just created that way! Introducing L3DReplay!

L3DReplay is a tool that allows you to save and load these replays as files, just like we can with NeoLemmix replays (well, maybe not quite as straightforward - for one, there's no auto-save feature). It works simply by extracting and re-inserting the raw replay data from memory. As a side bonus, since the demos (for practice levels / when idling on the title screen) are also just raw data like this, you can also use it to create these - just rename the output file, no other changes needed.

- Windows XP or higher. Due to reliance on Windows API calls, the code cannot be compiled for Mac or Linux. I'll gladly add code for those OS's to the repo if someone writes it, but I wouldn't have a clue how to go about it myself. I very much doubt it will work under WINE when using native Mac / Linux DOSBox, although it might work with a setup of WINE + Windows DOSBox.
- DOSBox 32-bit. It will not work with 64-bit. (It might work with 64-bit DOSBox if you compile a 64-bit version of L3DReplay, feel free to try. It will not work with L3D being played on real hardware, firstly of course because that's not really practical on Windows XP or higher...)
- The full version of Lemmings 3D (either floppy or CD). The demos and Winterland are not supported.

The "Load Replay" and "Save Replay" buttons will become enabled when L3DReplay detects a copy of Lemmings 3D running in DOSBox. It should work with any 32-bit version of DOSBox, though it's only tested with V0.74-2. (Yes, I have accounted for that different versions have different memory offsets - L3DReplay does not rely on absolute offsets, but rather locates known data in memory and works relative to that.)

You can save a replay at any time during gameplay. You can also save replays at the postview screen, and possibly for a while afterwards - I don't know exactly when L3D clears them from memory. It's as simple as clicking the "Save Replay" button and selecting a filename.

To play back a replay, enter the level the replay is for, then pause the game. Load the replay at this point. Now press Esc to restart the level (without unpausing first), and the replay will play. Alternatively, you can fail the level, then load the replay at the postview or preview screen before trying again.

You can also enable automatic saving of replays. After L3DReplay has initialized itself, check the "Autosave" button. You'll be prompted for a filename to save to. You can (and probably should, at least one of them) use #TITLE# as a placeholder for level titles, and #TIMESTAMP# as a placeholder for the timestamp. Note that L3DReplay saves the replay as soon as it detects you have met the save requirement - which it usually picks up on quite quickly, as it checks every 1 second - so if you're trying for a challenge solution that saves extra lemmings, and requires further action after the save requirement is met, don't forget to manually save a replay!

If you're creating custom level packs, the demos can also be used as replacements for the demos that play when L3D is left idle at the menu screen. All you need to do is rename the demo files to REP.00x (where x is between 0 and 3) and put them in L3D's "REPLAYS" folder. You can replace the REP.00x files with a replay from any level; but the REPLAY.0xx files for the practice levels must be replays for the correspondingly-numbered practice level (however, as long as that requirement is met, you can replace those in exactly the same way).

- You cannot control the camera during replays; it plays back (roughly) according to how the person who made the replay moved the camera. The only controls you have while watching a replay are pause and fast-forward.
- Nuking does not get replayed when loading a replay through L3DReplay. It does get saved to the replay file, and if you use the replay file as a demo, the nuking will be replayed correctly.
- If you record a replay, then an initial camera position in the level is changed (and that camera is used in the replay), bounds checking doesn't get applied properly for the camera while replaying, and L3D may crash if the camera moves below the bottom of the level (it shouldn't crash in the case of excess in any other direction).

These limitations are both limitations of Lemmings 3D itself, and there is nothing I can do about them.

Source code (for Lazarus) is available here:
L3DReplay does not have any dependencies outside of the units included in Lazarus as standard. However, it relies heavily on the Windows API, so it will not be possible to compile for other operating systems without major changes.

Help, L3DReplay goes into a "not responding" state once I start it or when I start DOSBox (whichever is later)!
This is simply because L3DReplay is busy searching through (a copy of) DOSBox's memory trying to locate L3D. Leave it to do its thing, and it should come right within 10 seconds or so (assuming Lemmings 3D is running; otherwise it will keep repeating these attempts).

Help, the buttons don't become active!
This means that L3DReplay either (a) cannot hook into DOSBox, (b) thinks DOSBox isn't running, or (c) thinks Lemmings 3D is not running inside DOSBox. Please check the following:
- L3DReplay is not being sandboxed by antivirus software. (If you feel you would rather sandbox it for security, see if your antivirus software will allow you to sandbox it and DOSBox together. If that's possible, L3DReplay should work under such a setup.)
- If DOSBox is running as administrator (although it shouldn't be in the first place), L3DReplay needs to be run as administrator too.
- Your copy of DOSBox does not have a non-standard filename. In other words, the main executable should be called "DOSBox.exe".
- You are not using a 64-bit version of DOSBox, or a demo version (including Winterland) of Lemmings 3D.

New topic:

So, I started work on a new project recently - a long-overdue Lemmings 3D level editor!

It's early days yet. And let's not forget - this is me we're talking about, it's never a sure thing whether or not I'll finish something. But I've made some decent progress already - it can already edit title / stats and some style-related settings, as well as display a very approximate representation of the level's layout.

I'm writing this editor in Lazarus (basically, open-source Delphi). So far I've been using Lazarus 1.8.4 with FPC 3.0.4; but I'm aware of the release of Lazarus 2.0.2 and will likely upgrade this project to it at some point - though as 2.0.2 still uses FPC 3.0.4, I suspect it will compile just fine as-is. There's no compiled version available for download yet because it's simply too far from finished to be worthwhile, but if you're really interested, you're welcome to try and compile it from source:

At this stage, you're welcome to provide feedback on whether it compiles and/or runs on Mac or Linux, but proper support for them is not a priority yet*. Lazarus very much supports both of those platforms, and there's a very good chance it'll compile and work fine as-is, but if it doesn't, it's on the basis of "fix it yourself; otherwise, feel free to report it and I will eventually look at it, but that's a very long-term eventually".

* Yes, it isn't a priority yet. I do intend for this to be cross-platform.

The only dependency is Graphics32. Either the PilotLogic GR32 package from the Lazarus Online Package Manager, or the copy from the official GitHub repo, will work. GR32_PNG is not required. Note that Graphics32 will only compile under Lazarus when the "PUREPASCAL" conditional define is enabled, at least when compiling from GitHub; I don't know if PilotLogic's version improves on this. This in turn results in slower execution. If this issue in GR32 isn't resolved, I may look at a Delphi port at some point, but only once the Lazarus version is fully working on all platforms.

Huge thanks to Pooty for his work on cracking the Lemmings 3D file formats, without which this project couldn't have even come as far as it has.

If you'd like to help with this project - probably the most useful thing anyone can do at this point, is see if they can figure out any more of the file format - both the LEVEL and BLK file are of interest; I believe I know everything I need to at this point about graphic files. The less time I have to spend figuring out the rest of the format, the more time I can spend making the editor work. ;)

Update: While no release yet (I'll likely create a new topic when there's a release), the first L3DEdit-made level is here. See reply 32 if you'd like to grab a copy and try it out. It's roughly early-to-mid Mayhem difficulty - not a pushover by any means, but you should definitely be able to solve it if you solved the official L3D levels.

Lemmings Main / Lemmings 3D Save with all levels unlocked
« on: June 05, 2019, 03:26:24 am »
Usage: Extract to (create the folder) C:\LM3D.CD\. If you're using DOSBox, you'd instead extract it to a folder called "LM3D.CD" inside whatever folder you're mounting as C:.

It has all levels unlocked, but none have any completion stats. (This was created using the RASPUTIN cheat.) This does, unfortunately, not do anything about the saved / killed counts, and the skill usage counts aren't quite at 0 - I used turners and blockers on a few levels to contain the lemmings. I'd have liked to create a truly blank (except for all levels unlocked) save, but the save data has a checksum on it that I couldn't (be bothered) cracking.

Currently, sound files are included with the main NeoLemmix download.

I'd like to propose they instead be included alongside the styles. The reasoning - the vast majority of times a new sound is introduced, it's to go with a custom style. Currently, the sound would have to be distributed separately, or else the style would have to wait for a NeoLemmix update to include the sound - and with the slow release schedule these days, this is very limiting.

Unless used-by-engine sounds are excluded from this, this does mean that the styles download would become necessary for NeoLemmix to work - but I believe that's already true due to the "default" style also being only in the styles download.

Perhaps longer-term, sound files associated with a specific style should be included in the style's folder rather than the general "sound" folder, but this would need modifications to NeoLemmix (or some very kludgy abuse of NeoLemmix's exact workigns) to acheive.

Now - a foreword; this is all going on the assumption that the level codes at GameFAQs are accurate. I cannot find another source either confirming or disproving that assumption (though I didn't look super hard). I do notice two codes are an extra character long; these might be typos, or errors in the game.

But there's some interesting messages in the codes, for sure.

First, here's the list of codes, in actual level order (GameFAQs uses alphabetical order, which is slightly wrong here):

Spoiler (click to show/hide)

Of particular interest are:
21, 41, 61: TRISTART TAXSTART MAYSTART - note these are the first levels of Tricky, Taxing and Mayhem respectively (hm, wonder if the unlisted code for level 01 is "FUNSTART"...)

51 to 59, these need to be arranged vertically:

Reading this top-to-bottom, left-to-right, and dropping the X's, this reads: "these are some codes that read downwards for those who enjoy that sort of thang" [sic]

Also, code 72 is WHEEEEEE. Not so much of an easter egg in and of itself, but both myself and GigaLem found this highly amusing.

I couldn't find any mention of this anywhere with a quick Google search. Is this known?

NeoLemmix Main / List of unconverted packs?
« on: May 27, 2019, 08:22:46 pm »
I'm wondering - do we have a list of old-formats packs that haven't been converted to new-formats yet? (Either a full list, or just a "possible to convert" list, is fine.)

Due to the changes to styles with the secondary animations update, the NXP convertor will no longer be compatible with the styles and thus will not be useable after the next major update (ie: V12.4.1 will be fine; V12.5.0 or V13.0.0 will not).

We will keep an old copy of the styles available, to use with the convertor; but if you have any remaining unconverted packs, it would be easiest to get them converted now. Don't be discouraged by that you have levels that use radiation or slowfreeze - it's often possible to replicate these solutions quite closely using features that still exist, and where not, see if you can make a new puzzle out of the terrain!

This will not affect opening old single LVL files in NeoLemmix or the editor; it only affects the NXP conversion tool.

Since it's relevant, I'll take this as another time to remind people: You should not still be creating new content for old versions. If you're reading this topic, it should either be an "out of interest" thing or because you have existing content (either your own, or that from no-longer-active authors) that you need to convert. If you have been working on any old-formats content, or have content you still need to convert, ideally look into converting it ASAP because it's going to get harder after the next update.

And just to be clear - if you convert content using the current version, the post-conversion content will work fine with the next version. No features that are needed by older content are being removed; it's simply a matter of changes in the styles and us not being likely to update the conversion tool to account for these.

NeoLemmix Levels / GeoffLems - Converted for new formats
« on: May 26, 2019, 01:08:28 am »
Another great pack (if perhaps not nearly as old as MazuLems) with a no-longer-active creator, that needed a conversion to new-formats. Well, here it is! :D

I highly recommend this pack to everyone - it's not overly difficult (the hardest levels are IMO comparable to some of ONML's harder ones, which is quite easy by fanmade content standards), so it's suitable for those who are new to fan content; but it's full of great levels.

You can find the original GeoffLems topic here:

I've also attached replays to prove all levels are possible under the current version of NeoLemmix. Note that there is no guarantee that any of these are intended solutions.

This update, as well as ensuring in general that the levels work and are solvable under the current version of NL (12.4.0), also bring these levels up to modern standards in terms of empty space and time limits. Additionally, anywhere that multiple one-way arrow or water objects were used, it now uses resizing; and one-way arrows are better snapped to terrain in many cases.

Please let me know if:
- Any backroute has arisen as a direct result of porting to V12.XX.XX (if the backroute already existed before, I'm not interested in fixing it).
- Any solution that's known to be intended or actively accepted (ie: Geoffster was deliberately trying to keep it possible) is no longer possible.
- If there's a good reason to restore any time limit that I removed.
- Any other oddities, eg. weird screen start positions, mismatches between a level and its repeat, etc.

I cannot consistently reproduce this, but I've seen it happen multiple times now. I will mention the common factors between cases where I've noticed this to occur, in case it helps.

Upon resizing the level's horizontal size, via typing the number into the input box, sometimes, the actual on-screen display of the level will be drawn as if the level was slightly narrower than it actually is - I'd estimate about 8px on each side (left and right) is cut off. Vertical size is not affected. Anything that causes the level image to be redrawn again (modifying, zooming) will fix this.

EDIT: On further observation, I have noticed that while sometimes it's both sides, sometimes it's only one side or the other. It always seems to be 8px-ish, though (same amount every time, I think, just not sure if it is exactly 8px). EDIT: And to clarify, I'm meaning 8px of level pixels, not screen pixels.

This is a purely visual glitch; the level's data is indeed the correct size.

Other things that may be relevant:
- This is happening in the current stable release version of the editor, not a built-from-source copy.
- In all cases where this has occurred, no pieces have existed completely outside the new boundaries.
- This has occurred both in cases where the screen start would be outside the new boundaries, and where it would be inside it.
- I haven't seen it occur when resizing via clicking the increase / decrease arrow buttons next to the input; only when typing directly.
- I haven't done any vertical resizing since noticing this bug, so cannot say for sure if it can happen vertically too or not.

EDIT: I have now seen this occur upon loading a level, too.

Currently, styles.ini contains ordering information and a user-friendly style name. I feel that while the former is a user preference and thus belongs in a file like styles.ini - or perhaps even in a file in the "settings" dir, rather than inside "styles" - the latter is an attribute of the style itself, and should be defined by it.

I can see two ways of doing this:
1. Introducing a "style.nxmi" file that contains this information, and any later style-specific (not theme-specific) information. Downside is the extra file.
2. Adding it to the "theme.nxtm" file. Downside is that this would disallow having a style that contains pieces, but not a theme - not sure how common this actually is though.

These are all features that I've developed initial code for, player-side. They still all need to be bug-tested more, and may have room for improvements in exactly how they work. How much work remains needed in the editor varies, though all of these (where relevant) have at least a little bit of editor-side code written.

Limited-count entrances and exits - Pretty self-explanatory. This lets you have entrances and exits that only release / permit up to a certain number of lemmings. Fallback code is in place to ensure you don't end up with a level that has a higher lemming count than can be released from the entrances, or a higher save requirement than the exits allow for (it'll reduce the lemming count / save requirement to the highest possible value for the level). Editor-side, code exists to preserve lemming count caps, but not to edit them. It's possible for custom entrances / exits to have custom digits and a "close" animation (pending the acceptance of the new animation system, but that's looking fairly likely now); but the feature is also 100% compatible with existing entrances and exits (regular or locked), simply using the countdown digits as a default and indicating used-up purely by the count being zero.
Neutral lemmings - Neutral lemmings cannot be assigned skills, but in all other ways act like regular lemmings, including that you can rescue them and they count towards the save requirement. Neutral lemmings can either be pre-placed, or spawn from a neutral-lemming-spawning window (which, just like a zombie or permanent-skill window, is just a regular window that's got a "neutral lemmings" flag activated). Full editor-side support for this has been implemented, except for drawing preplaced lemmings in a neutral lemming color (and the editor doesn't do that for any existing color variation, eg. athletes or zombies, either).
Piece grouping - Allows creating composite terrain pieces out of smaller pieces, in custom levels. Those who are familiar with Lix will already know how this works - NeoLemmix's implementation is very similar. Editor has support for creating and using piece groups, but doesn't yet have support for loading and saving them - though I believe adding that support is quite high on Nepster's todo list.
Username & replay matching - Allows entering a username, which will be saved to your replay files. Replays with a different username (or no username) will not modify your level completion statuses or your save / time records. There's no editor-side support needed for this feature.

Please note:
- Shimmier isn't on the poll, because it's more or less confirmed for the next stable version anyway, so no need. (EDIT: To clarify, I mean the next major stable version. IE: 12.5.0 or 13.0.0, as applicable. If we release a V12.4.1 update, it won't contain the Shimmier yet.)
- Expanded skill limit isn't on the poll, because no coding work has been done on this yet. If I code it to a near-complete state in the near future, I'll add it in. It's possible to change your vote on this poll, so don't withhold votes for now "in case expanded skill limit gets added" - you can change your vote later if it does get added before the poll closes.
- This topic is not for discussing in depth how any of these features should work (if you'd like to clarify how they already work that's fine, as it's relevant to this topic; but if you want to discuss changes, let's use a separate one), or proposing other features you'd like to see in the near-future. Use the Bugs / Suggestions board (creating a new topic if none already exists) for that.
- We're under no obligation to implement features in the order this poll determines; it's just for us to get an idea of which features are more desired. We might follow it exactly, we might not.

Site Discussion / Site downtime, 2019-05-17
« on: May 17, 2019, 12:08:33 am »
Hey everyone,

Letting you know now that there will be planned downtime for later today - no exact time, but I'll probably start in the next few hours, and it should only be down for 10 - 15 minutes.

The reason for this is to (finally) upgrade the site to the latest version of SMF, 2.0.15 - we've been running on 2.0.11 for almost as long as the site's existed, an upgrade is overdue. Further down the track, this will allow the server to also upgrade to PHP7, but I will do this upgrade at a later point in time.

This downtime will not affect

Site Discussion / Can the post notification bot run on Discord?
« on: May 16, 2019, 07:48:29 am »
On IRC, we have a bot in #neolemmix and #lix that informs us when new posts are made. It'd be nice to have this on Discord, too.

Is the source code of this bot available, in particular, for the detection of new posts (I figure porting the "send message" from IRC to Discord, assuming Discord has some kind of API to allow for this - and I've seen plenty of bots on there so I assume it must - would be relatively simple).

With the upcoming addition of the Shimmier, and a bit further down the track, the Jumper, we may be getting to the point where we want to allow more than 8 skill types per level. Indeed, even with only the current 17 skills (and even some cases pre-Fencer), I've occasionally found myself having to adjust levels to work with the 8 skill limitation.

What do people think here? Should we increase the limit? Should we get rid of it altogether? How should we allow for this on the skill panel? One possibility here is, if there are more than 8 skills, the furthest left / right turns into a "scroll left" / "scroll right" button, and only 6 skills are displayed at a time, or 7 if the user is at the edge. Another option might be to shrink the buttons to 2/3rds of their current height, and have two rows (increasing the skill panel's height by 1/3rd of a button), allowing for up to 16 skill types - and maybe more, if we also shrink the non-skill buttons accordingly.

Or, do people think this is fine as it is?

Pages: [1] 2 3 ... 38