GetData millisec always zero
Monkey Forums/Monkey Bug Reports/GetData millisec always zero
| ||
| When using it on GLFW, the millisec component of getdate is always zero. |
| ||
| I wondered about this too and as it turns out the function in the glfw source returns 0. |
| ||
| But this can't be right! I mean, shouldn't this be returning proper results? |
| ||
This is the date code in "gametarget.cpp":void BBGame::GetDate( Array<int> date ){
int n=date.Length();
if( n>0 ){
time_t t=time( 0 );
#if _MSC_VER
struct tm tii;
struct tm *ti=&tii;
localtime_s( ti,&t );
#else
struct tm *ti=localtime( &t );
#endif
date[0]=ti->tm_year+1900;
if( n>1 ){
date[1]=ti->tm_mon+1;
if( n>2 ){
date[2]=ti->tm_mday;
if( n>3 ){
date[3]=ti->tm_hour;
if( n>4 ){
date[4]=ti->tm_min;
if( n>5 ){
date[5]=ti->tm_sec;
if( n>6 ){
date[6]=0;
}
}
}
}
}
}
}
}With date[6]=0, it will always be zero. Compared to the Flash gametarget.as: if( n>6 ){
date[6]=t.getMilliseconds();
}Monkey uses ctime for cpp which is only precise to the second. |
| ||
| one thing to note then: Don't rely the millisecs number from GetDate() for adding entropy to the randomizer's seed if you're on desktop. Using Millisecs() in combination with GetDate() should be slightly better |
| ||
| I'm developing a clock app for one client (yes, there are people that pay for this!) and I was expecting different behavior on GLFW. This should be noted in the docs. |