#include <acknex.h>
#include <default.c>
#include <stdio.h>
#include <d3d9.h>
void create_mesh(ENTITY *entity)
{
printf("%d", (long)ent_status(entity, 1));
int num_faces = 1;
int num_vertices = 3;
D3DVERTEX pvb[3];
WORD pib[3];
DWORD pab[1];
pvb[0].x = 0.0;
pvb[0].y = 0.0;
pvb[0].z = -8.0;
pvb[0].nx = 0.0;
pvb[0].ny = 0.0;
pvb[0].nz = 1.0;
pvb[0].u1 = 0.0;
pvb[0].v1 = 0.0;
pvb[0].u2 = 0.0;
pvb[0].v2 = 0.0;
pvb[0].x3 = 0.0;
pvb[0].y3 = 0.0;
pvb[0].z3 = 0.0;
pvb[0].w3 = 0.0;
pvb[0].tu4 = 0.0;
pvb[0].tv4 = 0.0;
pvb[1].x = 8.0;
pvb[1].y = 0.0;
pvb[1].z = -8.0;
pvb[1].nx = 0.0;
pvb[1].ny = 0.0;
pvb[1].nz = 1.0;
pvb[1].u1 = 0.0;
pvb[1].v1 = 0.0;
pvb[1].u2 = 0.0;
pvb[1].v2 = 0.0;
pvb[1].x3 = 0.0;
pvb[1].y3 = 0.0;
pvb[1].z3 = 0.0;
pvb[1].w3 = 0.0;
pvb[1].tu4 = 0.0;
pvb[1].tv4 = 0.0;
pvb[2].x = 0.0;
pvb[2].y = 8.0;
pvb[2].z = -8.0;
pvb[2].nx = 0.0;
pvb[2].ny = 0.0;
pvb[2].nz = 1.0;
pvb[2].u1 = 0.0;
pvb[2].v1 = 0.0;
pvb[2].u2 = 0.0;
pvb[2].v2 = 0.0;
pvb[2].x3 = 0.0;
pvb[2].y3 = 0.0;
pvb[2].z3 = 0.0;
pvb[2].w3 = 0.0;
pvb[2].tu4 = 0.0;
pvb[2].tv4 = 0.0;
pib[0] = 0;
pib[1] = 1;
pib[2] = 2;
pab[0] = 0;
LPD3DXMESH pmesh;
D3DXCreateMeshFVF(num_faces, num_vertices, D3DXMESH_MANAGED, D3DFVF_D3DVERTEX, (LPDIRECT3DDEVICE9)pd3ddev, &pmesh);
D3DVERTEX *pnewvb; pmesh->LockVertexBuffer(0, (void**)&pnewvb);
WORD *pnewib; pmesh->LockIndexBuffer(0, (void**)&pnewib);
DWORD *pnewab; pmesh->LockAttributeBuffer(0, &pnewab);
memcpy(pnewvb, pvb, sizeof(D3DVERTEX) * num_vertices);
memcpy(pnewib, pib, sizeof(WORD) * num_faces * 3);
memcpy(pnewab, pab, sizeof(DWORD) * num_faces);
pmesh->UnlockVertexBuffer();
pmesh->UnlockIndexBuffer();
pmesh->UnlockAttributeBuffer();
ent_setmesh(entity, pmesh, 0, 0);
printf("%d", (long)ent_status(entity, 1));
}
void initialize()
{
you = ent_create(CUBE_MDL, vector(0, 0, 0), NULL);
set(you, FLAG8);
ent_clone(you);
create_mesh(you);
}
void main()
{
video_mode = 10;
level_load("");
initialize();
}