Thank you. I wasn't sure on that point, and I appreciate you calling it out.
Looking at a snippet of the problematic demo in 1W (disoriented's):
<Demos SavedGameID='37479' IsHidden='0' DescriptionMessage='...' ShowSequenceNo='0' BeginTurnNo='0' EndTurnNo='112' Checksum='957350976' Flags='2748447' DemoID='22304'/>
The issue is the large Flags value. This value should never be greater than 31, as there are only 5 bitflags defined at this point (1,2,4,8,16) in DbDemos.h.
The "
Challenge completed"
bit is set by the large value.
This particular demo was created on 10/04/2013. Appears some bad values somehow got into that Flags data field at some point. Maybe a bad dev build. Or possibly an OS-specific issue?
A perusal of the current codebase, and nothing leaps out at me as potentially going wrong with the Flags value.
---
But to address your point, my fix should address all of these, as long as a given demo hasn't been downloaded and hidden yet.
---
Some cleanup could be done server-side (say, setting Flags to 2 if it's >
31?). That could likely be a lot of work, actually. It might not be worth the effort, given that a fix for this issue is now going out. Now the bad data values should be benign.
____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
[Last edited by mrimer at 10-31-2020 06:00 AM]