1 | | Thread: https://wildfiregames.com/forum/topic/23009-moddb-mods-api/?do=findComment&comment=355466 |
| 1 | From a forum post by [comment:1 Stan]: |
| 2 | > About that. We need to help modders, as packaging is not as straightforward as modding. I wish I had not wasted time earlier and started packaging because I found at least 3 major bugs with the game by doing so, and it could prevent things from working. |
| 3 | > |
| 4 | > 1. .DELETED files for folders do not work when packaged. |
| 5 | > 2. .DELETED files should not be empty, writing a 'a' is enough, but else they do not get packaged. |
| 6 | > 3. Pyromod installs do not override existing mods so you have to delete the mods to update |
| 7 | > 4. Pyromods are not prioritary compaired to mods, which means you have remove the folders from binaries/data/mods/ each time you want to test |
| 8 | > 5. On windows you have to rely on external tools like https://docs.microsoft.com/en-us/sysinternals/downloads/debugview to see what's wrong |
| 9 | > 6. There is literrally no way to know (on windows) how far you are in the packaging, and even in the logs there is no end message. |
| 10 | > 7. We package a huge number of XMB files that are bigger than xml files though arguably faster, but are not being used (3MB of XML on a 30MB package is quite a lot for useless files) . to see that, try using this diff to remove xml files from the bundle (which would be nice for mods that do not want to be to big or share their templates) It would be nice to have a flag for it |
| 11 | |
| 12 | |
| 13 | {{{ |
| 14 | Index: source/ps/ArchiveBuilder.cpp |
| 15 | =================================================================== |
| 16 | --- source/ps/ArchiveBuilder.cpp |
| 17 | +++ source/ps/ArchiveBuilder.cpp |
| 18 | @@ -144,33 +144,37 @@ void CArchiveBuilder::Build(const OsPath& archive, bool compress) |
| 19 | writer->AddFile(cachedRealPath, cachedPath); |
| 20 | } |
| 21 | |
| 22 | // We don't want to store the original file too (since it's a |
| 23 | // large waste of space), so skip to the next file |
| 24 | continue; |
| 25 | } |
| 26 | |
| 27 | - debug_printf("Adding %s\n", realPath.string8().c_str()); |
| 28 | - writer->AddFile(realPath, path); |
| 29 | - |
| 30 | // Also cache XMB versions of all XML files |
| 31 | if (path.Extension() == L".xml") |
| 32 | { |
| 33 | VfsPath cachedPath; |
| 34 | debug_printf("Converting XML file %s\n", realPath.string8().c_str()); |
| 35 | bool ok = xero.GenerateCachedXMB(m_VFS, path, cachedPath); |
| 36 | ENSURE(ok); |
| 37 | |
| 38 | OsPath cachedRealPath; |
| 39 | ret = m_VFS->GetRealPath(VfsPath("cache")/cachedPath, cachedRealPath); |
| 40 | ENSURE(ret == INFO::OK); |
| 41 | |
| 42 | writer->AddFile(cachedRealPath, cachedPath); |
| 43 | + |
| 44 | + bool AreXmlArchived = false; |
| 45 | + if(!AreXmlArchived) |
| 46 | + continue; |
| 47 | } |
| 48 | + |
| 49 | + debug_printf("Adding %s\n", realPath.string8().c_str()); |
| 50 | + writer->AddFile(realPath, path); |
| 51 | } |
| 52 | } |
| 53 | |
| 54 | Status CArchiveBuilder::CollectFileCB(const VfsPath& pathname, const CFileInfo& UNUSED(fileInfo), const uintptr_t cbData) |
| 55 | { |
| 56 | CArchiveBuilder* self = static_cast<CArchiveBuilder*>((void*)cbData); |
| 57 | self->m_Files.push_back(pathname); |
| 58 | }}} |
| 59 | |
| 60 | From another forum post by [comment:1 Stan]: |
| 61 | |
| 62 | > 1. #5179 |
| 63 | > |
| 64 | > 2. #5159 |
| 65 | > |
| 66 | > 3. #5181 |
| 67 | > |
| 68 | > 4. #5182 |
| 69 | > |
| 70 | > 5. #5161 |
| 71 | > |
| 72 | > 6. #5161 |
| 73 | > |
| 74 | > This ticket |
| 75 | |