GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Tags · M5Devs/OpenROM
Tags
v4.0.0feat: desktop-only build, advanced skinning engine, and .orskin spec Module 1 — Purge legacy Android artifacts. Android moves to the separate OpenROM-Android repository; this repo is now desktop-only. - Delete gui/android/** and .github/workflows/Android.yml - core/lib/src/config.dart: drop initAndroid()/_androidNativeLibDir and the Android branches in getToolPath()/ensureExecutable() - gui/lib/main.dart: remove the Android MethodChannel + initAndroid bootstrap - gui/lib/app.dart: desktop-only layout detection - scripts/fetch-binaries.sh: reject --os android; drop android from the test fixture and add a regression check - Strip Android from docs/README/website, gui/.gitignore, gui/.metadata, gui/pubspec.yaml (launcher icons) and the deeplink service comments Module 2 — Advanced UI skinning engine. - ThemeConfig gains wallpaperPath/wallpaperOpacity/wallpaperBlur, skinId, accentSecondary and borderColor, all persisted through JSON/copyWith - WallpaperBackground widget composites the wallpaper behind the shell with opacity + gaussian blur; every screen scaffold is transparent so it shows - ThemeData is built from the palette's borderRadius (cards, dialogs, buttons, inputs) so skins control geometry, not just colours Module 3 — Official .orskin bundle format + Theme Editor support. - SkinManifest models the documented theme.json schema (portable `colors` + namespaced `openrom` extensions) - SkinManager imports/exports .orskin ZIPs: Zip-Slip safe, refuses symlinks and null bytes, bounded entries/size, atomic (failed imports leave nothing) - ThemeService.importSkin/exportSkin wire bundles into the live palette list; SkinManager.init() resolves the config dir at startup - Theme Editor + Settings: import/export .orskin, wallpaper picker, radius / opacity / blur sliders - docs/orskin-spec.md: the public specification Tests: gui 81 pass (incl. 11 skin-bundle + 3 ThemeService skin + new ThemeConfig cases); core 162 pass; dart/flutter analyze clean. Co-authored-by: openhands <[email protected]> v3.9.9feat(core): streamed ROM hasher + orplug-builder CLI, bump to v3.9.9 (#… …192) Part 1 — ROM Hasher - New `core/lib/src/hasher.dart`: memory-safe, single-pass streaming CRC32/MD5/SHA-1/SHA-256 over a 1 MiB buffer (never loads the whole ISO). - New `openrom-core --hash <rom> [--json]` emitting progress + a `result` JSON event with crc32/md5/sha1/sha256/size/size_human. - New GUI "ROM Hasher" tab (Tools): drag-and-drop or file picker, progress bar, results card with per-field copy buttons and a Copy All button. - `ToolsService.hashRom()` streams CLI progress into the GUI. Part 2 — orplug-builder - New `core/lib/src/plugin/builder.dart` implementing the Manifest v2 `.orplug` (ZIP) workflow against the existing plugin subsystem. - `--plugin-init <dir>` scaffolds plugin.json/README/LICENSE/icon.png and the bin/<os>/<arch>/ tree. - `--plugin-validate <dir|.orplug>` checks the manifest schema, SemVer, Zip-Slip containment and SHA-256 integrity of every declared executable. - `--plugin-pack <dir> [--out …]` hashes binaries, injects the digests, validates, writes `<id>-<version>.orplug` and prints the marketplace entry for store_manifest.json. Part 3 — v3.9.9 - Bump VERSION, core/pubspec.yaml (3.9.9), gui/pubspec.yaml (3.9.9+1), AppVersion.fallback and its test. - Tests: core/test/hasher_test.dart (NIST "123456789" vectors, chunk-size equivalence, empty file, progress) and core/test/plugin_builder_test.dart (init/validate/pack end-to-end incl. Zip-Slip and install). Co-authored-by: openhands <[email protected]> v3.9.8fix(cli): recognize --help and print usage (#191) * fix(cli): add --help/-h flag and print usage on no args The CLI rejected --help with "Could not find an option named \"--help\"". Add a --help/-h flag that prints the full usage, print usage instead of a bare one-liner when no arguments are given, and print usage to stderr alongside the error when parsing fails. Also add regression tests and bump the version to 3.9.8. Co-authored-by: openhands <[email protected]> * fix(cli): exit --help/--version before loading plugins loadInstalledPlugins() can log to stdout, which polluted --version output when a plugin was installed. Handle both early-exit flags before any side effects and tighten the regression test accordingly. Co-authored-by: openhands <[email protected]> --------- Co-authored-by: openhands <[email protected]> v3.9.7fix: CUE platform detection, conversion hang, M3U multi-disc; add sys…
…tem theme; ship macOS .dmg
CUE detection
- Parse the FILE entry (quotes, spaces, apostrophes) and resolve the
referenced BIN relative to the CUE's directory.
- Read magic bytes from the BIN (PS1, Dreamcast, Saturn, Sega CD,
PC-Engine CD, Neo Geo CD, PS2) and return the genuine platform.
- Fall back to UNKNOWN without throwing when the BIN is unreadable.
Conversion
- _toChd: CD-based disc images (CUE/BIN/GDI/CDI) always map to createcd
unless --media dvd is explicit, so an unassigned media type can no
longer stall dispatch.
- CLI emits an explicit {"type":"error"} payload and fails cleanly
instead of hanging when no job can be dispatched.
M3U generator
- Order all discs sequentially (Disc 1 -> 2 -> 3); previously only the
first disc reached the playlist.
- Preserve the on-disk filename casing exactly (no toLowerCase), fixing
case-sensitive filesystems.
Theme
- ThemeService follows ThemeMode.system by default, with a stored
light/dark preference and resolvedTheme(brightness).
- MaterialApp wires light/dark ColorSchemes; Settings gains an
Appearance (System/Light/Dark) selector; light-theme widget fixes.
Packaging
- Release workflow publishes the signed macOS .dmg directly instead of
wrapping it in a .zip, for direct Homebrew cask use.
- Version bumped to 3.9.7; docs and README updated.
Tests
- core/test/cue_detection_test.dart, core/test/m3u_test.dart
- gui app_version_test updated to 3.9.7
v3.9.5fix(scripts): make fetch-binaries.sh macOS-compatible (drop bash-4 ma… …pfile) macOS ships bash 3.2 where mapfile is unavailable, so the macOS release job failed with exit 127. Replace mapfile with a portable temp-file + while-read loop. Co-authored-by: openhands <[email protected]> v3.9.0fix(ci): normalize CRLF line endings in checksum verification (#143) Strip carriage returns (\r) from checksums.sha256 before passing to sha256sum or shasum in build scripts and GitHub Actions workflows. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> v3.8.0Fix Node.js deprecation warnings in GitHub Actions workflows (#127) * Fix Node.js deprecation warnings in GitHub Actions Update actions/checkout and actions/download-artifact from v4 to v5 across workflow files in .github/workflows. * Fix GitHub Actions deprecation and Flutter static analysis warnings - Update actions/checkout and actions/download-artifact from v4 to v5 across workflows - Ignore deprecated_member_use for onReorder in Flutter GUI screens --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> v3.7.5feat: identify expected base ROMs in generated patches (#123) * feat: add base ROM identity manifests * style: auto format dart files * fix: qualify SHA-256 helper --------- Co-authored-by: ClausValcaTD <[email protected]> v3.7.0fix: replace FilePicker() with FilePicker.platform (#119) Update file_picker usage across screen files in gui to static calls via FilePicker.platform, eliminating abstract class instantiation compilation errors. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> PreviousNext
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |