本文整理汇总了C++中Flags32::test方法的典型用法代码示例。如果您正苦于以下问题:C++ Flags32::test方法的具体用法?C++ Flags32::test怎么用?C++ Flags32::test使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Flags32
的用法示例。
在下文中一共展示了Flags32::test方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: process_file_if_exists
void CScriptEngine::process_file_if_exists(LPCSTR file_name, bool warn_if_not_exist)
{
u32 string_length = xr_strlen(file_name);
if (!warn_if_not_exist && no_file_exists(file_name, string_length))
return;
string_path S, S1;
if (m_reload_modules || (*file_name && !namespace_loaded(file_name)))
{
FS.update_path(S, "$game_scripts$", strconcat(sizeof(S1), S1, file_name, ".script"));
if (!warn_if_not_exist && !FS.exist(S))
{
#ifdef DEBUG
# ifndef XRSE_FACTORY_EXPORTS
if (psAI_Flags.test(aiNilObjectAccess))
# endif
{
print_stack ();
Msg ("* trying to access variable %s, which doesn't exist, or to load script %s, which doesn't exist too",file_name,S1);
m_stack_is_ready = true;
}
#endif
add_no_file(file_name, string_length);
return;
}
//#ifndef MASTER_GOLD
if (strstr(Core.Params, "-dbg"))
Msg("* loading script %s", S1);
//#endif // MASTER_GOLD
m_reload_modules = false;
load_file_into_namespace(S, *file_name ? file_name : "_G");
}
}
示例2: Level
void CCustomMonster::shedule_Update ( u32 DT )
{
VERIFY (!g_Alive() || processing_enabled());
// Queue shrink
VERIFY (_valid(Position()));
u32 dwTimeCL = Level().timeServer()-NET_Latency;
VERIFY (!NET.empty());
while ((NET.size()>2) && (NET[1].dwTimeStamp<dwTimeCL)) NET.pop_front();
float dt = float(DT)/1000.f;
// *** general stuff
if (g_Alive()) {
if ( false && g_mt_config.test(mtAiVision) )
#ifndef DEBUG
Device.seqParallel.push_back (fastdelegate::FastDelegate0<>(this,&CCustomMonster::Exec_Visibility));
#else // DEBUG
{
if (!psAI_Flags.test(aiStalker) || !!smart_cast<CActor*>(Level().CurrentEntity()))
Device.seqParallel.push_back(fastdelegate::FastDelegate0<>(this,&CCustomMonster::Exec_Visibility));
else
Exec_Visibility ();
}
#endif // DEBUG
else
Exec_Visibility ();
memory().update (dt);
}
示例3:
inline debug_memory_guard ()
{
#ifdef DEBUG
mem_alloc_gather_stats (!!psAI_Flags.test(aiDebugOnFrameAllocs));
#endif
mem_alloc_gather_stats_frequency (debug_on_frame_gather_stats_frequency);
}
示例4: operator
bool operator ()(char* o){
//compare file names
int eq = xr_strcmp(m_full_name,o);
if(0!=eq)
return false;
if( !m_flags.test(eDontCheckFileSize) ){
//compare file size
const CLocatorAPI::file* f = m_fs_old->exist("$target_folder$",o);
u32 file_size = f->size_real;
if ( (f->vfs==0xffffffff) && (file_size != m_file_size) )
return false;
};
//compare file crc
if( !m_crc32 && !m_flags.test(eDontCheckCRC) ){
IReader* r = m_fs_new->r_open ("$target_folder$",m_full_name);
m_crc32 = crc32 (r->pointer(),r->length());
m_fs_new->r_close(r);
};
if( !m_flags.test(eDontCheckCRC) ){
IReader* r_ = m_fs_old->r_open("$target_folder$",o);
u32 crc32_ = crc32 (r_->pointer(),r_->length());
m_fs_old->r_close(r_);
if(m_crc32!=crc32_)
return false;
}
if( !m_flags.test(eDontCheckBinary) ){
//compare files binary content
IReader* f1 = m_fs_new->r_open ("$target_folder$",m_full_name);
IReader* f2 = m_fs_old->r_open ("$target_folder$",o);
int res = memcmp(f1->pointer(),f2->pointer(),f1->length());
m_fs_new->r_close(f1);
m_fs_old->r_close(f2);
if(0!=res)
return false;
}
return true;
}
示例5:
void CAI_Stalker::renderable_Render ()
{
inherited::renderable_Render ();
if (!already_dead())
CInventoryOwner::renderable_Render ();
#ifdef DEBUG
if (g_Alive()) {
if (psAI_Flags.test(aiAnimationStats))
animation().add_animation_stats ();
}
#endif // DEBUG
}
示例6: UpdateCL
void CInventoryItem::UpdateCL()
{
#ifdef DEBUG
if(bDebug){
if (dbg_net_Draw_Flags.test(1<<4) )
{
Device.seqRender.Remove(this);
Device.seqRender.Add(this);
}else
{
Device.seqRender.Remove(this);
}
}
#endif
}
示例7: if
virtual void Execute (LPCSTR args)
{
if (0==xr_strcmp(args,"on")) {
ps_r2_ls_flags.set (R2FLAG_GLOBALMATERIAL,TRUE);
} else if (0==xr_strcmp(args,"off")) {
ps_r2_ls_flags.set (R2FLAG_GLOBALMATERIAL,FALSE);
} else {
CCC_Float::Execute (args);
if (ps_r2_ls_flags.test(R2FLAG_GLOBALMATERIAL)) {
static LPCSTR name[4] = { "oren", "blin", "phong", "metal" };
float mid = *value ;
int m0 = iFloor(mid) % 4;
int m1 = (m0+1) % 4;
float frc = mid - float(iFloor(mid));
Msg ("* material set to [%s]-[%s], with lerp of [%f]",name[m0],name[m1],frc);
}
}
}
示例8: UpdateCL
void CInventoryItem::UpdateCL()
{
#ifdef DEBUG
if(bDebug){
if (dbg_net_Draw_Flags.test(dbg_draw_invitem) )
{
Device.seqRender.Remove(this);
Device.seqRender.Add(this);
}else
{
Device.seqRender.Remove(this);
}
}
#endif
if (!IsGameTypeSingle())
{
Interpolate();
}
}
示例9:
void CClimableObject ::OnRender()
{
if (!dbg_net_Draw_Flags.test(dbg_draw_climbable)&&!ph_dbg_draw_mask.test(phDbgLadder)) return;
Fmatrix form;m_box.xform_get(form);
//form.mulA(XFORM());
Level().debug_renderer().draw_obb(XFORM(),m_box.m_halfsize,D3DCOLOR_XRGB(0,0,255));
Fvector p1,p2,d;
d.set(m_axis);
p1.add(XFORM().c,d);
p2.sub(XFORM().c,d);
Level().debug_renderer().draw_line(Fidentity,p1,p2,D3DCOLOR_XRGB(255,0,0));
d.set(m_side);
p1.add(XFORM().c,d);
p2.sub(XFORM().c,d);
Level().debug_renderer().draw_line(Fidentity,p1,p2,D3DCOLOR_XRGB(255,0,0));
d.set(m_norm);
d.mul(10.f);
p1.add(XFORM().c,d);
p2.set(XFORM().c);
Level().debug_renderer().draw_line(Fidentity,p1,p2,D3DCOLOR_XRGB(0,255,0));
}
示例10: OnRender
void CLevel::OnRender()
{
inherited::OnRender ();
if (!game)
return;
Game().OnRender();
//отрисовать трассы пуль
//Device.Statistic->TEST1.Begin();
BulletManager().Render();
//Device.Statistic->TEST1.End();
//отрисовать интерфейc пользователя
HUD().RenderUI();
#ifdef DEBUG
draw_wnds_rects();
ph_world->OnRender ();
#endif // DEBUG
#ifdef DEBUG
if (ai().get_level_graph())
ai().level_graph().render();
#ifdef DEBUG_PRECISE_PATH
test_precise_path ();
#endif
CAI_Stalker *stalker = smart_cast<CAI_Stalker*>(Level().CurrentEntity());
if (stalker)
stalker->OnRender ();
if (bDebug) {
for (u32 I=0; I < Level().Objects.o_count(); I++) {
CObject* _O = Level().Objects.o_get_by_iterator(I);
CAI_Stalker* stalker = smart_cast<CAI_Stalker*>(_O);
if (stalker)
stalker->OnRender ();
CPhysicObject *physic_object = smart_cast<CPhysicObject*>(_O);
if (physic_object)
physic_object->OnRender();
CSpaceRestrictor *space_restrictor = smart_cast<CSpaceRestrictor*> (_O);
if (space_restrictor)
space_restrictor->OnRender();
CClimableObject *climable = smart_cast<CClimableObject*> (_O);
if(climable)
climable->OnRender();
CTeamBaseZone *team_base_zone = smart_cast<CTeamBaseZone*>(_O);
if (team_base_zone)
team_base_zone->OnRender();
if (GameID() != eGameIDSingle)
{
CInventoryItem* pIItem = smart_cast<CInventoryItem*>(_O);
if (pIItem) pIItem->OnRender();
}
if (dbg_net_Draw_Flags.test(dbg_draw_skeleton)) //draw skeleton
{
CGameObject* pGO = smart_cast<CGameObject*> (_O);
if (pGO && pGO != Level().CurrentViewEntity() && !pGO->H_Parent())
{
if (pGO->Position().distance_to_sqr(Device.vCameraPosition) < 400.0f)
{
pGO->dbg_DrawSkeleton();
}
}
};
}
// [7/5/2005]
if (Server && Server->game) Server->game->OnRender();
// [7/5/2005]
ObjectSpace.dbgRender ();
//---------------------------------------------------------------------
HUD().Font().pFontStat->OutSet (170,630);
HUD().Font().pFontStat->SetHeight (16.0f);
HUD().Font().pFontStat->SetColor (0xffff0000);
if(Server)HUD().Font().pFontStat->OutNext ("Client Objects: [%d]",Server->GetEntitiesNum());
HUD().Font().pFontStat->OutNext ("Server Objects: [%d]",Objects.o_count());
HUD().Font().pFontStat->OutNext ("Interpolation Steps: [%d]", Level().GetInterpolationSteps());
HUD().Font().pFontStat->SetHeight (8.0f);
//---------------------------------------------------------------------
}
#endif
#ifdef DEBUG
if (bDebug) {
DBG().draw_object_info ();
DBG().draw_text ();
DBG().draw_level_info ();
}
debug_renderer().render ();
//.........这里部分代码省略.........
示例11:
bool CObjectHandler::can_use_dynamic_lights ()
{
// flAiUseTorchDynamicLights == 1
return (!!g_uCommonFlags.test(1));
}
示例12:
//.........这里部分代码省略.........
m_fWalkAccel = pSettings->r_float(section,"walk_accel");
m_fJumpSpeed = pSettings->r_float(section,"jump_speed");
m_fRunFactor = pSettings->r_float(section,"run_coef");
m_fRunBackFactor = pSettings->r_float(section,"run_back_coef");
m_fWalkBackFactor = pSettings->r_float(section,"walk_back_coef");
m_fCrouchFactor = pSettings->r_float(section,"crouch_coef");
m_fClimbFactor = pSettings->r_float(section,"climb_coef");
m_fSprintFactor = pSettings->r_float(section,"sprint_koef");
m_fWalk_StrafeFactor = READ_IF_EXISTS(pSettings, r_float, section, "walk_strafe_coef", 1.0f);
m_fRun_StrafeFactor = READ_IF_EXISTS(pSettings, r_float, section, "run_strafe_coef", 1.0f);
m_fCamHeightFactor = pSettings->r_float(section,"camera_height_factor");
character_physics_support()->movement() ->SetJumpUpVelocity(m_fJumpSpeed);
float AirControlParam = pSettings->r_float (section,"air_control_param" );
character_physics_support()->movement() ->SetAirControlParam(AirControlParam);
m_fPickupInfoRadius = pSettings->r_float(section,"pickup_info_radius");
m_fSleepTimeFactor = pSettings->r_float(section,"sleep_time_factor");
character_physics_support()->in_Load (section);
//загрузить параметры эффектора
// LoadShootingEffector ("shooting_effector");
LoadSleepEffector ("sleep_effector");
//загрузить параметры смещения firepoint
m_vMissileOffset = pSettings->r_fvector3(section,"missile_throw_offset");
//Weapons = xr_new<CWeaponList> (this);
if(!g_pGamePersistent->bDedicatedServer)
{
LPCSTR hit_snd_sect = pSettings->r_string(section,"hit_sounds");
for(int hit_type=0; hit_type<(int)ALife::eHitTypeMax; ++hit_type)
{
LPCSTR hit_name = ALife::g_cafHitType2String((ALife::EHitType)hit_type);
LPCSTR hit_snds = pSettings->r_string(hit_snd_sect, hit_name);
int cnt = _GetItemCount(hit_snds);
string128 tmp;
VERIFY (cnt!=0);
for(int i=0; i<cnt;++i)
{
sndHit[hit_type].push_back (ref_sound());
sndHit[hit_type].back().create (_GetItem(hit_snds,i,tmp),st_Effect,sg_SourceType);
}
char buf[256];
::Sound->create (sndDie[0], strconcat(buf,*cName(),"\\die0"), st_Effect,SOUND_TYPE_MONSTER_DYING);
::Sound->create (sndDie[1], strconcat(buf,*cName(),"\\die1"), st_Effect,SOUND_TYPE_MONSTER_DYING);
::Sound->create (sndDie[2], strconcat(buf,*cName(),"\\die2"), st_Effect,SOUND_TYPE_MONSTER_DYING);
::Sound->create (sndDie[3], strconcat(buf,*cName(),"\\die3"), st_Effect,SOUND_TYPE_MONSTER_DYING);
m_HeavyBreathSnd.create (pSettings->r_string(section,"heavy_breath_snd"), st_Effect,SOUND_TYPE_MONSTER_INJURING);
m_BloodSnd.create (pSettings->r_string(section,"heavy_blood_snd"), st_Effect,SOUND_TYPE_MONSTER_INJURING);
}
}
if( psActorFlags.test(AF_PSP) )
cam_Set (eacLookAt);
else
cam_Set (eacFirstEye);
// sheduler
shedule.t_min = shedule.t_max = 1;
// настройки дисперсии стрельбы
m_fDispBase = pSettings->r_float (section,"disp_base" );
m_fDispBase = deg2rad(m_fDispBase);
m_fDispAim = pSettings->r_float (section,"disp_aim" );
m_fDispAim = deg2rad(m_fDispAim);
m_fDispVelFactor = pSettings->r_float (section,"disp_vel_factor" );
m_fDispAccelFactor = pSettings->r_float (section,"disp_accel_factor" );
m_fDispCrouchFactor = pSettings->r_float (section,"disp_crouch_factor");
m_fDispCrouchNoAccelFactor = pSettings->r_float (section,"disp_crouch_no_acc_factor");
LPCSTR default_outfit = READ_IF_EXISTS(pSettings,r_string,section,"default_outfit",0);
SetDefaultVisualOutfit (default_outfit);
invincibility_fire_shield_1st = READ_IF_EXISTS(pSettings,r_string,section,"Invincibility_Shield_1st",0);
invincibility_fire_shield_3rd = READ_IF_EXISTS(pSettings,r_string,section,"Invincibility_Shield_3rd",0);
//-----------------------------------------
m_AutoPickUp_AABB = READ_IF_EXISTS(pSettings,r_fvector3,section,"AutoPickUp_AABB",Fvector().set(0.02f, 0.02f, 0.02f));
m_AutoPickUp_AABB_Offset = READ_IF_EXISTS(pSettings,r_fvector3,section,"AutoPickUp_AABB_offs",Fvector().set(0, 0, 0));
CStringTable string_table;
m_sCharacterUseAction = "character_use";
m_sDeadCharacterUseAction = "dead_character_use";
m_sDeadCharacterUseOrDragAction = "dead_character_use_or_drag";
m_sCarCharacterUseAction = "car_character_use";
m_sInventoryItemUseAction = "inventory_item_use";
m_sInventoryBoxUseAction = "inventory_box_use";
//---------------------------------------------------------------------
m_sHeadShotParticle = READ_IF_EXISTS(pSettings,r_string,section,"HeadShotParticle",0);
}
示例13: CEntityAlive
CActor::CActor() : CEntityAlive()
{
encyclopedia_registry = xr_new<CEncyclopediaRegistryWrapper >();
game_news_registry = xr_new<CGameNewsRegistryWrapper >();
// Cameras
cameras[eacFirstEye] = xr_new<CCameraFirstEye> (this);
cameras[eacFirstEye]->Load("actor_firsteye_cam");
if(strstr(Core.Params,"-psp"))
psActorFlags.set(AF_PSP, TRUE);
else
psActorFlags.set(AF_PSP, FALSE);
if( psActorFlags.test(AF_PSP) )
{
cameras[eacLookAt] = xr_new<CCameraLook2> (this);
cameras[eacLookAt]->Load("actor_look_cam_psp");
}else
{
cameras[eacLookAt] = xr_new<CCameraLook> (this);
cameras[eacLookAt]->Load("actor_look_cam");
}
cameras[eacFreeLook] = xr_new<CCameraLook> (this);
cameras[eacFreeLook]->Load("actor_free_cam");
cam_active = eacFirstEye;
fPrevCamPos = 0.0f;
vPrevCamDir.set (0.f,0.f,1.f);
fCurAVelocity = 0.0f;
// эффекторы
pCamBobbing = 0;
m_pSleepEffector = NULL;
m_pSleepEffectorPP = NULL;
r_torso.yaw = 0;
r_torso.pitch = 0;
r_torso.roll = 0;
r_torso_tgt_roll = 0;
r_model_yaw = 0;
r_model_yaw_delta = 0;
r_model_yaw_dest = 0;
b_DropActivated = 0;
f_DropPower = 0.f;
m_fRunFactor = 2.f;
m_fCrouchFactor = 0.2f;
m_fClimbFactor = 1.f;
m_fCamHeightFactor = 0.87f;
m_fFallTime = s_fFallTime;
m_bAnimTorsoPlayed = false;
m_pPhysicsShell = NULL;
m_holder = NULL;
m_holderID = u16(-1);
#ifdef DEBUG
Device.seqRender.Add (this,REG_PRIORITY_LOW);
#endif
//разрешить использование пояса в inventory
inventory().SetBeltUseful(true);
m_pPersonWeLookingAt = NULL;
m_pVehicleWeLookingAt = NULL;
m_pObjectWeLookingAt = NULL;
m_bPickupMode = false;
pStatGraph = NULL;
m_pActorEffector = NULL;
m_bZoomAimingMode = false;
m_sDefaultObjAction = NULL;
m_fSprintFactor = 4.f;
hFriendlyIndicator.create(FVF::F_LIT,RCache.Vertex.Buffer(),RCache.QuadIB);
m_pUsableObject = NULL;
m_anims = xr_new<SActorMotions>();
m_vehicle_anims = xr_new<SActorVehicleAnims>();
m_entity_condition = NULL;
m_iLastHitterID = u16(-1);
m_iLastHittingWeaponID = u16(-1);
m_game_task_manager = NULL;
m_statistic_manager = NULL;
//-----------------------------------------------------------------------------------
m_memory = xr_new<CActorMemory>(this);
m_bOutBorder = false;
hit_probability = 1.f;
//.........这里部分代码省略.........
示例14:
void CLevel::g_sv_Spawn (CSE_Abstract* E)
{
#ifdef DEBUG_MEMORY_MANAGER
u32 E_mem = 0;
if (g_bMEMO) {
lua_gc (ai().script_engine().lua(),LUA_GCCOLLECT,0);
lua_gc (ai().script_engine().lua(),LUA_GCCOLLECT,0);
E_mem = Memory.mem_usage();
Memory.stat_calls = 0;
}
#endif // DEBUG_MEMORY_MANAGER
//-----------------------------------------------------------------
// CTimer T(false);
#ifdef DEBUG
// Msg ("* CLIENT: Spawn: %s, ID=%d", *E->s_name, E->ID);
#endif
// Optimization for single-player only - minimize traffic between client and server
if (GameID() == eGameIDSingle) psNET_Flags.set (NETFLAG_MINIMIZEUPDATES,TRUE);
else psNET_Flags.set (NETFLAG_MINIMIZEUPDATES,FALSE);
// Client spawn
// T.Start ();
CObject* O = Objects.Create (*E->s_name);
// Msg ("--spawn--CREATE: %f ms",1000.f*T.GetAsync());
// T.Start ();
#ifdef DEBUG_MEMORY_MANAGER
mem_alloc_gather_stats (false);
#endif // DEBUG_MEMORY_MANAGER
if (0==O || (!O->net_Spawn (E)))
{
O->net_Destroy ( );
if(!g_dedicated_server)
client_spawn_manager().clear(O->ID());
Objects.Destroy (O);
Msg ("! Failed to spawn entity '%s'",*E->s_name);
#ifdef DEBUG_MEMORY_MANAGER
mem_alloc_gather_stats (!!psAI_Flags.test(aiDebugOnFrameAllocs));
#endif // DEBUG_MEMORY_MANAGER
} else {
#ifdef DEBUG_MEMORY_MANAGER
mem_alloc_gather_stats (!!psAI_Flags.test(aiDebugOnFrameAllocs));
#endif // DEBUG_MEMORY_MANAGER
if(!g_dedicated_server)
client_spawn_manager().callback(O);
//Msg ("--spawn--SPAWN: %f ms",1000.f*T.GetAsync());
if ((E->s_flags.is(M_SPAWN_OBJECT_LOCAL)) &&
(E->s_flags.is(M_SPAWN_OBJECT_ASPLAYER)) )
{
if (IsDemoPlayStarted())
{
if (E->s_flags.is(M_SPAWN_OBJECT_PHANTOM))
{
SetControlEntity (O);
SetEntity (O); //do not switch !!!
SetDemoSpectator (O);
}
} else
{
if (CurrentEntity() != NULL)
{
CGameObject* pGO = smart_cast<CGameObject*>(CurrentEntity());
if (pGO) pGO->On_B_NotCurrentEntity();
}
SetControlEntity (O);
SetEntity (O); //do not switch !!!
}
}
if (0xffff != E->ID_Parent)
{
/*
// Generate ownership-event
NET_Packet GEN;
GEN.w_begin (M_EVENT);
GEN.w_u32 (E->m_dwSpawnTime);//-NET_Latency);
GEN.w_u16 (GE_OWNERSHIP_TAKE);
GEN.w_u16 (E->ID_Parent);
GEN.w_u16 (u16(O->ID()));
game_events->insert (GEN);
/*/
NET_Packet GEN;
GEN.write_start();
GEN.read_start();
GEN.w_u16 (u16(O->ID()));
cl_Process_Event(E->ID_Parent, GE_OWNERSHIP_TAKE, GEN);
//*/
}
}
/*if (E->s_flags.is(M_SPAWN_UPDATE)) {
NET_Packet temp;
temp.B.count = 0;
E->UPDATE_Write (temp);
if (temp.B.count > 0)
{
temp.r_seek (0);
//.........这里部分代码省略.........