aboutsummaryrefslogtreecommitdiff
path: root/cmd/demo
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2021-12-12 13:50:07 +0100
committerDrew DeVault <sir@cmpwn.com>2021-12-12 13:50:07 +0100
commit1bd67672132302c37db6a676cd3598cd49e23f9b (patch)
tree54b0fd7ab1d121f65d7bb4d33b7934f8d47ec343 /cmd/demo
parentAdd rwops io::stream implementation (diff)
downloadhare-chip8-1bd67672132302c37db6a676cd3598cd49e23f9b.tar.gz
sdl2::mixer: implement sample loading
Diffstat (limited to '')
-rw-r--r--cmd/demo/main.ha12
1 files changed, 10 insertions, 2 deletions
diff --git a/cmd/demo/main.ha b/cmd/demo/main.ha
index 2b662a2..a5e9e68 100644
--- a/cmd/demo/main.ha
+++ b/cmd/demo/main.ha
@@ -1,4 +1,5 @@
use fmt;
+use fs;
use sdl2;
use sdl2::{ controller_axis, event_type, renderer_flags, window_flags };
use sdl2::image;
@@ -25,12 +26,16 @@ export fn main() void = {
match (run()) {
case let err: sdl2::error =>
fmt::fatal("SDL2 error: {}", sdl2::strerror(err));
+ case let err: fs::error =>
+ fmt::fatal("Error: {}", fs::strerror(err));
case void => void;
};
};
-fn run() (void | sdl2::error) = {
- sdl2::init(sdl2::init_flags::VIDEO | sdl2::init_flags::GAMECONTROLLER)!;
+fn run() (void | fs::error | sdl2::error) = {
+ sdl2::init(sdl2::init_flags::VIDEO
+ | sdl2::init_flags::AUDIO
+ | sdl2::init_flags::GAMECONTROLLER)!;
defer sdl2::quit();
image::init(image::init_flags::PNG | image::init_flags::JPG)!;
defer image::quit();
@@ -67,6 +72,9 @@ fn run() (void | sdl2::error) = {
sdl2::game_controller_close(c);
};
+ let sample = mixer::load_file("sample.ogg")?;
+ defer mixer::free_chunk(sample);
+
let state = state {
window = win,
render = render,