diff options
author | Juan J. Martinez <jjm@usebox.net> | 2021-05-18 07:39:11 +0100 |
---|---|---|
committer | Juan J. Martinez <jjm@usebox.net> | 2021-05-18 07:39:11 +0100 |
commit | 62b312980033bad470531905f2bcdb3b46cc1c14 (patch) | |
tree | 844116f633031c46620835b8ca2b444ecd5fda42 /tools/sfx2h.md | |
parent | 2ffda6c5bc972f15f1b45a9c746cbc7bb41febe8 (diff) | |
download | beeper-int-zx-62b312980033bad470531905f2bcdb3b46cc1c14.tar.gz beeper-int-zx-62b312980033bad470531905f2bcdb3b46cc1c14.zip |
Added a sfx2h tool
Diffstat (limited to 'tools/sfx2h.md')
-rw-r--r-- | tools/sfx2h.md | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tools/sfx2h.md b/tools/sfx2h.md new file mode 100644 index 0000000..bfd6b88 --- /dev/null +++ b/tools/sfx2h.md @@ -0,0 +1,51 @@ +# sfx2h.py + +This tool requires Python 3 and can generate a C include file from a sfx file +as saved by `sfxed`. + +Being Python is easier to modify and adapt to your own needs! + +Example: +``` +sfx2h.py ../test.sfx sounds +``` + +Will generate: +``` + +/* file: ../example/test.sfx */ +#ifndef SOUNDS_H_ +#define SOUNDS_H_ + +#include "beeper.h" + +enum sounds_enum { + SOUNDS_LASER = 1, + SOUNDS_ZAP, + SOUNDS_DRILL, + SOUNDS_EXPLO, +}; + +#ifdef LOCAL + +const struct beeper_sfx sounds[] = { +{ 0x01, 0x20, 0x78, 0xfc, 0x00 }, +{ 0x02, 0x10, 0x0c, 0x00, 0x00 }, +{ 0x01, 0x20, 0x01, 0x00, 0x00 }, +{ 0x02, 0x20, 0x80, 0xff, 0x00 }, +}; + +#else +extern const struct beeper_sfx sounds[]; +#endif +#endif // SOUNDS_H_ +``` + +You can include it normally on any C file, just remember to define `LOCAL` +before included in the module containing the data (only once!). + +## CAVEATS + +* Is not perfuming exhaustive checks on the effects' names or the provided id +* `LOCAL` is not undefined after used + |