davidkinder / windows-glk Goto Github PK
View Code? Open in Web Editor NEWWindows implementation of Andrew Plotkin's Glk specification.
License: MIT License
Windows implementation of Andrew Plotkin's Glk specification.
License: MIT License
Suggestions from Nikita Tseykovets:
Add a key press to skip the current sentence, and another key to repeat the last sentence. This needs rules to define what constitutes a sentence, but that should be possible.
Add hotkeys to turn sound on and off, and to control the sound volume, without affecting speech.
Run the Glulx file in AsciiArt.zip and enter "x unicode" to see a map drawn with Unicode characters. This map does not line up properly because of font substitution, so we need a better way of handling such cases.
The background colour of "normal" style should be used to update the background colour of windows when a window is cleared, if that colour is set by a call to garglk_set_zcolors(). See https://intfiction.org/t/specifying-gargoyles-glk-extensions/12915/1 for discussion.
Would you be willing to make it so that text can be selected and copied without having to use the scrollback window? It's rather cumbersome having to always switch windows if you want to copy text to the clipboard.
When building WinArun (the Alan IF interpreter using WindowsGLK) with 1.5.0 the menues look like this:
Not so nice ;-) (The left one triggers the scrollback and the right one the option dialogue.)
I could not find any changes that would require changes to the "client" resource files. The Test example seems to be doing the same thing as I am.
Any ideas?
This is a nitpick, but according to the Glk spec, sound notification events should only fire when a sound reaches its end, and not when it is stopped or interrupted.
It seems that when you begin playing a MOD sound in Windows Glulxe, any MOD already playing on another channel will be stopped (because the Modplug library only supports playing one MOD at a time, I suppose). This will issue a sound notification.
If I'm reading 8.3: Playing Sounds correctly, the play functions are supposed to return 0 (error) and refuse to play the new MOD in this situation, and not generate any sound notification.
This behavior can be tested with the TEST MOD command in my Glulx sound test.
The function giblorb_unload_chunk
appears to be missing from the DLL (I'm using the 1.51 binary download provided here). The function does exist in gi_blorb.c
.
This is on MinGW, if it matters. I can build against Windows Glk just fine, in general, but when I use giblorb_unload_chunk
, I get a link error. I suspect it's just missing from Glk.def
but I don't have Visual Studio so I can't test adding it and rebuilding.
Hello,
I cannot play a Spanish Game called A·L·I·E·N. After opening it and showing the bibliographical information, both Windows Git and Windows Glulxe close without showing any error on screen. I also tried opening the game with the command line but it didn't work properly, and no error was shown in console either. According to a forum post, the game worked in some older glulxe version. Gargoile works fine, but there reviewing text is more difficult.
The game is available here, and here is its source code, if it can help.
I can try to debug what's happening if you provide me with some instructions.
Thanks!
Currently, the code uses WM_INPUTLANGCHANGE to detect a change to the language in which text is being input, but the initial input code page is assumed to be the system one (CP_ACP). This might not be true, see
https://stackoverflow.com/questions/1291509/how-to-get-the-code-page-of-the-current-keyboard-layout
libxml2 will be needed for the Glulxe debugger.
(Sorry if this issue doesn't belong here. I couldn't find a repository dedicated to Glulxe.)
Maybe this doesn't have anything to do with Superglux, but the games I tested where written using that system. Saving worked in previous version of Glulxe (I don't know which ones, though).
Add Russian translation, based on translated .rc file from Nikita Tseykovets:
Glk_rc.txt
From Nikita:
Tested under both Glulxe and Git, both using Glk.dll with file version 0.7.5.50, and tested under multiple stories (first noticed with The Wizard Sniffer but reverified with Counterfeit Monkey), there's a noticable delay when issuing a command to the story (e.g. more than half a second under Wizard Sniffer). Running an ETW trace to locate the issue indicates massive CPU usage on the function CMLFLink2::GetFontCodePages
(from mlang.dll
) and its callees. This appears in the root element for the process's main thread under WPA, so I'm not 100% sure if it's from Glk or other common code between Glulxe and Git; regardless, neither of those processes should be dealing with the system's font interfaces directly, so I'm inclined to believe it's a Glk issue.
EDIT: I just tested Wizard Sniffer under Gargoyle Git; the issue does not arise there, which makes me pretty certain it's in Glk.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.