[TUTORIAL] How to patch your game CM0102 ? Nick's CM0102Patcher , Tapani Patcher , Saturn , John Locke , OllyDbg

Moderator: Technical Support Team

Locked
User avatar
Xeno
Patch Team
Posts: 1017
Joined: Wed Nov 25, 2020 5:01 am
Has thanked: 206 times
Been thanked: 313 times

[TUTORIAL] How to patch your game CM0102 ? Nick's CM0102Patcher , Tapani Patcher , Saturn , John Locke , OllyDbg

Post by Xeno »

This tutorial is about guidance for which ways to use for patching your game 3.9.68 version CM0102 exe and how to do it .
Below methods are the ways for patching and further after you complete all first 4 steps in [TUTORIAL] How to install and run the game Championship Manager CM0102 ? >>> viewtopic.php?f=85&t=3571 .
I will try to write some key points-advantages-warnings before patching.
Attention! It is always your own risk if you decide patching.

Warning-1: As first warning , it is suggested to backup your exe, your saved game and your Data folder before patching. You can rename your exe and you can copy your Data folder and save games to another location.
Warning-2: All patcher tools also-mostly patch/change the database in Data folder inside your CM folder during patching your exe as some patches need database patching. You also need to keep the database which you want to patch in your Data folder before patching your CM exe.
Warning-3: It is suggested to start new game after you patch your exe although some patches are applicable to saved games. Your shall start new game with Database which is compatible to your newly patched exe.
Warning-4: You shall use your same patched exe always with the saved game which you started and saved with this patched exe, unless the patches you applied are specified as save game compatible.
Warning-5: Remember that some special-patched Data updates need patched cm0102.exe . You always need to check that you are using compatible/applicable exe with right database.
Warning-6: Use your CM0102 exe always after setting properties by right clicking on your exe as 'Run as Admin' and compatibility mode as Windows XP (Service Pack 3) .
If you change the name of your exe, you need to do these same settings again.
Most computers will run the game in Windows XP (Service Pack 3) as compatibility mode , but if you face any issue with WinXP SP3 compatibility mode, you can try other compatibility modes such as 'Windows 98 / ME' . If you forget this, the game may not load or may show error later during the game.
- Windows 10/11 users: suggested to set the compatibility mode as Windows XP (Service Pack 3) .
- Windows 7/8 users: suggested to set the compatibility mode as Windows 98 / ME .
- Windows XP users: suggested to set the compatibility mode as Windows 98 / ME .

This patching methods list does not contain any advice and it is written in an order as a blend of applicable order & from basic to customized and according to your patching decision making steps.
Attention! Before patching your game, you shall complete all first 4 steps in [TUTORIAL] How to install and run the game Championship Manager CM0102 ? >>> viewtopic.php?f=85&t=3571 .
Attention! If you face any technical issue during or after patching, you can check this [TUTORIAL] CM0102 All known bugs , v3.9.68 cpp errors , common game FAQs , solutions and fix ? >>> viewtopic.php?f=85&t=3573 .
If you can not find the solution there , please submit the problem here >>> viewtopic.php?f=43&t=292 .

*** Patching the game by using Nick's CM0102Patcher . ( easy patching for creating customized exe and/or for adding extra new patches from tool patches collection ). viewtopic.php?p=26689#p26689

*** Patching the game by using Tapani Patcher . ( for creating patched exe which contains Tapani and some other changes ). viewtopic.php?p=26690#p26690

*** Patching the game by using Saturn version patched exe's+patched Database and patches collections . ( patched exe's+patched Databases with specific start years ). viewtopic.php?p=26691#p26691

*** Patching the game by Applying a specific patch by yourself via tools . ( such as Nick+Co's CM0102Patcher or John Locke's JLCollection ( JLPatch or Flex2/Patch Installer ) ). viewtopic.php?p=26692#p26692

*** Patching the game by Applying an offset change/patch by yourself via OllyDbg . viewtopic.php?p=26693#p26693
* [TUTORIAL] How to install and run the game CM0102?> viewtopic.php?f=85&t=3571
* [TUTORIAL] How to patch your game? Nick's CM0102Patcher,Tapani Patcher,Saturn,John Locke,OllyDbg> viewtopic.php?f=85&t=2956
User avatar
Xeno
Patch Team
Posts: 1017
Joined: Wed Nov 25, 2020 5:01 am
Has thanked: 206 times
Been thanked: 313 times

