Skip to content

Goldeneye texture of glasses in FILTER_LINEAR becomes FILTER_POINT when changing weapon #314

@GoogleCodeExporter

Description

@GoogleCodeExporter
Describe your system:
 - Linux distribution: Win7
 - Machine type: 64-bit
 - Mupen64Plus version: 1.99.2 MSVC
 - Plugins used: RICE

For visual artifacts, give:
 - Goldeneye (E) [!]
 - MD5: CFF69B70A8AD674A0EFE5558765855C9
 - CRC: 414ca61 2e57b8aa

Look at the glass on goldeneye001Linear

I change my weapon, and for 2-3 frame there the glass is "FILTER_POINT":
goldeneye002point

In Render.cpp: SetTextureFilter:

    if( options.forceTextureFilter == FORCE_DEFAULT_FILTER )
    {
        switch(dwFilter)
        {
            case RDP_TFILTER_AVERAGE:   //?
            case RDP_TFILTER_BILERP:
                m_dwMinFilter = m_dwMagFilter = FILTER_LINEAR;
                break;
            case RDP_TFILTER_POINT:
                m_dwMinFilter = m_dwMagFilter = FILTER_LINEAR; //force linear
                break;
            default:
                break;
        }
    }
    else


And linear filter work during the weapon change!

Currently I'm there (RSP_Parser.cpp):

    if( gRDP.otherModeH != ((gfx->words.w0) & 0x0FFFFFFF) )
    {
        gRDP.otherModeH = ((gfx->words.w0) & 0x0FFFFFFF);

        uint32 dwTextFilt  =
(gRDP.otherModeH>>RSP_SETOTHERMODE_SHIFT_TEXTFILT)&0x3; //what is that???

CRender::g_pRender->SetTextureFilter(dwTextFilt<<RSP_SETOTHERMODE_SHIFT_TEXTFILT
);
    }

I don't know and understand why "dwTextFilt" seems to have a
RDP_TFILTER_POINT in it.

I've send a st0 file just behind the glass.

Is the bug exist on linux?

I suppose there is a disync between array of texture and the array of
filter.... (As usual, I say that wich luck...)

Original issue reported on code.google.com by dorian.f...@gmail.com on 14 Jan 2010 at 3:09

Attachments:

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions