LOD TXT files those don't work

Mods and development for mods. Including WoG & Equilibris (RU) subforums.

Moderator: Moderators

BAD23ro

Postby BAD23ro » Mar 28 2008, 17:13

You need to work with H3.exe, not with text files.
Last edited by BAD23ro on Jul 13 2009, 6:29, edited 1 time in total.

User avatar
Artas1984
Assassin
Assassin
Posts: 282
Joined: 06 Jan 2007
Location: Vilnius
Contact:

Postby Artas1984 » Mar 28 2008, 20:38

My game is Heroes III Complete, so the .EXE file i load in Hex Workshop is Heroes III Complete.exe

Now, this is how i understand it should work: i load my .EXE in Hex Workshop and the field i see many text number of 4 digits - strings so to say, and there should be all strings for many things to edit.

First how do you know what numbers mean what?
Second if i know what string means what, i should easy find that string by writing it in the find function and it should find me it auto.
Once i find it, i edit values, and save it to a config file, yes?
I place thos .INI or .CFG files in Config folder and the game is already changed, yes?

So now, how do i know what is what?
Because i don't see a god damned thing in .EXE.
For example if i open SSTRAITS.txt, i see which string means the value of lets say pathfinding 75 %, but in .EXE i don't see it.

So, help this out.

User avatar
Pol
Admin
Admin
Posts: 9170
Joined: 29 Nov 2005
Location: IN SOMNIS VERITAS
Contact:

Postby Pol » Mar 28 2008, 21:14

@Artas1984
Could some tutorials about easy hex editing help?

Diablo, Starcraft.

Once i find it, i edit values, and save it to a config file, yes?
I place thos .INI or .CFG files in Config folder and the game is already changed, yes?

No, you are modifying the main heroes3 executable itself. Hence the result will be modified copy of heroes3.exe. (new program)

You can go and find the numbers as well as text. In fact numbers can be searched in several 'modes'(scales) - from that it's all named - hex (ie scale of numbers 012346789ABCDEF)

To get familiar with quickly look the listed tutorials and perhaps launch calc.exe, switch to scientific mode and convert few numbers from decimal to hexadecimal scale just for fun. :D
"We made it!"
The Archives | Collection of H3&WoG files | Older albeit still useful | CH Downloads
PC Specs: A10-7850K, FM2A88X+K, 16GB-1600, SSD-MLC-G3, 1TB-HDD-G3, MAYA44, SP10 500W Be Quiet

User avatar
Ya5MieL
Marksman
Marksman
Posts: 428
Joined: 06 Jan 2006
Location: Kutjevo, Croatia

Postby Ya5MieL » Mar 28 2008, 21:41

keep in mind you need float converter as well if you want to edit things fast.

good online one can be found here, it is practically essential for skill editing:


http://babbage.cs.qc.edu/IEEE-754/32bit.html

User avatar
Artas1984
Assassin
Assassin
Posts: 282
Joined: 06 Jan 2007
Location: Vilnius
Contact:

Postby Artas1984 » Mar 29 2008, 14:46

According to the sorcery off-set you wrote:

the 32 little endian float is: "0000 C040" and the equivalent meaning in Heroes III log is : "...@"

Offset is 0023b9e4
What were you talking about damage change?
I don't see anything. How do you kwon what to look for?

And pol and yasmiel off course now pretend that they know everything..
LOL...

BAD23ro

Postby BAD23ro » Mar 29 2008, 20:26

@Artas1984

I don't have Heroes III complete. I have Restoration, Armageddon and Shadow of Death.
Last edited by BAD23ro on Jul 13 2009, 6:29, edited 1 time in total.

User avatar
Artas1984
Assassin
Assassin
Posts: 282
Joined: 06 Jan 2007
Location: Vilnius
Contact:

Postby Artas1984 » Mar 30 2008, 8:18

Do the offsets differ in different versions of Heroes games?

BAD23ro

Postby BAD23ro » Mar 30 2008, 10:21

Yes.
Last edited by BAD23ro on Jul 13 2009, 6:29, edited 1 time in total.

User avatar
Pol
Admin
Admin
Posts: 9170
Joined: 29 Nov 2005
Location: IN SOMNIS VERITAS
Contact:

Postby Pol » Mar 30 2008, 10:55

offset 0023B9D4 > "0000 C040"
(heroes3.exe - complete)

In case of hexworkshop here are two functions, just Find and Edit Goto to track an offset.
"We made it!"
The Archives | Collection of H3&WoG files | Older albeit still useful | CH Downloads
PC Specs: A10-7850K, FM2A88X+K, 16GB-1600, SSD-MLC-G3, 1TB-HDD-G3, MAYA44, SP10 500W Be Quiet

User avatar
Ya5MieL
Marksman
Marksman
Posts: 428
Joined: 06 Jan 2006
Location: Kutjevo, Croatia

Postby Ya5MieL » Mar 30 2008, 13:35

Artas1984 wrote:And pol and yasmiel off course now pretend that they know everything..
LOL...


This is not the way to ask for help.

I provided you with the link for easier editing.

