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

summaryrefslogtreecommitdiff
path: root/source/base/StarPackedAssetSource.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-08-01 20:23:48 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-08-01 20:23:48 +1000
commitb4b2219aedc56e3e6958d18a522f697a92799829 (patch)
tree065d76fd985980d54525bef8efeb1376acd624e1 /source/base/StarPackedAssetSource.cpp
parent678a4619044a0f9f8decfeddd555e7b2d7084a0c (diff)
Log file path in libpng errors & warnings properly
Diffstat (limited to 'source/base/StarPackedAssetSource.cpp')
-rw-r--r--source/base/StarPackedAssetSource.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/source/base/StarPackedAssetSource.cpp b/source/base/StarPackedAssetSource.cpp
index b335c2f..59e64cc 100644
--- a/source/base/StarPackedAssetSource.cpp
+++ b/source/base/StarPackedAssetSource.cpp
@@ -95,8 +95,8 @@ StringList PackedAssetSource::assetPaths() const {
IODevicePtr PackedAssetSource::open(String const& path) {
struct AssetReader : public IODevice {
- AssetReader(FilePtr file, StreamOffset offset, StreamOffset size)
- : file(file), fileOffset(offset), assetSize(size), assetPos(0) {
+ AssetReader(FilePtr file, String path, StreamOffset offset, StreamOffset size)
+ : file(file), path(path), fileOffset(offset), assetSize(size), assetPos(0) {
setMode(IOMode::Read);
}
@@ -119,6 +119,10 @@ IODevicePtr PackedAssetSource::open(String const& path) {
return assetPos;
}
+ String deviceName() const override {
+ return strf("{}:{}", file->deviceName(), path);
+ }
+
bool atEnd() override {
return assetPos >= assetSize;
}
@@ -133,6 +137,7 @@ IODevicePtr PackedAssetSource::open(String const& path) {
}
FilePtr file;
+ String path;
StreamOffset fileOffset;
StreamOffset assetSize;
StreamOffset assetPos;
@@ -142,7 +147,7 @@ IODevicePtr PackedAssetSource::open(String const& path) {
if (!p)
throw AssetSourceException::format("Requested file '{}' does not exist in the packed assets file", path);
- return make_shared<AssetReader>(m_packedFile, p->first, p->second);
+ return make_shared<AssetReader>(m_packedFile, path, p->first, p->second);
}
ByteArray PackedAssetSource::read(String const& path) {