It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
This is about as silly as it gets. I was trying to play the Akalabeth SDL port (GOG's staffers have made a few comments that makes me think we won't be getting the game here...), and have gotten stuck just a few steps from the beginning. After you start the game, pick your difficulty, lucky number, class and buy enough food not to drop dead on the spot, you have to seek out Castle British and start questing. Richard Garriott in robes politely asks me my name, and I... can't move on.

I have, at this point, hit every key on the keyboard one by one, and can't leave this dialogue prompt. If anyone knows what I'm supposed to hit, you'll have answered the quesiton, but I'll carry on. I've even checked the source itself. The source stays in the loop while the key the player has just entered, "c", is

>= ' '

(Which I assume means space's ASCII value, 32). This is probably Paul Robson's - the porter's - way of saying "Hit enter" since... carriage return is 13? I'm actually at a loss to explain that bit too. So I guess there are two ways we can approach this question if no one knows how to get the SDL version working:

1) If anyone remembers the original Akalabeth, what key did you hit in those versions to finish entering your name, if entering your name was a feature at all? If I have to recode this thing myself, I'd like to at least know what the original key was for authenticity's sake. I can't read Assembler code so can't work out what the Apple II source is saying.

2) Why would this have stopped working? The fact that I'm using Windows 7? I also had some trouble earlier that made it clear the code was meant for an earlier version of MinGW, and had to add a missing import to make the code compile. Searching the code only gives me more confusion, as the function that returns the keystroke, HWGetKey, is supposed to loop, not returning a value, until it has something greater than a space. Shouldn't we be in an infinite loop, then? But I must be reading that wrong as the game acknowledges the space bar in many other instances (however, this might explain why Escape and Tab, both <32, don't get me out of the name prompt...). This has been a complete code comprehension failure on my part, and if anyone could shine a light on my confusion it would be very helpful.
Post edited September 05, 2012 by Blackdrazon
This question / problem has been solved by pickle136image
The HWGetKey appears to be flawed where since 13 is less than space it will keep polling for another key. Change the while statement to this:

while ((n < ' ' || n > 127) && n != 13);
Yup, that's got it. How did that go so wrong, has this not been tested? I feel like I'm the first person treating this source code as anything but a curiosity, but obviously someone made it work for Nokia phones...
Post edited September 05, 2012 by Blackdrazon
avatar
Blackdrazon: Yup, that's got it. How did that go so wrong, has this not been tested? I feel like I'm the first person treating this source code as anything but a curiosity, but obviously someone made it work for Nokia phones...
Yeah it seems like a real deal breaker for any PC based build. I doubt many are using this, your post was the first i was aware there was such a project.
The nokia version would probably have just replaced that function for nokia specific button mappings.
Could be. Well, I'll keep out an eye for more trouble. I intend to beat the game one way or the other.