Revision: 2456
          http://rigsofrods.svn.sourceforge.net/rigsofrods/?rev=2456&view=rev
Author:   rorthomas
Date:     2012-02-25 07:16:59 +0000 (Sat, 25 Feb 2012)
Log Message:
-----------
fixed waves affecting things when waves were disabled

Modified Paths:
--------------
    trunk/source/main/gfx/WaterOld.cpp

Modified: trunk/source/main/gfx/WaterOld.cpp
===================================================================
--- trunk/source/main/gfx/WaterOld.cpp  2012-02-16 00:26:34 UTC (rev 2455)
+++ trunk/source/main/gfx/WaterOld.cpp  2012-02-25 07:16:59 UTC (rev 2456)
@@ -93,32 +93,36 @@
        visible=true;
        haswaves=usewaves;
        free_wavetrain=0;
-       char line[1024] = {};
-       FILE *fd = fopen((SSETTING("Config Root", "")+"wavefield.cfg").c_str(), 
"r");
-       if (fd)
+       maxampl=0;
+
+       if(haswaves)
        {
-               while (!feof(fd))
+               char line[1024] = {};
+               FILE *fd = fopen((SSETTING("Config Root", 
"")+"wavefield.cfg").c_str(), "r");
+               if (fd)
                {
-                       int res = fscanf(fd," %[^\n\r]",line);
-                       if (line[0] == ';') continue;
-                       float wl,amp,mx,dir;
-                       res = sscanf(line,"%f, %f, %f, %f",&wl,&amp,&mx,&dir);
-                       if(res < 4) continue;
-                       wavetrains[free_wavetrain].wavelength=wl;
-                       wavetrains[free_wavetrain].amplitude=amp;
-                       wavetrains[free_wavetrain].maxheight=mx;
-                       wavetrains[free_wavetrain].direction=dir/57.0;
-                       free_wavetrain++;
+                       while (!feof(fd))
+                       {
+                               int res = fscanf(fd," %[^\n\r]",line);
+                               if (line[0] == ';') continue;
+                               float wl,amp,mx,dir;
+                               res = sscanf(line,"%f, %f, %f, 
%f",&wl,&amp,&mx,&dir);
+                               if(res < 4) continue;
+                               wavetrains[free_wavetrain].wavelength=wl;
+                               wavetrains[free_wavetrain].amplitude=amp;
+                               wavetrains[free_wavetrain].maxheight=mx;
+                               wavetrains[free_wavetrain].direction=dir/57.0;
+                               free_wavetrain++;
+                       }
+                       fclose(fd);
                }
-               fclose(fd);
+               for (int i=0; i<free_wavetrain; i++)
+               {
+                       
wavetrains[i].wavespeed=1.25*sqrt(wavetrains[i].wavelength);
+                       maxampl+=wavetrains[i].maxheight;
+               }
        }
        //theCam=camera;
-       maxampl=0;
-       for (int i=0; i<free_wavetrain; i++)
-       {
-               wavetrains[i].wavespeed=1.25*sqrt(wavetrains[i].wavelength);
-               maxampl+=wavetrains[i].maxheight;
-       }
        pTestNode=0;
        waterSceneMgr=mSceneMgr;
        framecounter=0;
@@ -460,6 +464,8 @@
 
 Vector3 WaterOld::getVelocity(Vector3 pos)
 {
+       if(!haswaves) return Vector3::ZERO;
+
        if (pos.y>height+maxampl) return Vector3::ZERO;
        int i;
        float waveheight=(pos-Vector3((*mapsizex * mScale)/2, height, 
(*mapsizez * mScale)/2)).squaredLength()/3000000.0;

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Rigsofrods-devel mailing list
Rigsofrods-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rigsofrods-devel

Reply via email to