From a7f3741eb3a7f01cdd083f9144151fcbd1806769 Mon Sep 17 00:00:00 2001
From: Joe R <joeraz5@verizon.net>
Date: Sun, 31 Mar 2024 10:00:52 -0400
Subject: [PATCH] Cardsets package version 3.

---
 .appveyor.yml                       |  4 ++--
 .github/workflows/macos-package.yml |  4 ++--
 .gitignore                          |  4 ++++
 .travis.yml                         |  4 ++--
 contrib/customize_cardset.asciidoc  |  6 +++---
 html-src/cardset_customization.html |  7 ++++---
 pysollib/options.py                 |  8 ++++----
 pysollib/resource.py                |  2 +-
 scripts/cardsets_to_bundle          | 14 +++++++++++++-
 scripts/repack-min-cardsets.bash    |  6 +++---
 10 files changed, 38 insertions(+), 21 deletions(-)

diff --git a/.appveyor.yml b/.appveyor.yml
index 237c865e..8e19b5a1 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -36,9 +36,9 @@ test_script:
     - gmake mo
     - pyinstaller pysol.py --windowed --icon=data\pysol.ico
     - python3 setup.py install_data -d dist\pysol
-    - appveyor DownloadFile https://sourceforge.net/projects/pysolfc/files/PySolFC-Cardsets/minimal/PySolFC-Cardsets--Minimal-2.2.0.tar.xz/download -FileName cardsets.tar.xz
+    - appveyor DownloadFile https://sourceforge.net/projects/pysolfc/files/PySolFC-Cardsets/minimal/PySolFC-Cardsets--Minimal-3.0.0.tar.xz/download -FileName cardsets.tar.xz
     - 7z x cardsets.tar.xz -so | 7z x -si -ttar
-    - mv PySolFC-Cardsets--Minimal-2.2.0/cardset-* dist/pysol/data
+    - mv PySolFC-Cardsets--Minimal-3.0.0/cardset-* dist/pysol/data
     - appveyor DownloadFile https://sourceforge.net/projects/pysolfc/files/PySol-Music/PySol-Music-4.50/pysol-music-4.50.tar.xz/download -FileName music.tar.xz
     - 7z x music.tar.xz -so | 7z x -si -ttar
     - move pysol-music-4.50\data\music dist\pysol\data\music
diff --git a/.github/workflows/macos-package.yml b/.github/workflows/macos-package.yml
index 88473522..9ea50945 100644
--- a/.github/workflows/macos-package.yml
+++ b/.github/workflows/macos-package.yml
@@ -28,9 +28,9 @@ jobs:
         brew install create-dmg
     - name: Get cardsets
       run: |
-        wget -O cardsets-pack.tar.xz "https://sourceforge.net/projects/pysolfc/files/PySolFC-Cardsets/minimal/PySolFC-Cardsets--Minimal-2.2.0.tar.xz/download"
+        wget -O cardsets-pack.tar.xz "https://sourceforge.net/projects/pysolfc/files/PySolFC-Cardsets/minimal/PySolFC-Cardsets--Minimal-3.0.0.tar.xz/download"
         tar -xJf cardsets-pack.tar.xz
-        mv PySolFC-Cardsets--Minimal-2.2.0/cardset-* data
+        mv PySolFC-Cardsets--Minimal-3.0.0/cardset-* data
     - name: Prepare game rules (process the HTML) and translations
       run: |
         make rules mo
diff --git a/.gitignore b/.gitignore
index 25e73513..b0b63779 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,6 +23,10 @@ PySolFC-Cardsets--Minimal-2.0.*
 PySolFC-Cardsets--Minimal-2.0/
 PySolFC-Cardsets-2.0.*
 PySolFC-Cardsets-2.0/
