Thank you but I'm working with HL1.

On Thu, Mar 18, 2010 at 1:43 PM, Tony "omega" Sergi <omegal...@gmail.com>wrote:

> You actually shouldn't need to even use avikit.. since the engine has
> loading of avi's AND bink videos.
> preferably you would want to use bink anyway as you wouldn't need to worry
> about codecs.
>
> loading a bink video actually returns a material anyway, and there is an
> actual 'bik' shader for drawing on objects.
> i've never used the shader myself though, i just know it exists.
> -Tony
>
>
> On Fri, Mar 19, 2010 at 3:19 AM, Jonas 'Sortie' Termansen <
> hlcod...@maxsi.dk
> > wrote:
>
> > I have success implementing the free software ffmpeg library in Source.
> > There is nothing like watching a 720p HD xvid on an ingame surface. :D
> > It's not very well implemented though and I don't have any sound
> > support. I'd gladly share the source code with you. ffmpeg is very fast
> > and it provides all the codecs itself and supports most formats VLC do
> > (because it is used by VLC).
> >
> > Rodrigo 'r2d2rigo' Diaz skrev:
> > > AVIkit was used in a demo MOD from the creator of the library, but
> AFAIK
> > he
> > > didn't release the source code. I tried to add it some time ago, but
> > finally
> > > dropped the idea.
> > >
> > > 2010/3/18 kevin bowen <fragmasterbo...@gmail.com>
> > >
> > >
> > >> Just wondering if anyone has implemented AVIkit and is willing to part
> > with
> > >> the code :) or if AVIkit has been used in any open source mods
> (rebirth
> > and
> > >> arrangemod have the lib's included but don't actually call the
> > functions).
> > >> I'd do it myself but it would literally take years (I'm a moron), it'd
> > be
> > >> easier just to ask for it here just incase any devs have a dead hl1
> mod
> > >> with
> > >> the code already laid out :)
> > >>
> > >> I've scoured the internet and all I could find was this on a russian
> HL
> > >> coding site which seems to use the code but I'm not sure if it's an
> > entire
> > >> replacement for avikit.cpp or if it fits in there somehow (again I'm a
> > >> moron
> > >> when it comes to this)
> > >>
> > >>
> > >>
> > >>  ///////////////////////////////////////////////////////////////
> > >> // Only setup the avi if it's actually a video screen
> > >>
> > >> if (isVideoScreen && replacement[0] != '\0') {
> > >>    char *error_msg = NULL;
> > >>    long xres = 0;
> > >>    long yres = 0;
> > >>    float duration = 0.0f;
> > >>
> > >>    movie = new AVIKit( absolute_replacement, false );
> > >>    if (movie->getError( &error_msg ) != AVIKIT_NOERROR) {
> > >>        gEngfuncs.Con_DPrintf( "SetupAvisFromEntities: Error opening
> %s:
> > >> %s\n", absolute_replacement, error_msg );
> > >>        delete movie;
> > >>        break;
> > >>    }
> > >>    movie->getVideoInfo( &xres, &yres, &duration );
> > >>    gEngfuncs.Con_DPrintf( "SetupAvisFromEntities: Opened %s: %ld x %ld
> > (%f
> > >> secs)\n", replacement, xres, yres, duration );
> > >>    gEngfuncs.Con_DPrintf( "Video screen at (%d %d %d), with extents
> (%d
> > %d
> > >> %d)\n",
> > >>    (int)origin[0], (int)origin[1], (int)origin[2],
> > >>    (int)extents[0], (int)extents[1], (int)extents[2] );
> > >>
> > >>    // Create the OpenGL texture
> > >>    GLuint texnum;
> > >>    glGenTextures( 1, &texnum );
> > >>
> > >>    if (!AddComplexAvi( movie, texnum, origin, angles, extents,
> > &error_msg
> > >> )) {
> > >>        gEngfuncs.Con_DPrintf( "SetupAvisFromEntities: Error adding
> > movie:
> > >> %s\n", error_msg );
> > >>        delete movie;
> > >>    }
> > >>    } else if (isVideoScreen) {
> > >>        gEngfuncs.Con_DPrintf( "SetupAvisFromEntities: Video screen
> > didn't
> > >> have a movie specified!\n" );
> > >>    }
> > >>
> > >>    //Setting up the texture:
> > >>
> > >>    movie->getVideoInfo( &data->width, &data->height,
> &data->total_length
> > );
> > >>    glEnable( GL_TEXTURE_2D );
> > >>    glBindTexture( GL_TEXTURE_2D, data->texture_index );
> > >>    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
> > >>    glTexImage2D( GL_TEXTURE_2D, 0, 3, data->width, data->height, 0,
> > GL_RGB,
> > >> GL_UNSIGNED_BYTE, tmpbuffer );
> > >>
> > >>    //Updating the texture each frame:
> > >>
> > >>    // Calculate the frame needed
> > >>    int frame = i->movie->getVideoFrameNumber( i->current_time );
> > >>
> > >>    // If the frame has changed, re-upload it
> > >>    if (frame != i->current_frame) {
> > >>        i->current_frame = frame;
> > >>        i->movie->getVideoFrame( (char*)i->buffer, frame );
> > >>
> > >>        // If the video isn't a power of two on all sides, we need to
> > resize
> > >> it... <img src="images/smilies/frown.gif" border="0" alt="">
> > >>        if (i->resized_buffer) {
> > >>            gluScaleImage( GL_RGB, i->realwidth, i->realheight,
> > >> GL_UNSIGNED_BYTE, i->buffer, i->width, i->height, GL_UNSIGNED_BYTE,
> > >> i->resized_buffer );
> > >>            // ... and update the OpenGL texture ...
> > >>            glEnable(GL_TEXTURE_2D);
> > >>            glBindTexture( GL_TEXTURE_2D, i->texture_index );
> > >>            glTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, i->width,
> i->height,
> > >> GL_RGB, GL_UNSIGNED_BYTE, i->resized_buffer );
> > >>            } else {
> > >>                // ... and update the OpenGL texture ...
> > >>                glEnable(GL_TEXTURE_2D);
> > >>                glBindTexture( GL_TEXTURE_2D, i->texture_index );
> > >>                glTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, i->width,
> > >> i->height, GL_RGB, GL_UNSIGNED_BYTE, i->buffer );
> > >>            }
> > >>        }
> > >>
> > >>        // If this is a complex movie, draw the polygons
> > >>        if (i->texture_type == AVI_TEXTURE_USER) {
> > >>
> > >>            glEnable( GL_TEXTURE_2D );
> > >>            glBindTexture( GL_TEXTURE_2D, i->texture_index );
> > >>            glDisable( GL_BLEND );
> > >>            glBegin( GL_QUADS );
> > >>
> > >>            // Top left
> > >>            glColor3f( 1.0f, 1.0f, 1.0f );
> > >>            glTexCoord2f( 0.0f, 1.0f );
> > >>            glVertex3f( i->vertexes[0].x, i->vertexes[0].y,
> > i->vertexes[0].z
> > >> );
> > >>
> > >>            // Bottom left
> > >>            glColor3f( 1.0f, 1.0f, 1.0f );
> > >>            glTexCoord2f( 0.0f, 0.0f );
> > >>            glVertex3f( i->vertexes[1].x, i->vertexes[1].y,
> > i->vertexes[1].z
> > >> );
> > >>
> > >>            // Bottom right
> > >>            glColor3f( 1.0f, 1.0f, 1.0f );
> > >>            glTexCoord2f( 1.0f, 0.0f );
> > >>            glVertex3f( i->vertexes[2].x, i->vertexes[2].y,
> > i->vertexes[2].z
> > >> );
> > >>
> > >>            // Top right
> > >>            glColor3f( 1.0f, 1.0f, 1.0f );
> > >>            glTexCoord2f( 1.0f, 1.0f );
> > >>            glVertex3f( i->vertexes[3].x, i->vertexes[3].y,
> > i->vertexes[3].z
> > >> );
> > >>
> > >>            glEnd();
> > >>        }
> > >>  ///////////////////////////////////////////////////////////////
> > >>
> > >>
> > >> Regardless of this, the AVIkit mod also included fmod.dll, which I'm
> > >> guessing is used for sound and I'm not sure how it pulls this from the
> > AVI.
> > >>
> > >> Kevin
> > >> _______________________________________________
> > >> To unsubscribe, edit your list preferences, or view the list archives,
> > >> please visit:
> > >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > >>
> > >>
> > >>
> > > _______________________________________________
> > > To unsubscribe, edit your list preferences, or view the list archives,
> > please visit:
> > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > >
> >
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list archives,
> > please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
>
>
> --
> -Tony
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to