[Scummvm-cvs-logs] scummvm master -> b16967fecea8d7df19cdfa05f511e98c2b53f1d1
bluegr
md5 at scummvm.org
Sat Mar 5 17:49:40 CET 2011
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
dbd3f440d2 SCI: Added some support code for Longbow Amiga
b16967fece SCI: Cleared up the different view types and ordered them by color count
Commit: dbd3f440d2edb976bd304320daa8d150385261af
https://github.com/scummvm/scummvm/commit/dbd3f440d2edb976bd304320daa8d150385261af
Author: md5 (md5 at scummvm.org)
Date: 2011-03-05T08:47:13-08:00
Commit Message:
SCI: Added some support code for Longbow Amiga
Changed paths:
engines/sci/engine/kgraphics.cpp
engines/sci/graphics/palette.cpp
engines/sci/resource.cpp
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index 6ec8748..fd052bf 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -561,8 +561,10 @@ reg_t kPaletteSetFromResource(EngineState *s, int argc, reg_t *argv) {
if (argc == 2)
force = argv[1].toUint16() == 2 ? true : false;
- // Non-VGA games don't use palette resources
- if (g_sci->_gfxPalette->getTotalColorCount() < 256)
+ // Non-VGA games don't use palette resources.
+ // This has been changed to 64 colors because Longbow Amiga does have
+ // one palette (palette 999).
+ if (g_sci->_gfxPalette->getTotalColorCount() < 64)
return s->r_acc;
g_sci->_gfxPalette->kernelSetFromResource(resourceId, force);
diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp
index 48a069b..3b3596a 100644
--- a/engines/sci/graphics/palette.cpp
+++ b/engines/sci/graphics/palette.cpp
@@ -80,7 +80,10 @@ GfxPalette::GfxPalette(ResourceManager *resMan, GfxScreen *screen, bool useMergi
switch (_resMan->getViewType()) {
case kViewVga:
case kViewVga11:
- _totalScreenColors = 256;
+ if (g_sci->getPlatform() == Common::kPlatformAmiga)
+ _totalScreenColors = 64; // Longbow Amiga
+ else
+ _totalScreenColors = 256;
break;
case kViewAmiga:
_totalScreenColors = 32;
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index 654c3f1..002f520 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -1538,9 +1538,11 @@ void ResourceManager::readResourcePatches() {
if (i == kResourceTypeView) {
SearchMan.listMatchingMembers(files, "*.v16"); // EGA SCI1 view patches
SearchMan.listMatchingMembers(files, "*.v32"); // Amiga SCI1 view patches
+ SearchMan.listMatchingMembers(files, "*.v64"); // Amiga AGA SCI1 (i.e. Longbow) view patches
} else if (i == kResourceTypePic) {
SearchMan.listMatchingMembers(files, "*.p16"); // EGA SCI1 picture patches
SearchMan.listMatchingMembers(files, "*.p32"); // Amiga SCI1 picture patches
+ SearchMan.listMatchingMembers(files, "*.p64"); // Amiga AGA SCI1 (i.e. Longbow) picture patches
} else if (i == kResourceTypeScript) {
if (files.size() == 0)
// SCI3 (we can't use getSciVersion() at this point)
Commit: b16967fecea8d7df19cdfa05f511e98c2b53f1d1
https://github.com/scummvm/scummvm/commit/b16967fecea8d7df19cdfa05f511e98c2b53f1d1
Author: md5 (md5 at scummvm.org)
Date: 2011-03-05T08:47:14-08:00
Commit Message:
SCI: Cleared up the different view types and ordered them by color count
Changed paths:
engines/sci/graphics/helpers.h
diff --git a/engines/sci/graphics/helpers.h b/engines/sci/graphics/helpers.h
index 3c6515a..1a87e56 100644
--- a/engines/sci/graphics/helpers.h
+++ b/engines/sci/graphics/helpers.h
@@ -138,12 +138,13 @@ struct PalSchedule {
uint32 schedule;
};
+// Game view types, sorted by the number of colors
enum ViewType {
- kViewUnknown,
- kViewEga,
- kViewVga,
- kViewVga11,
- kViewAmiga
+ kViewUnknown, // uninitialized, or non-SCI
+ kViewEga, // EGA SCI0/SCI1 and Amiga SCI0/SCI1 ECS 16 colors
+ kViewAmiga, // Amiga SCI1 ECS 32 colors
+ kViewVga, // VGA SCI1 256 colors or Amiga SCI1 AGA 64 colors (i.e. Longbow)
+ kViewVga11 // VGA SCI1.1 and newer 256 colors
};
} // End of namespace Sci
More information about the Scummvm-git-logs
mailing list