Patience
Chris (121) 472 posts |
I while ago I looked into giving !Patience a bit of a facelift. I’ve been using the results for a while, and it seems to work fine here. Aside from new graphics, including Sprites11, it’s got a proper Choices dialogue and implements solid drags. It also has proper interactive help, a new !Help file and key shortcuts. Here’s a screenshot: Anyone fancy testing it out? I’ve not been able to properly try it in old-style rectangular modes, nor the 180 dpi hi-res modes, so any feedback on that would be welcome. The only glitch I’m aware of at the moment is that DragASprite doesn’t use the palettes from 256-colour palettised sprites, making the results a little clunky. It could also do with a new application icon. Happy to provide one, unless Richard Hallas is still doing them? Download it here. Feedback, bug reports, etc. welcome. |
Martin Bazley (331) 379 posts |
Having given it a quick whirl on the ARMini, two things immediately jump out:
Otherwise, good work! I presume the ‘New pack’ option is just temporarily missing…? |
Chris (121) 472 posts |
Thanks for the comments.
Not sure about that. Nothing happens until the ‘Save’ action button is pressed – the option button just records that you want to save the window position along with all the other options.
Yes, you’re right. I’ll have a look and see if this is simple to do.
To be honest I wasn’t sure if anyone would miss that option. The current card-back sprites are pretty old, and I figured if anyone really doesn’t like the replacement they can substitute their own. But I guess I could put it back if it’s missed… |
nemo (145) 2552 posts |
Well overdue. While you’re at it, couldn’t you make it adapt to the size of the sprites and make them twice the size (or provide a size setting)? |
Rick Murray (539) 13850 posts |
Then wouldn’t it make more sense for it to be tick box saying something like “Remember window positions”? An icon that is clickable carriers the assumption that clicking it will cause something to happen… |
Martin Bazley (331) 379 posts |
Exactly – I’m saying I don’t think that’s intuitive. Option buttons should be things which you tick or untick, then you click ‘Save’, and when you open the window for the next time the button is still in the same state as it was when you closed it. Better would be to have an instant-effect action button which doesn’t depend on the ‘Save’ button in any way, or automatically performs the equivalent action.
Should be – DragASprite_Start takes a copy of the sprite data you pass it (I think) so it’ll just be a matter of constructing a temporary sprite and then forgetting about it. |
Chris (121) 472 posts |
Gah. I did some work on this ages ago, then life intervened, then I forgot about it, and now months have passed. Anyway, I’ve just had another look, and I think it all works OK. It was a bit fiddly getting the solid drags to work, IIRC. I’ve uploaded a new version here. Grateful for any feedback. I’ve not been able to test it out properly in 180dpi modes, even though I’ve defined sprites for them, so confirmation that this works would be great. Couple of minor additions: I’ve created new application sprites, since the old one didn’t have a complete set and they looked (to my eyes) quite old fashioned. There’s also an option to turn the beep off when you try to make an illegal move.
I agree – the cards are very small. I’ve done most of the work towards this: all the dimensions are multiples of the card width/height, so changing these should allow variable size playing area/cards. It’s probably simplest to have two settings (Large/Small), and switch between them from the main menu. I’d need to add code to change the window/toolbar size, define a larger set of sprites and check that the buffers are large enough, etc. I’m not sure when I’ll get around to this, though, so probably best to release this version now. |
Martin Bazley (331) 379 posts |
That’s looking a bit better. One minor thing I noticed during playtesting was that the area in which you were expected to drop a card in order for the drag to register seemed a bit too small for my tastes – on a couple of occasions I thought I’d dragged something off the deck when I had in fact failed to do so, and only noticed in the split second before turning over another three cards. I’ve probably been playing the KDE version of Patience too much. Otherwise, this is definitely an improvement over the old version, particularly the new sprites. |
Chris (121) 472 posts |
Ta for the feedback. Re the drop area, that might be something I could improve. At present I think it checks if the pointer is over the correct drop position, rather than taking account of the edges of the card being dragged. That can lead to some visual oddness, particularly if you started the drag at the edge of a card. |
Michael Drake (88) 336 posts |
That looks great Chris. To fix the drop area thing, I’d make the transparent dragged sprite apprear horizontally centered where the pointer is when the drag starts, rather than allowing the pointer to be offset from the center of the drag sprite. It looks good with the RO 5.21 transparent drags. Although you get an error about “SpritesA2 not found”. I copied Sprites22 as SpritesA2 to run it. |
Rob Heaton (274) 515 posts |
This is a great improvement, nice work Chris! I guess the error regarding the missing sprites, is related to this issue – https://www.riscosopen.org/forum/forums/4/topics/2274 |
Chris (121) 472 posts |
Ta for the comments. I’m just finishing off a revised version at the moment, which fixes a couple of glitches, and addresses the points made above. The last task is to revise the card sprites to be ‘flat’ white, rather than graduated, since this doesn’t degrade well on lower colour displays. Not a difficult job, but I need to find some time to convert them all. The (hopefully) final version will be posted for testing Real Soon Now… |
Chris (121) 472 posts |
The revised Patience has now been checked into the disc image. Grateful if people could take it for a spin and try to unearth any lingering bugs. I won’t be adding any new features now, but would be happy to fix any glitches that remain. The one thing I’d like to do at some point is have an option for bigger cards. I’ve done some work in the code to make it easy to double-up the card/table sizes, but designing a whole new set of sprites in three resolutions is a big job, and I can’t see myself having time to do it any time soon. Maybe one day :) |