home *** CD-ROM | disk | FTP | other *** search
- global FRAME_RATE, TICKS_PER_FRAME, TIMER_STAT_INDEX, gpvTimerActive, gpvTimerCount, gpvLevelTimeCount, gpvLevelTimeActive, gpvLevelTimeStart, gpvLevelTimeLast
-
- on pvInitTimersFrameOne theFrameRate
- FRAME_RATE = theFrameRate
- TICKS_PER_FRAME = integer(60 / FRAME_RATE)
- worldResetTimer()
- gpvLevelTimeActive = 0
- gpvTimerActive = 0
- end
-
- on pvInitTimersNewGame
- theRate = the frameTempo
- worldStopTimer()
- worldResetTimer()
- worldStartTimer()
- gpvLevelTimeCount = 0
- gpvLevelTimeStart = the timer
- gpvLevelTimeLast = gpvLevelTimeStart
- gpvLevelTimeActive = 1
- end
-
- on worldResetTimer
- gpvTimerCount = 0
- end
-
- on worldStartTimer
- gpvTimerActive = 1
- end
-
- on worldStopTimer
- gpvTimerActive = 0
- end
-
- on worldGetTimer
- theTime = 10 * gpvTimerCount / FRAME_RATE
- return theTime
- end
-
- on pvTheTimer
- theTimer = integer(gpvLevelTimeCount * 60 / FRAME_RATE)
- return theTimer
- end
-
- on pvUpdateTimers
- retcode = 0
- if gpvTimerActive then
- gpvTimerCount = gpvTimerCount + 1
- end if
- if gpvLevelTimeActive then
- gpvLevelTimeCount = gpvLevelTimeCount + 1
- gpvLevelTimeNow = the timer
- ticksElapsed = gpvLevelTimeNow - gpvLevelTimeLast
- if ticksElapsed > 10 then
- gpvLevelTimeNow = the timer
- end if
- gpvLevelTimeLast = gpvLevelTimeNow
- retcode = pvTheTimer()
- end if
- return retcode
- end
-