Author Topic: Environment to Build NL  (Read 4066 times)

0 Members and 1 Guest are viewing this topic.

Offline Simon

  • Administrator
  • Posts: 3876
    • View Profile
    • Lix
Environment to Build NL
« on: May 01, 2023, 05:13:49 PM »
First,

git clone https://bitbucket.org/namida42/neolemmixplayer

The obvious entry point then is Readme.txt, which tells us that we need Delphi XE6, but namida wrote in 2021 that we need "10.3". I assume this is still accurate and it means Delphi 10.3 Rio. This is available as Delphi Community Edition, apparently under some proprietary gratis license, and they want me to make an account, and invent a fake address and fake phone number.

namida, do you recommend this community edition to build NL? Or are there more up-to-date build instructions that I haven't found yet?

Is there a way to compile NL with commonly available tools where we don't have to create accounts?

-- Simon

Offline Simon

  • Administrator
  • Posts: 3876
    • View Profile
    • Lix
Re: Environment to Build NL
« Reply #1 on: May 10, 2023, 08:14:45 PM »
Meine Herren! Apparently, nobody wants a hand at fixing the zoom bug. :P

I don't necessarily want an IDE. I want the straightforward way to build the project. Recommending Windows stuff is fine, it will probably run in Wine.

-- Simon

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: Environment to Build NL
« Reply #2 on: May 10, 2023, 08:58:22 PM »
Meine Herren! Apparently, nobody wants a hand at fixing the zoom bug. :P

Let's do it! I really want to get this fixed! I'd like to fix the same bug in the Editor as well - that's in C#, Visual Studio, so easier to compile.

I don't necessarily want an IDE. I want the straightforward way to build the project.

I use Embarcadero RAD Studio 10.4 Community Editon and it works fine. There is some setup with the Graphics32 library which isn't massively straightforward, but I still have the instructions namida gave me so I'm happy to walk you through it.

The SLX codebase has veered quite some way from NL by now, but all the zooming/cursor stuff is still the same, I'm sure we could work on this together no problem even if we're looking at different sources.

Offline Simon

  • Administrator
  • Posts: 3876
    • View Profile
    • Lix
Re: Environment to Build NL
« Reply #3 on: May 11, 2023, 01:22:29 AM »
Thanks! Yes, please post those instructions for Graphics32. I'll look into it this weekend.

-- Simon

Offline Dullstar

  • Posts: 2092
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Re: Environment to Build NL
« Reply #4 on: May 11, 2023, 01:59:37 AM »
The NL build instructions are definitely not complete since they don't include how to get the graphics library set up.

Certainly the available tools (that I'm aware of anyway) are a bit of a demotivator for contributing to NL.

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: Environment to Build NL
« Reply #5 on: May 11, 2023, 03:20:17 AM »
Graphics32 setup instructions:

1) Download Embarcardero RAD Studio 10.4.2 from here - compatibility with later versions than this cannot be guaranteed
2) Download the attached GR32 zip file, unzip it somewhere useful (I'd recommend the Embarcadero Project Files folder)
3) In the Graphics32/Source/Packages/XE8 folder, compile both packages; do the one with _R in the name first - open the .dproj file in RAD Studio, then compile them using Ctrl+F9 or Project/Compile
4) Install the compiled _D package into RAD - the easiest way is to open the project in RAD, right-click GR32_DXE8.bpl in the Project Explorer (to the right) and choose "Install" from the context menu
5) Finally, add the path of the compiled _R package into Delphi's library path - to do this, go to Tools/Options/Language/Delphi/Library, click the three dots "..." next to Library path, then click the Folder icon and browse to the folder where all the DCU files from compiling are (this should be Graphics32/Source/Packages/XE8/Win32/Release - select this folder and Add it to the Libraries list)

Other setup instruction for NL source

1) Make sure the source has been cloned rather than forked
2) In the cloned copy, run MakeSymLinks.bat



With all of the above done, NL should compile. Post here if you're having any issues.
« Last Edit: February 09, 2024, 05:34:03 AM by WillLem »

Offline Simon

  • Administrator
  • Posts: 3876
    • View Profile
    • Lix
Re: Environment to Build NL
« Reply #6 on: June 21, 2023, 06:35:33 PM »
4 weeks ago, I invested one evening into this. I installed Dotnet 4.5 in Wine (via Winetricks) and then RAD Studio 11 Community Edition on top. The IDE downloaded its 580 MB more things, and installed its total of 2.8 GB after I reconfigured Wine to pretend to be Windows 10. But then it failed to run in Wine. It complained that it was unable to focus an invisible window.

I'll be busy for a while with other things.

Plan for my next attempt: Start from scratch with reasonably modern Dotnet (7.0 is current stable) and try WillLem's RAD Studio 10.4.2 instead of 11.

the available tools (that I'm aware of anyway) are a bit of a demotivator for contributing to NL.

The tooling is the single biggest demotivator.

Prodding for basic build instructions was strange, too, but WillLem posts lots of help and answers all the questions. That more than makes up for the lacking documentation, and we can convert it into documentation once somebody succeeds from these instructions.

-- Simon
« Last Edit: June 21, 2023, 06:52:54 PM by Simon »

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: Environment to Build NL
« Reply #7 on: June 23, 2023, 05:51:24 AM »
I'm not sure how well RAD, and indeed the NL/SLX source, will interact with Wine... do you have a Windows machine if all else fails?

Offline Simon

  • Administrator
  • Posts: 3876
    • View Profile
    • Lix
Re: Environment to Build NL
« Reply #8 on: June 23, 2023, 08:41:22 PM »
No, I don't have a Windows machine. I'll let you know what happens when I come back to trying it in Wine.

-- Simon