49378e61f8cb53c1ae8725dbff6da058695be2c5
[wordblah.git] / README.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title></title>
6 </head>
7 <body>
8 <h1>Wordblah Readme</h1>
9 <p>Wordblah is a crossword puzzle creator and maker written in C. The creator is a terminal application and
10 the default player application is written in GTK.</p>
11 <h2>Features</h2>
12 <ol>
13 <li>Square grid upto 25x25 supported.</li>
14 <li>Add words across or down.</li>
15 <li>Automatic word numbering after grid is frozen.</li>
16 <li>Add word Clues.</li>
17 <li>Export the puzzle and/or solution in PNG format.</li>
18 <li>Export the clues as a text file.</li>
19 <li>Password protect the puzzle for editing (master password)</li>
20 <li>Password protect viewing the solution (in the player application)</li>
21 </ol>
22 <h2>Compiling</h2>
23 <p>To compile the source, simply run <code>make</code> inside the source directory.</p>
24 <p>Requirements</p>
25 <ul>
26 <li><a href="https://clang.llvm.org/">clang</a> - C compiler and GNU <a href="https://www.gnu.org/software/make/">make</a>.
27 You could also edit the Makefile to use <code>gcc</code> instead of clang if you so wish.</li>
28 <li><a href="https://libgd.github.io/">libgd</a> devel (available on most *nix)</li>
29 <li><a href="https://www.zlib.net/">zlib</a> devel (available on most *nix)</li>
30 <li><a href="https://www.openssl.org/">libcrypto</a> devel files (available on most *nix)</li>
31 </ul>
32 <h2>Usage</h2>
33 <h3>Creating a puzzle</h3>
34 <p>To run the creator application just run <code>./wordblah</code> from the command line from within the directory
35 where the executable resides. (to run the player application the executable is <code>wordblah_player</code>.)</p>
36 <h4>Command line options</h4>
37 <p>To open an existing puzzle file</p>
38 <pre>./wordblah &lt;filename&gt;</pre>
39 <p>To create a new puzzle file</p>
40 <pre>./wordblah &lt;filename&gt; new &lt;gridsize&gt;</pre>
41 <p>Where <code>gridsize</code> is any number less than the maximum allowed size. <b>Warning:</b> using <code>new</code> will
42 overwrite any existing file without warning once you save!</p>
43 <h4>Notes</h4>
44 <ul>
45 <li>First create a new puzzle from the wordblah main menu if you haven't already invoked the command line
46 arguments to create/open a file. Choose an appropriate grid size - this cannot be changed later!</li>
47 <li>Add words across and down. Note that, any letter that crosses any other word will overwrite existing cells without warning.
48 This is deliberate to keep building the puzzle simple and without too many prompts. You can always make modifications to
49 the puzzle until you are satisfied.</li>
50 <li>Once satisfied with your grid, choose "Freeze grid" from the menu. This will black out unused grid cells and also number the
51 across and down words. Now you are ready to add the clues. Once a grid is frozen, you cannot add any further words to make
52 changes to existing words. To make changes to words in frozen grids, first unfreeze the grid by choosing "Unfreeze grid".
53 <b>Warning:</b> Unfreezing a frozen grid will remove all the word clues once you save and reload the file - this is because
54 unfreezing potentially changes the entire grid, including the list of words and word positions.</li>
55 <li>Add clues for all the words. From "Set Clue - Across Word" and "Set Clue - Down Word" from the menu. Remember to save the
56 puzzle from time to time! You can only add clues in frozen grids</li>
57 <li>You may want to optionally password protect the puzzle from being unauthorizedly edited by setting the master password.
58 Choose the menu "Set master (editing) password" from the menu.</li>
59 <li>You may also want to optionally protect the solution from being revealed in the player application when the user clicks on
60 <i>View -> Reveal Solution</i> menu item. Choose "Set solution password" to set the password to protect the solution from
61 being revaled in the player.</li>
62 <li>Save and quit.</li>
63 <li>Only frozen puzzles can be opened and played with the player application. Unfrozen puzzles are incomplete, hence cannot
64 be played.</li>
65 </ul>
66
67 </body>
68 </html>