Exemple #1
0
void KillStats::action(const gcn::ActionEvent &event)
{
    const std::string &eventId = event.getId();
    if (eventId == "reset")
    {
        mKillCounter = 0;
        mExpCounter = 0;
        mLine3->setCaption(strprintf("1%% = %d exp, avg mob for 1%%: %s",
            PlayerInfo::getAttribute(PlayerInfo::EXP_NEEDED) / 100, "?"));
        // TRANSLATORS: kill stats window label
        mLine4->setCaption(strprintf(_("Kills: %s, total exp: %s"), "?", "?"));
        // TRANSLATORS: kill stats window label
        mLine5->setCaption(strprintf(_("Avg Exp: %s"), "?"));
        mLine6->setCaption(strprintf(
            // TRANSLATORS: kill stats window label
            _("No. of avg mob to next level: %s"), "?"));

        resetTimes();
    }
    else if (eventId == "timer")
    {
        mKillTimer = 0;
        mKillTCounter = 0;
        mExpTCounter = 0;
        mLine7->setCaption(strprintf(
            // TRANSLATORS: kill stats window label
            _("Kills/Min: %s, Exp/Min: %s"), "?", "?"));

        resetTimes();
    }
}
void MotionTracker::loop()
{
  long currentTime = millis();
  switch (state)
  {
    case INSIDE:
      if (accelerometerOutside())
      {
        if (timeOutside <= 0) timeOutside = currentTime;
        else if (currentTime - timeOutside > 500)
        {
          resetTimes();
          display.ssd1306_command(SSD1306_DISPLAYOFF);
          state = OUTSIDE;
        }
      }
      else
      {
        if (timeInside <= 0) timeInside = currentTime;
        else if (currentTime - timeInside > 2000)
        {
          Serial.println("Derp");
          resetTimes();
          display.dim(true);
          state = INSIDE_TIMEOUT;
        }
      }
      break;
    case INSIDE_TIMEOUT:
      if (accelerometerOutside())
      {
          resetTimes();
          display.dim(false);
          state = OUTSIDE;
      }
      break;
    case OUTSIDE:      
      if (!accelerometerOutside())
      {
        if (timeInside <= 0) timeInside = currentTime;
        else if (currentTime - timeInside > 500) 
        {
          resetTimes();
          display.ssd1306_command(SSD1306_DISPLAYON);
          state = INSIDE_TIMEOUT;
        }
      }
      break;
  } 
}
Exemple #3
0
ConsoleOutput::ConsoleOutput(QWidget *parent, bool enabled)
    :QTextEdit(parent)
    ,m_enabled(false)
    ,m_timerId(0)
    ,m_mode(CompileMode)
    ,m_nextMode(CompileMode)
    ,m_parseColors(true)
    ,m_parseVar(0)
    ,m_stdout_tie_stream(&m_stdout_tie_stream_buf)
{
    setReadOnly(true);
    setFont(QFont("Monospace"));
    QPalette pal=palette();
    pal.setColor(QPalette::Text,Qt::lightGray);
    pal.setColor(QPalette::Base,Qt::black);
    setPalette(pal);
    enable(enabled);
    resetTimes();
    setUndoRedoEnabled(false);
    setTextInteractionFlags(Qt::TextBrowserInteraction);

    QAction* hideAction = new QAction("hide", this);
    addAction(hideAction);
    connect(hideAction, SIGNAL(triggered()), this, SLOT(hide()));

    QAction* clearAction = new QAction("clear", this);
    addAction(clearAction);
    connect(clearAction, SIGNAL(triggered()), this, SLOT(clear()));

    QAction* biggerAction = new QAction("bigger", this);
    addAction(biggerAction);
    biggerAction->setShortcut(Qt::CTRL + Qt::Key_Plus);
    connect(biggerAction, SIGNAL(triggered()), this, SLOT(bigger()));

    QAction* smallerAction = new QAction("smaller", this);
    addAction(smallerAction);
    smallerAction->setShortcut(Qt::CTRL + Qt::Key_Minus);
    connect(smallerAction, SIGNAL(triggered()), this, SLOT(smaller()));

    setContextMenuPolicy(Qt::ActionsContextMenu);

    s_instance = this;
    std::cout.tie(&m_stdout_tie_stream);
//        std::cout.setf(std::ios::unitbuf);
}
Exemple #4
0
ConsoleOutput::ConsoleOutput(bool enabled)
    :QTextEdit()
    ,m_enabled(false)
    ,m_timerId(0)
    ,m_mode(CompileMode)
    ,m_nextMode(CompileMode)
    ,m_parseColors(true)
    ,m_parseVar(0)
    ,m_stdout_tie_stream(&m_stdout_tie_stream_buf)
{
    setReadOnly(true);
    setFont(QFont("Monospace"));
    QPalette pal=palette();
    pal.setColor(QPalette::Text,Qt::lightGray);
    pal.setColor(QPalette::Base,Qt::black);
    setPalette(pal);
    enable(enabled);
    resetTimes();
    setUndoRedoEnabled(false);
    setTextInteractionFlags(Qt::TextBrowserInteraction);
    s_instance = this;
    std::cout.tie(&m_stdout_tie_stream);
//    std::cout.setf(std::ios::unitbuf);
}
void TestCase::doTests(dtNavMesh* navmesh, dtNavMeshQuery* navquery)
{
	if (!navmesh || !navquery)
		return;
	
	resetTimes();
	
	static const int MAX_POLYS = 256;
	dtPolyRef polys[MAX_POLYS];
	float straight[MAX_POLYS*3];
	const float polyPickExt[3] = {2,4,2};
	
	for (Test* iter = m_tests; iter; iter = iter->next)
	{
		delete [] iter->polys;
		iter->polys = 0;
		iter->npolys = 0;
		delete [] iter->straight;
		iter->straight = 0;
		iter->nstraight = 0;
		
		dtQueryFilter filter;
		filter.setIncludeFlags(iter->includeFlags);
		filter.setExcludeFlags(iter->excludeFlags);
	
		// Find start points
		TimeVal findNearestPolyStart = getPerfTime();
		
		dtPolyRef startRef, endRef;
		navquery->findNearestPoly(iter->spos, polyPickExt, &filter, &startRef, iter->nspos);
		navquery->findNearestPoly(iter->epos, polyPickExt, &filter, &endRef, iter->nepos);

		TimeVal findNearestPolyEnd = getPerfTime();
		iter->findNearestPolyTime += getPerfTimeUsec(findNearestPolyEnd - findNearestPolyStart);

		if (!startRef || ! endRef)
			continue;
	
		if (iter->type == TEST_PATHFIND)
		{
			// Find path
			TimeVal findPathStart = getPerfTime();

			navquery->findPath(startRef, endRef, iter->spos, iter->epos, &filter, polys, &iter->npolys, MAX_POLYS);
			
			TimeVal findPathEnd = getPerfTime();
			iter->findPathTime += getPerfTimeUsec(findPathEnd - findPathStart);
		
			// Find straight path
			if (iter->npolys)
			{
				TimeVal findStraightPathStart = getPerfTime();
				
				navquery->findStraightPath(iter->spos, iter->epos, polys, iter->npolys,
										   straight, 0, 0, &iter->nstraight, MAX_POLYS);
				TimeVal findStraightPathEnd = getPerfTime();
				iter->findStraightPathTime += getPerfTimeUsec(findStraightPathEnd - findStraightPathStart);
			}
		
			// Copy results
			if (iter->npolys)
			{
				iter->polys = new dtPolyRef[iter->npolys];
				memcpy(iter->polys, polys, sizeof(dtPolyRef)*iter->npolys);
			}
			if (iter->nstraight)
			{
				iter->straight = new float[iter->nstraight*3];
				memcpy(iter->straight, straight, sizeof(float)*3*iter->nstraight);
			}
		}
		else if (iter->type == TEST_RAYCAST)
		{
			float t = 0;
			float hitNormal[3], hitPos[3];
			
			iter->straight = new float[2*3];
			iter->nstraight = 2;
			
			iter->straight[0] = iter->spos[0];
			iter->straight[1] = iter->spos[1];
			iter->straight[2] = iter->spos[2];
			
			TimeVal findPathStart = getPerfTime();
			
			navquery->raycast(startRef, iter->spos, iter->epos, &filter, &t, hitNormal, polys, &iter->npolys, MAX_POLYS);

			TimeVal findPathEnd = getPerfTime();
			iter->findPathTime += getPerfTimeUsec(findPathEnd - findPathStart);

			if (t > 1)
			{
				// No hit
				dtVcopy(hitPos, iter->epos);
			}
			else
			{
				// Hit
				dtVlerp(hitPos, iter->spos, iter->epos, t);
			}
			// Adjust height.
			if (iter->npolys > 0)
			{
				float h = 0;
				navquery->getPolyHeight(polys[iter->npolys-1], hitPos, &h);
				hitPos[1] = h;
			}
			dtVcopy(&iter->straight[3], hitPos);

			if (iter->npolys)
			{
				iter->polys = new dtPolyRef[iter->npolys];
				memcpy(iter->polys, polys, sizeof(dtPolyRef)*iter->npolys);
			}
		}
	}


	printf("Test Results:\n");
	int n = 0;
	for (Test* iter = m_tests; iter; iter = iter->next)
	{
		const int total = iter->findNearestPolyTime + iter->findPathTime + iter->findStraightPathTime;
		printf(" - Path %02d:     %.4f ms\n", n, (float)total/1000.0f);
		printf("    - poly:     %.4f ms\n", (float)iter->findNearestPolyTime/1000.0f);
		printf("    - path:     %.4f ms\n", (float)iter->findPathTime/1000.0f);
		printf("    - straight: %.4f ms\n", (float)iter->findStraightPathTime/1000.0f);
		n++;
	}
}
Exemple #6
0
    int Control( demux_t *p_demux_filter, int i_query, va_list args )
    {
        if( !m_enabled && i_query != DEMUX_FILTER_ENABLE )
            return demux_vaControl( p_demux_filter->p_next, i_query, args );

        switch (i_query)
        {
        case DEMUX_GET_POSITION:
        {
            double pos = getPosition();
            if( pos >= 0 )
            {
                *va_arg( args, double * ) = pos;
                return VLC_SUCCESS;
            }
            return VLC_EGENERIC;
        }
        case DEMUX_GET_TIME:
        {
            vlc_tick_t time = getTime();
            if( time >= 0 )
            {
                *va_arg(args, vlc_tick_t *) = time;
                return VLC_SUCCESS;
            }
            return VLC_EGENERIC;
        }
        case DEMUX_GET_LENGTH:
        {
            int ret;
            va_list ap;

            va_copy( ap, args );
            ret = demux_vaControl( p_demux_filter->p_next, i_query, args );
            if( ret == VLC_SUCCESS )
                m_length = *va_arg( ap, vlc_tick_t * );
            va_end( ap );
            return ret;
        }

        case DEMUX_CAN_SEEK:
        {
            int ret;
            va_list ap;

            va_copy( ap, args );
            ret = demux_vaControl( p_demux_filter->p_next, i_query, args );
            if( ret == VLC_SUCCESS )
                m_can_seek = *va_arg( ap, bool* );
            va_end( ap );
            return ret;
        }

        case DEMUX_SET_POSITION:
        {
            double pos = va_arg( args, double );
            /* Force unprecise seek */
            int ret = demux_Control( p_demux->p_next, DEMUX_SET_POSITION, pos, false );
            if( ret != VLC_SUCCESS )
                return ret;

            resetTimes();
            resetDemuxEof();
            return VLC_SUCCESS;
        }
        case DEMUX_SET_TIME:
        {
            vlc_tick_t time = va_arg( args, vlc_tick_t );
            /* Force unprecise seek */
            int ret = demux_Control( p_demux->p_next, DEMUX_SET_TIME, time, false );
            if( ret != VLC_SUCCESS )
                return ret;

            resetTimes();
            resetDemuxEof();
            return VLC_SUCCESS;
        }
        case DEMUX_SET_PAUSE_STATE:
        {
            va_list ap;

            va_copy( ap, args );
            int paused = va_arg( ap, int );
            va_end( ap );

            setPauseState( paused != 0 );
            break;
        }
        case DEMUX_SET_ES:
            /* Seek back to the last known pos when changing tracks. This will
             * flush sout streams, make sout del/add called right away and
             * clear CC buffers. */
            seekBack(m_last_time, m_last_pos);
            resetTimes();
            resetDemuxEof();
            break;
        case DEMUX_FILTER_ENABLE:
            p_renderer = static_cast<chromecast_common *>(
                        var_InheritAddress( p_demux, CC_SHARED_VAR_NAME ) );
            assert(p_renderer != NULL);
            m_enabled = true;
            init();
            return VLC_SUCCESS;

        case DEMUX_FILTER_DISABLE:

            deinit();

            /* Seek back to last known position. Indeed we don't want to resume
             * from the input position that can be more than 1 minutes forward
             * (depending on the CC buffering policy). */
            seekBack(m_last_time, m_last_pos);

            m_enabled = false;
            p_renderer = NULL;

            return VLC_SUCCESS;
        }

        return demux_vaControl( p_demux_filter->p_next, i_query, args );
    }
