[Scummvm-git-logs] scummvm master -> 599184ab19e2ff6500c0c7fcbb314a5e7cd0e2b0

sev- sev at scummvm.org
Sat Jan 14 11:24:47 CET 2017


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:
599184ab19 DIRECTOR: Lingo: More portable float reading


Commit: 599184ab19e2ff6500c0c7fcbb314a5e7cd0e2b0
    https://github.com/scummvm/scummvm/commit/599184ab19e2ff6500c0c7fcbb314a5e7cd0e2b0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-14T11:24:39+01:00

Commit Message:
DIRECTOR: Lingo: More portable float reading

Changed paths:
    engines/director/lingo/lingo-code.cpp
    engines/director/lingo/lingo-codegen.cpp


diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index f55c694..9d8509a 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -209,7 +209,7 @@ void Lingo::c_voidpush() {
 void Lingo::c_fconstpush() {
 	Datum d;
 	inst i = (*g_lingo->_currentScript)[g_lingo->_pc];
-	d.u.f = *((double *)&i);
+	d.u.i = READ_UINT32(&i);	// d.u.f value will be read
 	d.type = FLOAT;
 
 	g_lingo->_pc += g_lingo->calcCodeAlignment(sizeof(double));
diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index da5c8de..166bf70 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -101,10 +101,11 @@ Common::String Lingo::decodeInstruction(uint pc, uint *newPc) {
 				}
 			case 'f':
 				{
+					Datum d;
 					i = (*_currentScript)[pc++];
-					double v = *((double *)&i);
+					d.u.i = READ_UINT32(&i);
 
-					res += Common::String::format(" %f", v);
+					res += Common::String::format(" %f", d.u.f);
 					break;
 				}
 			case 'o':





More information about the Scummvm-git-logs mailing list