Page 1 of 1

CS 4.0 preview

Posted: Wed Apr 12, 2006 12:37 am
by GiffE1118
Ive just gotta show this off,

Thanks to alot of help by elgan, i was able to make a new feature which is i think by far the best thing i've ever added to it.

Now what you can do is:

You can minimize customspy to your taskbar where you only have a little icon.
As long as the program is running. no matter how you join a server you will download all the maps needed. If you dont have the maps on the server a download screen InGame will come up and you will download the maps. The game will reboot and reconnect you to the server.

InGame Demo - Mpeg Format
InGame Demo - Avi Format

Now there is no more need for any kind of browser support as it will support any launch of the game.

One question i do have to any of you is.
Is there another way to reboot the filesystem other than restarting the game. I find it to be a bit annoying.
I have heard that a vid_restart can do it. gotta mess around with it.[/url]

Posted: Wed Apr 12, 2006 12:50 pm
by Rookie One.pl

Code: Select all

/*
=================
CL_Vid_Restart_f

Restart the video subsystem

we also have to reload the UI and CGame because the renderer
doesn't know what graphics to reload
=================
*/
void CL_Vid_Restart_f( void ) {

	// don't let them loop during the restart
	S_StopAllSounds();
	// shutdown the UI
	CL_ShutdownUI();
	// shutdown the CGame
	CL_ShutdownCGame();
	// shutdown the renderer and clear the renderer interface
	CL_ShutdownRef();
	// client is no longer pure untill new checksums are sent
	CL_ResetPureClientAtServer();
	// clear pak references
	FS_ClearPakReferences( FS_UI_REF | FS_CGAME_REF );
	// reinitialize the filesystem if the game directory or checksum has changed
	FS_ConditionalRestart( clc.checksumFeed );

	cls.rendererStarted = qfalse;
	cls.uiStarted = qfalse;
	cls.cgameStarted = qfalse;
	cls.soundRegistered = qfalse;

	// unpause so the cgame definately gets a snapshot and renders a frame
	Cvar_Set( "cl_paused", "0" );

	// if not running a server clear the whole hunk
	if ( !com_sv_running->integer ) {
		// clear the whole hunk
		Hunk_Clear();
	}
	else {
		// clear all the client data on the hunk
		Hunk_ClearToMark();
	}

	// initialize the renderer interface
	CL_InitRef();

	// startup all the client stuff
	CL_StartHunkUsers();

	// start the cgame if connected
	if ( cls.state > CA_CONNECTED && cls.state != CA_CINEMATIC ) {
		cls.cgameStarted = qtrue;
		CL_InitCGame();
		// send pure checksums
		CL_SendPureChecksums();
	}
}
Which means that unless EA f**ked something up, the filesystem should indeed be reset together with a vid_restart. :)

Posted: Wed Apr 12, 2006 6:46 pm
by GiffE1118
i checked that out already. It does work but not as easy as ya would think. It doesnt reload pk3's, it reloads files outside of pk3's so if i extracted everything it would reload. but thats a little ugly so i just having it restart the game.