Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/18/2022 in all areas

  1. Although MESSUI and MAMEUI are officially dead, similar technology is used by HBMAMEUI, which is still alive. So I wanted to find out what could be done to get WinUI working with a compiler newer than GCC 10.1. For whatever reason, ARCADE64 is fine with GCC 11.2 and has been using this version for some time. Since MESSUI is extremely unlikely to be seen again (since nobody has said anything since it was cancelled), I've done my experiments with it. The main issues with a newer GCC are: - Crash while building the tree (the things in the left pane) - All icons missing - A crash when a certain invalid screenshot was encountered. The screenshot issue was the first thing to fix. apexc.png was internally a wav file, so the code thought it was a jpeg and ran out of memory. This has been fixed, so now it will think the file doesn't exist. The treeview crash - I couldn't locate the exact bad code, so I used the version from ARCADE64 and then had to make extensive modifications to get it to fit in. But finally it's working. Lastly - the icon problem. Again, I haven't found the exact line of code, but I did learn quite a bit of how a listview works (or is supposed to work). MESSUI and MAMEUI have 3 listviews (main game list, loose software, swlist software), while ARCADE64 and HBMAMEUI only have 1 (main game list). A listview can have a choice of displays (small icons, large icons, list-only, and report (various columns)). We also have a variation of report called grouped (the clones are indented). When tested, the small icons and large icons were very slow to work, and in MAMEUI it appeared to hang. This stuff has been removed from ARCADE64, you just get report mode only, with a choice of small or large icons, and a further choice of indented or not. This works quite well. With a listview in report mode you can either have WIndows do the work for you, or you can have code to do it yourself, if it's something that is outside the scope of what Windows does. The loss of icons happens in this custom code, but I'm not sure exactly where yet. ARCADE64 gets Windows to do it, so the custom code doesn't exist. I decided to make the icon displays in MESSUI (main game list) the same as ARCADE64, as it is much faster. However this means that the choice of clone colour no longer does anything, so it will have to be removed. For the software lists, if you chose a different icon display for the main list, the software lists went a bit crazy, because of a bug joining them together when they should have been separate. This has now been fixed. I've left the software lists with the custom code, so their icons will be blank with the newer GCC. Everything else works the same as before. So, at this stage, MESSUI is working fine with the newer GCC, except that - You can't choose a separate colour for the clones - No icons in the "SW Files" tab (they will show if compiled with older GCC) I'll keep working on this, because eventually it will need to be transferred into HBMAMEUI.
    1 point
×
×
  • Create New...