Zandronum Chat on our Discord Server Get the latest version: 3.2
Source Code

View Revisions: Issue #2021 Back to Issue ]
Summary 0002021: Clients are not made aware of Target pointer if bulletpuff has +PUFFGETSOWNER
Revision 2014-12-06 02:34 by StrikerMan780
Steps To Reproduce Test wad coming soon. Once it's up, just try firing the custom SSG offline, you'll see that there's a spray of bullet tracer actors that target the puffs. Online, they'll still spawn, but the pointers get screwed up royally, and thus tracers will shoot off from the puff instead of the player.
Revision 2014-12-06 03:27 by Dusk
Steps To Reproduce zandronum -host -nomonsters -file decorate.txt
zandronum -file decorate.txt -connect localhost

Shoot a hitscan weapon, the fire should be spawning in your face, not at the impact site.
Revision 2014-12-06 02:34 by StrikerMan780
Additional Information 22:03 <TheEnigma> The bullet tracer code that I put together works wonderfully offline, but has a major fucking freakout online.
22:05 <TheEnigma> I'm guessing the pointers of bullet puffs are either not sent to clients at all
22:06 <TheEnigma> or, the pointers of an actor spawned by the server rather than clientside, aren't transferred to clientside spawned actors/effects later (which is a major problem).
22:08 <> Joseph|Away (~joseph_hick@JosephHicks-12929.users.zandronum.com) is now known as Joseph_Hicks
22:14 <TheEnigma> Also:'http://zandronum.com/tracker/file_download.php?file_id=1338&type=bug [^]'
22:14 <Dusk> bullet puffs have no net ids
22:14 <- Devil-AFK (DatAss@argon.rfc1337.net) has quit IRC [Ping timeout: 300 seconds]
22:14 <Dusk> anything that scripts them is prone to break online..
22:15 <TheEnigma> Any way for them to at least have it so that they spawn with the correct pointers, if at least assigned by the client? Ie, my bulletpuffs that use +PUFFGETSOWNER still has the Target Pointer set correctly/visibly to the client?
22:15 <TheEnigma> Because, that really seems like a bug to me if they don't.
22:15 <TheEnigma> Could REALLY cause problems down the road with one of the new ZDoom features down the road that I can think of
22:16 <TheEnigma> where Teleport Fogs target the owner of the fog.
22:16 <Dusk> problem is that sending netids with bullet puffs will considerably increase bandwidth usage
22:16 <Dusk> perhaps they should be sent with netids if they have PUFFGETSOWNER
22:18 <TheEnigma> I'm just thinking though, is there some way to fix it so that they get assigned the proper owner even if they don't have netids?
22:19 <TheEnigma> Hope I'm making sense
22:19 <Dusk> they have the proper owner
22:20 <Dusk> the problem is that without a netid, the puff is completely unaddressable online
22:20 <Dusk> i.e. it becomes peer-local
22:20 <TheEnigma> And that's understandable, but the effect that I'm pulling off is purely clientside
22:21 <- TheCitrusKiwi (TheCitrusKi@I.am.the.Law) has quit IRC [Connection closed]
22:22 <TheEnigma> Maybe the issue is elsewhere. Perhaps SXF_TRANSFERPOINTERS isn't working on clientside actors, or A_ReArrangePointers
22:22 <TheEnigma> er, A_RearrangePointers*
22:23 <TheEnigma> The whole thing works this way, the bulletpuff spawns a clientside actor, ie: A_SpawnItemEx("MinigunTracerSpawner", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE | SXF_SETMASTER | SXF_TRANSFERPOINTERS, 0)
22:23 <TheEnigma> Then
22:23 <TheEnigma> The new actor does this: TNT1 A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_TRACER, AAPTR_TARGET, PTROP_NOSAFEGUARDS)
22:24 <Dusk> hmm
22:24 <TheEnigma> Then fires a tracer projectile at the new target, from the source (the puff).
22:24 <TheEnigma> the source being the clientside actor moved in front of the player via A_Fire
22:25 <TheEnigma> I should put together a test wad.
22:25 <Dusk> does the miniguntracerspawner get spawned at all?
22:25 <TheEnigma> Yes
22:25 <Dusk> yeah a testcase would be nice
22:25 <Dusk> i could look into it because even without a netid that should work
22:25 <TheEnigma> The MinigunTracerSpawner does get spawned
22:25 <TheEnigma> and it shoots the tracer
22:26 <Dusk> hmmmmmmmmmmm wait
22:26 <TheEnigma> but not from the player like it should
22:26 <Dusk> but it needs to know the target pointer?
22:26 <- Joseph_Hicks (~joseph_hick@JosephHicks-12929.users.zandronum.com) has quit IRC ["sleeeeeeep pls"]
22:26 <TheEnigma> it spawns from the puff, and shoots in an awkward direction
22:26 <Dusk> it needs to know the target pointer of the puff?
22:26 <TheEnigma> It needs to know the target, and the rearranged pointers to the tracer.
22:26 <Dusk> okay well the client doesn't know this
22:26 <Dusk> which is why this isn't working
22:27 <TheEnigma> Wait
22:27 <TheEnigma> As in the target the puff recieves from PUFFGETSOWNER?
22:27 <TheEnigma> ie, the player who fired it
22:27 <Dusk> yeah the client doesn't know this
22:28 <TheEnigma> Thought you said it did...
22:28 <Dusk> so i'm thinking maybe it should be told it if the puff has PUFFGETSOWNER
22:28 <Dusk> no i never said anything like that
22:28 <TheEnigma> 22:19 <Dusk> they have the proper owner
22:28 <Dusk> they have the owner but only on the server
22:28 <Dusk> i guess i was a bit unclear there
22:29 <TheEnigma> Hmm.
22:29 <Dusk> but yeah as a fix i think the server should sync the target field for puffs if they have PUFFGETSOWNER
22:29 <TheEnigma> Yeah, it'd be nice if they were made aware
22:29 <Dusk> please make a ticket for this, i'll hack it away tomorrow
22:30 <TheEnigma> Also, if clientside predicted puffs are on, they should just get the owner through the clientside.
22:30 <TheEnigma> Since it should already know that you're the shooter...
22:30 <TheEnigma> Dusk: what should I call my report?
22:31 <Dusk> uhh i honestly don't know
22:31 <TheEnigma> "Clients are not made aware of Target pointer if puff has +PUFFGETSOWNER"?
22:31 <Dusk> this is getting a little abstract
22:31 <Dusk> yeah sounds good enough
Revision 2014-12-06 03:27 by Dusk
Additional Information
Quote

