mirror of
https://github.com/shlomif/PySolFC.git
synced 2025-04-05 00:02:29 -04:00
336 lines
12 KiB
HTML
336 lines
12 KiB
HTML
<h1>Cardset Customization Tutorial</h1>
|
|
<h2>Setting up a Cardset</h2>
|
|
<p>The easiest way to create a cardset would be to copy an existing cardset folder
|
|
of the same type in your cardsets directory. All cardsets need a number of files to work.
|
|
<ul>
|
|
<li>An image for each card - these images should be the same format and the same size, as defined in the config.txt file (described below).
|
|
These files should be named something like 01s.png for the ace of spades. The first two (or more) digits represent the rank, and the letter
|
|
after represents the suit. The suits are labeled hcds in French decks or decks that use French suits (i.e. Hex A or Tarock decks), and
|
|
the suits are alphabetical for other decks. The suit letter z is used for jokers or trumps.</li>
|
|
<li>A shade file - shade.png, for example.</li>
|
|
<li>At least one back image, as defined in the config.txt file below.</li>
|
|
<li>A config.txt file, the format described below.</li>
|
|
<li>A copyright file, containing copyright info.</li>
|
|
</ul>
|
|
<p>The following optional files may also be added, but are only used under certain circumstances.
|
|
<ul>
|
|
<li>Bottom images. A number of images for the bottoms of stacks. These are not used unless your PySol install
|
|
does not support generating stack bottoms, or you enable them manually (currently only possible through editing the
|
|
options.cfg file). Which bottoms are used depend on the cardset type. Each bottom has a version with a suffix of
|
|
-n, indicating the negative bottom that gets used if the appropriate option is enabled.</li>
|
|
<li>Shadow images. These will only be used if your PySol install does not support auto-generated shadows.</li>
|
|
</ul>
|
|
<h2>config.txt template</h2>
|
|
<pre>PySolFC solitaire cardset;$A;$FMT;$B;$C;$D,$E;$F;$G;$H
|
|
<internal_name>;<cardset_name>
|
|
X Y D
|
|
XOFF YOFF SXOFF SYOFF
|
|
back01.ext
|
|
back01.ext;back02.ext;back03.ext</pre>
|
|
<h2>Line 1</h2>
|
|
<p><b>$A:</b> The cardset version number that belongs to the number
|
|
of fields divided through ";" on the first line (e.g. <code>.gif;1;78;8,1016</code> → <code>$A=4</code>)</p>
|
|
<p>(<b>WARNING:</b> For Mahjongg, $A must always be 6 or 7 and the $F
|
|
field must be included in the line; however, you can put <code>0</code> in <code>$F</code> if you wish, in that case.)</p>
|
|
<p>(<b>NOTE:</b> $D and $E are comma separated and count for one
|
|
field)</p>
|
|
<p><b>$FMT:</b> The format of the images used - .gif, .png, .jpg, .ppm, and .bmp are supported</p>
|
|
<p><b>$B:</b> The type of the cardset (see types below)</p>
|
|
<h3>Cardsets Types:</h3>
|
|
<ul>
|
|
<li>
|
|
<p>French = 1</p>
|
|
</li>
|
|
<li>
|
|
<p>Hanafuda = 2</p>
|
|
</li>
|
|
<li>
|
|
<p>Tarock = 3</p>
|
|
</li>
|
|
<li>
|
|
<p>Mahjongg = 4</p>
|
|
</li>
|
|
<li>
|
|
<p>Hex A Deck = 5</p>
|
|
</li>
|
|
<li>
|
|
<p>Mughal Ganjifa = 6</p>
|
|
</li>
|
|
<li>
|
|
<p>Navagraha Ganjiga = 7</p>
|
|
</li>
|
|
<li>
|
|
<p>Dashavatara Ganjifa = 8</p>
|
|
</li>
|
|
<li>
|
|
<p>Trumps Only = 9</p>
|
|
</li>
|
|
<li>
|
|
<p>Matching = 10</p>
|
|
</li>
|
|
<li>
|
|
<p>Puzzle = 11</p>
|
|
</li>
|
|
<li>
|
|
<p>Ishido = 12</p>
|
|
</li>
|
|
</ul>
|
|
<p><b>$C:</b> The number of cards in the cardset, generally 42,
|
|
48, 52, 68, 78, 96 or 120</p>
|
|
<p><b>$D:</b> The Style of the cardset (this field can hold one
|
|
or more comma separated values)</p>
|
|
<h3>Cardsets Styles:</h3>
|
|
<ul>
|
|
<li>
|
|
<p>Abstract = 35</p>
|
|
</li>
|
|
<li>
|
|
<p>Adult = 1</p>
|
|
</li>
|
|
<li>
|
|
<p>Animals = 2</p>
|
|
</li>
|
|
<li>
|
|
<p>Anime = 3</p>
|
|
</li>
|
|
<li>
|
|
<p>Art = 4</p>
|
|
</li>
|
|
<li>
|
|
<p>Cartoons = 5</p>
|
|
</li>
|
|
<li>
|
|
<p>Children = 6</p>
|
|
</li>
|
|
<li>
|
|
<p>Classic Look = 7</p>
|
|
</li>
|
|
<li>
|
|
<p>Collectors = 8</p>
|
|
</li>
|
|
<li>
|
|
<p>Computers = 9</p>
|
|
</li>
|
|
<li>
|
|
<p>Divination = 36</p>
|
|
</li>
|
|
<li>
|
|
<p>Engines = 10</p>
|
|
</li>
|
|
<li>
|
|
<p>Fantasy = 11</p>
|
|
</li>
|
|
<li>
|
|
<p>Four Color = 37</p>
|
|
</li>
|
|
<li>
|
|
<p>Ganjifa= 30</p>
|
|
</li>
|
|
<li>
|
|
<p>Hanafuda = 12</p>
|
|
</li>
|
|
<li>
|
|
<p>Hex A Deck = 29</p>
|
|
</li>
|
|
<li>
|
|
<p>Holiday = 13</p>
|
|
</li>
|
|
<li>
|
|
<p>Ishido = 34</p>
|
|
</li>
|
|
<li>
|
|
<p>Mahjongg = 28</p>
|
|
</li>
|
|
<li>
|
|
<p>Matching = 32</p>
|
|
</li>
|
|
<li>
|
|
<p>Monochrome = 38</p>
|
|
</li>
|
|
<li>
|
|
<p>Movies = 14</p>
|
|
</li>
|
|
<li>
|
|
<p>Matrix = 31</p>
|
|
</li>
|
|
<li>
|
|
<p>Music = 15</p>
|
|
</li>
|
|
<li>
|
|
<p>Nature = 16</p>
|
|
</li>
|
|
<li>
|
|
<p>Operating Systems = 17</p>
|
|
</li>
|
|
<li>
|
|
<p>People = 19</p>
|
|
</li>
|
|
<li>
|
|
<p>Places = 20</p>
|
|
</li>
|
|
<li>
|
|
<p>Plain = 21</p>
|
|
</li>
|
|
<li>
|
|
<p>Products = 22</p>
|
|
</li>
|
|
<li>
|
|
<p>Puzzle = 33</p>
|
|
</li>
|
|
<li>
|
|
<p>Round Cardsets = 18</p>
|
|
</li>
|
|
<li>
|
|
<p>Science Fiction = 23</p>
|
|
</li>
|
|
<li>
|
|
<p>Sports = 24</p>
|
|
</li>
|
|
<li>
|
|
<p>Tarock = 27</p>
|
|
</li>
|
|
<li>
|
|
<p>Vehicles = 25</p>
|
|
</li>
|
|
<li>
|
|
<p>Video Games = 26</p>
|
|
</li>
|
|
</ul>
|
|
<p><b>$E:</b> The origin (country) of the cardset</p>
|
|
<h3>Cardsets Origins:</h3>
|
|
<ul>
|
|
<li>
|
|
<p>Australia = 1021</p>
|
|
</li>
|
|
<li>
|
|
<p>Austria = 1001</p>
|
|
</li>
|
|
<li>
|
|
<p>Belgium = 1019</p>
|
|
</li>
|
|
<li>
|
|
<p>Canada = 1010</p>
|
|
</li>
|
|
<li>
|
|
<p>China = 1011</p>
|
|
</li>
|
|
<li>
|
|
<p>Czech Republic = 1012</p>
|
|
</li>
|
|
<li>
|
|
<p>Denmark = 1013</p>
|
|
</li>
|
|
<li>
|
|
<p>England = 1003</p>
|
|
</li>
|
|
<li>
|
|
<p>France = 1004</p>
|
|
</li>
|
|
<li>
|
|
<p>Germany = 1006</p>
|
|
</li>
|
|
<li>
|
|
<p>Great Britain = 1014</p>
|
|
</li>
|
|
<li>
|
|
<p>Hungary = 1015</p>
|
|
</li>
|
|
<li>
|
|
<p>India = 1020</p>
|
|
</li>
|
|
<li>
|
|
<p>Italy = 1005</p>
|
|
</li>
|
|
<li>
|
|
<p>Japan = 1016</p>
|
|
</li>
|
|
<li>
|
|
<p>Netherlands = 1002</p>
|
|
</li>
|
|
<li>
|
|
<p>Portugal = 1022</p>
|
|
</li>
|
|
<li>
|
|
<p>Russia = 1007</p>
|
|
</li>
|
|
<li>
|
|
<p>Spain = 1008</p>
|
|
</li>
|
|
<li>
|
|
<p>Sweden = 1017</p>
|
|
</li>
|
|
<li>
|
|
<p>Switzerland = 1009</p>
|
|
</li>
|
|
<li>
|
|
<p>USA = 1018</p>
|
|
</li>
|
|
</ul>
|
|
<p><b>$F:</b> The Year the cardset was created (in the range 1000
|
|
to 2299)</p>
|
|
<p><b>$G:</b> The subtype of the cardset. Usually 0 - for French type
|
|
cardsets, a value of 1 is used if there are jokers. For Puzzle type
|
|
cardsets, it is the number of pieces per row/column.</p>
|
|
<p><b>$H:</b> Whether the cardset is a 3D Mahjongg cardset - 1 if it is, 0
|
|
if it isn't. For cardsets with a version less than 7, version 6 cardsets
|
|
treat this value as 1, and older version cardsets treat it as 0.</p>
|
|
<h2>Line 2</h2>
|
|
<p><code><internal_name></code>: A name for PySolFC to identify your
|
|
cardset (without spaces)</p>
|
|
<p>(<b>TIP:</b> You could add a number prefix (e.g. 123-cardset-name)
|
|
)</p>
|
|
<p><code><cardset_name></code>: Your cardset name as it should appear
|
|
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>
|
|
</li>
|
|
<li>
|
|
<p><b>Y:</b> The cards' height (the card image height)</p>
|
|
</li>
|
|
<li>
|
|
<p><b>D:</b> The color depth (mostly 8)</p>
|
|
</li>
|
|
</ul>
|
|
<h2>Line 4</h2>
|
|
<ul>
|
|
<li>
|
|
<p><b>XOFF:</b> The horizontal offset of the cards</p>
|
|
</li>
|
|
<li>
|
|
<p><b>YOFF:</b> The vertical offset of the cards</p>
|
|
</li>
|
|
<li>
|
|
<p><b>SXOFF:</b> The offset of the horizontal shadow (mostly
|
|
7)</p>
|
|
</li>
|
|
<li>
|
|
<p><b>SYOFF:</b> The offset of the vertical shadow (mostly 7)</p>
|
|
</li>
|
|
</ul>
|
|
<h2>Line 5</h2>
|
|
<p><code>back01.ext</code>: The name of the default back image (where <code>ext</code> means the file extension e.g: <code>png</code> or <code>gif</code>.)</p>
|
|
<h2>Line 6</h2>
|
|
<p><code>back01.ext;back02.ext;back03.ext;…`</code>: The name of the other
|
|
back images, including the default one.</p>
|
|
<h2>About this document:</h2>
|
|
<p><b>NOTE:</b> This tutorial may be incomplete. It is given as
|
|
is, without any warranty, to help players customize their own cardsets.
|
|
You are welcome to send any suggestions to: <a href="mailto:neelix570@gmail.com">the Author’s E-mail</a>,
|
|
<a href="https://github.com/shlomif/PySolFC/issues">PySol FC’s GitHub issue tracker</a> or
|
|
<a href="https://sourceforge.net/p/pysolfc/_list/tickets">PySol FC’s Sourceforge issue tracker</a>.</p>
|
|
<p><b>NOTE 2:</b> You should also place a file called <code>COPYRIGHT</code> in the same directory as <code>config.txt</code>, containing the text
|
|
that can be accessed via <code>Info/Settings</code>.</p>
|
|
<h3>License:</h3>
|
|
<p>This tutorial was created under the terms of the GNU General Public License
|
|
version 3 or later. You can redistribute it as is and/or modify it.</p>
|
|
<p>Shlomi Fish, hereby puts his modifications to this document under
|
|
<a href="https://github.com/shlomif/shlomif-computer-settings/blob/master/shlomif-settings/git/commit-messages/cc0-copyright-disclaimer.txt">CC0/Public Domain/MIT License/GPL terms</a></p>
|
|
<h3>Credits:</h3>
|
|
<p>Credits go to:</p>
|
|
<p><a href="mailto:andsa@web.de">Andreas Sauer</a> for clarifying certain
|
|
points<br></p>
|
|
<p><a href="https://www.shlomifish.org/">Shlomi Fish</a> for making some
|
|
improvements to this tutorial</p>
|