the character works well again, thanks :) On Mon, Jan 31, 2011 at 10:11 AM, <[email protected]> wrote: > Revision: 1621 > http://rigsofrods.svn.sourceforge.net/rigsofrods/?rev=1621&view=rev > Author: aperion > Date: 2011-01-31 09:11:25 +0000 (Mon, 31 Jan 2011) > > Log Message: > ----------- > fixed incorrect logic negation, and fixed some incorrect comparisons. This > worked before I updated to latest, unsure about latest because RoR crashes in > latest... > > Modified Paths: > -------------- > trunk/source/main/collisions.cpp > > Modified: trunk/source/main/collisions.cpp > =================================================================== > --- trunk/source/main/collisions.cpp 2011-01-31 03:34:20 UTC (rev 1620) > +++ trunk/source/main/collisions.cpp 2011-01-31 09:11:25 UTC (rev 1621) > @@ -283,40 +283,40 @@ > } > > Ogre::Vector3 Collisions::calcCollidedSide(const Ogre::Vector3& pos, > Ogre::Vector3& lo, Ogre::Vector3& hi) > -{ > - float min = pos.z - lo.z; > - Ogre::Vector3 newPos = Ogre::Vector3(pos.x, pos.y, lo.z); > +{ > + Ogre::Real min = pos.x - lo.x; > + Ogre::Vector3 newPos = Ogre::Vector3(lo.x, pos.y, pos.z); > > - float t = pos.z - hi.z; > - if (t > min) { > - min = t; > - newPos = Ogre::Vector3(pos.x, pos.y, hi.z); > - }; > - > - t = pos.x - lo.x; > + Ogre::Real t = pos.y - lo.y; > if (t < min) { > - min = t; > - newPos = Ogre::Vector3(lo.x, pos.y, pos.z); > + min=t; > + newPos = Ogre::Vector3(pos.x, lo.y, pos.z); > }; > > - t = pos.y - lo.y; > + t = pos.z - lo.z; > if (t < min) { > min=t; > - newPos = Ogre::Vector3(pos.x, lo.y, pos.z); > + newPos = Ogre::Vector3(pos.x, pos.y, lo.z); > }; > > - t = pos.x - hi.x; > - if (t > min) { > + t = hi.x - pos.x; > + if (t < min) { > min=t; > newPos = Ogre::Vector3(hi.x, pos.y, pos.z); > }; > > - t = pos.y - hi.y; > - if (t > min) { > + t = hi.y - pos.y; > + if (t < min) { > min=t; > newPos = Ogre::Vector3(pos.x, hi.y, pos.z); > }; > > + t = hi.z - pos.z; > + if (t < min) { > + min=t; > + newPos = Ogre::Vector3(pos.x, pos.y, hi.z); > + }; > + > return newPos; > } > > @@ -763,7 +763,7 @@ > if ((*cell)[k] != (int)UNUSED_CELLELEMENT && > (*cell)[k]<MAX_COLLISION_BOXES) > { > collision_box_t *cbox=&collision_boxes[(*cell)[k]]; > - if (*refpos < cbox->lo || *refpos > cbox->hi) > continue; > + if( !( (*refpos) > cbox->lo && (*refpos) < cbox->hi ) > ) continue; > > if (cbox->refined || cbox->selfrotated) > { > > > This was sent by the SourceForge.net collaborative development platform, the > world's largest Open Source development site. > > ------------------------------------------------------------------------------ > Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! > Finally, a world-class log management solution at an even better price-free! > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > February 28th, so secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsight-sfd2d > _______________________________________________ > Rigsofrods-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/rigsofrods-devel >
------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ Rigsofrods-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rigsofrods-devel
