Commit Graph

412 Commits

Author SHA1 Message Date
Claude Brisson
17697845fd Implement avoidSameFamily geographic criterion
When enabled, avoid pairing players from the same club who have
the same family name (surname). Uses existing player.name field.
2025-11-29 22:00:31 +01:00
Claude Brisson
147347fa6e Bump to 0.22 2025-11-29 21:36:52 +01:00
Claude Brisson
254bf6893f Local club: half bonus for stranger-vs-stranger different clubs
When local club exists, prefer local-stranger pairings over stranger-stranger:
- Ist vs Ist: full bonus
- Ist vs non-Ist: full bonus
- non-Ist vs non-Ist (different clubs): half bonus
- non-Ist vs non-Ist (same club): no bonus
2025-11-29 18:51:05 +01:00
Claude Brisson
174b3adb53 Refactor local club geographic criteria with nuanced bonuses
- Fix bug: biggestCountrySize used club instead of country
- Add local club detection (>40% threshold)
- When local club exists (non-legacy mode):
  * Local club members paired together: get FULL different-club bonus
  * Ist vs non-Ist (different clubs): normal bonus
  * Strangers from same visiting club: no bonus (normal same-club)
- Legacy mode unchanged for test compatibility
- Add LocalClubTest for local club behavior verification
2025-11-29 18:13:00 +01:00
Claude Brisson
4788ef7bc9 Add EGF PIN to h9 export
Append EGF PIN at end of player line with | separator (e.g. |12345678)
when the player has a valid 8-character EGF PIN
2025-11-29 16:57:33 +01:00
Claude Brisson
a6881d1276 Add MacMahon 3.9 import support
- Add MacMahon39.kt parser for MM39 tournament format
- Auto-detect MM39 format in tournament import
- Import players, games, bye players, and tournament parameters
- Uses default values for time system and director since MM39 lacks those
2025-11-29 16:52:05 +01:00
Claude Brisson
e063f6c73c Bump to version 0.21 2025-11-29 13:49:20 +01:00
Claude Brisson
576be99952 FFG export: treat zero byoyomi/increment as sudden death
When byoyomi=0 (Japanese/Canadian) or increment=0 (Fischer),
display "Sudden death" instead of absurd "3 periods of 0 minutes"
2025-11-29 13:36:32 +01:00
Claude Brisson
4daa707f3e Normalize country code to UK instead of GB
- CountriesTool: use 'uk' key for United Kingdom
- EGFRatingsHandler: keep UK as-is (no conversion to GB)
- Pairable: convert GB to UK (inverse of previous behavior)
2025-11-29 12:30:15 +01:00
Claude Brisson
09c8e834f6 Fix FFG/EGF export format issues
- FFG .tou name field: use AAMMJJ-ville format (2-digit year, hyphen,
  lowercase city without accents), e.g., "250830-marseille"
- EGF .h country code: use uppercase PC[FR,...] instead of PC[fr,...]
- Unify version numbers: use actual version from properties everywhere
  instead of hardcoded "v0.1"
2025-11-29 10:54:40 +01:00
Claude Brisson
667b3e17da Fix EGF/FFG export name case: Title_Case instead of UPPERCASE
toCapitals() properly capitalizes each word part (e.g., "ACIKGOZ"
-> "Acikgoz", "alen ibrahim" -> "Alen_Ibrahim").

