~mdw
/
sgt
/
puzzles
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
General robustness patch from James Harvey:
[sgt/puzzles]
/
puzzles.h
diff --git
a/puzzles.h
b/puzzles.h
index
09848d7
..
2bb90c1
100644
(file)
--- a/
puzzles.h
+++ b/
puzzles.h
@@
-70,7
+70,6
@@
typedef struct midend_data midend_data;
typedef struct random_state random_state;
typedef struct game_params game_params;
typedef struct game_state game_state;
typedef struct random_state random_state;
typedef struct game_params game_params;
typedef struct game_state game_state;
-typedef struct game_aux_info game_aux_info;
typedef struct game_ui game_ui;
typedef struct game_drawstate game_drawstate;
typedef struct game game;
typedef struct game_ui game_ui;
typedef struct game_drawstate game_drawstate;
typedef struct game game;
@@
-185,8
+184,14
@@
char *midend_set_config(midend_data *me, int which, config_item *cfg);
char *midend_game_id(midend_data *me, char *id);
char *midend_text_format(midend_data *me);
char *midend_solve(midend_data *me);
char *midend_game_id(midend_data *me, char *id);
char *midend_text_format(midend_data *me);
char *midend_solve(midend_data *me);
-void midend_supersede_game_desc(midend_data *me, char *desc);
+void midend_supersede_game_desc(midend_data *me, char *desc
, char *privdesc
);
char *midend_rewrite_statusbar(midend_data *me, char *text);
char *midend_rewrite_statusbar(midend_data *me, char *text);
+void midend_serialise(midend_data *me,
+ void (*write)(void *ctx, void *buf, int len),
+ void *wctx);
+char *midend_deserialise(midend_data *me,
+ int (*read)(void *ctx, void *buf, int len),
+ void *rctx);
/*
* malloc.c
/*
* malloc.c
@@
-262,23
+267,25
@@
struct game {
game_params *(*custom_params)(config_item *cfg);
char *(*validate_params)(game_params *params);
char *(*new_desc)(game_params *params, random_state *rs,
game_params *(*custom_params)(config_item *cfg);
char *(*validate_params)(game_params *params);
char *(*new_desc)(game_params *params, random_state *rs,
- game_aux_info **aux, int interactive);
- void (*free_aux_info)(game_aux_info *aux);
+ char **aux, int interactive);
char *(*validate_desc)(game_params *params, char *desc);
game_state *(*new_game)(midend_data *me, game_params *params, char *desc);
game_state *(*dup_game)(game_state *state);
void (*free_game)(game_state *state);
int can_solve;
char *(*validate_desc)(game_params *params, char *desc);
game_state *(*new_game)(midend_data *me, game_params *params, char *desc);
game_state *(*dup_game)(game_state *state);
void (*free_game)(game_state *state);
int can_solve;
-
game_state
*(*solve)(game_state *orig, game_state *curr,
-
game_aux_info
*aux, char **error);
+
char
*(*solve)(game_state *orig, game_state *curr,
+
char
*aux, char **error);
int can_format_as_text;
char *(*text_format)(game_state *state);
game_ui *(*new_ui)(game_state *state);
void (*free_ui)(game_ui *ui);
int can_format_as_text;
char *(*text_format)(game_state *state);
game_ui *(*new_ui)(game_state *state);
void (*free_ui)(game_ui *ui);
+ char *(*encode_ui)(game_ui *ui);
+ void (*decode_ui)(game_ui *ui, char *encoding);
void (*changed_state)(game_ui *ui, game_state *oldstate,
game_state *newstate);
void (*changed_state)(game_ui *ui, game_state *oldstate,
game_state *newstate);
- game_state *(*make_move)(game_state *from, game_ui *ui, game_drawstate *ds,
- int x, int y, int button);
+ char *(*interpret_move)(game_state *state, game_ui *ui, game_drawstate *ds,
+ int x, int y, int button);
+ game_state *(*execute_move)(game_state *state, char *move);
void (*size)(game_params *params, game_drawstate *ds, int *x, int *y,
int expand);
float *(*colours)(frontend *fe, game_state *state, int *ncolours);
void (*size)(game_params *params, game_drawstate *ds, int *x, int *y,
int expand);
float *(*colours)(frontend *fe, game_state *state, int *ncolours);