implemented intrinsics de input and specs adjustment

This commit is contained in:
bQUARKz 2026-03-07 14:23:31 +00:00
parent 10dfc7bf15
commit f12ac453a3
Signed by: bquarkz
SSH Key Fingerprint: SHA256:Z7dgqoglWwoK6j6u4QC87OveEq74WOhFN+gitsxtkf8
3 changed files with 17 additions and 11 deletions

View File

@ -71,7 +71,6 @@ pub enum Capability {
None, None,
System, System,
Gfx, Gfx,
Input,
Audio, Audio,
Fs, Fs,
Log, Log,

View File

@ -99,7 +99,6 @@ fn normalize_capabilities(capabilities: &[Capability]) -> Result<CapFlags, Cartr
Capability::None => caps::NONE, Capability::None => caps::NONE,
Capability::System => caps::SYSTEM, Capability::System => caps::SYSTEM,
Capability::Gfx => caps::GFX, Capability::Gfx => caps::GFX,
Capability::Input => caps::INPUT,
Capability::Audio => caps::AUDIO, Capability::Audio => caps::AUDIO,
Capability::Fs => caps::FS, Capability::Fs => caps::FS,
Capability::Log => caps::LOG, Capability::Log => caps::LOG,
@ -196,11 +195,11 @@ mod tests {
#[test] #[test]
fn load_with_multiple_capabilities_combines_flags() { fn load_with_multiple_capabilities_combines_flags() {
let dir = TestCartridgeDir::new(manifest_with_capabilities(Some(vec!["gfx", "input"]))); let dir = TestCartridgeDir::new(manifest_with_capabilities(Some(vec!["gfx", "audio"])));
let cartridge = DirectoryCartridgeLoader::load(dir.path()).expect("cartridge must load"); let cartridge = DirectoryCartridgeLoader::load(dir.path()).expect("cartridge must load");
assert_eq!(cartridge.capabilities, caps::GFX | caps::INPUT); assert_eq!(cartridge.capabilities, caps::GFX | caps::AUDIO);
} }
#[test] #[test]
@ -238,4 +237,13 @@ mod tests {
assert!(matches!(error, CartridgeError::InvalidManifest)); assert!(matches!(error, CartridgeError::InvalidManifest));
} }
#[test]
fn load_with_legacy_input_capability_fails() {
let dir = TestCartridgeDir::new(manifest_with_capabilities(Some(vec!["input"])));
let error = DirectoryCartridgeLoader::load(dir.path()).unwrap_err();
assert!(matches!(error, CartridgeError::InvalidManifest));
}
} }

View File

@ -3,10 +3,9 @@ use super::CapFlags;
pub const NONE: CapFlags = 0; pub const NONE: CapFlags = 0;
pub const SYSTEM: CapFlags = 1 << 0; pub const SYSTEM: CapFlags = 1 << 0;
pub const GFX: CapFlags = 1 << 1; pub const GFX: CapFlags = 1 << 1;
pub const INPUT: CapFlags = 1 << 2; pub const AUDIO: CapFlags = 1 << 2;
pub const AUDIO: CapFlags = 1 << 3; pub const FS: CapFlags = 1 << 3;
pub const FS: CapFlags = 1 << 4; pub const LOG: CapFlags = 1 << 4;
pub const LOG: CapFlags = 1 << 5; pub const ASSET: CapFlags = 1 << 5;
pub const ASSET: CapFlags = 1 << 6; pub const BANK: CapFlags = 1 << 6;
pub const BANK: CapFlags = 1 << 7; pub const ALL: CapFlags = SYSTEM | GFX | AUDIO | FS | LOG | ASSET | BANK;
pub const ALL: CapFlags = SYSTEM | GFX | INPUT | AUDIO | FS | LOG | ASSET | BANK;