コード例 #1
0
ファイル: GraphsWindow.cpp プロジェクト: 1564143452/kbengine
void CGraphsWindow::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: Add your message handler code here and/or call default
	BOOL bAxisYChanged = FALSE;
	CDialog::OnTimer(nIDEvent);

	double x=(double)time(0);
	double y0=(double)GET_RANDOM(0,100);
	double y1=(double)GET_RANDOM(0,100);
	if(y0<m_plot.GetAxisY().m_dMinValue)
	{
		m_plot.GetAxisY().m_dMinValue=y0*0.95;
		bAxisYChanged = TRUE;
	}else if(y0>m_plot.GetAxisY().m_dMaxValue)
	{
		m_plot.GetAxisY().m_dMaxValue=y0*1.05;
		bAxisYChanged = TRUE;
	}
	if(y1<m_plot.GetAxisY().m_dMinValue)
	{
		m_plot.GetAxisY().m_dMinValue=y1*0.95;
		bAxisYChanged = TRUE;
	}else if(y1>m_plot.GetAxisY().m_dMaxValue)
	{
		m_plot.GetAxisY().m_dMaxValue=y1*1.05;
		bAxisYChanged = TRUE;
	}

	if(bAxisYChanged)
	{
		m_plot.CalcLayout();
	}

	m_plot.GetLine(0).AddPoint(x,y0);
	m_plot.GetLine(1).AddPoint(x,y1);
		
}
コード例 #2
0
ファイル: physics_game.cpp プロジェクト: 2asoft/xray
void  TContactShotMark(CDB::TRI* T,dContactGeom* c)
{
	dBodyID b=dGeomGetBody(c->g1);
	dxGeomUserData* data;
	bool b_invert_normal=false;
	if(!b) 
	{
		b=dGeomGetBody(c->g2);
		data=dGeomGetUserData(c->g2);
		b_invert_normal=true;
	}
	else
	{
		data=dGeomGetUserData(c->g1);
	}
	if(!b) return;
	dVector3 vel;
	dMass m;
	dBodyGetMass(b,&m);
	dBodyGetPointVel(b,c->pos[0],c->pos[1],c->pos[2],vel);
	dReal vel_cret=dFabs(dDOT(vel,c->normal))* _sqrt(m.mass);
	Fvector to_camera;to_camera.sub(cast_fv(c->pos),Device.vCameraPosition);
	float square_cam_dist=to_camera.square_magnitude();
	if(data)
	{
		SGameMtlPair* mtl_pair		= GMLib.GetMaterialPair(T->material,data->material);
		if(mtl_pair)
		{
			//if(vel_cret>Pars.vel_cret_wallmark && !mtl_pair->CollideMarks.empty())
			if(vel_cret>Pars::vel_cret_wallmark && !mtl_pair->m_pCollideMarks->empty())
			{
				//ref_shader pWallmarkShader = mtl_pair->CollideMarks[::Random.randI(0,mtl_pair->CollideMarks.size())];
				wm_shader WallmarkShader = mtl_pair->m_pCollideMarks->GenerateWallmark();
				//ref_shader pWallmarkShader = mtl_pair->CollideMarks[::Random.randI(0,mtl_pair->CollideMarks.size())];
				Level().ph_commander().add_call(new CPHOnesCondition(),new CPHWallMarksCall( *((Fvector*)c->pos),T,WallmarkShader));
			}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			if(square_cam_dist<SQUARE_SOUND_EFFECT_DIST)
			{
			
				SGameMtl* static_mtl =  GMLib.GetMaterialByIdx(T->material);
				if(!static_mtl->Flags.test(SGameMtl::flPassable))
				{
					if(vel_cret>Pars::vel_cret_sound)
					{
						if(!mtl_pair->CollideSounds.empty())
						{
							float volume=collide_volume_min+vel_cret*(collide_volume_max-collide_volume_min)/(_sqrt(mass_limit)*default_l_limit-Pars::vel_cret_sound);
							GET_RANDOM(mtl_pair->CollideSounds).play_no_feedback(0,0,0,((Fvector*)c->pos),&volume);
						}
					}
				}
				else
				{
					if(data->ph_ref_object&&!mtl_pair->CollideSounds.empty())
					{
						CPHSoundPlayer* sp=NULL;
						sp=data->ph_ref_object->ph_sound_player();
						if(sp) sp->Play(mtl_pair,*(Fvector*)c->pos);
					}
				}
			}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			if(square_cam_dist<SQUARE_PARTICLE_EFFECT_DIST)
			{
				if(vel_cret>Pars::vel_cret_particles && !mtl_pair->CollideParticles.empty())
				{
					LPCSTR ps_name = *mtl_pair->CollideParticles[::Random.randI(0,mtl_pair->CollideParticles.size())];
					//отыграть партиклы столкновения материалов
					Level().ph_commander().add_call(new CPHOnesCondition(),new CPHParticlesPlayCall(*c,b_invert_normal,ps_name));
				}
			}
		}
	}
 }
