Re: [PATCH 2/4] d3dx9: Implement ID3DXBaseEffect::SetVector().

2011-12-13 Thread Rico Schüller

Am 13.12.2011 16:10, schrieb Matteo Bruni:

Hi Rico,

2011/12/13 Rico Schüller:

---
  dlls/d3dx9_36/effect.c |   52
+--
  1 files changed, 49 insertions(+), 3 deletions(-)

+static void set_vector(struct d3dx_parameter *param, CONST D3DXVECTOR4 *vector)
+{
+set_number((float *)param->data, param->type, vector, D3DXPT_FLOAT);
+if (param->columns>  1) set_number((FLOAT *)param->data + 1, param->type, 
(FLOAT *)vector + 1, D3DXPT_FLOAT);
+if (param->columns>  2) set_number((FLOAT *)param->data + 2, param->type, 
(FLOAT *)vector + 2, D3DXPT_FLOAT);
+if (param->columns>  3) set_number((FLOAT *)param->data + 3, param->type, 
(FLOAT *)vector + 3, D3DXPT_FLOAT);
+}

Can't you use a for loop instead? While you're at it, you should also
pick one between "float" and "FLOAT".

Yeah, I'll send a new version with a loop. That way the "float" vs 
"FLOAT" will also be fixed.


Thanks
Rico




Re: [PATCH 2/4] d3dx9: Implement ID3DXBaseEffect::SetVector().

2011-12-13 Thread Matteo Bruni
Hi Rico,

2011/12/13 Rico Schüller :
> ---
>  dlls/d3dx9_36/effect.c |   52
> +--
>  1 files changed, 49 insertions(+), 3 deletions(-)
>
> +static void set_vector(struct d3dx_parameter *param, CONST D3DXVECTOR4 
> *vector)
> +{
> +set_number((float *)param->data, param->type, vector, D3DXPT_FLOAT);
> +if (param->columns > 1) set_number((FLOAT *)param->data + 1, 
> param->type, (FLOAT *)vector + 1, D3DXPT_FLOAT);
> +if (param->columns > 2) set_number((FLOAT *)param->data + 2, 
> param->type, (FLOAT *)vector + 2, D3DXPT_FLOAT);
> +if (param->columns > 3) set_number((FLOAT *)param->data + 3, 
> param->type, (FLOAT *)vector + 3, D3DXPT_FLOAT);
> +}

Can't you use a for loop instead? While you're at it, you should also
pick one between "float" and "FLOAT".