And, no, we don't know everything, but we DO know how the basic ASM works and can understand BAD23ro's findings. (After all, I did the same changes for heroes 2 and heroes 1 years ago).

So, keep the tone friendly and help will come.

-------------
Now, onto the problem:

Image

8 values that are rounded with red color are basic,adv,and expert sorcery. 4 bytes each. (note that 4 bytes before that is default sorcery value which can also be changed, but should stay at 0%).

Now, if you want to change basic sorcery, edit first 4 bytes (CDCCCC3D-which means 10%, the value i have in my game)... etc...

(since your game is not atm edited, values in those 12 fields should be different, first 4 would then be CDCC4C3D)

To make it easier to you i will write down some most used values:

5% = CDCC4C3D
10% = CDCCCC3D
20% =CDCC4C3E

For further values, refer to the link i already gave you in previous posts:

http://babbage.cs.qc.edu/IEEE-754/Decimal.html


BTW: For heroes complete, offsets are same as in SoD.

In some editors you should replace 6 with 2....
Last edited by Ya5MieL on Mar 30 2008, 13:57, edited 2 times in total.

User avatar
Artas1984
Assassin
Assassin
Posts: 282
Joined: 06 Jan 2007
Location: Vilnius
Contact:

Postby Artas1984 » Mar 30 2008, 13:48

The offsets you wrote are wrong.


The last offset in my Heroes III Compelte.exe is 0029AFF8
There are no "0063xxxx".
Would someone care to check Heroes III Complete.exe?

User avatar
Ya5MieL
Marksman
Marksman
Posts: 428
Joined: 06 Jan 2006
Location: Kutjevo, Croatia

Postby Ya5MieL » Mar 30 2008, 13:55

Artas1984 wrote:And pol and yasmiel off course now pretend that they know everything..
LOL...


This is not the way to ask for help.

I provided you with the link for easier editing.

And, no, we don't know everything, but we DO know how the basic ASM works and can understand BAD23ro's findings. (After all, I did the same changes for heroes 2 and heroes 1 years ago).

So, keep the tone friendly and help will come.

-------------
Now, onto the problem:

Image

12 values that are rounded with red color are basic,adv,and expert sorcery. 4 bytes each. (note that 4 bytes before that is default sorcery value which can also be changed, but should stay at 0%).

Now, if you want to change basic sorcery, edit first 4 bytes (CDCCCC3D-which means 10%, the value i have in my game)... etc...

(since your game is not atm edited, values in those 12 fields should be different, first 4 would then be CDCC4C3D)

To make it easier to you i will write down some most used values:

5% = CDCC4C3D
10% = CDCCCC3D
20% =CDCC4C3E

For further values, refer to the link i already gave you in previous posts:

http://babbage.cs.qc.edu/IEEE-754/Decimal.html


BTW: For heroes complete, offsets are same as in SoD. (Sorcery starts at 63EA7C

In some editors you should replace 6 with 2....

User avatar
Artas1984
Assassin
Assassin
Posts: 282
Joined: 06 Jan 2007
Location: Vilnius
Contact:

Postby Artas1984 » Mar 30 2008, 14:17

So 0063xxxx is acyualy 0023xxxx...

But even if so, the only 0023EAxx offsets are:

0023EA14
0023EA36
0023EA58
0023EA7A
0023EA9C
0023EABE
0023EAE0


And yasmiel, how do you find the binary values from offset, it does not work for me, it would not even allow to write the correct offset.

User avatar
Ya5MieL
Marksman
Marksman
Posts: 428
Joined: 06 Jan 2006
Location: Kutjevo, Croatia

Postby Ya5MieL » Mar 30 2008, 14:31

Those offsets you wrote are the offsets of first byte in each row.

So if it says for example

23ea14 |||||| 33 22 11 44 55 66

then value 33 is in offset 23ea14, value 22 is in 23ea15 etc...

So 23ea14 refers only to the first byte.

In your particular case then. SOrcery starts as third byte in row with starting offset 23EA7A.

ignore the first 2 bytes that are both "00", 3rd to 7th byte in that row is basic sorc, 8th to 11th is advanced, and 12-15th is expert sorcery.

btw, pretty much each editor should have some info about exact byte. Check the lower left corner or similar loactions, perhaps there you get to see the exact offset of the highlighted byte. It depends on editor you are using.

BAD23ro

Postby BAD23ro » Mar 30 2008, 17:57

:D
Last edited by BAD23ro on Oct 19 2010, 22:47, edited 1 time in total.

User avatar
UndeadHalfOrc
Cyber Zombie
Cyber Zombie
Posts: 1362
Joined: 13 Mar 2007

Postby UndeadHalfOrc » May 11 2008, 21:47

Hi!

Good news - I can modify the normal Heroes 3 Shadow of Death game now (requiring the CD)

The catch is that the file to modify was: Heroes3.ICD

The layout of the file is identical to the big modded EXE files we used. Same addresses and everything.

Now I can watch the movies/anims while playing with my mod!
(Previously I was stuck with a version that, while it worked with SOD 3.2, didn't play any movies at all even with the CD in the drive)


Return to “Modcrafting Guild”

Who is online

Users browsing this forum: No registered users and 1 guest