Back to Age of Empires Heaven Welcome to The Granary (Download Central)
Welcome
Downloads Home
Review Guidelines
Main site
Forums
Code of Conduct
Search

Advanced Search
Utility Programs
Home
New Releases
New Reviews
New Comments
Top-Rated

Submit File
Browse Categories
New Files

Utility Programs » Binary Patcher

Download File Post Review Post Comment

Binary Patcher

Author File Description
chab [2014-12-20 : fix max selected units, fix file locking issue, add some other options, ROR_API support...]

Please use CustomizeAOE instead of BinaryPatcher unless you are a developer.
CustomizeAOE is easier to use and contains more features.


Program forum topic.

See also AOEDaemon.

Required files for Windowed mode

This is a new tool to replace "CustomizeAOE" I released previously.
The program is a tool that allows you to modify any type of file, provided you're working with fixed offset and file size.

Beginners ? Try the Wizard option (F2), make shortcuts...

You can load/save/edit binary technical information about what is to be changed in the target file, and also defined consistency checks on target file (to check that the file actually is the one that was expected).
These information can be stored in /ini Files.

Then, you can use these definitions to customize at will the target file's supplied options.

This program is supplied with ini files (for AoE 1.0b and 1.0c) including...
- ConfigAOE10x_options.ini : some options for AOE, similar to "CustomizeAOE"
- AOE10x_resolution.ini : allows you to set any resolution in RoR. You'll have to type the appropriate values for horizontal/vertical options. You'll also have to deal with interfac.drs by yourself if you want beautiful menus.
/!\ 1.0b is not always maintained now...

1) Run the EXE...
2) Load one of the INI files supplied
3) Select the target file empiresX.exe or a copy of this file
4) Edit target file and choose what you prefer among the options !
(4) : use variables to change game resolution in 3 second: var1=horizontal resolution, var2=vertical resolution.

Windowed mode : you need to get config.dll and wndmode.dll from VEG's mod (+config.xml). Only the windowed mode is implemented in the provided INI file, other VEG's features may crash.

You could use this tool to do any other stuff, just use the UI to configure the binary information, save it to a .ini file and go !

Always BACKUP your target files !
If you used older versions of .ini file, you may have to reset their options to default before using new ones.

Comments are welcome.
Tell me if you find bugs:
BinaryPatcher thread


You are FREE to use my work for any of your program/mod/anything if you respect those conditions:
- Provide clearly a link to this page (and credit).
- Your program/mod/anything must be open source so that it makes the modding community stronger.


=== See also ===
1920*1080 DRS files.

1920*1200 DRS files.
Pages: « First « 1 [2] 3 4 5 » Last »
AuthorComments & Reviews   ( All | Comments Only | Reviews Only )
baitman090487 Hi. Where exactly do I have to change the resolution values. I tested a little bit the tool but nothing changed in the game. I'd like to have a 1920x1200 resolution in the game. But anyway, I'm a beginner in this whole stuff ;)

[Edited on 04/19/13 @ 06:54 AM]

aoe_scout You need to patch empiresx.exe with this program and save it.

Have in mind that even if you do it correctly, you won't have proper high resolution, because all interface graphics must be resized and reshaped (you can still play, but it's ugly - with big black regions everywhere).

After you patch the game, you can use chab's 1920/1080 interfac.drs (download it from this site), it's missing a lot of things, but it's better than without it.

