You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

2.7 KiB

Custom Play Time Syntax

This document describes the formatting syntax used to display custom playtime values in the emulator.

Overview

Playtime is internally stored as a total number of seconds. This formatting system allows users to control how that value is displayed by using tokens inside a format string.

Example:

{H:02}:{M:02}:{S:02}

Output:

02:03:04

Tokens

The following tokens can be used in format strings.

Token Description
{d} Total days
{h} Total hours
{H} Hours component (0–23)
{m} Total minutes
{M} Minutes component (0–59)
{s} Total seconds
{S} Seconds component (0–59)

Padding

Tokens may optionally include zero-padding using the syntax :NN, where NN is the minimum width.

Example:

{H:02}:{M:02}:{S:02}

This ensures each component is displayed with at least two digits.

Example output:

02:03:04

Conditional Sections

Conditional sections allow parts of the format string to appear only when a specific time unit is non-zero. This is useful for hiding units such as 0h.

Conditional sections use the following syntax:

[unit] ... [/unit]

Where unit is one of the following:

Unit Condition
d Display section if days > 0
h Display section if hours > 0
m Display section if minutes > 0

Example:

[h]{H}h [/h][m]{M}m [/m]{S}s

Possible outputs:

1h 3m 4s
3m 4s
4s

Conditional sections may contain both tokens and literal text.

Escaping Braces

To include literal braces in the output, they must be escaped using double braces.

Input Output
{{ {
}} }

Example:

Playtime: {{ {H}:{M}:{S} }}

Output:

Playtime: { 2:3:4 }

Literal Text

Any text outside of tokens or conditional sections is copied directly into the output.

Example:

{h}h {M}m {S}s

Output:

26h 3m 4s

Examples

Clock Format

{H:02}:{M:02}:{S:02}

Example output:

02:03:04

Human Readable Format

{h} hours, {M} minutes, {S} seconds

Example output:

26 hours, 3 minutes, 4 seconds

Compact Format

[h]{H}h [/h][m]{M}m [/m][s]{S}s

Example output:

3m 4s

Notes

  • Playtime values are derived from the total number of elapsed seconds.
  • Component tokens (H, M, S) wrap within their normal ranges.
  • Total tokens (h, m, s) represent the full accumulated value for that unit.
  • This is based on the fmt syntax. Almost everything there is also supported here.