Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
act

SuckLess Doom Launcher - A New Curses-Based Launcher I Developed

Recommended Posts

Ever since I was... uh... someone who was just starting out programming, I always wanted to make a Doom launcher. Finally, after a month and a half of work, I've created one that I can say I'm decently proud of: SLDL - or the SuckLess Doom Launcher.

 

It uses NCurses/Curses as a visual frontend, that means a classic 90s-ish TUI. It's lightweight, with a compiled binary being only 32 Kilobytes. Made out of just under 800 lines of code, it still is decently functional. It uses plaintext (.txt) files to store things like Binaries/Source Ports, IWADs, and PWADs. Sadly, it's only available for Linux, but it is what it is.

image.png.57581f4a819105abbe3bbf8939d0a122.png

 

If you wish to try it out, you can find the source repository at:

https://github.com/act17/sldl

Share this post


Link to post
Just now, wertercatt said:

Can you upload it to the AUR?

of course the darn trans lady wants me to upload it to the aur

Spoiler

i swear if someone says this is transphobic im gonna be so darn mad, like, let me joke about how non-cis (especially trans people) love arch (like me)

Anyways, I have no idea how to use that. I do however give you full permission to upload it to the AUR yourself, obviously under the condition giving me full credit of actually making the software - but make sure to say you're the one that's plopped it up there, too.

Share this post


Link to post

Seems pretty cool, I'm gonna have to give this a spin on my Linux machine.

Share this post


Link to post

There aren't enough launchers for Linux and mine is pure CLI; TBH had forgotten that Curses even existed LOL. Good work.

Share this post


Link to post

Works pretty well for me, i might start to use this often

 

The only real problem i've encountered is that i have to resize the terminal to 92x36 each time i want to use it, which can be an inconvenience, other than that, works great

Ignore that, forgot that i could set a default size :P

Edited by Test Tickle

Share this post


Link to post

Well this seems nice, might give it a go via WSL (yeah yeah i'm still considering it)

Share this post


Link to post

Tried compiling this but got the following error, not sure what dependency I might be missing:

 

Quote

gcc -Wall -Wpedantic -Werror -O2  -o sldl src/main.c src/tools.c src/gui/mainmenu.c src/gui/argselect.c src/gui/pwadselect.c src/gui/paraselect.c src/gui/infoscreen.c -lncurses
src/tools.c: In function ‘argumentreader’:
src/tools.c:46:5: error: argument 2 null where non-null expected [-Werror=nonnull]
   46 |     strcpy(binarypath,blank);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/tools.c:3:
/usr/include/string.h:141:14: note: in a call to function ‘strcpy’ declared ‘nonnull’
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |              ^~~~~~
src/tools.c:54:5: error: argument 2 null where non-null expected [-Werror=nonnull]
   54 |     strcpy(iwadpath,blank);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/string.h:141:14: note: in a call to function ‘strcpy’ declared ‘nonnull’
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |              ^~~~~~
src/tools.c:63:7: error: argument 2 null where non-null expected [-Werror=nonnull]
   63 |       strcpy(pwads,blank);
      |       ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/string.h:141:14: note: in a call to function ‘strcpy’ declared ‘nonnull’
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |              ^~~~~~
src/tools.c:73:7: error: argument 2 null where non-null expected [-Werror=nonnull]
   73 |       strcpy(parameters,blank);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/string.h:141:14: note: in a call to function ‘strcpy’ declared ‘nonnull’
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |              ^~~~~~
cc1: all warnings being treated as errors
make: *** [Makefile:13: sldl] Error 1

 

Share this post


Link to post
22 hours ago, Captain Muskrat said:

Tried compiling this but got the following error, not sure what dependency I might be missing:

 

 

Not sure why you're getting those errors. I don't get them personally. It also seems like you're using an old version.

 

Would you mind updating the repository with 'git pull' and reattempting to compile?

Share this post


Link to post
13 minutes ago, act said:

Not sure why you're getting those errors. I don't get them personally. It also seems like you're using an old version.

 

Would you mind updating the repository with 'git pull' and reattempting to compile?

I get this error when I try to do so:

 

Quote

fatal: not a git repository (or any of the parent directories): .git

 

Share this post


Link to post
2 minutes ago, Captain Muskrat said:

I get this error when I try to do so:

 

 

Alright, that's something up with the git repository. Did you clone the repository using 'git pull https://github.com/act17/sldl.git'? Or did you download the repository as a .zip file manually?

 

You probably did the second one, stop doing that. It's bad practice and that feature really only exists for archivists. Just use the 'git clone' command, as it allows you to automatically update the repository with the aforementioned 'git pull' command, make changes with the 'git commit' command, etc.

Share this post


Link to post
4 minutes ago, act said:

Alright, that's something up with the git repository. Did you clone the repository using 'git pull https://github.com/act17/sldl.git'? Or did you download the repository as a .zip file manually?

 

You probably did the second one, stop doing that. It's bad practice and that feature really only exists for archivists. Just use the 'git clone' command, as it allows you to automatically update the repository with the aforementioned 'git pull' command, make changes with the 'git commit' command, etc.

That's a handy tip, thank you for letting me know. Unfortunately I tried make again and it gave me the same error as before. I'll assume it's the fault of Debian, because dependency hell has been a problem for me in the past, and why I strongly prefer Appimages to bypass all that.

Share this post


Link to post
Just now, Captain Muskrat said:

That's a handy tip, thank you for letting me know. Unfortunately I tried make again and it gave me the same error as before. I'll assume it's the fault of Debian, because dependency hell has been a problem for me in the past, and why I strongly prefer Appimages to bypass all that.

Ah lord, yeah, that's probably a very big fat issue right there. This has to do with the C standard library too.

Share this post


Link to post

I think I'll be switching to an Arch or Fedora based distribution in the near future, as this is starting to become a problem for me as I dabble in more niche software like this. I'll try to compile something and it'll just error out for one reason or another and I'm tired of seeing that bright red font in my terminal haha.

 

Perhaps the hero we truly need is React OS.

Share this post


Link to post
Just now, Captain Muskrat said:

I think I'll be switching to an Arch or Fedora based distribution in the near future, as this is starting to become a problem for me as I dabble in more niche software like this. I'll try to compile something and it'll just error out for one reason or another and I'm tired of seeing that bright red font in my terminal haha.

 

Perhaps the hero we truly need is React OS.

Nah, it only uses the standard library and Curses. It shouldn't be an issue even. This isn't a "niche" program, it's pretty much a grade-school-tier demonstration.

Share this post


Link to post
On 7/21/2023 at 4:39 PM, Captain Muskrat said:

Tried compiling this but got the following error, not sure what dependency I might be missing: 

I got the same error. It looked fairly innocuous so I removed Werror from the makefile and now it seems to work fine.

 

The category "Blankety-Blank but in NCurses" is one of my favorite things. This will be my go-to for the foreseeable future.

Share this post


Link to post
8 hours ago, Aaron Blain said:

I got the same error. It looked fairly innocuous so I removed Werror from the makefile and now it seems to work fine.

Huh. Hold on, let me take yet another look at it.

 

8 hours ago, Aaron Blain said:

The category "Blankety-Blank but in NCurses" is one of my favorite things. This will be my go-to for the foreseeable future.

:DDDDDDDDDD

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×