[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