Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Questions about Wine on Linux
User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Mon Jun 01, 2020 3:58 pm

All,

Here are the remaining two images for the code enhancements for the "loader.c" file within the "kernelbase" "dll" folder.

Regards,

Craig
Attachments
Loader_5.jpg
Loader_4.jpg

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Sat Jun 06, 2020 5:02 pm

All,

I had an opportunity to do some more analysis on the game programs and how they used the various "Find Resource" and "Get Module Handle" functions in the "loader.c" file and was able to develop a more efficient test and retrieval of the MUI support information in this file. These enhancements supersede the previous code changes I implemented in this source code file and they allow the game programs to load and execute faster. I've attached images of the code changes to the "loader.c" file for your edification. Feel free to analyze and improve upon them.

With that, I believe this is as far as I can go to get a set of features in place to provide rudimentary MUI functionality. Ultimately, we will need to wait on the official addition of MUI support in future releases of Wine. Have fun with the code. It was fun to make these games work in Linux.

Regards,

Craig
Loader_3.jpg
Loader_2.jpg
Loader_1.jpg

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Mon Jun 15, 2020 2:01 pm

Dear DarkShadow44,

Since I've had time to poke around and do lots of low-tech debugging, I did come across an issue that might provide a clue as to why MUI support is not working for Mahjong and the other games that are a part of the Wineaero group. I cannot be certain, but it does appear that the execution of the Mahjong game relies on acquiring data from an XML file stored in the user folder. The name of the file is "MahjongTitans.xml". It is not a typical text file. It appears to contain binary code which to me indicates that it contains resource information. When I added simple trace output to the "ntdll/file.c" function for acquiring file information, the function returns an invalid status. Here is a snippet of the log output.

0024:fixme:file:SetCurrentDirectoryW Setting directory to: L"C:\\users\\craig\\Local Settings\\Application Data"
0024:fixme:file:SetCurrentDirectoryW Setting directory to: L"Microsoft Games"
0024:fixme:file:SetCurrentDirectoryW Setting directory to: L"Mahjong Titans"
0024:fixme:ntdll:NtQueryAttributesFile Checking file attributes >>> L"\\??\\C:\\users\\craig\\Local Settings\\Application Data\\Microsoft Games\\Mahjong Titans\\MahjongTitans.xml"
0024:fixme:ntdll:NtQueryAttributesFile Unix file issues

0024:fixme:file:GetFileAttributesW File name: L"MahjongTitans.xml", invalid attributes
0024:fixme:file:GetFileAttributesW Did not like the file for some reason

The point of failure occurs in the following statement within the "NtQueryAttributesFile" function where is appears to be wanting to open the file:

if (!(status = nt_to_unix_file_name_attr( attr, &unix_name, FILE_OPEN )))

I tried to manually adjust the file permissions to see if that would help, but nothing seemed to help.

Should this be raised as a bug?

This issue might not be the underlying cause of the program not finding MUI functionality, but not being able to open and read the file would definitely be an issue with the program function.

Regards,

Craig

spoon0042
Level 5
Level 5
Posts: 404
Joined: Thu Dec 24, 2009 11:00 am

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by spoon0042 » Mon Jun 15, 2020 6:46 pm

If the app depends on certain file attributes that could certainly cause issues as afaik that kind of thing is not entirely supported or requires some manual configuration. It may be worth filing a bug or searching for existing bugs on that topic.

User avatar
DarkShadow44
Level 8
Level 8
Posts: 1109
Joined: Tue Nov 22, 2016 5:39 pm

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by DarkShadow44 » Mon Jun 15, 2020 8:42 pm

Hello cschulst,

the question is, why does nt_to_unix_file_name_attr fail?

Would you mind providing your changes as patches instead of screenshots? Then I could check myself.

Regards,
DarkShadow44

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Tue Jun 16, 2020 10:28 am

Dear DarkShadow44,

I was incorrect in that deduction. After actually testing the game program on Windows and then retesting on Linux and watching the folder where that xml file exists, I saw that the game program was actually deleting a backup of the file, renaming the current xml file to be the backup, and then creating a new xml file. So, that was a red herring. The function does actually work. So please disregard my email. Sorry about that.

Anyway, what I think I will do is review the "dll" functions being used by the game program as noted with "Dependency Walker" and maybe try to do some low level debugging in those functions. I can't state for sure, but the issue seems to be with some missing registry information (e.g. with a language pack), Windows version information, or user information. Thanks for getting back to me.

Regards,

Craig

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Tue Jun 16, 2020 8:01 pm

All,

After doing some more testing and outputting of diagnostic data, I do believe somewhere in the game program it is requesting some type of language specific information and when it does not find it, the program falls back to the data in the "Mahjong.exe" file. I was able to actually replicate the garbled window text on my Windows PC by temporarily changing the name of the "en-US" folder to hide the "mui" file. So the bottom line is that when the "mui" file cannot be found, the program falls back to the "exe" file.

From what I could decipher from the code behavior, the game developers constructed their own resource loader functions as there were no documented occurrences of the "Mahjong.exe.mui" file being loaded via a "LoadLibrary" call. If ever the source code were to become available, it would be enlightening to see how they determined the language capabilities and resource loading. But for now, the code changes that provide a reactive acquisition of the "mui" data appears to be a functional workaround. I will periodically check this issue log to see if anyone else has uncovered missing information that fills in the voids. Thanks to everyone for their input.

Regards,

Craig

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Sun Jun 21, 2020 9:48 pm

All,

In doing some more investigation and walking the various game programs through, I did seem to uncover a bit more information. It appears that the programs only use the various iterations of the "LoadLibrary" function to load and assign a module handle to the executable file. Subsequent references evidently happen during the module handle acquisition functionality which possibly is where Wine is still missing some multi-language bits. So having said that, I did do some more program experimentation and was able to reduce the program changes so that they are only contained within file "loader.c" of the "kernelbase" "dll" group. And I applied these enhancements to the "5.11" version of Wine so they are up-to-date. If anyone is interested in seeing the code enhancements, I can grab some "diff" images and paste them into this stream of posts. I noticed just a slightly longer load time, but once the loading of the window was done, the game play was good and all of the text and graphics looked sharp.

I did notice one "knock-on" effect of the code additions. If there are any legitimate resources to be acquired from the executable file, they will not appear. I only found one instance of this with the "Purble Place" game. The icons added to the game summary dialog boxes do not appear. I've attached an example of the standard game dialog from a Windows iteration of the game with the icons and the example of the same dialog box from the version running with Wine. However, there is no effect on the actual game play so this seems a minimal issue. I hope this helps in your investigation of any other multi-language dependent applications.
Dialog_Without_Icons.jpg
Dialog_With_Icons.jpg
Regards,

Craig

nadeloehr
Level 1
Level 1
Posts: 5
Joined: Sat Aug 03, 2019 2:25 pm

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by nadeloehr » Sat Jul 04, 2020 8:49 am

Hi Craig,
could you post your code modifications in a better accessible format? I would suggest you use the git diff command and copypaste its output into a forum post?
Because copying the modifications from images is really tedious :(

Regards,
nadeloehr

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Sun Jul 05, 2020 11:41 am

Dear nadeloehr,

I couldn't seem to find a suitable editor to provide a good difference view for cutting and pasting, so I decided to go ahead and set up a simple repository out on GitHub and add the code there. I uploaded the unmodified code for file "loader.c", then applied my coding changes, and committed the changes. You should be able to view and pull down a copy of the updated code from there as it is a public repository. Here is the link:

https://github.com/cschuls/WineMUI.git

FYI, this is the source code file from Wine version 5.12. When the newest Wine development versions have been coming out, I've been refreshing my virtual machine sandbox and applying the code changes to that source code file to try to ensure that there are no regression issues and so far there have been none. If you still are working with an earlier development version of Wine, these changes probably will still work.

A couple of other things to note. I experimented with additional conditional testing so that I could get some of the bitmap resources to show as well and I was successful with that. Since I am not experienced with PE entries and such nor am I an experienced C programmer, I took a more "low-tech" approach to distinguish between language-specific resources and data such as bitmaps by reviewing the range of handle values used by each group of resources. There seemed to be a pattern to the assignment ranges. So that's where you will see the conditional calls to the "GetMUI" function based upon arbitrary handle value ranges. It was not ideal but it seems to work. Also, with the use of the language ID in lieu of the language environment code, the program probably won't crash if a language environment value is not set up. You will see in the code though, that I could not get the function to directly retrieve the locale code to work so again, I dropped back to a bit of a "low-tech" process of using a "switch/case" set. But, it all seems to work. I hope it works for you. :)

With that, this is probably as far as I will go in tweaking the code. However, I will monitor this subject periodically.

Regards,

Craig

uggina
Newbie
Newbie
Posts: 1
Joined: Fri Aug 07, 2020 9:00 am

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by uggina » Fri Aug 07, 2020 9:04 am

Chess Titans — a chess game with 3D graphics.
FreeCell — a computerized version of the FreeCell card game.
Hearts — based on the card game by the same name.
Mahjong Titans — a version of mahjong solitaire.
Minesweeper — a classic puzzle game.
Purble Place — a three-game suite for children.
Solitaire — the classic card game.
Spider Solitaire — based on the card game by the same name.
Internet Backgammon — classic backgammon you play with people all over the world.
Internet Checkers — play against the computer or with a live opponent online.
Internet Spades — the popular card game with multiplayer capability.

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Mon Aug 10, 2020 10:03 am

Hello uggina,

I am not sure if you are just noting that the Mahjong Titans game is a part of a game set that includes the other games you noted or for some other reason. However, other than the internet based games, I did test the other games in the Wineaero game set and the program enhancements I added to the "loader.c" file appeared to work for the other games as well. The knock-on effects I noticed were that it does take a bit longer for the games to load due to the enhancements having to chase down the existence of an "MUI" file, and the possible omission of some language neutral resources (e.g. some icons might not display). So, you are free to got out to Git and view and use the code enhancements.

Regards,

Craig

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Tue Aug 11, 2020 9:20 pm

All,

Having time to do some more testing of the "loader.c" program file, I was able to refine the MUI check test in the "FindResourceExW" function so that the language neutral resources normally stored in the executable file such as icons are found and loaded. Also, I re-positioned the MUI test within the "LoadResource" function so that the "GetModuleHandleW" function is properly executed if the initial module argument value is NULL (this scenario happens within the chess game). I have committed those changes up to my Git project noted in the previous post. With those refinements, all of the games appear to play properly as illustrated in the attached collective image file. Also, the application icons now appear if the dialog boxes for the help information is presented (refer to the other attached image file). As noted before, with this enhancement, the initial game loading is a bit longer, but once loaded, the game performance seems to be good.
Oberon_Games.jpg
Oberon_Games_Help_with_Icons.jpg
Enjoy!

Regards,

Craig

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Sat Aug 15, 2020 2:51 pm

All,

I finally figured out why I could not utilize the "GetUserDefaultLocaleName" function within the new "GetMUI" function in the revised "loader.c" program. It turns out that function "GetUserDefaultLocaleName" makes a call to function "FindResourceExW", which then would subsequently again call function "GetMUI", which would then again call the "GetUserDefaultLocaleName" function in a recursive circle. Eventually, this resulted in a stack overflow condition which caused the program to crash. So knowing that, I made the code changes to condition the call to function "GetUserDefaultLocaleName" so that it does not get recursively called within function "GetMUI". With that change, I was able to replace the homemade "switch/case" block I added to attempt to acquire the locale name and use a proper function call. This made function "GetMUI" more compact and efficient as well. I committed those changes to my Github project if you wish to download the source code for your own use and testing.

https://github.com/cschuls/WineMUI.git

Regards,

Craig

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Tue Aug 18, 2020 1:12 pm

To nadeloehr, DarkShadow44, qwertynmb, and uggina,

Since version 5.15 has been released, I again downloaded a copy of the source code and built an iteration of Wine for that version. I then reapplied the enhancements to file "loader.c" and tested out the enhanced application. Again, the enhanced version displayed the menu, text, and icons properly. I've uploaded and committed the code changes to my Github project. If you happen to review my latest changes, you will note that I have revised the naming of the added variables to conform to the Wine development naming convention (e.g. do not use Hungarian notation, use underscores in lieu of camelCase, and so forth). That way, if this code change is considered for the production version of Wine, it will already be properly coded.

One more thing to note. In order to get the games to work, I did have to apply a workaround to the Wine application to avoid a program failure upon loading of the program. I found and submitted a program bug report for the "msdmo.dll" file which will probably work its way through testing and remediation. Following is the link to that bug.

https://bugs.winehq.org/show_bug.cgi?id=49659

If you do not want to wait for the fix to that bug, when you apply the enhancements to file "loader.c" in the kernelbase folder, you will also want to copy in the source code for file "dmoreg.c" from the source code for version 5.12 to the "msdmo" folder, and run the make command for that code change as well.

