Page 1 of 7
Editing league structures & rules using a hex editor / ArtMoney
Posted: Mon Aug 29, 2011 8:38 am
by Hobbit13
Hi, to briefly introduce myself, I'm the main brain behind the hexediting we have done over at TBN and I must say Archi, what a great job! I was following your progress (and saw your thread over at the CM forums) but just as you got it running, I had to go the past week without internet and a computer.
Anyways I now have about a week to try out your discoveries

About the stuff that I found out through hexediting, such as changing import restrictions and league size, they're both dependent on the exe that is used rather than the save game. So import restrictions can be changed any time in a save game by using an edited exe and league size by using an edited exe when the game updates itself at the end of June every year. This means that if we only want to use ArtMoney, then to have correct import restrictions, league size and hopefully other edits you have to have ArtMoney running the whole time with EHM (I'll run a test some time soon to see if ArtMoney actually slows down EHM or not). Then your problems with having to use ArtMoney again on Oct 1st during the further seasons could be ignored...
Now to my developments in the past hour or so (and an introduction to what I've done before):
With my hexediting knowledge before, all I did was switch a few values under for example czech_rules.cpp but when you started the thread over at the CM forums, I started looking at EHM with Olly as well (BTW I did find many Push 7D6 commands, all you had to do was make Olly run the program further). Anyways I found out that the codes at that I was editing were actually references to other locations in the exe (I thought that already before but I just couldn't find them). So for example the import restrictions code for the Czech Republic (under czech_rules.cpp) is 30 24 8F 00, which through Olly I found out is actually the offset 00 8F 24 30. There I found a command with a 3 at the end (command in hex is C6 06 03) and the Czech Extraliga has originally a 3 foreigner restriction. I was able to find the corresponding values for all the other leagues as well. However the hex values I found where not the same as the values in the exe at the same offset and so when I changed for CZ the 3 to a 6, the game crashed at the league info screen. It turns out that the exe is probably encoded or something. So long story short, it didn't work and Olly was no more help.
But now with ArtMoney I have found out that at least for import restrictions, it is editable! It's not possible to find it in the search bar and so you have to select the bar "Process" and click on "Memory editor". After that in the bottom left corner, you have to change "Moving in memory block" to "Moving to address" and put in for example 008F2430 for the Czech Republic and change the 03 to whatever you want and it takes immediate effect in game.
It is difficult however to find out which commands mean what so I first have to find them in Olly and only then can I test them through ArtMoney. I'll keep you updated whether I can edit league size as well. Hopefully this means it opens ways to also editing more things such as league schedule, playoff structure and for example adding shootouts to leagues.
BTW How did you come up with ArtMoney?
Re: Changing the EHM 2007 start date using ArtMoney
Posted: Mon Aug 29, 2011 8:47 am
by Alessandro
Lol guys, Marek is awesome. He is also the main guy for the UUDB, yeah I invented it, but he did most of the dirty job

I would also suggest you all not to call him Hobbit in the real life

Re: Changing the EHM 2007 start date using ArtMoney
Posted: Mon Aug 29, 2011 9:29 am
by nino33
Hobbit13 wrote:But now with ArtMoney I have found out that at least for import restrictions, it is editable!
This might be really cool with a historical dtabase (like the 1974 db) if one could edit the import restrictions to the lowest possible setting (none?)...part of the idea of the 1974 db is having functional historical "elite leagues" in Sweden, Finland, the Czech Republic and Russia - for these leagues in 1974 I think "imports" were pretty much unheard of
Regards
Re: Editing league structures & rules using a hex editor / A
Posted: Mon Aug 29, 2011 11:07 am
by archibalduk
Welcome to The Blue Line, Marek! Firstly I'd like to say thank you to you. If I hadn't come across your thread at TBN then I never would have been inspired to investigate whether the start date could be changed.
I thought I'd split these posts away from the custom start date thread so that we can keep discussion of editing league rules/structures and the start date separate - just to avoid confusion.
I came across ArtMoney completely by mistake. I was updating my offline backup of addons and utilities for EHM and noticed mention of ArtMoney in the forums by a user who had used it to modify the salary cap within a saved game. It was when I went to ArtMoney's website that I realised that it had potential for editing the start date. I wasn't really having any luck with hex editing (it makes little sense to me) but ArtMoney's format and use is a lot simpler for me to understand. For me, it's a lot of trial and error but I seem to eventually succeed by using ArtMoney to monitor possible addresses (i.e. to see how they work in an unmodified/vanilla saved game).
It sounds as though ArtMoney might not be as useful for editing league rules/structures if the saved game relies on the exe all the time. I had hoped that once the game was saved, the structure would be saved into the saved game - but it sounds like this is not the case. Still, it's worth giving ArtMoney a try because maybe it'll open up more possibilities in terms of changing things that may not have been obvious using a hex editor. Maybe it'll also allow us to have the league structure changes right from the first season rather than having to wait until the second season...
It sounds like you have quite a good understanding of how to use hex.

How did you go about cross-referencing the addresses for the offsets in Olly with those in ArtMoney?
P.s. let me know if you a chance to test the start date patch. I'd love to hear if you think it can be improved or I've missed something. I'm pretty sure the list of addresses beginning 009x xxxx in the v0.03 patch can be reduced further. The difficulty is that it now has be tested to ensure that it gets beyond 1 Oct of the second season - meaning that it takes time to test each permutation.
Re: Changing the EHM 2007 start date using ArtMoney
Posted: Mon Aug 29, 2011 11:24 am
by SharksAttack
nino33 wrote:This might be really cool with a historical dtabase (like the 1974 db) if one could edit the import restrictions to the lowest possible setting (none?)...part of the idea of the 1974 db is having functional historical "elite leagues" in Sweden, Finland, the Czech Republic and Russia - for these leagues in 1974 I think "imports" were pretty much unheard of
Regards
Imports were rare, but not unheard in Finland back then. First imports played in Finland as early as 1940's. First NHL player to play in SM-sarja was Carl Brewer in 68-69 (HIFK).
I think import restriction in 1974 should be 2 or 3.
Re: Editing league structures & rules using a hex editor / A
Posted: Tue Aug 30, 2011 9:51 am
by Hobbit13
archibalduk wrote:It sounds as though ArtMoney might not be as useful for editing league rules/structures if the saved game relies on the exe all the time. I had hoped that once the game was saved, the structure would be saved into the saved game - but it sounds like this is not the case. Still, it's worth giving ArtMoney a try because maybe it'll open up more possibilities in terms of changing things that may not have been obvious using a hex editor. Maybe it'll also allow us to have the league structure changes right from the first season rather than having to wait until the second season...
Well to change individual things, such as setting any import restrictions you want, you need ArtMoney. For simply overwriting one league's rules with another league's, you can use the hexeditor but obviously you're very much limited in what you want.
archibalduk wrote:It sounds like you have quite a good understanding of how to use hex.

How did you go about cross-referencing the addresses for the offsets in Olly with those in ArtMoney?
Well how far did you get with Olly? Where you later able to find for example those PUSH 7D6 commands? If not then I'll write up a tutorial and show how to transfer it into ArtMoney.
Otherwise I've got almost no idea how to use hex. I mean I did essentially the same stuff as you have done with the start date... I found places to edit, with for example czech_rules.cpp and just copied large parts, checked its effects and then had to change them part by part to find the specific part which edited the lineup rules. It was very much trial and error for me. However now I'm happy with Olly since it's gotten less trial and error and more understanding what's going on.
archibalduk wrote:P.s. let me know if you a chance to test the start date patch. I'd love to hear if you think it can be improved or I've missed something. I'm pretty sure the list of addresses beginning 009x xxxx in the v0.03 patch can be reduced further. The difficulty is that it now has be tested to ensure that it gets beyond 1 Oct of the second season - meaning that it takes time to test each permutation.
I'll see when I'll get around to checking it out, I mean there's not many ways that I can help.
I have been checking out the league structure however and I was able to change league size with the help of ArtMoney to any size I want. Nevertheless EHM is structured so that leagues with the same number of teams, are dependent on the same piece of code. This means that both Austria and Slovenia (both 8 team leagues) share the same code, which means we're probably gonna be limited to a specific combination of league sizes...
The RSL is problematic though, it has a different code structure for league size than the other leagues (probably because it gets smaller by 1 team after the 1st season) so I don't know whether it will be editable... What was interesting though, is that the 1st command for the Russian league size is actually one of the places that you have changed the start date for (address: 94 50 70). So that address may possibly not change the start date but rather tell the game when to subtract a team from the RSL (I will test it later).
And some more good news, I have now found out how to add/remove shootouts without changing the rest of the league structure (like number of teams for playoffs or relegation)! Just testing it whether it works and whether it really affects only the format of OT (it's a bit difficult to say because ingame the information about "game rules" under the "league info" tab doesn't get updated, even if the game rules are changed).
EDIT: LOL Just noticed you added something under my username

Re: Editing league structures & rules using a hex editor / A
Posted: Tue Aug 30, 2011 9:59 am
by Alessandro
Marek - great to hear that about the shoot-outs! I would be glad to test it for you
Re: Editing league structures & rules using a hex editor / A
Posted: Tue Aug 30, 2011 11:17 am
by Hobbit13
Well it seems the shootouts are possible only from the second season on...
The command I have been editing references to another location, which however consists only of FF FF FF FF FF FF and so on (essentially meaning nothing). Only when you have a game loaded, does it fill up with values.
Re: Editing league structures & rules using a hex editor / A
Posted: Tue Aug 30, 2011 6:25 pm
by archibalduk
Hobbit13 wrote:Well how far did you get with Olly? Where you later able to find for example those PUSH 7D6 commands? If not then I'll write up a tutorial and show how to transfer it into ArtMoney.
Otherwise I've got almost no idea how to use hex. I mean I did essentially the same stuff as you have done with the start date... I found places to edit, with for example czech_rules.cpp and just copied large parts, checked its effects and then had to change them part by part to find the specific part which edited the lineup rules. It was very much trial and error for me. However now I'm happy with Olly since it's gotten less trial and error and more understanding what's going on.
Basically I didn't get anywhere with Olly at all. I've heard on many forums that Olly is the best software to use, but I just couldn't figure out how to use it and how to use the different windows. A short guide on how to use Olly would be brilliant - thank you.
Hobbit13 wrote:I have been checking out the league structure however and I was able to change league size with the help of ArtMoney to any size I want. Nevertheless EHM is structured so that leagues with the same number of teams, are dependent on the same piece of code. This means that both Austria and Slovenia (both 8 team leagues) share the same code, which means we're probably gonna be limited to a specific combination of league sizes...
How do you determine which additional teams will join the expanded league? Presumably you add them to the league using the Pre Game Editor?
Hobbit13 wrote:EDIT: LOL Just noticed you added something under my username

Hehe
Hobbit13 wrote:archibalduk wrote:I imagine it would. I'll try it with one player to see whether I get an error when viewing his contract details (this is the second type of error I encounter when trying a 1974 start date). However, at this stage it's simply not worth changing the 1974 database to accommodate a custom start date of 1974. I need to do much more testing first. I need to sim a whole season to see what EHM does with the league records, etc. Will it simply overwrite the previous details of the winners of the 1974/75 season or will it simply crash...

Just noticed this since I know how to edit league history there should be no problem with that

(just writing for future reference)
I guess it might be best if some time in the future I start compiling tutorials on how to edit the things that I found out.
Editing the history would be very useful to know. The main challenge (and the source of continual cpp errors in game - although they don't break/crash the game) is somehow batch editing the contract expiry of all players and staff. This should be possible as you can open in the EHM database files in a hex editor and even ArtMoney. It's just a case of finding the correct column in the database and finding something that can edit all of them en masse.
Yes, please do post as many guides and as much detail as you can. The more information you can provide the better chance we can all work on figuring things out. It's great to hear all about what you've discovered - I feel really optimistic that together as a group we could make huge improvements and updates to the game.

I plan on posting a detailed list of all the addresses I've found that relate to the start date this weekend.
If we share all of our guides, etc in this thread then I'll also copy them to
our wiki so that they can easily be found in the future.
Re: Editing league structures & rules using a hex editor / A
Posted: Tue Aug 30, 2011 8:06 pm
by Hobbit13
archibalduk wrote:Basically I didn't get anywhere with Olly at all. I've heard on many forums that Olly is the best software to use, but I just couldn't figure out how to use it and how to use the different windows. A short guide on how to use Olly would be brilliant - thank you.

I'll probably do that tomorrow morning. I'm considering doing a "videotorial"
Hobbit13 wrote:I have been checking out the league structure however and I was able to change league size with the help of ArtMoney to any size I want. Nevertheless EHM is structured so that leagues with the same number of teams, are dependent on the same piece of code. This means that both Austria and Slovenia (both 8 team leagues) share the same code, which means we're probably gonna be limited to a specific combination of league sizes...
archibalduk wrote:How do you determine which additional teams will join the expanded league? Presumably you add them to the league using the Pre Game Editor?
Well with league size, you can change it right from the beginning (that is apart from leagues that are split up into conferences and divisions, haven't had success with them). So you simply add them with the pre game editor so that you have the right amount of teams. However then there are sometimes problems with the schedule and playoffs during the first season.
The other possibility is to add the teams in the pregame editor to the league but increase the league size through the exe until with the second season. This means that these added teams don't actually take part in the first season.
Hopefully I'll find a way to edit the schedule and get it working.
archibalduk wrote:Yes, please do post as many guides and as much detail as you can. The more information you can provide the better chance we can all work on figuring things out. It's great to hear all about what you've discovered - I feel really optimistic that together as a group we could make huge improvements and updates to the game.

I plan on posting a detailed list of all the addresses I've found that relate to the start date this weekend.
If we share all of our guides, etc in this thread then I'll also copy them to
our wiki so that they can easily be found in the future.
I'll probably start a new thread just for tutorials so that it doesn't mess with the work I'm doing with Olly/ArtMoney (the stuff I know from before is done only through a hex editor anyway).
Now an update on my progress, I've found out that the code for the shoot out rule actually affects the "game rules" so the icing and OT format (can anyone think of more game rules that vary between leagues?). The part that I found however changes the game rules only during the regular season, the post season rules are stored elsewhere...
So for Nino and your 1974 db, you would have to decide between either having no shootouts or having no-touch icing for the regular season, since there is no league in the game that has touch icing but no shootouts (but then the playoffs would be again with normal NHL rules).
Also I haven't had any success with the RSL/KHL and expanding it or at least keeping it at 19 teams. I mean we tried expanding it before but because of the way the schedule is programmed, the playoffs never work. I tried editing the code so that it's at 19 teams but the game then crashes

Re: Editing league structures & rules using a hex editor / A
Posted: Tue Aug 30, 2011 11:33 pm
by Manimal
When you guys are looking into things, can you see if you can find out anything about the International Ice Hockey League(Slovenia, Austria and some other countries are in it, I think)? I haven't found out a way to see what teams are in it and how to change them. It is coded somehow. Same goes for that inter-league cup/thing in British hockey
Re: Editing league structures & rules using a hex editor / A
Posted: Wed Aug 31, 2011 1:14 am
by nino33
Hobbit13 wrote:So for Nino and your 1974 db, you would have to decide between either having no shootouts or having no-touch icing for the regular season, since there is no league in the game that has touch icing but no shootouts (but then the playoffs would be again with normal NHL rules).
If the shootout is removed, is there still OT? If the game ends in a tie, does the game "handle" this? i.e. points/standings are correct?
Regards
Re: Editing league structures & rules using a hex editor / A
Posted: Wed Aug 31, 2011 7:55 am
by Alessandro
Manimal wrote:When you guys are looking into things, can you see if you can find out anything about the International Ice Hockey League(Slovenia, Austria and some other countries are in it, I think)? I haven't found out a way to see what teams are in it and how to change them. It is coded somehow. Same goes for that inter-league cup/thing in British hockey
IIHL is 100% editor driven, British/Danish cup is coded I think
Re: Editing league structures & rules using a hex editor / A
Posted: Wed Aug 31, 2011 8:08 am
by Uros
Manimal wrote:When you guys are looking into things, can you see if you can find out anything about the International Ice Hockey League(Slovenia, Austria and some other countries are in it, I think)? I haven't found out a way to see what teams are in it and how to change them. It is coded somehow. Same goes for that inter-league cup/thing in British hockey
Hello altogether
IIHL is hard coded and it consists of teams from Slovenia, Croatia and Hungary. There are IIHL and IIHL 2 and both are hard coded in numbers of teams and rules. Both are defunct now as the EBEL (Austrian league) has expanded with 2 Slovenian, one Hungarian, Croatian and Czech.
Haven't touched the game for two years and would have to check to be 100%.
Re: Editing league structures & rules using a hex editor / A
Posted: Wed Aug 31, 2011 8:33 am
by Alessandro
Uros wrote:
Hello altogether
LOOOOLLL My friend. How's life?
Re: Editing league structures & rules using a hex editor / A
Posted: Wed Aug 31, 2011 11:03 am
by Hobbit13
Manimal wrote:When you guys are looking into things, can you see if you can find out anything about the International Ice Hockey League(Slovenia, Austria and some other countries are in it, I think)? I haven't found out a way to see what teams are in it and how to change them. It is coded somehow. Same goes for that inter-league cup/thing in British hockey
The Interliga and Interliga 2 are driven by the editor. The teams that participate have the Interliga set as their other division. That's all you need to change.
nino33 wrote:Hobbit13 wrote:So for Nino and your 1974 db, you would have to decide between either having no shootouts or having no-touch icing for the regular season, since there is no league in the game that has touch icing but no shootouts (but then the playoffs would be again with normal NHL rules).
If the shootout is removed, is there still OT? If the game ends in a tie, does the game "handle" this? i.e. points/standings are correct?
Regards
It works just fine, OT is 5 min of 4 on 4 and here's a screenshot of the standings:
What has occured to me though is that possibly something like fights may be included in the game rules as well. Since all NA leagues have shootouts, I had to overwrite the NHL game rules with ones from an European league and there may be automatic game ejections for fights... Have to check it out though.
I'll also try to find a way for it to be implemented from the first season already but I don't have too high hopes...
EDIT: Now it seems that I can get the shootouts to work with a new game. Anyone up for testing?
Re: Editing league structures & rules using a hex editor / A
Posted: Wed Aug 31, 2011 3:59 pm
by Uros
Alessandro wrote:Uros wrote:
Hello altogether
LOOOOLLL My friend. How's life?
Still alive and kicking

Re: Editing league structures & rules using a hex editor / A
Posted: Wed Aug 31, 2011 7:35 pm
by archibalduk
Hobbit13 wrote:But now with ArtMoney I have found out that at least for import restrictions, it is editable! It's not possible to find it in the search bar and so you have to select the bar "Process" and click on "Memory editor". After that in the bottom left corner, you have to change "Moving in memory block" to "Moving to address" and put in for example 008F2430 for the Czech Republic and change the 03 to whatever you want and it takes immediate effect in game.
I took a look at 008F 2430 in ArtMoney but it is set as 56 in the hex view. I can't see the 03. Am I looking in the wrong place?
Re: Editing league structures & rules using a hex editor / A
Posted: Wed Aug 31, 2011 8:36 pm
by Hobbit13
archibalduk wrote:I took a look at 008F 2430 in ArtMoney but it is set as 56 in the hex view. I can't see the 03. Am I looking in the wrong place?
Well I meant the commands that edit the import rules for the Czech Republic start at 008F 2430. I think the actual address for the 03 is 008F 243E, if I remember correctly.
BTW I'm preparing the Olly tutorial (not with video though, can't seem to get my mic to work).
Re: Editing league structures & rules using a hex editor / A
Posted: Wed Aug 31, 2011 9:30 pm
by Hobbit13
So here it is using the example of Czech lineup rules:
1. Start Olly disassembler with administrator rights and load up ehm2007.exe. Click OK on the error message that pops up.
2. Click on the play button in the top left button corner and click through the further error messages.
3. In the bottom right window, double click on the highlighted 0018FF80 as shown in the picture below:
4. Now an arrow pointing to the right will appear where you have just double clicked, press Enter and text/commands should appear in the top left window as shown below:
5. Now scroll up until you find something anything which begins with ASCII "C:\dev... . Left click and then right click on it. In the menu that shows up go to Follow in dump and then click on Immediate constant.
Reference picture:
6. Now click anywhere in the bottom left window and do a search using Ctrl+b. Search for czech_rules.cpp, as shown:
7. Scroll down a bit until you see denmark_rules and a little above it you should see the hex code 30 24 8F 00, as highlighted in the screenshot:
8. Now left click only on the 30, right click and in the menu click on Follow DWORD in disassembler, as shown below:
9. In the top left window you will now see the commands for lineup rules with the 3 foreigner limit for Czech Republic being the 5th line, highlighted in the picture below:
However Olly is useless for editing EHM so to be able to change the 3 foreigner limit to anything you want, we need ArtMoney for that. You can however use the offset that you find in Olly for knowing what to edit and where to edit it in ArtMoney.
To do this, load up EHM in ArtMoney by choosing it in Select process. Click on Process in the top bar and then on Memory editor. In the bottom left, change Moving in memory block to Moving to address. In the address bar, type in for the example of Czech rules 008F2430 to find the same thing that you have found before in Olly.
I'll post how to find the various lineup rules in the tutorial thread that I'll start and I'll also include the places for league size, structure, schedule etc.
Re: Editing league structures & rules using a hex editor / A
Posted: Thu Sep 01, 2011 9:53 pm
by Hobbit13
Alright so changing the game rules certainly works right from the get go! Both Ale and I have had success testing it.
There are a few limitations though, firstly the game rules under the info tab don't get updated but that's only a cosmetic error. Secondly however you will be forced to be run ArtMoney for at least during the period between 28th June and 1st July each season.
Re: Editing league structures & rules using a hex editor / A
Posted: Thu Sep 01, 2011 10:44 pm
by Alessandro
Yes we managed to get the shoot-out working. Sorry Archi, but we mostly care about European rules! And European hockey changed more than NHL I would say in the latest 4-5 years.
Re: Editing league structures & rules using a hex editor / A
Posted: Fri Sep 02, 2011 3:50 pm
by archibalduk
Alessandro wrote:Sorry Archi, but we mostly care about European rules!
I care pretty much equally for North America as I do for Europe!

Either way, once it's working for Europe then we can look at America later.
I'm absolutely amazed at the progress the two of you have made. I'm going to finish the start date patch and will then start following Marek's tutorials.
Hobbit13 wrote:Secondly however you will be forced to be run ArtMoney for at least during the period between 28th June and 1st July each season.
In this case, would it be better to edit the exe rather than use ArtMoney? Or can you only get the league changes running from the first season with ArtMoney only?
Re: Editing league structures & rules using a hex editor / A
Posted: Fri Sep 02, 2011 8:37 pm
by archibalduk
I was struggling with your tutorial at first but then released I was using the version 2 beta of Olly whereas you're using the latest stable version (v1.10). Now I'm using v1.10 and can follow your tutorial no problem. I thought I'd mention this in case anybody else has difficulty running Olly with EHM.
Something useful I found is if you right click in the top left panel of the window, click on Search For -> All Referenced Text Strings it will show you a list of all ASCII text in EHM. It makes it nice and easy to browse through the different CPP titles. When the Referenced Text Strings window opens, right click and click on Search for Text. This allows you to find the CPP you want (similar to the Ctrl+B mentioned in Marek's post above). Make sure you tick the Entire Scope box in the search window otherwise it'll only search downwards from where your cursor currently is. If you double-click on the CPP text in this window then it'll take you to its location in the top left panel of the main window.
Re: Editing league structures & rules using a hex editor / A
Posted: Sat Sep 03, 2011 11:19 am
by Hobbit13
archibalduk wrote:I was struggling with your tutorial at first but then released I was using the version 2 beta of Olly whereas you're using the latest stable version (v1.10). Now I'm using v1.10 and can follow your tutorial no problem. I thought I'd mention this in case anybody else has difficulty running Olly with EHM.
Something useful I found is if you right click in the top left panel of the window, click on Search For -> All Referenced Text Strings it will show you a list of all ASCII text in EHM. It makes it nice and easy to browse through the different CPP titles. When the Referenced Text Strings window opens, right click and click on Search for Text. This allows you to find the CPP you want (similar to the Ctrl+B mentioned in Marek's post above). Make sure you tick the Entire Scope box in the search window otherwise it'll only search downwards from where your cursor currently is. If you double-click on the CPP text in this window then it'll take you to its location in the top left panel of the main window.
A very useful find! Thanks
archibalduk wrote:Hobbit13 wrote:Secondly however you will be forced to be run ArtMoney for at least during the period between 28th June and 1st July each season.
In this case, would it be better to edit the exe rather than use ArtMoney? Or can you only get the league changes running from the first season with ArtMoney only?
Well there's a slight problem with that... With a hexeditor I can only change the code that refers to another place, so for example I can switch the 30 24 8F from the Czech Republic with the code from another league. However changing the lineup rules to whatever I want, I can only do that with ArtMoney. Also only with ArtMoney can I change only the game rules and not the whole league structure. It's because what is in the exe, doesn't correspond with what is in the exe when it is run... This is what I mean:
As you can see, the code for changing the foreigner limit to whatever I want C6 06 03, which however does not correspond to what is in the exe (in the small window). Instead, there's DD 83 51. If I change the DD 83 51 to let's say C6 06 06 or even C6 06 03 for that matter, the game crashes. I've also opened the exe with a hexeditor and done a search for C6 06 03 but nothing shows up.
The really annoying thing about this is that in CM they don't have this problem. There, whatever you find in Olly, you also find it exactly the same in the exe so they can't help us.
So unless we figure out how EHM de-codes itself, we're gonna have to resort to using ArtMoney for these changes.