Soundtrack expanded to 35 pieces with a leitmotif variant generator and 8 new instruments

- generator: leitmotif as scale degrees, keys/modes, augmentation, diminution, inversion,
  fragment sequences, accompaniment and drum styles; hand-written title 2, boss themes, victory 2
- organ, bell, choir, sub bass, tom, crash, harp, timpani; 8-bit samples, unused instruments stripped
- src/tracks.rs generated with categories; music director with boss themes and room moods
- all pieces validated with libopenmpt; notes checked to stay in key

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-03 08:09:15 +01:00
1 parent 1e92e19089
commit 5158075d7b
42 files changed
+721 -98

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
// Generated by tools/compose_music.py - do not edit.
// All music modules with their category (see audio::Category).
use crate::audio::Category;
pub const TRACKS: [(&str, Category, &[u8]); 35] = [
("title", Category::Title, include_bytes!("../assets/music/title.xm")),
("title2", Category::Title, include_bytes!("../assets/music/title2.xm")),
("build1", Category::Build, include_bytes!("../assets/music/build1.xm")),
("build2", Category::Build, include_bytes!("../assets/music/build2.xm")),
("build3", Category::Build, include_bytes!("../assets/music/build3.xm")),
("build4", Category::Build, include_bytes!("../assets/music/build4.xm")),
("build5", Category::Build, include_bytes!("../assets/music/build5.xm")),
("build6", Category::Build, include_bytes!("../assets/music/build6.xm")),
("build7", Category::Build, include_bytes!("../assets/music/build7.xm")),
("build8", Category::Build, include_bytes!("../assets/music/build8.xm")),
("build9", Category::Build, include_bytes!("../assets/music/build9.xm")),
("build10", Category::Build, include_bytes!("../assets/music/build10.xm")),
("build11", Category::Build, include_bytes!("../assets/music/build11.xm")),
("build12", Category::Build, include_bytes!("../assets/music/build12.xm")),
("build13", Category::Build, include_bytes!("../assets/music/build13.xm")),
("build14", Category::Build, include_bytes!("../assets/music/build14.xm")),
("build15", Category::Build, include_bytes!("../assets/music/build15.xm")),
("battle1", Category::Battle, include_bytes!("../assets/music/battle1.xm")),
("battle3", Category::Battle, include_bytes!("../assets/music/battle3.xm")),
("battle4", Category::Battle, include_bytes!("../assets/music/battle4.xm")),
("battle5", Category::Battle, include_bytes!("../assets/music/battle5.xm")),
("battle6", Category::Battle, include_bytes!("../assets/music/battle6.xm")),
("battle7", Category::Battle, include_bytes!("../assets/music/battle7.xm")),
("battle8", Category::Battle, include_bytes!("../assets/music/battle8.xm")),
("battle2", Category::Assault, include_bytes!("../assets/music/battle2.xm")),
("assault2", Category::Assault, include_bytes!("../assets/music/assault2.xm")),
("assault3", Category::Assault, include_bytes!("../assets/music/assault3.xm")),
("assault4", Category::Assault, include_bytes!("../assets/music/assault4.xm")),
("boss_paladin", Category::BossPaladin, include_bytes!("../assets/music/boss_paladin.xm")),
("boss_warden", Category::BossWarden, include_bytes!("../assets/music/boss_warden.xm")),
("mood_torture", Category::Torture, include_bytes!("../assets/music/mood_torture.xm")),
("mood_temple", Category::Temple, include_bytes!("../assets/music/mood_temple.xm")),
("victory", Category::Victory, include_bytes!("../assets/music/victory.xm")),
("victory2", Category::Victory, include_bytes!("../assets/music/victory2.xm")),
("defeat", Category::Defeat, include_bytes!("../assets/music/defeat.xm")),
];