[Scummvm-cvs-logs] SF.net SVN: scummvm: [31648] scummvm/trunk/engines/made

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Mon Apr 21 20:40:28 CEST 2008


Revision: 31648
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31648&view=rev
Author:   thebluegr
Date:     2008-04-21 11:40:28 -0700 (Mon, 21 Apr 2008)

Log Message:
-----------
Code merge

Modified Paths:
--------------
    scummvm/trunk/engines/made/made.cpp
    scummvm/trunk/engines/made/pmvplayer.cpp
    scummvm/trunk/engines/made/pmvplayer.h
    scummvm/trunk/engines/made/screen.cpp
    scummvm/trunk/engines/made/screen.h

Modified: scummvm/trunk/engines/made/made.cpp
===================================================================
--- scummvm/trunk/engines/made/made.cpp	2008-04-21 17:47:00 UTC (rev 31647)
+++ scummvm/trunk/engines/made/made.cpp	2008-04-21 18:40:28 UTC (rev 31648)
@@ -80,7 +80,7 @@
 	if (cd_num >= 0)
 		_system->openCD(cd_num);
 		
-	_pmvPlayer = new PmvPlayer(_system, _mixer);
+	_pmvPlayer = new PmvPlayer(this, _mixer);
 	_res = new ProjectReader();
 	_screen = new Screen(this);
 	_dat = new GameDatabase();

Modified: scummvm/trunk/engines/made/pmvplayer.cpp
===================================================================
--- scummvm/trunk/engines/made/pmvplayer.cpp	2008-04-21 17:47:00 UTC (rev 31647)
+++ scummvm/trunk/engines/made/pmvplayer.cpp	2008-04-21 18:40:28 UTC (rev 31648)
@@ -24,10 +24,11 @@
  */
 
 #include "made/pmvplayer.h"
+#include "made/screen.h"
 
 namespace Made {
 
-PmvPlayer::PmvPlayer(OSystem *system, Audio::Mixer *mixer) : _fd(NULL), _system(system), _mixer(mixer) {
+PmvPlayer::PmvPlayer(MadeEngine *vm, Audio::Mixer *mixer) : _fd(NULL), _vm(vm), _mixer(mixer) {
 }
 
 PmvPlayer::~PmvPlayer() {
@@ -68,7 +69,7 @@
 
 	// Read palette
 	_fd->read(_palette, 768);
-	updatePalette();
+	_vm->_screen->setRGBPalette(_palette);
 
 	uint32 frameCount = 0;
 	uint16 chunkCount = 0;
@@ -144,7 +145,7 @@
 			firstTime = false;
 		}
 
-		updatePalette();
+		_vm->_screen->setRGBPalette(_palette);
 		handleEvents();
 		updateScreen();
 
@@ -153,7 +154,7 @@
 		delete[] frameData;
 
 		while (_mixer->getSoundElapsedTime(_audioStreamHandle) < frameCount * frameDelay) {
-			_system->delayMillis(10);
+			_vm->_system->delayMillis(10);
 		}
 
 	}
@@ -180,7 +181,7 @@
 
 void PmvPlayer::handleEvents() {
 	Common::Event event;
-	while (_system->getEventManager()->pollEvent(event)) {
+	while (_vm->_system->getEventManager()->pollEvent(event)) {
 		switch (event.type) {
 		case Common::EVENT_KEYDOWN:
 			if (event.kbd.keycode == Common::KEYCODE_ESCAPE)
@@ -196,20 +197,9 @@
 	}
 }
 
-void PmvPlayer::updatePalette() {
-	byte colors[1024];
-	for (int i = 0; i < 256; i++) {
-		colors[i * 4 + 0] = _palette[i * 3 + 0];
-		colors[i * 4 + 1] = _palette[i * 3 + 1];
-		colors[i * 4 + 2] = _palette[i * 3 + 2];
-		colors[i * 4 + 3] = 0;
-	}
-	_system->setPalette(colors, 0, 256);
-}
-
 void PmvPlayer::updateScreen() {
-	_system->copyRectToScreen((const byte*)_surface->pixels, _surface->pitch, 0, 0, _surface->w, _surface->h);
-	_system->updateScreen();
+	_vm->_system->copyRectToScreen((const byte*)_surface->pixels, _surface->pitch, 0, 0, _surface->w, _surface->h);
+	_vm->_system->updateScreen();
 }
 
 void PmvPlayer::decompressPalette(byte *palData, byte *outPal, uint32 palDataSize) {

Modified: scummvm/trunk/engines/made/pmvplayer.h
===================================================================
--- scummvm/trunk/engines/made/pmvplayer.h	2008-04-21 17:47:00 UTC (rev 31647)
+++ scummvm/trunk/engines/made/pmvplayer.h	2008-04-21 18:40:28 UTC (rev 31648)
@@ -36,16 +36,17 @@
 
 #include "made/graphics.h"
 #include "made/sound.h"
+#include "made/made.h"
 
 namespace Made {
 
 class PmvPlayer {
 public:
-	PmvPlayer(OSystem *system, Audio::Mixer *mixer);
+	PmvPlayer(MadeEngine *vm, Audio::Mixer *mixer);
 	~PmvPlayer();
 	void play(const char *filename);
 protected:
-	OSystem *_system;
+	MadeEngine *_vm;
 	Audio::Mixer *_mixer;
 	Common::File *_fd;
 	Audio::AppendableAudioStream *_audioStream;
@@ -55,7 +56,6 @@
 	bool _abort;
 	void readChunk(uint32 &chunkType, uint32 &chunkSize);
 	void handleEvents();
-	void updatePalette();
 	void updateScreen();
 	void decompressPalette(byte *palData, byte *outPal, uint32 palDataSize);
 };

Modified: scummvm/trunk/engines/made/screen.cpp
===================================================================
--- scummvm/trunk/engines/made/screen.cpp	2008-04-21 17:47:00 UTC (rev 31647)
+++ scummvm/trunk/engines/made/screen.cpp	2008-04-21 18:40:28 UTC (rev 31648)
@@ -73,7 +73,15 @@
 
 }
 
-void Screen::setPalette(byte *palette, int start, int count) {
+void Screen::setRGBPalette(byte *palette, int start, int count) {
+	byte colors[1024];
+	for (int i = 0; i < count; i++) {
+		colors[i * 4 + 0] = palette[i * 3 + 0];
+		colors[i * 4 + 1] = palette[i * 3 + 1];
+		colors[i * 4 + 2] = palette[i * 3 + 2];
+		colors[i * 4 + 3] = 0;
+	}
+	_vm->_system->setPalette(colors, start, count);
 }
 
 uint16 Screen::updateChannel(uint16 channelIndex) {

Modified: scummvm/trunk/engines/made/screen.h
===================================================================
--- scummvm/trunk/engines/made/screen.h	2008-04-21 17:47:00 UTC (rev 31647)
+++ scummvm/trunk/engines/made/screen.h	2008-04-21 18:40:28 UTC (rev 31648)
@@ -61,7 +61,7 @@
 	void clearScreen();
 	
 	void drawSurface(Graphics::Surface *source, int x, int y);
-	void setPalette(byte *palette, int start, int count);
+	void setRGBPalette(byte *palette, int start = 0, int count = 256);
 
 	uint16 updateChannel(uint16 channelIndex);
 	void deleteChannel(uint16 channelIndex);


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