[TUTORIAL] Patching the game > by using Nick's CM0102Patcher

Post by Xeno »

You can find latest version [PATCH] Nick+Co CM0102Patcher and installation instructions here in downloads section: viewtopic.php?p=5214#p5214
You can find latest changes and all patches for Nick+Co's CM0102Patcher in this thread : viewtopic.php?p=9241#p9241

*What does this Nick+Co CM0102Patcher do?
If you want to create your customized exe and/or to add extra patches , this is Nick+Co's CM0102Patcher for 3.9.68 ( and Tapani , Saturn , any other exe ) which applies many of the useful Tapani Patcher features and most of Saturn version exe patch collections , but is more configurable and contains some of the new patches.
You do not need to match the Nick+Co's CM0102Patcher to a specified Database. Instead, you simply run the patcher and choose from a number of options in the menu in terms of what you'd like to modify within your own version of Championship Manager 2001/2002. In addition to a huge array of options to choose from in the patcher on its landing page, Nick+Co has also introduced a number of tools that can be used within the patcher and has also introduced a large variety of miscellaneous patches that can also be enabled!
Nick+Co's CM0102Patcher has an effective suggestion&checking process itself about which patches you can apply or can not into your exe.

Attention! Nick's CM0102Patcher also patches/changes the database in Data folder inside your CM folder during patching your exe as some patches need database patching. You also need to keep the database which you want to patch in your Data folder.

Nick+Co's CM0102Patcher
Description
Tool you need
Things you need to know
Exe you need
Database you need
Advantage
Key point
Adding more patches after applied?
Explanation
For customized patching , by applying your own selections from many of the useful Tapani Patcher features and most of Saturn version exe patch collections , but is more configurable and contains some of the new patches.
Nick+Co's CM0102Patcher latest version.
You need to know which changes are doing what, if it is compatible with your exe or not. Some types of patches in tool changes/adjusts Database automatically. Tool has a patch suggestion and auto-checking process.
Clean 3.9.68 version exe or any kind of patched exe.
3.9.68 database or Data Updates by Update Team or 3.9.68 style any Database. Keep your Database which you want to play in Data folder before using Nick+Co's CM0102Patcher.
Easy for customizing your exe and/or adding extra patches from a pool of all new , previous and updated patches according to your own choice. Also contains many other extra tools inside for your usage.
You need to know which patches are doing and effecting what . During selecting and configuring the patches which will be applied, you can select a non-compatible patch combination for your exe and Database.
YES, you can still apply additional patches by using Nick+Co's CM0102Patcher or John Locke's JLCollection (JLPatch or Flex2/Patch Installer) or by yourself, but can not use Tapani Patcher to patch your exe again.

Nick+Co's CM0102Patcher has an effective suggestion&checking process itself about which patches you can apply or can not into your exe:
Patch option Tick status
Ticked
No tick
Ticked
No tick
Grey status
Not grey
Not grey
Grey
Grey
Description
Tool will install selected patch each time when you apply.
Tool will uninstall unselected patch each time when you apply.
Selected patch is already installed partially or differently before, tool will not allow to uninstall it as uninstallation may break something else. Uninstalling this patch is not compatible with your exe.
Grey patch can not be installed as patch in the tool may break something else as another patch is already installed which effects this patch. Installing this patch is not compatible with your exe.
* [TUTORIAL] How to install and run the game CM0102?> viewtopic.php?f=85&t=3571
* [TUTORIAL] How to patch your game? Nick's CM0102Patcher,Tapani Patcher,Saturn,John Locke,OllyDbg> viewtopic.php?f=85&t=2956
User avatar
Xeno
Patch Team
Posts: 1017
Joined: Wed Nov 25, 2020 5:01 am
Has thanked: 206 times
Been thanked: 313 times

[TUTORIAL] Patching the game > by using Tapani Patcher

Post by Xeno »

