summaryrefslogtreecommitdiff
path: root/manual/plugins/goban.tex
diff options
context:
space:
mode:
Diffstat (limited to 'manual/plugins/goban.tex')
-rw-r--r--manual/plugins/goban.tex243
1 files changed, 243 insertions, 0 deletions
diff --git a/manual/plugins/goban.tex b/manual/plugins/goban.tex
new file mode 100644
index 0000000000..45ac980afc
--- /dev/null
+++ b/manual/plugins/goban.tex
@@ -0,0 +1,243 @@
1\subsection{Goban}
2\screenshot{plugins/images/ss-goban}{Goban}{The Rockbox Goban plugin}
3Goban is a a plugin for playing, viewing and recording games of Go (also known
4as Weiqi, Baduk, Igo and Goe). It uses standard Smart Game Format (SGF) files
5for saving and loading games.
6
7You can find a short introduction to Go at
8\url{http://senseis.xmp.net/?WhatIsGo} and more information about SGF files
9can be read at \url{http://senseis.xmp.net/?SmartGameFormat} or the SGF
10specification at
11\url{http://www.red-bean.com/sgf/}.
12
13This plugin can load all modern SGF files (file format 3 or 4) with few problems.
14It attempts to preserve SGF properties which it doesn't understand, and most common
15SGF properties are handled fully. It is possible to view (and edit if you like)
16Kogo's Joseki Dictionary (\url{http://waterfire.us/joseki.htm}) with this plugin,
17although the load and save times can be on the order of a minute or two on
18particularly slow devices. Large SGF files may stop audio playback for the duration
19of the plugin's run in order to free up more memory and some very large SGF files will
20not even load on devices with little available memory.
21
22\emph{Note: } The plugin does \emph{NOT} support SGF files with multiple games in
23one file. These are rare, but if you have one don't even try it (the file will most
24likely be corrupted if you save over it). You have been warned.
25
26The file \fname {"/sgf/gbn\_def.sgf"} is used by the plugin to store any unsaved
27changes in the most recently loaded game. This means that if you forget to save your
28changes, you should load \fname {"/sgf/gbn\_def.sgf"} immediately to offload the changes
29to another file. If you load another file first then your changes will be lost
30permanently. The \fname {"/sgf/gbn\_def.sgf"} file is also the file loaded if another
31is not selected.
32
33The information panel which displays the current move number may also contain
34these markers: \\
35\begin{tabularx}{\textwidth}{lX}\toprule
36\textbf{Mark} & \textbf{Meaning} \\ \midrule
37 \emph{+ } & There are nodes after the current node in the SGF tree. \\
38 \emph{* } & There are sibling variations which can be navigated to using the %
39 \emph{Next Variation} menu option of the \emph{Context Menu}%
40 \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_FUZE_PAD,RECORDER_PAD,%
41 MROBE100_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IRIVER_H100_PAD,%
42 IRIVER_H300_PAD}{ or the %
43 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD}{\ButtonRec}%
44 \opt{RECORDER_PAD}{\ButtonOn}%
45 \opt{MROBE100_PAD}{\ButtonPower}%
46 \opt{GIGABEAT_PAD}{\ButtonA}%
47 \opt{GIGABEAT_S_PAD}{\ButtonPlay}%
48 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec} button}. \\
49 \emph{C } & There is a comment at the current node. It can be viewed/edited using
50 the \emph{Add/Edit Comment} menu option of the \emph{Context Menu}. \\
51\bottomrule
52\end{tabularx}
53
54\subsection{Controls}
55\begin{table}
56 \begin{btnmap}{}{}
57 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD,%
58 GIGABEAT_S_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,MROBE100_PAD,%
59 IAUDIO_X5_PAD,RECORDER_PAD,ONDIO_PAD}{\ButtonUp}%
60 \opt{IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD}{\ButtonMenu}%
61 \opt{IRIVER_H10_PAD}{\ButtonScrollUp} & Move cursor up \\
62 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,
63 IRIVER_H100_PAD,IRIVER_H300_PAD,MROBE100_PAD,IAUDIO_X5_PAD,RECORDER_PAD,
64 ONDIO_PAD}{\ButtonDown}%
65 \opt{IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD}{\ButtonPlay}%
66 \opt{IRIVER_H10_PAD}{\ButtonScrollDown} & Move cursor down \\
67 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD,%
68 SANSA_C200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IRIVER_H10_PAD,IRIVER_H100_PAD,%
69 IRIVER_H300_PAD,MROBE100_PAD,IAUDIO_X5_PAD,RECORDER_PAD,%
70 ONDIO_PAD}{\ButtonLeft} & Move cursor left %
71 \opt{ONDIO_PAD}{if in \emph{board} navigation mode, or %
72 retreat one node in the game tree if in %
73 \emph{tree} navigation mode} \\
74 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD,%
75 SANSA_C200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IRIVER_H10_PAD,IRIVER_H100_PAD,%
76 IRIVER_H300_PAD,MROBE100_PAD,IAUDIO_X5_PAD,RECORDER_PAD,%
77 ONDIO_PAD}{\ButtonRight} & Move cursor right
78 \opt{ONDIO_PAD}{if in \emph{board} navigation mode, or advance one node in
79 the game tree if in \emph{tree} navigation mode} \\
80 \opt{ONDIO_PAD}{{\ButtonOff} & Toggle between \emph{board} and \emph{tree}
81 navigation modes \\}
82 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD,%
83 SANSA_C200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,%
84 MROBE100_PAD,IAUDIO_X5_PAD}{\ButtonSelect}%
85 \opt{IRIVER_H10_PAD,RECORDER_PAD}{\ButtonPlay}%
86 \opt{ONDIO_PAD}{\ButtonMenu} & Play a move (or use a tool if play-mode has
87 been changed). \\
88 \nopt{ONDIO_PAD}{
89 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,IPOD_1G2G_PAD,IPOD_3G_PAD,%
90 IPOD_4G_PAD}{\ButtonScrollBack}%
91 \opt{SANSA_C200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonVolDown}%
92 \opt{IRIVER_H10_PAD}{\ButtonFF}%
93 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}%
94 \opt{MROBE100_PAD}{\ButtonMenu}%
95 \opt{IAUDIO_X5_PAD}{\ButtonPlay}%
96 \opt{RECORDER_PAD}{\ButtonFOne} & Retreat one node in the game tree \\
97 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD,%
98 IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD}{\ButtonScrollFwd}%
99 \opt{SANSA_C200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonVolUp}%
100 \opt{IRIVER_H10_PAD}{\ButtonRew}%
101 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}%
102 \opt{MROBE100_PAD}{\ButtonPlay}%
103 \opt{IAUDIO_X5_PAD}{\ButtonRec}%
104 \opt{RECORDER_PAD}{\ButtonFThree} & Advance one node in the game tree \\ }
105 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,IRIVER_H10_PAD,%
106 IAUDIO_X5_PAD}{\ButtonPower}%
107 \opt{MROBE100_PAD}{\ButtonDisplay}%
108 \opt{IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD}{Long \ButtonSelect}%
109 \opt{GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonMenu}%
110 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}%
111 \opt{RECORDER_PAD}{\ButtonFTwo}%
112 \opt{ONDIO_PAD}{Long \ButtonMenu} & Main Menu \\
113 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,%
114 IRIVER_H100_PAD,IRIVER_H300_PAD,MROBE100_PAD,IAUDIO_X5_PAD,%
115 IRIVER_H10_PAD}{%
116 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD,%
117 GIGABEAT_S_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,MROBE100_PAD,%
118 IAUDIO_X5_PAD}{Long \ButtonSelect}%
119 \opt{IRIVER_H10_PAD}{Long \ButtonPlay} & Context Menu \\ }
120 \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_FUZE_PAD,RECORDER_PAD,MROBE100_PAD,%
121 GIGABEAT_PAD,GIGABEAT_S_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{%
122 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonRec}%
123 \opt{SANSA_C200_PAD}{\ButtonRec}%
124 \opt{RECORDER_PAD}{\ButtonOn}%
125 \opt{MROBE100_PAD}{\ButtonPower}%
126 \opt{GIGABEAT_PAD}{\ButtonA}%
127 \opt{GIGABEAT_S_PAD}{\ButtonPlay}%
128 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec} & Go to the next variation %
129 when at the first node in %
130 a branch \\ }
131 \end{btnmap}
132\end{table}
133
134\subsection{Menus}
135\begin {description}
136\item [Main Menu. ]
137 The main menu for game setup and access to other menus.
138
139 \emph {New. } Create a new game with your choice of board size and handicaps. \\
140 \emph {Save. } Save the current state of the game. It will be saved to
141 \fname {"/sgf/gbn\_def.sgf"} unless otherwise set. \\
142 \emph {Save As. } Save to a specified file. \\
143 \emph {Game Info. } View and modify the metadata of the current game. \\
144 \emph {Playback Control. } Control the playback of the current playlist and
145 modify the volume of your player. \\
146 \emph {Zoom Level. } Zoom in or out on the board. If you set the zoom level, it
147 will be saved and used again the next time you open this plugin. \\
148 \emph {Options. } Open the Options Menu. \\
149 \emph {Context Menu. } Open the Context Menu which allows you to set play modes
150 and other tools. \\
151 \emph {Quit. } Leave the plugin. Any unsaved changes are saved to
152 \fname {"/sgf/gbn\_def.sgf"}. \\
153
154\item [Game Info. ]
155 The menu for modifying game info (metadata) of the current game. This
156 information will be saved to the SGF file and can be viewed in almost all
157 SGF readers.
158
159 \emph {Basic Info. } Shows a quick view of the basic game metadata, if any
160 has been set (otherwise does nothing). This option does not allow editing. \\
161 \emph {Time Limit. } The time limit of the current game. \\
162 \emph {Overtime. } The overtime settings of the current game. \\
163 \emph {Result. } The result of the current game. This text must follow the
164 format specified at \url{http://www.red-bean.com/sgf/properties.html#RE} to
165 be read by other SGF readers. Some examples are \emph {B+R} (Black wins by
166 resignation), \emph {B+5.5} (Black wins by 5.5 points), \emph {W+T} (White wins
167 on Time). \\
168 \emph {Handicap. } The handicap of the current game. \\
169 \emph {Komi. } The komi of the current game (compensation to the white
170 player for black having the first move). \\
171 \emph {Ruleset. } The name of the ruleset in use for this game. The \emph{NZ}
172 and \emph{GOE} rulesets include suicide as a legal move (for multi-stone
173 suicide only); the rest do not. \\
174 \emph {Black Player. } The name of the black player. \\
175 \emph {Black Rank. } Black's rank, in dan or kyu. \\
176 \emph {Black Team. } The name of black's team, if any. \\
177 \emph {White Player. } The name of the white player. \\
178 \emph {White Rank. } White's rank, in dan or kyu. \\
179 \emph {White Team. } The name of white's team, if any. \\
180 \emph {Date. } The date that this game took place. This text must follow the
181 format specified at \url{http://www.red-bean.com/sgf/properties.html#DT} to
182 be read by other SGF readers. \\
183 \emph {Event. } The name of the event which this game was a part of, if any.
184 \\
185 \emph {Place. } The place that this game took place. \\
186 \emph {Round. } If part of a tournament, the round number for this game. \\
187 \emph {Done. } Return to the previous menu. \\
188
189\item [Options. ]
190 Customize the behavior of the plugin in certain ways.
191
192 \emph {Show Child Variations? } Enable this to mark child variations on the board
193 if there are more than one. Note: variations which don't start with a move are
194 not visible in this way. \\
195 \emph {Disable Idle Poweroff? } Enable this if you do not want the \dap{} to turn
196 off after a certain period of inactivity (depends on your global Rockbox
197 settings). \\
198 \emph {Idle Autosave Time. } Set the amount of idle time to wait before
199 automatically saving any unsaved changes. These autosaves go to the file
200 \fname {"/sgf/gbn\_def.sgf"} regardless of if you have loaded a game or used
201 \emph {Save As} to save the game before or not. Set to \emph {Off} to disable
202 this functionality completely. \\
203 \emph {Automatically Show Comments? } If this is enabled and you navigate to a
204 node containing game comments, they will automatically be displayed. \\
205
206\item [Context Menu. ]
207 The menu for choosing different play modes and tools, adding or editing
208 comments, adding pass moves, or switching between sibling variations.
209
210 \emph {Play Mode. } Play moves normally on the board. If there are
211 child moves from the current node, this mode will let you follow variations
212 by simply playing the first move in the sequence. Unless it is following a
213 variation, this mode will not allow you to play illegal moves. This is the
214 default mode before another is set after loading a game or creating a new
215 one. \\
216 \emph {Add Black Mode. } Add black stones to the board as desired. These
217 stones are not moves and do not perform captures or count as ko threats. \\
218 \emph {Add White Mode. } Add white stones to the board as desired. These
219 stones are not moves and do not perform captures or count as ko threats. \\
220 \emph {Erase Stone Mode. } Remove stones from the board as desired. These
221 removed stones are not counted as captured, they are simply removed. \\
222 \emph {Pass. } Play a single pass move. This does not change the mode of
223 play. \\
224 \emph {Next Variation. } If the game is at the first move in a variation,
225 this will navigate to the next variation after the current one. This is
226 the only way to reach variations which start with adding or removing
227 stones, as you cannot follow them by "playing" the same move. \\
228 \emph {Force Play Mode. } The same as Play Mode except that this mode will
229 allow you to play illegal moves such as retaking a ko immediately without a
230 ko threat, suicide on rulesets which don't allow it (including single stone
231 suicide), and playing a move where there is already a stone. \\
232 \emph {Mark Mode. } Add generic marks to the board, or remove them. \\
233 \emph {Circle Mode. } Add circle marks to the board, or remove them. \\
234 \emph {Square Mode. } Add square marks to the board, or remove them. \\
235 \emph {Triangle Mode. } Add triangle marks to the board, or remove them. \\
236 \emph {Label Mode. } Add one character labels to the board. Each label
237 starts at the letter 'a' and each subsequent application of a label will
238 increment the letter. To remove a label, click on it until it cycles
239 through the allowed letters and disappears. \\
240 \emph {Add/Edit Comment. } Add or edit a comment at the current node. \\
241 \emph {Done. } Go back to the previous screen. \\
242\end{description}
243