[Scummvm-git-logs] scummvm master -> 7823d59ca6988b37b03949853a9606b973c32287

aquadran noreply at scummvm.org
Fri Sep 5 14:39:02 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
7823d59ca6 WINTERMUTE: Synced with original code


Commit: 7823d59ca6988b37b03949853a9606b973c32287
    https://github.com/scummvm/scummvm/commit/7823d59ca6988b37b03949853a9606b973c32287
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2025-09-05T16:38:57+02:00

Commit Message:
WINTERMUTE: Synced with original code

Changed paths:
    engines/wintermute/base/particles/part_emitter.cpp
    engines/wintermute/base/particles/part_emitter.h
    engines/wintermute/base/particles/part_particle.cpp
    engines/wintermute/base/particles/part_particle.h


diff --git a/engines/wintermute/base/particles/part_emitter.cpp b/engines/wintermute/base/particles/part_emitter.cpp
index 1038b51fb06..3bde2090c57 100644
--- a/engines/wintermute/base/particles/part_emitter.cpp
+++ b/engines/wintermute/base/particles/part_emitter.cpp
@@ -403,11 +403,11 @@ bool PartEmitter::setBorderThickness(int thicknessLeft, int thicknessRight, int
 }
 
 //////////////////////////////////////////////////////////////////////////
