diff options
| author | Nicholas Tay <nick@windblume.net> | 2022-05-17 18:57:48 +1000 | 
|---|---|---|
| committer | Nicholas Tay <nick@windblume.net> | 2022-05-17 19:06:25 +1000 | 
| commit | d3ea90f183a1742fe205f06ec6543f65869a6799 (patch) | |
| tree | 5d38f0e9e2dd794fcdfaaeae9895c0bd101dd175 /board | |
| parent | 2fee408d6fe0964e245dc0bae90027baa13b159a (diff) | |
| download | clak-d3ea90f183a1742fe205f06ec6543f65869a6799.tar.gz clak-d3ea90f183a1742fe205f06ec6543f65869a6799.tar.bz2 clak-d3ea90f183a1742fe205f06ec6543f65869a6799.zip | |
Add Linux support
Oh boy this was a bit of a hassle lol - dynamic loading was the easiest
part... but then came both sound and x11
Using SDL for now but I'd really like to change it for even lower layer,
but then I might have to make my own mixer... oh no.
Diffstat (limited to '')
| -rw-r--r-- | board/Makefile | 3 | ||||
| -rw-r--r-- | board/board.h | 4 | ||||
| -rw-r--r-- | board/simple_board.h | 9 | 
3 files changed, 10 insertions, 6 deletions
| diff --git a/board/Makefile b/board/Makefile index 24cb10c..03449cc 100644 --- a/board/Makefile +++ b/board/Makefile @@ -7,6 +7,7 @@ ifeq ($(OS),Windows_NT)      OUTEXT = dll  else      OUTEXT = so +	CFLAGS += -fPIC  endif  default: all @@ -29,4 +30,4 @@ clean:  	rm -f *.o  	rm -f *.dll  	rm -f *.so -	rm -f */sound.h
\ No newline at end of file +	rm -f */sound.h diff --git a/board/board.h b/board/board.h index c7dfc1f..36d39fb 100644 --- a/board/board.h +++ b/board/board.h @@ -8,9 +8,9 @@ struct board {  };  struct board_data { -	void (*sound_play)(unsigned char *buffer); +	void (*sound_play)(unsigned char *buffer, unsigned int buffer_len);  };  typedef struct board *(*fn_board_init)(struct board_data data); -#endif /* CLAK_BOARD_H_ */
\ No newline at end of file +#endif /* CLAK_BOARD_H_ */ diff --git a/board/simple_board.h b/board/simple_board.h index 9d9836b..f0997c7 100644 --- a/board/simple_board.h +++ b/board/simple_board.h @@ -2,17 +2,20 @@  static struct board_data board_data; +#define WAV_LEN(W) PREPROC_CONCAT(W,_len) +#define PREPROC_CONCAT(A, B) A ## B +  void board_on_down(void)  {  #ifdef BOARD_DOWN_WAV -	board_data.sound_play(BOARD_DOWN_WAV); +	board_data.sound_play(BOARD_DOWN_WAV, WAV_LEN(BOARD_DOWN_WAV));  #endif  }  void board_on_up(void)  {  #ifdef BOARD_UP_WAV -	board_data.sound_play(BOARD_UP_WAV); +	board_data.sound_play(BOARD_UP_WAV, WAV_LEN(BOARD_UP_WAV));  #endif  } @@ -30,4 +33,4 @@ struct board *board_init(struct board_data data)  {  	board_data = data;  	return &board; -}
\ No newline at end of file +} | 
