Deadly Premonition: The Director's Cut — Access Games, Windows 2013, as the GOG package 2.1.0.6 — measured as a live installation on a hard drive, in place, read-only. The thirty-first object in this collection and the first that is not a disc.
No game asset, executable, archive member, wave, video frame or save file is in this repository. Only measurements and the code that reproduces them.
| what is on the drive | 958 files, 6,877,549,781 bytes, 286 directories |
| what the object is | 930 files, 6,855,369,290 bytes — the ones the publisher's own manifest declares |
| what is not the object | 28 files, 22,180,491 bytes: 17 mod, 5 the player's, 6 GOG's |
| the program | DP.exe + DPLauncher.exe = 10,809,344 bytes = 0.157677 %, one part in 634 |
| the three masses | film 43.3666 %, archive 32.5104 %, sound 20.8437 % — 96.7204 % together |
| recorded media | 64.2100 % of the object |
| made for Windows | 16.4765 %, of which 98.97 % is audio and two movies |
| leftovers | 321,262,040 = 4.6863 % beyond argument; up to 13.2343 % on a reading |
| absolute build paths | 17,039 from five roots, all Access Games' — second in the collection |
| dates from the filesystem | 937 of 958 inside 243 seconds; two of the 930 declared files say anything |
| personal data in the object | zero addresses in the 930 declared files; six people, all in mod files |
| crossings with 59 repositories | 2 files, 85,972 bytes, both GOG's; zero bytes of game data |
| prediction score | 38 hits, 26 halves, 6 misses = 51.0 of 70 |
The object is defined by goggame-galaxyFileList.ini, the file list GOG Galaxy
wrote at install time. It is the first object in this collection that came with
a statement of its own contents, and the reason is not the publisher: it is the
first one installed through the Galaxy client rather than from an offline
installer. See 01.
It has a reputation, and this is the first object in the collection that does. Deadly Premonition is famous for being broken. The question 15 asks is whether the structure agrees, with a criterion stated before the verdict. Nine indicators fire, seven turn out to be cosmetic, nine acquit, and the answer is that the structure does not confirm the reputation — it confirms a narrower and more specific charge. The code is an ordinary Visual Studio 2008 release build. The box is where every indicator that fires is located.
Thirty-two per cent of it is indexed by the absolute paths of one man's hard
disk. updata\_flink\DPSerial.001/.002/.003 is 2,228,707,120 bytes and
14,328 members, and every member is preceded by 256 bytes holding the path it
had on the machine that built it:
D:\programmer_PC\main\UPDATA/BG/BG.PRM
Fourteen thousand three hundred and twenty-eight of them, all distinct, mixing two path separators because a Windows constant was pasted in front of a console-style relative list. They are not a residue — they are the archive's only index, and the game reads them. 07
The sound exists twice. updata\sound\ and updata\soundex\ hold the
same 643 minutes — 38,592.4 seconds against 38,614.9, a difference of 0.06 % —
in two different formats, one of which Windows cannot decode. Forty-eight
six-channel cues on each side, exactly. Ninety-one music cues on one side and
43 + 20 + 16 + 12 = 91 on the other. 09
A 318-megabyte film is shipped twice under two names, which is 4.6443 % of the object and, on its own, 27.6 times the largest leftover this collection had previously measured. 08
There is a PlayStation 3 inside it. Thirty-two .EDAT licence stubs, three
PARAM.SFO, three sets of XMB icons, two disc codes (BLES01776 and
BLUS30426), and a PlayStation Eye camera-check screen in five languages — in a
Windows game. There is an Xbox 360 in it too: C:\nakai\Work\mmv01\NEW\X360\.
10
It still asks for a disc that was never pressed. DP.exe contains, six
times and in six languages, the message Please insert Rainy Woods disc. —
Rainy Woods being what this game was called in 2007, before it was
withdrawn and remade. It is corroborated by a completely independent
measurement: the four oldest films in the object carry ASF creation dates of
2007-09-10 to 2007-10-12 and are the only ones encoded at 44.1 kHz 24-bit.
05, 08
And a launcher that says TODO: <Company name> in the version resource it
shipped to two storefronts — which is the funniest thing in the object and, on
the criterion this repository uses, evidence of nothing.
05
| 00 — The predictions | Seventy bets written before a byte was read |
| 01 — The object | The first one that came with a list of itself |
| 02 — The spec sheet | Every figure with the command that makes it again |
| 03 — The two repairs | DPfix 2013, DXVK 2024, and the second covered the first |
| 04 — The dates | A filesystem that says nothing, and four clocks that do |
| 05 — The two binaries | A placeholder, a missing resource, and a window title |
| 06 — The dependencies | Three libraries that are not here |
| 07 — The archive | 14,328 paths from one machine, and they are the index |
| 08 — The film | Three strata, and one duplicate worth 318 megabytes |
| 09 — The sound | The same ten hours and forty-three minutes, twice |
| 10 — The shapes and the languages | Eleven formats, six languages, and a console that keeps turning up |
| 11 — The paths | Seven drive letters, and one that names a person |
| 12 — The crossings and the Saga | Two files of 577, and the third port measured |
| 13 — The tools | 149 of 226 did not apply, and the one that said zero was wrong |
| 14 — The leftovers | 321 megabytes beyond argument, and possibly 907 |
| 15 — The reputation | Nine fire, seven do not, nine acquit |
| 16 — The thesis | 64.2100 % media, 0.157677 % program, 16.4765 % made for the PC |
| 17 — The corrections | Fourteen in the pre-briefing, five of my own |
| 18 — The open questions | Four untouchable, six opened |
| 19 — The scoring | 38 / 26 / 6 = 51.0 of 70 |
226 Python files in tools/, classified by
python tools/toolclass.py, which refuses to print until every one of them is
in exactly one class.
Six were written for this object: gogmanifest.py (the publisher's file
list against a directory walk — written and run first, because it defines what
the object is), dpserial.py (the archive, read two independent ways that are
made to agree on all 14,328 records), xact.py (Microsoft's WBND/SDBK/
XGSF), xsb2.py (the sound format that is not Microsoft's, derived from the
bytes and closing on the byte on 13 of 13 banks), asf.py (41 Windows Media
headers, no frame decoded), deps.py (an import table against the folder,
Windows, and the manifest).
One was repaired: buildpaths.py gained an opt-in --mixed-separators,
because run intact it reports zero paths inside an archive that contains
14,328 of them. The default is untouched so fifteen previous objects' numbers
stay comparable.
One hundred and forty-nine do not apply — sixty-nine because this is not a disc, eighty because the object contains no such structure. That is the single largest movement in the toolbox's history and it happened in one step.
Everything takes the installation directory as its argument and writes nothing to it.
python tools/gogmanifest.py --root "<install dir>"
python tools/dpserial.py "<install dir>/updata/_flink/DPSerial.001" ... --walk
python tools/asf.py "<install dir>/updata/movie"
python tools/xact.py "<install dir>/updata/soundex"
python tools/xsb2.py "<install dir>/updata/sound"
python tools/deps.py "<install dir>/DP.exe" --root "<install dir>"
python tools/discpair.py "<install dir>/updata/sound" "<install dir>/updata/soundex"
Raw outputs are in notes/.
Part of pc-gamelist-doc.