"What do I need to do for my content to be V12.7.0 ready?"

Started by namida, October 03, 2019, 04:25:30 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

For everything below except custom pickup skills, you have until V12.10.0 to update (at which point non-updated content will no longer work) - but sooner rather than later is best! For custom pickup skills, please treat them as high priority - this should be the last time you need to update them, as they will now be officially supported and thus care will be taken to avoid breakages.

You'll be able to start updating in a couple of days when V12.7.0 RC is released. However, please wait for V12.7.0 Stable before publicly releasing your V12.7-ready content (you may, however, submit it to the styles download right away, to be released alongside V12.7.0 stable).

General
BACK UP YOUR FILES FIRST! Or even better, have them in version control (Git or similar).

Replays
Run all LRB replays, or any NXRP replays that predate new-formats, through the Replay Refresher tool. If you aren't sure if an NXRP replay is from old-formats or new-formats, run it through the refresher anyway - it won't hurt.

The Replay Refresher will also allow you to add your username to pre-V12.6.X replays when doing this.

Levels
NL V12.7.0 will have a "Cleanse Levels" feature. This essentially loads every level in a pack one by one, and saves a fresh copy of it to a separate folder. This copy will be completely up-to-date format-wise. Replace the existing level files with the newly-saved ones.

This goes for existing NXLV levels as well, right up to V12.6.5 levels. I've made some tweaks to tidy up the file format. However, note in particular - this is pretty much "last call" to get old-formats content converted. This is one last chance, that will update it directly to the latest version. If you do not get your old content converted before V12.10.0, do not expect any assistance to convert it in the future - you've had long enough now! Support for old-formats levels, as well as importing of levels from other engines (Lemmini, Lemmix, Lemmins) will all be dropped in V12.10.0!

Backwards compatibility for older NXLV format will remain indefinitely in the game, but NOT in the editor.

Packs (other than levels)
In your levels.nxmi files, change $RANK to $GROUP. (This will not work with RC builds prior to V12.7.0-RC5. Or V12.7.0 stable. Whichever one happens first.)

info.nxmi and music.nxmi files do not need any changes. If you have custom panel graphics, you may now get rid of the disarmer graphic, as it is no longer used.

Styles
If your style has been submitted to the NeoLemmix styles download by the time of this post, the V12.7.0 RC build will come with an updated copy of it.
If your style gets submitted to the NeoLemmix styles download between V12.7.0 RC and V12.7.0 stable's releases, it may be either V12.6.5-format or V12.7.0-format. In the former case, it will be updated for you.
Once V12.7.0 stable is released, all styles being submitted must be in V12.7.0 format, taking note of new deprecations / etc - any new submissions using deprecated features / formats will be rejected, as support for them is for backwards-compatibility, not for people who aren't keeping up to date.

Custom pickup skills are an exception to the above. These are simply going to be removed from the styles download altogether, as existing ones will be completely incompatible. Style creators may either choose to leave their styles without the custom pickups, or to submit new ones in their place. You are encouraged to make new ones that are name- and physics- compatible with the now-removed ones, so that existing levels will work again as soon as the pickup is reintroduced. To make sure it is properly updated: Create a level that has Walker, Shimmier and Cloner pickups, with at least one of them giving exactly 1 skill, and at least one of them giving more than 1 skill. Test this level in V12.7.0 (stable or RC). Make sure that all three display correctly. You may start submitting new / replacement custom pickup skills, in V12.7.0-format only, once V12.7.0 RC is released - custom pickup skills in V12.6.5-format will not be accepted and/or updated for you.

Custom lemming sprites are a partial exception to the above:
- The deprecation of the "_mask.png" files will be handled for you, either in the new styles download or by the automatic update app (as applicable).
- If your custom sprites are a direct recolor of the official ones, and are submitted to the styles download before 12.7's release (RC or stable), I'll handle porting them to the recoloring system; but if they do not get submitted by 12.7-stable's release, it will be up to you to do this yourself - the update tool will not be able to automate this part.
- If you have completely-custom sprites and you want them to be able to be recolorable like the official ones are, this is something you will need to do yourself in all cases.
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)

