Professional Documents
Culture Documents
README
README
-----
I strongly suggest making a backup copy of pes6.exe before doing anything, just
in case.
Tested with Noche de Lobo 2013-2014 option file but hopefully should work for
any OF that crashes the ML at end of season.
Don't trust them? Good for you, I wouldn't either. For that reason I've
included the source code of the patch, any programmer can verify and compile
it themselves.
Alternatively, if you know how to use a hex editor you can apply the patch
manually. Here are very quick instructions on how to do that with XVI32;
TECHNICAL DETAILS
-----------------
This patch fixes the ML crash but I still don't have much of an idea about what
exactly in the option file causes it. Neither do I have the time or motivation
to investigate further, I just wanted to be able to play Master League with a
2013-2014 OF and job done there as far as I'm concerned. So these technical
details are for anyone who might want to investigate further, or who is just
interested.
This is not a tutorial. I assume the reader knows how to use a debugger and
understands x86 assembler. I used Win7 32-bit and OllyDbg 1.10.
Ok, so you can play PES6 normally up until it's just about to crash (when you
return to Master League after the last game of the season). At this point you
Alt-Enter to put the game into windowed mode, run your favourite debugger and
attach it to the pes6.exe process. Then go back to PES6 and continue on until
it crashes.
ESI is zero so it's a standard null pointer reference error. Hmmm...what to do?
Well looking at the destination of that branch just before the crash point it's
going to the end of the function and returning 3. How about we just try that?
Setting the PC to 00688AAE and continuing causes another crash at the same
place. Damn. Well I wonder how many times it's going to do this, let's try the
same thing again...Bingo! The game continues and you can now go on to the next
season.
Remove 4 bytes of alignment padding following the RETN to match the 4 bytes we
added above. And that's it.
So what is this procedure actually doing? I don't know but here's a guess.
Tracing through the code it seems to be looping through teams and doing some
small calculation with each team that gives a result of 0 to 3....what happens
once per season that sounds like that? The only thing I can think of is League
Rating (clubs are rated 4 times per season, leagues are rated only once). That
is a complete guess though and probably wrong. Perhaps someone cleverer than me
can work it out :)
THANKS
------
To all the PES6 editing community, without whom this great game would have died
a long time ago. You guys rock!