Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-18084

Hoyle Games - Rendering issues on Win32ss's GDI32 bitmap

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: Win32SS
    • Labels:

      Description

      ReactOS revision 20220303-0.4.15-GNU_8.4.0

      Application: Hoyle Card Games + Hoyle Puzzle and Board Games + Hoyle Blackjack.

      When operating to the gdi bitmap on screen with mouse hover, the bitmap blacks out or reports a incorrect part of the bitmap data, as shown in the attached screens.

      Moreover, if the game is unfocused, a light blue square will follow the cursor.  

      (drawing area and client area seems off)

      Resizing the windows, forcing a full refresh, would restore the correct result.The game renders in latest wine / linux fine so I didn't open a wine's bugreport.

      The video display is using VESA at 1280x1024.

      One note: the game renders only at 800x600 also in latest wine on GNU/linux so if the client area is larger than that 640x480, the game itself renders in the center square of the screen (as show in the Screen 1).

      The issue is more related on the incorrect bitmap rendering that the screen area.

      Relevant part of the debug log is found on bottom when interacting with the game:

      (win32ss/gdi/gdi32/objects/bitmap.c:752) SetDIBitsToDevice fail to read BitMapInfo: 009AA1F8 or Bits: 021A3EA0 & Size: 1920000

      (in the code it's linked to a memcpy to a Safe bitmap copy on the process'heap object but the heap allocation is fine - when uncommenting the exception catching, a read exception is thrown so the Bits's heap area size is lower than cjBmpScanSize at 734 on bitmap.c)

      (If a copy of the game is needed, contact me at simonelombardo@dismail.de or Mattermost)

        Attachments

        1. Comparision_Bridge.png
          Comparision_Bridge.png
          896 kB
        2. debug.log
          63 kB
        3. gdi32_bitmap_fix1.patch
          0.8 kB
        4. gdi32_bitmap_fix10.patch
          5 kB
        5. gdi32_bitmap_fix12.patch
          6 kB
        6. gdi32_bitmap_fix13.patch
          6 kB
        7. gdi32_bitmap_fix15.patch
          10 kB
        8. gdi32_bitmap_fix2.patch
          1 kB
        9. gdi32_bitmap_fix3.patch
          2 kB
        10. gdi32_bitmap_fix4.patch
          1 kB
        11. gdi32_bitmap_fix6.patch
          0.8 kB
        12. gdi32_bitmap_fix7.patch
          2 kB
        13. gdi32_bitmap_fix8.patch
          3 kB
        14. gdi32_bitmap_fix9.patch
          4 kB
        15. ReactOS-15-4276-bad.webm
          3.87 MB
        16. ReactOS-15-4276-good.webm
          3.54 MB
        17. Screen1.png
          Screen1.png
          519 kB
        18. Screen2.png
          Screen2.png
          730 kB
        19. Test1.png
          Test1.png
          574 kB
        20. VirtualBox_ReactOS master_07_04_2022_17_52_30.png
          VirtualBox_ReactOS master_07_04_2022_17_52_30.png
          24 kB
        21. VirtualBox_ReactOS master_07_04_2022_17_53_57.png
          VirtualBox_ReactOS master_07_04_2022_17_53_57.png
          27 kB
        22. VirtualBox_ReactOS master_07_04_2022_17_54_12.png
          VirtualBox_ReactOS master_07_04_2022_17_54_12.png
          26 kB
        23. W2K3SP2_gdi32_SetDIBitsToDevice.png
          W2K3SP2_gdi32_SetDIBitsToDevice.png
          149 kB

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                simonelombardo simonelombardo
              • Votes:
                2 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: