X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FObjects.cpp;h=d67044eee0923ea543436805384068352c0cf457;hb=44146d06c780d3aaa283672fedb08b8870ebe1b9;hp=cc6008b409cf7389ccc68a5ffc16c9c0f274aaea;hpb=43f08119f2408a487dbefcf670bb6c8f47d4c49b;p=lugaru.git diff --git a/Source/Objects.cpp b/Source/Objects.cpp index cc6008b..d67044e 100644 --- a/Source/Objects.cpp +++ b/Source/Objects.cpp @@ -1,3 +1,24 @@ +/* +Copyright (C) 2003, 2010 - Wolfire Games + +This file is part of Lugaru. + +Lugaru is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + #include "Objects.h" extern XYZ viewer; extern float viewdistance; @@ -97,26 +118,26 @@ void Objects::Draw() if(type[i]==bushtype){ messedwith[i]-=multiplier; if(rotxvel[i]||rotx[i]){ - if(rotx[i]>0)rotxvel[i]-=multiplier*8*abs(rotx[i]); - if(rotx[i]<0)rotxvel[i]+=multiplier*8*abs(rotx[i]); + if(rotx[i]>0)rotxvel[i]-=multiplier*8*fabs(rotx[i]); + if(rotx[i]<0)rotxvel[i]+=multiplier*8*fabs(rotx[i]); if(rotx[i]>0)rotxvel[i]-=multiplier*4; if(rotx[i]<0)rotxvel[i]+=multiplier*4; if(rotxvel[i]>0)rotxvel[i]-=multiplier*4; if(rotxvel[i]<0)rotxvel[i]+=multiplier*4; - if(abs(rotx[i])0)rotyvel[i]-=multiplier*8*abs(roty[i]); - if(roty[i]<0)rotyvel[i]+=multiplier*8*abs(roty[i]); + if(roty[i]>0)rotyvel[i]-=multiplier*8*fabs(roty[i]); + if(roty[i]<0)rotyvel[i]+=multiplier*8*fabs(roty[i]); if(roty[i]>0)rotyvel[i]-=multiplier*4; if(roty[i]<0)rotyvel[i]+=multiplier*4; if(rotyvel[i]>0)rotyvel[i]-=multiplier*4; if(rotyvel[i]<0)rotyvel[i]+=multiplier*4; - if(abs(roty[i])0)rotxvel[i]-=multiplier*8*abs(rotx[i]); - if(rotx[i]<0)rotxvel[i]+=multiplier*8*abs(rotx[i]); + if(rotx[i]>0)rotxvel[i]-=multiplier*8*fabs(rotx[i]); + if(rotx[i]<0)rotxvel[i]+=multiplier*8*fabs(rotx[i]); if(rotx[i]>0)rotxvel[i]-=multiplier*4; if(rotx[i]<0)rotxvel[i]+=multiplier*4; if(rotxvel[i]>0)rotxvel[i]-=multiplier*4; if(rotxvel[i]<0)rotxvel[i]+=multiplier*4; - if(abs(rotx[i])0)rotyvel[i]-=multiplier*8*abs(roty[i]); - if(roty[i]<0)rotyvel[i]+=multiplier*8*abs(roty[i]); + if(roty[i]>0)rotyvel[i]-=multiplier*8*fabs(roty[i]); + if(roty[i]<0)rotyvel[i]+=multiplier*8*fabs(roty[i]); if(roty[i]>0)rotyvel[i]-=multiplier*4; if(roty[i]<0)rotyvel[i]+=multiplier*4; if(rotyvel[i]>0)rotyvel[i]-=multiplier*4; if(rotyvel[i]<0)rotyvel[i]+=multiplier*4; - if(abs(roty[i])0)rotxvel[i]-=multiplier*8*abs(rotx[i]); - if(rotx[i]<0)rotxvel[i]+=multiplier*8*abs(rotx[i]); + if(rotx[i]>0)rotxvel[i]-=multiplier*8*fabs(rotx[i]); + if(rotx[i]<0)rotxvel[i]+=multiplier*8*fabs(rotx[i]); if(rotx[i]>0)rotxvel[i]-=multiplier*4; if(rotx[i]<0)rotxvel[i]+=multiplier*4; if(rotxvel[i]>0)rotxvel[i]-=multiplier*4; if(rotxvel[i]<0)rotxvel[i]+=multiplier*4; - if(abs(rotx[i])0)rotyvel[i]-=multiplier*8*abs(roty[i]); - if(roty[i]<0)rotyvel[i]+=multiplier*8*abs(roty[i]); + if(roty[i]>0)rotyvel[i]-=multiplier*8*fabs(roty[i]); + if(roty[i]<0)rotyvel[i]+=multiplier*8*fabs(roty[i]); if(roty[i]>0)rotyvel[i]-=multiplier*4; if(roty[i]<0)rotyvel[i]+=multiplier*4; if(rotyvel[i]>0)rotyvel[i]-=multiplier*4; if(rotyvel[i]<0)rotyvel[i]+=multiplier*4; - if(abs(roty[i])0)rotxvel[i]-=multiplier*8*abs(rotx[i]); - if(rotx[i]<0)rotxvel[i]+=multiplier*8*abs(rotx[i]); + if(rotx[i]>0)rotxvel[i]-=multiplier*8*fabs(rotx[i]); + if(rotx[i]<0)rotxvel[i]+=multiplier*8*fabs(rotx[i]); if(rotx[i]>0)rotxvel[i]-=multiplier*4; if(rotx[i]<0)rotxvel[i]+=multiplier*4; if(rotxvel[i]>0)rotxvel[i]-=multiplier*4; if(rotxvel[i]<0)rotxvel[i]+=multiplier*4; - if(abs(rotx[i])0)rotyvel[i]-=multiplier*8*abs(roty[i]); - if(roty[i]<0)rotyvel[i]+=multiplier*8*abs(roty[i]); + if(roty[i]>0)rotyvel[i]-=multiplier*8*fabs(roty[i]); + if(roty[i]<0)rotyvel[i]+=multiplier*8*fabs(roty[i]); if(roty[i]>0)rotyvel[i]-=multiplier*4; if(roty[i]<0)rotyvel[i]+=multiplier*4; if(rotyvel[i]>0)rotyvel[i]-=multiplier*4; if(rotyvel[i]<0)rotyvel[i]+=multiplier*4; - if(abs(roty[i])0)rotxvel[i]-=multiplier*8*abs(rotx[i]); - if(rotx[i]<0)rotxvel[i]+=multiplier*8*abs(rotx[i]); + if(rotx[i]>0)rotxvel[i]-=multiplier*8*fabs(rotx[i]); + if(rotx[i]<0)rotxvel[i]+=multiplier*8*fabs(rotx[i]); if(rotx[i]>0)rotxvel[i]-=multiplier*4; if(rotx[i]<0)rotxvel[i]+=multiplier*4; if(rotxvel[i]>0)rotxvel[i]-=multiplier*4; if(rotxvel[i]<0)rotxvel[i]+=multiplier*4; - if(abs(rotx[i])0)rotyvel[i]-=multiplier*8*abs(roty[i]); - if(roty[i]<0)rotyvel[i]+=multiplier*8*abs(roty[i]); + if(roty[i]>0)rotyvel[i]-=multiplier*8*fabs(roty[i]); + if(roty[i]<0)rotyvel[i]+=multiplier*8*fabs(roty[i]); if(roty[i]>0)rotyvel[i]-=multiplier*4; if(roty[i]<0)rotyvel[i]+=multiplier*4; if(rotyvel[i]>0)rotyvel[i]-=multiplier*4; if(rotyvel[i]<0)rotyvel[i]+=multiplier*4; - if(abs(roty[i])5)friction[numobjects]=.5; + if(friction[numobjects]==1.5&&fabs(arotation2)>5)friction[numobjects]=.5; if(atype==platformtype){ model[numobjects].loaddecal((char *)":Data:Models:Platform.solid",0);