Compare commits

...
4 Commits
Author SHA1 Message Date
SonicSwordcane efcffed848 chore: Release lemur version 0.9.1 2025-09-06 10:32:02 -04:00
SonicSwordcane 58bb34e3cc Add elf/isx to file picker 2025-09-06 10:22:17 -04:00
SonicSwordcane 132d494cc2 Delete profiles before overwriting 2025-09-06 10:13:09 -04:00
SonicSwordcane 30ee8c06f7 Fix off-by-one errors 2025-09-06 09:57:37 -04:00
5 changed files with 7 additions and 4 deletions
Generated
+1 -1
View File
@@ -2165,7 +2165,7 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "lemur"
version = "0.9.0"
version = "0.9.1"
dependencies = [
"anyhow",
"atoi",
+1 -1
View File
@@ -4,7 +4,7 @@ description = "An emulator for the Virtual Boy."
repository = "https://git.virtual-boy.com/PVB/lemur"
publish = false
license = "MIT"
version = "0.9.0"
version = "0.9.1"
edition = "2024"
[dependencies]
+2 -2
View File
@@ -154,14 +154,14 @@ fn extract_isx_symbols(input: &[u8]) -> Option<Vec<Symbol>> {
// Range (Virtual Boy)
let count_bytes;
(count_bytes, buf) = buf.split_first_chunk()?;
let count = u16::from_le_bytes(*count_bytes) + 1;
let count = u16::from_le_bytes(*count_bytes);
(_, buf) = buf.split_at_checked(count as usize * 9)?;
}
0x14 => {
// Symbol (Virtual Boy)
let count_bytes;
(count_bytes, buf) = buf.split_first_chunk()?;
let count = u16::from_le_bytes(*count_bytes) + 1;
let count = u16::from_le_bytes(*count_bytes);
for _ in 0..count {
let name_len;
(name_len, buf) = buf.split_first()?;
+2
View File
@@ -88,6 +88,7 @@ impl GameWindow {
Command::OpenRom => {
let rom = rfd::FileDialog::new()
.add_filter("Virtual Boy ROMs", &["vb", "vbrom"])
.add_filter("Executable files", &["", "elf", "isx"])
.pick_file();
if let Some(path) = rom {
self.client
@@ -140,6 +141,7 @@ impl GameWindow {
{
let rom = rfd::FileDialog::new()
.add_filter("Virtual Boy ROMs", &["vb", "vbrom"])
.add_filter("Executable files", &["", "elf", "isx"])
.pick_file();
if let Some(path) = rom {
self.client
+1
View File
@@ -65,6 +65,7 @@ impl ProfileWindow {
.save_file();
if let Some(path) = file {
let bytes = pollster::block_on(bytes_receiver)?;
let _ = fs::remove_file(&path);
fs::write(&path, bytes)?;
Ok(Some(path.display().to_string()))
} else {