创建插件 - 无法调用成员函数

时间:2016-05-02 10:56:49

标签: c++ function plugins member openvr

使用ScriptDragon尝试使用OpenVR尝试将一些HTC vive功能放入Skyrim。

我的工作。能够初始化Headset,因为没有错误返回,并且指向耳机对象的指针不为空,当我进入游戏时,vive灯从红色变为绿色。

工作

void InitHMD(vr::IVRSystem* hmd)
{
    vr::EVRInitError eError = vr::VRInitError_None;
    hmd = vr::VR_Init(&eError, vr::VRApplication_Other);

    if (eError != vr::VRInitError_None)
    {
        PrintNote("Error: %s", eError);
    }
    else
    {
        PrintNote("HMD succesfully initialized");
    }
    //extra chech for my own sanity
    if (hmd == nullptr)
    {
        PrintNote("NULL POINTER HMD");
    }
    else
    {
        PrintNote("HMD pointer set");
    }

}

运行游戏文本道具显示HMD指针已设置且已成功初始化。 Full source available here。当按下主页键时,它会调用hmd成员函数并突然中断。

初始化后不工作

bool temp = hmd->IsInputFocusCapturedByAnotherProcess();

什么行不通的是,当我尝试访问任何成员函数时,它会使游戏崩溃,导致我相信我没有完全初始化耳机或内存分配存在问题。

我有链接器属性,包括设置和所有外部文件。

ScriptDragon应该不是问题,因为其他人已经使用razer hydra做了类似的事情,并且在他们的源代码中,能够调用api中的成员函数。

0 个答案:

没有答案