[Scummvm-git-logs] scummvm master -> c8365a29d45392a0008122acc6d8a34e74ff30eb
aquadran
noreply at scummvm.org
Sun Oct 27 14:21:06 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
c8365a29d4 WINTERMUTE: Improve and correct replacing extensions for geometry and animations
Commit: c8365a29d45392a0008122acc6d8a34e74ff30eb
https://github.com/scummvm/scummvm/commit/c8365a29d45392a0008122acc6d8a34e74ff30eb
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2024-10-27T15:21:00+01:00
Commit Message:
WINTERMUTE: Improve and correct replacing extensions for geometry and animations
Changed paths:
engines/wintermute/ad/ad_actor_3dx.cpp
engines/wintermute/ad/ad_scene_geometry.cpp
diff --git a/engines/wintermute/ad/ad_actor_3dx.cpp b/engines/wintermute/ad/ad_actor_3dx.cpp
index c94f256551b..96531331cbd 100644
--- a/engines/wintermute/ad/ad_actor_3dx.cpp
+++ b/engines/wintermute/ad/ad_actor_3dx.cpp
@@ -2353,13 +2353,11 @@ bool AdActor3DX::mergeAnimations(const char *filename) {
return res;
}
- Common::String animExtFile = PathUtil::getFileNameWithoutExtension(filename);
- animExtFile += ".anim";
+ AnsiString path = PathUtil::getDirectoryName(filename);
+ AnsiString name = PathUtil::getFileNameWithoutExtension(filename);
+ AnsiString animExtFile = PathUtil::combine(path, name + ".anim");
- Common::SeekableReadStream *testFile = BaseFileManager::getEngineInstance()->openFile(animExtFile);
-
- if (testFile) {
- BaseFileManager::getEngineInstance()->closeFile(testFile);
+ if (BaseFileManager::getEngineInstance()->hasFile(animExtFile)) {
return mergeAnimations2(animExtFile.c_str());
} else {
return true;
diff --git a/engines/wintermute/ad/ad_scene_geometry.cpp b/engines/wintermute/ad/ad_scene_geometry.cpp
index 74f7b0e4321..1a2e9f159de 100644
--- a/engines/wintermute/ad/ad_scene_geometry.cpp
+++ b/engines/wintermute/ad/ad_scene_geometry.cpp
@@ -48,6 +48,7 @@
#include "engines/wintermute/base/gfx/3dloader_3ds.h"
#include "engines/wintermute/base/gfx/3dmesh.h"
#include "engines/wintermute/base/gfx/xmath.h"
+#include "engines/wintermute/utils/path_util.h"
#include "engines/wintermute/math/math_util.h"
#include "engines/wintermute/system/sys_class_registry.h"
#include "engines/wintermute/wintermute.h"
@@ -144,11 +145,12 @@ void AdSceneGeometry::cleanup() {
AdGeomExt *AdSceneGeometry::getGeometryExtension(char *filename) {
AdGeomExt *ret = new AdGeomExt(_gameRef);
- Common::String geomExtFile(filename);
- geomExtFile.replace(geomExtFile.size() - 3, 3, "geometry", 0, 8);
+ AnsiString path = PathUtil::getDirectoryName(filename);
+ AnsiString name = PathUtil::getFileNameWithoutExtension(filename);
+ AnsiString geomExtFile = PathUtil::combine(path, name + ".geometry");
bool loadOK = false;
- if (BaseFileManager::getEngineInstance()->openFile(geomExtFile) != nullptr) {
+ if (BaseFileManager::getEngineInstance()->hasFile(geomExtFile)) {
loadOK = ret->loadFile(geomExtFile.begin());
}
More information about the Scummvm-git-logs
mailing list