[Scummvm-cvs-logs] SF.net SVN: scummvm: [24059] scummvm/trunk/engines/agos

kirben at users.sourceforge.net kirben at users.sourceforge.net
Mon Oct 2 03:39:58 CEST 2006


Revision: 24059
          http://svn.sourceforge.net/scummvm/?rev=24059&view=rev
Author:   kirben
Date:     2006-10-01 18:39:50 -0700 (Sun, 01 Oct 2006)

Log Message:
-----------
Add more tiles code for Swampy

Modified Paths:
--------------
    scummvm/trunk/engines/agos/agos.h
    scummvm/trunk/engines/agos/items.cpp
    scummvm/trunk/engines/agos/vga.cpp

Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h	2006-10-02 01:09:50 UTC (rev 24058)
+++ scummvm/trunk/engines/agos/agos.h	2006-10-02 01:39:50 UTC (rev 24059)
@@ -1127,6 +1127,7 @@
 
 	void startOverlayAnims();
 	void startAnOverlayAnim();
+	void startBlock(uint windowNum, uint vga_res, uint vga_sprite_id, uint x, uint y, uint palette);
 
 	bool itemIsSiblingOf(uint16 val);
 	bool itemIsParentOf(uint16 a, uint16 b);

Modified: scummvm/trunk/engines/agos/items.cpp
===================================================================
--- scummvm/trunk/engines/agos/items.cpp	2006-10-02 01:09:50 UTC (rev 24058)
+++ scummvm/trunk/engines/agos/items.cpp	2006-10-02 01:39:50 UTC (rev 24059)
@@ -2511,7 +2511,7 @@
 	uint palette = getVarOrWord();
 
 	if (getBitFlag(96)) {
-		printf("Start Block\n");
+		startBlock(windowNum, vga_res, vgaSpriteId, x, y, palette);
 	} else {
 		loadSprite(windowNum, vga_res, vgaSpriteId, x, y, palette);
 	}

Modified: scummvm/trunk/engines/agos/vga.cpp
===================================================================
--- scummvm/trunk/engines/agos/vga.cpp	2006-10-02 01:09:50 UTC (rev 24058)
+++ scummvm/trunk/engines/agos/vga.cpp	2006-10-02 01:39:50 UTC (rev 24059)
@@ -2927,4 +2927,58 @@
 	_vgaCurZoneNum = file;
 }
 
+void AGOSEngine::startBlock(uint windowNum, uint zoneNum, uint vgaSpriteId, uint x, uint y, uint priority) {
+	VgaSprite *vsp = _vgaSprites;
+	const byte *vcPtrOrg;
+	uint16 tmp;
+	uint i;
+
+	while (vsp->id != 0)
+		vsp++;
+
+	_variableArray[201] = vgaSpriteId;
+
+	if (getBitFlag(95)) {
+		_droppingBlockAnim = vgaSpriteId;
+		_droppingBlockX = _variableArray[202];
+		_droppingBlockY = _variableArray[203];
+		_droppingBlockZ = _variableArray[204];
+		_droppingBlockLength = windowNum;
+		if (windowNum == 1) {
+			priority += 9;
+			y += 10;
+			x += 15;
+		}
+		_droppingBlockCount = 4;
+		_droppingBlockType = 4;
+	}
+
+	for (i = 0; i < windowNum; i++) {
+		vsp->palette = 0;
+		vsp->flags = 0;
+		vsp->priority = 0;
+		vsp->windowNum = 4;
+		vsp->zoneNum = 60;
+		vsp->y = y;
+		vsp->x = x;
+		vsp->id = vgaSpriteId;
+		vsp->image = zoneNum;
+
+		_vgaCurSpriteId = vgaSpriteId;
+		_vgaCurZoneNum = 60;
+
+		tmp = to16Wrapper(priority);
+
+		vcPtrOrg = _vcPtr;
+		_vcPtr = (byte *)&tmp;
+		vc23_setSpritePriority();
+		_vcPtr = vcPtrOrg;
+		
+		vgaSpriteId++;
+		x += 15;
+		y += 10;
+		priority += 8;
+	}
+}
+
 } // End of namespace AGOS


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list