您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ FS_FOpenFile函数代码示例

51自学网 2021-06-01 20:43:34
  C++
这篇教程C++ FS_FOpenFile函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中FS_FOpenFile函数的典型用法代码示例。如果您正苦于以下问题:C++ FS_FOpenFile函数的具体用法?C++ FS_FOpenFile怎么用?C++ FS_FOpenFile使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了FS_FOpenFile函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: WriteCache

static void WriteCache( void ) {    char buffer[MAX_OSPATH];    qhandle_t f;    int i;    char *map, *pov;    demoEntry_t *e;    size_t len;    if( m_demos.list.numItems == m_demos.numDirs ) {        return;    }    len = Q_concat( buffer, sizeof( buffer ), m_demos.browse, "/" COM_DEMOCACHE_NAME, NULL );    if( len >= sizeof( buffer ) ) {        return;    }    FS_FOpenFile( buffer, &f, FS_MODE_WRITE );    if( !f ) {        return;    }    for( i = 0; i < 16; i++ ) {        FS_FPrintf( f, "%02x", m_demos.hash[i] );    }    FS_FPrintf( f, "//" );    for( i = m_demos.numDirs; i < m_demos.list.numItems; i++ ) {        e = m_demos.list.items[i];        map = UI_GetColumn( e->name, COL_MAP );        pov = UI_GetColumn( e->name, COL_POV );        FS_FPrintf( f, "%s//%s//", map, pov );    }    FS_FCloseFile( f );}
开发者ID:Bad-ptr,项目名称:q2pro,代码行数:34,


示例2: SV_RunGameFrame

/*static qboolean SV_RunGameFrame( int msec ){int extraTime = 0;static unsigned int accTime = 0;accTime += msec;// move autonomous things around if enough time has passedif( svs.gametime < sv.nextSnapTime ){if( svs.gametime + svc.snapFrameTime < sv.nextSnapTime ){if( sv_showclamp->integer )Com_Printf( "sv lowclamp/n" );sv.nextSnapTime = svs.gametime + svc.snapFrameTime;return qfalse;}// see if it's time to advance the worldif( accTime >= WORLDFRAMETIME ){if( host_speeds->integer )time_before_game = Sys_Milliseconds();ge->RunFrame( WORLDFRAMETIME, svs.gametime );if( host_speeds->integer )time_after_game = Sys_Milliseconds();accTime = accTime - WORLDFRAMETIME;}if( !SV_SendClientsFragments() ){// FIXME: gametime might slower/faster than real timeif( dedicated->integer ){socket_t *sockets[] = { &svs.socket_udp, NULL };NET_Sleep( min( WORLDFRAMETIME - accTime, sv.nextSnapTime - svs.gametime ), sockets );}}return qfalse;}if( sv.nextSnapTime <= svs.gametime ){extraTime = (int)( svs.gametime - sv.nextSnapTime );}if( extraTime >= msec )extraTime = msec - 1;sv.nextSnapTime = ( svs.gametime + svc.snapFrameTime ) - extraTime;// Execute all clients pending move commandsif( accTime ){ge->RunFrame( accTime, svs.gametime );accTime = 0;}// update ping based on the last known frame from all clientsSV_CalcPings();sv.framenum++;ge->SnapFrame();return qtrue;}*/static void SV_CheckDefaultMap( void ){	if( svc.autostarted )		return;	svc.autostarted = qtrue;	if( dedicated->integer )	{		if( sv.state == ss_dead && !strlen( sv.mapname ) )        {            int filehandle;            if( sv_write_defaultmap && sv_write_defaultmap->integer && FS_FOpenFile( "defaultmap", &filehandle, FS_READ ) != -1 )            {                static char buffer[MAX_QPATH];                buffer[0] = '/0';                FS_Read( buffer, MAX_QPATH - 1, filehandle );                FS_FCloseFile( filehandle );                if( buffer[0] )                {                    Cbuf_ExecuteText( EXEC_APPEND, va( "map %s/n", buffer ) );                    return;                }            }            if( sv_defaultmap && strlen( sv_defaultmap->string ) )                Cbuf_ExecuteText( EXEC_APPEND, va( "map %s/n", sv_defaultmap->string ) );        }	}}
开发者ID:hettoo,项目名称:racesow,代码行数:99,


