Warum schreibst du nicht einfach
time += time_step;
und multiplizierst das stattdessen mit 4? Die zugrundeliegende Zeiteinheit der Engine sind ja bekanntlich Ticks, und 16 Ticks sind eine Sekunde, sprich
time += time_step;
erreicht in einer Sekunde, von 0 ausgehend, den Wert 16. Demnach
Sekunden = time/16.0; // Minuten und ähnliches lassen sich natürlich nun leicht aus den Sekunden bestimmen

Da time_step aber gewissen Schwankungen (bzw. eben gerade nicht) und Glättung unterliegt, um unterschiedliche Frameraten auszugleichen, solltest du eher zu time_frame anstatt time_step greifen - aber nicht immer, sondern nur da, wo du wirklich Zeit zählen/ aufsummieren musst!


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends