Having done quite a bit of experimentation and testing with changing the start year in EHM 2007, I thought I'd post a list of the addresses/offsets I found and an explanation of what they seem to do. Maybe this might one day be of use to anybody looking to further tweak EHM with regards to the start date.
I've categorised below the offsets I've found by what their functions appear to be. This is just my understanding - I think the purposes of the "crash / CPP error prevention" offsets may not be quite what I think they are. Note that all of the offsets quoted are the offsets used in ArtMoney.
Generally speaking, in the tables below I've listed three details:
- Offset - This is the offset as found in ArtMoney.
- Value - This shows what value should be entered. For example, <year> indicates that you should enter the start year as the value (e.g. you can set the value to 2011 to change the start season to 2011/12). Some values are shown as a simple mathematical calculation/formula - e.g. 16777216 + <year> means that you should add 1677216 to the year you want to use when entering the value (e.g. 16777216 + 2011 = 16779227 - this is the value you should enter for the 2011/12 season).
- Description - Describes the function of the offset.
Start Date
The start date is controlled by one value. If you change this value before clicking on the New Game button (located in the opening Main Menu screen in EHM) then this will change all of the other relevant values for you. In other words, set this value and it will let EHM do the rest of the work.
However, this offset must be used in conjuction with the crash/error prevention offsets.
Not only does this offset change the start season, it also adjusts the start date itself. For example, the NHL start date is programmed to start on the Wednesday of the 35th week of the year. This offset will correctly adjust the date so that it still falls on the correct date.
[table][tr][th]Offset[/th][th]Value[/th][th]Description[/th][/tr]
[tr][td]007D 11C0[/td][td]<year>[/td][td]Master control value for the start date. Appears only to be used when creating a new game.[/td][/tr][/table]
Season Monitoring / Tracking
There are a number of offsets which appear to monitor or track the current season. Changing these values when at the League Select screen (i.e. just after you have clicked on the New Game button) allow you to change the start date in EHM. This works in a different way to 007D 11C0 (mentioned above) because it changes just the starting year but does not make any changes to the date (i.e. the NHL season will always start on 30th August - unlike 007D 11CO it doesn't adjust the date to the Wednesday of the 35th week of the year).
The values appear to change each year when the new season begins (I don't know the exact date but it would appear to be approximately 1st July). The offsets monitor the current season rather than the current calendar year. In other words, the value will remain as '2011' for the entirety of the 2011/12 season and does not change to '2012' until the beginning of the 2012/13 season.
The following appear to act as an overall monitor of the current season:
[table][tr][th]Offset[/th][th]Value[/th][th]Description[/th][/tr]
[tr][td]00C6 9BFE[/td][td]<year>[/td][td]Seems to set the current season. I think the value here cascades down to the two offsets 00C6 A848 and A854 (below).[/td][/tr]
[tr][td]00C6 A848[/td][td]16777216 + <year>[/td][td]Monitors the current season[/td][/tr]
[tr][td]00C6 A854[/td][td]16777216 + <year>[/td][td]Monitors the current season[/td][/tr][/table]
The following monitor individual leagues. There appear to be two offsets for each nation. If the league has been selected as an enhanced/standard active league then the values below apply. If a league has not been selected as active then it simply appears as <year> instead.
[table][tr][th]Offset[/th][th]Enhanced/Selected[/th][th]Not Selected[/th][th]Description[/th][/tr]
[tr][td]00C6A886[/td][td]100663296 + <year>[/td][td]<year>[/td][td]Finland (1)[/td][/tr]
[tr][td]00C6A892[/td][td]234881025 + <year>[/td][td]<year>[/td][td]Finland (2)[/td][/tr]
[tr][td]00C6A8C4[/td][td]50331648 + <year>[/td][td]<year>[/td][td]North America (1)[/td][/tr]
[tr][td]00C6A8D0[/td][td]251658241 + <year>[/td][td]<year>[/td][td]North America (2)[/td][/tr]
[tr][td]00C6A902[/td][td]251658240 + <year>[/td][td]<year>[/td][td]Denmark (1)[/td][/tr]
[tr][td]00C6A90E[/td][td]234881025 + <year>[/td][td]<year>[/td][td]Denmark (2)[/td][/tr]
[tr][td]00C6A940[/td][td]251658240 + <year>[/td][td]<year>[/td][td]Czech Republic (1)[/td][/tr]
[tr][td]00C6A94C[/td][td]234881025 + <year>[/td][td]<year>[/td][td]Czech Republic (2)[/td][/tr]
[tr][td]00C6A97E[/td][td]16777216 + <year>[/td][td]<year>[/td][td]Russia (1)[/td][/tr]
[tr][td]00C6A98A[/td][td]503316481 + <year>[/td][td]<year>[/td][td]Russia (2)[/td][/tr]
[tr][td]00C6A9BC[/td][td]251658240 + <year>[/td][td]<year>[/td][td]Sweden (1)[/td][/tr]
[tr][td]00C6A9C8[/td][td]301989889 + <year>[/td][td]<year>[/td][td]Sweden (2)[/td][/tr]
[tr][td]00C6A9FA[/td][td]335544320 + <year>[/td][td]<year>[/td][td]Slovenia (1)[/td][/tr]
[tr][td]00C6AA06[/td][td]234881025 + <year>[/td][td]<year>[/td][td]Slovenia (2)[/td][/tr]
[tr][td]00C6AA38[/td][td]251658240 + <year>[/td][td]<year>[/td][td]Canada (1)[/td][/tr]
[tr][td]00C6AA44[/td][td]503316481 + <year>[/td][td]<year>[/td][td]Canada (2)[/td][/tr]
[tr][td]00C6AA76[/td][td]436207616 + <year>[/td][td]<year>[/td][td]Austria (1)[/td][/tr]
[tr][td]00C6AA82[/td][td]503316481 + <year>[/td][td]<year>[/td][td]Austria (2)[/td][/tr]
[tr][td]00C6AAB4[/td][td]201326592 + <year>[/td][td]<year>[/td][td]Slovakia (1)[/td][/tr]
[tr][td]00C6AAC0[/td][td]503316481 + <year>[/td][td]<year>[/td][td]Slovakia (2)[/td][/tr]
[tr][td]00C6AAF2[/td][td]167772160 + <year>[/td][td]<year>[/td][td]Great Britain (1)[/td][/tr]
[tr][td]00C6AAFE[/td][td]251658241 + <year>[/td][td]<year>[/td][td]Great Britain (2)[/td][/tr]
[tr][td]00C6AB30[/td][td]251658240 + <year>[/td][td]<year>[/td][td]Norway (1)[/td][/tr]
[tr][td]00C6AB3C[/td][td]234881025 + <year>[/td][td]<year>[/td][td]Norway (2)[/td][/tr]
[tr][td]00C6AB6E[/td][td]134217728 + <year>[/td][td]<year>[/td][td]Germany (1)[/td][/tr]
[tr][td]00C6AB7A[/td][td]301989889 + <year>[/td][td]<year>[/td][td]Germany (2)[/td][/tr][/table]
Prior to new game in EHM being created, the values above appear to be set initially as 67436. It may well be worth looking to see what offsets are set as 67436 in the rest of the game. Another way to look at this value is
65430 + <year> which means that it'll be 67436 before you change the start date of if you load a game in the 2006/07 season. However, I wonder whether during a saved game how many offsets there are that are set to
65430 + <year>.
It also seems that offsets near those listed above are initially set as 1900 (by initially I mean that they're 1900 when at the opening Main Menu screen). This may be something else worth considering - i.e. how do those offsets change once you start a game and/or progress through the seasons.
It seems as though there may be a relationship between the different league offsets listed above. For example, Great Britain (1)'s base value (i.e. 16772160) is ten times that of Russia (1). Russia (1) has the same base value as 00C6 A848 and A854 (see the earlier table showing the offsets that act as an overall monitor of the current season). In order to make this clearer, I've grouped each of the league offsets by what their base value is (see the table below). What I mean by base value is the value you must add to the <year> value. For example, in the table above Finland (1) is
100663296 + <year> and therefore
100663296 is the base value.
[table][tr][th]Base Value[/th][th]Leagues[/th][/tr]
[tr][td]1677216[/td][td]Russia (1), 00C6 A848 and 00C6 A854[/td][/tr]
[tr][td]50331648[/td][td]North America (1)[/td][/tr]
[tr][td]100663296[/td][td]Finland (1)[/td][/tr]
[tr][td]134217728[/td][td]Germany (1)[/td][/tr]
[tr][td]167772160[/td][td]Great Britain (1)[/td][/tr]
[tr][td]201326592[/td][td]Slovakia (1)[/td][/tr]
[tr][td]234881025[/td][td]Czech Republic (2), Denmark (2), Finland (2), Norway (2), Slovenia (2)[/td][/tr]
[tr][td]251658240[/td][td]Canada (1), Czech Republic (1), Denmark (1), Norway (1), Sweden (1)[/td][/tr]
[tr][td]251658241[/td][td]Great Britain (2), North America (2)[/td][/tr]
[tr][td]301989889[/td][td]Germany (2), Sweden (2)[/td][/tr]
[tr][td]335544320[/td][td]Slovenia (1)[/td][/tr]
[tr][td]436207616[/td][td]Austria (1)[/td][/tr]
[tr][td]503316481[/td][td]Canada (2), Russia (2), Slovakia (2)[/td][/tr][/table]
There's clearly some sort of pattern here. Although nations seem to share the same base values, there aren't any values that share (1)'s and (2)'s - they're always in separate base values.
One final note - there seem to be a lot more offsets beginning with 00C6 xxx that might have some sort of relation to the start date.
Crash / CPP Error Prevention
In order to prevent a number of non-fatal CPP errors and some crashes, it is necessary to set a number offsets to the current season. I'm not sure why it works like this because these values do not seem to monitor the current season or year - neither in a modified game nor in a vanilla/unmodified game. I suspect that although changing these offsets prevents errors/crashes, these should not really be modified. I wonder whether by modifying one of these offsets this is causing the World Championships issue (i.e. the teams in the World Championships are wrong).
Interestingly, it would seem that all crashes (except the 1st October of season 1 crash) only affect the EHCL, Russia and Finland. All CPP errors also relate to just the EHCL, Russia and Finland.
So when you edit the start date in order to create a new game, ensure that you also edit the offsets in the table below so as to avoid any CPP errors or crashes.
If you exit EHM before reaching the 1st October of the first season then these offsets must again be set to the start year using ArtMoney when at the Main Menu before you click on the Load Game button.
[table][tr][th]Offset[/th][th]Value[/th][th]Description[/th][/tr]
[tr][td]0091 6ED7[/td][td]<year>[/td][td]Prevents a crash on 12th February of season 1[/td][/tr]
[tr][td]0091 96D7[/td][td]<year>[/td][td]Prevents a crash on 1st October of season 1[/td][/tr]
[tr][td]0092 0612[/td][td]<year>[/td][td]Prevents a crash on 28th February of season 1[/td][/tr]
[tr][td]0092 0DD5[/td][td]<year>[/td][td]Prevents a Finland CPP error[/td][/tr]
[tr][td]0092 13BF[/td][td]<year>[/td][td]Prevents a crash when creating a new game with Finland selected[/td][/tr]
[tr][td]0092 5F83[/td][td]<year>[/td][td]Prevents a crash on 29th June of season 1[/td][/tr]
[tr][td]0094 4324[/td][td]<year>[/td][td]Prevents a crash on 25th May of season 1[/td][/tr]
[tr][td]0094 50C7[/td][td]<year>[/td][td]Prevents a Russia CPP error[/td][/tr]
[tr][td]0094 5364[/td][td]<year>[/td][td]Prevents a Russia CPP error[/td][/tr][/table]
Other Possibly Related Offsets
The following offsets seem to relate to the start year and/or tracking the season. I haven't discovered the function of these offsets and they don't seem essential in changing the start year.
[table][tr][th]Offset[/th][th]Value[/th][th]Notes[/th][/tr]
[tr][td]00C6 9BF6[/td][td]<year>[/td][td]This offset is located very close to the 'overall season monitoring offset' and league/nation offsets mentioned in the tables above.[/td][/tr]
[tr][td]00C6 9C06[/td][td]<year>[/td][td]This offset is located very close to the 'overall season monitoring offset' and league/nation offsets mentioned in the tables above.[/td][/tr]
[tr][td]0130 1406[/td][td]<year>[/td][td]Sometimes there are other offsets beginning with 0130 14xx which appear to be set as <year> but it varies by game.[/td][/tr]
[tr][td]0130 141E[/td][td]<year> / <previous year>[/td][td]I'm not sure if this really does relate to the start year. However it does appear to frequently appear as the previous year and
sometimes briefly changes to the current year.[/td][/tr][/table]