s3eWwiseResult s3eWwiseSoundEngineSetSwitchNamed(const char* in_pszSwitchGroup, const char* in_pszSwitchState, s3eWwiseGameObjectID in_gameObjectID)
{
    IwTrace(WWISE_VERBOSE, ("calling s3eWwise[24] func: s3eWwiseSoundEngineSetSwitchNamed"));

    if (!_extLoad())
        return s3eWwise_NotImplemented;

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eWwiseResult ret = g_Ext.m_s3eWwiseSoundEngineSetSwitchNamed(in_pszSwitchGroup, in_pszSwitchState, in_gameObjectID);

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}
s3eWwiseResult s3eWwiseSoundEngineSetSwitchNamed(const char* in_pszSwitchGroup, const char* in_pszSwitchState, s3eWwiseGameObjectID in_gameObjectID)
{
    IwTrace(WWISE_VERBOSE, ("calling s3eWwise[23] func: s3eWwiseSoundEngineSetSwitchNamed"));

    if (!_extLoad())
        return s3eWwise_NotImplemented;

#ifdef __mips
    // For MIPs platform we do not have asm code for stack switching
    // implemented. So we make LoaderCallStart call manually to set GlobalLock
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eWwiseResult ret = g_Ext.m_s3eWwiseSoundEngineSetSwitchNamed(in_pszSwitchGroup, in_pszSwitchState, in_gameObjectID);

#ifdef __mips
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}