Commit Graph

144 Commits

Author SHA1 Message Date
anth64 503bd21fae Oops, fix merge conflict. 2026-01-11 12:54:46 +01:00
anth64 fe650743b9 'simplify' make file to work across gmake and bmake 2026-01-11 12:51:28 +01:00
anth64 4ae6e533fa Switch gcc to use available c compiler 2026-01-10 16:13:57 +01:00
anth64 0649e287be extract_module_id is now not static 2025-12-20 08:22:41 -05:00
anth64 a7d40929bf Change shutdown return type and hot reload WIP
- stk_shutdown now is a void return type
- detect if the module being loaded/unloaded is an existing module.
2025-11-07 07:55:44 +01:00
anth64 7169dd37b7 hot loading skeleton 2025-11-06 22:34:55 +01:00
anth64 a30eeb7b1c extract_module_id non static -> static 2025-11-06 22:29:15 +01:00
anth64 8d4a506a91 extract_module_id(const char* path) static -> not static 2025-11-06 21:25:47 +01:00
anth64 c95daad754 Simplify Windows event handling
- Use STK_MOD_LOAD/STK_MOD_UNLOAD for Windows events
- Map FILE_ACTION_ADDED/MODIFIED/RENAMED_NEW_NAME to load
- Map FILE_ACTION_REMOVED/RENAMED_OLD_NAME to unload
2025-11-06 20:42:41 +01:00
anth64 13604e3f3e Fix Linux inotify event handling and simplify module events
- Simplify to STK_MOD_LOAD/STK_MOD_UNLOAD event types
- Replace IN_CREATE/IN_MODIFY with IN_CLOSE_WRITE to wait for complete writes
- Update watch flags to IN_CLOSE_WRITE | IN_DELETE | IN_MOVED_TO | IN_MOVED_FROM
2025-11-06 20:06:15 +01:00
anth64 0cf819fc73 stk module id static -> not static 2025-11-06 19:29:20 +01:00
anth64 b5bb6bc707 Fix (*file_list) pointer syntax in Windows code, remove repeated variable, windows code now returns event types 2025-11-05 07:49:57 +01:00
anth64 3b993458d1 Add module ID tracking for hot-reloading
- Add stk_module_ids array to track module IDs by filename.
- extract_module_id() extracts module ID from it's filename.
- Enables tracking of file changes of already loaded modules.
2025-11-04 07:39:20 +01:00
anth64 da4dcee490 Enhance file watching to return event types
- `platform_directory_watch_check` now returns event types along side
  file names/counts
2025-11-03 23:16:32 +01:00
anth64 ec2aa09596 add stk file event enum and definition for stk poll 2025-11-03 21:44:33 +01:00
anth64 35cc5afa9d Module discovery working for real this time
- Tested on Linux
- Allocate module memory before loading anything (seg fault fixed)
2025-11-02 19:41:56 +01:00
anth64 e878819b02 remove diff output 2025-11-02 19:28:16 +01:00
anth64 3c7608ef51 create mod directory if it does not exist. 2025-11-02 19:01:08 +01:00
anth64 5c621c8367 Init/shutdown working
- stk_init/shutdown do what they are supposed to.
- buffer sizes moved to headers
2025-11-02 18:40:33 +01:00
anth64 a0c9cdb577 Windows implementation for platform_directory_init_scan 2025-11-02 13:55:09 +01:00
anth64 4b70f606fa add directory scan function intended for use on startup, Linux only for now 2025-11-02 12:56:02 +01:00
anth64 7d7f02d1be use a constant for the mod dir buffer size 2025-11-02 12:44:10 +01:00
anth64 a66d9f9357 add mod dir 2025-11-02 12:30:26 +01:00
anth64 5ab3da22ae update documentation to have a posix/windows focus. I am big dumb, consoles do not have dlls... 2025-11-02 09:38:12 +01:00
anth64 ed6325598c remove kqueue code, focus on Linux/Windows implementation for now. 2025-11-02 09:29:27 +01:00
anth64 390f1a40bc add kqueue directory start/stop, check is still wip 2025-11-01 18:20:16 +01:00
anth64 f1c6372b3e rename event buffer, add directory watching for windows (WIP/needs testing) 2025-10-31 07:39:11 +01:00
anth64 0e6664ec47 Implement Linux directory watching using inotify 2025-10-29 20:25:45 +01:00
anth64 08b990a16a fix log function name 2025-10-23 23:20:38 +02:00
anth64 bab9887fdb added functions to load/unload modules 2025-10-23 22:20:49 +02:00
anth64 df0954ba0d stk module count function, remove stk_ids since handles will be used as "ids" and typedef for stk module functions 2025-10-23 21:36:49 +02:00
anth64 51ae8c7ab2 change shutdown log msg 2025-10-23 21:18:37 +02:00
anth64 9d8dad7ea1 platform specific dynamic library loading 2025-10-22 19:20:48 +02:00
anth64 8b26742c63 add logging 2025-10-21 00:10:51 +02:00
anth64 a82fb80a99 prevent c++ name mangling 2025-10-21 00:10:20 +02:00
anth64 586733f2eb Makefile detect os (windows/posix) 2025-10-20 22:42:04 +02:00
anth64 9d51be7a18 added docs directory and design roadmap 2025-10-18 17:15:52 -04:00
anth64 4b6c3ffe2f instead of storing modules as a struct, switch to a more "ECS" style of handling modules 2025-10-09 07:55:41 +02:00
anth64 dfa190caea add minimal module struct 2025-10-08 21:58:22 +02:00
anth64 079921091f initial code + Makefile 2025-10-08 19:17:18 +02:00
anth64 4066f3488b add compile flags for lsp 2025-10-08 19:01:44 +02:00
anth64 d8d00b88b8 update gitignore to include build dirs 2025-10-08 19:01:24 +02:00
anth64 9b547c30fe Add README 2025-09-28 16:33:26 +02:00
anth64 7dfa2b1d77 Initial commit 2025-09-28 14:21:06 +00:00