+PySolFC-Cardsets--Minimal-3.0.*
+PySolFC-Cardsets--Minimal-3.0/
+PySolFC-Cardsets-3.0.*
+PySolFC-Cardsets-3.0/
 android/*.apk
 android/*.zip
 android/bin/keystore
diff --git a/.travis.yml b/.travis.yml
index c32ad11d..376896c1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -30,8 +30,8 @@ deploy:
 before_install:
     - if test "$TRAVIS_OS_NAME" = "osx" ; then
         wget --content-disposition https://sourceforge.net/projects/pysolfc/files/PySolFC-Cardsets/minimal/PySolFC-Cardsets--Minimal-2.2.0.tar.xz/download &&
-        tar xJf PySolFC-Cardsets--Minimal-2.2.0.tar.xz &&
-        mv PySolFC-Cardsets--Minimal-2.2.0/cardset-* data ;
+        tar xJf PySolFC-Cardsets--Minimal-3.0.0.tar.xz &&
+        mv PySolFC-Cardsets--Minimal-3.0.0/cardset-* data ;
         fi
     - if test "$TRAVIS_OS_NAME" = "osx" ; then
         PYVER=3.9.1 &&
diff --git a/contrib/customize_cardset.asciidoc b/contrib/customize_cardset.asciidoc
index 7a014c93..f0f668ac 100644
--- a/contrib/customize_cardset.asciidoc
+++ b/contrib/customize_cardset.asciidoc
@@ -132,13 +132,13 @@ Line 2
 
 ( *TIP:* You could add a number prefix (e.g. 123-cardset-name) )
 
-`<cardset_name>`: Your cardset name as it should appear in the cardset manager
+`<cardset_name>`: Your cardset name as it should appear in the cardset manager.  Note that a cardset name of more than 30 characters will be truncated.
 
 Line 3
 ------
 
-* *X:* The cards width (the card image width)
-* *Y:* The cards height (the card image height)
+* *X:* The cards' width (the card image width)
+* *Y:* The cards' height (the card image height)
 * *D:* The color depth (mostly 8)
 
 Line 4
diff --git a/html-src/cardset_customization.html b/html-src/cardset_customization.html
index 8dced212..ca918d7e 100644
--- a/html-src/cardset_customization.html
+++ b/html-src/cardset_customization.html
@@ -259,14 +259,15 @@ back01.ext;back02.ext;back03.ext</pre>
           <p>(<b>TIP:</b> You could add a number prefix (e.g. 123-cardset-name)
            )</p>
           <p><code>&lt;cardset_name&gt;</code>: Your cardset name as it should appear
-            in the cardset manager</p>
+            in the cardset manager.  Note that a cardset name of more than 30 characters
+            will be truncated.</p>
       <h2>Line 3</h2>
           <ul>
             <li>
-              <p><b>X:</b> The cards width (the card image width)</p>
+              <p><b>X:</b> The cards' width (the card image width)</p>
             </li>
             <li>
-              <p><b>Y:</b> The cards height (the card image height)</p>
+              <p><b>Y:</b> The cards' height (the card image height)</p>
             </li>
             <li>
               <p><b>D:</b> The color depth (mostly 8)</p>
diff --git a/pysollib/options.py b/pysollib/options.py
index 9f2b34cf..8f2779d8 100644
--- a/pysollib/options.py
+++ b/pysollib/options.py
@@ -604,8 +604,8 @@ class Options:
                                   6: ("Hokusai Ukiyo E (6x6)", ""),
                                   7: ("Blaren (7x7)", ""),
                                   8: ("Mid Winter's Eve (8x8)", ""),
-                                  9: ("Hofamterspiel (9x9)", ""),
-                                  10: ("Eternal Dragon (10x10)", "")},
+                                  9: ("The Card Players (9x9)", ""),
+                                  10: ("Players Trumps (10x10)", "")},
                 CSI.TYPE_ISHIDO: {0: ("Simple Ishido XL", "")},
             }
         else:
@@ -629,8 +629,8 @@ class Options:
                                   6: ("Hokusai Ukiyo E (6x6)", ""),
                                   7: ("Blaren (7x7)", ""),
                                   8: ("Mid Winter's Eve (8x8)", ""),
-                                  9: ("Hofamterspiel (9x9)", ""),
-                                  10: ("Eternal Dragon (10x10)", "")},
+                                  9: ("The Card Players (9x9)", ""),
+                                  10: ("Players Trumps (10x10)", "")},
                 CSI.TYPE_ISHIDO: {0: ("Simple Ishido", "")},
             }
 
diff --git a/pysollib/resource.py b/pysollib/resource.py
index e935de96..7620b347 100644
--- a/pysollib/resource.py
+++ b/pysollib/resource.py
@@ -573,7 +573,7 @@ class CardsetManager(ResourceManager):
         if not self._check(cs):
             return
         cs.ncards = len(cs.ranks) * len(cs.suits) + len(cs.trumps)
-        cs.name = cs.name[:25]
+        cs.name = cs.name[:30]
         if not (1 <= cs.si.size <= 5):
             CW, CH = cs.CARDW, cs.CARDH
             if CW <= 55 and CH <= 72:
diff --git a/scripts/cardsets_to_bundle b/scripts/cardsets_to_bundle
index 0b17d5c6..a913ec29 100644
--- a/scripts/cardsets_to_bundle
+++ b/scripts/cardsets_to_bundle
@@ -1,13 +1,20 @@
 cardset-2000
+cardset-blaren-7x7
 cardset-crystal-mahjongg
 cardset-dashavatara-ganjifa
 cardset-dashavatara-ganjifa-xl
+cardset-dojouji-3x3
 cardset-dondorf
 cardset-gnome-mahjongg-1
-cardset-hexadeck
 cardset-hanafuda-200-years
+cardset-hexadeck
+cardset-hokusai-6x6
+cardset-knave-of-hearts-4x4
 cardset-louie-mantia-hanafuda
+cardset-matching
+cardset-matching-xl
 cardset-matrix
+cardset-mid-winter-eve-8x8
 cardset-mughal-ganjifa
 cardset-mughal-ganjifa-xl
 cardset-neo
@@ -15,7 +22,12 @@ cardset-neo-hex
 cardset-neo-tarock
 cardset-next-matrix
 cardset-oxymoron
+cardset-players-trumps-10x10
+cardset-simple-ishido
+cardset-simple-ishido-xl
 cardset-standard
+cardset-the-card-players-9x9
 cardset-tuxedo
 cardset-uni-mahjongg
+cardset-victoria-falls-5x5
 cardset-vienna-2k
diff --git a/scripts/repack-min-cardsets.bash b/scripts/repack-min-cardsets.bash
index a205a732..660aeee6 100755
--- a/scripts/repack-min-cardsets.bash
+++ b/scripts/repack-min-cardsets.bash
@@ -10,9 +10,9 @@ set -e -x
 
 src_base="PySolFC-Cardsets"
 dest_base="$src_base--Minimal"
-ver="2.1.0"
-src_vbase="$src_base-2.1"
-dest_vbase="$dest_base-2.1.0"
+ver="3.0.0"
+src_vbase="$src_base-3.0"
+dest_vbase="$dest_base-3.0.0"
 src_arc="$src_vbase.tar.bz2"
 
 if ! test -f "$src_arc"