[Scummvm-cvs-logs] CVS: scummvm/scumm costume.cpp,1.101,1.102 intern.h,2.103,2.104 script_v2.cpp,2.174,2.175
Travis Howell
kirben at users.sourceforge.net
Mon Aug 18 04:05:08 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv948/scumm
Modified Files:
costume.cpp intern.h script_v2.cpp
Log Message:
Add support for flashlight in v1 maniac by converting older values.
Prevent warning about dummy function (Which has no purpose) in zak
Index: costume.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/costume.cpp,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- costume.cpp 18 Aug 2003 06:59:18 -0000 1.101
+++ costume.cpp 18 Aug 2003 10:46:42 -0000 1.102
@@ -344,17 +344,15 @@
byte palette[4] = { 0, 0, 0, 0 };
- if (_vm->_gameId == GID_MANIAC) {
+ if (!(_vm->VAR(_vm->VAR_CURRENT_LIGHTS) & LIGHTMODE_actor_color)) {
+ palette[2] = 11;
+ palette[3] = 11;
+ } else if (_vm->_gameId == GID_MANIAC) {
palette[1] = v1_mm_actor_palatte_1[actor];
palette[2] = v1_mm_actor_palatte_2[actor];
} else {
- if (!(_vm->VAR(_vm->VAR_CURRENT_LIGHTS) & LIGHTMODE_actor_color)) {
- palette[2] = 11;
- palette[3] = 11;
- } else {
- palette[1] = 8;
- palette[2] = _palette[0];
- }
+ palette[1] = 8;
+ palette[2] = _palette[0];
}
v1.skip_width >>= 3;
@@ -734,8 +732,7 @@
byte color;
if (_loaded._format == 0x57) {
- _palette[0] = palette[0];
-
+ _palette[0] = palette[0];
return;
}
Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.103
retrieving revision 2.104
diff -u -d -r2.103 -r2.104
--- intern.h 14 Aug 2003 11:40:50 -0000 2.103
+++ intern.h 18 Aug 2003 10:46:42 -0000 2.104
@@ -261,6 +261,7 @@
void o2_isGreaterEqual();
void o2_isLess();
void o2_isLessEqual();
+ void o2_lights();
void o2_loadRoomWithEgo();
void o2_setBoxFlags();
void o2_panCameraTo();
Index: script_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v2.cpp,v
retrieving revision 2.174
retrieving revision 2.175
diff -u -d -r2.174 -r2.175
--- script_v2.cpp 18 Aug 2003 02:16:48 -0000 2.174
+++ script_v2.cpp 18 Aug 2003 10:46:42 -0000 2.175
@@ -173,7 +173,7 @@
OPCODE(o2_dummy),
OPCODE(o2_ifState04),
/* 70 */
- OPCODE(o5_lights),
+ OPCODE(o2_lights),
OPCODE(o5_getActorCostume),
OPCODE(o5_loadRoom),
OPCODE(o2_roomOps),
@@ -333,7 +333,7 @@
OPCODE(o2_dummy),
OPCODE(o2_ifState04),
/* F0 */
- OPCODE(o5_lights),
+ OPCODE(o2_lights),
OPCODE(o5_getActorCostume),
OPCODE(o5_loadRoom),
OPCODE(o2_roomOps),
@@ -1214,6 +1214,38 @@
o5_jumpRelative();
}
+void Scumm_v2::o2_lights() {
+ warning("o2_lights");
+ int a, b, c;
+
+ a = getVarOrDirectByte(0x80);
+ b = fetchScriptByte();
+ c = fetchScriptByte();
+
+ if (c == 0) {
+ if (_gameId == GID_MANIAC && _version == 1) {
+ // Convert older light mode values into
+ // equivalent values.of later games
+ // 0 Darkness
+ // 1 Flashlight
+ // 2 Lighted area
+ if (a == 2)
+ VAR(VAR_CURRENT_LIGHTS) = 11;
+ else if (a == 1)
+ VAR(VAR_CURRENT_LIGHTS) = 4;
+ else if (a == 0)
+ VAR(VAR_CURRENT_LIGHTS) = 0;
+ else
+ warning("o2_lights: light mode %d unknown", a);
+; } else
+ VAR(VAR_CURRENT_LIGHTS) = a;
+ } else if (c == 1) {
+ _flashlight.xStrips = a;
+ _flashlight.yStrips = b;
+ }
+ _fullRedraw = 1;
+}
+
void Scumm_v2::o2_loadRoomWithEgo() {
Actor *a;
int obj, room, x, y;
@@ -1500,7 +1532,9 @@
}
void Scumm_v2::o2_dummy() {
- warning("o2_dummy invoked (opcode %d)", _opcode);
+ // Opcode 238 is used in Zak but has no purpose
+ if (!(_gameId == GID_ZAK && _opcode == 238))
+ warning("o2_dummy invoked (opcode %d)", _opcode);
}
void Scumm_v2::o2_switchCostumeSet() {
More information about the Scummvm-git-logs
mailing list