It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Everyone who played Alan Wake more than once probably knows the probem that you can't identify which manuscript page you just picked up if you've found it already on a previous playthrough.
At first I wanted to reset the found manuscript pages without resetting anything else like the coffee thermoses or chests. But soon I realized that I prefer resetting everything with the exception of being able to select nightmare difficulty.
So I took a look at the save files of Alan Wake and this is what I came up with.

The relevant file is "config" stored in "My Documents"(e.g. C:\Users\<username>\Documents) under Remedy\AlanWake. I slightly modifed a basically completely empty "config" file to enable nightmare difficulty. If you copy it to the appropriate location you can start new games in nightmare difficulty and all your statistics and main menu "Extras" "Playback"(manuscript pages, signs, chests, radio shows...) are reset.

AlanWakeConfigNightmareDifficulty.zip

And here is the stuff I figured out about the file format of "config". This will be very brief so don't expect to understand much if you aren't already somewhat familiar with analyzing binary files. Sorry, I'm lazy. ;)

The first 0x38 bytes seem to be options, "Vertical" "Invert" and stuff like that. I did't bother to really dig into this because who cares.
From 0x39 to the sequence "0a 0b 00 00 00 43 41 4e 50..." happens the magic. You may have noticed the last four bytes here are ASCII characters. It's the beginning of the string "CANPYRAMIDS".
I suspect the rest of the file is statistics stuff like "Kills with revolver" but again I didn't look into it since it doesn't matter for my purpose.

Right before "0a 0b 00 00 00 43 41 4e 50..." the found and read manuscript pages is stored.
struct ManuscriptPages
{
uint8_t numberOfFoundPages;
uint8_t foundPageIds[numberOfFoundPages];//the pages are simply numbered consecutively
uint8_t numberOfReadPages;
uint8_t readPageIds[numberOfReadPages];
}

For Instance "03 00 01 07 01 07" means you've found three manuscript pages, the first, the second and the seventh, and you've as yet read only one, the seventh.

So if you want to reset only the manuscript pages, replace the sequence described above with "00 00".

The flag for enabling nightmare difficulty is stored at "beginning of manuscript pages struct" - 0x0f.
The section is resonably recognizable thanks to two obvious floats.
struct
{
uint8_t FIXME_00;//always 1?
uint8_t EnableNightmareDifficulty;//0 disable, 1 enabled
uint8_t FIXME_02;//I've seen the value 1 most of the time, sometimes 3
float FIXME_03;//I've seen 0.5 "00 00 00 3f" and 1.0 "00 00 80 3f"
uint32_t FIXME_07;//always 1?
float FIXME_11;//always 0.5 "00 00 00 3f"?
uint8_t FIXME_015;//I've seen 0 and 1
struct ManuscriptPages pages;
}

Although there are some more sequences similar in structure to struct ManuscriptPages there is also a lot of stuff that I have no idea about what it is and I didn't investigate.

By the way, I know there are tools out there to modify save games slightly but I couldn't find anything describing file formats or one that resets manuscript pages. Although in the end I could have settled for a tool that unlocks nightmare difficulty. Well, maybe this will be useful for someone else if he/she is lucky enough to find it. ;)
Post edited April 09, 2017 by Kuchenschlachter
This is exactly what i was looking for, thank you so much!
You can enable Nightmare easily enough by running the game with the option -developermenu. Just unlock the difficulty, exit, then run the game normally. If you use the command line, you don't even need to temporarily alter the shortcut. I always do this on a new install.