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

Hoyle Games - Rendering issues on Win32ss's GDI32 bitmap

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 0.4.15
    • Win32SS

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

      Attachments

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

        Issue Links

          Activity

            People

              DougLyons DougLyons
              simonelombardo simonelombardo
              Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: