Some people like me are still using 2.72, so I'm posting this here for future reference.
I use Gilbert Cheung's excellent 'OverHot' code. I've adapted it slightly so that after right clicking a person, the following code runs every cycle until the next right click:
if(overhot_text ==""){ overhot_text =rcPersonName;
if(overhot_text !="") // showing a person's name?
{myOverHotColor = speechColor + 29248;
if(myOverHotColor > 65503) myOverHotColor =speechColor -590;
}
This code worked fine for the past year, but of course my other code is always changing. Today I found that right clicking a person then moving the mouse over a few objects always caused this crash:
---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x00427F18 ; program pointer is +5, ACI version 2.72.920, gtags (18,26)
AGS cannot continue, this exception was fatal. Please note down the numbers above, remember what you were doing at the time and notify CJ on the Tech forum.
Most versions of Windows allow you to press Ctrl+C now to copy this entire message to the clipboard for easy reporting.
---------------------------
OK
---------------------------
The numbers are always exactly the same. I found that by removing the addition part of the above code, it no longer crashed. I don't know if this has any relevance to 3.x.
Yeah, sorry, I'm no longer investigating problems with AGS 2.x.
Good luck!
Quote from: Pumaman on Thu 11/06/2009 18:46:45
Yeah, sorry, I'm no longer investigating problems with AGS 2.x.
I wouldn't expect you to :) I just hope you don't mind me posting about it occasionally. 2.72 was a remarkable achievement, and I expect to still be using it long after everyone else has migrated to 5.x. So I need to keep notes of any minor problems and how to work around them.
I think the irresponsible person who made that module won't be able to help you either, as that module was supposed to be replaced by the Description Module (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=26306). Afterall, I think that person has long forgotten any details about that module. :=
If the "addition" line is a suspect for causing that problem it's likely that myOverHotColor is set to something out-of-bound. It's not very likely though as the next line should cater for the case where the colour is set too high. You may need to investigate this by adding a Display() line to look at the actual value the variable is set to. (or if that part is run continuously and you're annoyed by the Display() in every game loop, just display it in a temporary label.)
Also, what kind of variable is myOverHotColor? Is it just an int, a short or otherwise?
Quote from: Gilbet V7000a on Fri 12/06/2009 07:54:35what kind of variable is myOverHotColor? Is it just an int, a short or otherwise?
Gosh, I wasn't expecting a response from your good self! myOverHotColor is just an int. And it worked perfectly for the past year, so I'm not blaming you code, but changing that line fixed it and that's what matters to me :) it was lazy coding by me, anyway, to calculate this every frame. My new code only needs to calculate room colors once per room.