SRB2 Launcher

Not open for further replies.


KartKrew Dev
Sonic Team Junior
Kart Krew™️
A server option to automatically set monitor item frequencies (High, medium, low) for all the items in the game, respawn time, countdown time, intermission time, if cheats are enabled, and friendlyfire.
Sorry for the double post, but I done goofed. I wasn't checking if the map number properly, so warping to map 1 would take you to 101. Now it also warns you if the specified map number was less than two characters and wasn't a number, and it takes you to that location in the UI--so if it's nested in the netplay tabs, it takes you there to fix it.

Less than two characters is fine if it's < 10.
Last edited:
... One more fix. Added error checking to map number shenanigans and only allow alphanumeric characters. Next time I upload a new version, let's hope it's for a new feature and not another quick fix. ._.'
Thanks for pointing that out. Looks like that's ANOTHER thing that I added without checking if it exists. While I'm at it, let me go ahead and check everything else to make sure it does. I really should have double checked this stuff before using this old template I made.

Not going to bother uploading a fix for it right now; next time I re-upload this will be for new features... which will hopefully include writing and reading from your config file which will fix this and the server name issue... unless something else comes up.
Read: Mockup

If you do happen to make a server listing thingie along with this awesome launcher, I made a random mockup in Paint.NET that I think you should go by :P


Obviously missing a join button but you get the point.
Yup, I had something similar in mind, actually. The only issue there is that the window size reduces the amount of visible information, because ideally I'd like to display the player count along with cheats enabled and game modified (probably represented by C and M with tooltips to describe them).

That being the case, I was also thinking of just having a "server list" button that opens up a new window and displays the list there.

Also, that settles it. I'm an idiot. The port option on the join tab didn't even function even though it should have. Re-uploaded. Again. Subsequently, the non-functional stuff from the host tab has been hidden.
Maybe you can make the window size adjustable or make the window bigger? I don't know about others, but I don't like the idea of another window.
To make the window resizable, I need a way to scale all the content inside, so I'd have to look into that. And while I can change the window size as a whole, the program was designed to be compact. There isn't much in it as it is (on certain tabs), so there would probably be a lot of blank space.

That gives me an idea, though. I could have the window size get larger only when on that tab, and then change back when the active tab switches. Maybe I'll give that a shot when the time comes.
Alright, since I'm going to (most likely) be preoccupied with Sonic Adventure for a while (new prototype with the old Windy Valley and more!), I'm uploading what I've got right now.

Changes are as follows:

  • Minor fixes to the UI (everything was literally 1 pixel too narrow for the window)
  • Added a browse button to the custom executable option and removed the checkbox (typing it manually is still an option)
  • Better handling of map numbers (complete with errors)
  • Added a warning when trying to connect to a netgame with files in the file list (since joining a netgame via command line evidently ignores -file)
  • General efficiency improvements

Once I get configuration for just about everything implemented, I'll add an option to disable non-critical warnings and errors, among other things.
Last edited:


What part of 'RETIRED' don't you understand?
Here's an idea... what about filtering out custom wads by the scrmtf_ designation?

Like a dropdown where you can filter by Tag, Match, Race, etc... and the game parses the letters and lists the appropriate wads.

int underscoreIndex = filename.IndexOf('_');
string levelTypes = filename.Substring(0, underscoreIndex).ToLower();

if (levelTypes.Contains("c")) // Cooperative
else if (levelTypes.Contains('m")) // Match

Hm, not a bad idea. I'll take note of that and see if I can manage it =P
I also had some other cool ideas when it comes to map selection, but that'll require some wad parsing... But first things first; configuration!


I found an interesting bug, in the custom resolution settings, when you type in the number, it types it from right to left.
New feature time!

File list profiles are now implemented and fully functional!
You can now save lists of files with the order preserved, you can load multiple file list profiles at the same time, and you can merge file list profiles with the files you already have in the launcher's file list.

If a single file profile is opened, the "Save" option from the File menu is enabled to save changes to that file you opened. Otherwise, Save is disabled (Save As, Open, and New are still there!) when multiple profiles are loaded at once.

Additionally, there is now an About window that displays the version number among other things.

Special thanks to MainMemory for letting me use his INI file handler (and CyberKitsune for explaining to me what in the world a dictionary in C# is). I went for INI over XML in this case purely for readability and ease of editing.

I also added custom command-line arguments to the options tab =P

New screenshots coming eventually.
Last edited:


That Aries Title
Okay Sonicfreak. You have created a rather well organize launcher for SRB2. And I must say, I am very impress. Everything in it just as it should be. Only thing I do dislike, is the fact that I can't save the settings. I think it be a rather good idea to add an option to save settings for this Launcher. Due to how it lack in the other SRB2 Launcher.
Yup, I plan to add that too. Just figured I'd get this out of the way first; saving and loading its settings will be a little more bothersome to implement. I should've put that in the planned features list...
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)