Concept for XA-Audio

This commit is contained in:
jaby 2024-05-21 21:38:47 +02:00
parent 0c6f1c139a
commit 1f5976e84b
2 changed files with 11 additions and 1 deletions

View File

@ -31,6 +31,11 @@
<File name = "TEX.BIN" lz4 = "already">../assets/bin/TexturePage.bin</File> <File name = "TEX.BIN" lz4 = "already">../assets/bin/TexturePage.bin</File>
<File name = "ICON.BIN" lz4 = "already">../assets/bin/IconTexture.bin</File> <File name = "ICON.BIN" lz4 = "already">../assets/bin/IconTexture.bin</File>
</Directory> </Directory>
<Directory name = "XAAUDIO" hidden = "true">
<XA-Audio name = "FOX.XA">
<Channel>../assets/bin/fox.xa</Channel>
</XA-Audio>
</Directory>
</Track> </Track>
<CD_Audio>../assets/audio/Evacuation_cdda.wav</CD_Audio> <CD_Audio>../assets/audio/Evacuation_cdda.wav</CD_Audio>
</ISO_Project> </ISO_Project>

View File

@ -85,6 +85,10 @@ fn parse_track(track: roxmltree::Node, config: &mut Configuration) -> Result<(),
Ok(File{common, path, kind: FileKind::Overlay(PathBuf::from(file.attribute(attribute_names::LBA_SOURCE).unwrap_or_default()))}) Ok(File{common, path, kind: FileKind::Overlay(PathBuf::from(file.attribute(attribute_names::LBA_SOURCE).unwrap_or_default()))})
} }
fn parse_xa_audio(_file: roxmltree::Node, _is_hidden: bool) -> Result<File, Error> {
Err(Error::not_implemented("XA-Audio not supported yet"))
}
fn parse_file_system(cur_node: roxmltree::Node, root: &mut Directory, mut is_hidden: bool) -> Result<(), Error> { fn parse_file_system(cur_node: roxmltree::Node, root: &mut Directory, mut is_hidden: bool) -> Result<(), Error> {
for node in cur_node.children() { for node in cur_node.children() {
if node.is_element() { if node.is_element() {
@ -92,6 +96,7 @@ fn parse_track(track: roxmltree::Node, config: &mut Configuration) -> Result<(),
"File" => root.add_file(parse_regular_file(node, is_hidden)?), "File" => root.add_file(parse_regular_file(node, is_hidden)?),
"Main" => root.add_file(parse_main_file(node)?), "Main" => root.add_file(parse_main_file(node)?),
"Overlay" => root.add_file(parse_overlay_file(node, is_hidden)?), "Overlay" => root.add_file(parse_overlay_file(node, is_hidden)?),
"XA-Audio" => root.add_file(parse_xa_audio(node, is_hidden)?),
"Directory" => { "Directory" => {
is_hidden |= parse_boolean_attribute(&node, attribute_names::HIDDEN)?; is_hidden |= parse_boolean_attribute(&node, attribute_names::HIDDEN)?;
let mut new_dir = Directory::new(node.attribute(attribute_names::NAME).unwrap_or_default(), is_hidden); let mut new_dir = Directory::new(node.attribute(attribute_names::NAME).unwrap_or_default(), is_hidden);