Page 1 of 2 12 LastLast
Results 1 to 25 of 48

Thread: Patching Wales

  1. #1

    Join Date
    09-03-12
    Location
    London
    Posts
    931

    Patching Wales

    Wales is the most neglected league when it comes to patching, in part because it gets blasted out of existence for the Northern Premier League Premier in the Tapani patch. However, with Nick+Co's patcher, you can keep Wales in the game.

    If you actually play it with the original databases, it has several limitations but it can be as fun as any other lower level European league. What's missing from the league? Foreigner restrictions? If you can meet the work permit rules, you can sign unlimited non-EU players. Promotion and relegation? Welsh Premier used 1-up 1-down and a single table until they changed to the SPL 12-team two-phase season. Patching it might make it more useful for league patching too. Anything else to add?

  2. #2

    Join Date
    03-03-12
    Posts
    27,016
    I'd be interested in giving Wales a go in a data update with Saturn/Nick patch if it's possible

    I knew feck all about the league these days and teams/players etc but fir sure I'll keep an eye on this thread

  3. #3

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    Well, the issue with the league now is that its whole structure has changed. It's now a 12-team, SPL-style split league. Everybody plays each other twice and then the league splits into two parts. Top 6 play twice more, bottom six play twice more. I'm more interested in trying to get the league to work how it should've worked out of the box.

    No point in trying to fix it in Saturn's patches, as it is replaced by the NPL/Conference North.

  4. #4

    Join Date
    18-07-15
    Posts
    795
    If you want to add foreign restrictions to Wales, you could try:

    Code:
    0050F15D: 07 02
    0023C341: 5F 8B
    0023C342: C2 7C
    0023C343: 08 E4
    0023C344: 00 0C
    0023C345: 90 C6
    0023C346: 90 47
    0023C347: 90 05
    0023C348: 90 03
    0023C349: 90 5F
    0023C34A: 90 C2
    0023C34B: 90 08
    0023C34C: 90 00
    Not tested - but should work.
    EDIT: Didn't work - so the above changed to something that should
    Last edited by Nick+Co; 21-04-20 at 10:25 AM.

  5. #5

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    It does create player restrictions, currently set to no player restrictions. Where should I be looking in Olly so I can change the restrictions to, say, 3 non-EU players?

  6. #6

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    Back in the V7/V8 Saturn patch days, it seems that giovanisantana29 managed to crack the relegation to the non-league issue that has stumped people by reusing code from the Polish League and applying it to South Korea.

    I went through this and changed the references in the first block from Korea to Wales. However, when I hunted down the Wales block of main code, I couldn't work out how to call then procedure I'd created in the blank block. Complete mess. This, if it could be solved, would create the one-up, one-down and make Wales not only eminently more playable but also eminently more moddable.


    Quote Originally Posted by giovanisantana29 View Post
    I went until 2070: no errors.

    Here is a way to have relegation in the Korean league:
    Spoiler!

  7. #7

    Join Date
    18-07-15
    Posts
    795
    So try this to a vanilla (i.e. not Tapani or Saturn) 3.9.68 exe: https://nic.hopto.org/open/cm0102/WalesPatch.patch

    * That patch includes Foreign Restrictions (which work this time - post above edited with new patch).
    * Relegation and 3 relegation places

  8. The Following User Says Thank You to Nick+Co For This Useful Post:


  9. #8

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    The foreign restrictions work perfectly, like a charm in fact.

    The promotion/relegation aren't working. I've made tweaks in the past to these things between leagues and they're usually savegame compatible. However, these are not. I started a new game with Wales only (for speed), still no relegation places. I started everything on foreground and all of the Korean leagues and cups errored and the initialisation process bombed out. I went to rerun it but now I can't, I'm getting an error 399 which I don't even know what that is!

    On Giovani's thing, did you change the relevant 9CF codes from K-League and Korean Amateur League to Welsh Premier and Welsh Lower Division? Also, did the relegation JMP code go in the Wales league section (right at the end of the code, I couldn't make head nor tail of it)?

  10. #9

    Join Date
    18-07-15
    Posts
    795
    if you're getting errors in Korean leagues etc you did not attempt to apply this patch to a vanilla (i.e. unpatched) 3.9.68 exe (with standard Data).

    I assure you the patch works - relegation and all. (Although I didn't implement promotion - because where to? )

    I've made tweaks in the past to these things between leagues and they're usually savegame compatible. However, these are not.
    Well clearly you must be the real expert here then. I'll bow out now and leave the rest of the Welsh patching to you.

    (I didn't do anything about "Giovani's thing" - it's really not necessary in this instance to make things work)

  11. #10

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    BOLLOCKS. I messed up. I shall try again.

  12. #11

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    I was patching the wrong bloody .exe. I thought I was doing the clean one.

    All is utterly perfect thus far. This is an eminently workable and patchable Wales. Thank you for your kind help, Nick.

  13. #12

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    OK, so now you, Nick + Co, you've made my patching dreams come true. 3.9.60 Data, all leagues turned on (10 leagues on foreground, rest on background). Cardiff, Wrexham, Swansea and Newport in the Welsh Premier. Turned the Welsh Premier Cup off with the Big On/Off Switch (although it does work and proceeds without the teams in England, it adds loads of unnecessary games).

    Trying to keep Barry in the Champions League as I write this.

    All working, Nick, this needs to go in your Misc Patch collection.

  14. #13

    Join Date
    18-07-15
    Posts
    795
    Patch to turn off the Welsh Premier Cup (so you don't need Flex):
    Code:
    00438672: 74 EB
    Might add to the Welsh Patch above and put in my patcher as a Misc patch for the future

  15. #14

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    Quote Originally Posted by Nick+Co View Post
    Patch to turn off the Welsh Premier Cup (so you don't need Flex):
    Code:
    00438672: 74 EB
    Might add to the Welsh Patch above and put in my patcher as a Misc patch for the future
    It's a perfectly valid thing for a Welsh league to have. However, for what I want, where you're dumping the Welsh teams in England back into Wales, it makes no sense, which is why I did it in Flex.

    EDIT: In saying that, if you want to use Wales to create a new league patch, you probably want to disable it. It'd look weird having an Israeli Premier Cup with Cardiff and Swansea in it.

  16. #15

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    I've tried a few times with this now. All goes swimmingly until it crashes at the end of the first season. Not sure why, no popup, just a straight crash out.

  17. #16

    Join Date
    04-05-20
    Posts
    89
    You could try running the game through Olly (open the exe in Olly, then click the blue forward button) - then when the game crashes I think (it's been a while since I've done this) it will show you the instruction that was being executed at the point of the crash. The contents of the registers should also be available.

  18. #17

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    Quote Originally Posted by John Locke View Post
    You could try running the game through Olly (open the exe in Olly, then click the blue forward button) - then when the game crashes I think (it's been a while since I've done this) it will show you the instruction that was being executed at the point of the crash. The contents of the registers should also be available.
    I'll give it a go. Wondering if it could be due to hardcoding of the Welsh teams in the English leagues though.

  19. #18

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    Quote Originally Posted by John Locke View Post
    You could try running the game through Olly (open the exe in Olly, then click the blue forward button) - then when the game crashes I think (it's been a while since I've done this) it will show you the instruction that was being executed at the point of the crash. The contents of the registers should also be available.
    Registers:
    Code:
    CPU - main thread, module cm0102
    
    EAX 00000000
    ECX 0019FB3C
    EDX 0019ECEC
    EBX 00000000
    ESP 0019EFB0
    EBP 000022F2
    ESI 0C698F5A
    EDI 00000000
    EIP 0069B477 cm0102.0069B477
    
    C 0  ES 002B 32bit 0(FFFFFFFF)
    P 1  CS 0023 32bit 0(FFFFFFFF)
    A 0  SS 002B 32bit 0(FFFFFFFF)
    Z 0  DS 002B 32bit 0(FFFFFFFF)
    S 0  FS 0053 32bit 3DE000(FFF)
    T 0  GS 002B 32bit 0(FFFFFFFF)
    D 0
    O 0  LastErr 00000000 ERROR_SUCCESS
    EFL 00010206 (NO,NB,NE,A,NS,PE,GE,G)
    
    ST0 empty 0.0
    ST1 empty 0.0
    ST2 empty 0.0
    ST3 empty 256.25000000000000000
    ST4 empty 0.9707317073170731447
    ST5 empty 204.99999999999997160
    ST6 empty 1.0149999999999999020
    ST7 empty 467.91499999999996360
                   3 2 1 0      E S P U O Z D I
    FST 0023  Cond 0 0 0 0  Err 0 0 1 0 0 0 1 1 (GT)
    FCW 027F  Prec NEAR,53  Mask    1 1 1 1 1 1
    Last cmnd 0000:00945659
    
    XMM0 00000000 00000000 00000000 00000000
    XMM1 00000000 00000000 00000000 00000000
    XMM2 00000000 00000000 00000000 00000000
    XMM3 00000000 00000000 00000000 00000000
    XMM4 00000000 00000000 00000000 00000000
    XMM5 00000000 00000000 00000000 00000000
    XMM6 01000201 00000000 00000100 000D2800
    XMM7 00010000 00010020 00270000 07000000
                                    P U O Z D I
    MXCSR 00001FA0  FZ 0 DZ 0  Err  1 0 0 0 0 0
                    Rnd NEAR   Mask 1 1 1 1 1 1
    The module it craps out on starts on 0069B360 but the offending line is:
    0069B477 |. 807F 04 19 CMP BYTE PTR DS:[EDI+4],19

  20. #19

    Join Date
    04-05-20
    Posts
    89
    Quote Originally Posted by faz44 View Post
    Registers:
    Code:
    CPU - main thread, module cm0102
    
    EAX 00000000
    ECX 0019FB3C
    EDX 0019ECEC
    EBX 00000000
    ESP 0019EFB0
    EBP 000022F2
    ESI 0C698F5A
    EDI 00000000
    EIP 0069B477 cm0102.0069B477
    
    C 0  ES 002B 32bit 0(FFFFFFFF)
    P 1  CS 0023 32bit 0(FFFFFFFF)
    A 0  SS 002B 32bit 0(FFFFFFFF)
    Z 0  DS 002B 32bit 0(FFFFFFFF)
    S 0  FS 0053 32bit 3DE000(FFF)
    T 0  GS 002B 32bit 0(FFFFFFFF)
    D 0
    O 0  LastErr 00000000 ERROR_SUCCESS
    EFL 00010206 (NO,NB,NE,A,NS,PE,GE,G)
    
    ST0 empty 0.0
    ST1 empty 0.0
    ST2 empty 0.0
    ST3 empty 256.25000000000000000
    ST4 empty 0.9707317073170731447
    ST5 empty 204.99999999999997160
    ST6 empty 1.0149999999999999020
    ST7 empty 467.91499999999996360
                   3 2 1 0      E S P U O Z D I
    FST 0023  Cond 0 0 0 0  Err 0 0 1 0 0 0 1 1 (GT)
    FCW 027F  Prec NEAR,53  Mask    1 1 1 1 1 1
    Last cmnd 0000:00945659
    
    XMM0 00000000 00000000 00000000 00000000
    XMM1 00000000 00000000 00000000 00000000
    XMM2 00000000 00000000 00000000 00000000
    XMM3 00000000 00000000 00000000 00000000
    XMM4 00000000 00000000 00000000 00000000
    XMM5 00000000 00000000 00000000 00000000
    XMM6 01000201 00000000 00000100 000D2800
    XMM7 00010000 00010020 00270000 07000000
                                    P U O Z D I
    MXCSR 00001FA0  FZ 0 DZ 0  Err  1 0 0 0 0 0
                    Rnd NEAR   Mask 1 1 1 1 1 1
    The module it craps out on starts on 0069B360 but the offending line is:
    0069B477 |. 807F 04 19 CMP BYTE PTR DS:[EDI+4],19
    That line is trying to access a byte at EDI+4, but EDI is null (0) - the code is trying to access an object that doesn't exist. In Java would be a NullPointerException.

    I've been working on something that might help to translate code - it needs a (sober ) re-write, I'll see what I can do this week. If it works, it should be able to tag a text file of the exe with notes, like this:

    0069B425 |. 8A90 1C010000 MOV DL,BYTE PTR DS:[EAX+11C] - accessing nation.selected

    0069B456 |. 8B46 57 MOV EAX,DWORD PTR DS:[ESI+57] - accessing club.division

    0069B4B6 |. 0FBF40 3E MOVSX EAX,WORD PTR DS:[EAX+3E] - league.numberOFTeams


    Any idea what EDI might be? +4 isn't unique, so it doesn't help to narrow down what it could be. I can see 0069B4AC |. 8A57 73 MOV DL,BYTE PTR DS:[EDI+73] - but I don't have any record of a +73 value in the offsets thread (post #7), which suggests it isn't the basic data (club, nation, competition etc).

    Maybe try running an unedited exe in Olly with a breakpoint to see what kind of value EDI normally is? (double click the 2nd column to set a break point, I think - the first column should highlight red).

    Maybe also try a an exe amended to read what is normally at EDI, as that is probably more useful, like this this

    0069B483 |. 8B4E 57 MOV ECX,DWORD PTR DS:[ESI+57]
    0069B486 |. A1 FCADAD00 MOV EAX,DWORD PTR DS:[ADADFC]
    0069B48B |. 8B11 MOV EDX,DWORD PTR DS:[ECX]

    (1st and 3rd lines - 1 gets the address @ +57, club.division, which will be a memory address; line 3 reads from that address into EDX - which would probably be number between 0 and however many competitions there are in the data).

  21. #20

    Join Date
    18-07-15
    Posts
    795
    @faz:

    Unsure how you've gone from:
    OK, so now you, Nick + Co, you've made my patching dreams come true. 3.9.60 Data, all leagues turned on (10 leagues on foreground, rest on background). Cardiff, Wrexham, Swansea and Newport in the Welsh Premier. Turned the Welsh Premier Cup off with the Big On/Off Switch (although it does work and proceeds without the teams in England, it adds loads of unnecessary games).

    Trying to keep Barry in the Champions League as I write this.
    Then 6 months later to:
    I've tried a few times with this now. All goes swimmingly until it crashes at the end of the first season. Not sure why, no popup, just a straight crash out.
    So did it never work past the first season? Are you *sure* you are applying this Welsh patch, and only this Welsh patch, to a completely vanilla fresh install and still getting a crash at end of the season?

  22. #21

    Join Date
    12-03-12
    Posts
    369
    Quote Originally Posted by Nick+Co View Post
    @faz:

    Unsure how you've gone from:


    Then 6 months later to:


    So did it never work past the first season? Are you *sure* you are applying this Welsh patch, and only this Welsh patch, to a completely vanilla fresh install and still getting a crash at end of the season?
    The Massiah is back!

  23. #22

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    Quote Originally Posted by Nick+Co View Post
    @faz:

    Unsure how you've gone from:


    Then 6 months later to:


    So did it never work past the first season? Are you *sure* you are applying this Welsh patch, and only this Welsh patch, to a completely vanilla fresh install and still getting a crash at end of the season?
    As I said, I swapped the Welsh teams in England back into Wales and killed the Welsh Premier Cup, which you later made a patch for. It seemed to work OK but I'm always playing a few different patches at once - my US/Turkey league swap, been trying to play Project 369, newer Saturn patch etc.

    The Wales patch stopped working some time ago. However, I am having loads of crashes at the moment and I wanted to get to the bottom of this. I discussed the issue with Redders in the chat and he said he hadn't really played it because he was using more recent data which lacks Welsh league players. I'm so frustrated in general that I'm back playing 3.9.65 at the moment because I know it's a steady build that won't crash when you apply a speed and colours patch to it.

    It gets to the 8th of May 2002 and dies. 3.9.68, downloaded the original 3.9.60 data from this site (which is compatible with 3.9.68), rearranged the leagues to get the relevant Welsh clubs into the correct leagues and then applied the patches. However, I will repeat the process to see if it works.

  24. #23

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    With the original, non-swapped data (i.e. 3.9.60 data converted to work with 3.9.68, the Welsh clubs in England are still in England), it progressed through May and through the first summer updates. All seems fine.

    I think the issue is actually a corrupted savegame but I am going to press on and see if it's the Welsh clubs in England being in Wales which is corrupting the savegame.

    I didn't want to make a thing out of this because I thought I was the only one playing this patch.

  25. #24

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    Clean install, clean upgrade to 3.9.68, application of current version of Welsh patch (and a few other options), unzipped 3.9.60 data. Country swapped Cardiff, Wrexham, Swansea, Colwyn Bay, Merthyr and Newport - former three into Welsh Premier, latter three into Welsh Lower Division (using CMExplorer to get around the nonsense Lower Division limit).

    All now working fine. Reading back, I think the issue is I applied the original Wales patch and turned the Premier Cup off myself using the Big On/Off Switch, which is what may have caused the problem. With the new patch on a clean installation, we can get through the first season.

    Crisis averted. Thank you guys for reading the problem through.

  26. The Following User Says Thank You to faz44 For This Useful Post:


  27. #25

    Join Date
    09-03-12
    Location
    London
    Posts
    931
    OK. I played the first season, set Cardiff up for dominance and am now holidaying with some different promoted teams, trying to keep them up on a small budget.

    However, summer of 2003, Sam Allardyce's Cardiff won the Welsh double but the Champions League qualifier is Abercynon Athletic, who were relegated bottom of the LoW. So, Cardiff seem to have gone into the UEFA Cup as Welsh Cup winners, Wrexham as second place finishers and Swansea into the Intertoto as third place finishers. It should have been Cardiff to CL, Wrexham and Swansea to UEFA Cup, Barry Town to Intertoto.

    I don't know where to look in the code for Wales' CL qualifiers etc.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •