Repository navigation
ReNight v0.3
UI and workflow changes
The mod list UI has been replaced with a two-column table instead of a single text list. Filenames are displayed in the left column, and the status tag (SL)/(CPY)/(ONL) is displayed in the right column with consistent alignment. Rows are selectable as whole rows, and the table is read-only.
The Import button is now stateful. It is disabled when there is no valid selection, changes its label to reflect the current selection (single WAD vs batch), and provides immediate success/failure feedback before returning to idle.
The Help dialog now includes explicit actions at the bottom: “Check for updates” and “Report a bug”.
Per-user config and state (file placement and migration)
Configuration and mod metadata are no longer stored next to the executable. They are stored in a per-user directory and are created automatically if missing. If legacy side-by-side files exist next to the executable, they are copied into the new per-user location on first run.
This avoids breaking config/state when the executable is moved or replaced, and avoids writing into install directories.
Import and file handling behavior
Copy mode now handles filename collisions safely. If a destination filename already exists and the contents differ, the imported file is written under a unique name (name-2.wad, name-3.wad, etc.) rather than overwriting an unrelated WAD.
A persistent mod metadata database is now maintained. For copy imports, the tool records the original source path and MD5, which later allows the UI to classify entries more reliably even if the PWADs folder layout changes.
Mod list classification changes
In v0.02, (CPY) detection was effectively “does a file with the same name exist at the PWAD root”. In v0.3, classification is recomputed more robustly:
(SL)if the Nightdive entry is a symlink.(CPY)if the file can be validated against recorded metadata (source still exists), or if it can be matched by MD5 against candidates under the PWAD tree (recursive).(ONL)otherwise.
Metadata entries are garbage-collected when the corresponding Nightdive file disappears, so the database does not silently accumulate stale records.
Live refresh (filesystem monitoring)
The application now watches the Nightdive folder and the PWAD folder tree (recursively) for changes and debounces refreshes. The mod list updates automatically when WADs are added, removed, renamed, or replaced on disk.
Deletion safeguards
Deleting one or more (ONL) entries triggers an explicit warning confirmation, because those files are not known to exist anywhere else in the user’s PWAD tree. Deleting (SL) and (CPY) entries proceeds without that warning.
Build and distribution
ReNight is now distributed as a compiled native executable built with Nuitka (Python-to-C/C++ compilation plus native linking).