Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jun 8, 2006, 2:04:37 PM (18 years ago)
Author:
amaechler
Message:

branches/atmospheric_engine: general activate, cleanups

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc

    r8023 r8242  
    5353        }
    5454
    55   if(snowActivate)
    56     this->activate();
     55        if(snowActivate)
     56                this->activate();
    5757}
    5858
     
    7676        LoadParam(root, "emissionRate", this, SnowEffect, emissionRate);
    7777        LoadParam(root, "emissionVelocity", this, SnowEffect, emissionVelocity);
    78   LoadParam(root, "wind", this, SnowEffect, wind);
     78        LoadParam(root, "wind", this, SnowEffect, wind);
    7979        LoadParam(root, "size", this, SnowEffect, size);
    8080        LoadParam(root, "coord", this, SnowEffect, coord);
    8181 
    82   LOAD_PARAM_START_CYCLE(root, element);
    83   {
    84     LoadParam_CYCLE(element, "option", this, SnowEffect, setSnowOption);
    85   }
    86   LOAD_PARAM_END_CYCLE(element);
     82        LOAD_PARAM_START_CYCLE(root, element);
     83        {
     84                LoadParam_CYCLE(element, "option", this, SnowEffect, setSnowOption);
     85        }
     86        LOAD_PARAM_END_CYCLE(element);
    8787}
    8888
     
    9292
    9393        // Default values
    94   this->snowActivate = false;
    95   this->snowMove = false;
     94        this->snowActivate = false;
     95        this->snowMove = false;
    9696        this->particles = 12000;
    9797        this->texture = "maps/snow_flake_01_32x32.png";
     
    109109        this->alpha = 0.5;
    110110        this->snowSize = Vector2D(2500, 2500);
    111   this->snowCoord = Vector(100,450,400);
     111        this->snowCoord = Vector(100,450,400);
    112112        this->snowWindForce = 1;
    113 
    114 //      this->activated = false;
    115113}
    116114
     
    118116{
    119117        PRINTF(0)("Activating SnowEffect\n");
    120 //      activated = true;
     118
     119        this->snowActivate = true;
    121120
    122121        SnowEffect::snowParticles = new SpriteParticles(particles);
     
    140139        this->emitter->setSize(snowSize);
    141140
    142   //SnowEffect::snowParticles->precache(8);
     141        // SnowEffect::snowParticles->precache(8);
    143142
    144143        if (this->snowWindForce > 1)
     
    150149{
    151150        PRINTF(0)("Deactivating SnowEffect\n");
    152         //activated = false;
    153 
     151
     152        this->snowActivate = false;
    154153        this->emitter->setSystem(NULL);
    155154
     
    161160void SnowEffect::draw() const
    162161{
     162        if (!this->snowActivate)
     163                return;
    163164}
    164165
    165166void SnowEffect::tick(float dt)
    166 {/*
    167   float distance = (State::getCameraNode()->getAbsCoor() - Vector(snowCoord.x, State::getCameraNode()->getAbsCoor().y, snowCoord.z)).len();
    168  
    169   if(activated)
    170   {
    171     if(distance > 0.3*snowSize.x || distance > 0.3*snowSize.y)
    172                   this->deactivate();
    173     else if(distance > 0.25*snowSize.x || distance > 0.25*snowSize.y)
    174       this->alpha = 0.15;
    175     else if(distance > 0.2*snowSize.x || distance > 0.2*snowSize.y)
    176       this->alpha = 0.25;
    177     else if(distance > 0.1*snowSize.x || distance > 0.1*snowSize.y)
    178       this->alpha = 0.4;
    179 
    180     SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha);
    181     SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2);
    182     SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0);
    183   }
    184   else
    185   {
    186   if(distance < 0.3*snowSize.x || distance < 0.3*snowSize.y )
    187     this->activate();
    188   if( distance < 0.25*snowSize.x || distance < 0.25*snowSize.y )
    189     this->alpha = 0.25;
    190   else if( distance < 0.2*snowSize.x || distance < 0.2*snowSize.y )
    191     this->alpha = 0.4;
    192   else if( distance < 0.1*snowSize.x || distance < 0.1*snowSize.y )
    193     this->alpha = 0.5;
    194 
    195     SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha);
    196     SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2);
    197     SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0);
    198 }*/
    199   if (this->snowMove) {
    200     this->snowCoord = State::getCameraNode()->getAbsCoor();
    201     this->emitter->setRelCoor(this->snowCoord.x , this->snowCoord.y+300, this->snowCoord.z);
    202   }
    203 }
    204 
     167{
     168        if (!this->snowActivate)
     169                return;
     170
     171        /*
     172        float distance = (State::getCameraNode()->getAbsCoor() - Vector(snowCoord.x, State::getCameraNode()->getAbsCoor().y, snowCoord.z)).len();
     173       
     174        if(activated)
     175        {
     176        if(distance > 0.3*snowSize.x || distance > 0.3*snowSize.y)
     177                        this->deactivate();
     178        else if(distance > 0.25*snowSize.x || distance > 0.25*snowSize.y)
     179        this->alpha = 0.15;
     180        else if(distance > 0.2*snowSize.x || distance > 0.2*snowSize.y)
     181        this->alpha = 0.25;
     182        else if(distance > 0.1*snowSize.x || distance > 0.1*snowSize.y)
     183        this->alpha = 0.4;
     184       
     185        SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha);
     186        SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2);
     187        SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0);
     188        }
     189        else
     190        {
     191        if(distance < 0.3*snowSize.x || distance < 0.3*snowSize.y )
     192        this->activate();
     193        if( distance < 0.25*snowSize.x || distance < 0.25*snowSize.y )
     194        this->alpha = 0.25;
     195        else if( distance < 0.2*snowSize.x || distance < 0.2*snowSize.y )
     196        this->alpha = 0.4;
     197        else if( distance < 0.1*snowSize.x || distance < 0.1*snowSize.y )
     198        this->alpha = 0.5;
     199       
     200        SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha);
     201        SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2);
     202        SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0);
     203        }*/
     204
     205        if (this->snowMove) {
     206                this->snowCoord = State::getCameraNode()->getAbsCoor();
     207                this->emitter->setRelCoor(this->snowCoord.x , this->snowCoord.y+300, this->snowCoord.z);
     208        }
     209}
Note: See TracChangeset for help on using the changeset viewer.