[Scummvm-cvs-logs] CVS: scummvm/sky logic.cpp,1.27,1.28

Oliver Kiehl olki at users.sourceforge.net
Sat May 24 12:10:03 CEST 2003


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv30014

Modified Files:
	logic.cpp 
Log Message:
add fnInteract


Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/logic.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- logic.cpp	24 May 2003 18:48:43 -0000	1.27
+++ logic.cpp	24 May 2003 18:56:19 -0000	1.28
@@ -1092,8 +1092,18 @@
 	error("Stub: fnIdle");
 }
 
-uint32 SkyLogic::fnInteract(uint32 a, uint32 b, uint32 c) {
-	error("Stub: fnInteract");
+uint32 SkyLogic::fnInteract(uint32 targetId, uint32 b, uint32 c) {
+	_compact->mode += 4; // next level up
+	_compact->logic = L_SCRIPT;
+	Compact *cpt = SkyState::fetchCompact(targetId);
+
+	uint16 *scriptNo = (uint16 *)SkyCompact::getCompactElem(_compact, C_BASE_SUB + _compact->mode);
+	uint16 *offset   = (uint16 *)SkyCompact::getCompactElem(_compact, C_BASE_SUB + _compact->mode + 2);
+
+	*scriptNo = cpt->actionScript;
+	*offset = 0;
+
+	return 0;
 }
 
 uint32 SkyLogic::fnStartSub(uint32 a, uint32 b, uint32 c) {





More information about the Scummvm-git-logs mailing list