Prince of Persia
Abbaye des Morts
Cave Story
Of the three, I've found Cave Story the most compelling. Maybe it's the music? Or maybe because Cave Story seems to work properly whereas Prince segfaults occasionally and Abbaye is too slow.
The third poison plant gets me every time. But I swear I'll get past it before years end.
The sluggishness in Abbaye is due to the expectation of a 60Hz refresh rate, which ain't never gonna happen on the zipit. But there's a nice spot in the SDL2 shim code where it adds adds a delay after the buffer flip, whenever the refresh rate exceeds 60Hz. I can tweak that for the zipit to skip frames instead when it needs to catch up. Then I've gotta tinker a bit more, perhaps try and remove any gratuitous floating point math and fix up any bad keybindings. After which I'll zip up some packages.
nxengine-iz2s.zip
abbaye-iz2s.zip
I tweaked the keybindings for a better zipit experience on both of these. There's no Fn keys on the zipit, so just use the Q, W, and E keys for F1, F2, and F3 if you find yourself in the Cave Story options menu. I also changed jump and fire from Z and X to ctrl and Z to line up better with the other keys on the left edge of the screen. Here's the basics.
Movement - ← ↑ ↓ → (down opens doors)
Jump - Ctrl
Fire - Z
Previous weapon - A
The next weapon is S
Inventory - Q
Map - W
Exit - ESC (the options menu is also accessible via ESC)
For Abbaye you can use ctrl,Z for jump,crawl and comma,period for left,right instead of the dpad if you find the center nub on the dpad gets in your way.
This Abbaye screenshot actually came from github, because I'm feeling lazy...
Update 12/31/2018
However I realized that I actually had some new ideas to try. The iz2slat font provides latin-15 support in addition to a full set of line drawing characters for ncurses. So life is not so bad. But the font wastes space with a few duplicate characters, and also has some unicode glyphs that can't be used by ncurses, making them very limited in value.
I's been a while since I fiddled with the font, so to get started I grabbed the psftools (not this psftools although it may also work) required for editing glyphs in ASCII mode. And to help visualize how the glyphs in progress would look on the zipit, I created a small showpsf program from libpsf. Here it is displaying the iz2slat.psf font on my laptop.
If you squint you might just see some duplicate glyphs in positions 2,3, and 128.
There's already a diamond in position 4. I originally had a plan to replace the 3 duplicate glyphs in positions 2,3, and 128 with the glyphs required to show all 4 suit symbols in some console card games instead of the feeble ASCII substitutes. So I created a variation of the iz2slat font with the changes and assigned the suit glyphs unicode numbers U2660, U2663, U2665, and U2666 in the psf unicode table. Unfortunately the only way to display them on the zipit console is to avoid ncurses and instead use ANSI escape sequences. I can do that, but it makes porting existing code difficult.
The new suit glyphs show up just fine on the zipit in the showpsf program.
So I came up some cheesy work around ideas. At first I thought maybe making a whole new font designed around codepage 437 might work. But further reading discouraged me from that idea. As far as I can tell, all the codepage 437 linux solutions are based on utf-8 support. I need to get significantly cheesier for something that works in IZ2S. It occurred to me that the difference between the latin-1 and latin-15 charsets involved only a small number of fairly obscure glyphs. Other than the Euro symbol, the other new characters probably won't be missed all that much. (I've never used them...) So I made another variation on the iz2slat font where I substuted the card glyphs in latin-15 zone. I almost used the accent characters, but instead went with some actual letters that might just work as recognizable suit identifiers if I accidentally forgot to switch from the normal iz2slat font.
Here you can see the new location of the suit glyphs.
To tie things all together I dug up csol (a new console solitaire suite on github), created a new pint-sized zipit theme for it, and tweaked the code ever so slightly to eliminate the dependence on utf-8 for the zipit theme.
And here they are making csol look pretty.
The following picture represents a victory lap from my one and only game of freecell on the zipit. I feel pretty good about it, but I don't think I have what it takes to go pro...
I got a really bad case of video game thumb rescuing that 4 of diamonds from the bottom of the stack.
Here's the goodies (once I zip things up):
iz2splay.psf
csol-iz2s-with-font.zip
showpsf-iz2s.zip
keep it up! I still read every post!
ReplyDeleteThanks for commenting. That puts the finishing touch on really a good holiday for me. I managed to find time to assemble two adequate blog entries to finish up the year, and reverse the trend of blog entropy just a wee bit.
ReplyDelete