413 Commits

Author SHA1 Message Date
Claude Brisson
4a4474873e Bump to 0.23 2025-11-30 11:25:46 +01:00
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