@dark When you report an error to a dev and its BGT, that information you got by answering yes to that prompt, well, its kind of useless. It doesn't tell you anything about what actually caused the error. What you should do instead is copy the contents of that dialog before hitting no so you don't copy over it with that stuff. I'm sure there is a way to do this with Jaws, I just don't know it, with NVDA, there are two options. The first one is the most laborious, you use object nav and the review cursor to get to the start of it, hit NVDA F9 to set a start marker, use the review cursor to get to the end, then hit NVDA F10 twice rapidly to copy. The much easier way is to install clip copy and use that. It copies the last spoken thing to the clipboard when you hit F12. Verify you've got the right thing with NVDAC.
I'll give you some information about what you collected. The first, the call stack size, that's how many nested function calls were going on at the time of the error. A function is just a block of code you can execute over and over again at will with one line of code. A function call is that one line of code you use to call i.e. invoke that function, and the code inside it to do the work you've laid out. Let's say I had a side scroller game in BGT and I wanted to make my character jump. To do that means a couple of things. You need a timer so you can't hit the up arrow infinitely fast and sound like chuck Naurus or something. The second is you need to change the player's coordinates, X would represent their left/right or horizontal orientation on the board, and Y would represent their vertical orientation, just like graphing. So I need to change the Y coordinate to reflect them jumping, and possibly the X to allow them to jump and move at the same time. Then I need to let the sound pool know about the fact something's changed with the position of the player. Just think of the soundpool as an object that does all the heavy lifting you'd have to do if you didn't have it. All you need to do is tell it when something changes on either the listener's end, or the position of the object you've attached a sound to. You could also loop that update inside the the main game loop.
The rest are just functions in reverse order, the first in the list was the function most recently called and the chain runs back to the main function which the BGT requires for scripts that will actually run and do something versus scripts for includes, which are scripts you can write, and then always have available to import into your game. Give me a minute to write a bad piece of code and I'll show you what a BGT error looks like.
On line: 10 (23)
Line: alert("Herp a Durp!", "Wuzzup homie, all good in the hood if ya know wa'm saiyin!);
Error: Non-terminated string literal
That's something like what you'd get if you didn't compile it, I can't think of a good way off the top of my head to compile a BGT script and break it so it has a runtime error, because the compiler will catch most things, its not like its not possible, and I'm sure people who work with it all the time will know how to do it right off hand, but I can't think of a way. Anyway, something like that, excluding the path and all is what you need to copy over.
One of the best gifts on this earth is the unconditional love of an animal
It is pure, free of judgement, and raises me to the utter height of glory.