mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-18 07:53:12 +00:00
better MI1 compatibility
svn-id: r3449
This commit is contained in:
parent
04aee95df4
commit
710c9051a3
19
gfx.cpp
19
gfx.cpp
@ -17,6 +17,9 @@
|
||||
*
|
||||
* Change Log:
|
||||
* $Log$
|
||||
* Revision 1.10 2001/10/29 23:07:24 strigeus
|
||||
* better MI1 compatibility
|
||||
*
|
||||
* Revision 1.9 2001/10/26 17:34:50 strigeus
|
||||
* bug fixes, code cleanup
|
||||
*
|
||||
@ -1556,13 +1559,23 @@ void Scumm::panCameraTo(int x) {
|
||||
}
|
||||
|
||||
void Scumm::actorFollowCamera(int act) {
|
||||
int old = camera._follows;
|
||||
int old;
|
||||
CameraData *cd = &camera;
|
||||
|
||||
/* mi1 compatibilty */
|
||||
if (act==0) {
|
||||
cd->_mode = 1;
|
||||
cd->_follows = 0;
|
||||
cd->_movingToActor = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
old = cd->_follows;
|
||||
setCameraFollows(derefActorSafe(act, "actorFollowCamera"));
|
||||
if (camera._follows != old)
|
||||
if (cd->_follows != old)
|
||||
runHook(0);
|
||||
|
||||
camera._movingToActor = 0;
|
||||
cd->_movingToActor = 0;
|
||||
}
|
||||
|
||||
void Scumm::setCameraAtEx(int at) {
|
||||
|
4
scumm.h
4
scumm.h
@ -17,6 +17,9 @@
|
||||
*
|
||||
* Change Log:
|
||||
* $Log$
|
||||
* Revision 1.15 2001/10/29 23:07:24 strigeus
|
||||
* better MI1 compatibility
|
||||
*
|
||||
* Revision 1.14 2001/10/26 17:34:50 strigeus
|
||||
* bug fixes, code cleanup
|
||||
*
|
||||
@ -326,6 +329,7 @@ enum ScummVars {
|
||||
VAR_VERSION = 75,
|
||||
|
||||
VAR_V5_DRAWFLAGS = 9,
|
||||
VAR_MI1_TIMER = 14,
|
||||
VAR_V5_OBJECT_LO = 15,
|
||||
VAR_V5_OBJECT_HI = 16,
|
||||
VAR_V5_TALK_STRING_Y = 54,
|
||||
|
20
scummvm.cpp
20
scummvm.cpp
@ -17,6 +17,9 @@
|
||||
*
|
||||
* Change Log:
|
||||
* $Log$
|
||||
* Revision 1.14 2001/10/29 23:07:24 strigeus
|
||||
* better MI1 compatibility
|
||||
*
|
||||
* Revision 1.13 2001/10/26 17:34:50 strigeus
|
||||
* bug fixes, code cleanup
|
||||
*
|
||||
@ -265,7 +268,7 @@ void Scumm::scummMain(int argc, char **argv) {
|
||||
if (_gameId==GID_INDY4 && _bootParam==0) {
|
||||
_bootParam = -7873;
|
||||
}
|
||||
|
||||
|
||||
initGraphics(this);
|
||||
|
||||
if (_majorScummVersion==6)
|
||||
@ -278,6 +281,11 @@ void Scumm::scummMain(int argc, char **argv) {
|
||||
_vars[VAR_VERSION] = 21;
|
||||
_vars[VAR_DEBUGMODE] = _debugMode;
|
||||
|
||||
if (_gameId==GID_MONKEY) {
|
||||
_vars[74] = 1225;
|
||||
}
|
||||
|
||||
|
||||
runScript(1,0,0,&_bootParam);
|
||||
_scummTimer = 0;
|
||||
|
||||
@ -326,6 +334,9 @@ void Scumm::scummMain(int argc, char **argv) {
|
||||
_vars[VAR_MOUSE_Y] = mouse.y;
|
||||
_vars[VAR_DEBUGMODE] = _debugMode;
|
||||
|
||||
if (_gameId==GID_MONKEY)
|
||||
_vars[VAR_MI1_TIMER]+=40;
|
||||
|
||||
if (_saveLoadFlag) {
|
||||
char buf[256];
|
||||
|
||||
@ -923,7 +934,12 @@ void NORETURN CDECL error(const char *s, ...) {
|
||||
va_end(va);
|
||||
|
||||
if (scumm._currentScript != 0xFF) {
|
||||
fprintf(stderr, "Error(%d): %s!\nPress a key to quit.\n", scumm.vm.slot[scumm._currentScript].number, buf);
|
||||
ScriptSlot *ss = &scumm.vm.slot[scumm._currentScript];
|
||||
fprintf(stderr, "Error(%d:%d:0x%X): %s!\nPress a key to quit.\n",
|
||||
scumm._roomResource,
|
||||
ss->number,
|
||||
scumm._scriptPointer - scumm._scriptOrgPointer,
|
||||
buf);
|
||||
} else {
|
||||
fprintf(stderr, "Error: %s!\nPress a key to quit.\n", buf);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user