Minor change: Added constant for strings
[wordblah.git] / README.html
index 26c1aca..9f3b974 100644 (file)
        <p>To compile the source, simply run <code>make</code> inside the source directory.</p>
        <p>Requirements</p>
        <ul>
+               <li>Linux or UNIX-like OS</li>
+               <li><a href="https://clang.llvm.org/">clang</a> - C compiler and GNU <a href="https://www.gnu.org/software/make/">make</a>.</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>
+               <li><a href="https://www.gtk.org/">libgtk-3</a> devel files (for the player application)</li>
+               <li><a href="pkg-config">pkg-config</a> (for GTK)</li>
        </ul>
+       <p>The above dependencies would be installable using your distribution's package manager. Check your distribution software
+       repositories for more information. If everything went well, two executables <code>wordblah</code> and <code>wordblah_player</code>
+       should be created in the source directory.</p>
+       <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>Both master and solution password can be reset to no password by simply choosing the above options and not typing any
+               password (simply press enter for a blank passowrd).</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>
+       <h2>License</h2>
+       <p>Copyright &copy; 2020 V.Harishankar (<a href="http://harishankar.org">http://harishankar.org</a>)</p>
+       <p>This software is released under the 3-clause BSD license. Read LICENSE.txt for more information.</p>
 </body>
 </html>
\ No newline at end of file