Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zracer.z5 and cursor position values with frotz #16

Open
BroadcastGames opened this issue Jan 2, 2017 · 1 comment
Open

zracer.z5 and cursor position values with frotz #16

BroadcastGames opened this issue Jan 2, 2017 · 1 comment

Comments

@BroadcastGames
Copy link

BroadcastGames commented Jan 2, 2017

I cited frotz because I have that on Ubuntu 16.10 x64 desktop for comparison. It positions the cursor correctly using frotz's native interpreter on my desktop (not using RemGlk). Data file here: http://ifdb.tads.org/viewgame?id=tnljfhvnzvybysqt

Binding to RemGlk frotz produces values out of range. I've also tried nitfol and bocfel and they produce different results but also don't seem correct.

Here is the Init I'm passing to RemGlk:

{ "type": "init", "gen": 0, "metrics": { "width":120, "height":28 }, "support": [ "timer", "hyperlinks" ] }

Here is the input xpos/ypos I'm seeing out of range:

{"id":36, "gen":1, "type":"char", "xpos":85, "ypos":19 }
{"id":36, "gen":2, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":3, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":4, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":5, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":6, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":7, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":8, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":9, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":10, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":11, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":12, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":13, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":14, "type":"char", "xpos":32767, "ypos":65534 }
{"id":36, "gen":15, "type":"char", "xpos":51, "ypos":4 }
{"id":36, "gen":16, "type":"char", "xpos":32767, "ypos":65534 }

This is on the opening screen of zracer.z5, you have to keep feeding it glk timer events to keep it going. It will dance the cursor around.

It's possible it could be some 64bit issue on ARM CPU or something (running on Android) those 65534 and 32767 values look a lot like a short value underflow/overflow. I don't have a way to feed the timer events into RemGlk on my desktop to test Remglk naively on Ubuntu. Maybe we can come up with a small python script to feed RemGlk the Glk timer input every update generation for the sake of testing?

@BroadcastGames
Copy link
Author

I found Glulx story that positions the cursor. The "The Wilds Of Orkney.gblorb" story, attached inside zip.
The Wilds Of Orkney_gblorb.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant