rendered paste body#include "Globals.h"
HWND GameHandle;
LPDIRECT3D9 g_pD3D = NULL; // Used to create the D3DDevice
LPDIRECT3DDEVICE9 d3d_Device = NULL; // Our rendering device
LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL; // Buffer to hold vertices
DWORD starttime1=GetTickCount(), endtime1;
D3DXVECTOR3 g_Pos(0,20,180);
D3DXMATRIX g_ViewMatrix;
float g_SpeedForward = 0;
float g_SpeedStrafe = 0;
float g_Yaw = 0, g_Pitch = 0, g_Roll = 0;
LPDIRECT3DTEXTURE9 pTexture = NULL;
LPDIRECT3DTEXTURE9 *pTextures = NULL;
// ---- Class Wall Member Functions ---- //
Wall::Wall(float tl_x, float tl_y, float tl_z, DWORD tl_color, float tl_u, float tl_v,
float tr_x, float tr_y, float tr_z, DWORD tr_color, float tr_u, float tr_v,
float br_x, float br_y, float br_z, DWORD br_color, float br_u, float br_v,
float bl_x, float bl_y, float bl_z, DWORD bl_color, float bl_u, float bl_v, int text)
{
m_Verts[0].point = D3DXVECTOR3(tl_x, tl_y, tl_z);
m_Verts[1].point = D3DXVECTOR3(tr_x, tr_y, tr_z);
m_Verts[2].point = D3DXVECTOR3(br_x, br_y, br_z);
m_Verts[3].point = D3DXVECTOR3(bl_x, bl_y, bl_z);
m_Verts[0].uv = D3DXVECTOR2(tl_u, tl_v);
m_Verts[1].uv = D3DXVECTOR2(tr_u, tr_v);
m_Verts[2].uv = D3DXVECTOR2(br_u, br_v);
m_Verts[3].uv = D3DXVECTOR2(bl_u, bl_v);
m_Verts[0].color = tl_color;
m_Verts[1].color = tr_color;
m_Verts[2].color = br_color;
m_Verts[3].color = bl_color;
m_Indexes[0] = 0;
m_Indexes[1] = 1;
m_Indexes[2] = 3;
m_Indexes[3] = 1;
m_Indexes[4] = 2;
m_Indexes[5] = 3;
Texture=text;
}
Wall::Wall()
{
// no code required
}
Cuboid::Cuboid(float cube_x, float cube_y, float cube_z,
float cube_l, float cube_w, float cube_h,
int text)
{
//Face 1 - Front
m_Verts1[0].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y + (cube_w / 2), cube_z - (cube_h / 2));
m_Verts1[1].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y + (cube_w / 2), cube_z - (cube_h / 2));
m_Verts1[2].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y - (cube_w / 2), cube_z - (cube_h / 2));
m_Verts1[3].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y - (cube_w / 2), cube_z - (cube_h / 2));
//Face 2 - back
m_Verts1[4].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y + (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[5].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y + (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[6].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y - (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[7].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y - (cube_w / 2), cube_z + (cube_h / 2));
//Face 3 - Left
m_Verts1[8].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y + (cube_w / 2), cube_z - (cube_h / 2));
m_Verts1[9].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y + (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[10].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y - (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[11].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y - (cube_w / 2), cube_z - (cube_h / 2));
//Face 4 - Right
m_Verts1[12].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y + (cube_w / 2), cube_z - (cube_h / 2));
m_Verts1[13].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y + (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[14].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y - (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[15].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y - (cube_w / 2), cube_z - (cube_h / 2));
//Face 5 - Top
m_Verts1[16].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y + (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[17].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y + (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[18].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y + (cube_w / 2), cube_z - (cube_h / 2));
m_Verts1[19].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y + (cube_w / 2), cube_z - (cube_h / 2));
//Face 6 - Bottom
m_Verts1[20].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y - (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[21].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y - (cube_w / 2), cube_z + (cube_h / 2));
m_Verts1[22].point = D3DXVECTOR3(cube_x + (cube_l / 2),cube_y - (cube_w / 2), cube_z - (cube_h / 2));
m_Verts1[23].point = D3DXVECTOR3(cube_x - (cube_l / 2),cube_y - (cube_w / 2), cube_z - (cube_h / 2));
m_Verts1[0].uv = D3DXVECTOR2(0,0);
m_Verts1[1].uv = D3DXVECTOR2(1,0);
m_Verts1[2].uv = D3DXVECTOR2(1,1);
m_Verts1[3].uv = D3DXVECTOR2(0,1);
m_Verts1[4].uv = D3DXVECTOR2(0,0);
m_Verts1[5].uv = D3DXVECTOR2(1,0);
m_Verts1[6].uv = D3DXVECTOR2(1,1);
m_Verts1[7].uv = D3DXVECTOR2(0,1);
m_Verts1[8].uv = D3DXVECTOR2(0,0);
m_Verts1[9].uv = D3DXVECTOR2(1,0);
m_Verts1[10].uv = D3DXVECTOR2(1,1);
m_Verts1[11].uv = D3DXVECTOR2(0,1);
m_Verts1[12].uv = D3DXVECTOR2(0,0);
m_Verts1[13].uv = D3DXVECTOR2(1,0);
m_Verts1[14].uv = D3DXVECTOR2(1,1);
m_Verts1[15].uv = D3DXVECTOR2(0,1);
m_Verts1[16].uv = D3DXVECTOR2(0,0);
m_Verts1[17].uv = D3DXVECTOR2(1,0);
m_Verts1[18].uv = D3DXVECTOR2(1,1);
m_Verts1[19].uv = D3DXVECTOR2(0,1);
m_Verts1[20].uv = D3DXVECTOR2(0,0);
m_Verts1[21].uv = D3DXVECTOR2(1,0);
m_Verts1[22].uv = D3DXVECTOR2(1,1);
m_Verts1[23].uv = D3DXVECTOR2(0,1);
m_Verts1[0].color = D3DCOLOR_RGBA(255,100,255,255);
m_Verts1[1].color = D3DCOLOR_RGBA(255,100,255,255);
m_Verts1[2].color = D3DCOLOR_RGBA(255,100,255,255);
m_Verts1[3].color = D3DCOLOR_RGBA(255,100,255,255);
m_Verts1[4].color = D3DCOLOR_RGBA(0,255,255,255);
m_Verts1[5].color = D3DCOLOR_RGBA(0,255,255,255);
m_Verts1[6].color = D3DCOLOR_RGBA(0,255,255,255);
m_Verts1[7].color = D3DCOLOR_RGBA(0,255,255,255);
m_Verts1[8].color = D3DCOLOR_RGBA(255,100,255,255);
m_Verts1[9].color = D3DCOLOR_RGBA(255,100,255,255);
m_Verts1[10].color = D3DCOLOR_RGBA(255,100,255,255);
m_Verts1[11].color = D3DCOLOR_RGBA(255,100,255,255);
m_Verts1[12].color = D3DCOLOR_RGBA(0,100,255,255);
m_Verts1[13].color = D3DCOLOR_RGBA(0,100,255,255);
m_Verts1[14].color = D3DCOLOR_RGBA(0,100,255,255);
m_Verts1[15].color = D3DCOLOR_RGBA(0,100,255,255);
m_Verts1[16].color = D3DCOLOR_RGBA(255,255,0,255);
m_Verts1[17].color = D3DCOLOR_RGBA(255,255,0,255);
m_Verts1[18].color = D3DCOLOR_RGBA(255,255,0,255);
m_Verts1[19].color = D3DCOLOR_RGBA(255,255,0,255);
m_Verts1[20].color = D3DCOLOR_RGBA(255,255,0,255);
m_Verts1[21].color = D3DCOLOR_RGBA(255,255,0,255);
m_Verts1[22].color = D3DCOLOR_RGBA(255,255,0,255);
m_Verts1[23].color = D3DCOLOR_RGBA(255,255,0,255);
//Front
m_Indexes1[0] = 0;
m_Indexes1[1] = 1;
m_Indexes1[2] = 3;
m_Indexes1[3] = 1;
m_Indexes1[4] = 2;
m_Indexes1[5] = 3;
//Back
m_Indexes1[6] = 4;
m_Indexes1[7] = 5;
m_Indexes1[8] = 7;
m_Indexes1[9] = 5;
m_Indexes1[10] = 6;
m_Indexes1[11] = 7;
//Left
m_Indexes1[12] = 8;
m_Indexes1[13] = 9;
m_Indexes1[14] = 11;
m_Indexes1[15] = 9;
m_Indexes1[16] = 10;
m_Indexes1[17] = 11;
//Right
m_Indexes1[18] = 12;
m_Indexes1[19] = 13;
m_Indexes1[20] = 15;
m_Indexes1[21] = 13;
m_Indexes1[22] = 14;
m_Indexes1[23] = 15;
//Top
m_Indexes1[24] = 16;
m_Indexes1[25] = 17;
m_Indexes1[26] = 19;
m_Indexes1[27] = 17;
m_Indexes1[28] = 18;
m_Indexes1[29] = 19;
//Bottom
m_Indexes1[30] = 20;
m_Indexes1[31] = 21;
m_Indexes1[32] = 23;
m_Indexes1[33] = 21;
m_Indexes1[34] = 22;
m_Indexes1[35] = 23;
Texture=text;
}
Cuboid::Cuboid()
{
//blank
}
void Wall::Render()
{
d3d_Device->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, 4, 2, m_Indexes, D3DFMT_INDEX16, m_Verts, sizeof(CUSTOMVERTEX));
}
void Cuboid::Render()
{
d3d_Device->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, 36, 12, m_Indexes1, D3DFMT_INDEX16, m_Verts1, sizeof(CUSTOMVERTEX));
}
// ---- End ---- //
Wall *pQuad=NULL;
Cuboid *pCube=NULL;
int NumQuads=0;
int NumTextures=0;
int cubenumber=0;
int MouseCurrentX = 0;
int MouseCurrentY = 0;
int MouseOriginX = 0;
int MouseOriginY = 0;
DWORD starttime=GetTickCount(), endtime;