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

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

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

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

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

示例1: SV_LoadGame_f

/*=================SV_LoadGame_f=================*/void    SV_LoadGame_f( void ) {	char filename[MAX_QPATH], mapname[MAX_QPATH];	byte *buffer;	int size;	Q_strncpyz( filename, Cmd_Argv( 1 ), sizeof( filename ) );	if ( !filename[0] ) {		Com_Printf( "You must specify a savegame to load/n" );		return;	}	if ( Q_strncmp( filename, "save/", 5 ) && Q_strncmp( filename, "save//", 5 ) ) {		Q_strncpyz( filename, va( "save/%s", filename ), sizeof( filename ) );	}	if ( !strstr( filename, ".svg" ) ) {		Q_strcat( filename, sizeof( filename ), ".svg" );	}	size = FS_ReadFile( filename, NULL );	if ( size < 0 ) {		Com_Printf( "Can't find savegame %s/n", filename );		return;	}	buffer = Hunk_AllocateTempMemory( size );	FS_ReadFile( filename, (void **)&buffer );	// read the mapname, if it is the same as the current map, then do a fast load	Com_sprintf( mapname, sizeof( mapname ), buffer + sizeof( int ) );	if ( com_sv_running->integer && ( com_frameTime != sv.serverId ) ) {		// check mapname		if ( !Q_stricmp( mapname, sv_mapname->string ) ) {    // same			if ( Q_stricmp( filename, "save/current.svg" ) != 0 ) {				// copy it to the current savegame file				FS_WriteFile( "save/current.svg", buffer, size );			}			Hunk_FreeTempMemory( buffer );			Cvar_Set( "savegame_loading", "2" );  // 2 means it's a restart, so stop rendering until we are loaded			SV_MapRestart_f();  // savegame will be loaded after restart			return;		}	}	Hunk_FreeTempMemory( buffer );	// otherwise, do a slow load	if ( Cvar_VariableIntegerValue( "sv_cheats" ) ) {		Cbuf_ExecuteText( EXEC_APPEND, va( "spdevmap %s", filename ) );	} else {    // no cheats		Cbuf_ExecuteText( EXEC_APPEND, va( "spmap %s", filename ) );	}}
开发者ID:chegestar,项目名称:omni-bot,代码行数:61,


示例2: SV_ChangeMap

static void SV_ChangeMap( qbool cheats ){	const char* map = Cmd_Argv(1);	if ( !map ) {		return;	}	// make sure the level exists before trying to change	// so that a typo at the server console won't end the game	const char* mapfile = va( "maps/%s.bsp", map );	if ( FS_ReadFile( mapfile, NULL ) == -1 ) {		Com_Printf( "Can't find map %s/n", mapfile );		return;	}	// force latched values to get set	Cvar_Get( "g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH );	// save the map name here cause on a map restart we reload the q3config.cfg	// and thus nuke the arguments of the map command	char mapname[MAX_QPATH];	Q_strncpyz( mapname, map, sizeof(mapname) );	// start up the map	SV_SpawnServer( mapname );	Cvar_Set( "sv_cheats", cheats ? "1" : "0" );}
开发者ID:ShaneIsley,项目名称:challengeq3,代码行数:28,


示例3: Cmd_Exec_f

/*===============Cmd_Exec_f===============*/void Cmd_Exec_f( void ) {	qboolean quiet;	union {		char	*c;		void	*v;	} f;	char	filename[MAX_QPATH];	quiet = !Q_stricmp(Cmd_Argv(0), "execq");	if (Cmd_Argc () != 2) {		Com_Printf ("exec%s <filename> : execute a script file%s/n",		            quiet ? "q" : "", quiet ? " without notification" : "");		return;	}	Q_strncpyz( filename, Cmd_Argv(1), sizeof( filename ) );	COM_DefaultExtension( filename, sizeof( filename ), ".cfg" );	FS_ReadFile( filename, &f.v);	if (!f.c) {		Com_Printf ("couldn't exec %s/n", filename);		return;	}	if (!quiet)		Com_Printf ("execing %s/n", filename);		Cbuf_InsertText (f.c);	FS_FreeFile (f.v);}
开发者ID:darklegion,项目名称:tremulous,代码行数:35,


示例4: Java_xreal_Engine_readFile

/* * Class:     xreal_Engine * Method:    readFile * Signature: (Ljava/lang/String;)[B */jbyteArray JNICALL Java_xreal_Engine_readFile(JNIEnv *env, jclass cls, jstring jfileName){	char           *fileName;	jbyteArray		array;	int				length;	byte           *buf;	fileName = (char *)((*env)->GetStringUTFChars(env, jfileName, 0));	length = FS_ReadFile(fileName, (void **)&buf);	if(!buf)	{		return NULL;	}	//Com_Printf("Java_xreal_Engine_readFile: file '%s' has length = %i/n", filename, length);	array = (*env)->NewByteArray(env, length);	(*env)->SetByteArrayRegion(env, array, 0, length, buf);	(*env)->ReleaseStringUTFChars(env, jfileName, fileName);	FS_FreeFile(buf);	return array;}
开发者ID:redrumrobot,项目名称:dretchstorm,代码行数:31,


示例5: Cmd_Exec_f

/*===============Cmd_Exec_f===============*/void Cmd_Exec_f( void ) {	char	*f;	int		len;	char	filename[MAX_QPATH];	if (Cmd_Argc () != 2) {		Com_Printf ("exec <filename> : execute a script file/n");		return;	}	Q_strncpyz( filename, Cmd_Argv(1), sizeof( filename ) );	COM_DefaultExtension( filename, sizeof( filename ), ".cfg" ); 	len = FS_ReadFile( filename, (void **)&f);	if (!f) {		Com_Printf ("couldn't exec %s/n",Cmd_Argv(1));		return;	}#ifndef FINAL_BUILD	Com_Printf ("execing %s/n",Cmd_Argv(1));#endif	Cbuf_InsertText (f);	FS_FreeFile (f);}
开发者ID:3ddy,项目名称:Jedi-Academy,代码行数:30,


示例6: CLQ2_Download_f

//	Request a download from the serverstatic void CLQ2_Download_f() {	if ( Cmd_Argc() != 2 ) {		common->Printf( "Usage: download <filename>/n" );		return;	}	char filename[ MAX_OSPATH ];	String::Sprintf( filename, sizeof ( filename ), "%s", Cmd_Argv( 1 ) );	if ( strstr( filename, ".." ) ) {		common->Printf( "Refusing to download a path with ../n" );		return;	}	if ( FS_ReadFile( filename, NULL ) != -1 ) {// it exists, no need to download		common->Printf( "File already exists./n" );		return;	}	String::Cpy( clc.downloadName, filename );	common->Printf( "Downloading %s/n", clc.downloadName );	// download to a temp name, and only rename	// to the real name when done, so if interrupted	// a runt file wont be left	String::StripExtension( clc.downloadName, clc.downloadTempName );	String::Cat( clc.downloadTempName, sizeof ( clc.downloadTempName ), ".tmp" );	CL_AddReliableCommand( va( "download %s", clc.downloadName ) );	clc.downloadNumber++;}
开发者ID:janisl,项目名称:jlquake,代码行数:33,


示例7: SV_Map_

//=========================================================// don't call this directly, it should only be called from SV_Map_f() or SV_MapTransition_f()//static void SV_Map_( ForceReload_e eForceReload ) {	char	*map;	char	expanded[MAX_QPATH];	map = Cmd_Argv(1);	if ( !*map ) {		return;	}	// make sure the level exists before trying to change, so that	// a typo at the server console won't end the game	if (strchr (map, '//') ) {		Com_Printf ("Can't have mapnames with a ///n");		return;	}		Com_sprintf (expanded, sizeof(expanded), "maps/%s.bsp", map);	if ( FS_ReadFile (expanded, NULL) == -1 ) {		Com_Printf ("Can't find map %s/n", expanded);		return;	}		if (map[0]!='_')	{		SG_WipeSavegame("auto");	}	SP_Unload(SP_REGISTER_CLIENT);	//clear the previous map srings	SV_SpawnServer( map, eForceReload, qtrue );	// start up the map}
开发者ID:CairnTrenor,项目名称:OpenJK,代码行数:35,


示例8: S_LoadSound

/*==============S_LoadSoundThe filename may be different than sfx->name in the caseof a forced fallback of a player specific sound==============*/bool S_LoadSound( sfx_t *sfx ){	byte	*data;	short	*samples;	wavinfo_t	info;	int		size;	// player specific sounds are never directly loaded	if ( sfx->soundName[0] == '*')		return false;	// load it in	size = FS_ReadFile( sfx->soundName, (void **)&data );	if ( !data ) 		return false;	info = GetWavinfo( sfx->soundName, data, size );	if ( info.channels != 1 ) 	{		Com_Printf ("%s is a stereo wav file/n", sfx->soundName);		FS_FreeFile (data);		return false;	}	if ( info.width == 1 ) 		Com_DPrintf(S_COLOR_YELLOW "WARNING: %s is a 8 bit wav file/n", sfx->soundName);	if ( info.rate != 22050 ) 		Com_DPrintf(S_COLOR_YELLOW "WARNING: %s is not a 22kHz wav file/n", sfx->soundName);	samples = reinterpret_cast<short*>(Hunk_AllocateTempMemory(info.samples * sizeof(short) * 2));	sfx->lastTimeUsed = Com_Milliseconds()+1;	// each of these compression schemes works just fine	// but the 16bit quality is much nicer and with a local	// install assured we can rely upon the sound memory	// manager to do the right thing for us and page	// sound in as needed	if( sfx->soundCompressed == true) 	{		sfx->soundCompressionMethod = 1;		sfx->soundData = NULL;		sfx->soundLength = ResampleSfxRaw( samples, info.rate, info.width, info.samples, (data + info.dataofs) );		S_AdpcmEncodeSound(sfx, samples);	} 	else 	{		sfx->soundCompressionMethod = 0;		sfx->soundLength = info.samples;		sfx->soundData = NULL;		ResampleSfx( sfx, info.rate, info.width, data + info.dataofs, false );	}		Hunk_FreeTempMemory(samples);	FS_FreeFile( data );	return true;}
开发者ID:MilitaryForces,项目名称:MilitaryForces,代码行数:68,


示例9: S_FileExtension

/*=================S_FindCodecForFileSelect an appropriate codec for a file based on its extension=================*/static snd_codec_t *S_FindCodecForFile(const char *filename){	char *ext = S_FileExtension(filename);	snd_codec_t *codec = codecs;	if(!ext)	{		// No extension - auto-detect		while(codec)		{			char fn[MAX_QPATH];			Q_strncpyz(fn, filename, sizeof(fn) - 4);			COM_DefaultExtension(fn, sizeof(fn), codec->ext);			// Check it exists			if(FS_ReadFile(fn, NULL) != -1)				return codec;			// Nope. Next!			codec = codec->next;		}		// Nothin'		return NULL;	}	while(codec)	{		if(!Q_stricmp(ext, codec->ext))			return codec;		codec = codec->next;	}	return NULL;}
开发者ID:ballju,项目名称:SpaceTrader-GPL-1.1.14,代码行数:42,


示例10: FS_InitFilesystem

/*================FS_InitFilesystemCalled only at inital startup, not when the filesystemis resetting due to a game change================*/void FS_InitFilesystem( void ) {	// allow command line parms to override our defaults	// we don't have to specially handle this, because normal command	// line variable sets happen before the filesystem	// has been initialized	//	// UPDATE: BTO (VV)	// we have to specially handle this, because normal command	// line variable sets don't happen until after the filesystem	// has already been initialized	Com_StartupVariable( "fs_cdpath" );	Com_StartupVariable( "fs_basepath" );	Com_StartupVariable( "fs_game" );	Com_StartupVariable( "fs_copyfiles" );	Com_StartupVariable( "fs_restrict" );	// try to start up normally	FS_Startup( BASEGAME );	initialized = qtrue;	// see if we are going to allow add-ons	FS_SetRestrictions();	// if we can't find default.cfg, assume that the paths are	// busted and error out now, rather than getting an unreadable	// graphics screen when the font fails to load	if ( FS_ReadFile( "default.cfg", NULL ) <= 0 ) {		Com_Error( ERR_FATAL, "Couldn't load default.cfg" );	}}
开发者ID:AlexCSilva,项目名称:jediacademy,代码行数:38,


示例11: FS_InitFilesystem

/*================FS_InitFilesystemCalled only at inital startup, not when the filesystemis resetting due to a game change================*/void FS_InitFilesystem( void ) {	// allow command line parms to override our defaults	// we have to specially handle this, because normal command	// line variable sets don't happen until after the filesystem	// has already been initialized	Com_StartupVariable( "fs_cdpath" );	Com_StartupVariable( "fs_basepath" );	Com_StartupVariable( "fs_homepath" );	Com_StartupVariable( "fs_game" );	Com_StartupVariable( "fs_copyfiles" );	Com_StartupVariable( "fs_dirbeforepak" );	if(!FS_FilenameCompare(Cvar_VariableString("fs_game"), BASEGAME))		Cvar_Set("fs_game", "");	// try to start up normally	FS_Startup( BASEGAME );	initialized = qtrue;	// if we can't find default.cfg, assume that the paths are	// busted and error out now, rather than getting an unreadable	// graphics screen when the font fails to load	if ( FS_ReadFile( "mpdefault.cfg", NULL ) <= 0 ) {		Com_Error( ERR_FATAL, "Couldn't load mpdefault.cfg" );		// bk001208 - SafeMode see below, FIXME?	}	Q_strncpyz(lastValidBase, fs_basepath->string, sizeof(lastValidBase));	Q_strncpyz(lastValidGame, fs_gamedirvar->string, sizeof(lastValidGame));  // bk001208 - SafeMode see below, FIXME?}
开发者ID:CaptainSkyhawk,项目名称:OpenJK-VR,代码行数:40,


示例12: Cmd_Exec_f

/*===============Cmd_Exec_f===============*/void Cmd_Exec_f( void ) {    union {        char	*c;        void	*v;    } f;    int		len;    char	filename[MAX_QPATH];    if (Cmd_Argc () != 2) {        Com_Printf ("exec <filename> : execute a script file/n");        return;    }    Q_strncpyz( filename, Cmd_Argv(1), sizeof( filename ) );    COM_DefaultExtension( filename, sizeof( filename ), ".cfg" );    len = FS_ReadFile( filename, &f.v);    if (!f.c) {        Com_Printf ("couldn't exec %s/n",Cmd_Argv(1));        return;    }    Com_Printf ("execing %s/n",Cmd_Argv(1));    Cbuf_InsertText (f.c);    FS_FreeFile (f.v);}
开发者ID:norfenstein,项目名称:umbra,代码行数:31,


示例13: DoFileFindReplace

static qboolean DoFileFindReplace( LPCSTR psMenuFile, LPCSTR psFind, LPCSTR psReplace ){	char *buffer;	OutputDebugString(va("Loading: /"%s/"/n",psMenuFile));	int iLen = FS_ReadFile( psMenuFile,(void **) &buffer);	if (iLen<1) 	{		OutputDebugString("Failed!/n");		assert(0);		return qfalse;	}		// find/rep...	//	string	str(buffer);			str += "/r/n";	// safety for *(char+1) stuff	FS_FreeFile( buffer );	// let go of the buffer	// originally this kept looping for replacements, but now it only does one (since the find/replace args are repeated	//	and this is called again if there are >1 replacements of the same strings to be made...	////	int iReplacedCount = 0;	char *pFound;	int iSearchPos = 0;	while ( (pFound = strstr(str.c_str()+iSearchPos,psFind)) != NULL)	{		// special check, the next char must be whitespace or carriage return etc, or we're not on a whole-word position...		//		int iFoundLoc = pFound - str.c_str();		char cAfterFind = pFound[strlen(psFind)];		if (cAfterFind > 32)		{			// ... then this string was part of a larger one, so ignore it...			//			iSearchPos = iFoundLoc+1;			continue;		}				str.replace(iFoundLoc, strlen(psFind), psReplace);//		iSearchPos = iFoundLoc+1;//		iReplacedCount++;		break;	}//	assert(iReplacedCount);//	if (iReplacedCount>1)//	{//		int z=1;//	}	FS_WriteFile( psMenuFile, str.c_str(), strlen(str.c_str()));	OutputDebugString("Ok/n");	return qtrue;}
开发者ID:Agustinlv,项目名称:BlueHarvest,代码行数:60,


示例14: SV_Map_f

/** * @brief Restart the server on a different map */static void SV_Map_f(void){	char     *cmd;	char     *map;	char     mapname[MAX_QPATH];	qboolean cheat;	char     expanded[MAX_QPATH];	map = Cmd_Argv(1);	if (!map || !map[0])	{		Com_Printf("Usage: /n    map <map name>/n    devmap <map name>/n");		return;	}	// make sure the level exists before trying to change, so that	// a typo at the server console won't end the game	Com_sprintf(expanded, sizeof(expanded), "maps/%s.bsp", map);	if (FS_ReadFile(expanded, NULL) == -1)	{		Com_Printf("Can't find map %s/n", expanded);		return;	}	Cvar_Set("gamestate", va("%i", GS_INITIALIZE)); // reset gamestate on map/devmap	Cvar_Set("g_currentRound", "0");                // reset the current round	Cvar_Set("g_nextTimeLimit", "0");               // reset the next time limit	cmd = Cmd_Argv(0);	if (!Q_stricmp(cmd, "devmap"))	{		cheat = qtrue;	}	else	{		cheat = qfalse;	}	// save the map name here cause on a map restart we reload the etconfig.cfg	// and thus nuke the arguments of the map command	Q_strncpyz(mapname, map, sizeof(mapname));	// start up the map	SV_SpawnServer(mapname);	// set the cheat value	// if the level was started with "map <mapname>", then	// cheats will not be allowed.	// If started with "devmap <mapname>"	// then cheats will be allowed	if (cheat)	{		Cvar_Set("sv_cheats", "1");	}	else	{		Cvar_Set("sv_cheats", "0");	}}
开发者ID:vishen,项目名称:etlegacy,代码行数:63,


示例15: TTF_Load

// can't unload TTFs, so we'll need to make sure we don't keep reloading them, sadlyvoid* TTF_Load(Asset &asset) {	TTFFont_t *fnt = new TTFFont_t();	if (ctx == nullptr) {		ctx = glfonsCreate(512, 512, FONS_ZERO_TOPLEFT);	}	int found = fonsGetFontByName(ctx, asset.name);	if (found != FONS_INVALID) {		fnt->valid = true;		fnt->hnd = found;		found++;		return fnt;	}	unsigned char *font;	auto sz = FS_ReadFile(asset.path, (void **)&font);	if (sz == -1) {		Con_Errorf(ERR_GAME, "couldn't load file %s", asset.path);		return nullptr;	}	int hnd = fonsAddFontMem(ctx, asset.name, font, sz, 1);	if (hnd < 0) {		return nullptr;	}	fnt->valid = true;	fnt->hnd = hnd;	return (void*)fnt;}
开发者ID:sponge,项目名称:sdlgame,代码行数:34,


示例16: ExecIsFSHookFunc

// note this function has to return 'int', as otherwise only the bottom byte will get clearedint ExecIsFSHookFunc(const char* execFilename, const char* dummyMatch) { // dummyMatch isn't used by us    // check if the file exists in our FS_* path    if (FS_ReadFile(execFilename, NULL) >= 0)    {        return false;    }    return true;}
开发者ID:JohannesHei,项目名称:iw4m-lan,代码行数:10,


示例17: JK2SP_Register

/************************************************************************************************ * JK2SP_Register : Load given string package file. Register it. * * Inputs: *	Package File name *	Registration flag * * Return: *	success/fail * ************************************************************************************************/qboolean JK2SP_Register(const char *inPackage, unsigned char Registration){	char											*buffer;	char											Package[MAX_QPATH];	int												size;	cStringPackageSingle							*new_sp;	std::map<std::string, cStringPackageSingle *>::iterator	i;	assert(JK2SP_ListByName.size() == JK2SP_ListByID.size());	Q_strncpyz(Package, inPackage, MAX_QPATH);	Q_strupr(Package);	i = JK2SP_ListByName.find(Package);	if (i != JK2SP_ListByName.end())	{		new_sp = (*i).second;	}	else	{		size = FS_ReadFile(va("strip/%s.sp", Package), (void **)&buffer);		if (size == -1)		{			if ( Registration & SP_REGISTER_REQUIRED )			{				Com_Error(ERR_FATAL, "Could not open string package '%s'", Package);			}			return qfalse;		}		// Create the new string package		new_sp = new cStringPackageSingle(Package);		new_sp->Load(buffer, size );		FS_FreeFile(buffer);		if (Registration & SP_REGISTER_CLIENT)		{			Com_DPrintf(S_COLOR_YELLOW "JK2SP_Register: Registered client string package '%s' with ID %02x/n", Package, (int)new_sp->GetID());		}		else		{			Com_DPrintf(S_COLOR_YELLOW "JK2SP_Register: Registered string package '%s' with ID %02x/n", Package, (int)new_sp->GetID());		}		// Insert into the name vs package map		JK2SP_ListByName[Package] = new_sp;		// Insert into the id vs package map		JK2SP_ListByID[new_sp->GetID()] = new_sp;	}	// Or in the new registration data	new_sp->Register(Registration);//	return new_sp;	return qtrue;}
开发者ID:AlexXT,项目名称:OpenJK,代码行数:68,


示例18: ovc_read

PRIVATE size_t ovc_read( void *ptr, size_t size, size_t nmemb, void *dataSource ){	if( ! size || ! nmemb )	{		return 0;	}			return FS_ReadFile( ptr, size, nmemb, fh );}
开发者ID:Anters,项目名称:Wolf3D-iOS,代码行数:9,


示例19: R_LoadPIC

void R_LoadPIC( const char* fileName, byte** pic, int* width, int* height, int mode ) {	idList<byte> buffer;	if ( FS_ReadFile( fileName, buffer ) <= 0 ) {		*pic = NULL;		return;	}	R_LoadPICMem( buffer.Ptr(), pic, width, height, mode );}
开发者ID:janisl,项目名称:jlquake,代码行数:9,


示例20: R_ScreenShotTGA_f

/* ================== R_ScreenShotTGA_fscreenshotscreenshot [silent]screenshot [levelshot]screenshot [filename]Doesn't print the pacifier message if there is a second arg================== */  void R_ScreenShotTGA_f (void) {#ifndef _XBOX	char		checkname[MAX_OSPATH];	int			len;	static	int	lastNumber = -1;	qboolean	silent;	if ( !strcmp( Cmd_Argv(1), "levelshot" ) ) {		R_LevelShot();		return;	}	if ( !strcmp( Cmd_Argv(1), "silent" ) ) {		silent = qtrue;	} else {		silent = qfalse;	}	if ( Cmd_Argc() == 2 && !silent ) {		// explicit filename		Com_sprintf( checkname, MAX_OSPATH, "screenshots/%s.tga", Cmd_Argv( 1 ) );	} else {		// scan for a free filename		// if we have saved a previous screenshot, don't scan		// again, because recording demo avis can involve		// thousands of shots		if ( lastNumber == -1 ) {			// scan for a free number			for ( lastNumber = 0 ; lastNumber <= 9999 ; lastNumber++ ) {				R_ScreenshotFilename( lastNumber, checkname, ".tga" );				len = FS_ReadFile( checkname, NULL );				if ( len <= 0 ) {					break;	// file doesn't exist				}			}		} else {			R_ScreenshotFilename( lastNumber, checkname, ".tga" );		}		if ( lastNumber == 10000 ) {			VID_Printf (PRINT_ALL, "ScreenShot: Couldn't create a file/n"); 			return; 		}		lastNumber++;	}	R_TakeScreenshot( 0, 0, glConfig.vidWidth, glConfig.vidHeight, checkname );	if ( !silent ) {		VID_Printf (PRINT_ALL, "Wrote %s/n", checkname);	}#endif} 
开发者ID:Camron,项目名称:OpenJK,代码行数:68,


示例21: CM_LoadShaderFiles

void CM_LoadShaderFiles( void ){	if( !shaderText )	{		char	**shaderFiles1;		int		numShaders1;		char	*buffers[MAX_SHADER_FILES];		int		numShaders;		int		i;		int		sum = 0;		// scan for shader files		shaderFiles1 = FS_ListFiles( "shaders", ".shader", &numShaders1 );		if ( !shaderFiles1 || !numShaders1 )		{			Com_Printf( S_COLOR_YELLOW "WARNING: no shader files found/n" );			return;		}		numShaders = numShaders1;		if ( numShaders > MAX_SHADER_FILES ) 		{			numShaders = MAX_SHADER_FILES;		}		// load and parse shader files		for ( i = 0; i < numShaders1; i++ )		{			char filename[MAX_QPATH];			Com_sprintf( filename, sizeof( filename ), "shaders/%s", shaderFiles1[i] );			Com_DPrintf( "...loading '%s'/n", filename );			FS_ReadFile( filename, (void **)&buffers[i] );			if ( !buffers[i] ) 			{				Com_Error( ERR_FATAL, "Couldn't load %s", filename );			}			sum += COM_Compress( buffers[i] );		}		// build single large buffer		shaderText = (char *)Z_Malloc( sum + numShaders * 2, TAG_SHADERTEXT, qtrue);		// free in reverse order, so the temp files are all dumped		for ( i = numShaders - 1; i >= 0 ; i-- ) 		{			strcat( shaderText, "/n" );			strcat( shaderText, buffers[i] );			FS_FreeFile( buffers[i] );		}		// free up memory		FS_FreeFileList( shaderFiles1 );	}}
开发者ID:3ddy,项目名称:Jedi-Academy,代码行数:56,


示例22: Util_LoadFileToBuffer

void* Util_LoadFileToBuffer(char* path, uint32_t* size){	FSFile file;	FS_InitFile(&file);	FS_OpenFile(&file, path);	uint32_t mSize = FS_GetLength(&file);	void* buffer = NNS_FndAllocFromExpHeapEx(mHeapHandle, mSize, 16);	FS_ReadFile(&file, buffer, (int)mSize);	FS_CloseFile(&file);	if(size != NULL) *size = mSize;	return buffer;}
开发者ID:stomatal,项目名称:TrainDS,代码行数:12,


示例23: PHandler_OpenTempFile

const char* PHandler_OpenTempFile(char* name, char* fullfilepath, int fplen){ // Load a plugin, safe for use    void *buf;    int len;    int wlen;    char* file;    char tmpfile[MAX_QPATH];    char filepath[MAX_QPATH];	    Com_sprintf(filepath, sizeof(filepath),"plugins/%s" DLL_EXT, name);    len = FS_ReadFile(filepath, &buf);    if(len < 100)        len = FS_SV_ReadFile( filepath, &buf );    if(len < 100)    {        Com_Printf("No such file found: %s. Can not load this plugin./n", filepath);        return NULL;    }		if(PHandler_VerifyPlugin(buf, len) == qfalse)	{	    Com_Printf("%s is not a plugin file or is corrupt or contains disallowed functions./n", filepath);		FS_FreeFile(buf);		return NULL;	}	Com_sprintf(tmpfile, sizeof(tmpfile), "plugin.%s.tmp", name);    /* If there is already such a file remove it now */    file = FS_SV_GetFilepath( tmpfile, fullfilepath, fplen );    if(file)    {        FS_RemoveOSPath(file);        file = FS_SV_GetFilepath( tmpfile, fullfilepath, fplen );        if(file)        {            FS_RemoveOSPath(file);        }    }    wlen = FS_SV_HomeWriteFile( tmpfile, buf, len);    if(wlen != len)    {            Com_PrintError("fs_homepath is readonly. Can not load this plugin./n");            FS_FreeFile(buf);            return NULL;    }    //Additional test if a file is there and creation of full filepath    FS_FreeFile(buf);    return FS_SV_GetFilepath( tmpfile, fullfilepath, fplen );}
开发者ID:BraXi,项目名称:CoD4X18-Server,代码行数:52,


示例24: SV_Map_f

/*==================SV_Map_fRestart the server on a different map==================*/static void SV_Map_f( void ) {	char		*cmd;	char		*map;	qboolean	killBots, cheat;	char		expanded[MAX_QPATH];	char		mapname[MAX_QPATH];	int			i;	map = Cmd_Argv(1);	if ( !map ) {		return;	}	// make sure the level exists before trying to change, so that	// a typo at the server console won't end the game	Com_sprintf (expanded, sizeof(expanded), "maps/%s.bsp", map);	if ( FS_ReadFile (expanded, NULL) == -1 ) {		Com_Printf ("Can't find map %s/n", expanded);		return;	}	cmd = Cmd_Argv(0);	if ( !Q_stricmp( cmd, "devmap" ) ) {		cheat = qtrue;		killBots = qtrue;	} else {		cheat = qfalse;		killBots = qfalse;	}	// save the map name here cause on a map restart we reload the autogen.cfg	// and thus nuke the arguments of the map command	Q_strncpyz(mapname, map, sizeof(mapname));	// start up the map	SV_SpawnServer( mapname, killBots );	// set the cheat value	// if the level was started with "map <levelname>", then	// cheats will not be allowed.  If started with "devmap <levelname>"	// then cheats will be allowed	if ( cheat ) {		Cvar_Set( "sv_cheats", "1" );	} else {		Cvar_Set( "sv_cheats", "0" );	}	// This forces the local master server IP address cache	// to be updated on sending the next heartbeat	for( i = 0; i < MAX_MASTER_SERVERS; i++ )		sv_master[ i ]->modified  = qtrue;}
开发者ID:AlienHoboken,项目名称:Tremulous-Z-Server,代码行数:59,


示例25: ovc_read

/** * /brief OGG read Callback. Reads data from a stream. * /param[in] ptr Storage location for data. * /param[in] size Item size in bytes. * /param[in] nmemb Maximum number of items to be read. * /param[in] datasource Music track data structure. * /return * /note */PRIVATE size_t ovc_read( void *ptr, size_t size, size_t nmemb, void *datasource ){	musicTrack_t	*track = (musicTrack_t *)datasource;	if( ! size || ! nmemb )	{		return 0;	}	return FS_ReadFile( ptr, size, nmemb, track->hFile );}
开发者ID:Oppen,项目名称:Wolf3DRedux,代码行数:22,


示例26: SV_Map_f

/*==================SV_Map_fRestart the server on a different map==================*/static void SV_Map_f( void ){	char     *cmd;	char     *map;	const char *layouts;	char     mapname[ MAX_QPATH ];	qboolean cheat;	char     expanded[ MAX_QPATH ];	char     layout[ MAX_CVAR_VALUE_STRING ];	map = Cmd_Argv( 1 );	if ( !map )	{		return;	}	// make sure the level exists before trying to change, so that	// a typo at the server console won't end the game	Com_sprintf( expanded, sizeof( expanded ), "maps/%s.bsp", map );	if ( FS_ReadFile( expanded, NULL ) == -1 )	{		Com_Printf(_( "Can't find map %s/n"), expanded );		return;	}	// layout(s) - note that ArgsFrom adds quoting which we don't want here	// Also, if empty, don't override	layouts = Cmd_UnquoteString( Cmd_ArgsFrom( 2 ) );	if ( *layouts )	{		Cvar_Set( "g_layouts", layouts );	}	cheat = !Q_stricmp( Cmd_Argv( 0 ), "devmap" );	// save the map name here cause on a map restart we reload the q3config.cfg	// and thus nuke the arguments of the map command	Q_strncpyz( mapname, map, sizeof( mapname ) );	// start up the map	SV_SpawnServer( mapname );	// set the cheat value	// if the level was started with "map <levelname>", then	// cheats will not be allowed.  If started with "devmap <levelname>"	// then cheats will be allowed	Cvar_Set( "sv_cheats", cheat ? "1" : "0" );}
开发者ID:Gallaecio,项目名称:Unvanquished,代码行数:58,


示例27: AS_ParseSets

void AS_ParseSets( void ) {	union {		char	*c;		void	*v;	} as_file;	char *text_p, *token;	FS_ReadFile( SOUNDSET_FILE, &as_file.v );	if ( !as_file.c ) {		Com_Printf( S_COLOR_RED "ERROR: Couldn't load ambient sound sets from /"%s/"/n", SOUNDSET_FILE );		return;	}	text_p = as_file.c;	do {		token = AS_Parse( &text_p );		if ( !token || !token[0] ) {			break;		}		if ( !strcmp( "type", token ) ) {			token = AS_Parse( &text_p );			if( Q_stricmp( token, "ambientset" ) ) {				Com_Printf( S_COLOR_RED "AS_ParseHeader: Set type /"%s/" is not a valid set type!/n", token );				FS_FreeFile( as_file.v );				return;			}			continue;		}		if ( !strcmp( "amsdir", token ) ) {			//token = AS_Parse( &text_p );			AS_SkipRestOfLine( &text_p );			continue;		}		if ( !strcmp( "outdir", token ) ) {			//token = AS_Parse( &text_p );			AS_SkipRestOfLine( &text_p );			continue;		}		if ( !strcmp( "basedir", token ) ) {			//token = AS_Parse( &text_p );			AS_SkipRestOfLine( &text_p );			continue;		}		//generalSet localSet bmodelSet	} while ( token );	FS_FreeFile( as_file.v );}
开发者ID:Lrns123,项目名称:jkaq3,代码行数:50,


示例28: seek

bool wavPlayer::update(){	if(!playing || paused)		return false;	if(fileCursor >= loop.end)		seek(loop.begin);		if(buffercursor >= audiobuffer_size)		buffercursor = 0;	//Find out how many new samples should we push to the buffer.	int curtimer = TIMER3_DATA;		int newData = curtimer - prevtimer;	if(newData < 0) newData += 65536;	if(newData > audiobuffer_size - buffercursor)		newData = audiobuffer_size - buffercursor;	int readBegin = fileCursor;	int readEnd = fileCursor + newData;		if(readEnd >= loop.end) readEnd = loop.end;		newData = (readEnd-readBegin);	prevtimer = (prevtimer+newData)%65536;	int pos = buffercursor*bitdepth;	int len = newData*bitdepth;	FS_ReadFile(&fileLeft, audiobufferLeft+pos, len);	FS_ReadFile(&fileRight, audiobufferRight+pos, len);		fileCursor += newData;	buffercursor += newData;	return true;}
开发者ID:Dirbaio,项目名称:NSMBCR,代码行数:37,


示例29: CL_Record_f

void CL_Record_f(void){	char name[MAX_OSPATH];	char *s;	if (Cmd_Argc() > 2)	{		Com_FuncPrinf("record <demoname>/n");		return;	}	if (clc.demorecording)	{		Com_FuncPrinf("Already recording./n");		return;	}	if (cls.state != CA_ACTIVE)	{		Com_FuncPrinf("You must be in a level to record./n");		return;	}	if (Cmd_Argc() == 2)	{		s = Cmd_Argv(1);		Q_strncpyz(demoName, s, sizeof(demoName));		Com_sprintf(name, sizeof(name), "demos/%s.%s%d", demoName, DEMOEXT, PROTOCOL_VERSION);	}	else	{		int number, len;		// scan for a free demo name		for (number = 0; number <= 9999; number++)		{			CL_DemoFilename(number, demoName);			Com_sprintf(name, sizeof(name), "demos/%s.%s%d", demoName, DEMOEXT, PROTOCOL_VERSION);			len = FS_ReadFile(name, NULL);			if (len <= 0)			{				break;  // file doesn't exist			}		}	}	CL_Record(name);}
开发者ID:dstaesse,项目名称:etlegacy,代码行数:49,


示例30: SV_Map_

//=========================================================// don't call this directly, it should only be called from SV_Map_f() or SV_MapTransition_f()//static bool SV_Map_( ForceReload_e eForceReload ) {	char	*map;	char	expanded[MAX_QPATH];	map = Cmd_Argv(1);	if ( !*map ) {		Com_Printf ("no map specified/n");		return false;	}	// make sure the level exists before trying to change, so that	// a typo at the server console won't end the game	if (strchr (map, '//') ) {		Com_Printf ("Can't have mapnames with a ///n");		return false;	}#ifndef _XBOX	// Could check for maps/%s/brushes.mle or something...	Com_sprintf (expanded, sizeof(expanded), "maps/%s.bsp", map);#ifndef _DEBUG	Com_Printf("SV_Map_ CHECK HERE: %s/n", expanded);#endif	if ( FS_ReadFile (expanded, NULL) == -1 ) {		Com_Printf ("Can't find map %s/n", expanded);		extern	cvar_t	*com_buildScript;		if (com_buildScript && com_buildScript->integer)		{//yes, it's happened, someone deleted a map during my build...			Com_Error( ERR_FATAL, "Can't find map %s/n", expanded );		}		return false;	}#endif	if (map[0]!='_')	{		SG_WipeSavegame("auto");	}#ifndef _DEBUG	Com_Printf("SV_SpawnServer call: %s/n", map);#endif	SV_SpawnServer( map, eForceReload, qtrue );	// start up the map	return true;}
开发者ID:Ichimoto,项目名称:OpenJK,代码行数:50,



注:本文中的FS_ReadFile函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ FS_SV_FOpenFileWrite函数代码示例
C++ FS_Printf函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。