Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/base
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-03-09 06:25:55 +1100
committerGitHub <noreply@github.com>2024-03-09 06:25:55 +1100
commit35dc974a8f87057c998f44687586a16147dba654 (patch)
tree7b8ce0977981bcba32c1c4088f0d26389a3cb99c /source/base
parent1cf7baa317e341a3fbca77454aa21a13440470ed (diff)
parent15a12c06a66adca4c953be8af6fc434cb6d2b156 (diff)
Merge pull request #28 from JamesTheMaker/main
Added many new patch features
Diffstat (limited to 'source/base')
-rw-r--r--source/base/StarAssets.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/source/base/StarAssets.cpp b/source/base/StarAssets.cpp
index 2c3d04b..422ea22 100644
--- a/source/base/StarAssets.cpp
+++ b/source/base/StarAssets.cpp
@@ -86,10 +86,21 @@ Assets::Assets(Settings settings, StringList assetSources) {
m_assetSourcePaths.add(sourcePath, source);
for (auto const& filename : source->assetPaths()) {
- if (filename.endsWith(AssetsPatchSuffix, String::CaseInsensitive)) {
- auto targetPatchFile = filename.substr(0, filename.size() - strlen(AssetsPatchSuffix));
- if (auto p = m_files.ptr(targetPatchFile))
- p->patchSources.append({filename, source});
+ if (filename.contains(AssetsPatchSuffix, String::CaseInsensitive)) {
+ if (filename.endsWith(AssetsPatchSuffix, String::CaseInsensitive)) {
+ auto targetPatchFile = filename.substr(0, filename.size() - strlen(AssetsPatchSuffix));
+ if (auto p = m_files.ptr(targetPatchFile))
+ p->patchSources.append({filename, source});
+ } else {
+ for (int i = 0; i < 10; i++) {
+ if (filename.endsWith(AssetsPatchSuffix + toString(i), String::CaseInsensitive)) {
+ auto targetPatchFile = filename.substr(0, filename.size() - strlen(AssetsPatchSuffix) + 1);
+ if (auto p = m_files.ptr(targetPatchFile))
+ p->patchSources.append({filename, source});
+ break;
+ }
+ }
+ }
}
auto& descriptor = m_files[filename];
descriptor.sourceName = filename;