Added README.html file
[wordblah.git] / README.html
diff --git a/README.html b/README.html
new file mode 100644 (file)
index 0000000..49378e6
--- /dev/null
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title></title>
+</head>
+<body>
+       <h1>Wordblah Readme</h1>
+       <p>Wordblah is a crossword puzzle creator and maker written in C. The creator is a terminal application and 
+       the default player application is written in GTK.</p>
+       <h2>Features</h2>
+       <ol>
+               <li>Square grid upto 25x25 supported.</li>
+               <li>Add words across or down.</li>
+               <li>Automatic word numbering after grid is frozen.</li>
+               <li>Add word Clues.</li>        
+               <li>Export the puzzle and/or solution in PNG format.</li>
+               <li>Export the clues as a text file.</li>
+               <li>Password protect the puzzle for editing (master password)</li>
+               <li>Password protect viewing the solution (in the player application)</li>
+       </ol>
+       <h2>Compiling</h2>
+       <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