Ticket #7673: scanhack.diff

File scanhack.diff, 1.6 KB (added by hkzlab, 16 years ago)

Example/proof of concept/hack patch to run games without interlace

  • gx_supp.cpp

    diff -U3 ./gx_supp.cpp /home/nightshade/Downloads/scummvm/scummvm-prova/backends/platform/wii/gx_supp.cpp
    old new  
    7676};
    7777
    7878void GX_InitVideo() {
    79         vmode = VIDEO_GetPreferredMode(NULL);
     79#ifndef SCANHACK
     80        vmode = VIDEO_GetPreferredMode(NULL);   
     81#else
     82        vmode = &TVNtsc240Ds;
     83#endif /* SCANHACK */
    8084
    8185#ifdef GAMECUBE
    8286        if(VIDEO_HaveComponentCable())
    8387                vmode = &TVNtsc480Prog;
    8488#endif
    8589
     90#ifndef SCANHACK
    8691        vmode->viWidth = 688;
    8792        vmode->viXOrigin = (VI_MAX_WIDTH_PAL - 688) / 2;
     93#endif /* SCANHACK */
    8894
    8995        VIDEO_Configure(vmode);
    9096
  • osystem_gfx.cpp

    diff -U3 ./osystem_gfx.cpp /home/nightshade/Downloads/scummvm/scummvm-prova/backends/platform/wii/osystem_gfx.cpp
    old new  
    4444
    4545        GX_InitVideo();
    4646
     47#ifdef SCANHACK
     48        _overlayWidth = 320;
     49        _overlayHeight = 240;
     50#else
    4751        _overlayWidth = 640;
    4852        _overlayHeight = 480;
     53#endif /* SCANHACK */
    4954
    5055#ifndef GAMECUBE
    5156        if (CONF_GetAspectRatio() && _fullscreen)
    52                 _overlayHeight = 400;
     57                _overlayHeight = 200;
    5358#endif
    5459
    5560        _overlaySize = _overlayWidth * _overlayHeight * 2;
     
    141146
    142147        printf("setGraphicsMode %d\n", mode);
    143148
     149#ifdef SCANHACK
     150        xar = vmode->viWidth/1.80f;
     151        yar = vmode->xfbHeight;
     152#else
    144153        xar = vmode->viWidth / 2;
    145154        yar = vmode->xfbHeight / 2;
     155#endif /* SCANHACK */
     156
    146157
    147158#ifndef GAMECUBE
    148159        if (CONF_GetAspectRatio() && !_fullscreen)