KNights – chess game
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CreatingThemes 6.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. ====================
  2. Creating Themes
  3. ====================
  4. This document is your guide to creating themes for the Knights chess
  5. interface.
  6. -----------------------
  7. 1. Anatomy of a Theme:
  8. -----------------------
  9. A theme is a collection of images, sounds, and settings which create a
  10. unique representation of a chess environment. Typically, this theme is in the
  11. form of a gzipped tarball.
  12. There are three types of themes for Knights: Chessboard themes, Chessmen
  13. themes, and Audio themes.
  14. ------------------------
  15. 2. Tarball Information:
  16. ------------------------
  17. Themes must be stored in tarballs. Knights will use any type of tarball that
  18. KDE supports. A good test is to try loading it in Konqueror using a
  19. tar://mytarball URL. Generaly speaking, using the standard gzipped tarball
  20. ( with a '.tar.gz' extension ) will be fine.
  21. The first two letters of your filename must be 'KB', 'KC', or 'KS' depending on
  22. the type of theme it is. KB tells Knights that it is a Chessboard theme,
  23. and KC represents Chessmen themes. KS is a sound theme. This is
  24. case-sensitive.
  25. Between the prefix and the extension comes your theme's name. Write it exactly
  26. how you want it displayed in Knights, except use underscores instead of spaces.
  27. So if you want your theme to be called "My Uber Chessmen" within Knights, you'd
  28. have the following filename: KCMy_Uber_Chessmen.tar.gz
  29. As a general rule, you should remove write and execute permissions on the
  30. files, and either remove Owner/Group attributes, or make them something
  31. harmless ( like nobody:users )
  32. ---------------------------
  33. 3. theme.conf Information:
  34. ---------------------------
  35. Every theme must contain a text file called 'theme.conf'. Here's a
  36. sample theme.conf file:
  37. ################################
  38. # A Sample theme.conf file
  39. ################################
  40. [General]
  41. Type=Board
  42. Name=Default
  43. Version=1.0
  44. Author=Troy Corbin Jr.
  45. AuthorEmail=tcorbin@users.sourceforge.net
  46. AuthorWWW=http://knights.sourceforge.net
  47. Notes=This is the default chessboard for Knights. It was made with the Gimp.
  48. [2DWhite]
  49. King=white.king.png
  50. Queen=white.queen.png
  51. Bishop=white.bishop.png
  52. Knight=white.knight.png
  53. Rook=white.rook.png
  54. Pawn=white.pawn.png
  55. [2DBlack]
  56. King=black.king.png
  57. Queen=black.queen.png
  58. Bishop=black.bishop.png
  59. Knight=black.knight.png
  60. Rook=black.rook.png
  61. Pawn=black.pawn.png
  62. [2DBoard]
  63. Light=square.light.png
  64. Dark=square.dark.png
  65. Motion=square.motion.png
  66. Select=square.select.png
  67. Danger=square.danger.png
  68. [Coordinates]
  69. TextColor=255,255,255
  70. ShadowColor=0,0,0
  71. [Audio]
  72. Select=select.wav
  73. Move=move.wav
  74. Check=check.wav
  75. MatchOver=matchover.wav
  76. Challenge=notify.wav
  77. Tell=tell.wav
  78. Notification=notify.wav
  79. DrawOffer=draw.wav
  80. Say=tell.wav
  81. Promote=promote.wav
  82. ################################
  83. Nothing too tough to figure out. 'Type' must be one of the following:
  84. - Board
  85. - Chessmen
  86. - Audio
  87. - 3DBoard ( For future use )
  88. - 3DChessmen ( For future use )
  89. 'Name' is your theme's name and 'Version' is the version of your theme. Author,
  90. AuthorEmail, and AuthorWWW should be self explanitory. Notes are any comments
  91. you want to add.
  92. The '2DWhite' and '2DBlack' sections are required in Chessman themes. Each line
  93. specifies the file to be used for each different piece type.
  94. '2DBoard' and 'Coordinates' are required in Chessboard themes. 'Light' and
  95. 'Dark' specify the file to be used for each color square on the board. 'Motion'
  96. is the highlight used to indicate that a piece moved, 'Select' is the selection
  97. highlight, and 'Danger' indicates an attacked piece. The 'Coordinates' are
  98. standard 8bit RGB colors. These are the colors that Knights will use for board
  99. coordinates. Try to use colors that contrast with the board itself.
  100. New in Knights 0.5.6 are Chessboard borders. They are not required, but they
  101. can greatly enhance the appearance of your chessboard. If you'd like to use one
  102. then under '2DBoard' add the following lines:
  103. HaveBorder=true
  104. Border=border.png
  105. BorderLightOn=light_on.png
  106. BorderLightOff=light_off.png
  107. -----------------------
  108. 4. Pixmap Information:
  109. -----------------------
  110. Your pixmaps can be in any format that Qt supports, as long as it supports an
  111. alpha channel. For this reason you are strongly encouraged to stick with PNG
  112. images. Note that there are a few exceptions to this in Chessboard themes. The
  113. 'Light', 'Dark', and 'Border' pixmaps constitute the lowest layer of graphics,
  114. and so they will never be transparent. Therefore, for these items you can use
  115. non-transparent file types ( like JPEG ).
  116. Knights will scale your pixmaps to the current theme size. This means you can
  117. supply any sized images you want and Knights will make it work. However, when
  118. Knights has to enlarge a pixmap, the resulting image tends to be of poor
  119. quality. To keep this from happening to your themes, you should make all your
  120. pixmaps 144 pixels by 144 pixels. This ensures that your images will never be
  121. enlarged, and it's not so large that it's wasteful.
  122. Borders are an exception to the size rule. The 'Border' itself needs to be 9
  123. times the size of your other images. So if you use the recommended 144 pixel
  124. image size, the 'Border' needs to be 1296 pixels. Likewise, the 'BorderLightOn'
  125. and 'BorderLightOff' images need to be half the size of your other images. So
  126. a regular size image of 144 pixels required that the lights be 72 pixels.
  127. ----------------------
  128. 5. Audio Information:
  129. ----------------------
  130. Like pixmaps, you can supply your audio using any file format that aRts
  131. supports. I recommend you stick with .wav and .ogg, although the last time
  132. I checked aRts' Ogg Vorbis support was flaky with short sounds. Also, for
  133. very short sounds, .wav files are actually smaller. It's best to try both
  134. and see which works best with your paticular sounds.
  135. ----------------------
  136. 6. Copyrights:
  137. ----------------------
  138. If you're planning to share your themes with the Knights Project, you must be
  139. the copyright owner on all the material contained in the theme. As much as I'd
  140. love to see the heads of Neo and Agent Smith flying around the board, I don't
  141. want to recieve any nasty letters from Warner Brothers.
  142. Your material must also be released under a GNU or similar license. If you're
  143. in doubt, contact us and we'll work it out.