Oh well. If you missed it, you missed it. Whether or not it would be better or worse for you at the time that I posted it, who knows, although that particular post did have the updated European cup competitions for all the European teams at the time. Though this is not to say that using the older Champions League and UEFA Cup files were a step down from not using the newer cup files. The old ones worked and they still work, although yes, they are outdated. I posted the updates in that manner as really, as the older definitions that came with version 2.3.2 included the older Champions League and UEFA Cup, they weren't really able to handle the updated Champions League and Europa League with the additional countries required as part of the definitions. So instead of updating the international cup files individually and posting them as such, it required a complete update to the European definitions, all at once. Although yes, I did still use the older country definitions, I just updated the country_sid.xml files to represent the newer international cups used. It will have to be the same way for any further updates, especially if not all countries are currently included in the European definitions.bygkicker wrote: ↑Fri Mar 01, 2024 10:51 am Hi Will and tstellar,
thank you for your reactions.
Will, I found the UEFA 20/21 definitions on the forum. There were several zips, I'm afraid I missed yours. I didn't know about your Kosovo update, so I included an update of Kosovo (with real names, but only one playable layer) in my zip. Thank you for your attachment, I'll look into it.
When you do try or look at the Kosovo definitions, if you feel like giving any feedback, feel free.
Hmm. bygkicker, it almost sounds like you are running a modified version of 2.3.2. Am I right? Maybe one that you modified and compiled yourself? If so, on what operating system are you running it? As for myself, I'm still with version 2.3.2 because it is what is available through the Ubuntu repositories. Yes, I would LOVE an update to bygfoot's engine, but I maybe am not sold on the definitions used, as like you implied, they lack good enough names to use and differentiate the teams. Also, when looking at some statistics, it does appear as if version 2.3.2 is still being downloaded and used, so that's another thing. If I create and test my definitions on version 2.3.2, at least those users can update their definitions without issue, whereas if I was using a newer version like tstellar was making, and used some of those newer tags, it would not allow those people using the older version the opportunity to use those newer definitions. But yes, I can understand that it would then allow those users the choice and opportunity to update their version of bygfoot that they are using. Maybe some people aren't comfortable downloading files and installing updates that way when compared to using a medium like the Ubuntu Software Repositories and all.For now I'll stay with version 2.3.2, I prefer the readable definitions. Updated and tested versions of germany, switzerland and liechtenstein (playable!) are included in my zip.
Tstellar, these cup_uefa2024* files are generated, from three template xml's (CL, EL, ECL resp.). 55 European countries, so there are 165 files, created with a click.
These templates are quite close to the UEFA definitions, with tags not known to bygfoot. Example:
<!-- 16 domestic cup winners from associations 40–55 -->
<choose_team>
<qualified_as>CW</qualified_as>
<choose_team_rank_lower>55</choose_team_rank_lower>
<choose_team_rank_upper>40</choose_team_rank_upper>
<number_of_teams>1</number_of_teams>
<randomly>1</randomly>
<generate>1</generate>
</choose_team>
CW means cup winner of the national cup. This is Liechtensteins special entry...
Just a note that I did check through sourceforge.net and when I checked how many times bygfoot was downloaded from 01-jan-2024 through to 01-mar-2024, there were 200 downloads, of which 150 were for a Windows version. So that's just for 2 months worth. The files are still being downloaded. Now I don't know if the multi-threading works in the compiled windows version, but I surely know that the zip files used are older and don't quite like rather large files, if I recall correctly. The zip files can use an update for sure to accommodate the larger definition files and the more files that are included in a country definition. At least that's a good thing about the linux versions is that the zip files are at least updated by the operating system so they can keep up to date and handle the larger file sizes. Maybe tstellar and gunnar can talk it over and maybe the updated engine can be used with the older but updated definitions and be used for the different versions out there, so that when people go to download a version of bygfoot, they will get a newer and more powerful engine, but with the reliable definitions that have been there for so long. And it would be nice if a stable version of bygfoot could be made and submitted to the Ubuntu Software Repositories so we could get an updated version that way also. We don't have to use the new definitions as the old ones would suffice, but it is mainly the engine I'd enjoy. Know what I mean? A working multi-threaded bygfoot would DEFINITELY be worth it, especially when working with those very large country definitions.
Anyways, looking at the number of files you are using for the new international cups for the European cups, that surely seems like a lot to me. When I finalized the updates for the European cup competitions for the 2020-2021 season, I had 7 files (templates) for them, which one of them was for the Super Cup. I used 3 for the Champions League and 3 for the Europa League. In total, including the Super Cup, I only used 33 files for all 55 countries. It is similar to how the original Champions League and UEFA Cup files were created in the older definitions. As for the newer series of cups, for 2024 to 2027, I foresee needing 4 files per tournament (Champions League, Europa League, and Conference League), plus a Super Cup, if I recall correctly. And of those, 2 each of those 4 would not really change from country definition to country definition.
When I look at the above written comment, it would be something that could work in favour of tstellar's view for the European international cups in how to select a team for the title holders. Though the code he used can only work with the newer versions (version 2.3.3/4 and higher). The way I code it is to use random teams, which will work with version 2.3.2. But I'm also thinking about what if someone is playing a definition that isn't even part of the European definitions, like some country in South America, North America, or Asia? Of course there are definitions for African teams but not Oceania. In the version 2.3.2 definitions, only Europe and South America had definitions really, with North America having 2 country definitions (Mexico and USA) as well as Asia having 2 country definitions (Japan and Australia), although Asia's countries weren't really contained under the "Asia" label/directory. Although now with the higher versions (2.3.3+), at least each continent has more playable counties, except for Oceania. I started on an Oceania definition but put it on pause some time ago to work on something else or fix something, and just haven't gotten back to it yet. Oh well.Thank you for the link to the python script. I'll take a look, too. Maybe you should update the old readme, and talk about your latest changes/achievements .
Topic "Tokens and Cups": For now the code can handle LEAGUE1 and CUP1, which refer to the domestic Premier League winner / FA cup winner of the last season, respectively.
Most of the last season is wiped out at the beginning of a new season. Some remnants are preserved in the misc.xml file (in the save zip). It only contains useful stuff in the last week of the season, and includes the cup winners of the season. Introducing new tokens (CL1, EL1, ECL1) to the code, the international cup definitions could refer to the CL winner of the last season, when the teams of the new seasons are selected, and the fixtures are (partially) written.
The same way as now CUP1 and LEAGUE1 are used.
But getting back to the point of introducing new tokens like "CL1", "EL1", and "ECL1", they may not work when someone is not playing a country definition from Europe. I guess that is something that you have to look at and consider when introducing new tokens like you were thinking. But then another point could be if in the future, the tournament's name changes and the initials selected no longer apply, then what?
I did write the following, before I feel like I truly understood what you were trying to say:
Now that I reread what you wrote, I think I have a better understanding of what you are trying to say. You talk or mention tokens and then reference "league#" and "cup#". In this regard, league# and cup# are the tokens. I don't believe you need to change anything but then it also depends on how high the numbers are allowed to go. For example, could you use "league20" or "cup20" for a tournament reference? Or does it only go from 1 to 9? I ask this since within the reference of the definition, you could in essence reference a cup number as the team you would like to select for a titleholder, and if that titleholder is not available, then give an option to select a random team or another team perhaps.Though I understand where you are wanting to come from, maybe the names of the tokens should change, like "europe1", "europe2", and "europe3". Heck, if you think there might even be a fourth european tournament, adding "europe4" could work. And just because the tokens are available to use, it doesn't mean they have to be used. You could use tokens for other continents like "asia#", "africa#", "namerica#" (for north america), "samerica#" (for south america), and potentially "oceania#" for oceania. But again, these changes would only be for future versions of bygfoot (version 2.3.5+) and be for definitions that would only work with those versions.
In my 6 tier definition for England, the cups section looks like the following:
Code: Select all
<cups>
<cup>england_fa</cup>
<cup>england_league</cup>
<cup>england_league_trophy</cup>
<cup>england_fa_trophy</cup>
<cup>uefa_el_r3-ENG</cup>
<cup>uefa_el_cp</cup>
<cup>uefa_europa_league_final</cup>
<cup>uefa_cl_r4</cup>
<cup>uefa_cl_cp_r0</cup>
<cup>uefa_champions_league_final</cup>
<cup>uefa_supercup</cup>
<cup>conmebol_copa_libertadores_fifa</cup>
<cup>fifa_cwc</cup>
<cup>uefa_european_championship_friendly</cup>
<cup>england_league_vs_cup</cup>
<cup>england_prom_games2</cup>
<cup>england_prom_games3</cup>
<cup>england_prom_games4</cup>
<cup>england_prom_games5</cup>
<cup>england_prom_games6a</cup>
<cup>england_prom_games6b</cup>
</cups>
Now when I look at the master file for the Champions League definition for the selecting of the titleholders for the Champions League and Europa league, it looks like the following:
Code: Select all
<!-- UEFA Champions League Title Holder spot -->
<choose_team>
<choose_team_sid>spain1 england1 italy1 germany1 france1 russia1 portugal1 belgium1 ukraine1 turkey1 netherlands1 austria1 czech1 greece1 croatia1 denmark1 switzerland1 cyprus1 serbia1 scotland1 belarus1 sweden1 norway1 kazakhstan1 poland1 azerbaijan1 israel1 bulgaria1 romania1 slovakia1 slovenia1 hungary1 n_macedonia1 moldova1 albania1 ireland1 finland1 iceland1 bosnia_herzegovina1 lithuania1 latvia1 luxembourg1 armenia1 malta1 estonia1 georgia1 wales1 montenegro1 faroe_islands1 n_ireland1 andorra1 san_marino1 liechtenstein1 gibraltar1 kosovo1
</choose_team_sid>
<number_of_teams>1</number_of_teams>
<randomly>1</randomly>
<generate>1</generate>
</choose_team>
<!-- UEFA Europa League Title Holder spot -->
<choose_team>
<choose_team_sid>spain1 england1 italy1 germany1 france1 russia1 portugal1 belgium1 ukraine1 turkey1 netherlands1 austria1 czech1 greece1 croatia1 denmark1 switzerland1 cyprus1 serbia1 scotland1 belarus1 sweden1 norway1 kazakhstan1 poland1 azerbaijan1 israel1 bulgaria1 romania1 slovakia1 slovenia1 hungary1 n_macedonia1 moldova1 albania1 ireland1 finland1 iceland1 bosnia_herzegovina1 lithuania1 latvia1 luxembourg1 armenia1 malta1 estonia1 georgia1 wales1 montenegro1 faroe_islands1 n_ireland1 andorra1 san_marino1 liechtenstein1 gibraltar1 kosovo1
</choose_team_sid>
<number_of_teams>1</number_of_teams>
<randomly>1</randomly>
<generate>1</generate>
</choose_team>
Code: Select all
<!-- UEFA Champions League Title Holder spot -->
<choose_team>
<choose_team_sid>CUP10</choose_team_sid>
<number_of_teams>1</number_of_teams>
<start_idx>1</start_idx>
<end_idx>1</end_idx>
</choose_team>
<!-- UEFA Europa League Title Holder spot -->
<choose_team>
<choose_team_sid>CUP7</choose_team_sid>
<number_of_teams>1</number_of_teams>
<start_idx>1</start_idx>
<end_idx>1</end_idx>
</choose_team>
Agreed. tstellar is doing great work by updating the code and even doing improvements and other things. Anyways, I've written a lot for now so I'll wrap it up and say good bye for now,I must concede, I think, it really is no fun to dive into 20 year old C code. So I don't expect any actions. But, thumbs up tstellar, there are now glade files included in the latest version! Maybe the code handling CUP1 and LEAGUE1 is expandable.
Best Regards
bygkicker
N.B. The bygfoot xml reader is really, really forgiving.
Will aka will_the_canuck