Exemplo n.º 1
0
void target_lightswitch_toggle (edict_t *self)
{
	ToggleLights();

	self->count--;
	if(!self->count) {
		self->think = G_FreeEdict;
		self->nextthink = level.time + 1;
	}
}
Exemplo n.º 2
0
bool CViewer::ExecuteAction(float _fDeltaSeconds, float _fDelta, const char* _pcAction)
{
  if(strcmp(_pcAction, "setNextMode") == 0)
  {
    SetNextMode(); 
    return true;
  }

  if(strcmp(_pcAction, "showNormals") == 0)
  {
    //ToggleNormalRendering(); 
    return true;
  }

  if(strcmp(_pcAction, "toggleMENU") == 0)
  {
    ToggleInfo();
    return true;
  }

  if(strcmp(_pcAction, "SetLightsONOFF") == 0)
  {
    ToggleLights();
    return true;
  }

  if(strcmp(_pcAction, "ReloadLights") == 0)
  {
    CORE->GetLightManager()->Reload();
    m_pObjectModeLight = CORE->GetLightManager()->CreateDirectionalLight("ObjectModeLight",
                                                                        Vect3f(0.0f),
                                                                        Vect3f(1.0f,1.0f,1.0f),
                                                                        CColor(Vect3f(1.0f,1.0f,1.0f)),
                                                                        50.0f,
                                                                        80.0f,
                                                                        false);
    InitMode();
    return true;
  }

  if(strcmp(_pcAction, "Yaw") == 0)
  {
    m_vMouseDelta.x = (int)_fDelta;
    return true;
  }

  if(strcmp(_pcAction, "Pitch") == 0)
  {
    m_vMouseDelta.y = (int)_fDelta;
    return true;
  }

  if(strcmp(_pcAction, "SetNextMaterial") == 0)
  {
    NextMaterialProperty();
    return true;
  }
  
  if(strcmp(_pcAction, "Change Lightmap Mode") == 0)
  {
    /*switch(m_eLightmapMode)
    {
    case CMaterial::FLAT            : m_eLightmapMode = CMaterial::RADIOSITY_NORMAL ; break;
    case CMaterial::RADIOSITY_NORMAL: m_eLightmapMode = CMaterial::SHOW_R           ; break;
    case CMaterial::SHOW_R          : m_eLightmapMode = CMaterial::SHOW_G           ; break;
    case CMaterial::SHOW_G          : m_eLightmapMode = CMaterial::SHOW_B           ; break;
    case CMaterial::SHOW_B          : m_eLightmapMode = CMaterial::FLAT             ; break;
    };*/
    /*switch(m_eLightmapMode)
    {
    case CMaterial::FLAT            : m_eLightmapMode = CMaterial::RADIOSITY_NORMAL ; break;
    case CMaterial::RADIOSITY_NORMAL: m_eLightmapMode = CMaterial::FLAT             ; break;
    };


    vector<CRenderableObject*>::iterator l_it  = m_vMeshes.begin();
    vector<CRenderableObject*>::iterator l_end = m_vMeshes.end();

    for(; l_it != l_end; ++l_it)
    {
      CInstanceMesh* l_pRenderMesh = (CInstanceMesh*)(*l_it);
      const vector<CMaterial*>& l_vMaterials = l_pRenderMesh->GetStaticMesh()->GetMaterials();

      vector<CMaterial*>::const_iterator l_itMat  = l_vMaterials.cbegin();
      vector<CMaterial*>::const_iterator l_endMat = l_vMaterials.cend();

      for(; l_itMat != l_endMat; ++l_itMat)
      {
        (*l_itMat)->ActivateRadiosityNormal(m_eLightmapMode);
      }
    }*/
    return true;
  }

  switch(m_iMode) {
  case FREE_MODE:
    return ExecuteFreeModeAction(_fDeltaSeconds,_fDelta,_pcAction);
    break;
  case MESH_MODE:
    return ExecuteMeshModeAction(_fDeltaSeconds,_fDelta,_pcAction);
    break;
  case ANIMATED_MODE:
    return ExecuteAnimatedModeAction(_fDeltaSeconds,_fDelta,_pcAction);
    break;
  default:
    break;
  }

  return false;
}