Proposal: a Time tab (12/24 h clock, time travel, event presets)

Aperta
#385 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
cpp
Ambito
desktop, devtools

Direzione di ricerca

The proposal splits the work across runtime time offsets, [time] configuration keys, an F1 tab, the in-game Options screen, and a launcher sync button. Start by locating the runtime time service and the existing settings tab and slot schemes. First get maintainer agreement on the scope and event-list source; done criteria for the proposed features are not settled in the issue.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I would like to build a Time tab for the settings and would like to know first whether you want it, and how.

What it would hold

  1. Time notation: 12 h / 24 h. The game shows am/pm whatever the PC or Deck is set to; as far as I can tell the language decides (a German game shows "Uhr"). A [pkp] clock_24h option and a row for it.
  2. Time travel. The runtime already answers the game's time service, so a time offset (off by default) the game sees instead of the real date and time. Sliders for date and hour, and "follow real time". I run a small version of this on my own Steam Deck and use it to reach seasonal events outside their dates.
  3. Event presets. A list of the game's events (name, start, end); picking one moves the clock to that event's start.
  4. One online sync of that list. The list changes with every update, so a button in the launcher fetches it once from a public event page and rewrites a plain pokopia_events.tsv next to the game. No timer, no background access; the game itself would not need any network code.

Where it lives

A Time tab in the game's own Settings screen (the in-game Options, next to the tabs that are already there), not on the F1 page. The rows use the same scheme as the existing tabs.

How I would split it

  • A: the time offset in the runtime, [time] keys, and the Time tab with the notation row, the time travel rows and the event list.
  • B: the launcher's button that fetches the event list once.
  • C: 12/24 h. This one I have not solved yet: I have not found where the game picks am/pm, and it may need a new hook (so "Set up again"). I would open it only once it works.

Questions

  • Is time travel something you want in the project at all? If yes, I would keep it off by default and say so in the changelog.
  • Is the launcher the right place for the event sync, or would you rather ship the list in the release?
  • Is a Time tab in the in-game Options OK, given the Options screen only has a few free row ids (I would use the slot scheme that is already there)?

I already sent two small PRs (#382 add DLC from an .nsp, #384 Steam Deck button icons) and run the runtime build on a Deck, so I can test on real hardware.

Lingua principale
C++
Stelle
224
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di featureJosh/Recompia

Tutte le issue di featureJosh/Recompia

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.