mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-23 02:44:56 +00:00
Fix dup_n, billboard in circdemo works now.
svn-id: r17024
This commit is contained in:
parent
1e07216b85
commit
26da9cc393
@ -1013,7 +1013,7 @@ public:
|
||||
|
||||
protected:
|
||||
/* HE version 90 script opcodes */
|
||||
void o90_dup();
|
||||
void o90_dup_n();
|
||||
void o90_min();
|
||||
void o90_max();
|
||||
void o90_sin();
|
||||
|
@ -92,7 +92,7 @@ void ScummEngine_v100he::setupOpcodes() {
|
||||
OPCODE(o100_drawObject),
|
||||
/* 28 */
|
||||
OPCODE(o6_dup),
|
||||
OPCODE(o90_dup),
|
||||
OPCODE(o90_dup_n),
|
||||
OPCODE(o6_endCutscene),
|
||||
OPCODE(o6_stopObjectCode),
|
||||
/* 2C */
|
||||
|
@ -53,7 +53,7 @@ void ScummEngine_v90he::setupOpcodes() {
|
||||
/* 08 */
|
||||
OPCODE(o6_invalid),
|
||||
OPCODE(o6_invalid),
|
||||
OPCODE(o90_dup),
|
||||
OPCODE(o90_dup_n),
|
||||
OPCODE(o6_wordArrayIndexedRead),
|
||||
/* 0C */
|
||||
OPCODE(o6_dup),
|
||||
@ -374,14 +374,16 @@ const char *ScummEngine_v90he::getOpcodeDesc(byte i) {
|
||||
return _opcodesV90he[i].desc;
|
||||
}
|
||||
|
||||
void ScummEngine_v90he::o90_dup() {
|
||||
int a, num;
|
||||
void ScummEngine_v90he::o90_dup_n() {
|
||||
int num;
|
||||
int args[16];
|
||||
|
||||
num = fetchScriptWord();
|
||||
for (int i = 0; i < num; i++) {
|
||||
a = pop();
|
||||
push(a);
|
||||
push(a);
|
||||
push(fetchScriptWord());
|
||||
num = getStackList(args, ARRAYSIZE(args));
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int j = 0; j < num; j++)
|
||||
push(args[j]);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user