[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