My major goals were to gain experience with bigger software projects (though it's not that big^^) and to get used to the wxWidgets GUI library. But now I hope MySweeper can become an official clone because of it's useful features and the work I put into it.

Special features:
- platform independent: It is running on Windows and Linux (and on Mac, if I find a Mac to compile it)
- changeable square size: Useful on screens with high ppi values, like Full HD notebooks
- practical infinite board sizes possible: Up to 10000x10000 squares (though you need a very fast computer therefore, but 1000x1000 works well on a standard computer),
a "scroll mode", so the board need not fit into the screen
a size ranking could be established, for the biggest boards solved with expert mine density
- raw mouse input for accurate and portable mouse settings in Windows version, Linux version may follow
- open source: except the video saving and loading (to avoid easy faking of videos), the code is open source and can be used by everyone to improve this clone
- export and import RawVF videos
- support for different languages via language files
- a luck/no-guess mode

Of course all standard features of a minesweeper clone are included like stats (3BV, ZiNi, Path,...), fraud-proof videos, various settings, highscores and a History.

The code is not perfect (general software design and some parts could be better), but there is definitely worse code around. (Edit: After adding many features, the code definitely needs a revision)

I hope you have time to try this clone. If you find a bug, please report it here or to the e-mail address in the About window. If it's a bug in the board (like a square does not open), please save a video and add this to the bug report.

Last edited by senfti on Mon Oct 12, 2015 5:24 pm, edited 13 times in total.

I tried the linux (i386) version, and i quite like it. I'm certainly not a Curtis-level expert on how the mouse should behave, but i don't see any irregularities. The counters and history are quite nice and useful.

The only bug i'm having is that the window isn't being resized properly on application launch, screenshot attached. When i switch levels, everything becomes okay.

About video format: as i understand, this is a new format. It would be nice to have a rawvf converter for it. And as i see, the video files contain the paths to themselves, twice. What is it for?

Also, i'm not familiar with wxwidgets. What do i do to compile a program using that?

Just cannot download it from the given address.
Could you please send a copy to my E-mail: qxxqlls@163.com
It is a pleasure to see a clone and I will try to take it testing in our saolei.net group.
In my opinion any clone can become an official clone if it is safe and exact.
If it is really a very good clone, I will try to translate it to Chinese that large amount of players will be easy to use.

1.I didn't see opening and island counters which are very important for minesweep.
2.If there is no 3bv limit on board randomize,please set it 2-30-99.
3.Video file can be saved as "Exp_NF_180_53.175_Michael_20150421_181429.ivf" would be better.
4.Efficient L-R-C click counter needed.
5.Statistics history to *.csv needed.

1.I didn't see opening and island counters which are very important for minesweep.

Openings in counters is no problem. Calculating islands is a bigger problem because I don't know what the meaning of this value is and how to calculate it

2.If there is no 3bv limit on board randomize,please set it 2-30-99

There is no limit at the moment, but games with a lower 3bv will not count in highscores. I thought this is enough due to rare occurence, but I can implement a limit.

Video file can be saved as "Exp_NF_180_53.175_Michael_20150421_181429.ivf" would be better.

You can set the way your files are named in the settings. If you hover the mouse cursor over the corresponding text entry box, a tooltip will show up explaining how it works.
"$name" will be replaced by your name, "$style" will be replaced by BEG, INT, EXP or CUSTOM, "$time" by the time and "$3bv" by the 3bv, when a replay is saved automatically.

At the moment I store the history in xml format (just with extension .hisc). I can also store the history in .csv format, if you want to view the history outside of MySweeper.
But if you want to combine MySweeper history with history files of other clones, this is not enough and will hardly be possible.

1.Remove all mines and all opening squares(with opening's edge).Then a set of continuous number cells is an island.
2.Highscore is limited by 3bv. That's enough.
3.I think you can make it as the follows:
$style = Flag(FL) or NF
$level = Exp or Int or Beg or Cus
$date = yyyymmdd
$time = hhmmss (can avoid same file name)
4.Clicks that can make a difference on board status are efficient clicks.
L-R-C = Left-Right-Chord
5. Maybe I can show you how a video file analyser works and how I collect stats of 13000 players.

4. So all clicks are efficient, except:
- left clicks which open no square
- chord clicks which open no square
- right clicks which do not set or remove a flag
Is that right or are there further constraints (like a flag gives no opportunity for a chord)? Does removing a flag increase the inefficient click value by 2, because setting and removing a flag is unnecessary?

5. Does your video file analyser calculate these statistics? Then it's probably the best if I add support for MySweeper videos to the video file analyser or I write a converter from .mysvw to a video format the video file analyser can read.

Else there are much values to calculate and a full list with all values and their meaning would be nice

Second problem is, that I don't store mouse events in my videos, so I cannot say for sure, if a chord was done with middle mouse or with left + right. This may cause some problems, especially if different chord types are mixed in a single game. So I am not sure if I have done this correct.

Thrid problem, how can I import .rawvf files in Minesweeper Video Analyzer V1.0? I wanted to check my .rawvf files, but I was not able to do it.

For your 1st problem I don't know what the problem is in detail.
For your 2nd problem. I think you may ban middle button in your clone otherwise you must store all neccesary buttom actions.
3rd. I have nothing to say about it

MySweeper 1.1.0 released:
changes:
- added import for RawVF videos
- support for languages (German now suppored), most error messages are not translated at the moment
- smaller video cursor

How to make a translation to a new language:
1) Open the English translation file, there you will find the English strings, one string per line
2) translate every line to your language ("\n" will be replaced by a line break, keep this linebreaks!)
3) save the file with the filename "<language>.lang"
4) you can change to your language in Settings->Miscellaneous, select "Use language form file" and then browse your language file

Edit: Make sure the file is saved in UTF-8 encoding

Last edited by senfti on Wed May 20, 2015 11:09 am, edited 2 times in total.