Mercury missile FPS issue when shooting vehicle shield

Discuss and provide feedback on Maps.
Post Reply
User avatar
Anonymous.
Posts: 372
Joined: Sat Jun 12, 2021 10:54 pm

Mercury missile FPS issue when shooting vehicle shield

Post by Anonymous. »

https://streamable.com/8tul6d
Sorry, hard to see because this shit website forces 720p for free users but my FPS tanks all the way down to 60 when the Wraith was shooting its missiles into the Turtle shield. But it happens with all Paladin-type shields.
User avatar
captainsnarf
Posts: 2714
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Mercury missile FPS issue when shooting vehicle shield

Post by captainsnarf »

Yeah, it's even worse when you are the one in the Turtle.

-iliketurtles

Pooty, I pushed a fix for this to the omni github. I can't build it though, there are missing packages. The fix might not do anything since I can't test to be sure.

Code: Select all

Failed loading package: Can't find file 'WVMercuryMissiles_Tex.utx'
Failed loading package: Can't find file 'WVMercuryMissilesSounds.uax'
Error, Can't find Sound 'WVMercuryMissilesSounds.Effects.MercWaterImpact'
User avatar
pooty
Posts: 4535
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Mercury missile FPS issue when shooting vehicle shield

Post by pooty »

I'll look at the fix. It needs to go into Wraith and Mobreaker, and the boats. I gave them their own sub classes based on Wormbo's original (WV).

Both the texture and sound should be on the server.

I've seen the effect its kind of cool where the missle gets stuck in the shield -- I wonder if there's a way if the missle was fast enough it could penetrate the shield? Too bad if fubars the fps...
User avatar
pooty
Posts: 4535
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Mercury missile FPS issue when shooting vehicle shield

Post by pooty »

That fix isn't right. The missles no longer explode at all....

They hit and basically stick in whatever for a few seconds rather than exploding.

I'll work on it a bit.
User avatar
pooty
Posts: 4535
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Mercury missile FPS issue when shooting vehicle shield

Post by pooty »

Maybe it should be this?

Code: Select all

return (Other != none && Other.bBlockProjectiles) 
		 ||	(UnrealPawn(Other) != None 
	       &&  !Other.IsInState('Frozen')
	       && VSize(Velocity) - Normal(Velocity) dot Other.Velocity > PunchThroughSpeed 
	       && UnrealPawn(Other).GetShieldStrength() == 0);
I'll test it out in bit after the Michigan Football game..
User avatar
captainsnarf
Posts: 2714
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Mercury missile FPS issue when shooting vehicle shield

Post by captainsnarf »

Yeah my fix is no good. Other has to be an UnrealPawn or it returns false, so it only penetrates players.

bBlockProjectiles is only true on paladin shields and derivatives, so that was what I was checking for, but it doesn't matter. The original check would account for that since it's only for unrealpawn classes, which the shield is not.

The problem has to be elsewhere, but I do suspect it's something to do with the penetrating logic.
User avatar
pooty
Posts: 4535
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Mercury missile FPS issue when shooting vehicle shield

Post by pooty »

I think its this line (around line 424).

Inside process contact.

if (Role == ROLE_Authority || Other == None || Other.Role < ROLE_Authority) {

Onclient Role is 2, but Other.ROLE is 4 (On server ROLE_Authority is 4), so this is NEVER true on the client if Other != None... which means the missle sticks. Other.Role for the Shield is always 4, other things(Terrain, meshes, vehicles) are Other.Role < ROLE_Authority, but for some reason the shield Other.Role = 4 (ROLE_Authority), so it never calls the destroy properly on impact.

It actually works fine if I completely remove that if... later in the code block there's:

Code: Select all

if (Role == ROLE_Authority) {
				//log("ROLE_Authority FakeDestroy", 'PVWMercuryMissle');
				ExplosionEffectInfo.Other = Other;
				ExplosionEffectInfo.HitLocation = HitLocation;
				ExplosionEffectInfo.HitNormal = HitNormal * 1000;
				ExplosionEffectInfo = ExplosionEffectInfo;
				SetLocation(HitLocation);
				FakeDestroy();
			}
			else {
				Destroy();
			//	log("!ROLE_Authority Destroy", 'PVWMercuryMissle');
			}
Which handles the ROLEs properly anyway.

Nothing like fixing a bug by simply deleting code...lol.

I tested it on dedicated server with two clients so I am going to fix it on the rest of them.
User avatar
pooty
Posts: 4535
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Mercury missile FPS issue when shooting vehicle shield

Post by pooty »

Fixes are on the server.
Wraith
Mobreaker (Turret)
Boats (Turret)

Hopefully it fixes the fps drop and annoying stuck missile in the shield thing.
User avatar
Anonymous.
Posts: 372
Joined: Sat Jun 12, 2021 10:54 pm

Re: Mercury missile FPS issue when shooting vehicle shield

Post by Anonymous. »

Thanks guys.
Post Reply