Ok, actually I'm part way here already. All that's needed is a status line draw update. So I changed the status line code in Main to read:
(instance statusCode of Code
(properties)
(method (doit param1)
Format(param1 " Score: %d of %-3d %02d:%02d:%02d Template Game " gScore gMaxScore gTimeHours gTimeMinutes gTimeSeconds)
)
)
(actually, I recommend putting the clock at the end of the status line because when it updates some font characters are different widths than others and this moves anything to the right of it around based on the size. Unless you're using a unicode font where all the characters are the same width, then you wouldn't have this problem)
...and added the line (SL:doit()) to the clock updating code in Main:
(if(<> gCurrentTime (= gCurrentTime GetTime(gtTIME_OF_DAY)))
(if(>= ++gTimeSeconds 60)
= gTimeSeconds 0
++ gTimeMinutes
(SL:doit())
(if(>= gTimeMinutes 60)
= gTimeMinutes 0
++ gTimeHours
(SL:doit())
)
)
)
The only problem is that it only updates for the minutes and hours and doesn't update for each second. I'm not sure how to go about accomplishing that since the seconds are updated within the if statement condition:
(if(>= ++gTimeSeconds 60)
Working on a workaround for this...