22:03 <TheEnigma> The bullet tracer code that I put together works wonderfully offline, but has a major fucking freakout online.
22:05 <TheEnigma> I'm guessing the pointers of bullet puffs are either not sent to clients at all
22:06 <TheEnigma> or, the pointers of an actor spawned by the server rather than clientside, aren't transferred to clientside spawned actors/effects later (which is a major problem).

----------
✂ ✂ ✂ ✂ ✂
----------

22:26 <Dusk> it needs to know the target pointer of the puff?
22:26 <TheEnigma> It needs to know the target, and the rearranged pointers to the tracer.
22:26 <Dusk> okay well the client doesn't know this
22:26 <Dusk> which is why this isn't working
Revision 2014-12-06 17:16 by Dusk
Additional Information
Quote

22:03 <TheEnigma> The bullet tracer code that I put together works wonderfully offline, but has a major fucking freakout online.
22:05 <TheEnigma> I'm guessing the pointers of bullet puffs are either not sent to clients at all
22:06 <TheEnigma> or, the pointers of an actor spawned by the server rather than clientside, aren't transferred to clientside spawned actors/effects later (which is a major problem).

✂ ✂ ✂ ✂ ✂

22:26 <Dusk> it needs to know the target pointer of the puff?
22:26 <TheEnigma> It needs to know the target, and the rearranged pointers to the tracer.
22:26 <Dusk> okay well the client doesn't know this
22:26 <Dusk> which is why this isn't working






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2025 MantisBT Team
Powered by Mantis Bugtracker