2020-06-04 17:03 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0006391Spring engineGeneralpublic2020-05-11 17:52
Assigned To 
Product Version104.0 +git 
Target VersionFixed in Version 
Summary0006391: Spring.Reload no longer detects that files have been changed with an archive
DescriptionI understand /luaui reload and /luarules won't refresh the file list, but Spring.Reload should - otherwise we're back to having to restart Spring whenever we add a file which is awful for rapid development.
(This may also be causing some bugs, not sure what people expect Spring.Reload to do)

I think this was done as some kind of optimization when reloading the same archive multiple times, as commenting out https://github.com/spring/spring/blob/9108cae116d0bfd2d1f6529233499d7aadb90ba2/rts/System/FileSystem/VFSHandler.cpp#L345-L353 fixes it
Steps To Reproduce1. Start a game with an .sdd folder
2. Add a file "test" in the root of the game folder
3. write Spring.Echo(VFS.FileExists("test", VFS.ZIP)) in some widget and Reload Spring
4. Expected: true. Actual: false
TagsNo tags attached.
Checked infolog.txt for ErrorsIrrelevant
Attached Files




Google_Frog (reporter)

gajop asked me to comment on this because he might break ZK. I don't have any technical input to impart. I have noticed the issue raised here and find is fairly easy to restart spring on the rare times that I add a file.

I consider the bug relatively unimportant because players don't change their archives. If it can be fixed without increasing the menu->game load time for a sdd-less spring directory then go ahead, otherwise we hit a tradeoff between ease-of-development and player experience.


gajop (developer)

Thanks for the feedback.

In my case with SpringBoard I normally add/remove files in .sdd based projects often enough for this to be a problem. This is user facing (the editor program is adding these files), and it's unfortunate that not even a Reload helps. For certain types of files I can just use VFS.RAW, but for widgets, gadgets and units/features I need Spring to be aware that they've been added.

I think the obvious solution is to keep these optimizations on for .sdz and pool-based archives but to remove them for .sdd folders.

-Issue History
Date Modified Username Field Change
2020-05-10 18:14 gajop New Issue
2020-05-10 18:15 gajop Product Version => 104.0 +git
2020-05-10 18:15 gajop Checked infolog.txt for Errors Irrelevant => Irrelevant
2020-05-11 02:55 Google_Frog Note Added: 0020401
2020-05-11 17:52 gajop Note Added: 0020402
+Issue History