[qfusion-cvs-commits] SF.net SVN: l33t: [798] trunk/qfusion/source/client
Brought to you by:
digiman
From: qfusion s. c. <l33...@li...> - 2007-12-06 00:39:13
|
Revision: 798 http://l33t.svn.sourceforge.net/l33t/?rev=798&view=rev Author: digiman Date: 2007-12-05 16:39:12 -0800 (Wed, 05 Dec 2007) Log Message: ----------- Nicely isolate cin.h Modified Paths: -------------- trunk/qfusion/source/client/cin.c trunk/qfusion/source/client/cl_cin.c trunk/qfusion/source/client/cl_input.c trunk/qfusion/source/client/cl_main.c trunk/qfusion/source/client/cl_screen.c trunk/qfusion/source/client/client.h Modified: trunk/qfusion/source/client/cin.c =================================================================== --- trunk/qfusion/source/client/cin.c 2007-12-05 23:15:09 UTC (rev 797) +++ trunk/qfusion/source/client/cin.c 2007-12-06 00:39:12 UTC (rev 798) @@ -19,6 +19,7 @@ */ #include "client.h" +#include "cin.h" static short snd_sqr_arr[256]; Modified: trunk/qfusion/source/client/cl_cin.c =================================================================== --- trunk/qfusion/source/client/cl_cin.c 2007-12-05 23:15:09 UTC (rev 797) +++ trunk/qfusion/source/client/cl_cin.c 2007-12-06 00:39:12 UTC (rev 798) @@ -17,7 +17,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + #include "client.h" +#include "cin.h" /* ================================================================= @@ -34,11 +36,12 @@ */ void SCR_StopCinematic( void ) { - cinematics_t *cin = &cl.cin; + cinematics_t *cin = cl.cin; - if( !cin->file ) + if( !cin || !cin->file ) return; + cl.cin = NULL; cin->time = 0; // done cin->pic = NULL; cin->pic_pending = NULL; @@ -79,7 +82,7 @@ */ static qbyte *SCR_ReadNextCinematicFrame( void ) { - cinematics_t *cin = &cl.cin; + cinematics_t *cin = cl.cin; roq_chunk_t *chunk = &cin->chunk; while( !FS_Eof( cin->file ) ) { @@ -107,15 +110,35 @@ /* ================== +SCR_InitCinematic +================== +*/ +void SCR_InitCinematic( void ) { + RoQ_Init (); +} + +/* +================== +SCR_InitCinematic +================== +*/ +unsigned int SCR_GetCinematicTime( void ) +{ + cinematics_t *cin = cl.cin; + return (cin ? cin->time : 0); +} + +/* +================== SCR_RunCinematic ================== */ void SCR_RunCinematic( void ) { unsigned int frame; - cinematics_t *cin = &cl.cin; + cinematics_t *cin = cl.cin; - if( cin->time <= 0 ) { + if( !cin || cin->time == 0 ) { SCR_StopCinematic (); return; } @@ -155,9 +178,9 @@ */ qboolean SCR_DrawCinematic( void ) { - cinematics_t *cin = &cl.cin; + cinematics_t *cin = cl.cin; - if( cin->time <= 0 ) + if( !cin || cin->time <= 0 ) return qfalse; if( !cin->pic ) return qtrue; @@ -176,7 +199,8 @@ { int len; size_t name_size; - cinematics_t *cin = &cl.cin; + static cinematics_t clientCin; + cinematics_t *cin = cl.cin = &clientCin; roq_chunk_t *chunk = &cin->chunk; name_size = strlen( "video/" ) + strlen( arg ) + strlen( ".roq" ) + 1; Modified: trunk/qfusion/source/client/cl_input.c =================================================================== --- trunk/qfusion/source/client/cl_input.c 2007-12-05 23:15:09 UTC (rev 797) +++ trunk/qfusion/source/client/cl_input.c 2007-12-06 00:39:12 UTC (rev 798) @@ -552,8 +552,8 @@ SZ_Init (&buf, data, sizeof(data)); - if (cmd->buttons && cl.cin.time > 0 && !cl.attractloop - && cls.realtime - cl.cin.time > 1000) + if (cmd->buttons && SCR_GetCinematicTime() > 0 && !cl.attractloop + && cls.realtime > SCR_GetCinematicTime() + 1000) { // skip the rest of the cinematic SCR_StopCinematic (); SCR_FinishCinematic (); Modified: trunk/qfusion/source/client/cl_main.c =================================================================== --- trunk/qfusion/source/client/cl_main.c 2007-12-05 23:15:09 UTC (rev 797) +++ trunk/qfusion/source/client/cl_main.c 2007-12-06 00:39:12 UTC (rev 798) @@ -1586,7 +1586,7 @@ time_after_ref = Sys_Milliseconds (); // update audio - if (cls.state != ca_active || cl.cin.time > 0) + if (cls.state != ca_active || SCR_GetCinematicTime() > 0) S_Update (vec3_origin, vec3_origin, vec3_origin, vec3_origin, vec3_origin); if( cl_avidemo->modified ) { @@ -1657,8 +1657,6 @@ SZ_Init (&net_recieved, net_recieved_buffer, sizeof(net_recieved_buffer)); SZ_Init (&net_message, net_message_buffer, sizeof(net_message_buffer)); - RoQ_Init (); - SCR_InitScreen (); cls.disable_screen = qtrue; // don't draw yet Modified: trunk/qfusion/source/client/cl_screen.c =================================================================== --- trunk/qfusion/source/client/cl_screen.c 2007-12-05 23:15:09 UTC (rev 797) +++ trunk/qfusion/source/client/cl_screen.c 2007-12-06 00:39:12 UTC (rev 798) @@ -287,6 +287,8 @@ // Cmd_AddCommand ("timerefresh", SCR_TimeRefresh_f); + SCR_InitCinematic (); + scr_initialized = qtrue; } @@ -537,7 +539,7 @@ } // if a cinematic is supposed to be running, handle menus // and console specially - else if (cl.cin.time > 0) + else if (SCR_GetCinematicTime() > 0) { SCR_DrawCinematic (); } Modified: trunk/qfusion/source/client/client.h =================================================================== --- trunk/qfusion/source/client/client.h 2007-12-05 23:15:09 UTC (rev 797) +++ trunk/qfusion/source/client/client.h 2007-12-06 00:39:12 UTC (rev 798) @@ -23,7 +23,6 @@ #include "../ref_gl/r_public.h" #include "../cgame/cg_public.h" -#include "cin.h" #include "vid.h" #include "sound.h" #include "input.h" @@ -66,8 +65,8 @@ // is rendering at. always <= cls.realtime // - // non-gameserver infornamtion - cinematics_t cin; + // non-gameserver information + void *cin; // // server state information @@ -183,6 +182,8 @@ // // cl_cin.c // +void SCR_InitCinematic (void); +unsigned int SCR_GetCinematicTime (void); void SCR_PlayCinematic (char *name); qboolean SCR_DrawCinematic (void); void SCR_RunCinematic (void); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |