T_void Initialize(T_void)
{
    LoadEvents() ;
    LoadCommands() ;
    G_vars = malloc(MAX_VARS * sizeof(T_var)) ;
    if (G_vars == NULL)  {
        printf("No memory for vars!") ;
        exit(101) ;
    }
    G_defnums = malloc(MAX_DEFNUMS * sizeof(T_defnum)) ;
    if (G_defnums == NULL)   {
        printf("No memory for defnums!") ;
        exit(102) ;
    }
    memset(G_places, 0xFF, sizeof(G_places)) ;
    memset(G_eventPlaces, 0xFF, sizeof(G_eventPlaces)) ;
}
void ClientGame::OnPayloadMsg(ConstPayloadPtr aPayloadMsg)
{
    if (aPayloadMsg->has_time())
    {
        mTime = aPayloadMsg->time();
    }
    if (aPayloadMsg->has_update_length())
    {
        mServerUpdateLength = aPayloadMsg->update_length();
        mSyncTimer.Reset(mServerUpdateLength);
    }
    LoadEvents(aPayloadMsg);
    if (aPayloadMsg->has_reason())
    {
        LOG(INFO) << aPayloadMsg->ShortDebugString();
    }
}