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

Hoyle Games - Rendering issues on Win32ss's GDI32 bitmap



    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • Win32SS


      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 me@simonelombardo.com or Mattermost)


        1. 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. Hoyle_Card_Games_2012_with_PR5227_1.png
          555 kB
        16. Hoyle_Card_Games_2012_with_PR5227_2.png
          264 kB
        17. Hoyle_Card_Games_2012_without_PR5227_1.png
          561 kB
        18. Hoyle_Card_Games_2012_without_PR5227_2.png
          226 kB
        19. ReactOS-15-4276-bad.webm
          3.87 MB
        20. ReactOS-15-4276-good.webm
          3.54 MB
        21. Screen1.png
          519 kB
        22. Screen2.png
          730 kB
        23. Test1.png
          574 kB
        24. VirtualBox_ReactOS master_07_04_2022_17_52_30.png
          VirtualBox_ReactOS master_07_04_2022_17_52_30.png
          24 kB
        25. VirtualBox_ReactOS master_07_04_2022_17_53_57.png
          VirtualBox_ReactOS master_07_04_2022_17_53_57.png
          27 kB
        26. VirtualBox_ReactOS master_07_04_2022_17_54_12.png
          VirtualBox_ReactOS master_07_04_2022_17_54_12.png
          26 kB
        27. W2K3SP2_gdi32_SetDIBitsToDevice.png
          149 kB

        Issue Links



              Unassigned Unassigned
              simonelombardo simonelombardo
              2 Vote for this issue
              7 Start watching this issue