예제 #1
0
    private void OnModelLoadCompleteDetour(IntPtr drawObject)
    {
        var collection = GetCollection(drawObject);

        if (collection != null)
        {
            using var eqp  = MetaChanger.ChangeEqp(collection);
            using var eqdp = MetaChanger.ChangeEqdp(collection);
            OnModelLoadCompleteHook !.Original.Invoke(drawObject);
        }
        else
        {
            OnModelLoadCompleteHook !.Original.Invoke(drawObject);
        }
    }
예제 #2
0
    private void UpdateModelsDetour(IntPtr drawObject)
    {
        // Shortcut because this is called all the time.
        // Same thing is checked at the beginning of the original function.
        if (*( int * )(drawObject + 0x90c) == 0)
        {
            return;
        }

        var collection = GetCollection(drawObject);

        if (collection != null)
        {
            using var eqp  = MetaChanger.ChangeEqp(collection);
            using var eqdp = MetaChanger.ChangeEqdp(collection);
            UpdateModelsHook !.Original.Invoke(drawObject);
        }
        else
        {
            UpdateModelsHook !.Original.Invoke(drawObject);
        }
    }