if(currentCamera == 0)
{
camerapos[0] = player[1].transmatrix[12] - mulf32(20480,player[1].transmatrix[8]) + mulf32(12288,player[1].transmatrix[4]);
camerapos[1] = player[1].transmatrix[13] - mulf32(20480,player[1].transmatrix[9]) + mulf32(12288,player[1].transmatrix[5]);
camerapos[2] = player[1].transmatrix[14] - mulf32(20480,player[1].transmatrix[10]) + mulf32(12288,player[1].transmatrix[6]);
cameralook[0] = player[1].transmatrix[12] + mulf32(5000,player[1].transmatrix[4]);
cameralook[1] = player[1].transmatrix[13] + mulf32(5000,player[1].transmatrix[5]);
cameralook[2] = player[1].transmatrix[14] + mulf32(5000,player[1].transmatrix[6]);
cameraup[0] = player[1].transmatrix[4];
cameraup[1] = player[1].transmatrix[5];
cameraup[2] = player[1].transmatrix[6];
}
else if(currentCamera == 1)
{
camerapos[0] = player[0].transmatrix[12] - mulf32(20480,player[0].transmatrix[8]) + mulf32(12288,player[0].transmatrix[4]);
camerapos[1] = player[0].transmatrix[13] - mulf32(20480,player[0].transmatrix[9]) + mulf32(12288,player[0].transmatrix[5]);
camerapos[2] = player[0].transmatrix[14] - mulf32(20480,player[0].transmatrix[10]) + mulf32(12288,player[0].transmatrix[6]);
cameralook[0] = player[0].transmatrix[12] + mulf32(5000,player[0].transmatrix[4]);
cameralook[1] = player[0].transmatrix[13] + mulf32(5000,player[0].transmatrix[5]);
cameralook[2] = player[0].transmatrix[14] + mulf32(5000,player[0].transmatrix[6]);
cameraup[0] = player[0].transmatrix[4];
cameraup[1] = player[0].transmatrix[5];
cameraup[2] = player[0].transmatrix[6];
}
/* SET THE SCENE AND THE CAMERA-----------------------------------------*/
// glOrtho(-40,40,-30,30,0.1,10000);
gluPerspective(38, 256.0 / 192.0, 0.1, 2000);
glMatrixMode(GL_MODELVIEW);
glPolyFmt(POLY_ALPHA(31) | POLY_CULL_NONE);
glLoadIdentity();
gluLookAtf32(camerapos[0], camerapos[1], camerapos[2],cameralook[0],cameralook[1],cameralook[2],cameraup[0],cameraup[1],cameraup[2]);
glLight(0, RGB15(31,31,31) , 0, floattov10(1), 0);
/* DRAW THE SKYBOX------------------------------------------------------*/
glPushMatrix();
glTranslate3f32(camerapos[0],camerapos[1],camerapos[2]);
glScalef(90,90,90);
DrawSkybox();
glPopMatrix(1);
/* DRAW THE LEVEL------------------------------------------------------*/
glPolyFmt(POLY_ALPHA(31) | POLY_CULL_NONE | POLY_FORMAT_LIGHT0);
glPushMatrix();
glScalef(LevelScale,LevelScale,LevelScale);
DrawLevel1();
glPopMatrix(1);
glPushMatrix();
glTranslate3f32(Waypoint1[player[1].currentWaypoint].x, Waypoint1[player[1].currentWaypoint].y, Waypoint1[player[1].currentWaypoint].z);
DrawSkybox();
glPopMatrix(1);
/* DRAW THE COMPUTER SHIP-----------------------------------------------*/
glPushMatrix();
glMultMatrix4x4((m4x4 *)&player[1].transmatrix[0]);
glBindTexture(GL_TEXTURE_2D, shiptextures[0]);
Draw3DS(0);
glBindTexture(0, 0);
glPopMatrix(1);
/* DRAW THE PLAYER SHIP------------------------------------------------------*/
glPushMatrix();
glMultMatrix4x4((m4x4 *)&player[0].transmatrix[0]);
glRotatef32i(player[0].tilt,0,0,4096);
glBindTexture(GL_TEXTURE_2D, shiptextures[0]);
Draw3DS(0);
glBindTexture(0, 0);
glPopMatrix(1); |