mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-01 00:12:59 +00:00
Fixes to Sam and Max subgames.
Add 'insane.cpp' to VC++ project. svn-id: r3675
This commit is contained in:
parent
49b7294423
commit
aea131d95b
@ -151,7 +151,7 @@ void Scumm::setupOpcodes2() {
|
||||
&Scumm::o6_setObjectXY,
|
||||
&Scumm::o6_drawBlastObject,
|
||||
/* 64 */
|
||||
&Scumm::o6_invalid,
|
||||
&Scumm::o6_samGame,
|
||||
&Scumm::o6_stopObjectCode,
|
||||
&Scumm::o6_stopObjectCode,
|
||||
&Scumm::o6_endCutscene,
|
||||
@ -673,7 +673,17 @@ void Scumm::setupOpcodes2() {
|
||||
_opcodes = opcode_list;
|
||||
_opcodes_lookup = opcode_lookup;
|
||||
}
|
||||
void Scumm::o6_samGame() {
|
||||
int a, b, c, d;
|
||||
// Sam and Max game opcode
|
||||
d = pop();
|
||||
c = pop();
|
||||
b = pop();
|
||||
a = pop();
|
||||
|
||||
|
||||
// sub_274EF(a, b, c, d);
|
||||
}
|
||||
int Scumm::popRoomAndObj(int *room) {
|
||||
int obj;
|
||||
|
||||
@ -2569,10 +2579,6 @@ void Scumm::o6_miscOps() {
|
||||
unkMiscOp9();
|
||||
break;
|
||||
|
||||
case 124: /* samnmax */
|
||||
warning("o6_miscOps: _saveSound=%d", args[1]);
|
||||
break;
|
||||
|
||||
case 104: /* samnmax */
|
||||
nukeFlObjects(args[2], args[3]);
|
||||
break;
|
||||
@ -2643,7 +2649,12 @@ void Scumm::o6_miscOps() {
|
||||
break;
|
||||
|
||||
case 123:
|
||||
error("stub o6_miscOps_123(%d,%d)", args[1], args[2]);
|
||||
swapPalColors(args[1],args[2]);
|
||||
break;
|
||||
|
||||
case 124: /* samnmax */
|
||||
warning("o6_miscOps: _saveSound=%d", args[1]);
|
||||
_saveSound = args[1];
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -2658,8 +2669,13 @@ void Scumm::o6_kernelFunction() {
|
||||
Actor *a;
|
||||
|
||||
getStackList(args,sizeof(args)/sizeof(args[0]));
|
||||
|
||||
|
||||
switch(args[0]) {
|
||||
case 113:
|
||||
// Do something to [1] x [2] (x/y)
|
||||
warning("o6_kernelFunction: stub113(%d,%d)", args[1], args[2]);
|
||||
push(0);
|
||||
break;
|
||||
case 115:
|
||||
warning("o6_kernelFunction: stub115(%d,%d)", args[1], args[2]);
|
||||
push(0);
|
||||
|
3
scumm.h
3
scumm.h
@ -857,7 +857,7 @@ struct Scumm {
|
||||
|
||||
byte OF_OWNER_ROOM;
|
||||
|
||||
int _gameTempo;
|
||||
int _gameTempo, _saveSound;
|
||||
int _lastLoadedRoom;
|
||||
int _roomResource;
|
||||
byte _encbyte;
|
||||
@ -1414,6 +1414,7 @@ struct Scumm {
|
||||
void o5_oldRoomEffect();
|
||||
void o5_pickupObjectOld();
|
||||
|
||||
void o6_samGame();
|
||||
void o6_pushByte();
|
||||
void o6_pushWord();
|
||||
void o6_pushByteVar();
|
||||
|
@ -42,7 +42,7 @@ RSC=rc.exe
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
|
||||
# ADD CPP /nologo /G6 /Zp8 /MD /W3 /GX- /O2 /Ob2 /I "." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
|
||||
# ADD CPP /nologo /G6 /MD /W3 /O2 /Ob2 /I "." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
# ADD BASE RSC /l 0x41d /d "NDEBUG"
|
||||
# ADD RSC /l 0x41d /d "NDEBUG"
|
||||
@ -173,6 +173,10 @@ SOURCE=.\gui.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\insane.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\object.cpp
|
||||
|
||||
!IF "$(CFG)" == "scummvm - Win32 Release"
|
||||
|
@ -165,10 +165,11 @@ void Scumm::unkMessage1() {
|
||||
|
||||
a = buffer[2] | (buffer[3]<<8) | (buffer[6]<<16) | (buffer[7]<<24);
|
||||
b = buffer[10] | (buffer[11]<<8) | (buffer[14]<<16) | (buffer[15]<<24);
|
||||
talkSound(a,b,1);
|
||||
if (_saveSound != 1)
|
||||
talkSound(a,b,1);
|
||||
}
|
||||
|
||||
// warning("unkMessage1(\"%s\")", buf);
|
||||
warning("unkMessage1(\"%s\")", buffer);
|
||||
}
|
||||
|
||||
void Scumm::unkMessage2() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user