~mdw
/
sgt
/
puzzles
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
min()/max() macros conflict with ones defined by Windows (or at least MinGW)
[sgt/puzzles]
/
pattern.c
diff --git
a/pattern.c
b/pattern.c
index
c7c06f1
..
f8e8fc5
100644
(file)
--- a/
pattern.c
+++ b/
pattern.c
@@
-11,9
+11,6
@@
#include "puzzles.h"
#include "puzzles.h"
-#define max(x,y) ( (x)>(y) ? (x):(y) )
-#define min(x,y) ( (x)<(y) ? (x):(y) )
-
enum {
COL_BACKGROUND,
COL_EMPTY,
enum {
COL_BACKGROUND,
COL_EMPTY,
@@
-62,24
+59,26
@@
static game_params *default_params(void)
return ret;
}
return ret;
}
+static const struct game_params pattern_presets[] = {
+ {10, 10},
+ {15, 15},
+ {20, 20},
+#ifndef SLOW_SYSTEM
+ {25, 25},
+ {30, 30},
+#endif
+};
+
static int game_fetch_preset(int i, char **name, game_params **params)
{
game_params *ret;
char str[80];
static int game_fetch_preset(int i, char **name, game_params **params)
{
game_params *ret;
char str[80];
- static const struct { int x, y; } values[] = {
- {10, 10},
- {15, 15},
- {20, 20},
- {25, 25},
- {30, 30},
- };
-
- if (i < 0 || i >= lenof(values))
+
+ if (i < 0 || i >= lenof(pattern_presets))
return FALSE;
ret = snew(game_params);
return FALSE;
ret = snew(game_params);
- ret->w = values[i].x;
- ret->h = values[i].y;
+ *ret = pattern_presets[i];
sprintf(str, "%dx%d", ret->w, ret->h);
sprintf(str, "%dx%d", ret->w, ret->h);
@@
-166,12
+165,8
@@
static game_params *custom_params(config_item *cfg)
static char *validate_params(game_params *params)
{
static char *validate_params(game_params *params)
{
- if (params->w <= 0
&&
params->h <= 0)
+ if (params->w <= 0
||
params->h <= 0)
return "Width and height must both be greater than zero";
return "Width and height must both be greater than zero";
- if (params->w <= 0)
- return "Width must be greater than zero";
- if (params->h <= 0)
- return "Height must be greater than zero";
return NULL;
}
return NULL;
}
@@
-494,8
+489,7
@@
static char *new_game_desc(game_params *params, random_state *rs,
ai->w = params->w;
ai->h = params->h;
ai->w = params->w;
ai->h = params->h;
- ai->grid = snewn(ai->w * ai->h, unsigned char);
- memcpy(ai->grid, grid, ai->w * ai->h);
+ ai->grid = grid;
*aux = ai;
}
*aux = ai;
}
@@
-1221,7
+1215,7
@@
int main(int argc, char **argv)
fprintf(stderr, "%s: %s\n", argv[0], err);
return 1;
}
fprintf(stderr, "%s: %s\n", argv[0], err);
return 1;
}
- s = new_game(p, desc);
+ s = new_game(
NULL,
p, desc);
{
int w = p->w, h = p->h, i, j, done_any, max;
{
int w = p->w, h = p->h, i, j, done_any, max;