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,&,&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,&,&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