[Scummvm-cvs-logs] SF.net SVN: scummvm:[35377] scummvm/trunk/engines/parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Mon Dec 15 08:15:30 CET 2008


Revision: 35377
          http://scummvm.svn.sourceforge.net/scummvm/?rev=35377&view=rev
Author:   peres001
Date:     2008-12-15 07:15:29 +0000 (Mon, 15 Dec 2008)

Log Message:
-----------
Weeded out some more unused code, and some restructuring.

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/debug.cpp
    scummvm/trunk/engines/parallaction/debug.h
    scummvm/trunk/engines/parallaction/graphics.cpp
    scummvm/trunk/engines/parallaction/graphics.h
    scummvm/trunk/engines/parallaction/parallaction.cpp
    scummvm/trunk/engines/parallaction/parallaction.h

Modified: scummvm/trunk/engines/parallaction/debug.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/debug.cpp	2008-12-15 05:16:23 UTC (rev 35376)
+++ scummvm/trunk/engines/parallaction/debug.cpp	2008-12-15 07:15:29 UTC (rev 35377)
@@ -45,7 +45,6 @@
 	DCmd_Register("localflags",	WRAP_METHOD(Debugger, Cmd_LocalFlags));
 	DCmd_Register("locations",	WRAP_METHOD(Debugger, Cmd_Locations));
 	DCmd_Register("gfxobjects",	WRAP_METHOD(Debugger, Cmd_GfxObjects));
-	DCmd_Register("set", 		WRAP_METHOD(Debugger, Cmd_Set));
 	DCmd_Register("programs", 	WRAP_METHOD(Debugger, Cmd_Programs));
 
 }
@@ -204,17 +203,6 @@
 	return true;
 }
 
-bool Debugger::Cmd_Set(int argc, const char** argv) {
-
-	if (argc < 3) {
-		DebugPrintf("set <var name> <value>\n");
-	} else {
-		_vm->_gfx->setVar(Common::String(argv[1]), atoi(argv[2]));
-	}
-
-	return true;
-}
-
 bool Debugger::Cmd_Programs(int argc, const char** argv) {
 
 	ProgramList::iterator b = _vm->_location._programs.begin();

Modified: scummvm/trunk/engines/parallaction/debug.h
===================================================================
--- scummvm/trunk/engines/parallaction/debug.h	2008-12-15 05:16:23 UTC (rev 35376)
+++ scummvm/trunk/engines/parallaction/debug.h	2008-12-15 07:15:29 UTC (rev 35377)
@@ -28,8 +28,6 @@
 	bool Cmd_GlobalFlags(int argc, const char **argv);
 	bool Cmd_Locations(int argc, const char **argv);
 	bool Cmd_GfxObjects(int argc, const char **argv);
-	bool Cmd_GfxFeature(int argc, const char** argv);
-	bool Cmd_Set(int argc, const char** argv);
 	bool Cmd_Programs(int argc, const char** argv);
 };
 

Modified: scummvm/trunk/engines/parallaction/graphics.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/graphics.cpp	2008-12-15 05:16:23 UTC (rev 35376)
+++ scummvm/trunk/engines/parallaction/graphics.cpp	2008-12-15 07:15:29 UTC (rev 35377)
@@ -40,36 +40,6 @@
 #define MAXIMUM_UNPACKED_BITMAP_SIZE	641*401
 
 
-void Gfx::registerVar(const Common::String &name, int32 initialValue) {
-	if (_vars.contains(name)) {
-		warning("Variable '%s' already registered, ignoring initial value.\n", name.c_str());
-	} else {
-		_vars.setVal(name, initialValue);
-	}
-}
-
-void Gfx::setVar(const Common::String &name, int32 value) {
-	if (!_vars.contains(name)) {
-		warning("Variable '%s' doesn't exist, skipping assignment.\n", name.c_str());
-	} else {
-		_vars.setVal(name, value);
-	}
-}
-
-int32 Gfx::getVar(const Common::String &name) {
-	int32 v = 0;
-
-	if (!_vars.contains(name)) {
-		warning("Variable '%s' doesn't exist, returning default value.\n", name.c_str());
-	} else {
-		v = _vars.getVal(name);
-	}
-
-	return v;
-}
-
-
-
 #define	LABEL_TRANSPARENT_COLOR 0xFF
 
 void halfbritePixel(int x, int y, int color, void *data) {
@@ -343,56 +313,6 @@
 	}
 }
 
-void Gfx::beginFrame() {
-	_skipBackground = (_backgroundInfo->bg.pixels == 0);	// don't render frame if background is missing
-
-	if (!_skipBackground) {
-		int32 oldBackgroundMode = _varBackgroundMode;
-		_varBackgroundMode = getVar("background_mode");
-		if (oldBackgroundMode != _varBackgroundMode) {
-			switch (_varBackgroundMode) {
-			case 1:
-				_bitmapMask.free();
-				break;
-			case 2:
-				_bitmapMask.create(_backgroundInfo->width, _backgroundInfo->height, 1);
-				byte *data = (byte*)_bitmapMask.pixels;
-				for (uint y = 0; y < _bitmapMask.h; y++) {
-					for (uint x = 0; x < _bitmapMask.w; x++) {
-						*data++ = _backgroundInfo->mask.getValue(x, y);
-					}
-				}
-#if 0
-				Common::DumpFile dump;
-				dump.open("maskdump.bin");
-				dump.write(_bitmapMask.pixels, _bitmapMask.w * _bitmapMask.h);
-				dump.close();
-#endif
-				break;
-			}
-		}
-	}
-
-	_varDrawPathZones = getVar("draw_path_zones");
-	if (_varDrawPathZones == 1 && _gameType != GType_BRA) {
-		setVar("draw_path_zones", 0);
-		_varDrawPathZones = 0;
-		warning("Path zones are supported only in Big Red Adventure");
-	}
-}
-
-int32 Gfx::getRenderMode(const char *type) {
-
-	int32 mode = getVar(type);
-	if (mode < 0 || mode > 2) {
-		warning("new value for '%s' is wrong: resetting default", type);
-		setVar(type, 1);
-		mode = 1;
-	}
-	return mode;
-
-}
-
 void Gfx::copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h) {
 	if (_doubleBuffering) {
 		if (_overlayMode)
@@ -457,26 +377,17 @@
 	// is needed
 	_overlayMode = false;
 
-	if (!_skipBackground) {
+	bool skipBackground = (_backgroundInfo->bg.pixels == 0);	// don't render frame if background is missing
+
+	if (!skipBackground) {
 		// background may not cover the whole screen, so adjust bulk update size
 		uint w = _backgroundInfo->width;
 		uint h = _backgroundInfo->height;
-
-		byte *backgroundData = 0;
-		uint16 backgroundPitch = 0;
-		switch (_varBackgroundMode) {
-		case 1:
-			backgroundData = (byte*)_backgroundInfo->bg.getBasePtr(0, 0);
-			backgroundPitch = _backgroundInfo->bg.pitch;
-			break;
-		case 2:
-			backgroundData = (byte*)_bitmapMask.getBasePtr(0, 0);
-			backgroundPitch = _bitmapMask.pitch;
-			break;
-		}
+		byte *backgroundData = (byte*)_backgroundInfo->bg.getBasePtr(0, 0);
+		uint16 backgroundPitch = _backgroundInfo->bg.pitch;
 		copyRectToScreen(backgroundData, backgroundPitch, _backgroundInfo->x, _backgroundInfo->y, w, h);
 	}
-
+/*
 	if (_varDrawPathZones == 1) {
 		Graphics::Surface *surf = lockScreen();
 		ZoneList::iterator b = _vm->_location._zones.begin();
@@ -489,7 +400,7 @@
 		}
 		unlockScreen();
 	}
-
+*/
 	sortScene();
 	Graphics::Surface *surf = lockScreen();
 		// draws animations frames and other game items
@@ -798,11 +709,6 @@
 	_unpackedBitmap = new byte[MAXIMUM_UNPACKED_BITMAP_SIZE];
 	assert(_unpackedBitmap);
 
-	registerVar("background_mode", 1);
-	_varBackgroundMode = 1;
-
-	registerVar("draw_path_zones", 0);
-
 	if ((_gameType == GType_BRA) && (_vm->getPlatform() == Common::kPlatformPC)) {
 	// this loads the backup palette needed by the PC version of BRA (see setBackground()).
 		BackgroundInfo	paletteInfo;

Modified: scummvm/trunk/engines/parallaction/graphics.h
===================================================================
--- scummvm/trunk/engines/parallaction/graphics.h	2008-12-15 05:16:23 UTC (rev 35376)
+++ scummvm/trunk/engines/parallaction/graphics.h	2008-12-15 07:15:29 UTC (rev 35377)
@@ -477,8 +477,6 @@
 };
 
 
-typedef Common::HashMap<Common::String, int32, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> VarMap;
-
 typedef Common::Array<GfxObj*> GfxObjArray;
 
 
@@ -489,7 +487,6 @@
 
 public:
 	Disk *_disk;
-	VarMap _vars;
 
 	GfxObjArray _sceneObjects;
 	GfxObj* loadAnim(const char *name);
@@ -544,12 +541,6 @@
 	Gfx(Parallaction* vm);
 	virtual ~Gfx();
 
-	void beginFrame();
-
-	void registerVar(const Common::String &name, int32 initialValue);
-	void setVar(const Common::String &name, int32 value);
-	int32 getVar(const Common::String &name);
-
 	void clearScreen();
 	void updateScreen();
 
@@ -561,8 +552,6 @@
 protected:
 	bool				_halfbrite;
 
-	bool 				_skipBackground;
-
 	Common::Point		_hbCirclePos;
 	int				_hbCircleRadius;
 
@@ -570,10 +559,6 @@
 	Palette				_backupPal;
 
 	// frame data stored in programmable variables
-	int32				_varBackgroundMode;	// 1 = normal, 2 = only mask
-	int32				_varRenderMode;
-	int32				_varDrawPathZones;	// 0 = don't draw, 1 = draw
-	Graphics::Surface 	_bitmapMask;
 	int32 				getRenderMode(const char *type);
 
 	Graphics::Surface	*lockScreen();

Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp	2008-12-15 05:16:23 UTC (rev 35376)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp	2008-12-15 07:15:29 UTC (rev 35377)
@@ -308,24 +308,39 @@
 }
 
 
-void Parallaction::processInput(int event) {
+void Parallaction::runGameFrame(int event) {
+	if (_input->_inputMode != Input::kInputModeGame) {
+		return;
+	}
 
-	switch (event) {
-	case kEvSaveGame:
+	if (event != kEvNone) {
 		_input->stopHovering();
-		_saveLoad->saveGame();
+		if (event == kEvSaveGame) {
+			_saveLoad->saveGame();
+		} else
+		if (event == kEvLoadGame) {
+			_saveLoad->loadGame();
+		}
 		_input->setArrowCursor();
-		break;
+	}
 
-	case kEvLoadGame:
-		_input->stopHovering();
-		_saveLoad->loadGame();
-		_input->setArrowCursor();
-		break;
+	runPendingZones();
 
+	if (shouldQuit())
+		return;
+
+	if (_engineFlags & kEngineChangeLocation) {
+		changeLocation(_location._name);
 	}
 
-	return;
+	_programExec->runScripts(_location._programs.begin(), _location._programs.end());
+	_char._ani->setZ(_char._ani->height() + _char._ani->getFrameY());
+	if (_char._ani->gfxobj) {
+		_char._ani->gfxobj->z = _char._ani->getZ();
+	}
+	_char._walker->walk();
+	drawAnimations();
+
 }
 
 void Parallaction::runGame() {
@@ -337,31 +352,11 @@
 	runGuiFrame();
 	runDialogueFrame();
 	runCommentFrame();
+	runGameFrame(event);
 
-	if (_input->_inputMode == Input::kInputModeGame) {
-		processInput(event);
-		runPendingZones();
+	if (shouldQuit())
+		return;
 
-		if (shouldQuit())
-			return;
-
-		if (_engineFlags & kEngineChangeLocation) {
-			changeLocation(_location._name);
-		}
-	}
-
-	_gfx->beginFrame();
-
-	if (_input->_inputMode == Input::kInputModeGame) {
-		_programExec->runScripts(_location._programs.begin(), _location._programs.end());
-		_char._ani->setZ(_char._ani->height() + _char._ani->getFrameY());
-		if (_char._ani->gfxobj) {
-			_char._ani->gfxobj->z = _char._ani->getZ();
-		}
-		_char._walker->walk();
-		drawAnimations();
-	}
-
 	// change this to endFrame?
 	updateView();
 }

Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h	2008-12-15 05:16:23 UTC (rev 35376)
+++ scummvm/trunk/engines/parallaction/parallaction.h	2008-12-15 07:15:29 UTC (rev 35377)
@@ -123,6 +123,7 @@
 class DialogueManager;
 class MenuInputHelper;
 
+
 struct Location {
 
 	Common::Point	_startPosition;
@@ -301,6 +302,7 @@
 
 protected:
 	void	runGame();
+	void 	runGameFrame(int event);
 	void 	runGuiFrame();
 	void 	cleanupGui();
 	void 	runDialogueFrame();
@@ -308,7 +310,6 @@
 	void 	runCommentFrame();
 	void 	enterCommentMode(ZonePtr z);
 	void 	exitCommentMode();
-	void	processInput(int event);
 	void	updateView();
 	void 	drawAnimations();
 	void	freeCharacter();
@@ -494,6 +495,7 @@
 	int32		_counters[32];
 	uint32		_zoneFlags[NUM_LOCATIONS][NUM_ZONES];
 
+
 private:
 	LocationParser_br		*_locationParser;
 	ProgramParser_br		*_programParser;


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