I'm working on full support for custom resolutions (including 1080p) in my UPatch-mod (among many other things). When it's ready, you will be able to choose resolution and play, everything else will be taken care of. (check the screenshots here: http://aoe.heavengames.com/cgi-bin/aoecgi/display.cgi?action=st&fn=17&tn=6327).
baitman090487 Thank you aoe_scout for your very fast answer. I think I'll wait for your UPatch-Mod ;) and I'll be glad to have it
LucTieuPhung Hi aoe_scout, you are correct that there's no definite formula on how to arrange the scenario instructions screen but it can be used as a starting point. I dived into it some more and found the offsets for positioning of the map. It seems that the size of the map (628 x 278) is constant no matter the resolution and would involve a little bit more than just changing simple values, so we'll have to make do with positioning. At least now you can move it so it doesn't overlap the other items. Append the two entries below to the AOE10c_resolution.ini:

[BinChange75]
Name=SI-HPos-Map
Description=Horizontal position of mission map.\nDefault value 0x0c5 = 197.\n
Offset=652337
Size=6
Buffer_OFF=81 C1 C5 00 00 00
Buffer_ON=81 C1 C5 00 00 00
DefaultIsOff=1
IntParamOffset=652339
IntParamSize=2
[BinChange76]
Name=SI-VPos-Map
Description=Vertical position of mission map.\nDefault value 0x016b = 363.\n
Offset=652331
Size=5
Buffer_OFF=05 6B 01 00 00
Buffer_ON=05 6B 01 00 00
DefaultIsOff=1
IntParamOffset=652332
IntParamSize=2

The real reason why I kept debugging this game was to get support for audio files other than MIDI. At the moment it treats every input file as type MIDI and will not process the file unless its a MIDI file. But by changing some values (input arguments) it now treats every file independantly and will process the file if it supports it. So far it works perfectly with .wav and .mp3 files.
Other file types like .m4a, .mp4 and .flac also works if you rename the extension to mp3, at least on my machine. The text below is support for mp3, where it basically playback the x-files from the sound folder with the mp3 extension instead of mid. Want support for other extensions just replace the "ON sequence buffer" of the five "MP3-" entries with the one you want, i.e "77 61 76" for wav and so on.

Copy and save the text below as an ini file:

[File]
Name=EmpiresX_1.0c_Audio
Description=Supports extra audio file types for Age of empires / Rise of Rome : version 1.0c
Size=1503232
[Check1]
Name=EXE Magic number
Description=Executable file magic number
Offset=0
Size=2
Buffer_OFF=4D 5A
Buffer_ON=4D 5A
DefaultIsOff=0
IntParamOffset=-1
IntParamSize=0
[Check2]
Name=Version info 1.0c
Description=Version info 1.0c (ascii 1.6.1115)
Offset=1502438
Size=18
Buffer_OFF=30 00 31 00 2E 00 36 00 2E 00 31 00 31 00 31 00 35 00
Buffer_ON=30 00 31 00 2E 00 36 00 2E 00 31 00 31 00 31 00 35 00
DefaultIsOff=0
IntParamOffset=-1
IntParamSize=0
[BinChange1]
Name=MoreFileTypes
Description=Supports additional file types other than MIDI. Place your mp3 files in the sound folder and name them exactly like the x-files minus the extension.\n\nDefault=unchecked.
Offset=328972
Size=16
Buffer_OFF=32 00 00 68 03 08 00 00 6A 00 C7 44 24 30 0B 02
Buffer_ON=02 00 00 68 03 08 00 00 6A 00 C7 44 24 30 00 00
DefaultIsOff=1
IntParamOffset=-1
IntParamSize=0
[BinChange2]
Name=MP3-xmusic
Description=Playback xmusic#.mp3 instead of xmusic#.mid.\n\nDefault=unchecked.
Offset=1407351
Size=3
Buffer_OFF=6D 69 64
Buffer_ON=6D 70 33
DefaultIsOff=1
IntParamOffset=-1
IntParamSize=0
[BinChange3]
Name=MP3-ext
Description=Change to mp3 extension.\n\nDefault=unchecked.
Offset=1407373
Size=3
Buffer_OFF=6D 69 64
Buffer_ON=6D 70 33
DefaultIsOff=1
IntParamOffset=-1
IntParamSize=0
[BinChange4]
Name=MP3-xlost
Description=Playback xlost.mp3 instead of xlost.mid.\n\nDefault=unchecked.
Offset=1428666
Size=3
Buffer_OFF=6D 69 64
Buffer_ON=6D 70 33
DefaultIsOff=1
IntParamOffset=-1
IntParamSize=0
[BinChange5]
Name=MP3-xwon
Description=Playback xwon.mp3 instead of xwon.mid.\n\nDefault=unchecked.
Offset=1428677
Size=3
Buffer_OFF=6D 69 64
Buffer_ON=6D 70 33
DefaultIsOff=1
IntParamOffset=-1
IntParamSize=0
[BinChange6]
Name=MP3-xopen
Description=Playback xopen.mp3 instead of xopen.mid.\n\nDefault=unchecked.
Offset=1428718
Size=3
Buffer_OFF=6D 69 64
Buffer_ON=6D 70 33
DefaultIsOff=1
IntParamOffset=-1
IntParamSize=0
aoe_scout OMG! This is fantastic!!!

I'll just center the map on the screen and it will look much better than to be stuck in the left corner. Thanks!!

I assume the mp3 files are decoded with system codec, like videos from the game (avi). I'll use them for sure.

If you are interested, I would ask you to look at 2 other things. The problem is I don't know anything about debugging and don't understand it at all (I'm no programmer), so if you could help, I'll be in your debt and of course you will be properly credited for all your work.

1. A way to change game version number, so that it is recognized as new (for example 1.1c, instead of 1.0c), it will be extremely helpful and important. The problem is not only the number to be different, but the game must give you the message that you have different version when you try to start a game with someone with 1.0c (just like it is with 1.0b vs 1.0c).

2. Videos could benefit if the doubling effect is removed. Right now they are played at 640x480 screen resolution, but videos must be 320x240, because the game always doubles their size. I could improve game videos a little if I could use 640x480 at it's full (no much need for higher resolution, since videos are low quality anyway and the doubling would ruin any quality).
LucTieuPhung Yeah it uses the system codec. I figured out why it doesn't automatically playback files such as mp4 and m4a even though it should. The autodetection relies on the registry and for the 32-bit version all the usual extensions are already defined at

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MCI Extensions

but for the 64-bit version some extensions are missing from

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\MCI Extensions

so the file will not be handled. Just add the missing extensions with the proper device type and it should playback fine.

I tried to find a solution to your first question and I think I found all the relevant location for setting the game version. I've only done some testing but it seems to work as intended. Just copy and save the text below as an ini file:

[File]
Name=EmpiresX_1.0c_Game_Version
Description=Changing game version for Age of empires / Rise of Rome : version 1.0c
Size=1503232
[Check1]
Name=EXE Magic number
Description=Executable file magic number
Offset=0
Size=2
Buffer_OFF=4D 5A
Buffer_ON=4D 5A
DefaultIsOff=0
IntParamOffset=-1
IntParamSize=0
[Check2]
Name=Version info 1.0c
Description=Version info 1.0c (ascii 1.6.1115)
Offset=1502438
Size=18
Buffer_OFF=30 00 31 00 2E 00 36 00 2E 00 31 00 31 00 31 00 35 00
Buffer_ON=30 00 31 00 2E 00 36 00 2E 00 31 00 31 00 31 00 35 00
DefaultIsOff=0
IntParamOffset=-1
IntParamSize=0
[BinChange1]
Name=GameVersion-Host
Description=Setting the host version of the game. There are 24 different versions to choose from including the 0-version. Choose the version by setting the value\n 0=""; 1="1.0"; 2="1.0a"; 3="1.0b"; 4="1.0c"; 5="1.0d"; 6="1.0e"; 7="1.1"; 8="1.1a"; 9="1.1b";\n 10="1.1c"; 11="1.2"; 12="1.2a"; 13="1.2b"; 14="1.2c"; 15="1.3"; 16="1.3a"; 17="1.3b";\n 18="1.3c"; 19="1.4"; 20="1.4a"; 21="1.4b"; 22="1.4c"; 23="1.X"\nNote that any value between 23 and 127 corresponds to version 1.X. Default value 0x02 = 2.\n
Offset=561152
Size=2
Buffer_OFF=6A 02
Buffer_ON=6A 02
DefaultIsOff=1
IntParamOffset=561153
IntParamSize=1
[BinChange2]
Name=GameVersion-Host-Start
Description=Setting the host version to compare with the other versions when starting the game.\nShould be the same as GameVersion-Host.\n\nDefault value 0x02 = 2.\n
Offset=565220
Size=2
Buffer_OFF=3C 02
Buffer_ON=3C 02
DefaultIsOff=1
IntParamOffset=565221
IntParamSize=1
[BinChange3]
Name=GameVersion-Join
Description=Setting the join version of the game.\nShould be the same as GameVersion-Host.\n\nDefault value 0x02 = 2.\n
Offset=571614
Size=2
Buffer_OFF=6A 02
Buffer_ON=6A 02
DefaultIsOff=1
IntParamOffset=571615
IntParamSize=1
[BinChange4]
Name=GameVersion-Join-Initial
Description=Setting the join version to display when initially joining a game.\nShould be the same as GameVersion-Host.\n\nDefault value 0x02 = 2.\n
Offset=570083
Size=2
Buffer_OFF=6A 02
Buffer_ON=6A 02
DefaultIsOff=1
IntParamOffset=570084
IntParamSize=1
[BinChange5]
Name=GameVersion-Join-Ready1
Description=Setting the join version to compare with the host version when clicking "I'm Ready!".\nShould be the same as GameVersion-Host.\n\nDefault value 0x02 = 2.\n
Offset=562811
Size=2
Buffer_OFF=3C 02
Buffer_ON=3C 02
DefaultIsOff=1
IntParamOffset=562812
IntParamSize=1
[BinChange6]
Name=GameVersion-Join-Ready2
Description=Setting the join version to compare with the host version when in the state "I'm Ready!". It also updates the version to display on screen.\nShould be the same as GameVersion-Host.\n\nDefault value 0x02 = 2.\n
Offset=563148
Size=2
Buffer_OFF=6A 02
Buffer_ON=6A 02
DefaultIsOff=1
IntParamOffset=563149
IntParamSize=1
aoe_scout I tested it and it works with no problems! I can't thank you enough for this!!! It would have been very annoying without it (asking everyone before multiplayer game start if they have UPatch and which version).

You and chab really made a difference and I'll include your names as co-creators of UPatch 2.0 (if you don't mind). Without you it would have been just a very nice mod, not unofficial patch. :)
LucTieuPhung Here is a solution to your second question:

