summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--audio/src/channel.rs (renamed from graphics/src/audio/channel.rs)2
-rw-r--r--audio/src/data.rs (renamed from graphics/src/audio/data.rs)4
-rw-r--r--audio/src/lib.rs (renamed from graphics/src/audio/mod.rs)13
-rw-r--r--audio/src/parse/lex.rs (renamed from graphics/src/audio/parse/lex.rs)2
-rw-r--r--audio/src/parse/macros.rs (renamed from graphics/src/audio/parse/macros.rs)0
-rw-r--r--audio/src/parse/mod.rs (renamed from graphics/src/audio/parse/mod.rs)3
-rw-r--r--audio/src/parse/parser.rs (renamed from graphics/src/audio/parse/parser.rs)2
-rw-r--r--audio/src/program.rs (renamed from graphics/src/audio/program.rs)2
-rw-r--r--graphics/Cargo.toml3
-rw-r--r--graphics/src/lib.rs8
10 files changed, 24 insertions, 15 deletions
diff --git a/graphics/src/audio/channel.rs b/audio/src/channel.rs
index a1ad144..7ed61a6 100644
--- a/graphics/src/audio/channel.rs
+++ b/audio/src/channel.rs
@@ -5,7 +5,7 @@ type Music = raylib::audio::Music<'static>;
macro_rules! load_audio {
($handle:expr, $filepath:expr) => {{
let mut audio = if cfg!(any(feature = "static", target_arch = "wasm32")) {
- let bytes = include_bytes!(concat!("../../../", $filepath));
+ let bytes = include_bytes!(concat!("../../", $filepath));
let vec = Vec::from(bytes);
$handle.new_music_from_memory(".wav", &vec)?
} else {
diff --git a/graphics/src/audio/data.rs b/audio/src/data.rs
index 9c68523..2d1bdc5 100644
--- a/graphics/src/audio/data.rs
+++ b/audio/src/data.rs
@@ -1,10 +1,10 @@
-use crate::audio::program::Program;
+use crate::program::Program;
use std::fs;
macro_rules! load_asm {
($path:tt) => {{
if cfg!(any(feature = "static", target_arch = "wasm32")) {
- let src = include_str!(concat!("../../../", $path));
+ let src = include_str!(concat!("../../", $path));
Program::parse(src, true)?
} else {
let src = fs::read_to_string($path)?;
diff --git a/graphics/src/audio/mod.rs b/audio/src/lib.rs
index 2b85a0f..b2d3e87 100644
--- a/graphics/src/audio/mod.rs
+++ b/audio/src/lib.rs
@@ -1,17 +1,22 @@
//! The `audio` crate stores all audio assets that need to be loaded during runtime
+use raylib::audio::RaylibAudio;
use std::time::{Duration, Instant};
use channel::{Channel, NoiseChannel, PulseChannel, TriangleChannel};
-use raylib::audio::RaylibAudio;
-
-use crate::audio::data::Data;
+use data::Data;
mod channel;
mod data;
mod parse;
mod program;
+/// The `Error` type used within this crate
+pub type Error = Box<dyn std::error::Error>;
+
+/// The `Result` type used witin this crate
+pub type Result<T> = std::result::Result<T, crate::Error>;
+
const AUDIO_FPS: u32 = 60;
const TIME_SLICE: Duration = Duration::from_millis(1000 / AUDIO_FPS as u64);
@@ -66,7 +71,7 @@ pub struct Audio {
pub data: Data,
}
impl Audio {
- pub(crate) fn load() -> crate::Result<Self> {
+ pub fn load() -> crate::Result<Self> {
let channels = Channels::load()?;
let last = Instant::now();
let data = Data::load()?;
diff --git a/graphics/src/audio/parse/lex.rs b/audio/src/parse/lex.rs
index 9969c9e..0ef8d47 100644
--- a/graphics/src/audio/parse/lex.rs
+++ b/audio/src/parse/lex.rs
@@ -5,7 +5,7 @@ use std::{
};
use super::Result;
-use crate::audio::{channel::DutyCycle, program::ChanSpec};
+use crate::{channel::DutyCycle, program::ChanSpec};
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Token {
diff --git a/graphics/src/audio/parse/macros.rs b/audio/src/parse/macros.rs
index 1dc33eb..1dc33eb 100644
--- a/graphics/src/audio/parse/macros.rs
+++ b/audio/src/parse/macros.rs
diff --git a/graphics/src/audio/parse/mod.rs b/audio/src/parse/mod.rs
index 9ff243d..726aaa2 100644
--- a/graphics/src/audio/parse/mod.rs
+++ b/audio/src/parse/mod.rs
@@ -1,4 +1,5 @@
-use crate::audio::{parse::parser::Parser, program::Instruction};
+use crate::program::Instruction;
+use parser::Parser;
pub type Result<T> = std::result::Result<T, String>;
diff --git a/graphics/src/audio/parse/parser.rs b/audio/src/parse/parser.rs
index 5157fa1..b46e707 100644
--- a/graphics/src/audio/parse/parser.rs
+++ b/audio/src/parse/parser.rs
@@ -1,6 +1,6 @@
use std::iter::Peekable;
-use crate::audio::program::{ChanSpec, Instruction};
+use crate::program::{ChanSpec, Instruction};
use super::{
Result,
diff --git a/graphics/src/audio/program.rs b/audio/src/program.rs
index f5decd6..28a5f41 100644
--- a/graphics/src/audio/program.rs
+++ b/audio/src/program.rs
@@ -1,4 +1,4 @@
-use crate::audio::{
+use crate::{
Channels,
channel::{Channel, DutyCycle},
parse,
diff --git a/graphics/Cargo.toml b/graphics/Cargo.toml
index 0240745..0687272 100644
--- a/graphics/Cargo.toml
+++ b/graphics/Cargo.toml
@@ -8,6 +8,7 @@ publish.workspace = true
rust-version.workspace = true
[dependencies]
+audio.workspace = true
dungeon.workspace = true
raylib.workspace = true
@@ -19,7 +20,7 @@ default = []
x11 = ["raylib/GLFW_BUILD_X11"]
wayland = ["raylib/wayland", "raylib/GLFW_BUILD_WAYLAND"]
sdl = ["raylib/sdl", "raylib/SUPPORT_MODULE_RTEXT"]
-static = []
+static = ["audio/static"]
# Individual features seem to currently be
# broken on windows
diff --git a/graphics/src/lib.rs b/graphics/src/lib.rs
index 63233f5..fa83b98 100644
--- a/graphics/src/lib.rs
+++ b/graphics/src/lib.rs
@@ -3,13 +3,15 @@
use std::time::Duration;
+use audio::Audio;
use dungeon::Dungeon;
-use raylib::prelude::*;
+use raylib::{
+ RaylibHandle, RaylibThread,
+ ffi::{KeyboardKey, TraceLogLevel},
+};
-use crate::audio::Audio;
use crate::render::Renderer;
-mod audio;
mod render;
mod timer;