Skip to content

HookLink: heat and battery under the frame-rate counter, a launcher toggle - #1

Open
Mars-Mah3r wants to merge 2 commits into
dsi-hub:hooklinkfrom
Mars-Mah3r:hooklink-heat-battery
Open

Mars-Mah3r wants to merge 2 commits into
dsi-hub:hooklinkfrom
Mars-Mah3r:hooklink-heat-battery

Conversation

@Mars-Mah3r

@Mars-Mah3r Mars-Mah3r commented Nov 13, 2026 •

Copy link
Copy Markdown

Brings seedds/nxnative#2612 (with its launcher toggle) to HookLink's engine branch.

On the launcher's Game section, under Frame-rate counter, a new row Heat and battery (DM_SHOW_HEAT_BATTERY, off by default) shows while the counter is on:

60 fps · Busy
75% · 1h20 left
  • Heat: the thermal state as Normal, Busy, Throttling, Overheat.
  • Battery: the percentage in 1 % steps from IOKit's power sources, or UIKit's 5 % steps if the sandbox refuses them (the log line frame-rate counter on, with heat and battery (battery in … steps) says which). The time left is measured from the first step down; … until then, charging while plugged in.
  • Off, the counter is 60 fps alone, as in 1.8.5. The in-game menu switches it at once.

Two commits, cherry-picked onto hooklink; one conflict each in settings.tsv and test_launcher_settings.py, resolved by keeping HookLink's rows (Frame generation size, pad theme and opacity, Wide view) and placing Heat and battery directly under Frame-rate counter.

Checked: compile_check.py with GAME=0400486024DEC000 (262 files, 0 failed); test_launcher_settings, test_player_env, test_settings, test_env_switches, test_docs pass.
Not checked: an iPhone, including whether IOKit's power sources answer inside the sandbox.

seedds and others added 2 commits November 13, 2026 23:55
…he play time it leaves: "60 fps · Busy" over "75% · 1h20 left". The heat is NSProcessInfo's thermal state named for what it means (nominal, fair, serious, critical → Normal, Busy, Throttling, Overheat); the percentage comes from IOKit's power sources in 1 % steps, as the status bar shows it, or from UIDevice's 5 % steps when those are refused; the time is measured from the first step down to the latest, again after charging or the background. The label's timer runs in the common run loop modes, so it keeps updating while a touch is tracked (replaces PR seedds#1976)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… Heat and battery (DM_SHOW_HEAT_BATTERY, off by default) sits under Frame-rate counter and is drawn only while the counter is on (needs=DM_SHOW_FPS=1); without it the counter is the frame rate alone, as before. The in-game menu turns it on and off at once, and turning it on starts the battery's measurement again

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants