DE 2272 overwrites the "game.dei" and causes loss of all custom profiles [game.dei parsing error]

edited 2017 Mar 29 in Technical Support
Once in a while this happens and I don't know why!
Luckily I saved a "game.dei" copy with all my custom profiles on my hard drive, but each time I copy it back in the configs-folder DE won't keep it and overwrites it with a standard version. What can I do?

Comments

  • I can think of a couple of possible problems:
    • Doomsday could sometimes write game.dei before it has been read. I'll ensure that this never happens.
    • Doomsday fails to write the file correctly (which is done when starting a game or when you quit Doomsday) for some reason.
    • There is a problem reading the file (perhaps a syntax error due to unexpected
      contents).
    • There might also be something odd going on with Windows folder/file permissions on your system. Windows is occasionally a bit quirky with that stuff.
    In any case, it would help if you keep an eye on your log files because there may be a clue (e.g., error message) there either during shutdown or startup.
  • One thing that might help here is to make a full verbose log. That would let me see if for example there are some file names with unexpected characters that might confuse either the game.dei parser or the package manager.

    You can do this either by applying the "-vvv" command line option to Doomsday.exe, or by going to "Log Filter & Alerts" and setting the minimum level to "1 - X.Verbose" with Dev enabled, and Filter by Subsystem disabled. Then restart and a complete startup log will be written to doomsday.out. It will be quite large, so please compress it before sharing.
  • Okay, here you go!
  • edited 2017 Mar 28
    [Profiles] Failed to load profiles from "C:\Users\Michael\AppData\Local\Deng Team\Doomsday Engine\runtime\configs\game.dei":
      [SyntaxError] (in Info::parseListElement) List values must be separated with a comma, but '(' found instead (on line 198).
    
    I think this is the culprit here. When the game profiles are written to game.dei, the names of the selected packages were not correctly formatted with respect to the syntax of the file. Thus the parser failed to read the file contents on the next launch.

    Fortunately the fix for this is quite simple. I'll schedule an updated RC build for tomorrow.

    Don't forget to reset your log level settings back to a more reasonable level — the extra verbose messages can slow things down significantly.
  • Build 2278 is out and it should address this problem.

    However, your existing game.dei won't be fixed automatically since it has been written with bad syntax. It can be fixed in a text editor, though, by adding quotes around all package identifiers that have ), (, } or { in them. Here's an example of what the quotes should look like:
    packages <"file.pwad.btsx-e1_0.99.0", "file.deh.btsx-e1_0.2013.731.2124">
    

    Only the packages that have those parenthesis/brace characters need to be quoted, the rest should be parsed correctly anyway.

    Build 2278 and later will write the file using this kind of quotes.
  • Thank you so much! Seems to work fine now.
Sign In or Register to comment.