void Script::o_vdxtransition() { // 0x1C uint16 fileref = readScript16bits(); // Show the debug information just when starting the playback if (fileref != _videoRef) { debugScript(1, true, "VDX transition fileref = 0x%04X", fileref); debugC(1, kGroovieDebugVideo | kGroovieDebugAll, "Playing video 0x%04X with transition", fileref); } // Set bit 1 _bitflags |= 1 << 1; // Clear bit 7 _bitflags &= ~(1 << 7); // Set bit 2 if _firstbit if (_firstbit) { _bitflags |= 1 << 2; } // Play the video if (!playvideofromref(fileref)) { // Move _currentInstruction back _currentInstruction -= 3; } }
void Script::o2_videofromref(){ uint32 fileref = readScript32bits(); // Show the debug information just when starting the playback if (fileref != _videoRef) { debugScript(1, true, "VIDEOFROMREF(0x%08X) (Not fully imp): Play video file from ref", fileref); debugC(5, kGroovieDebugVideo | kGroovieDebugAll, "Playing video 0x%08X via 0x09", fileref); } // Play the video if (!playvideofromref(fileref)) { // Move _currentInstruction back _currentInstruction -= 5; } }
void Script::o_videofromstring1() { uint16 instStart = _currentInstruction; uint16 fileref = getVideoRefString(); // Show the debug information just when starting the playback if (fileref != _videoRef) { debugScript(0, true, "VIDEOFROMSTRING1 0x%04X", fileref); } // Play the video if (!playvideofromref(fileref)) { // Move _currentInstruction back _currentInstruction = instStart - 1; } }
void Script::o_videofromref() { // 0x09 uint16 fileref = readScript16bits(); // Show the debug information just when starting the playback if (fileref != _videoRef) { debugScript(1, false, "VIDEOFROMREF(0x%04X) (Not fully imp): Play video file from ref", fileref); debugC(5, kGroovieDebugVideo | kGroovieDebugAll, "Playing video 0x%04X via 0x09", fileref); } switch (fileref) { case 0x1C03: // Trilobyte logo case 0x1C04: // Virgin logo case 0x1C05: // Credits if (fileref != _videoRef) { debugScript(1, true, "Use external file if available"); } break; case 0x400D: // floating objects in music room case 0x5060: // a sound from gamwav? case 0x5098: // a sound from gamwav? case 0x2402: // House becomes book in intro? case 0x1426: // Turn to face front in hall: played after intro case 0x206D: // Cards on table puzzle (bedroom) case 0x2001: // Coins on table puzzle (bedroom) if (fileref != _videoRef) { debugScript(1, false, " (This video is special somehow!)"); warning("(This video (0x%04X) is special somehow!)", fileref); } } if (fileref != _videoRef) { debugScript(1, false, "\n"); } // Play the video if (!playvideofromref(fileref)) { // Move _currentInstruction back _currentInstruction -= 3; } }
void Script::o_videofromstring2() { uint16 instStart = _currentInstruction; uint32 fileref = getVideoRefString(); // Show the debug information just when starting the playback if (fileref != _videoRef) { debugScript(0, true, "VIDEOFROMSTRING2 0x%04X", fileref); } // Set bit 1 _bitflags |= 1 << 1; // Set bit 2 if _firstbit if (_firstbit) { _bitflags |= 1 << 2; } // Play the video if (!playvideofromref(fileref)) { // Move _currentInstruction back _currentInstruction = instStart - 1; } }