diff options
Diffstat (limited to '')
-rw-r--r-- | platform/darwin.c | 10 | ||||
-rw-r--r-- | platform/platform.h | 2 |
2 files changed, 5 insertions, 7 deletions
diff --git a/platform/darwin.c b/platform/darwin.c index 3189a5d..2ffdbe3 100644 --- a/platform/darwin.c +++ b/platform/darwin.c @@ -45,7 +45,7 @@ void enter_idle(void) } /* TODO: probably also merge into a *nix module */ -struct board *load_board(char *board_name) +bool load_board(struct board_state *state, char *board_name) { char so_name[100]; int r = snprintf(so_name, 100, "./board/%s.dylib", board_name); @@ -60,16 +60,14 @@ struct board *load_board(char *board_name) return false; } - fn_board_init board_init = dlsym(board_module, "board_init"); + board_init_fn_t board_init = dlsym(board_module, "board_init"); if (board_init == NULL) { printf("ERROR: No board initialisation function could be loaded.\n"); return false; } + state->board_init = board_init; - struct board_data data = { - .sound_play = &sound_play - }; - return board_init(data); + return true; } /* https://developer.apple.com/documentation/iokit/iohidvaluecallback */ diff --git a/platform/platform.h b/platform/platform.h index ca07789..34f1200 100644 --- a/platform/platform.h +++ b/platform/platform.h @@ -5,7 +5,7 @@ #include "../board/board.h" -struct board *load_board(char *board_name); +bool load_board(struct board_state *state, char *board_name); bool sound_init(float volume); void sound_play(unsigned char *buffer, unsigned int buffer_len); |