Commit graph

2421 commits

Author SHA1 Message Date
Gwilym Inzani 61c4b03f7d Update the licence to be MPL since we have no GPL dependency any more 2023-07-26 10:23:34 +01:00
Gwilym Inzani d9fc333644 Implement the padding flag 2023-07-26 10:21:54 +01:00
Gwilym Inzani 9eee5a03f2 Implement our own gba header 2023-07-26 10:18:28 +01:00
Gwilym Inzani eb31a98f29 Extract write_gba_file to lib.rs 2023-07-26 09:53:32 +01:00
Gwilym Inzani 6c7f415fb6
Channel counts as finished if the channel position reaches the end of the effect (#463)
Fixes an issue where you could only play 8 sounds until it would stop
entirely.

- [x] no changelog update needed
2023-07-25 23:33:39 +01:00
Gwilym Inzani 9445a57f48 Channel counts as finished if the channel position reaches the end of the effect 2023-07-25 23:24:40 +01:00
Corwin b80c85f1d9
Import dungeon puzzler's lament (#459)
Includes dungeon keepers lament in the examples

- [x] no changelog update needed
2023-07-25 20:52:48 +01:00
Corwin 748f061856
remove unused method 2023-07-25 20:41:16 +01:00
Corwin 95c4368df6
remove unused resolution 2023-07-25 20:41:05 +01:00
Corwin e7fe866036
remove sound files for unused effects 2023-07-25 20:40:16 +01:00
Corwin 9ee98cf0bf
remove unused sounds 2023-07-25 20:39:14 +01:00
Corwin c461b581b5
emit sword hit 2023-07-25 20:39:06 +01:00
Gwilym Inzani bddb77f5c9
XM tracker (#461)
Closes #446

One big problem with our games so far is that they are 95% music files.
If we want to add a game with more music, we can't at the moment.

This adds a tracker player which can play XM files easily in your games.
A lot of features from tracker files aren't supported yet, but enough to
make the examples sound at least half decent.

- [x] Changelog updated
2023-07-25 20:29:31 +01:00
Corwin b806fa8e66
fix names 2023-07-25 20:27:03 +01:00
Gwilym Inzani a4a7089251 Add changelog entry and update readme 2023-07-25 20:18:21 +01:00
Gwilym Inzani e8e5b31d42 No need to use a generic here any more 2023-07-25 00:50:47 +01:00
Gwilym Inzani f7b3aa8ecb Don't need lr to be saved since we're not using it 2023-07-25 00:27:20 +01:00
Gwilym Inzani 49b9a07a87 Give the same assembly treatment to mono sounds 2023-07-25 00:18:48 +01:00
Gwilym Inzani de666a54f9 Core loop for the tracker in assembly 2023-07-24 23:59:54 +01:00
Gwilym Inzani df75d1ce8c Fix build errors 2023-07-23 23:39:52 +01:00
Gwilym Inzani 25ee876932 Fix a bunch of bugs after playing with different tracks 2023-07-23 23:37:14 +01:00
Gwilym Inzani a4df095031 Improve accuracy of the panning and volume until the last second 2023-07-23 22:15:30 +01:00
Gwilym Inzani d233a2539c Improve accuracy of the volume 2023-07-23 22:10:25 +01:00
Gwilym Inzani 095723bbf8 FineVolumeSlide 2023-07-23 22:03:32 +01:00
Gwilym Inzani f6a05178db Fix slides and add the portamento one 2023-07-23 21:36:02 +01:00
Gwilym Inzani 0911ca44c5 Try a new song and add memory support 2023-07-23 20:54:24 +01:00
Gwilym Inzani 1a25268285 Do the correct type of building for the tracker 2023-07-23 20:36:54 +01:00
Gwilym Inzani 21d1d1385a Remove unused tracker files and add where I found db_toffe 2023-07-23 20:31:46 +01:00
Gwilym Inzani 70d34f1fc8 Rename to include_xm to match the rest of agb 2023-07-23 20:22:22 +01:00
Gwilym Inzani 6cb8f68104 Write some simple docs for agb_tracker 2023-07-23 20:21:04 +01:00
Gwilym Inzani e2f14094fc Update my name 2023-07-23 20:00:31 +01:00
Gwilym Inzani b593b90701 Get the docs building 2023-07-23 19:52:11 +01:00
Gwilym Inzani 352658f23f Fix clippy lints 2023-07-23 19:08:51 +01:00
Gwilym Inzani 85561de1ca Attempt to update the tools to the new folder 2023-07-23 18:35:50 +01:00
Gwilym Inzani 992ce37464 Update justfile to support the tracker crates 2023-07-23 00:31:12 +01:00
Gwilym Inzani 1aa8e5fd33 Reintroduce the first special casing 2023-07-22 23:40:09 +01:00
Gwilym Inzani d6384a6886 This improves mixing performance by about 20% 2023-07-22 23:27:21 +01:00
Corwin 2d53977c49
add energy to amplitude (#457)
- [x] no changelog update needed
2023-07-19 20:36:54 +01:00
Corwin 67435b31e0
update justfile 2023-07-19 17:54:41 +01:00
Corwin 41a0c773dd
clean up other examples 2023-07-19 17:54:41 +01:00
Corwin 0fac43746f
add the dungeon keeper's lament 2023-07-19 17:54:41 +01:00
Gwilym Inzani ff0e8f659e Better tracking of speed 2023-07-19 13:53:46 +01:00
Gwilym Inzani b6cccf3b5a Add Portamento 2023-07-19 13:38:32 +01:00
Gwilym Inzani 1b8f4bbdc9 NoteCut support 2023-07-19 13:22:26 +01:00
Gwilym Inzani a9236531c7 Simplify the basic example and make a timing example 2023-07-19 12:31:59 +01:00
Gwilym Inzani 6f8633861d Use 32-bit numbers more for more performance (and start tracking that) 2023-07-18 22:49:56 +01:00
Gwilym Inzani b8adf08382 Don't hold arpeggios 2023-07-18 22:17:17 +01:00
Gwilym Inzani 03b5f2fafd Remove unused methods 2023-07-18 21:51:38 +01:00
Gwilym Inzani c2e7a3b9b4 Update to 0.16 2023-07-18 21:51:31 +01:00
Gwilym Inzani a91069eac2 Consider the global volume 2023-07-18 21:37:01 +01:00