Format: "Last_Name First_Name" with underscores joining multi-part names.
2025-11-29 10:34:06 +01:00
Claude Brisson
84ab78c461 Bugfixing explain 2025-07-24 20:38:49 +02:00
Claude Brisson
d47d4fc8cc Beta version of explain page 2025-07-24 19:45:13 +02:00
Claude Brisson
3d06588889 Use a PairingListener class to collect or print weights, avoid computing twice the weights during tests 2025-07-24 15:05:51 +02:00
Claude Brisson
f704f3adb2 Code cleaning: fix previous commit, simplify HistoryHelper creation 2025-07-24 14:14:03 +02:00
Claude Brisson
ecec6556d1 Code cleaning: move history helper creation in tournament class, factorize main score function 2025-07-22 19:08:29 +02:00
Claude Brisson
17bb013feb Display individual standings below team standings 2025-06-11 11:03:58 +02:00
Claude Brisson
be18f159be Fix test 2025-06-10 21:01:25 +02:00
Claude Brisson
a81ed5377c [teams] bugfix and code clanup 2025-06-10 20:53:59 +02:00
Claude Brisson
632b29fb78 More team tournaments debugging 2025-06-10 20:53:59 +02:00
Claude Brisson
ddf904f6d1 Team tournaments debugging 2025-06-10 20:53:54 +02:00
Claude Brisson
47c729e61a Team of individuals: initial display of results page ok 2025-06-10 20:52:23 +02:00
Claude Brisson
0ebe3dfbd7 View team on registration page ; review code of constraints on teams updates 2025-06-10 20:52:23 +02:00
Claude Brisson
0ed9bfb5eb Consistency checks on participations changes ; plus some code cleaning 2025-06-10 20:52:23 +02:00
Claude Brisson
169546ae66 Teams of individual players: Teams composition page ok 2025-06-10 20:52:23 +02:00
Claude Brisson
e8fc9c46b3 Fix tests 2025-05-16 22:50:58 +02:00
Claude Brisson
e478a7139e Update changelog and version 2025-05-16 22:30:41 +02:00
Claude Brisson
67e0697b6b Code review 2025-05-16 22:30:05 +02:00
Theo Barollet
21f9741a8b proper legacy mode and compare all pairings with new pairgoth pairings. Toulouse and simpleMM pairings differ 2025-05-16 22:19:55 +02:00
Theo Barollet
af649fc9ee added a threshold in main club proportion after which we don't apply geographic criteria 2025-05-16 22:18:15 +02:00
Quentin Rendu
d91eb5407d Reduce default value of balanceWBweight to 1e3 (was 1e6) 2025-03-06 16:08:18 +01:00
Quentin Rendu
73352ef430 Regenerate test files with balanceWBWeight=1000 2025-03-06 16:07:11 +01:00
Quentin Rendu
7080d7d16e Add debug output for KPMC-Splitbug 2025-03-05 10:12:32 +01:00
Quentin Rendu
075852a506 Force pairings from opengotha in case of non unique max weights pairings 2025-03-05 09:55:23 +01:00
Quentin Rendu
eb13e5ed32 Compute opengotha sumOfWeights in test_XML function 2025-03-05 08:35:46 +01:00
Quentin Rendu
a699734749 Regenerate notsosimpleswiss test weights with latest opengotha 2025-03-05 08:34:53 +01:00
Theo Barollet
c5d0cab7b0 fix double dudd inversion and mm tests pass now 2025-02-27 18:33:06 +01:00
Claude Brisson
163b243c41 Code cleanup 2025-01-24 13:16:59 +01:00
Claude Brisson
191c33846f Review DUDD ; fix two DUDD inversion bugs which annulled themselves 2025-01-20 20:33:30 +01:00
Claude Brisson
c3bdbde0be Fix mmfloor & mmbar resetting bug 2025-01-19 19:41:28 +01:00
Claude Brisson
952e22eaf6 Prepare release 0.19 2025-01-19 19:15:34 +01:00
Quentin Rendu
6270ffdb58 Remove debug output before merge request 2025-01-19 19:12:31 +01:00
Quentin Rendu
155af7a8ec Regenerate pairing test file with opengotha/src/OG240904 2025-01-19 19:12:31 +01:00
Quentin Rendu
cbdb8b1f52 Symmetric detRandom for pairings, asymmetric for colour 2025-01-19 19:12:31 +01:00
Quentin Rendu
b66b577077 Correct formula for bye player in Swiss system 2025-01-19 19:12:31 +01:00
Quentin Rendu
09250265c8 Crop names in debug output 2025-01-19 19:12:31 +01:00
Quentin Rendu
996f759911 Format debug output to enhance readability 2025-01-19 19:12:31 +01:00
Quentin Rendu
bea4c8db19 Refactor code to create weights/names map 2025-01-19 19:12:31 +01:00
Quentin Rendu
4d311afb2c Add a function to compute sum of weights of OG pairings 2025-01-19 19:12:31 +01:00
Quentin Rendu
873d8cadcd Add OG 3.51.02 weights file for round 1 of KPMC SplitBug test 2025-01-19 19:12:31 +01:00