This is an cross platform implementation of Minesweeper-like game written from scratch in C++ with SDL2, Dear ImGui and mINI.
Install SDL2 development library and cmake. For information about installing packages check manual of distribution you are using.
Download and install CMake and SDL2. Make sure to download development libraries for Visual C++. SDL2 is expected to be present in sdl2 directory in source root. Create sdl2 directory in source root and extract downloaded archive there. Change extracted directory name to SDL2 (this directory should contain lib and include directories). If you wish to use different directory for SDL2 modify CMakeLists.txt file to point SDL2_PATH variable to selected directory. Build was tested with Visual Studio 2022 Community Edition but probably older versions (not older than Visual Studio 2017 as support for C++17 is required) should be able to build it as well (not tested).
Build was tested with framework installation. Download and install CMake. Also download SDL2. Install SDL2 framework in /Library/Frameworks directory. Command line developers tools are also needed.
Use terminal to go to the source root directory and run following commands:
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
Use CMake to generate Visual Studio solution. Open and build generated solution in Visual Studio.
On Windows and Linux dsdmine expects assets directory to be present in the same directory as main binary. On Windows also SDL2 DLL is needed. It is distributed with development archive downloaded in step 2. On macOS build generates App Bundle (dsdmine.app) and assets directory is automatically copied into generated bundle.
-portable - Run without creating and reading ini configuration file. Best times won't be saved.
-scale=value - Scale game window and content by times specified in value that needs to be between 1 and 10. Useful for screens with big resolution.
Configuration file is located in these directories:
~/.local/share/DragonSWDev/dsdmine/
%appdata%\DragonSWDev\dsdmine\
~/Library/Application Support/DragonSWDev/dsdmine/
dsdmine is distributed under the terms of MIT License. Project depends on SDL2, stb_image, Dear ImGui and mINI. For information about these dependencies licensing check their respective websites.