A small fix to the well known issue in DoW games, when large scale units (vehicles and monstrous creatures) passing trough small scale units (infantry) push them back and make them uncontrollable for a time.

Post tutorial Report RSS simEngine.dll modding

How to make this mode by yourself Make a backup!!!

Posted by on - Basic Client Side Coding

Hi guys! I decided to delete all download links of this mod, because there are a lot of different versions of the game, which are not compatible with previously presented Dll's. Seems like even different languages have their own Dll's. But I will explain how to made this mod for yourself.

Before you read:
1. You make all the changes at your own risk
2. You can't play with people of different dll. You will be able to start a game, but soon you'll get a syncerror. So save the original dll file!

For this you'll need to hack simEngine.dll. To do this, you need:
- A backup copy of your simEngine.dll (looks like Steam doesn't distinguish between original and hacked dll, so if you don't - it will be hard to revert changes)
- IDA pro software
- any hex-editor

1. Open simEngine.dll with IDA pro and wait until it anylises the whole file. It may take a time, so wait patiently, until output window (at the bottom of the screen) says "The initial autoanalysis has been finished."
2. In the functions window (left one) press Ctrl+F and search for "priority"

dll hack functions


3. It will show you several fuctions. Double click the "GroundDynamicsUtils::GetRightOfWayPriority"
4. Now you can see a code in a graph or text view. If you have graph view:
- You will see this

dll hack Ida viewA


Scroll down to this

dll hack Ida viewA2


and choose the line with "jnz" function (grey on figure)
- On the top of this window switch view to the Hex view.

dll hack Ida hexview

The line with the chosen function will be selected as shown. Remember the position of the chosen function. In this example it's "10084170" (shown on left with grey numbers)
If you have a text view by default then code is written near the selected function

dll hack Ida textview


6. Now open the simEngine.dll with hex editor and find this position but in my case I should ignore first number so it's "0084170"

dll hack hexeditor

7. Change 75 in hex code to 74 (it will change function from jnz to jz and switch outcomes of the function "GroundDynamicsUtils::GetRightOfWayPriority")
8. Save the file in your hex editor. Now big units will stuck in infantry without pushing it out.
9. You can close IDA pro without saving the database, but it is possible to do something wrong and if you made mistake and didn't save the database you will need to reanalyse dll to redo hack.

This works for any Dawn of War addon, but you will need to make all the steps again.

Post comment Comments
Excogitatoris-Logica
Excogitatoris-Logica - - 2,755 comments

Oh hey. Now *THIS* is interesting. I gotta do some tinkering after I find me an IDA Pro that fell off a digital truck

Reply Good karma Bad karma+1 vote
jordanthejq12
jordanthejq12 - - 304 comments

You don't even need IDA Pro. The free version will do just fine for this. I'd recommend HxD for a hex editor, which is also free.

Be ABSOLUTELY SURE you change line 00084170. Line 00084130 is actually identical, but that won't change pathing, it'll change something else.

Get those straight, and yeah, you're in business.

Reply Good karma Bad karma+1 vote
SoulEater1993
SoulEater1993 - - 165 comments

Hi BV, I know this is in 2024. If you're around, would love to talk to you on discord. I'm yellowmonkeySoulEater there. Wondering if we could talk and see if you could see if this is applicable for DOW2?

Reply Good karma Bad karma+1 vote
BloodyVomit Author
BloodyVomit - - 24 comments

Hi! It is possible, but DOW2 has different pathfinding system. It's logic looks more complex, so, it would require more time for testing. Also, in DOW1 you can simply prevent infantry of opponent from moving and attacking by couple of cheap vehicles. In DOW2 you don't have "cheap" units, due to different economic system. Moreover, DOW2 big and heavy units have a possibility to destroy debris. It could be bounded with pathfinding.
To sum up, it is possible, but have several problems. Unfortunately, for a moment I can't help you with this.

Reply Good karma+1 vote
SoulEater1993
SoulEater1993 - - 165 comments

Thanks for the reply BV!

The good news is we have modders doing RE work too, and would like some pointers. Hence if its possible to talk further to see where this could go! We'll do the lifting and get your advice on things.

I'm yellowmonkeySoulEater on discord. Add me there, BV. Would be easier to talk there.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: