aboutsummaryrefslogtreecommitdiff
path: root/loopy.c
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2008-09-10 21:44:23 +0000
committerSimon Tatham <anakin@pobox.com>2008-09-10 21:44:23 +0000
commitacf5c55d355b49fec8fb5376737d606be0cd8d4f (patch)
tree07502017fb8113d0b482665a0c6fad4631c52c92 /loopy.c
parent018fa4053da9fddbf6a410210cb4f493945d046f (diff)
downloadpuzzles-acf5c55d355b49fec8fb5376737d606be0cd8d4f.zip
puzzles-acf5c55d355b49fec8fb5376737d606be0cd8d4f.tar.gz
puzzles-acf5c55d355b49fec8fb5376737d606be0cd8d4f.tar.bz2
puzzles-acf5c55d355b49fec8fb5376737d606be0cd8d4f.tar.xz
Patch from James H to make new-Loopy port more easily.
[originally from svn r8174]
Diffstat (limited to 'loopy.c')
-rw-r--r--loopy.c31
1 files changed, 22 insertions, 9 deletions
diff --git a/loopy.c b/loopy.c
index 5f3c601..b54922a 100644
--- a/loopy.c
+++ b/loopy.c
@@ -236,7 +236,7 @@ static void check_caches(const solver_state* sstate);
static char const *const gridnames[] = { GRIDLIST(GRID_NAME) };
#define GRID_CONFIGS GRIDLIST(GRID_CONFIG)
static grid * (*(grid_fns[]))(int w, int h) = { GRIDLIST(GRID_FN) };
-static const int NUM_GRID_TYPES = sizeof(grid_fns) / sizeof(grid_fns[0]);
+#define NUM_GRID_TYPES (sizeof(grid_fns) / sizeof(grid_fns[0]))
/* Generates a (dynamically allocated) new grid, according to the
* type and size requested in params. Does nothing if the grid is already
@@ -464,6 +464,18 @@ static game_params *dup_params(game_params *params)
}
static const game_params presets[] = {
+#ifdef SMALL_SCREEN
+ { 7, 7, DIFF_EASY, 0, NULL },
+ { 7, 7, DIFF_NORMAL, 0, NULL },
+ { 7, 7, DIFF_HARD, 0, NULL },
+ { 7, 7, DIFF_HARD, 1, NULL },
+ { 7, 7, DIFF_HARD, 2, NULL },
+ { 5, 5, DIFF_HARD, 3, NULL },
+ { 7, 7, DIFF_HARD, 4, NULL },
+ { 5, 4, DIFF_HARD, 5, NULL },
+ { 5, 5, DIFF_HARD, 6, NULL },
+ { 5, 5, DIFF_HARD, 7, NULL },
+#else
{ 7, 7, DIFF_EASY, 0, NULL },
{ 10, 10, DIFF_EASY, 0, NULL },
{ 7, 7, DIFF_NORMAL, 0, NULL },
@@ -477,6 +489,7 @@ static const game_params presets[] = {
{ 5, 4, DIFF_HARD, 5, NULL },
{ 7, 7, DIFF_HARD, 6, NULL },
{ 5, 5, DIFF_HARD, 7, NULL },
+#endif
};
static int game_fetch_preset(int i, char **name, game_params **params)
@@ -3291,14 +3304,14 @@ static void game_print(drawing *dr, game_state *state, int tilesize)
dx = (dx * ds->tilesize) / thickness;
dy = (dy * ds->tilesize) / thickness;
- points[0] = x1 + dy;
- points[1] = y1 - dx;
- points[2] = x1 - dy;
- points[3] = y1 + dx;
- points[4] = x2 - dy;
- points[5] = y2 + dx;
- points[6] = x2 + dy;
- points[7] = y2 - dx;
+ points[0] = x1 + (int)dy;
+ points[1] = y1 - (int)dx;
+ points[2] = x1 - (int)dy;
+ points[3] = y1 + (int)dx;
+ points[4] = x2 - (int)dy;
+ points[5] = y2 + (int)dx;
+ points[6] = x2 + (int)dy;
+ points[7] = y2 - (int)dx;
draw_polygon(dr, points, 4, ink, ink);
}
else