void set_number(LPVOID outdata, D3DXPARAMETER_TYPE outtype, LPCVOID indata, D3DXPARAMETER_TYPE intype)
{
    TRACE("Changing from type %s to type %s\n", debug_d3dxparameter_type(intype), debug_d3dxparameter_type(outtype));

    if (outtype == intype)
    {
        *(DWORD *)outdata = *(DWORD *)indata;
        return;
    }

    switch (outtype)
    {
        case D3DXPT_FLOAT:
            *(FLOAT *)outdata = get_float(intype, indata);
            break;

        case D3DXPT_BOOL:
            *(BOOL *)outdata = get_bool(intype, indata);
            break;

        case D3DXPT_INT:
            *(INT *)outdata = get_int(intype, indata);
            break;

        default:
            FIXME("Unhandled type %s.\n", debug_d3dxparameter_type(outtype));
            *(DWORD *)outdata = 0;
            break;
    }
}
Example #2
0
File: util.c Project: GYGit/reactos
void set_number(void *outdata, D3DXPARAMETER_TYPE outtype, const void *indata, D3DXPARAMETER_TYPE intype)
{
    if (outtype == intype)
    {
        *(DWORD *)outdata = *(DWORD *)indata;
        return;
    }

    switch (outtype)
    {
        case D3DXPT_FLOAT:
            *(FLOAT *)outdata = get_float(intype, indata);
            break;

        case D3DXPT_BOOL:
            *(BOOL *)outdata = get_bool(intype, indata);
            break;

        case D3DXPT_INT:
            *(INT *)outdata = get_int(intype, indata);
            break;

        default:
            FIXME("Unhandled type %s.\n", debug_d3dxparameter_type(outtype));
            *(DWORD *)outdata = 0;
            break;
    }
}
Example #3
0
File: util.c Project: GYGit/reactos
/* parameter type conversion helpers */
static BOOL get_bool(D3DXPARAMETER_TYPE type, const void *data)
{
    switch (type)
    {
        case D3DXPT_FLOAT:
        case D3DXPT_INT:
        case D3DXPT_BOOL:
            return *(DWORD *)data != 0;

        case D3DXPT_VOID:
            return *(BOOL *)data;

        default:
            FIXME("Unhandled type %s.\n", debug_d3dxparameter_type(type));
            return FALSE;
    }
}
Example #4
0
File: util.c Project: GYGit/reactos
static FLOAT get_float(D3DXPARAMETER_TYPE type, const void *data)
{
    switch (type)
    {
        case D3DXPT_FLOAT:
        case D3DXPT_VOID:
            return *(FLOAT *)data;

        case D3DXPT_INT:
            return (FLOAT)(*(INT *)data);

        case D3DXPT_BOOL:
            return (FLOAT)get_bool(type, data);

        default:
            FIXME("Unhandled type %s.\n", debug_d3dxparameter_type(type));
            return 0.0f;
    }
}
static INT get_int(D3DXPARAMETER_TYPE type, LPCVOID data)
{
    switch (type)
    {
        case D3DXPT_FLOAT:
            return *(FLOAT *)data;

        case D3DXPT_INT:
        case D3DXPT_VOID:
            return *(INT *)data;

        case D3DXPT_BOOL:
            return get_bool(type, data);

        default:
            FIXME("Unhandled type %s.\n", debug_d3dxparameter_type(type));
            return 0;
    }
}