Strato Incendus

So is this like a "New-New-Formats" then? :D

I'm asking simply because I'm wondering whether I should put it in a separate folder than 12.6.5 or not. I always keep the door open to be able to convert further old or even very-old stuff - by keeping the latest stable version of the various editors and players around.

Meaning, technically I could still convert any gimmick-less, radiation-less, slowfreeze-less level from my pack Lemmicks (version 1.43) by opening it in 10.13 first, saving it, then opening it in 12.6.5 or 12.7, saving it, then opening it in 12.10? 8-)

Because I guess there will be some method of converting New-Formats levels from 12.7 to 12.10 or so (as long as they don't include custom pickup skills or other deprecated features)?

If not, that would really make it a "New-New-Formats" indeed... 8-)

As long as it's possible to "hand a level from one stable version to another", as described above, to eventually arrive at the newest version, I personally wouldn't need any help in converting my stuff, since I haven't really needed it so far either, apart from asking various graphic-set designers about missing pieces in their respective tilesets (and tilesets have to be maintained anyway, otherwise levels can break just as easily within New Formats).

Conversion of Lemmings World Tour is as good as complete; everything has been adapted to deadly ceilings - the only remaining issue is what to do about Zombie-Radiation/Slowfreeze levels, because they can't easily be fixed with Bombers and Stoners. But overall, it should be released long before the update to 12.10.

What I haven't converted yet though is Pit Lems - mainly because I didn't consider that particular pack worth it so far. I'm thinking about it again, now, though - given that we seem to have a severe lack of easier packs in New Formats.

And just to stress again that this is not just about me making excuses for being slow with conversion :P : I think it would be a real loss not to have Arty's SubLems or nin10doadict's CasuaLemmings and LemmingsSquared available for New Formats.

So I really hope "manual conversion" will remain possible by handing a level from 10.13 through 12.7. to 12.10. Or, say, the last version before 12.10, which should then be compatible with 12.10. Because otherwise, we'd be closing the lid on some of the most entertaining packs we've had in the past, which their creators haven't even started converting yet.

Even if Arty and nin10adict themselves never intend to convert these packs, it would leave the door open for more motivated members who have taken up the conversion of other, sometimes completely inactive users in the past (like in the case of PimoLems and Deceit's Lemmings etc.).
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

namida

I have given a bit of thought to this and reconsidered about backwards compatibility for future versions.

For styles, everything will remain as already planned. Pickup skills would need replacing even without the format tweaks, and pretty much every other element of styles has been done by me for the V12.7 update anyway - for those with WIP unreleased styles, there's a tool that automates most of the updating.

For levels on the other hand, I think it's a bit too much of a stretch to expect all level packs will get updated, especially taking into account that there are some creators that are no longer active. So, backwards compatibility in the engine for the V12.0.0 to V12.6.5 NXLV format will be retained indefinitely, with one exception: Simple Autosteel will still be culled as planned.

There are two reasons here - most of the other changes is something like "REQUIREMENT is now SAVE_REQUIREMENT", things that make the format easier to understand but don't change anything about what it does; so all that's needed for BC there is telling NL to understand both keywords; but Simple Autosteel requires specific code to handle it when rendering the level's physics map. The other reason is that I suspect few, possibly even none, of the levels that exist in new-formats actually use it - the new-formats editor lacks support for it, and it was very rarely used even in old-formats.

However, this does not extend to ANYTHING other than the engine itself. The editor will still lose support for older NXLV format eventually (not right away), and should a content database site happen in the future, it will also require the up-to-date format. I've kind of gone off the idea of a completely new editor, but there's some solid code in what I did write for parsing files and rendering the level, so I will likely look at integrating this code into the existing editor.
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)