[Scummvm-cvs-logs] SF.net SVN: scummvm: [25302] scummvm/trunk/engines/lure

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Wed Jan 31 03:34:55 CET 2007


Revision: 25302
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25302&view=rev
Author:   dreammaster
Date:     2007-01-30 18:34:55 -0800 (Tue, 30 Jan 2007)

Log Message:
-----------
Expanded the chute animation to display the full sequence as the player leaves the dungeon

Modified Paths:
--------------
    scummvm/trunk/engines/lure/game.cpp
    scummvm/trunk/engines/lure/game.h

Modified: scummvm/trunk/engines/lure/game.cpp
===================================================================
--- scummvm/trunk/engines/lure/game.cpp	2007-01-31 02:33:20 UTC (rev 25301)
+++ scummvm/trunk/engines/lure/game.cpp	2007-01-31 02:34:55 UTC (rev 25302)
@@ -251,11 +251,8 @@
 }
 
 void Game::playerChangeRoom() {
-	OSystem &system = System::getReference();
 	Resources &res = Resources::getReference();
-	Screen &screen = Screen::getReference();
 	Room &room = Room::getReference();
-	Mouse &mouse = Mouse::getReference();
 	ValueTableData &fields = res.fieldList();
 	SequenceDelayList &delayList = Resources::getReference().delayList();
 
@@ -272,22 +269,10 @@
 
 	int animFlag = fields.getField(ROOM_EXIT_ANIMATION);
 	if (animFlag == 1)
-	{
-		Palette palette(CHUTE_PALETTE_ID);
-		AnimationSequence *anim = new AnimationSequence(screen, system, 
-			CHUTE_ANIM_ID, palette, false);
-		mouse.cursorOff();
-		anim->show();
-		mouse.cursorOn();
-	} else if (animFlag != 0)
-	{
-		Palette palette(BARREL_PALETTE_ID);
-		AnimationSequence *anim = new AnimationSequence(screen, system, 
-			BARREL_ANIM_ID, palette, false);
-		mouse.cursorOff();
-		anim->show();
-		mouse.cursorOn();
-	}
+		displayChuteAnimation();
+	else if (animFlag != 0)
+		displayBarrelAnimation();
+	fields.setField(ROOM_EXIT_ANIMATION, 0);
 
 	// Change to the new room
 	Hotspot *player = res.getActiveHotspot(PLAYER_ID);
@@ -299,6 +284,53 @@
 	room.setRoomNumber(roomNum, false);
 }
 
+void Game::displayChuteAnimation()
+{
+	OSystem &system = System::getReference();
+	Resources &res = Resources::getReference();
+	Screen &screen = Screen::getReference();
+	Mouse &mouse = Mouse::getReference();
+
+	ValueTableData &fields = res.fieldList();
+	Palette palette(CHUTE_PALETTE_ID);
+
+	debugC(ERROR_INTERMEDIATE, kLureDebugAnimations, "Starting chute animation");
+	mouse.cursorOff();
+
+	AnimationSequence *anim = new AnimationSequence(screen, system, 
+		CHUTE_ANIM_ID, palette, false);
+	anim->show();
+	delete anim;
+	
+	anim = new AnimationSequence(screen, system, CHUTE2_ANIM_ID, 
+		palette, false);	
+	anim->show();
+	delete anim;
+
+	anim = new AnimationSequence(screen, system, CHUTE3_ANIM_ID, 
+		palette, false);	
+	anim->show();
+	delete anim;
+
+	mouse.cursorOn();
+	fields.setField(82, 1);
+}
+
+void Game::displayBarrelAnimation()
+{
+	OSystem &system = System::getReference();
+	Screen &screen = Screen::getReference();
+	Mouse &mouse = Mouse::getReference();
+
+	debugC(ERROR_INTERMEDIATE, kLureDebugAnimations, "Starting barrel animation");
+	Palette palette(BARREL_PALETTE_ID);
+	AnimationSequence *anim = new AnimationSequence(screen, system, 
+		BARREL_ANIM_ID, palette, false);
+	mouse.cursorOff();
+	anim->show();
+	mouse.cursorOn();
+}
+
 void Game::handleClick() {
 	Resources &res = Resources::getReference();
 	Room &room = Room::getReference();

Modified: scummvm/trunk/engines/lure/game.h
===================================================================
--- scummvm/trunk/engines/lure/game.h	2007-01-31 02:33:20 UTC (rev 25301)
+++ scummvm/trunk/engines/lure/game.h	2007-01-31 02:34:55 UTC (rev 25302)
@@ -52,6 +52,8 @@
 	void doAction(Action action, uint16 hotspotId, uint16 usedId);
 
 	void playerChangeRoom();
+	void displayChuteAnimation();
+	void displayBarrelAnimation();
 	void handleBootParam(int value);
 public:
 	Game();


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