Regards,

Craig

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Tue Aug 18, 2020 9:23 pm

Dear DarkShadow44,

I am not sure if you are monitoring this issue anymore, but if you are, I do have question regarding animation functionality within the Mahjong Titans game and some of the other games in this set (such as Spider Solitaire). These games contain functionality for presenting animated scenes based upon the one of the option settings. On Windows, this option shows up as a check in a check box and is not grayed out.
Animation Setting.jpg
Animation Setting.jpg (19.62 KiB) Viewed 948 times
If I view the option settings for the Mahjong game on my Linux system using Wine, the option appears as checked but it is grayed out signifying that the functionality is not available.
Animation Setting.jpg
Animation Setting.jpg (19.62 KiB) Viewed 948 times
In tracking down the condition that either allows or does not allow animation, I found that there is a control panel setting for this in Windows to set appearance and performance.
Windows Animation.jpg
My guess is that this setting is buried somewhere within the registry, but I am not sure. So I thought I would reach out to you since you seem to be quite knowledgeable with Wine. Do you know where this setting might be and if it does exist how it could be revised to be activated? Thanks in advance.

Regards,

Craig
Attachments
Wine No Animation.jpg

User avatar
DarkShadow44
Level 8
Level 8
Posts: 1109
Joined: Tue Nov 22, 2016 5:39 pm

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by DarkShadow44 » Wed Aug 19, 2020 2:16 pm

I'll take a look.
FWIW, I needed to remove the following checks, or it won't work:

Code: Select all

if ((strcmp(resource_type, "#0018") <= 0) &&  (strcmp(resource_type, "#000e") != 0) && (strcmp(resource_type, "#0016") != 0) && (strcmp(resource_type, "#0003") != 0))

Code: Select all

if ((resource_value >= 13631488) && (resource_value <= 14680063))
We can't just call it always?


User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Wed Aug 19, 2020 10:49 pm

DarkShadow44,

Actually, when I had first attempted to locate an associated MUI file for resource retrieval, I did leave out any resource value conditioning within the LoadResource function. So I reverted to not having that condition within that function. The net result of that is any resource located within the associated MUI file is found and a resource handle is acquired in the FindResourceExW function. However, if a language neutral resource still resides in the executable file, calling the GetMUI function results in the FindResourceExW function returning a NULL value which then does not attempt a retrieval of that resource. An example of that result is instead of the application icon appearing in the help dialog box, the fallback wine icon is displayed.
Mahjong_Help.jpg
This knock-on effect all depends upon the location of the resources. For example, in the chess game that is a part of this game set, the resource is evidently in the MUI file and thus gets displayed.
Chess_Help.jpg
So I have removed the resource value condition from the source code in function LoadResource as you noted. The net result is for possibly not seeing some icons, the user application still acquires the other language dependent resources from the MUI file which is a big step in the right direction.

Regarding the removal of the resource condition test I had within the FindResourceExW function per your suggestion, a test similar to what I had put in there still needed to be in place in order for the proper use of the GetMUI function to work. However, in reviewing what I was attempting to do, basically my test was equivalent to utilizing the "IS_INTRESOURCE" test which is used throughout the loader.c source file. So I changed the test from a hard-coded value test to utilizing this standard function. After re-running the make command, I tested out all eight game programs which includes the Mahjong Titans game. Other than a bit of an initial time lag when the programs first load, all of the functionality worked. If you happen to test out the games the lag is a bit more pronounced with the chess game. That appears to be because the game developers for that game probably were using the various resource loader functions in the "user32.dll" as opposed to directly utilizing the "FindResourceExW" function which seems to be the method employed in the other games.

The bottom line is I appreciate your input and suggestions on the removal of the hard-coding. It actually reduces the code additions as well as making the program more robust.

I have uploaded those changes into a fresh commit on my Github project if you want to review them. I think they meet the required coding conventions.

Regards,

Craig

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Thu Aug 20, 2020 11:40 am

Dear DarkShadow44,

I also tried out your patch for the animation. At first after making the code change and running the make command, I was still not getting any animation and the checkbox was still grayed out. However, in reviewing the source code I realized that these values were the initial values placed in the registry when the wine configuration is initially executed. So I used regedit, traversed to the user preferences key, and revised the binary value to mimic your patch. After I did that, the animations worked as you can see in this screen capture.
Mahjong_Animation.jpg
Thank you very much. That is super. :)