コード例 #3
0
ファイル: stress.cpp プロジェクト: mkane848/HLPlague
TESTPROCAPI t_MultiInstanceTest(UINT uMsg, TPPARAM tpParam, LPFUNCTION_TABLE_ENTRY lpFTE) 
{
// This test randomly calls all the other functions contained in this dll. This
// function will be called on multiple threads and each thread has its own voice
// Object.


	// Message check
	if (uMsg == TPM_QUERY_THREAD_COUNT)
	{
		CleanupVoiceAndEngine();
		((LPTPS_QUERY_THREAD_COUNT)tpParam)->dwThreadCount = 4;
		return TPR_HANDLED;
	}

    // Message check
    if (uMsg != TPM_EXECUTE) 
    { 
        return TPR_NOT_HANDLED;
    }
    else 
    {
        srand(reinterpret_cast<LPTPS_EXECUTE>(tpParam)->dwRandomSeed);
    }

    HRESULT							hr = S_OK;
	int								tpr = TPR_PASS;
	int								iRand, i;
	CComPtr<ISpVoice>				cpLocalVoice; 


	//create a SAPI voice, each thread has its own voice
	hr = cpLocalVoice.CoCreateInstance( CLSID_SpVoice ); 
	CHECKHRGOTOId( hr, tpr, IDS_STRING85 );	

	for( i=0; i<NUM_STRESS_RUNS;i++ )
	{
		iRand = GET_RANDOM( 0, 18);
	
		switch( iRand )
		{
		case 0:
            g_pKato->Comment(5, TEXT("Test #0  - Enter t_ISpTTSEngine_Speak - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_ISpTTSEngine_Speak_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #0  - Exit t_ISpTTSEngine_Speak - Thread Id: %x"), GetCurrentThreadId());
			break;

        case 1:
            g_pKato->Comment(5, TEXT("Test #1  - Enter t_ISpTTSEngine_Skip - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_ISpTTSEngine_Skip_Test ( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #1  - Exit t_ISpTTSEngine_Skip - Thread Id: %x"), GetCurrentThreadId());

			break;
			
		case 2:
            g_pKato->Comment(5, TEXT("Test #2  - Enter t_ISpTTSEngine_GetOutputFormat - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_ISpTTSEngine_GetOutputFormat_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #2  - Exit t_ISpTTSEngine_GetOutputFormat - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 3:
            g_pKato->Comment(5, TEXT("Test #3  - Enter t_ISpTTSEngine_SetRate - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_ISpTTSEngine_SetRate_Test( uMsg, tpParam, NULL , cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #3  - Exit t_ISpTTSEngine_SetRate - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 4:
            g_pKato->Comment(5, TEXT("Test #4  - Enter t_ISpTTSEngine_SetVolume - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_ISpTTSEngine_SetVolume_Test( uMsg, tpParam, NULL , cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #4  - Exit t_ISpTTSEngine_SetVolume - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 5:
            g_pKato->Comment(5, TEXT("Test #5  - Enter t_CheckEventsSAPI - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_CheckEventsSAPI_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #5  - Exit t_CheckEventsSAPI - Thread Id: %x"), GetCurrentThreadId());
			break;
		
		case 6:
            g_pKato->Comment(5, TEXT("Test #6  - Enter t_XMLBookmarkTest - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_XMLBookmark_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #6  - Exit t_XMLBookmarkTest - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 7:
            g_pKato->Comment(5, TEXT("Test #7  - Enter t_XMLSilenceTest - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_XMLSilence_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #7  - Exit t_XMLSilenceTest - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 8:
            g_pKato->Comment(5, TEXT("Test #8 - Enter t_XMLSpellTest - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_XMLSpell_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #8 - Exit t_XMLSpellTest - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 9:
            g_pKato->Comment(5, TEXT("Test #9 - Enter t_XMLPronounceTest - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_XMLPronounce_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #9 - Exit t_XMLPronounceTest - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 10:
            g_pKato->Comment(5, TEXT("Test #10 - Enter t_XMLRateTest - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_XMLRate_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #10 - Exit t_XMLRateTest - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 11:
            g_pKato->Comment(5, TEXT("Test #11 - Enter t_XMLVolumeTest - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_XMLVolume_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #11 - Exit t_XMLVolumeTest - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 12:
            g_pKato->Comment(5, TEXT("Test #12 - Enter t_XMLPitchTest - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_XMLPitch_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #12 - Exit t_XMLPitchTest - Thread Id: %x"), GetCurrentThreadId());
			break;
	
        case 13:
            g_pKato->Comment(5, TEXT("Test #13 - Enter t_RealTimeRateChangeTest - Thread Id: %x"), GetCurrentThreadId());
            tpr = t_RealTimeRateChange_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #13 - Exit t_RealTimeRateChangeTest - Thread Id: %x"), GetCurrentThreadId());
			break;

        case 14:
            g_pKato->Comment(5, TEXT("Test #14 - Enter t_RealTimeVolumeChangeTest - Thread Id: %x"), GetCurrentThreadId());
            tpr = t_RealTimeVolumeChange_Test( uMsg, tpParam, NULL , cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #14 - Exit t_RealTimeVolumeChangeTest - Thread Id: %x"), GetCurrentThreadId());
			break;

		case 15:
            g_pKato->Comment(5, TEXT("Test #15 - Enter t_SpeakStop_Test - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_SpeakStop_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #15 - Exit t_SpeakStop_Test - Thread Id: %x"), GetCurrentThreadId());
			break;	

		case 16:
			g_pKato->Comment(5, TEXT("Test #16 - Enter t_LexiconMultiTest Test - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_LexiconMulti_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #16 - Exit t_LexiconMultiTest Test - Thread Id: %x"), GetCurrentThreadId());
			break;
			
		case 17:
			g_pKato->Comment(5, TEXT("Test #17 - Enter t_XMLSAPIMarkupTest - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_XMLSAPIMarkup_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #17 - Exit t_XMLSAPIMarkupTest - Thread Id: %x"), GetCurrentThreadId());
			break;	

		case 18:
			g_pKato->Comment(5, TEXT("Test #18 - Enter t_XMLContext_Test - Thread Id: %x"), GetCurrentThreadId());
			tpr = t_XMLContext_Test( uMsg, tpParam, NULL, cpLocalVoice, true );
			g_pKato->Comment(5, TEXT("Test #18 - Exit t_XMLContext_Test - Thread Id: %x"), GetCurrentThreadId());
			break;		
		}
		
		if( tpr != TPR_PASS )
		{
			return tpr;
		}
	}

EXIT:
    return tpr;
}