Repository navigation
DiscWright 0.10.0
Almost everything here came from one person's list of suggestions, and the one real bug among them had been there since folders of game files were first supported.
A disc you can get into
AutoPlay is switched off on a great many machines, and on those a DiscWright disc looked like a folder of installers with no obvious way in. The menu sits one level down in AUTORUN, where nobody browsing a disc would think to open it.
Every disc now carries Start Here.hta at its root. Double-click it and the menu opens.
E:\
├─ autorun.inf
├─ Start Here.hta <-- new
├─ HollowKnight.ico
├─ setup_hollow_knight_....exe
└─ AUTORUN\
└─ menu.hta the menu itself, where it always was
It starts the real menu rather than being a second copy of it, and autorun.inf is untouched, so a disc behaves exactly as before wherever AutoPlay does work.
A disc that can prove it is still what you burned
A new checksummed tick writes checksums.sha256 at the disc root, listing the SHA-256 of every other file.
A disc cannot tell you it has gone bad, and a copy taken off one years later gives no sign either way.
It is written in the format sha256sum has used for decades, so nothing from DiscWright is needed to read it, which rather matters for a file whose job is to still be useful in twenty years:
sha256sum -c checksums.sha256
and on a Windows machine with nothing installed, the file prints a short PowerShell loop in its own header that does the same. Change one byte in one file and that file, and only that file, comes back FAILED.
Off by default, because it costs one pass over the data: a few seconds for a CD, a few minutes for a full Blu-ray.
Fixed
A folder of game files given "no installer" offered a button that could never work. That choice was supposed to give the menu an Open Folder button. Instead it offered Play, which built its path from an installer that did not exist, resolved to the disc root, and reported the game missing. Every time. Meanwhile the Open Folder button meant to replace it was written behind a condition that excluded the only kind of entry that could ever need it, so it had never once appeared.
A long game name lost its tail. The menu cut every name at twenty characters, so The Witcher 3 Wild Hunt - Game of the Year Edition arrived as THE WITCHER 3 WILD .... A longer name now steps down a size and wraps onto a second line.
Smaller things
| Game name | a new tick hides the game's name above the menu buttons. Not the same as the title on the artwork, which draws onto the picture |
| Hover text | every tick box and list on the window now says what it does and what it costs. Thirteen of the eighteen had nothing at all |
| Project files | schema 12, for the two new settings. Projects written by older versions open as they always did, and build the disc they always built |
Thanks
To xniwo on GitHub, who opened issue #98 with ten suggestions and then, when asked, went to the trouble of reproducing the worst of them in detail with screenshots.
Five of the changes above are his, and two more went out in 0.9.2. The Open Folder bug in particular was invisible from the inside: there were tests driving a disc of three folders of game files, but every one of those folders had an executable to run, so the one setting he picked, no installer at all, had never been tried. He found it on his first afternoon with it. Thank you.
Checksums
| artifact | sha256 |
|---|---|
DiscWright-0.10.0.zip |
18b383a88d602a9018a07792e8a731aac5efc7e0bfc841c5f9d881d7da525810 |
DiscWright-0.10.0-setup.exe |
d4863b832f7c3153c35d733921a69c063362dc29f07437bc27b3cbef3e642c98 |
What was tested, and where
725 logic tests and 116 window tests, all passing, plus a parse check over every script under Windows PowerShell 5.1 and PSScriptAnalyzer with no errors. The logic suite and the static checks ran on the machine the release was cut on; the window suite ran on a Windows 11 test VM.
The downloaded installer was installed, started, and uninstalled on a clean Windows 11 that had never seen DiscWright, and the zip was unpacked and started there too, where its window title read DiscWright 0.10.0. Both artifacts were hashed after download and match what the tag build produced.