Author Topic: [SUG][PLAYER/EDITOR] Resizable terrain  (Read 2377 times)

0 Members and 1 Guest are viewing this topic.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
[SUG][PLAYER/EDITOR] Resizable terrain
« on: May 08, 2019, 08:25:06 PM »
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.)
« Last Edit: December 10, 2020, 08:17:46 AM by namida »
My Lemmings 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)

Offline GigaLem

  • The Dog That Brought Lemmings to Avalice
  • Posts: 1415
    • View Profile
Re: [SUG][PLAYER] Resizable terrain
« Reply #1 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

Offline IchoTolot

  • Global Moderator
  • Posts: 3608
    • View Profile
Re: [SUG][PLAYER] Resizable terrain
« Reply #2 on: May 08, 2019, 08:54:10 PM »
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.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: [SUG][PLAYER] Resizable terrain
« Reply #3 on: May 08, 2019, 09:36:12 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 Lemmings 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)

Offline GigaLem

  • The Dog That Brought Lemmings to Avalice
  • Posts: 1415
    • View Profile
Re: [SUG][PLAYER] Resizable terrain
« Reply #4 on: May 08, 2019, 11:23:06 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

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: [SUG][PLAYER] Resizable terrain
« Reply #5 on: May 28, 2019, 05:33:34 AM »
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.
« Last Edit: November 06, 2019, 06:06:52 PM by namida »
My Lemmings 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)

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: [SUG][PLAYER] Resizable terrain
« Reply #6 on: December 10, 2020, 08:17:16 AM »
Player support implemented in commit 5953e38, which means this can now be considered a confirmed V12.11 feature.

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

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: [SUG][PLAYER/EDITOR] Resizable terrain
« Reply #7 on: December 13, 2020, 07:45:18 PM »
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 Lemmings 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)

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: [SUG][PLAYER/EDITOR] Resizable terrain
« Reply #8 on: December 14, 2020, 05:29:42 AM »
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 Lemmings 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)