Thank you!  This bug is now resolved thanks to your help and Bill Balcerski’s bug report!

It looks like the explosion gets animated in the EXPLODE state.  Then there is a pause in the DEAD state allowing torpedoes to run out.  But then I needed to migrate the user to the OUTFIT state to get back to the “select ship/quit” screen.  I chose 1 second for each of those two states.


I think most of the “client blinking” in the x86 client (that Bill reported) is resolved.  But I’m seeing a huge quantity of “stuff blinking” on the COW client running in a Parallels VM on my Mac.

I’m not sure whether the “stuff blinking” is an artifact of the Parallels VM or a real problem.  In the x86 client case, I was sending unnecessary updates to the client, resulting in continuous redraws.

If someone could pop up a COW client on a native Linux box, point it at netrek.networkmom.net <http://netrek.networkmom.net/>, and report if they see planets/ships on the screen blinking too much, I’d appreciate it.

Darrell


> On Jul 16, 2020, at 2:19 PM, James Cameron <quozl at laptop.org> wrote:
> 
> Looking at Gytha's __init__.py which contains a paste of the protocol
> definition;
> 
> 	SP_PSTATUS, indicates PDEAD state
> 	client animates explosion
> 
> 	SP_PSTATUS, indicates POUTFIT state
> 	clients returns to team selection window
> 
> Looking at Gytha's PhaseFlight class, the event loop exits on POUTFIT
> "# no longer flying".
> 
> Looking at Gytha's nt_play_a_slot "keep playing on a server, until
> user chooses a quit option, or a list option to return to the server
> list", play continues until POUTFIT.
> 
> On Thu, Jul 16, 2020 at 01:55:03PM -0700, Darrell Root wrote:
>> Netrek-dev,
>> 
>> My Swift Netrek server has a compatibility problem with COW and Windows
>> clients.
>> 
>> When a person dies, the clients do not pop up the “choose team” screen.  So
>> people have to disconnect to respawn.
>> The clients also do not show the “you were killed by [WEAPON] from [PLAYER]
>> message when connected to my server.
>> 
>> What message/flag sent from the server triggers that window / message?
>> 
>> I was assuming it was the whydead and whodead fields in the SP_YOU, but so far
>> I haven’t been able to get it working.
>> 
>> Here’s a sequence of SP_YOU messages from [1]pickled.netrek.org <http://pickled.netrek.org/>.  These can be
>> assumed to be correct.  I’ve put the death and respan in BOLD
>> 
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 64 shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 0 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9980 engineTemp 5 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9960 engineTemp 10 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9940 engineTemp 15 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9924 engineTemp 19 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9908 engineTemp 23 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9892 engineTemp 27 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9876 engineTemp 31 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9860 engineTemp 35 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9848 engineTemp 38 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage
>> 103 shieldStrength 100 fuel 9836 engineTemp 41 weaponsTemp 0 whyDead 2 whodead
>> 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 2049 damage
>> 0 shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 2 whodead 6"
>> "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33556481 damage
>> 0 shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 2 whodead 6”
>> 
>> Here’s a sequence of SP_YOU messages from [2]netrek.networkmom.net <http://netrek.networkmom.net/>.
>> 
>> "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage
>> 78 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 0 whodead 0"
>> "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage
>> 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead
>> 0"
>> "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage
>> 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead
>> 0"
>> "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage
>> 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead
>> 0”
>> 
>> …large number of identical messages deleted…
>> 
>> "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage
>> 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead
>> 0"
>> "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage
>> 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead
>> 0"
>> "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage 0
>> shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 0 whodead 0”
>> 
>> (Looks like I need to fix whodead, but 0 is valid so I don’t think that’s the
>> cause).
>> 
>> Could it be PFREFIT?
>> 
>> For reference, here’s the p_flags fields.  While my current implementation is
>> missing red/yellow/green, I don’t see anything relevant.
>> 
>> /* bit masks of p_flags */
>> #define PFSHIELD           0x0001 /*!< shields are up */
>> #define PFREPAIR           0x0002 /*!< repairing damage or shields */
>> #define PFBOMB             0x0004 /*!< bombing planet while orbiting */
>> #define PFORBIT            0x0008 /*!< orbiting planet p_planet */
>> #define PFCLOAK            0x0010
>> #define PFWEP              0x0020
>> #define PFENG              0x0040
>> #define PFROBOT            0x0080
>> #define PFBEAMUP           0x0100
>> #define PFBEAMDOWN         0x0200
>> #define PFSELFDEST         0x0400
>> #define PFGREEN            0x0800
>> #define PFYELLOW           0x1000
>> #define PFRED              0x2000
>> #define PFPLOCK            0x4000       /* Locked on a player */
>> #define PFPLLOCK           0x8000       /* Locked on a planet */
>> #define PFCOPILOT         0x10000       /* Allow copilots */
>> #define PFWAR             0x20000       /* computer reprogramming for war */
>> #define PFPRACTR          0x40000       /* practice type robot (no kills) */
>> #define PFDOCK            0x80000 /*!< docked to a base, p_dock_with valid */
>> #define PFREFIT          0x100000       /* true if about to refit */
>> #define PFREFITTING      0x200000       /* true if currently refitting */
>> #define PFTRACT          0x400000       /* tractor beam activated */
>> #define PFPRESS          0x800000       /* pressor beam activated */
>> #define PFDOCKOK        0x1000000       /* docking permission */
>> #define PFSEEN          0x2000000       /* seen by enemy on galactic map? */
>> /*#define PFCYBORG      0x4000000       a cyborg? 7/27/91 TC */
>> #define PFOBSERV        0x8000000       /* for observers */
>> #define PFTWARP        0x40000000       /* isae -- SB transwarp */
>> 
>> References:
>> 
>> [1] http://pickled.netrek.org/ <http://pickled.netrek.org/>
>> [2] http://netrek.networkmom.net/ <http://netrek.networkmom.net/>
> 
>> _______________________________________________
>> netrek-dev mailing list
>> netrek-dev at us.netrek.org <mailto:netrek-dev at us.netrek.org>
>> http://mailman.us.netrek.org/mailman/listinfo/netrek-dev <http://mailman.us.netrek.org/mailman/listinfo/netrek-dev>
> 
> 
> -- 
> James Cameron
> http://quozl.netrek.org/ <http://quozl.netrek.org/>
> _______________________________________________
> netrek-dev mailing list
> netrek-dev at us.netrek.org <mailto:netrek-dev at us.netrek.org>
> http://mailman.us.netrek.org/mailman/listinfo/netrek-dev <http://mailman.us.netrek.org/mailman/listinfo/netrek-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.us.netrek.org/pipermail/netrek-dev/attachments/20200716/331364ab/attachment-0001.htm>