mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-21 19:51:49 +00:00
Add HE100 opcode difference for spyfox
Update HE issues svn-id: r17058
This commit is contained in:
parent
f7770e3cfe
commit
ab82349dd9
9
TODO
9
TODO
@ -250,25 +250,26 @@ SCUMM
|
||||
- Add rename/delete file support, to make file opcodes function correctly
|
||||
- Fix nukeArrays, it is nuking wrong arrays in stopObjectCode() sometimes
|
||||
* Humongous entertainment >= v7 titles:
|
||||
- Add support for palette slots (_numPalettes * 1024) in HE99+ games.(For ff5demo/freddicove)
|
||||
- Add support for palette slots (_numPalettes * 1024) in HE99+ games.(For ff5demo/freddicove/pajama3)
|
||||
- Add mask support to akos codec32, charset shouldn't be drawn under moving actors
|
||||
- Add support for song sync. in HE80+ games. (Used in ff2-demo/freddi2/pajama)
|
||||
- Add support for SBNG sound resources for songs (Used in ff2-demo/freddi2/pajama)
|
||||
- Add support for processWizImage mode 6 (For lost/smaller)
|
||||
- Add support for processWizImage mode 9 (For freddicove/bb2demo/footdemo)
|
||||
- Add support for additional drawWizImage flags (cyx)
|
||||
- Add support for drawWizComplexPolygon (For Ski Ride & Credits of pajama3)
|
||||
- Add shadows support for akos codecs in HE90+ games, uses XMAP resources.
|
||||
- Add arrayOps case 127 (For chase/lost/smaller/bb2demo/footdemo).
|
||||
- Add support for array sorting (Used in lost/smaller).
|
||||
- Fix actor glitches in pajama2
|
||||
- Fix actor parts disappearing in pajama2/racedemo (Requires to XMAP support?)
|
||||
- Fix cursor transparency in puzzle of pajama2
|
||||
- Fix sprites graphical glitches
|
||||
- Fix inventory background/items disappearing in puttzoo/zoodemo/putttime/timedemo
|
||||
- Add support for o90_getPolygonOverlap case9 (Used in lost/smaller)
|
||||
- Add support for o90_getPolygonOverlap case10 (Used in Caramel Pit of pajama3)
|
||||
- Add support for floodState (For puzzle in pajama2)
|
||||
- Add support for o80_unknownE0 (For binoculars in pajama2 and black board in freddi2)
|
||||
- Add support for various new opcodes
|
||||
- Add support for o80_unknownE0 type1 (For binoculars in pajama2)
|
||||
- Add support for o80_unknownE0 type2 (For black board in freddi2 and paper in spyfox)
|
||||
|
||||
Broken Sword 2
|
||||
==============
|
||||
|
@ -1073,6 +1073,7 @@ protected:
|
||||
void o100_dim2dimArray();
|
||||
void o100_redim2dimArray();
|
||||
void o100_dimArray();
|
||||
void o100_unknownE0();
|
||||
void o100_drawObject();
|
||||
void o100_setSpriteGroupInfo();
|
||||
void o100_resourceRoutines();
|
||||
|
@ -88,7 +88,7 @@ void ScummEngine_v100he::setupOpcodes() {
|
||||
/* 24 */
|
||||
OPCODE(o72_drawWizImage),
|
||||
OPCODE(o80_drawWizPolygon),
|
||||
OPCODE(o6_invalid),
|
||||
OPCODE(o100_unknownE0),
|
||||
OPCODE(o100_drawObject),
|
||||
/* 28 */
|
||||
OPCODE(o6_dup),
|
||||
@ -812,6 +812,64 @@ void ScummEngine_v100he::o100_dimArray() {
|
||||
defineArray(fetchScriptWord(), data, 0, 0, 0, pop());
|
||||
}
|
||||
|
||||
void ScummEngine_v100he::o100_unknownE0() {
|
||||
// wizImage related
|
||||
int b, c, d, num, x1, y1, type = 0;
|
||||
|
||||
b = pop();
|
||||
num = pop();
|
||||
c = pop();
|
||||
d = pop();
|
||||
y1 = pop();
|
||||
x1 = pop();
|
||||
|
||||
byte subOp = fetchScriptByte();
|
||||
|
||||
switch (subOp) {
|
||||
case 1:
|
||||
{
|
||||
Actor *a = derefActorSafe(num, "o100_unknownE0");
|
||||
int top_actor = a->top;
|
||||
int bottom_actor = a->bottom;
|
||||
a->drawToBackBuf = true;
|
||||
a->needRedraw = true;
|
||||
a->drawActorCostume();
|
||||
a->drawToBackBuf = false;
|
||||
a->needRedraw = true;
|
||||
a->drawActorCostume();
|
||||
a->needRedraw = false;
|
||||
|
||||
if (a->top > top_actor)
|
||||
a->top = top_actor;
|
||||
if (a->bottom < bottom_actor)
|
||||
a->bottom = bottom_actor;
|
||||
|
||||
type = 2;
|
||||
}
|
||||
break;
|
||||
case 20:
|
||||
type = 1;
|
||||
break;
|
||||
case 40:
|
||||
{
|
||||
WizImage wi;
|
||||
wi.flags = 0;
|
||||
wi.y1 = y1;
|
||||
wi.x1 = x1;
|
||||
wi.resNum = num;
|
||||
wi.state = 0;
|
||||
displayWizImage(&wi);
|
||||
|
||||
type = 3;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
error("o100_unknownE0: default case %d", subOp);
|
||||
}
|
||||
|
||||
debug(1,"o100_unknownE0 stub: type %d (%d, num %d, %d, %d, y %d, x %d)", type, b, num, c, d, y1, x1);
|
||||
}
|
||||
|
||||
void ScummEngine_v100he::o100_drawObject() {
|
||||
byte subOp = fetchScriptByte();
|
||||
int state, y, x;
|
||||
|
Loading…
x
Reference in New Issue
Block a user