[Scummvm-git-logs] scummvm master -> 80c635b9214022d6323fe8552da7bdef79f0dbf6

bluegr noreply at scummvm.org
Wed May 28 19:08:05 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:
80c635b921 SCI: Really improve the reg_t initialization sequence


Commit: 80c635b9214022d6323fe8552da7bdef79f0dbf6
    https://github.com/scummvm/scummvm/commit/80c635b9214022d6323fe8552da7bdef79f0dbf6
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2025-05-28T22:07:46+03:00

Commit Message:
SCI: Really improve the reg_t initialization sequence

We can't rely on getSciVersion() being available before the engine
actually starts. Fixes regression from commit 7693e08

Changed paths:
    engines/sci/engine/vm_types.cpp
    engines/sci/engine/vm_types.h


diff --git a/engines/sci/engine/vm_types.cpp b/engines/sci/engine/vm_types.cpp
index 693a63759e2..26422a47803 100644
--- a/engines/sci/engine/vm_types.cpp
+++ b/engines/sci/engine/vm_types.cpp
@@ -27,8 +27,7 @@
 
 namespace Sci {
 
-reg_t::reg_t(SegmentId segment, uint32 offset)
-{
+void reg_t::init(SegmentId segment, uint32 offset) {
 	if (getSciVersion() < SCI_VERSION_3) {
 		_segment = segment;
 		_offset = offset;
diff --git a/engines/sci/engine/vm_types.h b/engines/sci/engine/vm_types.h
index 298baae833c..6e7d23dad93 100644
--- a/engines/sci/engine/vm_types.h
+++ b/engines/sci/engine/vm_types.h
@@ -41,8 +41,7 @@ struct reg_t {
 	SegmentId _segment;
 	uint16 _offset;
 
-	reg_t() = default;
-	reg_t(SegmentId segment, uint32 offset);
+	void init(SegmentId segment, uint32 offset);
 
 	SegmentId getSegment() const;
 	void setSegment(SegmentId segment);
@@ -195,11 +194,15 @@ private:
 };
 
 static inline reg_t make_reg(SegmentId segment, uint16 offset) {
-	return reg_t(segment, offset);
+	reg_t r;
+	r.init(segment, offset);
+	return r;
 }
 
 static inline reg_t make_reg32(SegmentId segment, uint32 offset) {
-	return reg_t(segment, offset);
+	reg_t r;
+	r.init(segment, offset);
+	return r;
 }
 
 #define PRINT_REG(r) (kSegmentMask) & (unsigned) (r).getSegment(), (unsigned) (r).getOffset()




More information about the Scummvm-git-logs mailing list