Here's The code I'm using,
Everything else works fine. It just doesn't know what 'TailGate' is,
#include "engine.h" void UdateTailGate(void); int TailGateAngle=0; int TailGateStatus=0; int main(int argc,char** argv) { Initialize(); Graphics(1024,768); CreateWorld(); TEntity MainCam=CreateCamera(); PositionEntity(MainCam,Vec3(0,6,-7)); RotateEntity(MainCam,Vec3(30,0,0)); TLight MainLight=CreateSpotLight(20.0); TLight MainLight2=CreateSpotLight(20.0); PositionEntity(MainLight,Vec3(0,12,6)); PositionEntity(MainLight2,Vec3(0,12,-6)); SetShadowmapSize(MainLight,2000); SetShadowmapSize(MainLight2,2000); RotateEntity(MainLight,Vec3(90,0,0)); RotateEntity(MainLight2,Vec3(90,0,0)); TEntity Floor=CreatePlane(); ScaleEntity(Floor,Vec3(10,1,10)); TEntity Car=LoadModel("JeepMain.gmf"); TEntity Bonnet=LoadModel("Bonnet.gmf"); PositionEntity(Bonnet,Vec3(0.012,3.177,-1.297)); EntityParent(Bonnet,Car); int BonnetAngle=0; int BonnetStatus=0;//0-closed,1-open,2-opening,3-closeing TEntity TailGate=LoadModel("TailGate.gmf"); PositionEntity(TailGate,Vec3(-1.105,2.249,4.578)); EntityParent(TailGate,Car); TEntity SpareWheel=LoadModel("Wheel.gmf"); PositionEntity(SpareWheel,Vec3(0,2.293,5)); EntityParent(SpareWheel,TailGate); TEntity LeftDoor=LoadModel("LeftDoor.gmf"); PositionEntity(LeftDoor,Vec3(1.975,2.669,-0.618)); EntityParent(LeftDoor,Car); TBuffer Buffer=CreateBuffer(1024,768,BUFFER_COLOR|BUFFER_DEPTH|BUFFER_NORMAL);//buffer for teh lights float CarAng=0.0; while(!KeyHit(KEY_ESCAPE)) { if(KeyHit(KEY_==1) { if(BonnetStatus==0) { BonnetStatus=2; } else { if(BonnetStatus==1) { BonnetStatus=3; } } } if(BonnetStatus==2) { if(BonnetAngle<60) { BonnetAngle++; RotateEntity(Bonnet,Vec3(BonnetAngle,0,0)); } else { BonnetStatus=1;//open } } if(BonnetStatus==3) { if(BonnetAngle>0) { BonnetAngle--; RotateEntity(Bonnet,Vec3(BonnetAngle,0,0)); } else { BonnetStatus=0;//closed } } UdateTailGate(); RotateEntity(Car,Vec3(0,CarAng,0)); CarAng=CarAng-0.2; UpdateWorld(1); SetBuffer(Buffer); RenderWorld(RENDER_ALL); SetBuffer(BackBuffer()); RenderLights(Buffer); SetBuffer(BackBuffer()); Flip(1); } Terminate(); return 0; } void UdateTailGate(void) { if(KeyHit(KEY_T)==1) { if(TailGateStatus==0) { TailGateStatus=2; } else { if(TailGateStatus==1) { TailGateStatus=3; } } } if(TailGateStatus==2) { if(TailGateAngle<100) { TailGateAngle++; RotateEntity(TailGate,Vec3(0,TailGateAngle,0));//Tailgate is an undeclared Identifier } else { TailGateStatus=1;//open } } if(TailGateStatus==3) { if(TailGateAngle>0) { TailGateAngle--; RotateEntity(TailGate,Vec3(0,TailGateAngle,0)); } else { TailGateStatus=0;//closed } } };