Freesweeper - a new cross-platform clone

Area to discuss development and bugs of official clones (Clone, Arbiter, MSX, Viennasweeper)
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Freesweeper - a new cross-platform clone

Post by Cryslon »

Current version is Release 10.

Current version for i386 architecture
Current version for amd64 architecture
Current version for Windows

There is a need for an official clone with a native Linux version, and this program is written to fill this niche.

It uses Qt library, here are the DLLs for Windows version. Put them in the same directory.

Videos are saved as .fsvf (which is in fact Arbiter's AVF with different checksums) and as RawVF.

There is a luck feature, which can be discussed here.

Please try this program and report bugs, attaching the diagnostics file (it can be found in ~/.freesweeper/ on Linux and in the Freesweeper directory on Windows).
Last edited by Cryslon on Sun Apr 27, 2014 1:51 pm, edited 17 times in total.
Go IRC! (try mibbit)
CBright
Posts: 39
Joined: Sun Nov 30, 2008 11:53 pm
Contact:

Re: Freesweeper - a new cross-platform clone

Post by CBright »

Bravo! Now I will no longer need to play using WINE. :D

There are some mouse handling issues I can look into, but they seem to be minor. More serious is that I can only seem to save to RawVF and I don't think the auto-save or history is working. Also, the counters window was cleared somehow, perhaps because of a segfault caused by trying to drag a video onto the window. Finally, once when I was testing out video replay the board data got corrupted somehow; I'll attach the video.

Nice job, Cryslon. I would be even more thrilled if it wasn't for the bittersweet fact that I had also been working on a cross-platform clone; an old dream of mine which I was actually working on in February. Another project got in the way in March, but I was hoping to start on it again. Actually, first I was planning on adding a RawVF player to MSX so we could finally have one, but you have beaten me to the punch there as well! This reminds me of the time when I updated Arbiter only to find afterward that you had already done it. :lol:
Attachments
bugvideo.rawvf.zip
(956 Bytes) Downloaded 720 times
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

CBright wrote:I can only seem to save to RawVF
Yes, this version doesn't allow to save protected videos manually.
I don't think the auto-save or history is working. Also, the counters window was cleared somehow, perhaps because of a segfault caused by trying to drag a video onto the window.
Could you please describe how to reproduce the segfault on dragging? I haven't managed that.

You can find the default counters and autosave files in /usr/share/freesweeper. Copy them into ~/.freesweeper.

What do you mean when saying that history doesn't work? F9 doesn't work, or it shows empty history, or what?
Finally, once when I was testing out video replay the board data got corrupted somehow;
Wow, looks really weird.

Thank you for testing. Oh, and i forgot to mention that FS saves diagnostics (in ~/.freesweeper/diagnostics). Please send this file if you encounter something weird again.
I had also been working on a cross-platform clone; an old dream of mine which I was actually working on in February. This reminds me of the time when I updated Arbiter only to find afterward that you had already done it.
Sorry :roll:
Go IRC! (try mibbit)
CBright
Posts: 39
Joined: Sun Nov 30, 2008 11:53 pm
Contact:

Re: Freesweeper - a new cross-platform clone

Post by CBright »

Cryslon wrote:Could you please describe how to reproduce the segfault on dragging? I haven't managed that.
Weird, it seems to sometimes crash when I drag a rawvf file very quickly onto the window. It acts like the file was rejected but it leaves "ghosts" over the gameboard. And the counters aren't cleared on a crash; perhaps they just never got installed to the right place. Auto-save is now working, but I can't play the saved videos, or even avf ones; nothing shows up when I select "AVF".
Cryslon wrote:What do you mean when saying that history doesn't work? F9 doesn't work, or it shows empty history, or what?
I'm getting a "Couldn't open history file" error.
Cryslon wrote:Please send this file if you encounter something weird again.
It happened again, so I've attached the files in question. It seems only the rawvf was corrupted.
Cryslon wrote:Sorry :roll:
My own fault for taking so long. I think I'll at least finish it to the point of saving videos so my effort wasn't completely in vain. I was planning on using rawvf actually, with 3 extensions:
1. A "checksum" option field
2. Negative time to allow events before timer starts
3. Adding something like "(lmr)" at the end of event lines, where the letters which appear specify the state of the mouse buttons at that event
Perhaps we could discuss if these could be added to the format...
Attachments
fsweepbug.zip
(5.41 KiB) Downloaded 692 times
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

CBright wrote:the counters aren't cleared on a crash; perhaps they just never got installed to the right place.
Yes, this is a bug. Fixed in the new version.
Auto-save is now working, but I can't play the saved videos, or even avf ones; nothing shows up when I select "AVF".
fsvf's are showed now. Are you able to watch rawvf's?
I'm getting a "Couldn't open history file" error.
Make sure you have the rights to write to ~/freesweeper.history.
It seems only the rawvf was corrupted.
This shouldn't happen in the new version.

Please reproduce the segfault on dragging and send me the diagnostics.

Your RawVF extensions are imo fine.
Last edited by Cryslon on Mon May 21, 2012 6:23 pm, edited 1 time in total.
Go IRC! (try mibbit)
CBright
Posts: 39
Joined: Sun Nov 30, 2008 11:53 pm
Contact:

Re: Freesweeper - a new cross-platform clone

Post by CBright »

Cryslon wrote:fsvf's are showed now. Are you able to watch rawvf's?
Yes, and now watching AVFs work. I noticed in Kamil's 7.27 Int WR there is a depressed square in the upper-right corner which doesn't get refreshed.
Cryslon wrote:Make sure you have the rights to write to ~/freesweeper.history.
That can't be it; I can see the file is being updated, and the time ranking works.
Cryslon wrote:Please reproduce the segfault on dragging and send me the diagnostics.
OK, I've attached the diagnostics.

By the way, I noticed mouse movements off of the board are not recorded, which can make video playback near the edges kind of jerky. Also, when you move off of the board the internal mouse state seems to be reset (e.g., click and drag off the board and back).

Also, sometimes the smiley button isn't updated on the game end; I've attached an example video.
Attachments
bugs.zip
(1.92 KiB) Downloaded 681 times
CBright
Posts: 39
Joined: Sun Nov 30, 2008 11:53 pm
Contact:

Re: Freesweeper - a new cross-platform clone

Post by CBright »

I figured out that the history file error only occurs on the Density tab, which is maybe not implemented yet? The "Overview" table also doesn't seem to work, but the reason the graphs weren't working is because they default to Exp and I only play Int. :roll:

By the way, I don't know if there's anything you can do about this but I changed the mouse cursor in Ubuntu and for some reason when playing freesweeper it switches back to the default cursor! Annoying, since the whole reason I switched was because I found the default one was inaccurate for sweeping.
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

Let there be bump!

Since only Curtis is interested, maybe this thread should be moved to the "Minesweeper Versions" subforum.

Segfaults on drag&drop should now be gone.
CBright wrote:I noticed in Kamil's 7.27 Int WR there is a depressed square in the upper-right corner which doesn't get refreshed.
The reason is a missing mouse move event in Arbiter's AVF. I wrote a quick fix (not sure if every possible scenario is covered), this video works as it should now.
I noticed mouse movements off of the board are not recorded, which can make video playback near the edges kind of jerky. Also, when you move off of the board the internal mouse state seems to be reset (e.g., click and drag off the board and back).
I changed this.
Also, sometimes the smiley button isn't updated on the game end; I've attached an example video.
Fixed. Thanks for all your reports.
CBright wrote:I figured out that the history file error only occurs on the Density tab, which is maybe not implemented yet? The "Overview" table also doesn't seem to work, but the reason the graphs weren't working is because they default to Exp and I only play Int.
Ah, now i understand. As you can see, the whole history program is a mess trying to pretend it's Clone, and i'm not going to do anything with that because i hate writing interfaces.
I changed the mouse cursor in Ubuntu and for some reason when playing freesweeper it switches back to the default cursor!
The code doesn't contain anything related to cursors. And on my Ubuntu cursors work normally.
Last edited by Cryslon on Tue Oct 16, 2012 11:00 am, edited 1 time in total.
qqwref
Posts: 125
Joined: Thu Sep 23, 2010 4:17 pm

Re: Freesweeper - a new cross-platform clone

Post by qqwref »

Can you make a version that will run natively on Mac too? I don't personally use that OS but I think it would be very useful for people who do (once FS becomes official anyway).
NF player. Best scores 1-10-39.
CBright
Posts: 39
Joined: Sun Nov 30, 2008 11:53 pm
Contact:

Re: Freesweeper - a new cross-platform clone

Post by CBright »

OK, looks good, except now if you chord with a right click the smiley gets stuck in the guessing state. Also, I've attached a video that I saved that fsweep says is invalid.

Other things: I can only see the rightmost 3 digits on the y axis labels of the cloud graph. Also, I think 3BV should be in the default list; Time vs. 3BV seems like the most natural thing to plot.

And a suggestion: If you do implement the overview table, I think a good thing to add would be the total # of finished games. I'd like to know what my win rate is.
Attachments
corrupt.avf
(17.48 KiB) Downloaded 643 times
User avatar
Tjips
Posts: 74
Joined: Sat Apr 18, 2009 1:15 am
Location: South Africa

Re: Freesweeper - a new cross-platform clone

Post by Tjips »

Is there some way to get the windows dll files without having to sign up to some hosting site?
The number of minesweeper boards:
Exp: 140055249834355336357264746443955277014822625680974475320364702381803619892657792049596418323789908370400 (1.4e104)
Int: 13115156192346373485000211099954895788134532256 (1.3e46) &
Beg: 18934455246 (1.9e10)
:D
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

Tjips wrote:Is there some way to get the windows dll files without having to sign up to some hosting site?
try this
Go IRC! (try mibbit)
User avatar
Tjips
Posts: 74
Joined: Sat Apr 18, 2009 1:15 am
Location: South Africa

Re: Freesweeper - a new cross-platform clone

Post by Tjips »

Works like a charm, thanks :D
CBright
Posts: 39
Joined: Sun Nov 30, 2008 11:53 pm
Contact:

Re: Freesweeper - a new cross-platform clone

Post by CBright »

Here's a video where a button gets stuck in the pressed state. Also, I noticed if you click and drag off the board the first cell you pass when you come back isn't animated.

I was able to fix the cursor issue: I needed to update ~/.icons/default/index.theme in addition to /usr/share/icons/default/index.theme.
Attachments
bug.rawvf.zip
(2.37 KiB) Downloaded 662 times
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

CBright wrote:OK, looks good, except now if you chord with a right click the smiley gets stuck in the guessing state.

I can only see the rightmost 3 digits on the y axis labels of the cloud graph.

I noticed if you click and drag off the board the first cell you pass when you come back isn't animated.
Fixed.
Also, I think 3BV should be in the default list; Time vs. 3BV seems like the most natural thing to plot.
I'm unable to design the thing. The default list is too large; i made 3bv the default value of the custom counter instead.
If you do implement the overview table
There was a bug with the overview table which prevented it to work if you haven't finished a beg game. It is fixed; should work now.
Here's a video where a button gets stuck in the pressed state.
This was due to incorrect processing of rilian clicks, fixed now, but the event counts as a left click.
Last edited by Cryslon on Tue Oct 16, 2012 11:00 am, edited 1 time in total.
Go IRC! (try mibbit)
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

I've installed a cross-compiler and made a new version for Windows. Unfortunately, the DLLs used by the cross-compiler's output are different from the previous ones. The new DLLs can be downloaded here.
Last edited by Cryslon on Tue Oct 16, 2012 11:00 am, edited 2 times in total.
Go IRC! (try mibbit)
CBright
Posts: 39
Joined: Sun Nov 30, 2008 11:53 pm
Contact:

Re: Freesweeper - a new cross-platform clone

Post by CBright »

Looking good Cryslon! :D

However, there is a problem playing events with negative time; here's an example.
PR.rawvf.zip
(4.45 KiB) Downloaded 680 times
Cryslon wrote:I'm unable to design the thing. The default list is too large; i made 3bv the default value of the custom counter instead.
Actually, Date vs. Time might be an even more natural thing to plot. IIRC clone can do that; does fsweep have that as well?

Also, I think fsweep has 3BV limits, correct? I'd like an option to turn them off. Probably a deal-breaker for me.
aclark
Posts: 7
Joined: Thu Sep 27, 2012 7:14 pm

Re: Freesweeper - a new cross-platform clone

Post by aclark »

I registered just to say thanks very much for undertaking this project, it's kind of amazing to me that there's never been a good clone available for Linux.

Any chance to get 64bit binaries or the source for compiling? I'd prefer not to have to install all those 32bit dependencies.
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

CBright wrote:Actually, Date vs. Time might be an even more natural thing to plot. IIRC clone can do that; does fsweep have that as well?
I'm not sure what you have in mind, and i'm not able to run Clone to see what it can do.
Also, I think fsweep has 3BV limits, correct? I'd like an option to turn them off. Probably a deal-breaker for me.
Yes, it has.

I don't think the option to turn them off is a good idea, because i think a video played in classic mode should be always legal. Why do you want to turn them off?
aclark wrote:Any chance to get 64bit binaries or the source for compiling? I'd prefer not to have to install all those 32bit dependencies.
Do these work?
Last edited by Cryslon on Tue Oct 16, 2012 11:01 am, edited 1 time in total.
Go IRC! (try mibbit)
aclark
Posts: 7
Joined: Thu Sep 27, 2012 7:14 pm

Re: Freesweeper - a new cross-platform clone

Post by aclark »

Cryslon wrote:Do these work?
Great! Thanks!
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

A new version is ready.

I fixed the negative time bugs and added support for the Shift and Ctrl keys. I tried to imitate the behavior of MSX, but of course there may be bugs.

I also release the source, but i must warn you it's awful.
Attachments
FS-src.zip
Freesweeper release 6, source (without the functions handling AVF)
(146.82 KiB) Downloaded 726 times
Last edited by Cryslon on Wed Jul 31, 2013 8:38 pm, edited 1 time in total.
Go IRC! (try mibbit)
CBright
Posts: 39
Joined: Sun Nov 30, 2008 11:53 pm
Contact:

Re: Freesweeper - a new cross-platform clone

Post by CBright »

Cryslon wrote:
CBright wrote:Actually, Date vs. Time might be an even more natural thing to plot. IIRC clone can do that; does fsweep have that as well?
I'm not sure what you have in mind, and i'm not able to run Clone to see what it can do.
The x-axis records the date the record was recorded on (so the points are horizontally ordered by shade). By the way, I still can't see the first digit of the y-axis labels.
Cryslon wrote:I don't think the option to turn them off is a good idea, because i think a video played in classic mode should be always legal. Why do you want to turn them off?
Personally, I like to play boards from the true 3BV distribution. I guess I'm in the minority here though.
Cryslon wrote:I fixed the negative time bugs and added support for the Shift and Ctrl keys. I tried to imitate the behavior of MSX, but of course there may be bugs.
I believe only shift is supposed to activate chording — MSX used to treat ctrl like shift, but that was a bug. Oh, and I noticed the smiley doesn't update after chording before the game starts unless you use the middle button.

Also, I'm getting segfaults when trying to open a video using "Load video..." on an empty board.
Attachments
diagnostics.zip
(1.17 KiB) Downloaded 689 times
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

the smiley doesn't update after chording before the game starts unless you use the middle button.
fixed
I'm getting segfaults when trying to open a video using "Load video..." on an empty board.
To make a full-functional RawVF player, i've added density mode. These problems should be gone.
I like to play boards from the true 3BV distribution.
Well, since this program is unlikely to ever become an official clone, and since anyway it's very probable that in the very near future all submissions will be automatically checked for 3bv limits (or are they already?), i've decided to add the option. A line "IgnoreBBBVLimits = 1" in ~/.freesweeper/freesweeper.settings enables it.
I still can't see the first digit of the y-axis labels.
Hope now these bugs are gone.
Go IRC! (try mibbit)
Cryslon
Posts: 130
Joined: Sun Dec 28, 2008 7:41 pm

Re: Freesweeper - a new cross-platform clone

Post by Cryslon »

I release a new version mainly designed to be a better minesweeper video player. Some new things:
  • viewing Clone, Vienna and MSX videos with use of rawvf programs (mvr2rawvf is available only for Windows - and i hope Curtis doesn't object to including it in the package - on Linux you have to install wine and put mvf2rawvf.exe in /usr/bin/ manually to watch MVR)
  • skins - skins for MSX are supported, for stuff not included in MSX skins there's a more stupid format, see default.fshskin in the Windows package or the data archive
  • UPK mode
  • board editing mode
  • options that were available through manual editing may be accessed through GUI
The Windows version contains the skins, the Linux ones don't, but you may download them separately.
Last edited by Cryslon on Sun Feb 02, 2014 12:49 pm, edited 4 times in total.
Go IRC! (try mibbit)
User avatar
Tommy
Posts: 257
Joined: Mon Dec 01, 2008 9:22 pm
Location: Vienna

Re: Freesweeper - a new cross-platform clone

Post by Tommy »

Hi,

The download link for the QT DLLs is broken... I'd really like to try it, it sounds pretty awesome, but also don't want to download all of QT4...
Don't anthropomorphize computers - they don't like it.
Post Reply