Regards,

Craig

User avatar
DarkShadow44
Level 8
Level 8
Posts: 1109
Joined: Tue Nov 22, 2016 5:39 pm

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by DarkShadow44 » Thu Aug 20, 2020 11:59 am

I assume it tries to load the resource from both files. Like, first from the exe, then from the mui. Or the other way round, not sure. Tests would help figure that out.

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Thu Aug 20, 2020 4:31 pm

Dear DarkShadow44,

To try to answer your question about the search sequence for resources, the enhancement does not search both files for any given resource. It is an either/or situation. If the resource is determined to be a resource name that was generated with the MAKEINTRESOURCE function (in other words using the IS_INTRESOURCE test returns a true value), and an MUI file is found, the MUI file will be searched. If an MUI file is not found, then the current standard functionality will be used. I've created a table of the various scenarios I tested with the resulting behavior for your edification.
Resource Retrieval.jpg
The one scenario that this enhancement does not cover, and thus is not successful in retrieving a resource is the second scenario where the resource passes the IS_INTRESOURCE test, an MUI file is found, but that particular resource is only in the executable file. From my testing experience, resources that fall into that scenario are language neutral icons. As a result, what I saw was either a fallback to a default icon or just no icon at all within a dialog box.

I think if you run these games through your own tests or even test other applications that have multi-language support, you should experience the same behavior. My view is that this limitation is small in order to provide this rudimentary multi-language functionality. However, I will definitely defer to your opinion as you have a lot more experience with the Wine application. Again, thanks for all of your input and even considering this enhancement.

Regards,

Craig

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Fri Aug 21, 2020 5:16 pm

Dear DarkShadow44,

Your question about the test sequence for checking both the executable file and the MUI file caused me to reflect to see if I could devise a method to perform a second resource check if the initial module reference does not contain the resource. So, I went back and revised the resource finder function to work in that manner. Once that part worked I still needed to craft a proper condition in the resource loading function so that language neutral resources that were acquired did not cause a change attempt from the executable file handle to the MUI file handle and subsequently cause a page fault. After performing more tests and studying the behavior of the function, I discovered how I could create the proper conditioning for calling the MUI reference retrieval function without any hard coding. If you go out to my Github project, you will see the resulting code. I tested out the code change for all eight of the games of which the Mahjong game belongs to as well as a game that did not have any associated MUI file. They all worked.

FYI, in order to allow for the fallback test for a resource handle and not have repetitious code, I split out the code block that controls the call to the "find resource loader" function so that I did not have repetitive code for the fallback test and execution.

If you would, please test these changes out. It's always good to have a "second set of eyes" reviewing code.

Regards,

Craig

User avatar
DarkShadow44
Level 8
Level 8
Posts: 1109
Joined: Tue Nov 22, 2016 5:39 pm

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by DarkShadow44 » Sat Aug 22, 2020 6:11 am

Hello Craig,

it would probably be useful to have a all important details covered by unit-tests. Not sure if you planned on adding those, but they could easily show that your implementation is correct.

Regards,
DarkShadow44

User avatar
cschulst
Level 2
Level 2
Posts: 42
Joined: Wed Apr 15, 2020 1:23 pm
Location: United States

Re: Windows 7 Games (Mahjong, Minesweeper, Spider Solitaire, etc.) do not display menu bar (File, Edit, View)

Post by cschulst » Mon Aug 24, 2020 10:26 am

Dear DarkShadow44,

I took your advice and formally performed various unit test scenarios and documented them. I searched to see if there was a specific unit test template used for the Wine application or for C programming in general and did not find anything. So, I just composed a unit test document based on my experience in the past working the the IBM mid-range computing world. I tested out various scenarios first running the test with the base version of Wine and then repeating the test with the enhancement in place and documented each scenario. Not knowing specifically what information might be pertinent, I attempted to include all possible information. So, the documentation might be a bit verbose. I published the document to a "pdf" file, but I could not attach it to this issue. So, I uploaded the document to my Github project if you wish to review it and share it.

If there is any serious consideration of using this code enhancement, it probably would need to go through some peer review. But the code is out there for anyone to pull and review. I don't believe that there is anything more I can add at this point. Thanks again for your input.

Regards,

Craig

Post Reply