-
Notifications
You must be signed in to change notification settings - Fork 363
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug with autosaves #305
Comments
I use windows 10 pro x64 v2004, doom 3 v1.3.1 steam version, i renamed doom3.exe to doom3.bak.exe and renamed dhewm3.exe to doom3.exe, and language in spanish. I use dhewm3 v1.5.1 rc2, the latest. Do you need my hardware specs? |
Thanks! |
ok. thanks, the project is awesome! |
I just remembered one more thing: Can you tell me the whole path of the savegame directory and also its contents? |
yes, that is the path. |
So the username is exactly "rakantoh", no special characters or anything? Can you tell me all the Alpha-Labs related file names in it (as far as I understand even with the bug there should be at least one savegame)? |
Thanks! Damn, it looks like it uses the localized level names (so in your case spanish ones) for the autosaves.. that probably causes the problem.
I'll try to fix this when I have some time, that probably won't be straightforward.. |
yeah, i use manual saves, however i want to say you the bug for you knowledge and further fixes. |
I think I have a fix for that problem, can you test it? |
ok, i will test now. |
Ok, i played the alpha labs again and the fix works! now the game created the alpha labs autosaves correctly, without replacing each them. Thanks! great job! |
Awesome, thanks a lot for testing! |
idSessionLocal::SaveGame() uses saveName for both the description in savegames/bla.txt and the filename itself ("bla" in this case), which is a "scrubbed" version of that string ("file extension" removed, problematic chars replaced with '_'). In case of Autosaves, MoveToNewMap() passes a translated name of the map as saveName, which makes sense for the description, but not so much for the filename. In Spanish the Alpha Labs names are like "LAB. ALFA 1", "LAB. ALFA 2" .. and everything after "LAB" is cut off as a file extension - so every autosave of an Alpha Labs part overwrites the last one, as they all get the same name... The solution is to pass an additional (optional) argument saveFileName to idSessionLocal::SaveGame(), and for autosaves pass the mapname (which is the filename without .map; yes, it might contain slashes, but the scrubber will turn them into _) instead of the translated name as saveFileName.
I already played until alpha labs sector 4, in each stage the game creates an autosave in the beginning of the stage, but the alpha labs have a problem, in sector 1, it creates the autosave of alpha labs sector 1, when i pass the alpha labs sector 1 and i go to the alpha labs sector 2, the game creates the autosave of the alpha labs sector 2, but the autosave of sector 1 dissapears, the autosave of sector 2 rewrite the autosave of sector 1, and the autosave of sector 3 do the same with the autosave of sector 2, and the autosave of sector 4 do the same with the autosave of sector 3.
This is a bug of dhewn3.
The text was updated successfully, but these errors were encountered: