Presentation
As its name implies, SOConverter is a SOC converter...
To be exact it can port a 2.0 configuration script to 2.1 without any manual intervention (at least in most cases).
Note that the extension doesn't actually matter, you could convert a file called "something.txt" or even "trolololol.bmp" if you wanted to (but that would be stupid, hu). However the file has to be in text format, it won't work with WAD archives so if you need to convert your MAINCFG lump or some compatible text lump you'll have to export it then importing once it is converted.
It can handle level headers, things (now called objects), frames (states), sounds, and probably more in later releases. Other parts are left unchanged.
You can choose a global prefix that will apply to all custom things/frames names, so it is easier to merge several SOCs without having conflicting names.

How to useThere are several ways to use it: you can just drag-and-drop your file to the converter, or you can directly execute it. In this second case it'll ask you the name of the 2.0 file then the name of the file to create (you have to include the extension for both names). If you decide to drag-and-drop it the ported file will be added "-21" at the end of the name.
If another file with the same name already exists, it will ask you before overriding.

Features
It can currently convert the following properties blocks:

Thing

Frame

Level

Sound

Player properties, cutscenes and others aren't modified in the current version, but some, if not all, will be in the future.

Compatibility problems
Due to srb2 v2.1 not always providing backward-compatibily, in some particular cases the ported file won't behave correctly so don't remove the 2.0 file. This happens for instance if the SOC attends to change springs properties, which are now handled in another way, or if it used sprites that have been removed in 2.1.
Note that there are 24 vanilla sounds that are not yet supported because they have been removed/renamed. That isn't a definitive problem and will probably be (for most part) fixed in later releases.

To-do
...well, many things -_-

Handle removed and renamed sounds (24 left)

Handle springs (SeeState is now replaced by RaiseState, and Mass now replace Speed, also reversed springs are now handled in a different way)

Apologies for all the waffling back and forth with this, there was discussion behind the scenes about what to do with this. (Unfortunately the discussion didn't come to a consensus, so I'm just going to have to handle it for now.)

This does not belong in the releases system, as it is an external tool that does not directly interact with the game executable in any way, nor is it a modification of it. It belongs out here in Editing, along with other such tools as Wadzip, SRB2DB, etc. that have always been out here.

I have a problem and can't handle attached files on this thread, so the program is only downloadable from a Mediafire link.
Also I reuploaded it because the version I had uploaded wasn't the correct one (0.1 while I said it was 0.3).

I never would have imagined somebody making a tool to convert those annoying SOC scripts from one version of the game to the next. I see this cutting through a lot of manual labor to porting older content, and might help me finally upgrade to using 2.1 all the time on my notebook. *bricked*

Beta v0.5 got released!
There are no new features in this version but rather multiple bugfixes, since apparently during the last build the sources hadn't been correctly saved >.<
Now A_SpawnObjectRelative and A_ChangeColorRelative are handled correctly.

Sorry for the long wait, and yes there were fiends in Final Demo 1.09.4, not the 1.09.4 that doesn't have wads loaded. It comes with the wad TheMansion.wad which specifically comes from this thread: https://mb.srb2.org/showthread.php?t=36478

Sorry for the long wait, and yes there were fiends in Final Demo 1.09.4, not the 1.09.4 that doesn't have wads loaded. It comes with the wad TheMansion.wad which specifically comes from this thread: https://mb.srb2.org/showthread.php?t=36478

I'm sorry but this converter can only port SOCs from 2.0 to 2.1, not from 1.09.4. Making this work for 1.09.4 would require me to make a lot of changes in the source code, which I am not willing to do currently, if ever.
That said, don't forget manual ports are still a thing, this converter is just a convenience.