diff options
| author | Ben Harris <bjh21@bjh21.me.uk> | 2023-02-13 22:41:40 +0000 |
|---|---|---|
| committer | Ben Harris <bjh21@bjh21.me.uk> | 2023-04-08 20:08:16 +0100 |
| commit | 418cb3a5671404d2d91bf221887df2be2ae2654f (patch) | |
| tree | dd3fe0d67118ca803578708b799aaeab37dc27fd /devel.but | |
| parent | e411db788cfc0d0ed54b3c9b9deb15edba7d237a (diff) | |
| download | puzzles-418cb3a5671404d2d91bf221887df2be2ae2654f.zip puzzles-418cb3a5671404d2d91bf221887df2be2ae2654f.tar.gz puzzles-418cb3a5671404d2d91bf221887df2be2ae2654f.tar.bz2 puzzles-418cb3a5671404d2d91bf221887df2be2ae2654f.tar.xz | |
Make encode_ui() and decode_ui() optional in back-ends
The majority of back-ends define encode_ui() to return NULL and
decode_ui() to do nothing. This commit allows them to instead specify
the relevant function pointers as NULL, in which case the mid-end won't
try to call them.
I'm planning to add a parameter to decode_ui(), and if I'm going to have
to touch every back-end's version of decode_ui(), I may as well ensure
that most of them never need to be touched again. And obviously
encode_ui() should go the same way for symmetry.
Diffstat (limited to 'devel.but')
| -rw-r--r-- | devel.but | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -885,6 +885,9 @@ user could edit the save file by hand... But if the user is \e{that} determined to cheat, they could just as easily modify the game's source.) +The \cw{encode_ui()} function is optional. If a back-end doesn't need +this function it can just set the pointer to \cw{NULL}. + \S{backend-decode-ui} \cw{decode_ui()} \c void (*decode_ui)(game_ui *ui, const char *encoding); @@ -896,6 +899,9 @@ the best it can, which might just mean not changing the \c{game_ui} structure at all. This might happen if a save file is corrupted, or simply from a newer version that encodes more \c{game_ui} data. +Like \cw{encode_ui()}, \cw{decode_ui()} is optional. If a back-end +doesn't need this function it can just set the pointer to \cw{NULL}. + \S{backend-changed-state} \cw{changed_state()} \c void (*changed_state)(game_ui *ui, const game_state *oldstate, |