You can find latest verison [PATCH] Tapani Patcher (v2.22) which contains all Tapani patches and and installation instructions here: viewtopic.php?p=1158#p1158
You can find all Tapani Patcher versions and installation instructions here in downloads section. viewforum.php?f=72

Tapani designed and changed many things in the game, mostly bug fixes and other small improvements. An effort has been made to keep the core game unchanged. A full list of changes can be found for each version in related download section.
You can download the Tapani Patcher, select options you want, apply and then can still customize it accordingly to your own preferences using Nick+Co's CM0102Patcher or patching by yourself .

*What does this Tapani Patcher (v2.22) patcher do?
It changes many things in the game, mostly bugfixes and other small improvements. An effort has been made to keep the core game unchanged. Contains New regen code; regenerated players are now inbetween regens and newgens.

The highlight changes of the Tapani Patcher (v2.22) are:
► Show Spoiler
Attention! Tapani Patcher also patches/changes the database in Data folder inside your CM folder during patching your exe as some patches need database patching. You also need to keep the database which you want to patch in your Data folder.

Tapani Patcher
Description
Tool you need
Things you need to know
Exe you need
Database you need
Advantage
Key point
Adding more patches after applied?
Explanation
For patching exe which contains Tapani changes, mostly bug fixes and other small improvements. Start year is working without problem for years 2000, 2004, 2008, 2012, 2016, 2020, etc.
Tapani Patcher (v2.22) is latest version, but you can use also earlier versions with some missing changes.
You can only patch clean 3.9.68 cm0102.exe . If you change start year with Tapani Patcher , Database files will be changed/adjusted automatically.
Clean 3.9.68 version exe
3.9.68 database or any Data Updates by Update Team or 3.9.68 style any Database. Keep your Database which you want to play in Data folder before using Tapani Patcher.
Easy patching which contains Tapani changes, mostly bug fixes and other small improvements. You can use it with 3.9.68 database or any Data Updates by Update Team or 3.9.68 style any Database.
Start year is working without problem for years 2000, 2004, 2008, …, 2016,2020, etc. Other start years can cause some issues about international competitions.
YES, you can still apply additional patches by using Nick+Co's CM0102Patcher or John Locke's JLCollection (JLPatch or Flex2/Patch Installer) or by yourself after applying Tapani Patcher.
* [TUTORIAL] How to install and run the game CM0102?> viewtopic.php?f=85&t=3571
* [TUTORIAL] How to patch your game? Nick's CM0102Patcher,Tapani Patcher,Saturn,John Locke,OllyDbg> viewtopic.php?f=85&t=2956
User avatar
Xeno
Patch Team
Posts: 1017
Joined: Wed Nov 25, 2020 5:01 am
Has thanked: 206 times
Been thanked: 313 times

[TUTORIAL] Patching the game > by using Saturn versions patched exe+patched Database

Post by Xeno »

You can find latest version [PATCH] Saturn Patch (v9) which contains all cumulative Saturn patches on Tapani Patcher (v2.22) and installation instructions here: viewtopic.php?p=1182#p1182
You can find all Saturn versions and installation instructions here in downloads section. viewforum.php?f=72

Saturn designed these to make the game as realistic as possible based on its start year and was created only to be used with related patched Database in the download package with specific start year in exe. A full list of changes can be found for each version in related download section.
This is a series of 9 cumulative versions of already patched exes ( and its related specific patched Databases) by Saturn that were built on the the Tapani Patcher 2.22 version and previous cumulative releases of Saturn version patched exe's.
You can download the package for related Saturn version patched exe+patched Database and then can still customize it accordingly to your own preferences by using Nick+Co's CM0102Patcher or patching by yourself except start year changing.

*What does Saturn versions patched exe+patched Database do?
This is a patch which combines the most recent release from the Update team with the latest discoveries from the Patches forum. It incorporates Tapani Patcher (v2.22) patch, the latest renaming patch, and other smaller things from the Patches forum like the restructuring of certain leagues. Contains boosted version of Tapani's New regen code ; regenerated players are now inbetween regens and newgens, boosted.
In short, it's a patch that is designed to make the game as realistic as possible for fixed-specific start years and its related patched Database.

