}
if (cl_videosoundrate && (samples = S_RawSamples_QueueWantsMore()))
{
- Con_Printf("%i = S_RawSamples_QueueWantsMore()\n", samples);
+ Con_DPrintf("%i = S_RawSamples_QueueWantsMore()\n", samples);
// calculate how much source data we need to fill the output...
- s = samples * cl_videosoundrate / shm->speed;
+ s = samples * cl_videosoundrate / S_RawSamples_SampleRate();
// reallocate processing buffer if needed
if (cl_videosoundresamplelength < samples)
if (cl_videoplaying)
{
drawqueuemesh_t mesh;
- int indices[6];
- float vertices[12];
- float texcoords[8];
- qbyte colorsb[16];
+ float vertex3f[12];
+ float texcoord2f[8];
+ float color4f[16];
float s1, t1, s2, t2, x1, y1, x2, y2;
- indices[0] = 0;
- indices[1] = 1;
- indices[2] = 2;
- indices[3] = 0;
- indices[4] = 2;
- indices[5] = 3;
x1 = 0;
y1 = 0;
x2 = vid.conwidth;
y2 = vid.conheight;
- vertices[0] = y1;
- vertices[1] = y1;
- vertices[2] = 0;
- vertices[3] = x2;
- vertices[4] = y1;
- vertices[5] = 0;
- vertices[6] = x2;
- vertices[7] = y2;
- vertices[8] = 0;
- vertices[9] = x1;
- vertices[10] = y2;
- vertices[11] = 0;
R_FragmentLocation(cl_videotexture, NULL, NULL, &s1, &t1, &s2, &t2);
- texcoords[0] = s1;
- texcoords[1] = t1;
- texcoords[2] = s2;
- texcoords[3] = t1;
- texcoords[4] = s2;
- texcoords[5] = t2;
- texcoords[6] = s1;
- texcoords[7] = t2;
- colorsb[0] = 255 >> v_overbrightbits.integer;
- colorsb[1] = 255 >> v_overbrightbits.integer;
- colorsb[2] = 255 >> v_overbrightbits.integer;
- colorsb[3] = 255;
- colorsb[4] = 255 >> v_overbrightbits.integer;
- colorsb[5] = 255 >> v_overbrightbits.integer;
- colorsb[6] = 255 >> v_overbrightbits.integer;
- colorsb[7] = 255;
- colorsb[8] = 255 >> v_overbrightbits.integer;
- colorsb[9] = 255 >> v_overbrightbits.integer;
- colorsb[10] = 255 >> v_overbrightbits.integer;
- colorsb[11] = 255;
- colorsb[12] = 255 >> v_overbrightbits.integer;
- colorsb[13] = 255 >> v_overbrightbits.integer;
- colorsb[14] = 255 >> v_overbrightbits.integer;
- colorsb[15] = 255;
+ texcoord2f[0] = s1;texcoord2f[1] = t1;
+ texcoord2f[2] = s2;texcoord2f[3] = t1;
+ texcoord2f[4] = s2;texcoord2f[5] = t2;
+ texcoord2f[6] = s1;texcoord2f[7] = t2;
+ R_FillColors(color4f, 4, 1, 1, 1, 1);
+ vertex3f[ 0] = x1;vertex3f[ 1] = y1;vertex3f[ 2] = 0;
+ vertex3f[ 3] = x2;vertex3f[ 4] = y1;vertex3f[ 5] = 0;
+ vertex3f[ 6] = x2;vertex3f[ 7] = y2;vertex3f[ 8] = 0;
+ vertex3f[ 9] = x1;vertex3f[10] = y2;vertex3f[11] = 0;
mesh.texture = cl_videotexture;
- mesh.numindices = 6;
- mesh.numvertices = 4;
- mesh.indices = indices;
- mesh.vertices = vertices;
- mesh.texcoords = texcoords;
- mesh.colors = colorsb;
+ mesh.num_triangles = 2;
+ mesh.num_vertices = 4;
+ mesh.data_element3i = polygonelements;
+ mesh.data_vertex3f = vertex3f;
+ mesh.data_texcoord2f = texcoord2f;
+ mesh.data_color4f = color4f;
DrawQ_Mesh(&mesh, 0);
//DrawQ_Pic(0, 0, "engine_videoframe", vid.conwidth, vid.conheight, 1, 1, 1, 1, 0);
}
cl_videosoundresampledata = NULL;
cl_videotexturepool = R_AllocTexturePool();
- cl_videotexture = R_LoadTexture(cl_videotexturepool, "videotexture", cl_videoimagewidth, cl_videoimageheight, NULL, TEXTYPE_RGBA, TEXF_FRAGMENT);
+ cl_videotexture = R_LoadTexture2D(cl_videotexturepool, "videotexture", cl_videoimagewidth, cl_videoimageheight, NULL, TEXTYPE_RGBA, TEXF_FRAGMENT, NULL);
}
void CL_VideoStop(void)
return;
}
- sprintf(name, "%s/video/%s.dpv", com_gamedir, Cmd_Argv(1));
+ sprintf(name, "video/%s.dpv", Cmd_Argv(1));
CL_VideoStart(name);
}