awaitの代わりにsleepで待機する

//
// [ Infomation ]
// Name : asleep
// SubName :
// Version :
// copyright :
//
// [ Update history ]
// 2013/07/27 : 1.0 :
//
// [ Comment ]
//
#include "kernel32.as"
#include "winmm.as"
#module
// ------------------------------------------------------------ //
//
//
//
// int waittime = 0 : (1ms)
//
// stat
// Sleep
//
//
//
// awaitasleep
//
// 使
//
// await 0
// waitawait
//
// awaitonon使
// asleep 16
// await 0
// await
//
// awation
// fps
// asleepon
// fps
//
// ------------------------------------------------------------ //
#deffunc asleep int waittime
//
timeGetTime
tm = stat
wt = waittime - (tm - tm0)
if wt<0 : wt = 0
//
Sleep wt
timeGetTime
tm0 = stat
return wt
#global
;---------------------------------------------------
#include "d3m.hsp"
#const LOGCNT 50
dim wts, LOGCNT
wtsid = 0
//
waittime = 33 // 30 fps
;waittime = 16 // 60 fps
;waittime = 100
onkey gosub *key
k = 0
*main
redraw 1
//
asleep waittime
wt = stat
await 0
redraw 0 : color 255, 255, 255 : boxf : color : pos 0,0
frame++
mes "frame : "+frame
mes "hit : " + k
mes "" + d3getfps() + " fps"
//
wtsid++
if wtsid >= LOGCNT : wtsid = 0
wts(wtsid) = wt
av=0.0
wtmax=0
wtmin=1000
// Sleep
pos 100,0
repeat LOGCNT
line ((double(ginfo_winx)-100)/LOGCNT)*cnt + 100, wts(cnt)*1
av += double(wts(cnt))
if wtmax < wts(cnt) : wtmax = wts(cnt)
if wtmin > wts(cnt) : wtmin = wts(cnt)
loop
// Sleep
pos 0,100
mes "wait = " + wt + " msec"
mes "wait = " + (av/LOGCNT) + " msec"
mes "wait max = " + wtmax + " msec"
mes "wait min = " + wtmin + " msec"
mes "max - min= " + (wtmax-wtmin) + " msec"
goto *main
//
*key
k++
; Sleep 5
return
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX