Delta request from out of date entities.

Locked
3xistence
Posts: 90
Joined: Sun May 13, 2012 3:02 pm

Delta request from out of date entities.

Post by 3xistence »

what does it mean?
that's the only message i got logging my game before the Crash To Desktop.

^03^1X^0ISTENCE: Delta request from out of date entities.
^03^1X^0ISTENCE: Delta request from out of date entities.
^03^1X^0ISTENCE: Delta request from out of date entities.
^03^1X^0ISTENCE: Delta request from out of date entities.
^03^1X^0ISTENCE: Delta request from out of date entities.
----- Client Shutdown (Received signal 11) -----
RE_Shutdown( 1 )
-----------------------
----- Server Shutdown (Received signal 11) -----
^03^1X^0ISTENCE: Delta request from out of date entities.
3xistence
Posts: 90
Joined: Sun May 13, 2012 3:02 pm

Re: Delta request from out of date entities.

Post by 3xistence »

If you need anykind of details please ask... i can't understand what this "Delta" is related. Searching around the code i got Delta only for secondary stuff (untouched in my mod). The game doesn't crash to desktop everytime, just using my "new" gameplay, so probably the trouble is inside the new code i wrote.
3xistence
Posts: 90
Joined: Sun May 13, 2012 3:02 pm

Re: Delta request from out of date entities.

Post by 3xistence »

mhmmm any clue?
User avatar
Eraser
Posts: 19177
Joined: Fri Dec 01, 2000 8:00 am

Re: Delta request from out of date entities.

Post by Eraser »

search the source code for the error text. Maybe that will give you a clue where the error is thrown.
3xistence
Posts: 90
Joined: Sun May 13, 2012 3:02 pm

Re: Delta request from out of date entities.

Post by 3xistence »

i find it in sv_snapshot.c

Code: Select all

