Skip to content

NeoStation Beta 0.8.6+101

Choose a tag to compare

@github-actions github-actions released this 21 May 05:40

fix(android): allow Flycast to read sibling subfolders via SAF tree permissions
Flycast standalone failed to launch NAOMI2 / NAOMI GD games because these
ROMs are .zip files paired with a sibling folder (same name, no extension)
containing .chd files. The emulator builds child document URIs inside the
sibling folder, but those URIs were inaccessible because the granted SAF
permission did not propagate to subfolder descendants.
Changes in EmulatorLauncher.kt:

  • Keep SAF content:// URIs for Flycast instead of converting them to
    FileProvider URIs, which break .zip loading.
  • grantParentTreePermission(): grant permission to the real SAF tree root
    (via getTreeDocumentId) and add FLAG_GRANT_PREFIX_URI_PERMISSION so the
    emulator can access every descendant document in the tree.
  • grantSubfolderContentsIfZip(): when the ROM is a .zip, locate the sibling
    folder in the same directory, list every file inside it, and grant
    explicit read permission to each individual file as a fallback.
    Verified working: AW, DC, NAOMI, NAOMI2 and NAOMI GD with Flycast.

feat(ui): set all Material Symbols icons to filled and rounded

  • Added iconTheme: const IconThemeData(fill: 1.0) to the global theme
    in MaterialApp so all Material Symbols icons render with FILL=1.
  • Updated v_directory_picker.dart to inherit the global icon theme
    via IconTheme.of(context).copyWith(...) instead of overriding it
    with a plain IconThemeData, preserving the fill property.

fix(settings,update): gamepad index, dialog colors, and ROM scan flow

  • GeneralSettingsContent: add Ignore hidden files to getItemCount and
    selectItem to align gamepad navigation with UI order
  • UpdateDialog: change Later button background to match
    SystemsUpdateDialog (tertiary color)
  • UpdateDialog: return true on Update Now so caller can distinguish
    user choice
  • AppScreen: await UpdateDialog result and continue update/scan sequence
    when user presses Later instead of aborting