This resulted in some rather ugly behavior. The most notable one was that a game could cause the interpreter to freeze indefinitely. For example, running this hugo code:
Code: Select all
while true { }
I've now rewritten some large parts of Hugor so that the game is running in the background, in its own thread. This allows the interpreter to keep running at all times, even if the game itself freezes, so that it's possible to quit normally without having to kill the process from the task manager. It also made it easier to get rid of the high CPU load during the "delay/read key" loop for "more" prompts (the issue mentioned in the other thread) since screen repaints are now easier to deal with.
The downside is that I might have introduced new bugs. I hope not. But it would be nice if you could use this new build if you intend to play any Hugo games and report any new weirdness that shows up:
http://83.212.107.13/~realnc/hugor/test ... eo-w32.zip