Here is the complete list of changes from Tapani Patcher (v2.22) to Saturn+v9 (known issues included at the end):
► Show Spoiler

[TUTORIAL] Converting a database to be compatible with Saturn Patch (v9). Patch database files tutorial : viewtopic.php?p=9253#p9253
► Show Spoiler

Here is where all known bugs, errors and common FAQs are listed.
► Show Spoiler
Saturn versions patched exe+patched Database
Description
Tool you need
Things you need to know
Exe you need
Database you need
Advantage
Key point
Adding more patches after applied?
Explanation
Already patched exe's based on start years which is built on Tapani Patcher (v2.22) and patches collection of additional updated changes, updated league structures, bug fixes and other small improvements.
Saturn Patch (v9) is latest version, but also you can use earlier versions with some missing changes.
All of the 9 versions of Saturn patched exe's have its own patched Database and specific start year. Not compatible with 3.9.68 database or any Data Updates by Update Team or 3.9.68 style any Database.
Related Saturn version patched exe, you need to download from the link in this post. Saturn Patch (v9) is latest version.
Specific patched Database which belongs to related Saturn version patched exe, , you need to download from the link in this post. Saturn version patched exe and its patched Database are in same download package.
Ready to play with patched exe&Database with most of the Tapani and Saturn patches and improvements.
You can only use Saturn patched exe with related patched Database and fixed-specific start year. Database structure changing and start year changing is for advanced users as it is very complex.
YES, you can still apply additional patches (except start year) by using Nick+Co's CM0102Patcher or John Locke's JLCollection (JLPatch or Flex2/Patch Installer) or by yourself, but can not use Tapani Patcher.
* [TUTORIAL] How to install and run the game CM0102?> viewtopic.php?f=85&t=3571
* [TUTORIAL] How to patch your game? Nick's CM0102Patcher,Tapani Patcher,Saturn,John Locke,OllyDbg> viewtopic.php?f=85&t=2956
User avatar
Xeno
Patch Team
Posts: 1017
Joined: Wed Nov 25, 2020 5:01 am
Has thanked: 206 times
Been thanked: 313 times

[TUTORIAL] Patching the game > Applying a specific patch via tools

Post by Xeno »

When there is a patch form to apply a change in exe like below example and then you decide to apply it after checking if it is compatible with your exe&Database or not :

Process:
1* Open Notepad in computer and copy patch form into new Notepad file.
2* Save this file with .patch extension ( you can also change file extension as .patch manually after saving file )
3* Then apply it by using Nick+Co's CM0102Patcher (Tools > Apply Patchfile...) or by using John Locke's JLCollection ( JLPatch or Flex2/Patch Installer )
Nick+Co's CM0102Patcher >>> viewtopic.php?p=5214#p5214
John Locke's JLCollection >>> viewtopic.php?p=28397#p28397

You can follow the offsets thread for more offsets and offset changes with patch forms that you can apply and use. viewtopic.php?f=35&t=1540

Example: Human manager attributes. If you apply one of the below patch forms , you will see "your" attributes in the game. Patch form-1 and Patch form-2 are same but formats are a little bit different.

* Patch form-1:

Code: Select all

0x474a9a 0x7c 0xeb
0x474aa2 0x7d 0xeb
0x474abd 0x74 0x90
0x474abe 0x1d 0x90
0x474aca 0x74 0x90
0x474acb 0x10 0x90
0x474ace 0x7c 0x90
0x474acf 0xc 0x90
0x474c03 0x7d 0x90
0x474c04 0x8 0x90
0x47a670 0xf 0x90
0x47a671 0x8c 0x90
0x47a672 0x7c 0x90
0x47a673 0x26 0x90
0x47a674 0x0 0x90
0x47a675 0x0 0x90
0x47de27 0xf 0x90
0x47de28 0x8d 0x90
0x47de29 0xec 0x90
0x47de2a 0x78 0x90
0x47de2b 0x0 0x90
0x47de2c 0x0 0x90
* Patch form-2:

Code: Select all

