diff --git a/Makefile.games b/Makefile.games index 751da11..29fe309 100644 --- a/Makefile.games +++ b/Makefile.games @@ -16,7 +16,7 @@ GAMES = GAMES += blackbox GAMES += bridges GAMES += cube -# GAMES += dominosa +GAMES += dominosa # GAMES += fifteen # GAMES += filling # GAMES += flip @@ -26,8 +26,8 @@ GAMES += galaxies GAMES += inertia # GAMES += keen GAMES += lightup -# GAMES += loopy -# GAMES += magnets +GAMES += loopy +GAMES += magnets # GAMES += map GAMES += mines GAMES += net.patched @@ -39,7 +39,7 @@ GAMES += pegs # GAMES += range # GAMES += rect GAMES += samegame -# GAMES += signpost +GAMES += signpost # GAMES += singles # GAMES += sixteen GAMES += slant diff --git a/config/dominosa.ini b/config/dominosa.ini new file mode 100644 index 0000000..955b6cb --- /dev/null +++ b/config/dominosa.ini @@ -0,0 +1,23 @@ +[layout] +min_tilesize = 100 +max_tilesize = 150 + +[full_refresh] +# New puzzles are light gray and white; skip the full refresh +new_puzzle = false +solving_puzzle = true + +[colors] +# From PocketPuzzles +_order = background text textclash texthight_1 texthight_2 domino dominoclash dominotext edge highlight_1 highlight_2 +background = 1 +text = 0 +textclash = 0.5 +texthigh_1 = 0.25 +texthigh_2 = 0.75 +domino = 0 +dominoclash = 0.75 +dominotext = 1 +edge = 0 +highlight_1 = 0.6 +highlight_2 = 0.4 \ No newline at end of file diff --git a/config/loopy.ini b/config/loopy.ini new file mode 100644 index 0000000..29fdbc0 --- /dev/null +++ b/config/loopy.ini @@ -0,0 +1,19 @@ +[layout] +min_tilesize = 100 +max_tilesize = 150 + +[full_refresh] +# New puzzles are black and light gray; skip the full refresh +new_puzzle = false +solving_puzzle = true + +[colors] +# From PocketPuzzles +_order = background foreground lineunknown highlight mistake satisfied faint +background = 1 +foreground = 0 +lineunknown = 0.75 +highlight = 1 +mistake = 0.25 +satisfied = 0.9 +faint = 1 \ No newline at end of file diff --git a/config/magnets.ini b/config/magnets.ini new file mode 100644 index 0000000..9145e85 --- /dev/null +++ b/config/magnets.ini @@ -0,0 +1,22 @@ +[layout] +min_tilesize = 100 +max_tilesize = 150 + +[full_refresh] +new_puzzle = true +solving_puzzle = true + +[colors] +# From PocketPuzzles +_order = background highlight lowlight text done negative positive cursor neutral not error +background = 1.0 +highlight = 0.75 +lowlight = 0.25 +text = 0.0 +done = 0.75 +negative = 0.25 +positive = 0.75 +cursor = 0.9 +neutral = 0.5 +not = 0.25 +error = 0.5 \ No newline at end of file diff --git a/config/signpost.ini b/config/signpost.ini new file mode 100644 index 0000000..fe2166c --- /dev/null +++ b/config/signpost.ini @@ -0,0 +1,17 @@ +[layout] +min_tilesize = 125 +max_tilesize = 200 + +[full_refresh] +new_puzzle = true +solving_puzzle = true + +[colors] +# From PocketPuzzles, but reversed +_order = black vdarkgrey darkgrey lightgrey vlightgrey white +black = 1.0 +vdarkgrey = 0.6 +darkgrey = 0.5 +lightgrey = 0.4 +vlightgrey = 0.3 +white = 0.0 diff --git a/help/dominosa.txt b/help/dominosa.txt new file mode 100644 index 0000000..1ec2742 --- /dev/null +++ b/help/dominosa.txt @@ -0,0 +1,5 @@ +Dominosa + +Tile the rectangle with dominoes (1×2 rectangles) so that every possible domino appears exactly once (that is, every possible pair of numbers, including doubles). + +Click between two adjacent numbers to place or remove a domino. Long-press to place a line between numbers if you think a domino definitely cannot go there. Dominoes light up red if two identical ones appear on the grid. diff --git a/help/loopy.txt b/help/loopy.txt new file mode 100644 index 0000000..8870482 --- /dev/null +++ b/help/loopy.txt @@ -0,0 +1,7 @@ +Loopy + +Form a single closed loop out of the grid edges, in such a way that every numbered square has exactly that many of its edges included in the loop. + +Click on a grid edge to mark it as part of the loop (black), and again to return to marking it as undecided (yellow). Long-press on a grid edge to mark it as definitely not part of the loop (faint grey), and again to mark it as undecided again. + +When you have mastered the square grid, look in the Type menu for many other types of tiling! diff --git a/help/magnets.txt b/help/magnets.txt new file mode 100644 index 0000000..e6800fd --- /dev/null +++ b/help/magnets.txt @@ -0,0 +1,9 @@ +Magnets + +Fill each domino shape with either a magnet (consisting of a + and − pole) or a neutral domino (green). + +The number of + poles that in each row and column must match the numbers along the top and left; the number of − poles must match the numbers along the bottom and right. Two + poles may not be orthogonally adjacent to each other, and similarly two − poles. + +Click a domino to toggle it between being empty and being a magnet (the + is placed in the end you click). Long-press to toggle between empty, neutral, and a ?? mark indicating that you're sure it's a magnet but don't yet know which way round it goes. + +Click a clue to mark it as done (grey it out). To unmark a clue as done, click it again. diff --git a/help/signpost.txt b/help/signpost.txt new file mode 100644 index 0000000..eddf30e --- /dev/null +++ b/help/signpost.txt @@ -0,0 +1,7 @@ +Signpost + +Connect all the squares together into a sequence, so that every square's arrow points towards the square that follows it (though the next square can be any distance away in that direction). + +Drag from a square to the square that should follow it, or long-press drag from a square to the square that should precede it. + +Drag a square off the grid to break all links to it. Long-press drag a square off the grid to break all links to it and everything else in its connected chain. diff --git a/icons/blackbox.png b/icons/blackbox.png index 781b997..f88a649 100644 Binary files a/icons/blackbox.png and b/icons/blackbox.png differ diff --git a/icons/bridges.png b/icons/bridges.png index 4696761..d2b13f5 100644 Binary files a/icons/bridges.png and b/icons/bridges.png differ diff --git a/icons/cube.png b/icons/cube.png index b0efdd0..f7c0b3f 100644 Binary files a/icons/cube.png and b/icons/cube.png differ diff --git a/icons/dominosa.png b/icons/dominosa.png new file mode 100644 index 0000000..92b8674 Binary files /dev/null and b/icons/dominosa.png differ diff --git a/icons/galaxies.png b/icons/galaxies.png index 2bbaef5..d28fc09 100644 Binary files a/icons/galaxies.png and b/icons/galaxies.png differ diff --git a/icons/inertia.png b/icons/inertia.png index 8f392dc..09de9a0 100644 Binary files a/icons/inertia.png and b/icons/inertia.png differ diff --git a/icons/lightup.png b/icons/lightup.png index 7314667..306ffa7 100644 Binary files a/icons/lightup.png and b/icons/lightup.png differ diff --git a/icons/loopy.png b/icons/loopy.png new file mode 100644 index 0000000..6f630f1 Binary files /dev/null and b/icons/loopy.png differ diff --git a/icons/magnets.png b/icons/magnets.png new file mode 100644 index 0000000..bc865f3 Binary files /dev/null and b/icons/magnets.png differ diff --git a/icons/mines.png b/icons/mines.png index 8875465..4cbfbe3 100644 Binary files a/icons/mines.png and b/icons/mines.png differ diff --git a/icons/net.png b/icons/net.png index 6cccd91..2bdc74a 100644 Binary files a/icons/net.png and b/icons/net.png differ diff --git a/icons/pearl.png b/icons/pearl.png index 8205f23..72c6984 100644 Binary files a/icons/pearl.png and b/icons/pearl.png differ diff --git a/icons/pegs.png b/icons/pegs.png index 3e7ecb5..b624ecc 100644 Binary files a/icons/pegs.png and b/icons/pegs.png differ diff --git a/icons/samegame.png b/icons/samegame.png index 889594b..5d68112 100644 Binary files a/icons/samegame.png and b/icons/samegame.png differ diff --git a/icons/signpost.png b/icons/signpost.png new file mode 100644 index 0000000..93b40b0 Binary files /dev/null and b/icons/signpost.png differ diff --git a/icons/slant.png b/icons/slant.png index 06fd06e..c3d7055 100644 Binary files a/icons/slant.png and b/icons/slant.png differ diff --git a/icons/tents.png b/icons/tents.png index af658db..8db6293 100644 Binary files a/icons/tents.png and b/icons/tents.png differ diff --git a/icons/tracks.png b/icons/tracks.png index 58217b2..7ee8f76 100644 Binary files a/icons/tracks.png and b/icons/tracks.png differ diff --git a/icons/unruly.png b/icons/unruly.png index 86deddb..3444151 100644 Binary files a/icons/unruly.png and b/icons/unruly.png differ diff --git a/icons/untangle.png b/icons/untangle.png index d83417b..21a5d00 100644 Binary files a/icons/untangle.png and b/icons/untangle.png differ diff --git a/src/game_list.hpp b/src/game_list.hpp index abfef17..87f4c36 100644 --- a/src/game_list.hpp +++ b/src/game_list.hpp @@ -3,18 +3,23 @@ #include "puzzles.hpp" + #define GAMELIST(X) \ X(blackbox) \ X(bridges) \ + X(dominosa) \ X(cube) \ X(galaxies) \ X(inertia) \ X(lightup) \ + X(loopy) \ + X(magnets) \ X(mines) \ X(net) \ X(pearl) \ X(pegs) \ X(samegame) \ + X(signpost) \ X(slant) \ X(tents) \ X(tracks) \ diff --git a/src/ui/chooser_scene.cpp b/src/ui/chooser_scene.cpp index 39fd9ff..5c1ec96 100644 --- a/src/ui/chooser_scene.cpp +++ b/src/ui/chooser_scene.cpp @@ -75,8 +75,8 @@ ChooserScene::ChooserScene() { // Icons int padding = 25; - int dx = (w - 2*padding) / 4; - int dy = (h - 2*tb_h - 4*padding) / 4; + int dx = (w - 2*padding) / 5; + int dy = (h - 2*tb_h - 4*padding) / 5; int x = padding; int y = tb_h + padding;