Sanakan8472 / copy-dialog-lunar-lander

Play lunar lander in you windows file copy dialog
MIT License
3.56k stars 78 forks source link

Copy Dialog Lunar Lander

Here is one of the most pressing issues of our times: You need to download a huge file from the other side of the world to continue your work. You literally can't do anything but wait.

Problem

Now there is finally a solution to this problem! Play lunar lander in these inviting hills generated by the progress dialog. Time flies when you are having fun!

CopyDialogLunarLander

Multiple difficulty settings!

There are multiple difficulty settings to choose from:

Infinite levels, infinite replayability!

There are infinite levels, thanks to general unreliability of storage devices, the internet and VPNs. Even playing the same 'level' twice might result in totally different landscapes, infinite replayability is guaranteed!

Visit many exciting worlds!

Unlike the lunar lander from the olden times, this one is not limited to visiting just the moon, here are some other worlds you can visit:

Create your own worlds (with the OS built-in level editor)!

If the above worlds are not your cup of tea, you can create your own! Simply enable high contrast mode and change the Hyperlinks color for the paused world and the Selected Text color for the normal world. That's 16.7 million worlds that you can visit!

LevelEditor\ Here some examples of what worlds await you:

CustomLevel1 CustomLevel2

Building

Needs at least Windows 10 for handling dpi scaling correctly. Only tested on Windows 10 21H2 so far. Windows 11 is untested.

Gameplay

Once running, a tray icon is added that can be used to exit the app, change the difficulty in case your moon lander explodes even on flat terrain.

TrayIcon

While running, the app will detect all windows copy dialogs and paint a game overlay on top of them while they are focused. You can then click in the progress graph to begin playing. Controls:

Contributing

Contributions are always welcome!\ You can even make new games by deriving from OverlayWindow and implementing GameInterface. Any non-abstract class will show up in the tray icon so you can switch to your new game.\ Your imagination is only limited by the 395x85 logical units size of the progress chart.

If you have too much time on your hands, consider contributing to box2d-standard instead. It's used in this project to drive the lunar lander (mostly into the ground and then to explode).

Known Issues