[Scummvm-cvs-logs] CVS: scummvm/saga events.cpp,1.52,1.53 gfx.cpp,1.48,1.49 gfx.h,1.27,1.28 interface.cpp,1.109,1.110 palanim.cpp,1.21,1.22 render.cpp,1.64,1.65 render.h,1.23,1.24 saveload.cpp,1.18,1.19 scene.cpp,1.113,1.114 scene.h,1.57,1.58
Eugene Sandulenko
sev at users.sourceforge.net
Tue Jul 5 08:17:15 CEST 2005
Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6779
Modified Files:
events.cpp gfx.cpp gfx.h interface.cpp palanim.cpp render.cpp
render.h saveload.cpp scene.cpp scene.h
Log Message:
- Stripped down unused SURFACE parameter in palette-related functions
- Fixed scenes glitch when loading saved game. This is done by closing
load window right after game is loaded which differs from original but
seems more logical to me
- Fixed wrong palette when Dragon maze was loaded from a savegame. We just
didn't process Palette resource for it.
Index: events.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/events.cpp,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- events.cpp 4 Jun 2005 15:02:17 -0000 1.52
+++ events.cpp 5 Jul 2005 15:15:33 -0000 1.53
@@ -126,7 +126,6 @@
BUFFER_INFO buf_info;
SCENE_BGINFO bg_info;
- SURFACE *back_buf;
event_pc = ((double)event->duration - event->time) / event->duration;
@@ -149,13 +148,11 @@
case PAL_EVENT:
switch (event->op) {
case EVENT_BLACKTOPAL:
- back_buf = _vm->_gfx->getBackBuffer();
- _vm->_gfx->blackToPal(back_buf, (PALENTRY *)event->data, event_pc);
+ _vm->_gfx->blackToPal((PALENTRY *)event->data, event_pc);
break;
case EVENT_PALTOBLACK:
- back_buf = _vm->_gfx->getBackBuffer();
- _vm->_gfx->palToBlack(back_buf, (PALENTRY *)event->data, event_pc);
+ _vm->_gfx->palToBlack((PALENTRY *)event->data, event_pc);
break;
default:
break;
@@ -203,8 +200,6 @@
double event_pc = 0.0; // Event completion percentage
bool event_done = false;
- SURFACE *back_buf;
-
event_pc = ((double)event->duration - event->time) / event->duration;
if (event_pc >= 1.0) {
@@ -226,13 +221,11 @@
case PAL_EVENT:
switch (event->op) {
case EVENT_BLACKTOPAL:
- back_buf = _vm->_gfx->getBackBuffer();
- _vm->_gfx->blackToPal(back_buf, (PALENTRY *)event->data, event_pc);
+ _vm->_gfx->blackToPal((PALENTRY *)event->data, event_pc);
break;
case EVENT_PALTOBLACK:
- back_buf = _vm->_gfx->getBackBuffer();
- _vm->_gfx->palToBlack(back_buf, (PALENTRY *)event->data, event_pc);
+ _vm->_gfx->palToBlack((PALENTRY *)event->data, event_pc);
break;
default:
break;
@@ -341,7 +334,7 @@
if (event->param == SET_PALETTE) {
PALENTRY *pal_p;
_vm->_scene->getBGPal(&pal_p);
- _vm->_gfx->setPalette(back_buf, pal_p);
+ _vm->_gfx->setPalette(pal_p);
}
}
}
Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/gfx.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- gfx.cpp 4 Jul 2005 07:47:04 -0000 1.48
+++ gfx.cpp 5 Jul 2005 15:15:33 -0000 1.49
@@ -455,7 +455,7 @@
return &_back_buf;
}
-int Gfx::setPalette(SURFACE *surface, PALENTRY *pal) {
+int Gfx::setPalette(PALENTRY *pal) {
int i;
byte *ppal;
@@ -484,7 +484,7 @@
return SUCCESS;
}
-int Gfx::palToBlack(SURFACE *surface, PALENTRY *src_pal, double percent) {
+int Gfx::palToBlack(PALENTRY *src_pal, double percent) {
int i;
//int fade_max = 255;
int new_entry;
@@ -534,7 +534,7 @@
return SUCCESS;
}
-int Gfx::blackToPal(SURFACE *surface, PALENTRY *src_pal, double percent) {
+int Gfx::blackToPal(PALENTRY *src_pal, double percent) {
int new_entry;
double fpercent;
int color_delta;
Index: gfx.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/gfx.h,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- gfx.h 4 Jul 2005 07:47:04 -0000 1.27
+++ gfx.h 5 Jul 2005 15:15:34 -0000 1.28
@@ -90,10 +90,10 @@
Gfx(OSystem *system, int width, int height, GameDetector &detector);
SURFACE *getBackBuffer();
- int setPalette(SURFACE *surface, PALENTRY *pal);
+ int setPalette(PALENTRY *pal);
int getCurrentPal(PALENTRY *src_pal);
- int palToBlack(SURFACE *surface, PALENTRY *src_pal, double percent);
- int blackToPal(SURFACE *surface, PALENTRY *src_pal, double percent);
+ int palToBlack(PALENTRY *src_pal, double percent);
+ int blackToPal(PALENTRY *src_pal, double percent);
void updateCursor() { setCursor(); }
void showCursor(bool state);
Index: interface.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/interface.cpp,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- interface.cpp 3 Jul 2005 20:02:56 -0000 1.109
+++ interface.cpp 5 Jul 2005 15:15:34 -0000 1.110
@@ -1162,8 +1162,8 @@
if (_vm->getSaveFilesCount() > 0) {
if (_vm->isSaveListFull() || (_optionSaveFileTitleNumber > 0)) {
fileName = _vm->calcSaveFileName(_vm->getSaveFile(_optionSaveFileTitleNumber)->slotNumber);
+ setMode(kPanelMain);
_vm->load(fileName);
- setMode(kPanelLoad);
}
}
break;
@@ -2045,7 +2045,7 @@
_vm->_gfx->getCurrentPal(_mapSavedPal);
for (int i = 0; i < 6 ; i++) {
- _vm->_gfx->palToBlack(backBuffer, _mapSavedPal, 0.2 * i);
+ _vm->_gfx->palToBlack(_mapSavedPal, 0.2 * i);
_vm->_render->drawScene();
_vm->_system->delayMillis(5);
}
@@ -2065,7 +2065,7 @@
// Evil Evil
for (int i = 0; i < 6 ; i++) {
- _vm->_gfx->blackToPal(backBuffer, cPal, 0.2 * i);
+ _vm->_gfx->blackToPal(cPal, 0.2 * i);
_vm->_render->drawScene();
_vm->_system->delayMillis(5);
}
@@ -2079,15 +2079,12 @@
}
void Interface::mapPanelClean() {
- SURFACE *backBuffer;
PALENTRY pal[PAL_ENTRIES];
- backBuffer = _vm->_gfx->getBackBuffer();
-
_vm->_gfx->getCurrentPal(pal);
for (int i = 0; i < 6 ; i++) {
- _vm->_gfx->palToBlack(backBuffer, pal, 0.2 * i);
+ _vm->_gfx->palToBlack(pal, 0.2 * i);
_vm->_render->drawScene();
_vm->_system->delayMillis(5);
}
@@ -2099,7 +2096,7 @@
_vm->_render->drawScene();
for (int i = 0; i < 6 ; i++) {
- _vm->_gfx->blackToPal(backBuffer, _mapSavedPal, 0.2 * i);
+ _vm->_gfx->blackToPal(_mapSavedPal, 0.2 * i);
_vm->_render->drawScene();
_vm->_system->delayMillis(5);
}
Index: palanim.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/palanim.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- palanim.cpp 11 Jan 2005 21:10:20 -0000 1.21
+++ palanim.cpp 5 Jul 2005 15:15:34 -0000 1.22
@@ -136,8 +136,6 @@
}
int PalAnim::cycleStep(int vectortime) {
- SURFACE *back_buf;
-
static PALENTRY pal[256];
uint16 pal_index;
uint16 col_index;
@@ -153,7 +151,6 @@
}
_vm->_gfx->getCurrentPal(pal);
- back_buf = _vm->_gfx->getBackBuffer();
for (i = 0; i < _entryCount; i++) {
cycle = _entries[i].cycle;
@@ -173,7 +170,7 @@
}
}
- _vm->_gfx->setPalette(back_buf, pal);
+ _vm->_gfx->setPalette(pal);
event.type = ONESHOT_EVENT;
event.code = PALANIM_EVENT;
Index: render.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/render.cpp,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -d -r1.64 -r1.65
--- render.cpp 3 Jul 2005 20:02:56 -0000 1.64
+++ render.cpp 5 Jul 2005 15:15:34 -0000 1.65
@@ -121,7 +121,8 @@
_vm->_actor->drawSpeech();
} else {
// Draw queued actors
- _vm->_actor->drawActors();
+ if (!(_flags & RF_DISABLE_ACTORS))
+ _vm->_actor->drawActors();
}
if (getFlags() & RF_OBJECTMAP_TEST) {
Index: render.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/render.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- render.h 3 Jul 2005 20:02:56 -0000 1.23
+++ render.h 5 Jul 2005 15:15:34 -0000 1.24
@@ -40,7 +40,8 @@
RF_GAMEPAUSE = (1 << 5),
RF_PLACARD = (1 << 6),
RF_ACTOR_PATH_TEST = (1 << 7),
- RF_MAP = (1 << 8)
+ RF_MAP = (1 << 8),
+ RF_DISABLE_ACTORS = (1 << 9)
};
struct BUFFER_INFO {
Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saveload.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- saveload.cpp 29 Jun 2005 20:00:44 -0000 1.18
+++ saveload.cpp 5 Jul 2005 15:15:34 -0000 1.19
@@ -229,8 +229,9 @@
_events->handleEvents(0); //dissolve back grounds
if (insetSceneNumber != sceneNumber) {
+ _render->setFlag(RF_DISABLE_ACTORS);
_render->drawScene();
- _scene->clearSceneQueue();
+ _render->clearFlag(RF_DISABLE_ACTORS);
_scene->changeScene(insetSceneNumber, ACTOR_NO_ENTRANCE, kTransitionNoFade);
}
}
Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -d -r1.113 -r1.114
--- scene.cpp 4 Jul 2005 07:46:48 -0000 1.113
+++ scene.cpp 5 Jul 2005 15:15:34 -0000 1.114
@@ -730,7 +730,7 @@
int Scene::processSceneResources() {
byte *resourceData;
- size_t resourceDataLength;
+ uint16 resourceDataLength;
const byte *pal_p;
int i;
@@ -863,6 +863,22 @@
case SAGA_FACES:
_vm->_interface->loadScenePortraits(_resList[i].res_number);
break;
+ case SAGA_PALETTE:
+ {
+ PALENTRY pal[PAL_ENTRIES];
+ byte *palPtr = resourceData;
+
+ if (resourceDataLength < 3 * PAL_ENTRIES)
+ error("Too small scene palette: %d", resourceDataLength);
+
+ for (uint16 c = 0; c < PAL_ENTRIES; c++) {
+ pal[c].red = *palPtr++;
+ pal[c].green = *palPtr++;
+ pal[c].blue = *palPtr++;
+ }
+ _vm->_gfx->setPalette(pal);
+ }
+ break;
default:
warning("Scene::ProcessSceneResources(): Encountered unknown resource type: %d", _resList[i].res_type);
break;
Index: scene.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.h,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -d -r1.57 -r1.58
--- scene.h 20 Jun 2005 11:46:34 -0000 1.57
+++ scene.h 5 Jul 2005 15:15:35 -0000 1.58
@@ -82,7 +82,8 @@
SAGA_ANIM_7,
SAGA_ISO_MULTI = 22,
SAGA_PAL_ANIM = 23,
- SAGA_FACES = 24
+ SAGA_FACES = 24,
+ SAGA_PALETTE = 25
};
#define SAGA_RESLIST_ENTRY_LEN 4
More information about the Scummvm-git-logs
mailing list