Alwats report invalid opcodes when debug output is enabled

svn-id: r24138
This commit is contained in:
Travis Howell 2006-10-06 08:30:07 +00:00
parent 8637803941
commit d16c635a12
3 changed files with 11 additions and 6 deletions

View file

@ -65,9 +65,11 @@ const byte *AGOSEngine::dumpOpcode(const byte *p) {
} else {
st = s = elvira1_opcode_name_table[opcode];
}
if (s == NULL) {
error("INVALID OPCODE %d", opcode);
error("dumpOpcode: INVALID OPCODE %d", opcode);
}
while (*st != '|')
st++;
printf("%s ", st + 1);
@ -194,7 +196,7 @@ void AGOSEngine::dumpSubroutines() {
}
}
void AGOSEngine::dump_video_script(const byte *src, bool one_opcode_only) {
void AGOSEngine::dumpVideoScript(const byte *src, bool one_opcode_only) {
uint opcode;
const char *str, *strn;
@ -208,7 +210,6 @@ void AGOSEngine::dump_video_script(const byte *src, bool one_opcode_only) {
if (opcode >= _numVideoOpcodes) {
error("Invalid opcode %x", opcode);
return;
}
if (getGameType() == GType_FF || getGameType() == GType_PP) {
@ -223,6 +224,10 @@ void AGOSEngine::dump_video_script(const byte *src, bool one_opcode_only) {
strn = str = elvira1_video_opcode_name_table[opcode];
}
if (strn == NULL) {
error("dumpVideoScript: INVALID OPCODE %d", opcode);
}
while (*strn != '|')
strn++;
printf("%.2d: %s ", opcode, strn + 1);
@ -475,7 +480,7 @@ void AGOSEngine::dump_vga_bitmaps(const byte *vga, byte *vga1, int res) {
void AGOSEngine::dump_vga_script_always(const byte *ptr, uint res, uint sprite_id) {
printf("; address=%x, vgafile=%d vgasprite=%d\n",
(unsigned int)(ptr - _vgaBufferPointers[res].vgaFile1), res, sprite_id);
dump_video_script(ptr, false);
dumpVideoScript(ptr, false);
printf("; end\n");
}