DIRECTOR: LINGO: XTRAS: Safecracker can boot intro

Implement enough of the Xtra's to get Safecracker to pass the
initGlobals and continue onto its next movie file.
That is, the introduction movie will now play.

Changes:
- directsound is know as Dsound_r on disk
- Leverage XOBJSTUB to return Datum(1) for dsOpen
- QTVR is known as Qtvrw32 on disk
- Add QTVREnter to the methodProto, it wasn't added automatically by the
  stub generation
This commit is contained in:
Roland van Laar 2024-06-28 14:37:18 +02:00
parent 6fca66f442
commit 7ef013bde5
2 changed files with 5 additions and 3 deletions

View File

@ -98,6 +98,7 @@ namespace Director {
const char *DirectsoundXtra::xlibName = "Directsound";
const XlibFileDesc DirectsoundXtra::fileNames[] = {
{ "directsound", nullptr },
{ "Dsound_r", nullptr },
{ nullptr, nullptr },
};
@ -191,7 +192,7 @@ void DirectsoundXtra::m_new(int nargs) {
g_lingo->push(g_lingo->_state->me);
}
XOBJSTUB(DirectsoundXtra::m_dsOpen, 0)
XOBJSTUB(DirectsoundXtra::m_dsOpen, 1)
XOBJSTUB(DirectsoundXtra::m_dsNewSound, 0)
XOBJSTUB(DirectsoundXtra::m_dsDelSound, 0)
XOBJSTUB(DirectsoundXtra::m_dsDupSound, 0)

View File

@ -152,16 +152,17 @@ IsQTVRMovie object me --> integer (non-zero if the movie is a valid, open QTVR m
*/
namespace Director {
const char *QtvrxtraXtra::xlibName = "Qtvrxtra";
const char *QtvrxtraXtra::xlibName = "QTVRXtra";
const XlibFileDesc QtvrxtraXtra::fileNames[] = {
{ "qtvrxtra", nullptr },
{ "Qtvrw32", nullptr },
{ nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
{ "new", QtvrxtraXtra::m_new, 0, 0, 500 },
{ "forget", QtvrxtraXtra::m_forget, 0, 0, 500 },
{ "QTVREnter", QtvrxtraXtra::m_QTVREnter, 1, 1, 500 },
{ "QTVROpen", QtvrxtraXtra::m_QTVROpen, 3, 0, 500 },
{ "QTVRClose", QtvrxtraXtra::m_QTVRClose, 0, 0, 500 },
{ "QTVRUpdate", QtvrxtraXtra::m_QTVRUpdate, 0, 0, 500 },