diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-09 17:35:32 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-09 17:35:32 +0100 |
| commit | d5f78a4c2e7b626a492643efd62ddeb394276722 (patch) | |
| tree | cdf38c3d64f6bf417975ce396572fc425d6f8910 /src/util/file_watcher.h | |
| parent | 802e97ee695de1bc8657c5cbca653bb2f13b90a8 (diff) | |
feat: Add debug-only file change detection for rapid iteration
Enables --hot-reload flag to watch config files and notify on changes.
Detects modifications to assets/sequences/music for rebuild workflow.
Completely stripped from release builds (0 bytes overhead).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/util/file_watcher.h')
| -rw-r--r-- | src/util/file_watcher.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/util/file_watcher.h b/src/util/file_watcher.h new file mode 100644 index 0000000..2766a43 --- /dev/null +++ b/src/util/file_watcher.h @@ -0,0 +1,33 @@ +// file_watcher.h - Hot-reload file change detection (debug only) + +#ifndef FILE_WATCHER_H_ +#define FILE_WATCHER_H_ + +#if !defined(STRIP_ALL) + +#include <string> +#include <vector> +#include <ctime> + +class FileWatcher { + public: + FileWatcher() = default; + + void add_file(const char* path); + bool check_changes(); + void reset(); + + private: + struct WatchEntry { + std::string path; + time_t last_mtime; + bool changed; + }; + + std::vector<WatchEntry> files_; + time_t get_mtime(const char* path); +}; + +#endif // !defined(STRIP_ALL) + +#endif // FILE_WATCHER_H_ |
