Skip to content

REQUESTS #16

Description

@r-lyeh

Some of them are already planned or prototyped by me, and some others are just as-is, gathered in Discord server:

  • [1] improve local file matching against ZXDB entries by reading file metadatas. see file-formats picture. this would allow to identify QOS.z80 with "A Question of Sport" @Korb: "also use sidecar files (xml, json) for those formats without metadatas" @r-lyeh: i dont think metadatas are actually common in the wild, even if they're a good idea in theory
  • [2] win x86 binaries @doperst2
  • [3] win11 arm64 binaries @Parakeet
  • [4] mac m1 binaries @Parakeet
  • [5] Netplay https://spectrumcomputing.co.uk/forums/viewtopic.php?p=166122 | nucleus co-op
  • [6] MP3s
  • [7] Add Recent Games History With the ability to set bookmark and compatibility flags. @Korb
  • [8] Dangerous actions must be confirmed "The emulator is primarily designed for games. In games, one of the most important (if not the most important) things is progress. Anything that can unexpectedly destroy progress is evil. A cat that knocked over a mug of coffee on a laptop, an electrician that turned off the house without warning. Accidentally pressing Clear Medias or Magic button (NMI). It doesn't matter whether the user accidentally pressed the button or because he didn't know what it meant, he can lose several hours of effort. And we will be partly to blame for this." @Korb
  • [9] Add mouse wheel scrolling to all lists that don't fit on one screen @Korb Ctrl + mouse wheel = page-by-screen (same as Page Up / Page Down). Including browser
  • [10] Panning and zooming for maps, inlays and instructions (overlays)
  • [11] Word-wrapping for texts (chase hq 2). @r-lyeh: probably not a good idea since some instructions do ascii drawings (see: Rex)
  • [12] Extend ZXDB search. "river*" should display a list of River Raid, River Raider, River Regatta, River Rescue @Korb
  • [13] When scanning local files, calculate `hash sums "This will be useful to preserve bookmarks, compatibility flags and per-game binding layouts even if files are moved and renamed." @Korb
  • [14] Add the ability to add bookmarks and compatibility flags to local files. @Korb
  • [15] Advanced Search Syntax "I suggest considering the possibility of using advanced search operators. By Google-style, Github / Discord-style or foobar2000-style. We know the set of fields to search for, the data has already been sorted out: author, brand, cheats, genre, help, inlays, maps, model, score, screen, tags, title, tunes, year, and zxdb / local. There are not enough genre tags, but I would already use it together with the year (BEFORE / AFTER) and file format tags (preferring those formats that do not force to wait for loading)." @Korb
  • [16] Make everything full of ZXDB hyperlinks "when i click Ben Daglish, it would be nice to have all titles he worked on.
    same for Ocean, or Adventure: Conversational, or 1988. Alternatively when picking up games, Saboteur (1985)(Durell); now Saboteur would load the game, 1985 could be also a link to list all 1985 releases and Durell, could be also a link to all Durell titles" @r-lyeh
  • [17] Ability to fully control the emulator from the controller (@Korb)
  • [18] Smooth scaling in full screen mode "For this, you can use, for example, the combination Ctrl + M.Wheel (if it is not used for something else). This is the expected behavior from this keyboard shortcut." @Korb
  • [19] Add Toggle bookmark and Toggle compatibility flags control to main game menu "In addition to the currently available ZXDB, Title, Year, Brand, Genre, Score, Model, Inlays, Screen, Maps, Cheats, Help, Author, Author, Author, and Tags items." @Korb
  • [20] improve gamepad bindings discord
  • [21] add support for Ctrl + A (selecting all text in the input field) to the "Game search" dialog @Korb
  • [22] support SDL_GameControllerDB @Korb
  • [23] Allow mask of joystick configurations @Hexaae (see Alien pic)
  • [24] Help guide / wiki @Korb see discord
  • [25] There needs to be "quit spectral" confirmation window + icon Exit @cheez26
  • [26] missing options to selectively remove vsync effect, and fishbowl distortion @Hexaae
  • [27] Automatic check for updates and self-updating (like Telegram) @Korb
  • [28] @Korb: Display a help window with current keyboard shortcuts next to the main application window @r-lyeh: not planned but the keyboard shortcuts are displayed in the about window since a few versions ago
  • [29] steam store @Korb see discord
  • [30] Full screen mode needs a dedicated exit button since setup is mostly mouse-dependent @cheez26
  • [31] Notes for games. @Korb: Give the user the ability to leave notes on games. This will entail adding another icon in the browser, another position on the left panel of game information and another hotkey to display the text of the note of the selected game on the browser screen / the current game on the main screen. Yes, we again run into the limitation of ASCII, making the application limited in functionality for people accustomed to using a non-Latin alphabet. And into the interface limitation of the concept of a "single application window". Also, word-wrap.
  • [32] Translation of the app into other languages. @Korb:"It is best if localization is carried out on third-party specialized platforms, such as (free for FOSS) Weblate or Crowdin."
  • [33] Do not pause music playback while dragging a window. @Korb:"many other emulators do it right: eightyone, emuzwin, es.pectrum, inkspector, jsspeccy, softspectrum48, z80stealth, spectaculator, zx poly, zx emul, zxmak2"
  • [34] Shell extensions: @Korb:"Add Windows File Explorer Preview Handler and Thumbnail Handler for supported file formats. My research has shown that there are no thumbnail and sidebar preview handlers for DCK, DSK, FDI, HDF, IMG, MDR, MGT, RZX, SCR, SLT, SNA, SZX, TAP, TRD, TZX, and Z80 files for modern Windows. However, you will have to make the application installable for this."
  • [35] filter search. @Hexaae:"once in the list (local or online by A-Z...) you can start typing with keyboard to quickly find the game partial string name. If you're in the "A" list online for example you can start typing "attack" should filter out every other game under A, except those like "Attack of the empire.." "Attack of the flying saucers..." "my game attack blah blah" etc. Same when you're browsing local. Search by typing should be limited to section you're in (local, A, B, C...), and maybe have also a GLOBAL option to search among ALL sections (you could keep the current mag-lens icon for the GLOBAL search, and start typing substring...). " @r-lyeh: partially addressed since v1.04. improved since v1.06
  • [36] Mirror whole catalog @Korb:"Do you know about the eXoDOS project? How about giving users the ability to make full backups of the WoS catalog? That is, download for local use all the WoS resources that the emulator can use. Or even with all the content in the cache, without Internet access the application will not be able to work properly?" @r-lyeh: p2p torrent client is planned.
  • [37] Automatically mark previously launched games in the browser "I propose adding a visual way to separate games that the user has previously launched from those that he has never launched. For example, the names of the former could be gray, and the latter - white. Exploring the vast legacy of past decades is a very exciting activity, but only if you clearly understand which of the tens of thousands of games you have already become familiar with, and which ones are yet to be played. This interface technique does not exclude the display of a list of recent games, they serve different purposes." @Korb
  • [38] Quick start guide: "Immediately after the first 👻 launch, when the .Spectral folder is missing, About should be displayed. So that the user does not feel confused from not understanding what to do with a blank screen, on which there is nothing but a dot, a triangle and copyright text." @Korb (see BASIC picture)
  • [39] Add a local gamesaves column to the browser (just an indicator - "yes"/"no") Add date and time. @Korb
  • [40] Specify media types and/or savegames when browsing @r-lyeh (see Myth picture)
  • [41] Six save slots per game. @Korb
    • Short press Save Game overwrites the oldest save for the current game.
    • Double press Save Game overwrites the latest save for the current game.
    • Short press Load Savegame loads the latest save for the current game.
    • Double press Load Savegame lists the current game's saves with timestamps.
    • When saving a state, automatically take a screenshot that will not be available to the user in the 👻 folder. These screenshots are displayed in a 3×2 grid on the save list screen for the current game. In the future, give the user an interface to view all saves for all games and delete both individual saves and all saves for the selected game.
  • [42] Music Player "I suggest considering the possibility of either embedding a ZXTune music player into the application, or allowing the user to launch an external ZXTune player for a specified file from WoS or a local library. For example, an attached file (MARAUDER.SCL) could be played as a game and as a music track." @Korb Implementation option: the library consists of two sections: Games and Music:
    • 1. The Games section displays currently available local and remote games (you will have to add another column for location statuses... or not). Local games are shown when using the persistent local library feature (currently unavailable). If the user does not use the local library, only remote games (available for download and cached) are displayed in the library. The temporarily specified local folder is displayed as a separate list, and its selection is not saved upon reboot.
    • 2. The Music section contains local music found during scanning the local library. Obviously, if the local library function is disabled / not used, it will be empty. If the user wants to scan a specific folder for music, he can use the ZXTune application, which is more convenient for this. But it does not have the 👻 feature - a media library.
  • [43] Correspondence of main menu items and options selecting list windows. @Korb "We have a panel (with buttons-indicators) and there are lists of available values ​​for this panel. But what do the icons of the panel and the lists have in common? If specifically, then — nothing! In the first we see an icon, which in most cases is an incomprehensible cluster of pixels, and a number; in the second — only text. That is, there is no connection between the panel and the lists. We are complicating the interface for no reason, raising the threshold of its assimilation. Is this an end in itself, to make the application less popular, or an attempt to recreate the time when people dealing with computers were a kind of elite, a caste that felt like something different from the majority? I need to know this, because it may turn out that my criteria for software quality may not coincide with the fundamental settings for this application. Ideally, the panel should literally reflect the selected option. In interfaces, this is realized through drop-down lists. But we have an artificial limitation in the form of extreme pixelation. How can we help users in this case?"
    • 1. Adding an unambiguous index of the selected item. If there are four items available for selection, the value in the panel will be in the range from "1" (the first value) to "4" (the maximum or last). reported by @Korb
    • 2. These indexes should be displayed in both places to fix the unambiguous relationship of values. This is like an index field in databases. reported by @Korb
    • 3. Lists should be 1, 2, 3 and not 3, 2, 1 (as it is now). We are not mostly Chinese. reported by @Korb
    • 4. If the setting is supposed to be turned on and off (for example, Toggle TV Mode, Toggle AY Core, Toggle ULAplus), then we can help visually understand whether a particular setting is enabled or not by its color. White and gray are not very good, because gray can evoke an association with a locked and inaccessible for changing setting. We need to evaluate how green icons look when the setting is enabled and red when it is disabled. Settings that do not have "on" / "off" state groups will always be white. reported by @Korb
  • [44] ZXDB maps, "have that map centre on your current location when it opens". reported by ZXDunny. @r-lyeh: could work via image matching as long as the map is Pavero's style
  • [45] runtime auto-mapper. in isometric and 2d games with no scroll (spindizzy, sir fred, etc). we could create a contiguous auto-exploring map by appending last drawn screen (0x4000,6912) to a larger canvas. we could detect everytime the screen gets whole refreshed and the joystick button the user is pressing to add a new room to the larger canvas. we should monitor U,D,L,R (2D) or N,S,W,E (isometric) exits. that could maybe be enough to get the job done
  • [46] hard fullscreen option. reported by @koseidon72

Image
Image
Image
Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions