diff --git a/Buildscr b/Buildscr index 6925ce3..9552fb3 100644 --- a/Buildscr +++ b/Buildscr @@ -29,7 +29,7 @@ in puzzles do make clean in puzzles do make -f Makefile.doc clean in puzzles do make -f Makefile.doc chm in puzzles do make -f Makefile.doc # build help file for installer -in puzzles do perl winiss.pl $(revision) wingames.lst > puzzles.iss +in puzzles do perl winiss.pl $(revision) gamedesc.txt > puzzles.iss delegate windows # Ignore the poorly controlled return value from HHC, and instead # just test that the output file was generated. @@ -66,7 +66,7 @@ in puzzles do chmod +x *.exe # approaches such as a third-party CAB generator), I don't think I # can sensibly enable this build. -#in puzzles do perl wceinf.pl wingames.lst > puzzles.inf +#in puzzles do perl wceinf.pl gamedesc.txt > puzzles.inf #delegate windows # in puzzles do cmd /c 'wcearmv4 & nmake -f Makefile.wce clean' # in puzzles do cmd /c 'wcearmv4 & nmake -f Makefile.wce VER=-DREVISION=$(revision)' @@ -89,11 +89,11 @@ in puzzles/doc do halibut --html -Chtml-contents-filename:index.html -Chtml-inde in puzzles/devel do halibut --html -Chtml-contents-filename:index.html -Chtml-index-filename:indexpage.html -Chtml-template-filename:%k.html -Chtml-template-fragment:%k ../devel.but # Move the deliver-worthy Windows binaries (those specified in -# wingames.lst, which is generated by mkfiles.pl and helpfully +# gamedesc.txt, which is generated by mkfiles.pl and helpfully # excludes the command-line auxiliary utilities such as solosolver, # and nullgame.exe) into a subdirectory for easy access. in puzzles do mkdir winbin -in puzzles do mv `cut -f1 -d: wingames.lst` winbin +in puzzles do mv `cut -f2 -d: gamedesc.txt` winbin # Make a zip file of the Windows binaries and help files. in puzzles do zip -j puzzles.zip winbin/*.exe puzzles.chm puzzles.hlp puzzles.cnt diff --git a/CHECKLST.txt b/CHECKLST.txt index 8c6f03f..55d190d 100644 --- a/CHECKLST.txt +++ b/CHECKLST.txt @@ -17,8 +17,8 @@ Create a .R file for it which: - adds auxiliary solver binaries if any - adds it to $(GAMES) in the GTK makefile, for `make install' - adds it to list.c for the OS X binary - - adds it to wingames.lst along with a textual name, for the build - system and Windows installer. + - adds it to gamedesc.txt, with its Windows executable name, display + name, and slightly longer description. If the puzzle is by a new author, modify the copyright notice in LICENCE and in puzzles.but. (Also in index.html, but that's listed diff --git a/blackbox.R b/blackbox.R index d9751ad..65220be 100644 --- a/blackbox.R +++ b/blackbox.R @@ -14,6 +14,6 @@ GAMES += blackbox A(blackbox) \ !end -!begin >wingames.lst -blackbox.exe:Black Box +!begin >gamedesc.txt +blackbox:blackbox.exe:Black Box:Ball-finding puzzle !end diff --git a/bridges.R b/bridges.R index d1c4d37..2f0fd6c 100644 --- a/bridges.R +++ b/bridges.R @@ -16,6 +16,6 @@ GAMES += bridges A(bridges) \ !end -!begin >wingames.lst -bridges.exe:Bridges +!begin >gamedesc.txt +bridges:bridges.exe:Bridges:Bridge-placing puzzle !end diff --git a/cube.R b/cube.R index 6cea550..8fa472c 100644 --- a/cube.R +++ b/cube.R @@ -14,6 +14,6 @@ GAMES += cube A(cube) \ !end -!begin >wingames.lst -cube.exe:Cube +!begin >gamedesc.txt +cube:cube.exe:Cube:Rolling cube puzzle !end diff --git a/dominosa.R b/dominosa.R index 2282653..2393626 100644 --- a/dominosa.R +++ b/dominosa.R @@ -16,6 +16,6 @@ GAMES += dominosa A(dominosa) \ !end -!begin >wingames.lst -dominosa.exe:Dominosa +!begin >gamedesc.txt +dominosa:dominosa.exe:Dominosa:Domino tiling puzzle !end diff --git a/fifteen.R b/fifteen.R index 6a6cded..9a3f72b 100644 --- a/fifteen.R +++ b/fifteen.R @@ -14,6 +14,6 @@ GAMES += fifteen A(fifteen) \ !end -!begin >wingames.lst -fifteen.exe:Fifteen +!begin >gamedesc.txt +fifteen:fifteen.exe:Fifteen:Sliding block puzzle !end diff --git a/filling.R b/filling.R index 385c426..3769c00 100644 --- a/filling.R +++ b/filling.R @@ -19,6 +19,6 @@ GAMES += filling A(filling) \ !end -!begin >wingames.lst -filling.exe:Filling +!begin >gamedesc.txt +filling:filling.exe:Filling:Polyomino puzzle !end diff --git a/flip.R b/flip.R index 167e859..997c7c2 100644 --- a/flip.R +++ b/flip.R @@ -16,6 +16,6 @@ GAMES += flip A(flip) \ !end -!begin >wingames.lst -flip.exe:Flip +!begin >gamedesc.txt +flip:flip.exe:Flip:Tile inversion puzzle !end diff --git a/galaxies.R b/galaxies.R index bfa347a..91e814b 100644 --- a/galaxies.R +++ b/galaxies.R @@ -23,6 +23,6 @@ GAMES += galaxies A(galaxies) \ !end -!begin >wingames.lst -galaxies.exe:Galaxies +!begin >gamedesc.txt +galaxies:galaxies.exe:Galaxies:Symmetric polyomino puzzle !end diff --git a/guess.R b/guess.R index f35b4d4..b589645 100644 --- a/guess.R +++ b/guess.R @@ -14,6 +14,6 @@ GAMES += guess A(guess) \ !end -!begin >wingames.lst -guess.exe:Guess +!begin >gamedesc.txt +guess:guess.exe:Guess:Combination-guessing puzzle !end diff --git a/inertia.R b/inertia.R index 84829bd..24b4d16 100644 --- a/inertia.R +++ b/inertia.R @@ -14,6 +14,6 @@ GAMES += inertia A(inertia) \ !end -!begin >wingames.lst -inertia.exe:Inertia +!begin >gamedesc.txt +inertia:inertia.exe:Inertia:Gem-collecting puzzle !end diff --git a/keen.R b/keen.R index e93df34..06e7aa0 100644 --- a/keen.R +++ b/keen.R @@ -20,6 +20,6 @@ GAMES += keen A(keen) \ !end -!begin >wingames.lst -keen.exe:Keen +!begin >gamedesc.txt +keen:keen.exe:Keen:Arithmetic Latin square puzzle !end diff --git a/lightup.R b/lightup.R index 87246af..82b6bdc 100644 --- a/lightup.R +++ b/lightup.R @@ -19,6 +19,6 @@ GAMES += lightup A(lightup) \ !end -!begin >wingames.lst -lightup.exe:Light Up +!begin >gamedesc.txt +lightup:lightup.exe:Light Up:Light-bulb placing puzzle !end diff --git a/loopy.R b/loopy.R index 5bad5d2..7f68b37 100644 --- a/loopy.R +++ b/loopy.R @@ -26,6 +26,6 @@ GAMES += loopy A(loopy) \ !end -!begin >wingames.lst -loopy.exe:Loopy +!begin >gamedesc.txt +loopy:loopy.exe:Loopy:Loop-drawing puzzle !end diff --git a/magnets.R b/magnets.R index a3ba7d1..997371f 100644 --- a/magnets.R +++ b/magnets.R @@ -19,6 +19,6 @@ GAMES += magnets A(magnets) \ !end -!begin >wingames.lst -magnets.exe:Magnets +!begin >gamedesc.txt +magnets:magnets.exe:Magnets:Magnet-placing puzzle !end diff --git a/map.R b/map.R index a26e8b8..f5950b4 100644 --- a/map.R +++ b/map.R @@ -19,6 +19,6 @@ GAMES += map A(map) \ !end -!begin >wingames.lst -map.exe:Map +!begin >gamedesc.txt +map:map.exe:Map:Map-colouring puzzle !end diff --git a/mines.R b/mines.R index 4550e18..0212a48 100644 --- a/mines.R +++ b/mines.R @@ -19,6 +19,6 @@ GAMES += mines A(mines) \ !end -!begin >wingames.lst -mines.exe:Mines +!begin >gamedesc.txt +mines:mines.exe:Mines:Mine-finding puzzle !end diff --git a/net.R b/net.R index b880c7c..b544278 100644 --- a/net.R +++ b/net.R @@ -18,6 +18,6 @@ GAMES += net A(net) \ !end -!begin >wingames.lst -netgame.exe:Net +!begin >gamedesc.txt +net:netgame.exe:Net:Network jigsaw puzzle !end diff --git a/netslide.R b/netslide.R index 29d538c..4a35e77 100644 --- a/netslide.R +++ b/netslide.R @@ -16,6 +16,6 @@ GAMES += netslide A(netslide) \ !end -!begin >wingames.lst -netslide.exe:Netslide +!begin >gamedesc.txt +netslide:netslide.exe:Netslide:Toroidal sliding network puzzle !end diff --git a/pattern.R b/pattern.R index 1e9bc18..fe83bae 100644 --- a/pattern.R +++ b/pattern.R @@ -17,6 +17,6 @@ GAMES += pattern A(pattern) \ !end -!begin >wingames.lst -pattern.exe:Pattern +!begin >gamedesc.txt +pattern:pattern.exe:Pattern:Pattern puzzle !end diff --git a/pearl.R b/pearl.R index 82cf465..3d24b3d 100644 --- a/pearl.R +++ b/pearl.R @@ -18,6 +18,6 @@ GAMES += pearl A(pearl) \ !end -!begin >wingames.lst -pearl.exe:Pearl +!begin >gamedesc.txt +pearl:pearl.exe:Pearl:Loop-drawing puzzle !end diff --git a/pegs.R b/pegs.R index 5468713..d461bca 100644 --- a/pegs.R +++ b/pegs.R @@ -16,6 +16,6 @@ GAMES += pegs A(pegs) \ !end -!begin >wingames.lst -pegs.exe:Pegs +!begin >gamedesc.txt +pegs:pegs.exe:Pegs:Peg solitaire puzzle !end diff --git a/range.R b/range.R index 257b270..79303d9 100644 --- a/range.R +++ b/range.R @@ -14,6 +14,6 @@ GAMES += range A(range) \ !end -!begin >wingames.lst -range.exe:Range +!begin >gamedesc.txt +range:range.exe:Range:Visible-distance puzzle !end diff --git a/rect.R b/rect.R index 010ffba..f599ec8 100644 --- a/rect.R +++ b/rect.R @@ -14,6 +14,6 @@ GAMES += rect A(rect) \ !end -!begin >wingames.lst -rect.exe:Rectangles +!begin >gamedesc.txt +rect:rect.exe:Rectangles:Rectangles puzzle !end diff --git a/samegame.R b/samegame.R index 8e6eb11..6d01668 100644 --- a/samegame.R +++ b/samegame.R @@ -14,6 +14,6 @@ GAMES += samegame A(samegame) \ !end -!begin >wingames.lst -samegame.exe:Same Game +!begin >gamedesc.txt +samegame:samegame.exe:Same Game:Block-clearing puzzle !end diff --git a/signpost.R b/signpost.R index 6305fde..58789da 100644 --- a/signpost.R +++ b/signpost.R @@ -18,6 +18,6 @@ GAMES += signpost A(signpost) \ !end -!begin >wingames.lst -signpost.exe:Signpost +!begin >gamedesc.txt +signpost:signpost.exe:Signpost:Square-connecting puzzle !end diff --git a/singles.R b/singles.R index 3275455..5220eeb 100644 --- a/singles.R +++ b/singles.R @@ -18,6 +18,6 @@ GAMES += singles A(singles) \ !end -!begin >wingames.lst -singles.exe:Singles +!begin >gamedesc.txt +singles:singles.exe:Singles:Number-removing puzzle !end diff --git a/sixteen.R b/sixteen.R index b9a26af..1d16aa8 100644 --- a/sixteen.R +++ b/sixteen.R @@ -14,6 +14,6 @@ GAMES += sixteen A(sixteen) \ !end -!begin >wingames.lst -sixteen.exe:Sixteen +!begin >gamedesc.txt +sixteen:sixteen.exe:Sixteen:Toroidal sliding block puzzle !end diff --git a/slant.R b/slant.R index 8a72070..6086025 100644 --- a/slant.R +++ b/slant.R @@ -19,6 +19,6 @@ GAMES += slant A(slant) \ !end -!begin >wingames.lst -slant.exe:Slant +!begin >gamedesc.txt +slant:slant.exe:Slant:Maze-drawing puzzle !end diff --git a/solo.R b/solo.R index 09d1f7c..af0a1c3 100644 --- a/solo.R +++ b/solo.R @@ -19,6 +19,6 @@ GAMES += solo A(solo) \ !end -!begin >wingames.lst -solo.exe:Solo +!begin >gamedesc.txt +solo:solo.exe:Solo:Number placement puzzle !end diff --git a/tents.R b/tents.R index 3e5138a..a0a64a5 100644 --- a/tents.R +++ b/tents.R @@ -19,6 +19,6 @@ GAMES += tents A(tents) \ !end -!begin >wingames.lst -tents.exe:Tents +!begin >gamedesc.txt +tents:tents.exe:Tents:Tent-placing puzzle !end diff --git a/towers.R b/towers.R index 49632d0..eb77401 100644 --- a/towers.R +++ b/towers.R @@ -20,6 +20,6 @@ GAMES += towers A(towers) \ !end -!begin >wingames.lst -towers.exe:Towers +!begin >gamedesc.txt +towers:towers.exe:Towers:Tower-placing Latin square puzzle !end diff --git a/twiddle.R b/twiddle.R index eeee7cb..c9337d6 100644 --- a/twiddle.R +++ b/twiddle.R @@ -14,6 +14,6 @@ GAMES += twiddle A(twiddle) \ !end -!begin >wingames.lst -twiddle.exe:Twiddle +!begin >gamedesc.txt +twiddle:twiddle.exe:Twiddle:Rotational sliding block puzzle !end diff --git a/undead.R b/undead.R index 2492d5e..792678e 100644 --- a/undead.R +++ b/undead.R @@ -13,6 +13,6 @@ GAMES += undead A(undead) \ !end -!begin >wingames.lst -undead.exe:Undead +!begin >gamedesc.txt +undead:undead.exe:Undead:Monster-placing puzzle !end diff --git a/unequal.R b/unequal.R index ef6fe53..8f755d1 100644 --- a/unequal.R +++ b/unequal.R @@ -22,6 +22,6 @@ GAMES += unequal A(unequal) \ !end -!begin >wingames.lst -unequal.exe:Unequal +!begin >gamedesc.txt +unequal:unequal.exe:Unequal:Latin square puzzle !end diff --git a/unfinished/group.R b/unfinished/group.R index 16cb41b..c12caca 100644 --- a/unfinished/group.R +++ b/unfinished/group.R @@ -20,6 +20,6 @@ GAMES += group A(group) \ !end -!begin >wingames.lst -group.exe:Group +!begin >gamedesc.txt +unfinished/group:group.exe:Group:Group theory puzzle !end diff --git a/unfinished/separate.R b/unfinished/separate.R index 31e253e..6e90870 100644 --- a/unfinished/separate.R +++ b/unfinished/separate.R @@ -16,6 +16,6 @@ GAMES += separate A(separate) \ !end -!begin >wingames.lst -separate.exe:Separate +!begin >gamedesc.txt +unfinished/separate:separate.exe:Separate:Rectangle-dividing puzzle !end diff --git a/unfinished/slide.R b/unfinished/slide.R index 9ff70a7..3438476 100644 --- a/unfinished/slide.R +++ b/unfinished/slide.R @@ -19,6 +19,6 @@ GAMES += slide A(slide) \ !end -!begin >wingames.lst -slide.exe:Slide +!begin >gamedesc.txt +unfinished/slide:slide.exe:Slide:Sliding block puzzle !end diff --git a/unfinished/sokoban.R b/unfinished/sokoban.R index e03edd9..77b1e12 100644 --- a/unfinished/sokoban.R +++ b/unfinished/sokoban.R @@ -14,6 +14,6 @@ GAMES += sokoban A(sokoban) \ !end -!begin >wingames.lst -sokoban.exe:Sokoban +!begin >gamedesc.txt +unfinished/sokoban:sokoban.exe:Sokoban:Barrel-pushing puzzle !end diff --git a/unruly.R b/unruly.R index b69a144..da02c34 100644 --- a/unruly.R +++ b/unruly.R @@ -16,6 +16,6 @@ GAMES += unruly A(unruly) \ !end -!begin >wingames.lst -unruly.exe:Unruly +!begin >gamedesc.txt +unruly:unruly.exe:Unruly:Black and white grid puzzle !end diff --git a/untangle.R b/untangle.R index 83ab0d8..868eb93 100644 --- a/untangle.R +++ b/untangle.R @@ -16,6 +16,6 @@ GAMES += untangle A(untangle) \ !end -!begin >wingames.lst -untangle.exe:Untangle +!begin >gamedesc.txt +untangle:untangle.exe:Untangle:Planar graph layout puzzle !end diff --git a/wceinf.pl b/wceinf.pl index 8bfc117..4756f3c 100644 --- a/wceinf.pl +++ b/wceinf.pl @@ -2,22 +2,22 @@ # Perl script to generate a .INF file for building a Pocket PC .CAB # archive of Puzzles. This has to be scripted so that it can read -# wingames.lst and automatically adjust to the current available +# gamedesc.txt and automatically adjust to the current available # set of puzzles. # Usage: # -# $ ./wceinf.pl wingames.lst > puzzles.inf +# $ ./wceinf.pl gamedesc.txt > puzzles.inf -$lst = shift @ARGV; -open LST, "<", $lst; -while () { +$desc = shift @ARGV; +open DESC, "<", $desc; +while () { chomp; - split /:/; - push @exes, $_[0]; - $names{$_[0]} = $_[1]; + @_ = split /:/; + push @exes, $_[1]; + $names{$_[1]} = $_[2]; } -close LST; +close DESC; print '[Version]'."\n"; print 'Signature = "$Windows NT$" ; required as-is'."\n"; diff --git a/winiss.pl b/winiss.pl index 7416ace..9e796e0 100755 --- a/winiss.pl +++ b/winiss.pl @@ -1,12 +1,12 @@ #!/usr/bin/perl # Perl script to generate an Inno Setup installer script for -# Puzzles. This has to be scripted so that it can read wingames.lst +# Puzzles. This has to be scripted so that it can read gamedesc.txt # and automatically adjust to the current available set of puzzles. # Usage: # -# $ ./winiss.pl 1234 wingames.lst > puzzles.iss +# $ ./winiss.pl 1234 gamedesc.txt > puzzles.iss # # where `1234' is the revision number which will be encoded in the # installer's version indicators. @@ -15,15 +15,15 @@ use warnings; $rev = shift @ARGV; ($revclean=$rev) =~ s/M$//; -$lst = shift @ARGV; -open LST, "<", $lst; -while () { +$desc = shift @ARGV; +open DESC, "<", $desc; +while () { chomp; @_ = split /:/; - push @exes, $_[0]; - $names{$_[0]} = $_[1]; + push @exes, $_[1]; + $names{$_[1]} = $_[2]; } -close LST; +close DESC; print '; -*- no -*-'."\n"; print ';'."\n";