/* Copyright (C) 2005, 2010 - Cryptic Sea This file is part of Gish. Gish 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. */ void setuprenderobjects(void) { int count,count2; float vec[3],vec2[3]; float intersectpoint[3]; float normal[3]; float angle; float scale; float w; numofobjectrenders=0; for (count=0;count=5 && rope[count].type<10) scale=bond[rope[count].bondnum].length+1.0f; subtractvectors(vec,view.position,particle[rope[count].part1].position); if (fabs(vec[0])-scale=5 && rope[count].type<=10) scalevector(normal,normal,0.5f); objectrender[numofobjectrenders].numofverts=4; count2=0; subtractvectors(objectrender[numofobjectrenders].vertex[count2],particle[rope[count].part1].position,normal); objectrender[numofobjectrenders].texcoord[count2][0]=0.0f; objectrender[numofobjectrenders].texcoord[count2][1]=0.0f; count2=1; addvectors(objectrender[numofobjectrenders].vertex[count2],particle[rope[count].part1].position,normal); objectrender[numofobjectrenders].texcoord[count2][0]=1.0f; objectrender[numofobjectrenders].texcoord[count2][1]=0.0f; count2=2; addvectors(objectrender[numofobjectrenders].vertex[count2],particle[rope[count].part2].position,normal); objectrender[numofobjectrenders].texcoord[count2][0]=1.0f; objectrender[numofobjectrenders].texcoord[count2][1]=1.0f; count2=3; subtractvectors(objectrender[numofobjectrenders].vertex[count2],particle[rope[count].part2].position,normal); objectrender[numofobjectrenders].texcoord[count2][0]=0.0f; objectrender[numofobjectrenders].texcoord[count2][1]=1.0f; objectrender[numofobjectrenders].numoftris=2; objectrender[numofobjectrenders].tri[0][0]=0; objectrender[numofobjectrenders].tri[0][1]=1; objectrender[numofobjectrenders].tri[0][2]=2; objectrender[numofobjectrenders].tri[1][0]=0; objectrender[numofobjectrenders].tri[1][1]=2; objectrender[numofobjectrenders].tri[1][2]=3; numofobjectrenders++; } } } int setuprenderobjectlight(int objectnum) { int lightcount; int lightflags; float vec[3]; lightflags=0; for (lightcount=0;lightcount