[File]
Name=EmpiresX_1.0c_Video
Description=Changing some video playback settings for Age of empires / Rise of Rome : version 1.0c.
Size=1503232
[Check1]
Name=EXE Magic number
Description=Executable file magic number
Offset=0
Size=2
Buffer_OFF=4D 5A
Buffer_ON=4D 5A
DefaultIsOff=0
IntParamOffset=-1
IntParamSize=0
[Check2]
Name=Version info 1.0c
Description=Version info 1.0c (ascii 1.6.1115)
Offset=1502438
Size=18
Buffer_OFF=30 00 31 00 2E 00 36 00 2E 00 31 00 31 00 31 00 35 00
Buffer_ON=30 00 31 00 2E 00 36 00 2E 00 31 00 31 00 31 00 35 00
DefaultIsOff=0
IntParamOffset=-1
IntParamSize=0
[BinChange1]
Name=OriginalSize-Video
Description=Disable doubling of video size.\nShould be enabled if the doubling of video size is larger than the set display mode.\n\nDefault=unchecked.\n
Offset=1050125
Size=6
Buffer_OFF=8D 2C 09 8D 3C 12
Buffer_ON=8D 29 8D 3A 90 90
DefaultIsOff=1
IntParamOffset=-1
IntParamSize=0
[BinChange2]
Name=Width-DisplayMode
Description=Width of the display mode.\nShould be set to a value that your system supports.\n\nDefault value 0x0280 = 640.\n
Offset=1073686
Size=5
Buffer_OFF=68 80 02 00 00
Buffer_ON=68 80 02 00 00
DefaultIsOff=1
IntParamOffset=1073687
IntParamSize=2
[BinChange3]
Name=Height-DisplayMode
Description=Height of the display mode.\nShould be set to a value that your system supports.\n\nDefault value 0x01e0 = 480.\n
Offset=1073681
Size=5
Buffer_OFF=68 E0 01 00 00
Buffer_ON=68 E0 01 00 00
DefaultIsOff=1
IntParamOffset=1073682
IntParamSize=2
aoe_scout Great!! Works as expected, thanks again! :)
chab
File Author
LucTieuPhung you're really good, I hope you'll go on finding new modding information ;)
Pages: « First « 1 [2] 3 4 5 » Last »

Post Review Post Comment

HGDL v0.8.2

Login
Forum Username:


Password:




Create a new account
Forgot password?
Rating
5.0
Statistics
Downloads:2,129
Favorites: [Who?]6
Size:283.05 KB
Added:03/10/13
Updated:12/24/14