2009/9/9 Rico Schüller <[email protected]>:
> -static void parse_fx10_annotation(const char **ptr)
> +static HRESULT parse_fx10_annotation(struct d3d10_effect_variable *a, const 
> char **ptr, const char *data)
>  {
> -    skip_dword_unknown(ptr, 3);
> +    DWORD offset;
> +
> +    read_dword(ptr, &offset);
> +    TRACE("Annotation name at offset %#x.\n", offset);
> +
> +    a->name = copy_name(data + offset);
> +    if (!a->name)
> +    {
> +        ERR("Failed to copy name.\n");
> +        return E_OUTOFMEMORY;
> +    }
> +    TRACE("Annotation name: %s.\n", a->name);
> +
> +    read_dword(ptr, &offset);
> +    TRACE("Annotation type info at offset %#x.\n", offset);
> +
> +    a->type = get_fx10_type(a->effect, data, offset);
> +    if (!a->type)
> +    {
> +        ERR("Failed to get variable type.\n");
> +        return E_FAIL;
> +    }
> +
> +    skip_dword_unknown(ptr, 1);
> +
> +    return S_OK;
>  }
It seems to me that this is just the same code for parsing variables
(that has implications for 1/10 as well).


Reply via email to