Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
Bauul

How to disable in-game player sprites (UDMF)?

Question

What would be the easiest way of disabling the player sprite in game?  Source port target is GZDoom.

 

I thought I could use SetActorProperty in ACS to turn the player fully transparent, but that affects the weapons too.  I understand I might be able to override that using A_OverlayFlags's PSPF_FORCERENDERSTYLE, but I'm not really sure where to start.

 

The brute force approach is to simply edit the sprites so they're empty, but if there's a neater coding approach that'd probably be preferable.

 

Anyone any ideas?

Share this post


Link to post

6 answers to this question

Recommended Posts

  • 1

There is no other way. If you change the player's render style this will always also affect the weapon sprite, because this is how, for example, the fuzz effect and translucency in Heretic and Hexen is being determined.

 

Share this post


Link to post
  • 1

Forgive me, but what about using just TNT1A0 in the place of all PLAY sprites? Preferably by DECORATE to save space.

Share this post


Link to post
  • 0

You should be able to do this:

 

SetActorProperty(0, APROP_RenderStyle, STYLE_Translucent);

SetActorProperty(0, APROP_Alpha, 0.0);

 

I posted this for someone else's similar question and they said it worked.

Share this post


Link to post
  • 0

 

1 hour ago, Graf Zahl said:

There is no other way. If you change the player's render style this will always also affect the weapon sprite, because this is how, for example, the fuzz effect and translucency in Heretic and Hexen is being determined.

 

Thanks Graf.  I guess editing the sprites directly it is!  Essentially this is to try and stop the player sprite from appearing in a portal where you can see yourself (aka the mirror code, if I recall the workings correctly), and as a way around the bug where you briefly see your own back as you walk through a portal.

 

I suppose the neatest solution would be some kind of optional flag in the mirror code itself that could turn off reflecting the player sprite, but I know that's beyond the scope of ACS.

Share this post


Link to post
  • 0
1 hour ago, Nevander said:

You should be able to do this:

 

SetActorProperty(0, APROP_RenderStyle, STYLE_Translucent);

SetActorProperty(0, APROP_Alpha, 0.0);

 

I posted this for someone else's similar question and they said it worked.

Yeah that was me! Unfortunately I was using GZDoom 3.0, which had a bug which didn't apply the actor rendering to the weapon sprite. So it worked perfectly until about two weeks later when version 3.0.1 came out. :'(

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×