Post tutorial 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.


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

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
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.