The Ultimate Apocalypse mod team proudly presents to the Dawn of War: Soulstorm players and fans, an eagerly awaited and packed with epic content game experience, the Ultimate Apocalypse mod! Imagine a mod featuring massive Warhammer 40,000 battles where all 9 races in Soulstorm (and more!) have a chance at epic victory. A mod where there's no shortage of all new units, buildings, abilities, and even titans! A mod where there's nearly no limits holding you back. It's all about all out, massive war. Wanna nuke your enemies? You can. Gloriously epic titan duels are your thing? Ultimate Apocalypse has you covered. Not only that, but Ultimate Apocalypse is continuously tested to ensure the epic battle experience it delivers remains unique while being completely awesome. Thanks to you (yes, you!) and everyone playing, Ultimate Apocalypse has been steady within the top 20 ranked mods for years.

Post tutorial Report RSS Tweaks for your Soulstorm to load faster! (Non-Steam installs only)

A quick way to improve your Soulstorm loading times and get it to load insanely fast. Since it's a tweak on the game executable it doesn't break multiplayer sync and works with all mods. Unfortunately, framerate is unaffected, and there's next to nothing aside from an engine revamp I can do (besides, revamping the engine is beyond my current capabilities and I doubt THQ/Relic trolly IP lawyers would love me for that).

Posted by on - Intermediate Client Side Coding

Dang, I had this tutorial on ModDB too. Well, right now I'm extremely tired, so I'll just link y'all to the way more

updated instructions here.

Since ModDB doesn't have "compacting" spoiler tags (instead, ModDB's spoiler tags do this: Y U NO COMPACT MAH WALLZ OF TEXT). So I used crude and simple separators like the following:
(it says spess in the middle because ModDB doesn't like words that are 80 characters long)

========================================== spess ==============================================

How you can make your Soulstorm load fasta:
NOT Steam-version compatible. Blame Steam and its "thou shalt not alter the game's executable" rule.

Some notes before you start: if you're running Windows Vista/7, and you have Soulstorm installed on the Program Files folder on your C drive (or the drive you have installed Windows), then the UAC won't let you modify the game executable at least you do one of the following:
A) Run the CFF Explorer as administrator, then open the Soulstorm executable.
B) Make another copy (aside from the backup) of the Soulstorm executable and place it somewhere the UAC won't get in the way (like a folder in your desktop for example). Work with that one and then replace the game's original with the tweaked one.

This is for the patched (1.20) version of Soulstorm (same applies for the Dark Crusade tweaks). No, I won't reinstall my game, tweak it unpatched and post yet another section just for those that can't get around patching it.
You will have to edit the Soulstorm executable (don't worry, it's completely safe as long as you don't stray away from the instructions).
And to edit that .exe, you will need the Explorer Suite found here: NTCore.com
Install it, and AFTER DOING A BACKUP COPY OF YOUR SOULSTORM.EXE, open Soulstorm.exe with the CFF Explorer.
Now that you opened it, you should see a menu to the left of the window. There, look for "Import Directory". Left-click it.
To the right, there should be a chart with .dll files on the first column, and numbers on the other 6 columns.
It should look like the image at the left. It's simple, actually. Re-order them until it's exactly like the image on the right.
Right-click on anywhere on a row and select "Move Up" or "Move Down" to re-order the list.
User Posted Image >>>> User Posted Image
When you are done, save the changes and... enjoy! :D

Your Dark Crusade got jealous of your red painted Soulstorm?
Repeat the above procedure (as in: quick edit because I'm lazy):
User Posted Image
In fact, all tweaks on this post should apply to Dark Crusade as well.

========================================== spess ==============================================

Want even more speed?: Slightly faster launch times here
Note: This, while it can be applied on the Steam version, it may eventually be "discovered" by Steam and force you to re-validate the game cache, undoing the tweak in the process -.-

You will have to edit a dll file (an application extension) on the Soulstorm directory. Which is spDx9.dll.
To edit that dll, you will need the Explorer Suite found here: NTCore.com
Install it, and AFTER DOING A BACKUP COPY OF spDx9.dll, open it with the CFF Explorer (you can do so by double-clicking the .dll).
Now that you opened it, you should see a menu to the left of the window. There, look for "Import Directory". Left-click it.
To the right, there should be a chart with .dll files on the first column, and numbers on the other 6 columns.
It should look like the image at the left. It's simple, actually. Re-order them until it's exactly like the image on the right.
Right-click on anywhere on a row and select "Move Up" or "Move Down" to re-order the list.User Posted Image >>>> User Posted Image
Enjoy faster launch times!
Note: This particular tweak won't be a revolution for your launch times, but if you ask me: faster = better, even if by a little bit.
As with all tweaks on this post, feedback is appreciated.

========================================== spess ==============================================

How to backport Retribution's multithreading:
Note: I know backporting is "evil" and blah blah blah, but since this should be ok as it requires you an installed copy of Retribution and you'll be doing it on your own, for your personal use.
Note 2: I could really use feedback on this (and if by any chance, you know how to improve it, don't hesitate on telling me, I won't be offended), as I'm not even sure if it even works at all.

How to get Soulstorm multithreaded :3
I would like to note again that this improves cpu usage if anything. The in-game performance is almost the same, with a very slight difference noticeable with frame rate counter or master-crafted eye implants made on Mars.
-First, you need Retribution.
-The file path should be similar to this: [Drive letter here]:\Program Files\Steam\steamapps\common\dawn of war ii - retribution
-From there copy the following .dll files somewhere (your desktop, some random folder, wherever you want):
XThread.dll
Debug.dll
Platform.dll
-This may sound strange, but is vital for this to work:
Rename Debug.dll and Platform.dll to something else (since there's already Debug and Platform .dll files on the Soulstorm directory, but Xthread needs stuff from the ones in Retribution). Note that for reasons I'm not aware of, Debug.dll can't exceed 9 characters long (including the 4 from ".dll"). Windows will let you rename it longer, but it's reference in XThread.dll won't. I used DbugR.dll and PlatformR.dll as the new names.
-Either moving or copy-pasting, get those three files into your SS directory.
-Yet again, MAKE A BACKUP COPY OF SOULSTORM.EXE.
-Open DbugR.dll (or the way you named it. It's your chance to have two funny .dll names!) and look for the Import Directory. There right-click the BugSplat.dll row and select "Delete Import Descriptor".
-Open PlatformR.dll and then again, in the Import Directory, eliminate a dll from the list, this time SHELL32.dll. Also, be sure of renaming the entry referring to Debug.dll to the name you used.
-Open XThread.dll, go to our by now well known Import Directory, and modify the the entries referring to Debug.dll and Platform.dll to match DbugR.dll and PlatformR.dll (or how you may named them).
-Then open Soulstorm.exe (with the CFF Explorer logically) and go to "Import Adder". Hit the "Add" button and a prompt asking for a file will appear. Browse to your SS directory and there, open XThread.dll.
-This may sound a bit tedious but, you want that multithreading or not?:
One by one, in this order, select the following functions and import them (so they appear on the list to the right), in THIS order by NAME. It is best to use the numbers to track them easily. Again, it is mandatory for this to work properly to Import By Name.
00000006 - ?AcquireWrite@RWLock@XThread@@QAEXXZ
00000013 - ?ReleaseWrite@RWLock@XThread@@QAEXXZ
00000002 - ??0RWLock@XThread@@QAE@XZ
00000012 - ?ReleaseRead@RWLock@XThread@@QAEXXZ
00000005 - ?AcquireRead@RWLock@XThread@@QAEXXZ
0000000C - ?GetProcessorCount@Scheduler@XThread@@QBEHXZ
0000000E - ?IsCurrentThreadMainThread@Scheduler@XThread@@QBE_NXZ
00000007 - ?Fork@XThread@@YGXP6GXHPAX@Z0HHI@Z
00000003 - ??1RWLock@XThread@@QAE@XZ
00000017 - ?SetEnableFork@XThread@@YGX_N@Z
0000000D - ?Initialize@Scheduler@XThread@@SGPAV12@XZ
00000018 - ?Shutdown@Scheduler@XThread@@SGXXZ
00000009 - ?GetInstance@Scheduler@XThread@@SGPAV12@XZ
00000015 - ?ScheduleJob@Scheduler@XThread@@QAEXPAVJob@2@I@Z
00000001 - ??0Job@XThread@@QAE@P6GXPAX@Z0H@Z
0000000F - ?IsDone@Job@XThread@@QBE_NXZ
-After you are done Importing, click Rebuild Import Table. A sign will appear saying "Import Table correctly rebuilt".
-We're almost done! But you still need to yet again go to the Import Directory. There XThread.dll should be at last. Move it up until it's right below Filesystem.dll.
-Save the file.
-Enjoy multithreaded Soulstorm.

========================================== spess ==============================================

Your Soulstorm crashes on big battles? Solution!
Open the Soulstorm executable with the CFF explorer, and under "Nt Headers" (click the + symbol), you should see "File Header".
Then left-click File Header and in it, there is a box which says "Click Here". Let's do that.
You will get a little window full of checkboxes. There's one that says: App can handle >2Gb Address space. Check that.
Click OK, save the changes and... Done! Your Soulstorm.exe will no longer run out of memory!
Extra notes:
-This ALSO doesn't work on the Steam version.
-You may still continue to get No Memory errors on huge battles, but the ErrorLog(s) will point to another module, this time a .dll from Soulstorm. Repeat this process with that .dll (I did it a looong time ago so I don't remember which one was exactly :p) and you can forget about No Memory errors (at least you're running on 32 bit, then you got a bottleneck on a Windows system file I have no idea on how to fix D: ).

========================================== spess ==============================================

Disclaimer-ish thing: 1- I can't guarantee it'll work the same for everyone. Some people have uber-computers but DoW somehow gives zero squigs about that and runs at 7 frames per second on large scale battles with mods. Some others don't even have a dedicated graphics card and while they can't run DoW at even medium settings, yet they claim to not suffer ridiculously low framerate on huge battles. Since the DoW engine (seemingly) was forged by Tzeentch himself as a ultimate act of trollery, I can't guarantee any results. It really should load (and just load, not run) faster with the tweaks I've posted here though.

2- Unless specified, this will not work on the Steam version.
It's sad, but the only workaround for this would be Steam allowing user-modified game executables, which is not going to happen.
However, if you are willing to spend 20 usd on it, you can always have Soulstorm on a different digital download system that allows meddling with the .exe (or buy a game disk. Which if you ask me is a BAD idea as disks eventually get damaged and I don't know about the US, but where I live, "replacement disk" sounds as likely as as a hairy Boreale):
Digital Download stores I know:Gamestop Impulse.
I got it from there, had no major issues so far. It requires (like most of these stores) you to get their client to download. Pros vs Steam:
-You can mess with the files all you want, it won't ever complain.
-It doesn't require the Impulse client to be running to play Soulstorm.
Cons vs steam:
-Considerably slower on the download-install process (mostly install).
-Backups only work on the same OS they were made.
THQ's online store link is longer than 80 characters long and ModDB just won't let me post it :(
By far not as nice and convenient for the costumer as Steam is (seemingly they only let you download it once for the retail price, and offer a 2 year re-dl option for an extra 5 usd, I strongly recommend backing up all game files if you use this).

There must be several more digital download stores more. Google is your friend. Use the Web Of Trust browser extension if you're paranoid about unknown sites :)

========================================== spess ==============================================

Now if someone was SO kind of finding a solution to this two issues:
1. If you are as much of a performance maniac as I am, you will have noticed that Soulstorm "spaces out" while loading. This is clearly seen on the task manager if you run Soulstorm on a window: Most of the loading time, the CPU load is less than 10% >:I
2. Even with this multithreading "improvement", Sousltorm continues to act retarded and the CPU load will not go over the equivalent of the maximum of one core D:< So for quad core users, the CPU load will continue to not exceed 25%, even if the mod you're running on Soulstorm could make good use of a 100% of those 4 cores.

========================================== spess ==============================================

I think I should credit the page where I found out about the Explorer suite and kind of inspired me to fiddle with the .exe/.dll files. It's also the "original" tutorial on how to get Soulstorm to use more than 2 Gb of memory. PoK on ModDB.

Credit to Corncobman for pointing out a step on the multithreading tutorial I forgot.

Credity bits and pieces to Gorb for accurate feedback with the Steam version.

P.S.: I had to reformat most of this post to fit the markedly different ModDB code, if you find a trolly floating tag like this [/example], let me know.
And I know it's a ungodly huge tower of text... but it wouldn't be so xbox hueg if ModDB had the "other" spoiler tags AND the display area wasn't that thin... oh well.
(07-01-2012) Updated with working links and some minor corrections. Different sites... y u hate each others' code so much? xP

Comments
Talic
Talic

Well damn, I bet some people will use this at full extent. I won't be touching those executables since I have steam, I'd hate to see long work gone to nutters.

Reply Good karma Bad karma+1 vote
Sanguinius
Sanguinius

My Soulstorm is running super fast without this so no point in trying it because i can't even get this mod to work(which i might say is the only mod ever i could not get to work, and trust me i played a lot of SS mods)...thanks anyway lol

Reply Good karma Bad karma+1 vote
Excogitatoris-Logica Author
Excogitatoris-Logica

Never enuff speed. At least you're running the Steam version, I really recommend you to use this. You'll get it to load, as I said, insanely fast(er). Which is always good.
Also, any ideas on what exactly is preventing you from running UA?
I'll gladly help you.

Reply Good karma-1 votes
Sanguinius
Sanguinius

That's the thing i got no idea what's wrong. I literally tried around 100 times to get it to work and nothing. I read the instructions to the last letter. When i start the game it just crashes and gives me that typical "Send and Don't Send" error. I installed and played like 15 different SS mods over the years without a single problem, but this one is a total nightmare.

I mean seriously for this mod you have to install this, go there, do this, download that, install that...that's ********.

Reply Good karma Bad karma-1 votes
moddlord1
moddlord1

waz up!sorry that you can not play this because this is one of the best mods there is.

Reply Good karma Bad karma+1 vote
Excogitatoris-Logica Author
Excogitatoris-Logica

My suggestion? Install and run UA one more time and check your warnings.log. So far the answer to why a mod doesn't work has always been there.

Assuming you patched Soulstorm to 1.20 of course.

Reply Good karma0 votes
.:Zack_Fair:.
.:Zack_Fair:.

I don't have all this dlls :O

Reply Good karma Bad karma+1 vote
.:Zack_Fair:.
.:Zack_Fair:.

forget about this statement xD

Reply Good karma Bad karma+1 vote
105kg
105kg

Can you make a download that does all this without having to experiment on your own? :D

Reply Good karma Bad karma+1 vote
Excogitatoris-Logica Author
Excogitatoris-Logica

That's possible, but beyond my current knowledge. It's also very likely that most antivirus software would bark at it and I'd have to deal with dozens of comments saying "my av sez its a troyan.generic.derp.bin thing. reported." or even the typical "IT HAS VIRUS DO NOT DOWNLOAD!" based on a false positive...
Plus making some code compatible with WinXP, Vista, 7, 8 all of them 32 and 64 bits... and of course I don't have all these OS'
Plus I'm too lazy for that xD
...I didn't even update this article in months. Be sure to click the "here" link on Updated instructions. Those make for even fasta loading times.

Reply Good karma+1 vote
105kg
105kg

Haha I understand. One weekend I'll try to do this but my luck with stuff like this is never good even when I follow it. Most antivirus software these days allows you to permit whatever you come up with. Still though, I'm sure it would take some time. Thanks anyways.

Reply Good karma Bad karma+1 vote
Zeidra_Senester
Zeidra_Senester

I have done EVERYTHING (yeah I insist!) and my game is definitely terribly slower than a squid in a jar of mussels

Reply Good karma Bad karma+1 vote
Excogitatoris-Logica Author
Excogitatoris-Logica

I know I'm kind of late, but did you use the updated instructions on the link at the beginning? I didn't update this tutorial on ModDB in a looooong time :/

Reply Good karma+1 vote
Guest
Guest

This comment is currently awaiting admin approval, join now to view.

stefanstevic1996
stefanstevic1996

Can somebody make a video toutorial and upload it on YouTube?

Reply Good karma Bad karma+1 vote
paulalexander81
paulalexander81

This comment might just get hated comment of the year award but UA works fine an dandy on my lil' MSI Wind U100. There' a bit of lag udring major battles or swarm events but if you laid down your strategy right you should come out of that lag with sweet victory!

Reply Good karma Bad karma+1 vote
Ragnar-mantonero
Ragnar-mantonero

sorry, a question, currently PCs are 64-bit, you can use the cff exporer to use the full power of your computer? otherwise it runs 32-bit

Reply Good karma Bad karma+1 vote
Ragnar-mantonero
Ragnar-mantonero

are possible using CFF Explorer for eliminate the cd requesting of SS? i have laptop without cd reader and must connect a USB cd driver with a annoying and unnecessary waste of resources

Reply Good karma Bad karma+1 vote
wheelmandan
wheelmandan

all i want to do is play this mod not put this here then that there oh don't look at it don't look at the the light will burn your face off. i don't think i'll get this mod too work i have all the games but the girl one on cd. i think that sucks yea..

Reply Good karma Bad karma+1 vote
Guest
Guest

This comment is currently awaiting admin approval, join now to view.

Ragnar-mantonero
Ragnar-mantonero

i have just installed visual studio, i try to migrate soulstorm in 64 bit

Reply Good karma Bad karma+1 vote
DoMiNaNt_HuNtEr
DoMiNaNt_HuNtEr

Images are down for updated link. Only this article actually has the picture to show you what order to have all processes.

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Icon
Dawn of War
Contact
Send Message
Release date
Mod watch
Follow
Tutorial
Browse
Tutorials
Report
Report
Share
Related Games
Dawn of War
Dawn of War Real Time Strategy
Related Groups
Ultimate Apocalypse mod team
Ultimate Apocalypse mod team Developer & Publisher