Announcement: Be excellent to each other.


Caravel Forum : DROD Boards : Bugs : Restore screen stats incorrect (3.1, really)
New Topic New Poll Post Reply
Poster Message
schep
Level: Smitemaster
Avatar
Rank Points: 865
Registered: 03-01-2005
IP: Logged
icon Restore screen stats incorrect (0)  
Today I conquered Terrakept Resonant and went to look at the Restore screens. It claims I conquered the secret room in Thrice Descended, but I certainly don't recall doing so and I have no demo there. I only ever played this hold using 3.1.0.52.1 (trick's full Linux release), and I don't seem to have downloaded any demos.

Also, I skipped a certain finale level, and it showed as 100% explored, 2/2 secrets conquered, even though the Restore screen map only showed two rooms, both non-secret!

I intend to copy my dats over to my debug build to look at what's going on. (But not this weekend.)

Also also, I'm noticing plenty of that bug where the "Best Demos on CaravelNet" widget in the Select Demo Screen seems to be results for a different room than what I selected. This isn't something I can directly debug, but I wouldn't be surprised if it's a client-side issue related to the other bugs here.

10-06-2007 at 04:17 AM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
halyavin
Level: Delver
Rank Points: 52
Registered: 02-20-2006
IP: Logged
icon Re: Restore screen stats incorrect (0)  
I'm noticing plenty of that bug where the "Best Demos on CaravelNet" widget in the Select Demo Screen seems to be results for a different room than what I selected.
It sometimes shows demos for previous selected room. :(
10-06-2007 at 10:30 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
schep
Level: Smitemaster
Avatar
Rank Points: 865
Registered: 03-01-2005
IP: Logged
icon Re: Restore screen stats incorrect (0)  
Update: My ST_PlayerTotal SavedGame has rooms it shouldn't in both the Explored and Conquered lists. My next step will be to write a little utility to dump the ST_PlayerTotal and compare with my 3.0.0 backup, and see if that gives any insights.
10-10-2007 at 03:47 AM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
schep
Level: Smitemaster
Avatar
Rank Points: 865
Registered: 03-01-2005
IP: Logged
icon Re: Restore screen stats incorrect (+1)  
Well, here's the problem. It turns out I explored and conquered all those rooms before I ever imported the hold. That is, a backup version of my 3.0.0 player.dat already has the room IDs in question in my ST_PlayerTotal stats, even though rooms with those IDs don't exist in that DB. So when another hold is added, it generates new room IDs that happen to be premarked as conquered in my player. Looks like I have a few thousand more rooms preconquered, too.

DROD should add the capability of verifying the ST_PlayerTotal SavedGame, in the sense of removing IDs that aren't valid rooms. During database upgrade? At any other times?

But that alone doesn't entirely fix those of us who already have too much progress credited. So in addition, I'm going to figure out a way to recompute my own ST_PlayerTotal SavedGame from scratch, so that only rooms with a SavedGame are counted explored, and only rooms with a victory demo are counted conquered. But DROD shouldn't force that step on anybody, especially since not everyone has always had the 'Save Demo on Room Conquer' option selected. I imagine some other people would choose to do this too, but what form should it take? A redistributable app? A function within DROD that can be invoked with a commandline/drod.ini option?

10-11-2007 at 02:35 AM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: Restore screen stats incorrect (0)  
schep wrote:
Well, here's the problem. It turns out I explored and conquered all those rooms before I ever imported the hold. That is, a backup version of my 3.0.0 player.dat already has the room IDs in question in my ST_PlayerTotal stats, even though rooms with those IDs don't exist in that DB. So when another hold is added, it generates new room IDs that happen to be premarked as conquered in my player. Looks like I have a few thousand more rooms preconquered, too.
Woah...interesting. I'm still trying to understand exactly what you did here, because roomIDs are never recycled in the DB. So, even if ST_PlayerTotal gets some room IDs, and then those rooms are later deleted, then importing new holds will never reuse those IDs, so there isn't an issue here. Did you just transfer your 3.0.0 player.dat into a 3.1 installation over the existing 3.1 player.dat file without the data upgrade process being performed on your 3.0 player.dat? Is so, that's not a supported behavior, and I would expect things to turn out buggy -- just as if someone took 2.0 .dats and put them in a 3.0 install. Some things won't work right.

____________________________
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-11-2007 07:15 PM]
10-11-2007 at 07:14 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
schep
Level: Smitemaster
Avatar
Rank Points: 865
Registered: 03-01-2005
IP: Logged
icon Re: Restore screen stats incorrect (+2)  
I removed all *.dat files before putting in the 3.0.0 backup file. It looks like:
rm ~/.caravel/drod-3_0-custom/*.dat
cp player.dat.backup ~/.caravel/drod-3_0-custom/player.dat
drod-tcb-debug

where drod-tcb-debug is a script that runs a version of 3.1.0.48 which uses drod-3_0-custom/ instead of drod-3_0/. I let that do the upgrade, and close DROD, and run a utility which includes the code:
Click here to view the secret text

(The hard-coded 10001 is my player ID.) And then I get 1386 numbers with stars after them.

Would you like to examine that 3.0.0 player.dat.backup and/or my current 3.1.0 player.dat?

Maybe something involving temporary room objects had IDs assigned but were never committed to database?


[Last edited by schep at 10-11-2007 11:54 PM]
10-11-2007 at 11:52 PM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
schep
Level: Smitemaster
Avatar
Rank Points: 865
Registered: 03-01-2005
IP: Logged
icon Re: Restore screen stats incorrect (+2)  
I still don't have any idea how RoomIDs past the end of my Rooms database view got into the PlayerTotals save. But since other DRODers have been noticing auto-conquered rooms without viewing demos, I'm guessing whatever it is happened to a number of 3.0.0 users.

I've checked in some changes that might help with this issue a bit, and in any case shouldn't harm anybody else. There's a new method DbSavedGames::CleanupPlayerTallies() to remove all invalid Room IDs from all ST_PlayerTotals saves. It gets called
1. At the end of the "3.0.1 to 3.0.2" database format upgrade.
2. Whenever a hold is deleted from the user interface. This part shouldn't be necessary, but:
a) Now that the code is there, it might as well go ahead and keep things simpler, and
b) It provides an indirect way for people who already upgraded to apply this fix.

That is, once this code goes into a 3.1 patch, anybody upgrading from 3.0 won't need to worry about this, but other DRODers will be able to just delete some hold (possibly one created just to be deleted) to make sure this issue doesn't affect the next hold they import.

None of these changes do anything about the damage already done when holds were imported. I'm still thinking of figuring out a way to do something about that, but it can't really be done automatically....

11-01-2007 at 04:00 AM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: Restore screen stats incorrect (0)  
schep wrote:
I still don't have any idea how RoomIDs past the end of my Rooms database view got into the PlayerTotals save. But since other DRODers have been noticing auto-conquered rooms without viewing demos, I'm guessing whatever it is happened to a number of 3.0.0 users.

I've checked in some changes that might help with this issue a bit, and in any case shouldn't harm anybody else. There's a new method DbSavedGames::CleanupPlayerTallies() to remove all invalid Room IDs from all ST_PlayerTotals saves.
Good idea. If this issue keeps occuring in the future, this and your other fix will help us rule out certain possibilities.

____________________________
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.
11-01-2007 at 01:44 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
robin
Level: Smitemaster
Avatar
Rank Points: 842
Registered: 09-01-2004
IP: Logged
icon Re: Restore screen stats incorrect (0)  
I've got a question, and I think it has to do with this topic.

I play DROD on a computer without internet on it,
and often I export my player-file to my laptop (with internet)
and upload my progress to the forum.
I "mastered" TCB and went through the secret level and
on my PC I have 100% for TCB,
but on my laptop I have only 68%
so I went looking and I missed 8 secret-rooms,
which some of them I should have conquered and some I had to discover.
(I don't play DROD on my laptop, because I can't get used to the controls)
Now my question: Why is there a diffirence in % , it should be the same player file

EDIT: I use on both computers 3.1.0.54

____________________________
Click here to view the secret text


[Last edited by robin at 11-02-2007 12:23 AM]
11-02-2007 at 12:22 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores Quote Reply
schep
Level: Smitemaster
Avatar
Rank Points: 865
Registered: 03-01-2005
IP: Logged
icon Re: Restore screen stats incorrect (0)  
In both 3.0 and some builds of 3.1 (I think), viewing another player's demo can incorrectly add to your conquered counts. Did you ever fetch a demo and transfer it back to the PC?

If not, did you play some in 3.0.0 and then upgrade to 3.1? We still don't know whether this other mysterious bug survived to 3.1.
11-02-2007 at 01:53 AM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
jg9000
Level: Delver
Rank Points: 34
Registered: 02-21-2007
IP: Logged
icon Re: Restore screen stats incorrect (0)  
If you need another data point, I am also seeing the bug described in the original post, and can provide 3.1.0.54 dat files with the bug, and the dat files from before the upgrade from 3.0. I only imported the affected hold after performing the upgrade.
schep wrote:
None of these changes do anything about the damage already done when holds were imported. I'm still thinking of figuring out a way to do something about that, but it can't really be done automatically....
Since the restore screen map shows things correctly, that seems to mean that some part of the game correctly knows which rooms haven't been explored. Couldn't you use that data to verify the potentially incorrect data?

11-04-2007 at 07:16 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
robin
Level: Smitemaster
Avatar
Rank Points: 842
Registered: 09-01-2004
IP: Logged
icon Re: Restore screen stats incorrect (0)  
schep wrote:
In both 3.0 and some builds of 3.1 (I think), viewing another player's demo can incorrectly add to your conquered counts. Did you ever fetch a demo and transfer it back to the PC?

yes I did, but not on my laptop, I only watched demo's on the PC.

schep wrote:
If not, did you play some in 3.0.0 and then upgrade to 3.1? We still don't know whether this other mysterious bug survived to 3.1.

I did play in 3.0.0 but not much (untill Under the library I gues), then I upgrated to 3.1.0.54

So then the playerfile, won't save the rooms you accedently conquered by watching a demo from somebody else?

____________________________
Click here to view the secret text

11-05-2007 at 12:21 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores Quote Reply
Tahnan
Level: Smitemaster
Avatar
Rank Points: 2459
Registered: 11-14-2005
IP: Logged

File: screwy-stats.jpg (36 KB)
Downloaded 49 times.
License: Public Domain
icon Re: Restore screen stats incorrect (0)  
Uh, let's pretend this goes here.

Attached is a composite image of the relevant information, namely:

(1) The site thinks that, in The Infested Castle, I've got high scores for 97 of the 95 rooms;
(2) The game seems to think that I've seen 100% of the level but haven't conquered the secret room. Those can't both be true...
11-12-2007 at 06:13 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Rabscuttle
Level: Smitemaster
Avatar
Rank Points: 2460
Registered: 09-10-2004
IP: Logged
icon Re: Restore screen stats incorrect (0)  
Tahnan wrote: ...

1: is most likely due to the spider and the backlog of scores to be checked.

2: They could both be true - you could have found the secret room but not conquered it. (Although that's obviously not the case here)

[Last edited by Rabscuttle at 11-12-2007 06:31 AM]
11-12-2007 at 06:30 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Tahnan
Level: Smitemaster
Avatar
Rank Points: 2459
Registered: 11-14-2005
IP: Logged
icon Re: Restore screen stats incorrect (0)  
Rabscuttle wrote:
2: They could both be true - you could have found the secret room but not conquered it. (Although that's obviously not the case here)
I meant "in this case", yes. I did in fact find the secret room I was missing; so I had not, in fact, explored 100% of the floor. (Is this an import-the-demo thing? I thought that gave you credit for conquering secret rooms you hadn't conquered, not for exploring secret rooms you hadn't explored.)
11-12-2007 at 08:31 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
schep
Level: Smitemaster
Avatar
Rank Points: 865
Registered: 03-01-2005
IP: Logged
icon Re: Restore screen stats incorrect (0)  
Tahnan wrote:
(Is this an import-the-demo thing? I thought that gave you credit for conquering secret rooms you hadn't conquered, not for exploring secret rooms you hadn't explored.)
That bug can do both things, yes. It's just that the conquering is more often noticed, when people are surprised they've suddenly mastered the hold.
11-12-2007 at 03:51 PM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : DROD Boards : Bugs : Restore screen stats incorrect (3.1, really)
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.