SuperLemmix Source Code

Started by EricLang, April 11, 2023, 10:48:14 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

EricLang

EDIT by WillLem: If you're looking for SuperLemmix Source Code and instructions for compiling, see this post.




Superlemmix is a fork of NeoLemmix isnt it? Is the source online as well? There are some interesting things I would like to study. (hi res mechanics for example).
Interesting would be a background (tiled or stretched) image I think. I even was thinking about snow, rain etc. :)

WillLem

#1
Quote from: EricLang on April 11, 2023, 10:48:14 AM
Superlemmix is a fork of NeoLemmix isnt it? Is the source online as well?

Yes, it is. I haven't released the source yet because it's currently very messy. As soon as the next version is out I'll tidy up the code as much as I can and then release the source.

In the meantime, though, if you PM me your Bitbucket name (if you have one) then I can invite you to view/download the source as you wish (it's not on Github...yet...might do this in future if I have time/it's not too difficult).

EDIT: OK, turns out it was really easy to clone the Repo to GitHub, so I've now done this.

WillLem

#2
Attached is an outdated copy of GR32 which is guaranteed to work with SLX prior to commit ca3bf19d9 ("==== Version 2.7.3 ====" on 18/04/2024 19:17).

If working from any commit thereafter, please follow these instructions to be able to compile SLX.

WillLem

#3
Compiling Instructions & Download Links

It's probably worth posting compile instructions here, since getting the project running in Delphi IDE is a bit of a fiddly process. Everything you need is linked to or included with this post. If anything is missing, please let me know.

First steps - SLX source setup:

1) Download and install Embarcardero RAD Studio 10.4.2 from here - compatibility with later versions than this cannot yet be guaranteed - please do let me know if you manage to get it working in a later version.
2) Clone the SuperLemmix source from GitHub.
3) Navigate to the fresh {cloned source directory} and run MakeSymLinks.bat - this links folders between data\external and bin\ so that SLX can find the necessary resources (data, gfx, music, etc). DO NOT copy the folders to bin\ manually; sure, SLX will run if you do this, but the files will not be synced!

As well as the SuperLemmix source, the Graphics32 library is also needed. Here's how to add it to RAD Studio:

Graphics32 setup:

1) Clone the latest version of Graphics32, place it somewhere useful (I'd recommend the Embarcadero Project Files folder)
2) In the Graphics32/Source/Packages/D104 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
3) Install the compiled _D package into RAD - the easiest way is to open the project in RAD, right-click GR32_D230.bpl in the Project Explorer (to the right) and choose "Install" from the context menu
4) 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\D104\Win32\{Release/Debug} - select this folder and Add it to the Libraries list)

Final steps:

1) Ensure that bass.dll is present in {source code directory}\bin\ (you can find this in any NL/SLX installation folder)
2) Add at least 1 level to {source code directory}\bin\levels
3) Finally, open SuperLemmix.dproj in RAD Studio!

With all of the above done, SLX should compile without any errors or popups. Post here if you're having any issues.

WillLem

I'm in the process of migrating the project over to GitHub. For now, I'm pushing everything to both the Bitbucket origin and a newly set-up GitHub remote repo. This will be the setup until further notice; if you want to collab/clone/fork, please do so via the SLX GitHub repo. Thanks :)

namida

QuoteThe first step is to download and install Embarcardero RAD Studio 10.4.2 from here - compatibility with later versions than this cannot yet be guaranteed/ Please do let me know if you manage to get it working in a later version..

Haven't tried with SuperLemmix; but NeoLemmix compiles in Delphi 11.3 (using the GR32v3 patches) and runs without issue, so SuperLemmix will very likely do the same.
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)

WillLem

Got a new laptop yesterday and needed to set everything up again. I've updated the compiling instructions as they had some info left over from before the GR32v3 update, apologies if this caused anyone any confusion.

Quote from: namida on May 16, 2024, 02:04:11 AM
NeoLemmix compiles in Delphi 11.3 (using the GR32v3 patches) and runs without issue

Do we know if the graphics bugs are to do with 11.3 yet?

namida

^ You probably saw on Discord, but it's now confirmed that the fullscreen bug was related to Delphi 11 (commit 6ee3171 fixes it - there's another commit a couple later that says it fixes it, but that was actually junk files that I didn't need to commit; 6ee3171 is the actual fix) while the bug with the game refusing to load (the one Armani was having in particular) was GR32v3; updating your copy of GR32 to commit dbd2777 or later (this is a commit in GR32's repo, not in NL's one) will fix that.

Also,

Quote1) Ensure that bass.dll is present in {source code directory}\bin\ (you can find this in any NL/SLX installation folder)
MakeSymLinks should take care of that too.

However, I did notice when setting up the NL repo on my new PC - if the "bin" folder does not yet exist the first time you run MakeSymLinks, you need to run it twice. Alternatively, make the "bin" folder manually (doesn't need anything put in it, it just needs to exist) and then run it. Didn't look into why, probably just poor writing of the BAT file. Unless you've fixed this yourself (or removed the reliance on it), it'll likely be the same for SLX.
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)