From a5745813e442b66ae6eed30bba81d1b3dd5cf634 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Sat, 17 Apr 2021 22:05:24 +0100 Subject: Initial public release --- sfx.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 sfx.h (limited to 'sfx.h') diff --git a/sfx.h b/sfx.h new file mode 100644 index 0000000..95ae833 --- /dev/null +++ b/sfx.h @@ -0,0 +1,46 @@ +// sfxed for beeper engine +// Copyright (C) 2021 by Juan J. Martinez +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +#ifndef _SFX_H +#define _SFX_H + +#include + +struct beeper_sfx +{ + //uint8_t type; + int type; // for the combo + uint8_t frames; + uint8_t freq; + uint8_t slide; + uint8_t next; + + char name[9]; +}; + +typedef struct beeper_sfx BeeperSfx; + +int load_sfx(char *filename, BeeperSfx *table, uint8_t n); +int save_sfx(char *filename, BeeperSfx *table, uint8_t n); +int export_sfx(char *filename, BeeperSfx *table, uint8_t n); +int play_sfx(uint8_t index, BeeperSfx *table, uint8_t n); + +#endif //_SFX_H -- cgit v1.2.3