00474A9A: 7C EB
00474AA2: 7D EB
00474ABD: 74 90
00474ABE: 1D 90
00474ACA: 74 90
00474ACB: 10 90
00474ACE: 7C 90
00474ACF: 0C 90
00474C03: 7D 90
00474C04: 08 90
0047A670: 0F 90
0047A671: 8C 90
0047A672: 7C 90
0047A673: 26 90
0047A674: 00 90
0047A675: 00 90
0047DE27: 0F 90
0047DE28: 8D 90
0047DE29: EC 90
0047DE2A: 78 90
0047DE2B: 00 90
0047DE2C: 00 90
You can follow the offsets thread for more offsets and offset changes with patch forms that you can apply and use. viewtopic.php?f=35&t=1540

Applying a specific patch via tools
Description
Tool you need
Things you need to know
Exe you need
Database you need
Advantage
Key point
Adding more patches after applied?
Explanation
Applying a specific patch by yourself via tools such as Nick+Co's CM0102Patcher (Tools > Apply Patchfile...) or John Locke's JLCollection ( JLPatch or Flex2/Patch Installer ).
Nick+Co's CM0102Patcher or John Locke's JLCollection (JLPatch or Flex2/Patch Installer).
You need to know which patches are doing what and if it is compatible with your exe or not. If you apply some types of patches , you also need to change/adjust your Database.
Your own exe or any exe.
Your own Database or any Database.
You can customize your exe and/or add/create extra patches from a pool of all previous and new patches until today according to your choice without waiting related patch release in any patcher tool. Easy patching.
You need to know which patches are doing and effecting what and if it is compatible with your exe or not. If you apply some types of patches , you also need to change/adjust your Database. You need to be careful.
YES, you can still apply additional patches by using Nick+Co's CM0102Patcher or John Locke's JLCollection (JLPatch or Flex2/Patch Installer) or by yourself, but can not use Tapani Patcher to patch your exe again.
* [TUTORIAL] How to install and run the game CM0102?> viewtopic.php?f=85&t=3571
* [TUTORIAL] How to patch your game? Nick's CM0102Patcher,Tapani Patcher,Saturn,John Locke,OllyDbg> viewtopic.php?f=85&t=2956
User avatar
Xeno
Patch Team
Posts: 1017
Joined: Wed Nov 25, 2020 5:01 am
Has thanked: 206 times
Been thanked: 313 times

[TUTORIAL] Patching the game > Applying an offset change/patch via OllyDbg

Post by Xeno »

Here is a simple (I hope!) tutorial on how to make some basic offset change/patch via OllyDbg into your CM exe file.

When there is an offset change to apply in exe like below examples ( and you dont have the patch form of related offset change in anywehere ) and then you decide to apply it after checking if it is compatible with your exe&Database or not :

Example-1: Human manager attributes. If you apply below offset changes, you will see "your" attributes in the game :

Code: Select all

00874A9A JL SHORT 00874AB9 >> JMP SHORT 00874AB9
00874AA2 JGE SHORT 00874AB9 >> JMP SHORT 00874AB9
00874ABD Fill with NOP
00874ACA Fill with NOP
00874ACE Fill with NOP
00874C03 Fill with NOP
0087A670 Fill with NOP
0087DE27 Fill with NOP 
Example-2: Changing foreign player restrictions in England Premier League. If you apply below offset changes, there will be no foreign player limit and can see if player is foreign in squad screen in the game ( applicable to 3.9.68 and Tapani 2.21/2.22/Saturn and other exe if this line exists) :

Code: Select all

00579C63 MOV BYTE PTR DS:[EDX+5],3
Change it like below so that no foreign limit in England Premier League:
00579C63 MOV BYTE PTR DS:[EDX+5],32
In some posts , offset change information can be like below. It explains the same offset change information above, but in a different style. It just says you to change value '3' to '32'. What you need to do in OllyDbg is same as above offset change information.

Code: Select all

