Author Topic: Crane's ideas about porting NL to Unix-likes  (Read 529 times)

0 Members and 1 Guest are viewing this topic.

Offline Simon

  • Administrator
  • Posts: 3935
    • View Profile
    • Lix
Crane's ideas about porting NL to Unix-likes
« on: May 21, 2024, 09:17:17 PM »
In Future of NeoLemmix development, Crane wrote:

One thing I would like to do one day is get NeoLemmix working on the Raspberry Pi.

It is a bit of an undertaking though because besides porting the source code over to the Free Pascal Compiler, [...]

That's interesting -- I've always thought that NL builds (1) only on Windows, (2) only for Windows, and (3) only with certain compilers/IDEs. You sound like none of these 3 restrictions need be set in stone, and removing the 3 restrictions is a medium-scope project for an experienced Pascal/Delphi developer.

Background: I spent one night on installing a Delphi toolchain in Wine on Linux and failed because the graphical IDE wouldn't run. I wouldn't mind trying again, and trying it with different versions of the Microsoft toolkits that the IDE needed.

But even better would be to build NL on Linux from the command line without installing any fat IDEs.

It's okay if it generates Windows binaries (i.e., we crossbuild from Linux to Windows) because the Windows binaries run well in Wine. Linux binaires would of course be nice, but they aren't essential yet. It's also okay if I can't change the GUI dialogs without installing an IDE or a graphical GUI editor.

-- Simon

Offline namida

  • Administrator
  • Posts: 12422
    • View Profile
    • NeoLemmix Website
Re: Crane's ideas about porting NL to Unix-likes
« Reply #1 on: May 22, 2024, 03:16:45 AM »
NL is written for and tested on said configuration. I know it doesn't work out of the box with Lazarus / FPC; but there IS a lot of overlap and it is likely realistic to port it to Lazarus. That appears to be what Crane is attempting (and based on what he's said on Discord, making fairly significant progress towards).

The biggest obstacle is GR32 not being optimized on non-x86 hardware (resulting in poor performance), but I believe Crane has been working on that. This is less of a concern for simply "build on/for Windows in Lazarus" or even for "build for Linux".
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 Simon

  • Administrator
  • Posts: 3935
    • View Profile
    • Lix
Re: Crane's ideas about porting NL to Unix-likes
« Reply #2 on: May 22, 2024, 04:20:59 AM »
Sounds great. I'll happily try the Lazarus build. Crane, let me know when you have something to test.

The GR32 port wouldn't be urgent for me. Everything here runs on x86_64.

-- Simon

Offline namida

  • Administrator
  • Posts: 12422
    • View Profile
    • NeoLemmix Website
Re: Crane's ideas about porting NL to Unix-likes
« Reply #3 on: June 02, 2024, 02:13:05 AM »
Quote
The GR32 port wouldn't be urgent for me. Everything here runs on x86_64.

x86_64 is included in this case if NeoLemmix is compiled as a 64-bit app. Maybe GR32v3 addresses this; but one of the biggest reasons NL remained a 32-bit app is due to GR32 not having the same optimizations in 64-bit.
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 Simon

  • Administrator
  • Posts: 3935
    • View Profile
    • Lix
Re: Crane's ideas about porting NL to Unix-likes
« Reply #4 on: June 02, 2024, 02:40:59 AM »
I'll be happy enough if NL compiles as 32-bit, which runs fine on x64_64.

-- Simon