Merge branch 'master' of iniz:/home/hari/repos/wordblah
[wordblah.git] / README.html
index 26c1aca..35f8645 100644 (file)
        <p>To compile the source, simply run <code>make</code> inside the source directory.</p>
        <p>Requirements</p>
        <ul>
+               <li><a href="https://clang.llvm.org/">clang</a> - C compiler and GNU <a href="https://www.gnu.org/software/make/">make</a>.
+               You could also edit the Makefile to use <code>gcc</code> instead of clang if you so wish.</li>
                <li><a href="https://libgd.github.io/">libgd</a> devel (available on most *nix)</li>
                <li><a href="https://www.zlib.net/">zlib</a> devel (available on most *nix)</li>
                <li><a href="https://www.openssl.org/">libcrypto</a> devel files (available on most *nix)</li>
        </ul>
+       <h2>Usage</h2>
+       <h3>Creating a puzzle</h3>
+       <p>To run the creator application just run <code>./wordblah</code> from the command line from within the directory
+       where the executable resides. (to run the player application the executable is <code>wordblah_player</code>.)</p>
+       <h4>Command line options</h4>
+       <p>To open an existing puzzle file</p>
+       <pre>./wordblah &lt;filename&gt;</pre>
+       <p>To create a new puzzle file</p>
+       <pre>./wordblah &lt;filename&gt; new &lt;gridsize&gt;</pre>
+       <p>Where <code>gridsize</code> is any number less than the maximum allowed size. <b>Warning:</b> using <code>new</code> will
+       overwrite any existing file without warning once you save!</p>
+       <h4>Notes</h4>
+       <ul>
+               <li>First create a new puzzle from the wordblah main menu if you haven't already invoked the command line 
+               arguments to create/open a file. Choose an appropriate grid size - this cannot be changed later!</li>
+               <li>Add words across and down. Note that, any letter that crosses any other word will overwrite existing cells without warning. 
+               This is deliberate to keep building the puzzle simple and without too many prompts. You can always make modifications to 
+               the puzzle until you are satisfied.</li>
+               <li>Once satisfied with your grid, choose "Freeze grid" from the menu. This will black out unused grid cells and also number the
+               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
+               changes to existing words. To make changes to words in frozen grids, first unfreeze the grid by choosing "Unfreeze grid". 
+               <b>Warning:</b> Unfreezing a frozen grid will remove all the word clues once you save and reload the file - this is because
+               unfreezing potentially changes the entire grid, including the list of words and word positions.</li>
+               <li>Add clues for all the words. From "Set Clue - Across Word" and "Set Clue - Down Word" from the menu. Remember to save the
+               puzzle from time to time! You can only add clues in frozen grids</li>
+               <li>You may want to optionally password protect the puzzle from being unauthorizedly edited by setting the master password.
+               Choose the menu "Set master (editing) password" from the menu.</li>
+               <li>You may also want to optionally protect the solution from being revealed in the player application when the user clicks on
+               <i>View -> Reveal Solution</i> menu item.       Choose "Set solution password" to set the password to protect the solution from 
+               being revaled in the player.</li>
+               <li>Save and quit.</li>
+               <li>Only frozen puzzles can be opened and played with the player application. Unfrozen puzzles are incomplete, hence cannot 
+               be played.</li>
+       </ul>   
 </body>
 </html>
\ No newline at end of file