-PartForce *PartEmitter::addForceByName(const Common::String &name) {
+PartForce *PartEmitter::addForceByName(const char *name) {
 	PartForce *force = nullptr;
 
 	for (int32 i = 0; i < _forces.getSize(); i++) {
-		if (scumm_stricmp(name.c_str(), _forces[i]->_name) == 0) {
+		if (scumm_stricmp(name, _forces[i]->_name) == 0) {
 			force = _forces[i];
 			break;
 		}
@@ -415,7 +415,7 @@ PartForce *PartEmitter::addForceByName(const Common::String &name) {
 	if (!force) {
 		force = new PartForce(_game);
 		if (force) {
-			force->setName(name.c_str());
+			force->setName(name);
 			_forces.add(force);
 		}
 	}
@@ -424,7 +424,7 @@ PartForce *PartEmitter::addForceByName(const Common::String &name) {
 
 
 //////////////////////////////////////////////////////////////////////////
-bool PartEmitter::addForce(const Common::String &name, PartForce::TForceType type, int posX, int posY, float angle, float strength) {
+bool PartEmitter::addForce(const char *name, PartForce::TForceType type, int posX, int posY, float angle, float strength) {
 	PartForce *force = addForceByName(name);
 	if (!force) {
 		return STATUS_FAILED;
@@ -442,9 +442,9 @@ bool PartEmitter::addForce(const Common::String &name, PartForce::TForceType typ
 }
 
 //////////////////////////////////////////////////////////////////////////
-bool PartEmitter::removeForce(const Common::String &name) {
+bool PartEmitter::removeForce(const char *name) {
 	for (int32 i = 0; i < _forces.getSize(); i++) {
-		if (scumm_stricmp(name.c_str(), _forces[i]->_name) == 0) {
+		if (scumm_stricmp(name, _forces[i]->_name) == 0) {
 			delete _forces[i];
 			_forces.removeAt(i);
 			return STATUS_OK;
@@ -1217,32 +1217,32 @@ bool PartEmitter::persist(BasePersistenceManager *persistMgr) {
 
 	_sprites.persist(persistMgr);
 
-	uint32 numForces;
+	int32 numForces;
 	if (persistMgr->getIsSaving()) {
 		numForces = _forces.getSize();
-		persistMgr->transferUint32(TMEMBER(numForces));
+		persistMgr->transferSint32(TMEMBER(numForces));
 		for (int32 i = 0; i < _forces.getSize(); i++) {
 			_forces[i]->persist(persistMgr);
 		}
 	} else {
-		persistMgr->transferUint32(TMEMBER(numForces));
-		for (uint32 i = 0; i < numForces; i++) {
+		persistMgr->transferSint32(TMEMBER(numForces));
+		for (int32 i = 0; i < numForces; i++) {
 			PartForce *force = new PartForce(_game);
 			force->persist(persistMgr);
 			_forces.add(force);
 		}
 	}
 
-	uint32 numParticles;
+	int32 numParticles;
 	if (persistMgr->getIsSaving()) {
 		numParticles = _particles.getSize();
-		persistMgr->transferUint32(TMEMBER(numParticles));
+		persistMgr->transferSint32(TMEMBER(numParticles));
 		for (int32 i = 0; i < _particles.getSize(); i++) {
 			_particles[i]->persist(persistMgr);
 		}
 	} else {
-		persistMgr->transferUint32(TMEMBER(numParticles));
-		for (uint32 i = 0; i < numParticles; i++) {
+		persistMgr->transferSint32(TMEMBER(numParticles));
+		for (int32 i = 0; i < numParticles; i++) {
 			PartParticle *particle = new PartParticle(_game);
 			particle->persist(persistMgr);
 			_particles.add(particle);
diff --git a/engines/wintermute/base/particles/part_emitter.h b/engines/wintermute/base/particles/part_emitter.h
index 17d3febcafd..14e5845e467 100644
--- a/engines/wintermute/base/particles/part_emitter.h
+++ b/engines/wintermute/base/particles/part_emitter.h
@@ -111,8 +111,8 @@ public:
 	bool setBorder(int x, int y, int width, int height);
 	bool setBorderThickness(int thicknessLeft, int thicknessRight, int thicknessTop, int thicknessBottom);
 
-	bool addForce(const Common::String &name, PartForce::TForceType type, int posX, int posY, float angle, float strength);
-	bool removeForce(const Common::String &name);
+	bool addForce(const char *name, PartForce::TForceType type, int posX, int posY, float angle, float strength);
+	bool removeForce(const char *name);
 
 	BaseArray<PartForce *> _forces;
 
@@ -123,7 +123,7 @@ public:
 	const char *scToString() override;
 
 private:
-	PartForce *addForceByName(const Common::String &name);
+	PartForce *addForceByName(const char *name);
 	int static compareZ(const void *obj1, const void *obj2);
 	bool initParticle(PartParticle *particle, uint32 currentTime, uint32 timerDelta);
 	bool updateInternal(uint32 currentTime, uint32 timerDelta);
diff --git a/engines/wintermute/base/particles/part_particle.cpp b/engines/wintermute/base/particles/part_particle.cpp
index 26352c1c645..e9eabde51df 100644
--- a/engines/wintermute/base/particles/part_particle.cpp
+++ b/engines/wintermute/base/particles/part_particle.cpp
@@ -69,8 +69,8 @@ PartParticle::~PartParticle() {
 }
 
 //////////////////////////////////////////////////////////////////////////
-bool PartParticle::setSprite(const Common::String &filename) {
-	if (_sprite && _sprite->getFilename() && scumm_stricmp(filename.c_str(), _sprite->getFilename()) == 0) {
+bool PartParticle::setSprite(const char *filename) {
+	if (_sprite && _sprite->getFilename() && scumm_stricmp(filename, _sprite->getFilename()) == 0) {
 		_sprite->reset();
 		return STATUS_OK;
 	}
@@ -252,8 +252,7 @@ bool PartParticle::persist(BasePersistenceManager *persistMgr) {
 	persistMgr->transferSint32(TMEMBER(_fadeStartAlpha));
 
 	if (persistMgr->getIsSaving()) {
-		const char *filename = _sprite->getFilename();
-		persistMgr->transferConstChar(TMEMBER(filename));
+		persistMgr->transferCharPtr(TMEMBER(_sprite->_filename));
 	} else {
 		char *filename;
 		persistMgr->transferCharPtr(TMEMBER(filename));
diff --git a/engines/wintermute/base/particles/part_particle.h b/engines/wintermute/base/particles/part_particle.h
index 947714eee1c..3d987aed63d 100644
--- a/engines/wintermute/base/particles/part_particle.h
+++ b/engines/wintermute/base/particles/part_particle.h
@@ -72,7 +72,7 @@ public:
 	bool update(PartEmitter *emitter, uint32 currentTime, uint32 timerDelta);
 	bool display(PartEmitter *emitter);
 
-	bool setSprite(const Common::String &filename);
+	bool setSprite(const char *filename);
 
 	bool fadeIn(uint32 currentTime, int fadeTime);
 	bool fadeOut(uint32 currentTime, int fadeTime);




More information about the Scummvm-git-logs mailing list