View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0003462 | Spring engine | General | public | 2013-02-13 04:43 | 2017-04-26 12:25 | ||||
Reporter | user744 | ||||||||
Assigned To | Kloot | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | unable to reproduce | ||||||
Product Version | 92.0 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0003462: ArchiveCache.lua not updated when mod dependencies are changed | ||||||||
Description | When a dependency is removed from modinfo.lua, spring still wants to use it. If that file was deleted, Spring complains about " Incorrect/Missing content" | ||||||||
Steps To Reproduce | Make mod that depends on blabla file: modinfo.lua: depend = { "cursors.sdz", "blabla", } Delete blabla file: Spring correctly complains about missing content. Remove the "blabla" line: Spring will still not load the mod. | ||||||||
Additional Information | Deleting ArchiveCache.lua fixes it and afterwards the entry in ArchiveCache.lua is correctly recreated. Still potentially annoying for users of modding tools like ToolBox, FeaturePlacer,... example: { name = "SpringBrickcraft.sdd", path = [[C:\Spiele\springcontent\games\]], modified = "1357224124", checksum = "2784258217", archivedata = { description = "Brick-Craft FUCK YEAH", game = "BrickCraft", modtype = 1, name = "BrickCraft Brick-Craft S D D dev", shortgame = "BC", shortname = "BC", version = "Brick-Craft S D D dev", depend = { "cursors.sdz", xxx "Spring Features", }, }, }, xxx = if that line is not in modinfo.lua anymore, it should also not be in ArchiveCache.lua anymore | ||||||||
Tags | No tags attached. | ||||||||
Checked infolog.txt for Errors | |||||||||
Attached Files |
|
![]() |
||||||
|
![]() |
|
Kloot (developer) 2013-02-13 16:31 |
Sounds like a Windows filesystem issue. ArchiveScanner always compares an archive's (for example an .sdd dir) last modification time to the timestamp value in ArchiveCache (if it exists), and if they don't match the archive and its dependency list from mod/mapinfo are read from the archive (instead of from the cache) and the cache will be rewritten --> dead dependencies get cleaned up automatically. Therefore this can only happen if the OS does not update a directory's modification time when a file inside it changes. |
Kloot (developer) 2013-02-13 16:32 |
not reproducable on Linux, so blame MS |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2013-02-13 04:43 |
|
New Issue | |
2013-02-13 16:31 | Kloot | Note Added: 0009784 | |
2013-02-13 16:32 | Kloot | Note Added: 0009785 | |
2013-02-13 16:32 | Kloot | Status | new => closed |
2013-02-13 16:32 | Kloot | Assigned To | => Kloot |
2013-02-13 16:32 | Kloot | Resolution | open => unable to reproduce |
2017-04-26 12:25 | Kloot | Relationship added | duplicate of 0005537 |