示例3: Com_DPrintf

// returns static string of md5 contentsconst char *MM_PasswordRead( const char *user ){	static char buffer[MAX_STRING_CHARS];	const char *filename;	int filenum;	size_t bytes;	Com_DPrintf( "MM_PasswordRead %s/n", user );	filename = mm_passwordFilename( user );	if( FS_FOpenFile( filename, &filenum, FS_READ ) == -1 )	{		Com_Printf( "MM_PasswordRead: Couldnt open file %s/n", filename);		return NULL;	}	bytes = FS_Read(buffer, sizeof( buffer ) - 1,  filenum );	FS_FCloseFile( filenum );	if( bytes == 0 || bytes >= sizeof(buffer) - 1 )		return NULL;	buffer[bytes] = '/0';	return buffer;}
开发者ID:Turupawn,项目名称:DogeWarsow,代码行数:27,


示例4: CL_CheckOrDownloadFile

/** CL_CheckOrDownloadFile* * Returns true if the file exists or couldn't send download request* Files with .pk3 or .pak extension have to have gamedir attached* Other files must not have gamedir*/qboolean CL_CheckOrDownloadFile( const char *filename ){	const char *ext;	if( !cl_downloads->integer )		return qtrue;	if( !COM_ValidateRelativeFilename( filename ) )		return qtrue;	ext = COM_FileExtension( filename );	if( !ext || !*ext )		return qtrue;	if( FS_CheckPakExtension( filename ) )	{		if( FS_FOpenBaseFile( filename, NULL, FS_READ ) != -1 )			return qtrue;	}	else	{		if( FS_FOpenFile( filename, NULL, FS_READ ) != -1 )			return qtrue;	}	if( !CL_DownloadRequest( filename, qtrue ) )		return qtrue;	cls.download.requestnext = qtrue; // call CL_RequestNextDownload when done	return qfalse;}
开发者ID:Turupawn,项目名称:DogeWarsow,代码行数:39,


示例5: wswcurl_write

static size_t wswcurl_write(void *ptr, size_t size, size_t nmemb, void *stream){    wswcurl_req *req = (wswcurl_req*)stream;    if (!req->filename) {        // Reallocate buffer        req->rxdata = WREALLOC(req->rxdata, req->rxsize + (size * nmemb) + 1);        // Set remaining data to 0        memset(&(req->rxdata[req->rxsize]), 0, (size * nmemb));        // Copy received data        memcpy(&(req->rxdata[req->rxsize]), ptr, size*nmemb);        // Recalculate size        req->rxsize += size*nmemb;        // Add trailing NULL byte at the end to prevent string overflow        req->rxdata[req->rxsize] = '/0';    } else {        // Receive to the filename.        // TODO: FILE RESUMING??#ifndef WSWCURL_TEST_MAIN        if ( (req->filenum < 0) && ( FS_FOpenFile( req->filename, &(req->filenum), FS_WRITE ) < 0 ) ) {            return 0; // RETURN ERROR        }        FS_Write(ptr, size * nmemb, req->filenum);#else        // TODO: IMPLEMENT TEST#endif    }    // Mark connection as having had activity.    req->activity = 1;    if (req->callback_progress) {        // Execute progress callback        // ??? What to return when expected size is unknown? - currently, return 0.0        req->callback_progress(req, ( req->rx_expsize < 0 ) ? 0.0 : (req->rxsize / req->rx_expsize) * 100.0);    }    return size*nmemb;}
开发者ID:Racenet,项目名称:racesow,代码行数:35,


示例6: FS_LoadFile

/* * Filename are reletive to the quake search path. A null buffer will just * return the file length without loading. */intFS_LoadFile(char *path, void **buffer){	byte *buf; /* Buffer. */	int size; /* File size. */	fileHandle_t f; /* File handle. */	buf = NULL;	size = FS_FOpenFile(path, &f, FS_READ);	if (size <= 0)	{		if (buffer)		{			*buffer = NULL;		}		return size;	}	if (buffer == NULL)	{		FS_FCloseFile(f);		return size;	}	buf = Z_Malloc(size);	*buffer = buf;	FS_Read(buf, size, f);	FS_FCloseFile(f);	return size;}
开发者ID:Jenco420,项目名称:yquake2,代码行数:38,


示例7: SV_ReadLevelFile

voidSV_ReadLevelFile(void){	char name[MAX_OSPATH];	fileHandle_t f;	Com_DPrintf("SV_ReadLevelFile()/n");	Com_sprintf(name, sizeof(name), "save/current/%s.sv2", sv.name);	FS_FOpenFile(name, &f, FS_READ);	if (!f)	{		Com_Printf("Failed to open %s/n", name);		return;	}	FS_Read(sv.configstrings, sizeof(sv.configstrings), f);	CM_ReadPortalState(f);	FS_FCloseFile(f);	Com_sprintf(name, sizeof(name), "%s/save/current/%s.sav",				FS_Gamedir(), sv.name);	ge->ReadLevel(name);}
开发者ID:bradc6,项目名称:yquake2,代码行数:25,


示例8: FS_LoadFile

/*============FS_LoadFileFilename are reletive to the quake search patha null buffer will just return the file length without loading============*/int FS_LoadFile(char *path, void **buffer){	FILE	*h;	byte	*buf;	int		len;	buf = NULL;	// quiet compiler warning	// look for it in the filesystem or pack files	len = FS_FOpenFile(path, &h);	if (!h)	{		if (buffer)			*buffer = NULL;		return -1;	}	if (!buffer)	{		fclose(h);		return len;	}	buf = Z_Malloc(len);	*buffer = buf;	FS_Read(buf, len, h);	fclose(h);	return len;}
开发者ID:qbism,项目名称:qbq2,代码行数:40,


示例9: Prompt_LoadHistory

void Prompt_LoadHistory( commandPrompt_t *prompt, const char *filename ) {    char buffer[MAX_FIELD_TEXT];    qhandle_t f;    int i;    ssize_t len;    FS_FOpenFile( filename, &f, FS_MODE_READ|FS_TYPE_REAL|FS_PATH_BASE );    if( !f ) {        return;    }    for( i = 0; i < HISTORY_SIZE; i++ ) {        if( ( len = FS_ReadLine( f, buffer, sizeof( buffer ) ) ) < 1 ) {            break;        }        if( prompt->history[i] ) {            Z_Free( prompt->history[i] );        }        prompt->history[i] = memcpy( Z_Malloc( len + 1 ), buffer, len + 1 );    }    FS_FCloseFile( f );    prompt->historyLineNum = i;    prompt->inputLineNum = i;}
开发者ID:Bad-ptr,项目名称:q2pro,代码行数:26,


示例10: Prompt_SaveHistory

void Prompt_SaveHistory( commandPrompt_t *prompt, const char *filename, int lines ) {    qhandle_t f;    char *s;    int i;    FS_FOpenFile( filename, &f, FS_MODE_WRITE|FS_PATH_BASE );    if( !f ) {        return;    }    if( lines > HISTORY_SIZE ) {        lines = HISTORY_SIZE;    }    i = prompt->inputLineNum - lines;    if( i < 0 ) {        i = 0;    }    for( ; i < prompt->inputLineNum; i++ ) {        s = prompt->history[i & HISTORY_MASK];        if( s ) {            FS_FPrintf( f, "%s/n", s );        }    }    FS_FCloseFile( f );}
开发者ID:Bad-ptr,项目名称:q2pro,代码行数:27,


示例11: read_binary_file

static int read_binary_file(const char *name){    qhandle_t f;    size_t len;    len = FS_FOpenFile(name, &f, FS_MODE_READ | FS_TYPE_REAL | FS_PATH_GAME);    if (!f)        return -1;    if (len > MAX_MSGLEN)        goto fail;    if (FS_Read(msg_read_buffer, len, f) != len)        goto fail;    SZ_Init(&msg_read, msg_read_buffer, len);    msg_read.cursize = len;    FS_FCloseFile(f);    return 0;fail:    FS_FCloseFile(f);    return -1;}
开发者ID:jdolan,项目名称:q2pro,代码行数:25,


示例12: SNAP_WriteDemoMetaData

/** SNAP_WriteDemoMetaData*/void SNAP_WriteDemoMetaData( const char *filename, const char *meta_data, size_t meta_data_realsize ){	unsigned i;	unsigned v;	char tmpn[256];	int filenum, filelen;	msg_t msg;	uint8_t msg_buffer[MAX_MSGLEN];	void *compressed_msg;	MSG_Init( &msg, msg_buffer, sizeof( msg_buffer ) );	// write to a temp file	v = 0;	for( i = 0; filename[i]; i++ ) {		v = ( v + i ) * 37 + tolower( filename[i] ); // case insensitivity	}	Q_snprintfz( tmpn, sizeof( tmpn ), "%u.tmp", v );	if( FS_FOpenFile( tmpn, &filenum, FS_WRITE|SNAP_DEMO_GZ ) == -1 ) {		return;	}	SNAP_DemoMetaDataMessage( &msg, meta_data, meta_data_realsize );	SNAP_RecordDemoMetaDataMessage( filenum, &msg );	// now open the original file in update mode and overwrite metadata	// important note: we need to the load the temp file before closing it	// because in the case of gz compression, closing the file may actually	// write some data we don't want to copy	filelen = FS_LoadFile( tmpn, &compressed_msg, NULL, 0 );	if( compressed_msg ) {		int origfile;		if( FS_FOpenFile( filename, &origfile, FS_READ|FS_UPDATE ) != -1 ) {			FS_Write( compressed_msg, filelen, origfile );			FS_FCloseFile( origfile );		}		FS_FreeFile( compressed_msg );	}	FS_FCloseFile( filenum );	FS_RemoveFile( tmpn );}
开发者ID:Clever-Boy,项目名称:qfusion,代码行数:50,


示例13: CL_ReadServerCache

/** CL_ReadServerCache*/void CL_ReadServerCache( void ){	int filelen, filehandle;	qbyte *buf = NULL;	char *ptr, *token;	netadr_t adr;	char adrString[64];	qboolean favorite = qfalse;	filelen = FS_FOpenFile( SERVERSFILE, &filehandle, FS_READ );	if( !filehandle || filelen < 1 )	{		FS_FCloseFile( filehandle );	}	else	{		buf = Mem_TempMalloc( filelen + 1 );		filelen = FS_Read( buf, filelen, filehandle );		FS_FCloseFile( filehandle );	}	if( !buf )		return;	ptr = ( char * )buf;	while( ptr )	{		token = COM_ParseExt( &ptr, qtrue );		if( !token[0] )			break;		if( !Q_stricmp( token, "master" ) )		{			favorite = qfalse;			continue;		}		if( !Q_stricmp( token, "favorites" ) )		{			favorite = qtrue;			continue;		}		if( NET_StringToAddress( token, &adr ) )		{			Q_strncpyz( adrString, token, sizeof( adrString ) );			token = COM_ParseExt( &ptr, qfalse );			if( !token[0] )				continue;			if( favorite )				CL_AddServerToList( &favoritesList, adrString, (unsigned int)atoi( token ) );			else				CL_AddServerToList( &masterList, adrString, (unsigned int)atoi( token ) );		}	}	Mem_TempFree( buf );}
开发者ID:codetwister,项目名称:qfusion,代码行数:62,


示例14: S_OpenBackgroundTrack

/*=================S_OpenBackgroundTrack=================*/static qboolean S_OpenBackgroundTrack (char *name, bgTrack_t *track){	OggVorbis_File	*vorbisFile;	vorbis_info		*vorbisInfo;	ov_callbacks	vorbisCallbacks = {ovc_read, ovc_seek, ovc_close, ovc_tell};#ifdef OGG_DIRECT_FILE	char	filename[1024];	char	*path = NULL;#endif//	Com_Printf("Opening background track: %s/n", name);#ifdef OGG_DIRECT_FILE	do {		path = FS_NextPath( path );		Com_sprintf( filename, sizeof(filename), "%s/%s", path, name );		if ( (track->file = fopen(filename, "rb")) != 0)			break;	} while ( path );#else	FS_FOpenFile(name, &track->file);#endif	if (!track->file)	{		Com_Printf("S_OpenBackgroundTrack: couldn't find %s/n", name);		return false;	}	track->vorbisFile = vorbisFile = Z_Malloc(sizeof(OggVorbis_File));//	Com_Printf("Opening callbacks for background track/n");	// bombs out here- ovc_read, FS_Read 0 bytes error	if (ov_open_callbacks(track, vorbisFile, NULL, 0, vorbisCallbacks) < 0)	{		Com_Printf("S_OpenBackgroundTrack: couldn't open OGG stream (%s)/n", name);		return false;	}//	Com_Printf("Getting info for background track/n");	vorbisInfo = ov_info(vorbisFile, -1);	if (vorbisInfo->channels != 1 && vorbisInfo->channels != 2)	{		Com_Printf("S_OpenBackgroundTrack: only mono and stereo OGG files supported (%s)/n", name);		return false;	}	track->start = ov_raw_tell(vorbisFile);	track->rate = vorbisInfo->rate;	track->width = 2;	track->channels = vorbisInfo->channels; // Knightmare added	track->format = (vorbisInfo->channels == 2) ? AL_FORMAT_STEREO16 : AL_FORMAT_MONO16;//	Com_Printf("Vorbis info: frequency: %i channels: %i bitrate: %i/n",//		vorbisInfo->rate, vorbisInfo->channels, vorbisInfo->bitrate_nominal);	return true;}
开发者ID:qbism,项目名称:Quake2-colored-refsoft,代码行数:64,


示例15: SV_BeginDemoserver

/*==================SV_BeginDemoServer==================*/void SV_BeginDemoserver(void){	char	name[MAX_OSPATH];	Com_sprintf(name, sizeof(name), "demos/%s", sv.name);	FS_FOpenFile(name, &sv.demofile);	if(!sv.demofile)		Com_Error(ERR_DROP, "Couldn't open %s/n", name);}
开发者ID:luaman,项目名称:qforge-2,代码行数:13,


示例16: Con_Dump_f

/** Con_Dump_f** Save the console contents out to a file*/static void Con_Dump_f( void ){    int file;    size_t buffer_size;    char *buffer;    size_t name_size;    char *name;    const char *newline = "/r/n";    if( !con_initialized )        return;    if( Cmd_Argc() != 2 )    {        Com_Printf( "usage: condump <filename>/n" );        return;    }    name_size = sizeof( char ) * ( strlen( Cmd_Argv( 1 ) ) + strlen( ".txt" ) + 1 );    name = Mem_TempMalloc( name_size );    Q_strncpyz( name, Cmd_Argv( 1 ), name_size );    COM_DefaultExtension( name, ".txt", name_size );    COM_SanitizeFilePath( name );    if( !COM_ValidateRelativeFilename( name ) )    {        Com_Printf( "Invalid filename./n" );        Mem_TempFree( name );        return;    }    if( FS_FOpenFile( name, &file, FS_WRITE ) == -1 )    {        Com_Printf( "Couldn't open: %s/n", name );        Mem_TempFree( name );        return;    }    buffer_size = Con_BufferText( NULL, newline ) + 1;    buffer = Mem_TempMalloc( buffer_size );    Con_BufferText( buffer, newline );    FS_Write( buffer, buffer_size - 1, file );    FS_FCloseFile( file );    Mem_TempFree( buffer );    Com_Printf( "Dumped console text: %s/n", name );    Mem_TempFree( name );}
开发者ID:Turupawn,项目名称:DogeWarsow,代码行数:58,


示例17: strchr

struct sfx_s *S_RegisterSexedSound (entity_state_t *ent, char *base){	int				n;	char			*p;	struct sfx_s	*sfx;	FILE			*f;	char			model[MAX_QPATH];	char			sexedFilename[MAX_QPATH];	char			maleFilename[MAX_QPATH];	// determine what model the client is using	model[0] = 0;	n = CS_PLAYERSKINS + ent->number - 1;	if (cl.configstrings[n][0])	{		p = strchr(cl.configstrings[n], '//');		if (p)		{			p += 1;			strcpy(model, p);			p = strchr(model, '/');			if (p)				*p = 0;		}	}	// if we can't figure it out, they're male	if (!model[0])		strcpy(model, "male");	// see if we already know of the model specific sound	Com_sprintf (sexedFilename, sizeof(sexedFilename), "#players/%s/%s", model, base+1);	sfx = S_FindName (sexedFilename, false);	if (!sfx)	{		// no, so see if it exists		FS_FOpenFile (&sexedFilename[1], &f);		if (f)		{			// yes, close the file and register it			FS_FCloseFile (f);			sfx = S_RegisterSound (sexedFilename);		}		else		{			// no, revert to the male sound in the pak0.pak			Com_sprintf (maleFilename, sizeof(maleFilename), "player/%s/%s", "male", base+1);			sfx = S_AliasName (sexedFilename, maleFilename);		}	}	return sfx;}
开发者ID:qbism,项目名称:Quake2-colored-refsoft,代码行数:53,


示例18: ML_Restart

/** ML_Restart* Restart map list stuff*/void ML_Restart( bool forcemaps ){	ML_Shutdown();	if( forcemaps )	{		int filenum;		if( FS_FOpenFile( MLIST_CACHE, &filenum, FS_WRITE|FS_CACHE ) != -1 )			FS_FCloseFile( filenum );	}	FS_Rescan();	ML_Init();}
开发者ID:Clever-Boy,项目名称:qfusion,代码行数:16,


示例19: CL_DownloadRequest

/** CL_DownloadRequest* * Request file download* return qfalse if couldn't request it for some reason* Files with .pk3 or .pak extension have to have gamedir attached* Other files must not have gamedir*/qboolean CL_DownloadRequest( const char *filename, qboolean requestpak ){	if( cls.download.requestname )	{		Com_Printf( "Can't download: %s. Download already in progress./n", filename );		return qfalse;	}	if( !COM_ValidateRelativeFilename( filename ) )	{		Com_Printf( "Can't download: %s. Invalid filename./n", filename );		return qfalse;	}	if( FS_CheckPakExtension( filename ) )	{		if( FS_FOpenBaseFile( filename, NULL, FS_READ ) != -1 )		{			Com_Printf( "Can't download: %s. File already exists./n", filename );			return qfalse;		}		if( !Q_strnicmp( COM_FileBase( filename ), "modules", strlen( "modules" ) ) )		{			if( !CL_CanDownloadModules() )				return qfalse;		}	}	else	{		if( FS_FOpenFile( filename, NULL, FS_READ ) != -1 )		{			Com_Printf( "Can't download: %s. File already exists./n", filename );			return qfalse;		}	}	if( cls.socket->type == SOCKET_LOOPBACK )	{		Com_DPrintf( "Can't download: %s. Loopback server./n", filename );		return qfalse;	}	Com_Printf( "Asking to download: %s/n", filename );	cls.download.requestpak = requestpak;	cls.download.requestname = Mem_ZoneMalloc( sizeof( char ) * ( strlen( filename ) + 1 ) );	Q_strncpyz( cls.download.requestname, filename, sizeof( char ) * ( strlen( filename ) + 1 ) );	cls.download.timeout = Sys_Milliseconds() + 5000;	CL_AddReliableCommand( va( "download %i /"%s/"", requestpak, filename ) );	return qtrue;}
开发者ID:Turupawn,项目名称:DogeWarsow,代码行数:61,


示例20: SV_ReadServerFile

voidSV_ReadServerFile(void){	fileHandle_t f;	char name[MAX_OSPATH], string[128];	char comment[32];	char mapcmd[MAX_TOKEN_CHARS];	Com_DPrintf("SV_ReadServerFile()/n");	Com_sprintf(name, sizeof(name), "save/current/server.ssv");	FS_FOpenFile(name, &f, FS_READ);	if (!f)	{		Com_Printf("Couldn't read %s/n", name);		return;	}	/* read the comment field */	FS_Read(comment, sizeof(comment), f);	/* read the mapcmd */	FS_Read(mapcmd, sizeof(mapcmd), f);	/* read all CVAR_LATCH cvars	   these will be things like 	   coop, skill, deathmatch, etc */	while (1)	{		char cvarname[LATCH_CVAR_SAVELENGTH] = {0};		if (!FS_FRead(cvarname, 1, sizeof(cvarname), f))		{			break;		}		FS_Read(string, sizeof(string), f);		Com_DPrintf("Set %s = %s/n", cvarname, string);		Cvar_ForceSet(cvarname, string);	}	FS_FCloseFile(f);	/* start a new game fresh with new cvars */	SV_InitGame();	strcpy(svs.mapcmd, mapcmd);	/* read game state */	Com_sprintf(name, sizeof(name), "%s/save/current/game.ssv", FS_Gamedir());	ge->ReadGame(name);}
开发者ID:bradc6,项目名称:yquake2,代码行数:52,


示例21: CL_WriteServerCache

/** CL_WriteServerCache*/void CL_WriteServerCache( void ){	serverlist_t *server;	int filehandle;	char str[256];	netadr_t adr;	if( FS_FOpenFile( SERVERSFILE, &filehandle, FS_WRITE ) == -1 )	{		Com_Printf( "CL_WriteServerList: Couldn't create the cache file/n" );		return;	}	Q_snprintfz( str, sizeof( str ), "// servers cache file generated by %s. Do not modify/n", APPLICATION );	FS_Print( filehandle, str );	FS_Print( filehandle, "master/n" );	server = masterList;	while( server )	{		if( server->lastValidPing + 7 > Com_DaysSince1900() )		{			if( NET_StringToAddress( server->address, &adr ) )			{				Q_snprintfz( str, sizeof( str ), "%s %i/n", server->address, (int)server->lastValidPing );				FS_Print( filehandle, str );			}		}		server = server->pnext;	}	FS_Print( filehandle, "favorites/n" );	server = favoritesList;	while( server )	{		if( server->lastValidPing + 7 > Com_DaysSince1900() )		{			if( NET_StringToAddress( server->address, &adr ) )			{				Q_snprintfz( str, sizeof( str ), "%s %i/n", server->address, (int)server->lastValidPing );				FS_Print( filehandle, str );			}		}		server = server->pnext;	}	FS_FCloseFile( filehandle );}
开发者ID:codetwister,项目名称:qfusion,代码行数:53,


示例22: FS_FileExists

qbooleanFS_FileExists(char *path){	fileHandle_t f;	FS_FOpenFile(path, &f, FS_READ);	if (f != 0)	{		FS_FCloseFile(f);		return true;	}	return false;}
开发者ID:Jenco420,项目名称:yquake2,代码行数:15,


示例23: SV_FilenameForDownloadRequest

static qboolean SV_FilenameForDownloadRequest( const char *requestname, qboolean requestpak,	const char **uploadname, const char **errormsg ){	if( FS_CheckPakExtension( requestname ) )	{		if( !requestpak )		{			*errormsg = "Pak file requested as a non pak file";			return qfalse;		}		if( FS_FOpenBaseFile( requestname, NULL, FS_READ ) == -1 )		{			*errormsg = "File not found";			return qfalse;		}		*uploadname = requestname;	}	else	{		if( FS_FOpenFile( requestname, NULL, FS_READ ) == -1 )		{			*errormsg = "File not found";			return qfalse;		}		// check if file is inside a PAK		if( requestpak )		{			*uploadname = FS_PakNameForFile( requestname );			if( !*uploadname )			{				*errormsg = "File not available in pack";				return qfalse;			}		}		else		{			*uploadname = FS_BaseNameForFile( requestname );			if( !*uploadname )			{				*errormsg = "File only available in pack";				return qfalse;			}		}	}	return qtrue;}
开发者ID:codetwister,项目名称:qfusion,代码行数:48,


示例24: SCR_PlayCinematic

/** SCR_PlayCinematic*/static void SCR_PlayCinematic( char *arg ){	int len;	size_t name_size;	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;	cin->name = Mem_ZoneMalloc( name_size );	Q_snprintfz( cin->name, name_size, "video/%s", arg );	COM_DefaultExtension( cin->name, ".roq", name_size );	// nasty hack	cin->s_rate = 22050;	cin->s_width = 2;	cin->width = cin->height = 0;	cin->frame = 0;	len = FS_FOpenFile( cin->name, &cin->file, FS_READ );	if( !cin->file || len < 1 )	{		Com_Printf( "Couldn't find %s/n", cin->name );		SCR_StopCinematic();		return;	}	// read header	RoQ_ReadChunk( cin );	if( chunk->id != RoQ_HEADER1 || chunk->size != RoQ_HEADER2 || chunk->argument != RoQ_HEADER3 )	{		Com_Printf( "Invalid video file %s/n", cin->name );		SCR_StopCinematic();		return;	}	SCR_EndLoadingPlaque();	cin->headerlen = FS_Tell( cin->file );	cin->frame = 0;	cin->pic = cin->pic_pending = SCR_ReadNextCinematicFrame();	cin->time = cls.realtime + 1; // add 1 msec so SCR_GetCinematicTime is also valid for early commands	CL_SetClientState( CA_ACTIVE );	CL_SoundModule_StopAllSounds();}
开发者ID:Racenet,项目名称:racesow,代码行数:51,


示例25: SV_ReadServerFile

/*==============SV_ReadServerFile==============*/void SV_ReadServerFile (void){	fileHandle_t	f;	char	fileName[MAX_OSPATH], varName[128], string[128];	char	comment[32];	char	mapcmd[MAX_TOKEN_CHARS];	Com_DPrintf("SV_ReadServerFile()/n");	Com_sprintf (fileName, sizeof(fileName), "save/current/server.ssv");	FS_FOpenFile (fileName, &f, FS_READ);	if (!f)	{		Com_Printf ("Couldn't read %s/n", fileName);		return;	}	// read the comment field	FS_Read (comment, sizeof(comment), f);	// read the mapcmd	FS_Read (mapcmd, sizeof(mapcmd), f);	// read all CVAR_LATCH cvars	// these will be things like coop, skill, deathmatch, etc	while (1)	{		if (!FS_FRead (varName, 1, sizeof(varName), f))			break;		FS_Read (string, sizeof(string), f);		Com_DPrintf ("Set %s = %s/n", varName, string);		Cvar_ForceSet (varName, string);	}	FS_FCloseFile(f);	// start a new game fresh with new cvars	SV_InitGame ();//	strncpy (svs.mapcmd, mapcmd);	Q_strncpyz (svs.mapcmd, mapcmd, sizeof(svs.mapcmd));	// read game state	Com_sprintf (fileName, sizeof(fileName), "%s/save/current/game.ssv", FS_Gamedir());	ge->ReadGame (fileName);}
开发者ID:Kiln707,项目名称:KMQuake2,代码行数:51,


示例26: SV_Map_f

//handle a map <mapname> command from the console or progs.void SV_Map_f (void) {	char level[MAX_QPATH], expanded[MAX_QPATH];#ifndef WITH_FTE_VFS	FILE *f;#else	vfsfile_t *f;#endif	qbool devmap;	if (Cmd_Argc() != 2) {		Com_Printf ("%s <levelname> : continue game on a new level/n", Cmd_Argv(0));		return;	}	devmap = !strcasecmp (Cmd_Argv(0), "devmap");	strlcpy (level, Cmd_Argv(1), sizeof(level));	// check to make sure the level exists	snprintf (expanded, sizeof(expanded), "maps/%s.bsp", level);#ifndef WITH_FTE_VFS	if (FS_FOpenFile (expanded, &f) == -1) {		Com_Printf ("Can't find %s/n", expanded);		return;	}	fclose (f);#else	if (!(f = FS_OpenVFS(expanded, "rb", FS_ANY))) {		Com_Printf ("Can't find %s/n", expanded);		return;	}	VFS_CLOSE(f);#endif // WITH_FTE_VFS#ifndef SERVERONLY	if (!dedicated)		CL_BeginLocalConnection ();#endif	SV_BroadcastCommand ("changing/n");	SV_SendMessagesToAll ();	SV_SpawnServer (level, devmap);	SV_BroadcastCommand ("reconnect/n");}
开发者ID:jogi1,项目名称:camquake,代码行数:45,


示例27: ReadTextureSurfaceAssignments

void ReadTextureSurfaceAssignments(){	char	filename[MAX_OSPATH];	FILE	*f;	char	line[80];	num_texsurfs = 0;	Com_sprintf (filename, sizeof(filename), "texsurfs.txt");	FS_FOpenFile (filename, &f);	if (!f) return;	while (fgets(line, sizeof(line), f) && num_texsurfs < MAX_TEX_SURF)	{		sscanf(line,"%d %s",&tex_surf[num_texsurfs].step_id,tex_surf[num_texsurfs].tex);		//Com_Printf("%d %s/n",tex_surf[num_texsurfs].step_id,tex_surf[num_texsurfs].tex);		num_texsurfs++;	}	fclose(f);}
开发者ID:n1ckn4m3,项目名称:kmquake2megacoop,代码行数:19,


示例28: FS_LoadFile

/*============FS_LoadFileFilename are reletive to the quake search patha null buffer will just return the file length without loading============*/int EXPORT FS_LoadFile (const char *path, void /*@[email
C++ FS_FOpenFileByMode函数代码示例
C++ FS_FCloseFile函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。