[OLD] Editor Bugs / Suggestions

Started by namida, January 02, 2015, 01:35:33 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

mobius

Quote from: namida on March 30, 2015, 11:19:58 AM
I've noticed this occasionally as well, though never seem to be able to reproduce it when trying to. Do you notice any patterns as to when it happens?

The relevant boxes should be grayed out whenever you're editing a level in a style that doesn't support those features. There's no case where all boxes will be active, as some new properties are NeoLemmix exclusive (such as S and L values), while others are SuperLemmini exclusive (like fake / invisible terrain).

It seems to happen most often when I open a Lemmini ini level then convert it to NeoLemmix style. I found what seems to fix it is closing the program and opening the newly converted level up in NeoLemmix.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

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

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


namida

I found and fixed the cause of that bug. :)

Other features I want to add for the next update:
- Improved "Validate Level" menu; I want to make it so that it presents a list of detected problems, and you can select individual ones and tell the editor to automatically fix them (as well as a "Fix All" button of course) for any that is possible to do so. For example, terrain pieces / objects that don't exist in the graphic set, save requirements higher than the number of lemmings in the level (taking into account Cloners, of course), etc.
- A mass conversion feature to quickly convert a bunch of levels between formats.

Anything else that anyone thinks should be in the next version?
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

#48
I think all usage of other level editors would disappear overnight if there was. :P Unfortunately, it's not realistically possible.

(Now, if you had've suggested that before April Fools... :P)




New "Validate Level" menu should be implemented for the next update. I probably won't have the "fix" function yet, but the menu itself has been reworked, including adding support for detecting issues specific to particular engines, and things such as mutually-incompatible gimmicks. :) EDIT: Nope, the fix function is in there now. :) It can't fix all errors automatically, but it can fix most of them.

Not 100% sure yet if the Mass Conversion will be there for the next update; hopefully it will. :)
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

Okay, so, I've added the new Level Validation window, along with the option to select and fix specific errors from the list (and a "Fix All" button). Many (but not all) of the fixes it implements, especially in relation to level stats, are the same as how NeoLemmix itself reacts to such situations.

Just to be clear, these autofixes are only applied when you use the Level Validator option, then select the error and click "Fix" (or just click "Fix All"); it doesn't constantly detect and fix these things, since there may be cases where they're intentional, or are temporary during work on a level. Nor does it auto-fix them when saving the level, unless it's as a side effect of something outright not being supported by the level format.

The errors it can currently detect are:

Level Stats / Skillset / etc
Very high lemming counts that may cause game to lag (no autofix)
Impossible save requirement (fix: reduces it to highest possible value)
Time limit of zero (fix: sets it to infinite or 9 minutes, as appropriate for the format)
Screen start position outside level boundaries (fix: sets it to 0, 0)
Incompatible gimmicks:
>> Hardworkers + Lazy (fix: turns off Lazy Lemmings)
>> Solid Floor + Vertical Wrap (fix: turns off Solid Floor)
>> Invincibility (fix: turns it off; this is because this gimmick is intended as a debug feature only)
>> Classic Zombies without Zombies (fix: turns on Zombies)
>> (Gim29) (fix: turns it off; this is because Gim29 is a currently unused gimmick slot)
More than 8 types of skills in the skillset (fix: removes skills beyond the first 8)


Interactive Objects
Maximum number of objects exceeded (no autofix)
Object that doesn't exist in graphic set (fix: deletes the object)
Object X position not divisible by 8 in traditional Lemmix levels (fix: rounds it down)
Object Y position not divisible by 4 in traditional Lemmix levels (fix: rounds it down)
>> Y divisible by 4 is not a requirement, but can cause unexpected issues with the trigger areas
Object outside of level boundaries (fix: deletes the object)
Object with properties that aren't supported in current format (fix: unsets those properties)
>> This can occur when converting levels from another format; it's harder to notice than stats / skillsets that aren't supported which is why the checker points them out
One-way wall objects that don't have the "only on terrain" property set, in non-NeoLemmix levels (fix: sets it)
Object with "upside down" set but not "trigger invert" in SuperLemmini levels (fix: sets it)
>> This is because generally, if an object is upside down, the intention is for the trigger area to be upside down too; but in SuperLemmini these are two seperate options, unlike with horizontal flip


Terrain Pieces
Maximum number of terrain pieces exceeded (no autofix)
Terrain piece that doesn't exist in graphic set (fix: deletes the piece)
Terrain piece outside of level boundaries (fix: deletes the piece)
Terrain piece with properties that aren't supported in current format (fix: unsets those properties)


