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

未关闭
#385 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
20/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
活跃
技术栈
cpp
领域
desktop, devtools

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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.

主要语言
C++
星标
224
派生
0
PR 合并指标
30 天内没有已合并 PR

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

featureJosh/Recompia 的其他 Issue

查看 featureJosh/Recompia 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。