00579C63 MOV BYTE PTR DS:[EDX+5],3  -------> 32     Change it like this so that no foreign limit in England Premier League
Follow below steps to apply offset changes:
1* Firstly, you need to download OllyDbg from the following link: http://www.ollydbg.de/download.htm
2* Open your OllyDbg program and open your CM exe. This is normally located in your "C:\Program Files (x86)\Championship Manager 01-02" folder unless you used different location.
3* Next, right click anywhere in the OllyDbg and press Ctrl + G, entering your new found offset adress. In above example-1 , offset adresses are 00874A9A and other similar numbers on the left side in the offset change information. This will take you to the exact location of the offset line in the executable .
4* Now , you will change this code line simply by double clicking on the line and editing as same as offset change information line .Then click 'Assemble', followed by 'Cancel'.
  • If offset change information says ( like 'JL SHORT 00874AB9 >> JMP SHORT 00874AB9' in example-1, or like ' change code line from 'MOV BYTE PTR DS:[EDX+5],3' to MOV BYTE PTR DS:[EDX+5],32' in example-2 ), just double click on the related offset line and edit as same as requested offset change information line , then click 'Assemble', followed by 'Cancel'.
  • If offset change information says 'change value 3 to 32' in same line like example-2, just double click on the related line and just change value by keeping the other part of the line as same, then click 'Assemble', followed by 'Cancel'.
  • If you edit line as same as offset change information requests ( like example-2, as MOV BYTE PTR DS:[EDX+5],32 ) but you can not click assemble, just add '0' after '+' ( like MOV BYTE PTR DS:[EDX+05],32 ) and then try to click 'Assemble', followed by 'Cancel'.
  • If offset change information says 'fill with NOP' or just says 'NOP' for an offset change line like example-1, just double click on the related line and write NOP , then click 'Assemble', followed by 'Cancel'.
5* Any changes will be highlighted in red. Compare this red part with the line in the offset change information, it shall be same.
6* You need to go step-3 and do the same steps until you change code for all the lines in the offset change information.
7* After you finish editing all the necessary offset lines, right click on the main panel, scroll down to 'Copy to executable', followed by 'All Modifications'. Then choose 'Copy all'.
8* Now, click the 'X' to close the new window that appears, and a warning message appears asking you to save the exe with changes done.
9* Click yes, and give your exe a different name to your current exe. (This is in case you have made any mistakes and you can revert back to before you made any changes)
10* It is time to use and test your newly patched exe. Remember to use your CM0102 exe always after setting properties by right clicking on your exe as 'Run as Admin' and compatibility mode as WinXP Pack3 . Most computers will run the game in WinXP Pack3 compatibility mode , but if you face any issue with WinXP compatibility mode, you can try other compatibility modes such as 'Windows 98 / ME' . If you forget this, the game may not load or show error later during the game.
11* Start a new game through your new exe file and check if change is applied correctly in the game.
  • If you complete example-1, check if you can see your human manager attributes in the game.
  • If you complete example-2, check if foreign player limit is changed from 3 to 50 for England Premier League in the game.
You can use the above steps to make many changes to the exe, the above was to show how a change can be made. There is many great changes that you can do to make your game easier, harder or just more fun!
You can follow the offsets thread for more offsets and offset changes that you can apply and use. viewtopic.php?f=35&t=1540

Applying an offset change/patch via OllyDbg
Description
Tool you need
Things you need to know
Exe you need
Database you need
Advantage
Key point
Adding more patches after applied?
Explanation
Applying an offset change/patch via OllyDbg.
OllyDbg.
You need to know which changes are doing what, if it is compatible with your exe or not. If you apply some types of offset changes, you also need to change/adjust your Database. Not efficient for big changes.
Your own exe or any exe.
Your own Database or any Database.
You can customize your exe and/or add/create extra patches from a pool of all previous and new patches until today according to your choice without waiting related patch release in any patcher tool.
You need to know which patches are doing and effecting what and if it is compatible with your exe or not. If you apply some types of patches , you also need to change/adjust your Database. You need to be careful.
YES, you can still apply additional patches by using Nick+Co's CM0102Patcher or John Locke's JLCollection (JLPatch or Flex2/Patch Installer) or by yourself, but can not use Tapani Patcher to patch your exe again.
* [TUTORIAL] How to install and run the game CM0102?> viewtopic.php?f=85&t=3571
* [TUTORIAL] How to patch your game? Nick's CM0102Patcher,Tapani Patcher,Saturn,John Locke,OllyDbg> viewtopic.php?f=85&t=2956
Moved from Patches to Tutorials on Tue Jun 08, 2021 11:48 am by Xeno

Locked