|Rainer||Hi everyone. Some of you might remember me. My Name's Rainer De Temple. I was a major player in the AGI scene a couple of years back when it was still being decoded. I wrote Escape Quest (I know it's crap) and a couple of AGI/SCI utilities. Anyway I lost interest for a while there because it all seemed to be going no-where. But now I've come back and it looks like AGI is still going strong. My e-mail address is firstname.lastname@example.org feel free to email me with any questions about agi or sci I know quite a bit or even if you just wanna ask me anything go for it. I was also working on a game a while back called pharaoh's quest. I didnt get much done on it, but I'm thinking of getting back to work on it. Let me know if you're interested. Anyway hopefully I'll be here a bit more often now and look forward to getting back into AGI.|
Yeah I remember you, you made a few tools and also Escape Quest. I was really looking forward to Escape Quest too bad it was never finished.|
Oh and by the way welcome back.
[color=Red] Good to have you back Rainer.|
I have run across a strange problem with something I'm working on. If you're willing to try to help let me know and I'll drop you an e-mail.
This goes for anyone who thinks they can help me by the way. This particular problem, which might be something really simple, has stumped me for weeks now.
why don't you ask on the msgboard.. then we can all help :)|
|AGI1122||Yeah please do ask on the message board instead of asking us to e-mail you. I would be glad to help in any way possible.|
[color=Red]Well since this is the place to get help, I'm going to try to explain this problem here.|
I've been fiddling with a game and created a small mini-game within the game. So when Ego does something in screen A, the mini-game starts up (with screens C, D etc). The mini-game seems to be working ok, but then when it's time to exit the mini-game, back to screen A, the game freezes. Seizes up. No response what-so-ever. I'm just at a loss as to why this is happening. The funny thing is I have another mini-game at another screen (let's say screen B to make this easy), which starts up, functions, and exits back to screen B with no problem. The mini-game that gives the problem is a lot more memory intensive than the one that works, but I still can't find a reason why it just locks up (before getting to screen A by the way).
If anyone can help me, please offer your ideas. I've been banging my head against this wall for too long. I think I have a concussion.
I get the explanation, but to actually find the problem I think I need to look at the source code. (Or at least the game.)|
Are you making sure you are discarding things in the exact same order you loaded things up? The sierra interpreter's memory manager requires everything to be freed in reverse order that they were loaded. If you don't, it will silently overwrite other resources when you load something new.
You're not changing the script size inside that logic file are you? The script size should only be changed in logic.0 before anything else is loaded in memory (including other logics)
Does it crash when the game returns or just before it? Have you done a trace? Have you tried it in NAGI, Sarien or AGIL?
Have you checked the memory using show.mem()? I found it useful when I was toning down the memory usage in the V demo intro sequence.
Sorry if any of this sounds patronising.. I was trying to think of everything that could be useful. If you don't mind, I could have a look at the minigame's source code and try and see where the problem is.
Is there any chance of getting your website back up? The only links I had for your old one are broken now.
|Rainer||Unfortunately I wont be putting any website back up cos I'm too busy. So if anyone had links to my old one, you can now delete them. Sorry.|
The problem's been fixed.|
The mini-game was changing the ego's view resource to something else.. This changed the variable 16 which is the ego's view number.
When new room was called, the interpreter goes through logic.0 again. logic.0 reloads the view on every new.room call but unfortunately var16 was still pointing to the mini-game's ego view resource. So the ego was using the mini-game's view resource still.
when the logic for the original room was called, it tried to set a loop and then draw the ego..assuming the ego was still using the original view resource. unfortunately, due to a bug in sierra's interpreter, it doesn't flag an error if you try and set a loop just one above the maximum number of loops (missing an '=' sign in the code i believe). When the ego was about to be drawn, it tried to draw a loop that wasn't there and crashed.
simple fix. the room just makes sure the ego is using the right resource before the room draws the ego.
I hope Vonster doesn't mind.. I just wanted to point out to everybody else that the problem's been fixed and share a bit of bug-hunting info at the same time.