/*
==================
SV_WriteSnapshotToClient
==================
*/
static void SV_WriteSnapshotToClient( client_t *client, msg_t *msg ) {
	clientSnapshot_t	*frame, *oldframe;
	int					lastframe;
	int					i;
	int					snapFlags;

	// this is the snapshot we are creating
	frame = &client->frames[ client->netchan.outgoingSequence & PACKET_MASK ];

	// try to use a previous frame as the source for delta compressing the snapshot
	if ( client->deltaMessage <= 0 || client->state != CS_ACTIVE ) {
		// client is asking for a retransmit
		oldframe = NULL;
		lastframe = 0;
	} else if ( client->netchan.outgoingSequence - client->deltaMessage 
		>= (PACKET_BACKUP - 3) ) {
		// client hasn't gotten a good message through in a long time
		Com_DPrintf ("%s: Delta request from out of date packet.\n", client->name);
		oldframe = NULL;
		lastframe = 0;
	} else {
		// we have a valid snapshot to delta from
		oldframe = &client->frames[ client->deltaMessage & PACKET_MASK ];
		lastframe = client->netchan.outgoingSequence - client->deltaMessage;

		// the snapshot's entities may still have rolled off the buffer, though
		if ( oldframe->first_entity <= svs.nextSnapshotEntities - svs.numSnapshotEntities ) {
			Com_DPrintf ("%s:Delta request from out of date entities.\n", client->name);
			oldframe = NULL;
			lastframe = 0;
		}
	}
O_o the file sv_snapshot.c is untouched. mhmmmm
3xistence
Posts: 90
Joined: Sun May 13, 2012 3:02 pm

Re: Delta request from out of date entities.

Post by 3xistence »

i'm checking all my strings correlated to these two gameplay modes (the game crash after minutes only if i play one of this gameplay)

Some code (help me to find what i did wrong):
g_items.c

in void RespawnItem i added

Code: Select all

if ( ent->item->giType == IT_POWERUP ) {
		// play powerup spawn sound to all clients
		gentity_t	*te;

		if (g_gametype.integer == GT_CTF2 || g_gametype.integer == GT_TEAM2 ) {
			return;
			}
inside the void touch_items

Code: Select all

	if ( g_gametype.integer == GT_CTF2 || g_gametype.integer == GT_TEAM2 ) {
		if (ent->item->giType != IT_TEAM)
			return;
		}
inside void finishspawningitems
the last lines

Code: Select all

	if ( ent->item->giType == IT_POWERUP ) {
		float	respawn;
		
		if (g_gametype.integer == GT_CTF2 || g_gametype.integer == GT_TEAM2) {
			return;
			}
		else {
		respawn = 45 + crandom() * 15;
		ent->s.eFlags |= EF_NODRAW;
		ent->r.contents = 0;
		ent->nextthink = level.time + respawn * 1000;
		ent->think = RespawnItem;
		return;
		}
void ClearRegisteredItems

Code: Select all

	if( g_gametype.integer == GT_CTF2 ){
		RegisterItem( BG_FindItemForWeapon( WP_RAILGUN ) );
		}
	
	if( g_gametype.integer == GT_TEAM2 ) {
		RegisterItem( BG_FindItemForWeapon( WP_ROCKET_LAUNCHER ) );
		RegisterItem( BG_FindItemForWeapon( WP_GRENADE_LAUNCHER ) );
		RegisterItem( BG_FindItemForWeapon( WP_PLASMAGUN ) );
		RegisterItem( BG_FindItemForWeapon( WP_LIGHTNING ) );
		RegisterItem( BG_FindItemForWeapon( WP_RAILGUN ) );
		RegisterItem( BG_FindItemForWeapon( WP_SHOTGUN ) );
		}
Now, the one i think it's the worste one...
on void G_SpawnItem:

Code: Select all

	if ( g_gametype.integer == GT_TEAM2 || g_gametype.integer == GT_CTF2) {	                        
		RegisterItem( item );
		
        if ( G_ItemDisabled(item) )
            return;
		
		ent->item = item;
		
		if ( item->giType != IT_TEAM ) {
			ent->nextthink = level.time + FRAMETIME * 2;
			ent->think = FinishSpawningItem;

			ent->physicsBounce = 0.50;         // items are bouncy

			ent->s.eFlags |= EF_NODRAW; 
			}
		if ( item->giType == IT_POWERUP ) {
			return;
			}
		}
		
	RegisterItem( item );
I Think that's here the main problem. But still don't understand the SV_WriteSnapshotToClient and when he returns the Delta Error. Like when it doesn't clear the buffer?

// the snapshot's entities may still have rolled off the buffer, though
if ( oldframe->first_entity <= svs.nextSnapshotEntities - svs.numSnapshotEntities ) {
Com_DPrintf ("%s:Delta request from out of date entities.\n", client->name);
oldframe = NULL;
lastframe = 0;
}

any suggestion's appreciated.
3xistence
Posts: 90
Joined: Sun May 13, 2012 3:02 pm

Re: Delta request from out of date entities.

Post by 3xistence »

the code looks good or i made some kind of mistake?
themuffinman
Posts: 384
Joined: Fri Mar 05, 2010 5:29 pm

Re: Delta request from out of date entities.

Post by themuffinman »

If you can't fix it you're welcome to post the entire code/PM the code to me and I can try to spot the problem. No promises though...
User avatar
Eraser
Posts: 19177
Joined: Fri Dec 01, 2000 8:00 am

Re: Delta request from out of date entities.

Post by Eraser »

Excuse me if I underestimate you, but reading your messages it sounds like you don't know what a "delta" is? Maybe you already do, but reading this might give some background information and possibly even provide you with some insight into what could be causing this problem.
3xistence
Posts: 90
Joined: Sun May 13, 2012 3:02 pm

Re: Delta request from out of date entities.

Post by 3xistence »

Naah, its the right way understimate me. Im not a programmer so extra infos in order to get a background about how things works good and well accepted. For now the problem doesnt happear anymore but i still need to verify it inside a long gameplay session.
Ty. I will verify it again and i will let you know
3xistence
Posts: 90
Joined: Sun May 13, 2012 3:02 pm

Re: Delta request from out of date entities.

Post by 3xistence »

Dear friends. I debugged and edited the code a little bit in order to avoid this problem...so i restricted the circle every inch i can.
And now...what i discover.... It's just a map the main problem of it.
A lot of you will know it for sure: it's Vast and Furious (the version with also TA entities).
Now with my unskilled mapmaker knowledge i need to understand what create the CTD (the map crash only in instagib mode).
And i will take the moment also to ask a thing:
strangely the railgun trail disappear instantly when i shoot outside the map. So i can't see the railtrail etc...
where i need to seek and correct this strange behaviour in order to let the railtrail ever visible?
Locked