OxyROMon Version 0.22.0

OxyROMon v0.22.0 is a cross-platform CLI ROM organizer written in Rust, emphasizing original and lossless formats. It checks ROMs against verified databases and introduces features like per-system settings, a web UI dropdown for system-specific options, and support for ROM file downloads. The update includes a new native desktop app, improved ZIP and RVZ/WBFS handling, and a major overhaul of the web UI for better usability. Numerous improvements and fixes enhance functionality and code quality, while maintaining a clean terminal experience. Download OxyROMon v0.22.0 for the latest features and enhancements.

(HEY YOU!! We hope you enjoy! We try not to run ads. So basically, this is a very expensive hobby running this site. Please consider joining us for updates, forums, and more. Network w/ us to make some cash or friends while retro gaming, and you can win some free retro games for posting. Okay, carry on 👍)

OxyROMon v0.22.0 has been launched. This cross-platform, opinionated CLI ROM organizer is crafted in Rust. Similar to other ROM managers, it validates ROM files against established databases. It emphasizes archiving, supporting only original and lossless ROM formats. Users can sort in regions mode, 1G1R mode, or both.

OxyROMon changelog:
Features
Introduced per-system settings with automatic fallback to global values
Added -n/–system flag to the config for scoping operations to a specific system (supports % globs)
Integrated per-system settings into the web UI via a dropdown for each system entry
Enabled romfile download capability within the web UI
Included an About modal in the web UI displaying the version, dependencies, and statistics
Implemented DAT import functionality in the web UI
Facilitated Redump DAT download and updates through the web UI
Introduced notification history in the web UI
Added -u/–update flag to import-dats to exclusively import DATs for systems that are already in the database
Enhanced ZIP support in import-dats for locating .dat files in subdirectories (compatible with daily dat-o-matic packs)
Incorporated an optional native desktop application built with Tauri, sharing the CLI’s database and settings
Added an optional nod feature to manage RVZ and WBFS natively without using dolphin-tool and wit
Implemented an optional sevenz feature to read archives and write ZIP natively rather than using 7-Zip
Included real progress bars for RVZ and WBFS conversions with the nod feature
Changes
Redeveloped the web UI in Rust using Leptos, replacing the previous Svelte/Flowbite frontend
Reconstructed the web UI using Web Awesome components
Eliminated Tailwind CSS; the UI is now styled with Web Awesome and a compact stylesheet
Made the web UI’s three columns resizable, remembering positions across sessions
Restored per-field descriptions in the settings dialog
Substituted the SKIP_PNPM build environment variable with SKIP_TRUNK
Replaced the cdfs git dependency with a native ISO 9660 reader sourced from opticaldiscs
Improvements
Sizes and notification times in the web UI now align with the reader’s locale
Notifications in the web UI now stack instead of overwriting each other
Checking an RVZ no longer requires extracting it to a temporary ISO when using the nod feature
Optimized dependencies in the development profile, leading to faster debug builds and test suites
Revamped web UI colors for enhanced readability in both light and dark themes
Adjusted statistics table header color in light mode to align with systems and games table headers
Refined CLI output for a clearer, more consistent terminal experience
Ensured that progress bars and log messages do not overlap or corrupt each other
Standardized messaging across all commands with clear icons and color codes
Improved check-roms output with a per-system pass/fail summary
Updated the statistics card in the web UI with a tiled layout
Revamped the settings modal in the web UI with a two-column layout for smoother navigation
Thoroughly cleaned the entire codebase to be clippy-clean (~900 warnings)
Modernized idioms: utilized std::sync::LazyLock over lazy_static, and removed extern crate
Streamlined the main() subcommand dispatch using matches.subcommand() destructuring
Removed unnecessary code; test-only helpers are now conditionally compiled with #[cfg(test)]
Migrated error handling from simple-error to anyhow, ensuring errors now retain a complete context chain
Extracted hashing and comparison helpers from CommonRomfile
Eliminated redundancy in partition-by-extension blocks in convert-roms and export-roms (~560 lines)
Unified CSO and ZSO handling in convert-roms and export-roms via a shared decoding layer (~440 lines)
Transitioned NSZ, RVZ, and WBFS handling in convert-roms/export-roms to the shared decoding layer
Simplified convert-roms CHD handling
Refined convert-roms back-to-original processing
Separated CUE/BIN and CHD parsing helpers into transcode.rs
Introduced a run_tool helper that centralizes external tool invocation
Fixes
Corrected RVZ_COMPRESSION_ALGORITHM to function properly when set to bzip2 instead of bzip
Resolved the issue of the notification list in the web UI not expanding, as it was clipped by the navbar
Fixed the notification count badge position in the web UI
Adjusted the system actions menu in the web UI to prevent clipping by its pane, ensuring proper alignment and hover effects
Corrected the shifting of the statistics card in the web UI whenever a modal opened
Resolved the issue of the server not shutting down cleanly on Ctrl+C when SSE clients were connected
Fixed convert-roms -f rvz –recompress leaving behind a stray intermediate .iso
Addressed convert-roms -f chd failing on standalone RIFF (LaserDisc) images
Corrected mispartitioning of Switch files in convert-roms -f original and export-roms -f original

Download: OxyROMon v0.22.0
Source: Here

About dadmin

I love it all!! 😍 😍

Check Also

SNES Station PC Version 0.13.9

SNES Station PC v0.13.9 is a fan-made Windows adaptation of the classic SNES Station from …

Leave a Reply

Your email address will not be published. Required fields are marked *