Exemple #7
0
void TestCase::doTests(dtNavMesh* navmesh, dtNavMeshQuery* navquery)
{
    if (!navmesh || !navquery)
        return;
    
    resetTimes();
    
    static const int MAX_POLYS = 256;
    dtPolyRef polys[MAX_POLYS];
    float straight[MAX_POLYS*3];
    const float polyPickExt[3] = {2,4,2};
    
    for (Test* iter = m_tests; iter; iter = iter->next)
    {
        delete [] iter->polys;
        iter->polys = 0;
        iter->npolys = 0;
        delete [] iter->straight;
        iter->straight = 0;
        iter->nstraight = 0;
        
        dtQueryFilter filter;
        filter.setIncludeFlags((unsigned short)iter->includeFlags);
        filter.setExcludeFlags((unsigned short)iter->excludeFlags);
    
        // Find start points
        TimeVal findNearestPolyStart = getPerfTime();
        
        dtPolyRef startRef, endRef;
        navquery->findNearestPoly(iter->spos, polyPickExt, &filter, &startRef, 0);
        navquery->findNearestPoly(iter->epos, polyPickExt, &filter, &endRef, 0);

        TimeVal findNearestPolyEnd = getPerfTime();
        iter->findNearestPolyTime += getPerfDeltaTimeUsec(findNearestPolyStart, findNearestPolyEnd);

        if (!startRef || ! endRef)
            continue;
    
        // Find path
        TimeVal findPathStart = getPerfTime();

        navquery->findPath(startRef, endRef, iter->spos, iter->epos, &filter, polys, &iter->npolys, MAX_POLYS);
        
        TimeVal findPathEnd = getPerfTime();
        iter->findPathTime += getPerfDeltaTimeUsec(findPathStart, findPathEnd);
        
        // Find straight path
        if (iter->npolys)
        {
            TimeVal findStraightPathStart = getPerfTime();
            
            navquery->findStraightPath(iter->spos, iter->epos, polys, iter->npolys,
                                       straight, 0, 0, &iter->nstraight, MAX_POLYS);
            TimeVal findStraightPathEnd = getPerfTime();
            iter->findStraightPathTime += getPerfDeltaTimeUsec(findStraightPathStart, findStraightPathEnd);
        }
        
        // Copy results
        if (iter->npolys)
        {
            iter->polys = new dtPolyRef[iter->npolys];
            memcpy(iter->polys, polys, sizeof(dtPolyRef)*iter->npolys);
        }
        if (iter->nstraight)
        {
            iter->straight = new float[iter->nstraight*3];
            memcpy(iter->straight, straight, sizeof(float)*3*iter->nstraight);
        }
    }


    printf("Test Results:\n");
    int n = 0;
    for (Test* iter = m_tests; iter; iter = iter->next)
    {
        const int total = iter->findNearestPolyTime + iter->findPathTime + iter->findStraightPathTime;
        printf(" - Path %02d:     %.4f ms\n", n, (float)total/1000.0f);
        printf("    - poly:     %.4f ms\n", (float)iter->findNearestPolyTime/1000.0f);
        printf("    - path:     %.4f ms\n", (float)iter->findPathTime/1000.0f);
        printf("    - straight: %.4f ms\n", (float)iter->findStraightPathTime/1000.0f);
        n++;
    }
}
Exemple #8
0
void TestCase::doTests(dtNavMesh* navmesh)
{
	if (!navmesh)
		return;
	
	resetTimes();
	
	static const int MAX_POLYS = 256;
	dtPolyRef polys[MAX_POLYS];
	float straight[MAX_POLYS*3];
	const float polyPickExt[3] = {2,4,2};
	
	for (Test* iter = m_tests; iter; iter = iter->next)
	{
		delete [] iter->polys;
		iter->polys = 0;
		iter->npolys = 0;
		delete [] iter->straight;
		iter->straight = 0;
		iter->nstraight = 0;
		
		dtQueryFilter filter;
		filter.includeFlags = (unsigned short)iter->includeFlags;
		filter.excludeFlags = (unsigned short)iter->excludeFlags;
	
		// Find start points
		rcTimeVal findNearestPolyStart = rcGetPerformanceTimer();
		
		dtPolyRef startRef = navmesh->findNearestPoly(iter->spos, polyPickExt, &filter, 0);
		dtPolyRef endRef = navmesh->findNearestPoly(iter->epos, polyPickExt, &filter, 0);

		rcTimeVal findNearestPolyEnd = rcGetPerformanceTimer();
		iter->findNearestPolyTime += rcGetDeltaTimeUsec(findNearestPolyStart, findNearestPolyEnd);

		if (!startRef || ! endRef)
			continue;
	
		// Find path
		rcTimeVal findPathStart = rcGetPerformanceTimer();

		iter->npolys = navmesh->findPath(startRef, endRef, iter->spos, iter->epos, &filter, polys, MAX_POLYS);
		
		rcTimeVal findPathEnd = rcGetPerformanceTimer();
		iter->findPathTime += rcGetDeltaTimeUsec(findPathStart, findPathEnd);
		
		// Find straight path
		if (iter->npolys)
		{
			rcTimeVal findStraightPathStart = rcGetPerformanceTimer();
			
			iter->nstraight = navmesh->findStraightPath(iter->spos, iter->epos, polys, iter->npolys,
														  straight, 0, 0, MAX_POLYS);
			rcTimeVal findStraightPathEnd = rcGetPerformanceTimer();
			iter->findStraightPathTime += rcGetDeltaTimeUsec(findStraightPathStart, findStraightPathEnd);
		}
		
		// Copy results
		if (iter->npolys)
		{
			iter->polys = new dtPolyRef[iter->npolys];
			memcpy(iter->polys, polys, sizeof(dtPolyRef)*iter->npolys);
		}
		if (iter->nstraight)
		{
			iter->straight = new float[iter->nstraight*3];
			memcpy(iter->straight, straight, sizeof(float)*3*iter->nstraight);
		}
		
	}
}
Exemple #9
0
void CPage::resetPage()
{
	Trace("resetPage()", "", 0);
	// this should be called between 'top level' pages to reset the counts etc.

	// if we need to reset the cookies then do so, else they will be preserved from the previous run
	if (getResetCookies())
	{
#ifdef SC_NON_WEBKIT
		{ // scope for lock
			Mutex::Lock lock(sm_cookieListLock);

			while (sm_cookieList.size() > 0)
			{
				CCookie* pCookie = sm_cookieList.front();
				// remove it from the list...
				sm_cookieList.pop_front();

				delete pCookie;
				pCookie = NULL;
			}
		}
		Trace("ResettingCookies - After", "", 0);
#else	// SC_NON_WEBKIT
    CookieHandler* cookieHandler = CookieHandler::instance();
    return cookieHandler->deleteCookies();
#endif

	}

	if (getResetCache())
	{
		Trace("ResettingCache", "", 0);

		{ // scope for lock
			Mutex::Lock lock(sm_urlListLock);

			while(m_totalUrlList.size() > 0)
			{
				m_totalUrlList.pop_front();
			}

			while(m_urlList.size() > 0)
			{
				m_urlList.pop_front();
			}
		}
	}

	// 3.1.2
	resetTimes();

	sm_componentNo 			= 0;
	sm_totalBytes 			= 0;
	sm_totalBytesSoFar 		= 0;
	sm_overallResultCode		= SC_HEADER_RESULT_SUCCESS;

	// reset the rude word check
	sm_ContentErrorFound = false;
	sm_SiteConErrorFound = false;

/*
	// delete all of the components
	{ // scope for lock
		Mutex::Lock lock(CWebPage::Instance()->sm_resultListLock);

		while (CWebPage::Instance()->sm_resultList.size() > 0)
		{
			CResultDetail* pResultDetail = CWebPage::Instance()->sm_resultList.front();

			// remove it from the list...
			CWebPage::Instance()->sm_resultList.pop_front();

			delete pResultDetail;
			pResultDetail = NULL;
		}
	}
 */
}