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

View Revisions: Issue #2021 All Revisions ] Back to Issue ]
Summary 0002021: Clients are not made aware of Target pointer if bulletpuff has +PUFFGETSOWNER
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
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 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






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2025 MantisBT Team
Powered by Mantis Bugtracker