• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
quintelosky,
Can you update the NTL patch to work with Armageddon 1.3 beta 2?

Thank you in advance.

I was just about to ask that.
 
Greetings. I was wondering if anybody has a patch that will lower lower the starting year to around 100. If not, can anybody tell me where I can find the dates in a hex editor? Thanks.
 
To be specific:
BACK UP THE ORIGINAL HOI2.EXE
Byte Old value New value
02af3f ae ----> 0f
02af40 07 ----> 27
02af68 ae ----> 0f
02af69 07 ----> 27
02af81 8f ----> e8
02af82 07 ----> 03
02afac 8f ----> e8
02afad 07 ----> 03
This sets the start year to 1000 and the end year to 9999

For the person who wanted year 100 start, try:
02af81 8f ----> 64
02af82 07 ----> 00
02afac 8f ----> 64
02afad 07 ----> 00
These would be the values. I have not tested this.

PATCHING IS AT YOUR OWN RISK. You can use any hex editor.
The above is for Arma 1.3 beta 2
 
Last edited:
That would be against Paradox rules. Paradox allows the publication of hacks to the executable BUT NOT distribution of the changed executable itself. It's a copyright/piracy issue.
 
For the people not wanting to play around with hexeditors, I generated (actually because i want the Mod33 patch ;)) the following patch using the offsets posted by ADukes:

[http://www.mediafire.com/?yymz2zhndwy] obsolete

The hard thing of course is finding the offset for new versions, but as the original values, average distance and the fact they are doubled are known that should be simple in principal too. Quite amusing even if one knows why the enigma was cracked earlier then necessary ;P
 
Last edited:
DDA1.3beta2 NTL

FILENAME Hoi2.exe
0002AF3F : 0F AE
0002AF40 : 27 07
0002AF68 : 0F AE
0002AF69 : 27 07
0002AF81 : 01 8F
0002AF82 : 00 07
0002AFAC : 01 8F
0002AFAD : 00 07
00164D06 : 90 E8
00164D07 : 90 35
00164D08 : 90 25
00164D09 : 90 10
00164D0A : 90 00
:cool:
 
DDA1.3beta2 NTL

FILENAME Hoi2.exe
0002AF3F : 0F AE
0002AF40 : 27 07
0002AF68 : 0F AE
0002AF69 : 27 07
0002AF81 : 01 8F
0002AF82 : 00 07
0002AFAC : 01 8F
0002AFAD : 00 07
00164D06 : 90 E8
00164D07 : 90 35
00164D08 : 90 25
00164D09 : 90 10
00164D0A : 90 00
:cool:

ok, the first 8 bytes define a boundary for the game year (1-9999 in your case) but what are the last 4 bytes for?
 
ok, the first 8 bytes define a boundary for the game year (1-9999 in your case) but what are the last 4 bytes for?
The last 5 bytes are a change to the actual code; '90' is a 'no-op' in Intel machine code. E8 is the first byte of a subroutine call and the following 4 bytes are presumably the address of the subroutine so basically overwriting those 5 bytes with 90 means that subroutine will not be called.
 
The last 5 bytes are a change to the actual code; '90' is a 'no-op' in Intel machine code. E8 is the first byte of a subroutine call and the following 4 bytes are presumably the address of the subroutine so basically overwriting those 5 bytes with 90 means that subroutine will not be called.

makes sense... just the obvious question remaining: what and why...
i just don't understand why people are so secretive about such things...