[SUG][PLAYER/EDITOR] Resizable terrain

Started by namida, May 08, 2019, 08:25:06 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

namida

We already have resizable objects. The most important code for making this happen for terrain - the actual resizable rendering - is very easily reused.

With this in mind, is there any reason not to implement resizable terrain pieces that anyone can think of? (The work involved is not an issue - I'm happy to implement this one.)
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)

GigaLem

I thought of this too, but I feel it would've been shot down.
I have a feeling if it were implemented, it'd have a .nxmi file attached containing the strings of text saying
Quote
RESIZABLE_VERTICAL
RESIZABLE_HORIZONTAL

IchoTolot

I have nothing against it, but I would advice to officially release a version with the other additions and fixes first and fix the issues that may arise with them and after that move on the next thing.

namida

Quote from: GigaLem on May 08, 2019, 08:44:33 PM
I thought of this too, but I feel it would've been shot down.
I have a feeling if it were implemented, it'd have a .nxmi file attached containing the strings of text saying
Quote
RESIZABLE_VERTICAL
RESIZABLE_HORIZONTAL

I'd prefer to keep it consistent with objects, so it'd be "RESIZE_HORIZONTAL" (etc), not "RESIZABLE_HORIZONTAL". Also, terrain metainfo files have an "nxmt" extension.
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)

GigaLem

Quote from: namida on May 08, 2019, 09:36:12 PM
Quote from: GigaLem on May 08, 2019, 08:44:33 PM
I thought of this too, but I feel it would've been shot down.
I have a feeling if it were implemented, it'd have a .nxmi file attached containing the strings of text saying
Quote
RESIZABLE_VERTICAL
RESIZABLE_HORIZONTAL

I'd prefer to keep it consistent with objects, so it'd be "RESIZE_HORIZONTAL" (etc), not "RESIZABLE_HORIZONTAL". Also, terrain metainfo files have an "nxmt" extension.
I was going off memory so my bad :P but it'd probably be this

namida

#5
The branch feature/resizable-terrain on my repo implements this feature, including with nine-slicing support. In the process of writing this, I also slightly tidied up the resizability code for objects and the general orientation code for terrain; these improvements have been ported back to the master branch.

I have not yet implemented editor support, for two reasons:
1. The editor master branch doesn't have nine-slicing support yet
2. Passing everything to the constructors in the editor code is starting to get really messy; I'm wondering if this way of working should be revised before any further new features are implemented in it...

EDIT: If I remember correctly, I had to delete this because it became too incompatible with other changes - but shouldn't be too tricky to re-implement again at some point.
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

Player support implemented in commit 5953e38, which means this can now be considered a confirmed V12.11 feature.

Editor support is still needed.
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

Editor support achieved in 37ef26c, but some bugs still exist. In particular, it does not apply fallback sizing for pieces that are resizable but don't have a specified size.

Support also needs to be added still, for recognizing non-standard default sizes (this is true for objects too).
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

As of commit cbdf555, this feature is fully implemented, and just needs to be merged into the main branch at an appropriate time (ie: for an update released alongside V12.11).
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)