Upgrading existing content to V1.47n

Started by namida, September 09, 2016, 06:53:06 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

namida

Although not too complicated, some work may be needed when upgrading content to V1.47n. This topic will explain what's nessecary for levels / levelpacks and graphic sets; all other content should be possible to use as-is (including VGASPECs).

Graphic Sets

For optimal results, follow this procedure:
1. Get GSTool V1.47n.
2. Open your graphic set. It's probably best to open it from a DAT file rather than an INI / PNG collection when upgrading, but either way will work.
3. If you have any objects that are of now-removed types (secret level trigger, single-object teleporters, two-way teleporters), or more than one background replace them with dummy objects (no-effect objects that have a blank graphic). Don't remove them altogether, as this would screw up the ordering and cause errors on levels that use that object (or objects that are later in the list).
4. If you have an object that's meant to be used as a static background image (not moving backgrounds), other than a single solid color, change its object type from "No Effect" to "Image Background". No other changes are nessecary, but note that only one of these per set is supported (if you have more than one, all but the last one will be ignored).
5. In the case of solid-color backgrounds, you should also dummy-out the object (like in step 3), and instead, in the Colors box in the bottom-right corner, select "Background" from the dropdown and enter the color's RGB values here.

You can now save your graphic set and it'll be fully V1.47n-ready. Note that you don't need to set names for your pieces even though the option is there; you can do if you like, but currently the only thing these names are used for is displaying in the list inside GSTool itself (the player ignores them currently, and still uses the numbers).

Individual levels
Generally, most level files should work as is. Obviously, levels that use now-removed features (gimmicks other than zombies, for example) are not upgradeable unless you completely turn them into something else.

You should also remove all static background image objects from your level. NeoLemmix V1.47n no longer requires these to be placed; simply using a graphic set that contains them is enough (provided that the graphic set has been updated too).

One special case to be aware of is if the level in question uses oddtabling. V1.47n does not properly support oddtabling - it might work some of the time, or partially, I don't know, I haven't tested this and don't intend to, as it's not a supported feature anymore. However, since oddtabling doesn't inherently result in a level with any non-supported feature (rather, it's just a no-longer-supported way of generating the level), the level can be salvaged.

For these levels, there are two ways you can convert them to a level that doesn't use oddtabling:

A) Open them in the V1.43n-C editor. Turn oddtabling off, then in the menu bar, choose "Edit" -> "Import Layout". An open file dialog will pop up; select the LVL file of the level that should be copied from. This will import the selected level's layout (but not its stats / skillset) to the currently opened level. Save it, and it's ready to use.

B) Using NeoLemmix V1.43n-F and an NXP that contains both the source and target levels (generally this would just be an NXP of your actual pack), run a mass level dump. The dumped LVL files will not use oddtabling; they'll hard-copy the layout.

Level packs
The first thing you'll want to do is switch to the Flexi Toolkit V1.47n. In many cases, simply opening the pack with the new version and rebuilding the NXP will be enough to get the pack functioning properly in V1.47n (without warnings). If your pack is also still V1.43n-F compatible, be sure to check the "V1.43n-F Compatible" option on the Settings tab.

The biggest thing to be aware of on the technical side is if you have custom lemming sprites. Be sure to closely examine these sprites in-game to see if there are any oddities; in particular with floaters, gliders, stackers and miners.

Also, be aware that since V1.47n no longer supports secret levels, all levels will be treated as normal levels. You might want to consider (a) whether or not you want to keep these, and (b) if so, how you want to integrate them with the rest of your pack as regular levels.

However, by far the most important thing to be aware of is that physics have significantly changed. Before releasing and claiming it's an updated, V1.47n-compatible version, test every level and talisman to ensure they're still possible. You can use the mass replay checker to significantly reduce the effort needed here, if you have a collection of replays for your pack (which you should) - on that note, the new Flexi Toolkit contains a fairly powerful Replay Manager, accessible from the menu bar, which you can use to maintain your replay collection for the pack. The other reason is that, if there's anything you overlooked during the upgrade process, you'll very quickly discover it here.

Finally, when posting your upgraded version, take note that the forum has some special "smileys" used to indicate version compatibility. Even if you aren't upgrading your pack, I strongly advise adding the appropriate one to your existing topics. You can find these icons under the "More" link by the smiley buttons when posting.

:compat-143:
This indicates that the pack is only compatible with V1.43n-F (or at least, has only been properly tested with V1.43n-F). This can be used for packs that you haven't got around to upgrading yet, or packs that need V1.43n-F because they use older features that have been removed.

:compat-147:
This indicates that the pack is only compatible with V1.47n (or at least, has only been properly tested with V1.47n). This can be used for packs that use new V1.47n-exclusive features, or that may theoretically work with V1.43n-F but you didn't bother to test with older versions (and I suspect that most people won't; there isn't much reason to do so now that V1.47n is officially released).

:compat-dual:
This indicates that the pack is compatible with (and ideally, properly tested with) both V1.43n-F and V1.47n. This is most likely to be the case for packs that were released shortly before V1.47n was released. This does mean extra effort, so I don't strongly advise making future packs this way - V1.47n-only is generally fine.

Replays
This is kind of a bonus section, since LRB replays work fine with V1.47n (assuming that physics changes don't break them). But, you might still want to update to NXRP files just to be consistent with any new replays you make, or to edit broken replays by hand to try and fix them (which although technically possible with LRBs via a hex editor, is MUCH simpler with the text-based NXRP files).

You can go to the level in question and load the LRB replay, and then re-save it as an NXRP. And then repeat for every level. Tedious, no?

Fortunately there's a faster way. If you run a mass replay check, and any LRB files are included in the check, NeoLemmix will automatically save a NXRP copy of the replay in the same folder.
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)