Steel areas
Maximum number of steel areas exceeded (no autofix)
Coordinates or dimensions not divisible by 4 in traditional Lemmix levels (fix: rounds them down)
Dimensions exceeding 64 in traditional lemmix, or 256 in NeoLemmix (fix: reduces them to these values)
Steel area outside of level boundaries (fix: deletes the area)
Steel area with properties that aren't supported in current format (fix: deletes the area)
>> The reason it deletes it, unlike with other pieces where it unsets them, is that simply unsetting those properties is more likely to give unwanted and hard-to-spot results with steel areas than it is with objects or terrain



Let me know if you think there's anything that should be added to this. Reworking of code elsewhere will be needed for anything that requires detecting a window (in fact, it might be required for detecting the type of any object in Lemmini / SuperLemmini formats), so that's why, eg, it won't detect an absence of windows currently, or detect the lack of any zombies in Zombie gimmick levels.
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

Discovered a bug where regular Lemmix levels (or very old NeoLemmix levels; generally those that have not been edited with V1.24n onwards or dumped from player V1.24n onwards) will not open directly in NeoLemmix styles, and must instead be loaded as regular Lemmix levels then converted. This will be fixed in the next 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

#51
Working on the mass convert feature now. :) Looking promising so far; it looks like this too will be in the next version.

Of course, anyone using it needs to be aware that *all* converted levels should always be checked before any kind of release, and also that due to different features in different engines, some loss of data may occur. Conversion is supported between any combination of Lemmix, NeoLemmix, Lemmini and SuperLemmini. Generally, converting the older engines to the newer ones should have little if any issues, though Lemmini to NeoLemmix may need closer attention than the other three old-to-new pairings. Attempting conversion back to older engines is very likely to be a disaster, though SuperLemmini to Lemmini may work out alright.




Finished implementing it. So far, I've only tested it with NeoLemmix -> SuperLemmini, but it worked first time with no major errors - one minor one in that it didn't update the display to say it was finished. I do still need to test other combinations.

EDIT: Okay, update containing the feature has been added. :)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

mobius

How about an option in the editor to enable you to change the terrain piece quicker than pressing the button in that properties window and going through the list;
If able; have the middle mouse wheel automatically change the piece as if scrolling through the list when the terrain piece is selected (highlited).
To zoom in and out make it necessary to hold down control while scrolling. Or do the opposite; hold down control to scroll through terrain pieces.

This is one of the remaining annoyances of the editor for me personally. Having to go through the list every time (unless your copy pasting) can be a little annoying.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

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

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


namida

You can edit it by changing the number in the Terrain Piece box, though this is a bit inefficient, yes. I'll see what I can do about that in the next 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)

Tsyu

The editor refers to the SuperLemmini Apple style as "Apple Computers"; it should be "Apple Computer" (singular).

And you still haven't changed the default Java path to javaw.exe. Java.exe opens a blank command-prompt window (which I'm sure is not what you intend), whereas javaw.exe does not.

namida

I'll sort those things in the next update. In the meantime, they can be acheived with a few quick modifications to the INI files. (/styles/SuperLemmini/style.ini for the former, and NeoLemmixEditor.ini for the latter; if the editor is already running, the changes will not take effect until it is restarted)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

mobius

I don't know if this is intentional so I'll bring it up. It was confusing at first and doesn't seem right.

When making a level with zombies; If you set the lemming count to 80 for example, and put three zombies in the level [via pre-placed]. In the menu screen it will say: 80 Lemmings in the level. But during the level only 77 lemmings will come out [or at least the count says that I didn't manually count the lemmings].
So it appears that it subtracts the three zombies from the count.

It doesn't count them when the level starts like normal pre-placed lemmings.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

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

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


namida

That's intentional, but probably shouldn't work that way. I removed the zombies from the "Out" counter to avoid misleading as to how many lemmings could possibly be saved. Part of the reason why it isn't deducted pre-level is because the level may have windows that release zombies, which would be a pain to calculate pre-hand laziness.

Percentages also don't account for the existance of zombies, hence why Doomsday Lemmings uses lemming counts by default instead, despite my very strong personal preference for percents (hence why it's the default in NeoLemmix in general and in all my other packs, though there's an option to change to lemming counts).
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

Quote from: namida on April 18, 2015, 06:39:23 PM
my very strong personal preference for percents

Other than 100 % as a synonym for X/X or lose-0? I'm sure such a condition can be cured with time. :-]

-- Simon

namida

It's not a "condition", it's just my preferred way of displaying a saved number of lemmings. It's fine if you disagree, but it's starting to get a tad annoying that you keep insisting your preferred way of doing things is the objectively best one...

Just to be clear: This post is coming from me personally, not me "as an administrator".
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)