[Scummvm-git-logs] scummvm master -> 5d0206b9c297837fddb038601bdfb42b0fcb8016

sev- sev at scummvm.org
Fri Nov 1 10:06:34 CET 2019


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:
5d0206b9c2 SCUMM HE: MBC: Read arrays from JSON upon receiving


Commit: 5d0206b9c297837fddb038601bdfb42b0fcb8016
    https://github.com/scummvm/scummvm/commit/5d0206b9c297837fddb038601bdfb42b0fcb8016
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2019-11-01T10:06:04+01:00

Commit Message:
SCUMM HE: MBC: Read arrays from JSON upon receiving

Changed paths:
    engines/scumm/he/moonbase/net_main.cpp


diff --git a/engines/scumm/he/moonbase/net_main.cpp b/engines/scumm/he/moonbase/net_main.cpp
index 4df7dd6..d4ad67a 100644
--- a/engines/scumm/he/moonbase/net_main.cpp
+++ b/engines/scumm/he/moonbase/net_main.cpp
@@ -548,7 +548,20 @@ bool Net::remoteReceiveData() {
 			// and unpack it into an scumm array :-)
 
 			newArray = _vm->findFreeArrayId();
-			//unpackageArray(newArray, _packbuffer, datalen);
+
+			int dim1start = _packetdata->child("data")->child("dim1start")->asIntegerNumber();
+			int dim1end   = _packetdata->child("data")->child("dim1end")->asIntegerNumber();
+			int dim2start = _packetdata->child("data")->child("dim2start")->asIntegerNumber();
+			int dim2end   = _packetdata->child("data")->child("dim2end")->asIntegerNumber();
+			int atype     = _packetdata->child("data")->child("type")->asIntegerNumber();
+
+			byte *data = _vm->defineArray(newArray, atype, dim2start, dim2end, dim1start, dim1end);
+
+			int32 size = (dim1end - dim1start + 1) * (dim2end - dim2start + 1);
+
+			for (int i = 0; i < size; i++)
+				*data++ = _packetdata->child("data")->child("data")->asArray()[i]->asIntegerNumber();
+
 			memset(_tmpbuffer, 0, 25 * 4);
 			WRITE_UINT32(_tmpbuffer, newArray);
 





More information about the Scummvm-git-logs mailing list