Page 1 of 1

[Fixed for V0.40] RTC 39 crash

Posted: Tue Jun 13, 2006 2:01 am
by Lunever
RTC (V0.39) Diagnostic file - Mon Jun 12 16:31:47 2006

Error:
an access violation exception.

Stack Dump:
RTCMediaGraphics.DrawTransAlpha(pointer 0x00BF1004, pointer 0x00B80F3C, int 0, int 0, pointer 0x0012F858, int 25, bool TRUE);
RTCMediaGraphics.ScaleBitmap(pointer 0x00BF1004, pointer 0x00C6AA2C, int 0, int 0, int 16, int 26, int 0, int 0, int 13, int 21, int 25, int 25, int 0, bool FALSE, bool FALSE);
RTC.CacheBitmap(int 2188, int 1);
RTC.DrawBitmap(pointer 0x00A7098C, int 2188, int 1, int 138, int 63, word 1, float 0);
RTC.DrawDungeonItem(int 401, int 10, int 3);
RTC.DrawDungeonCorner(int 1, int 10, word 475, int 3, bool FALSE, bool FALSE);
RTC.DrawDungeonTile(int 10, char 30, char 33, char 1);
RTC.DrawDungeonView(char 30, char 32, char 1, char 2);
RTC.ProgStateInDungeon();
RTC.DoFrame(int 50);
RTC.WinMain();

It occured during normal gameplay. I've been throwing a knife and immediately after that pressed ESC to freeze the game in order to handle a real-world distraction. I could do so then, since the game crashed.

Posted: Tue Jun 13, 2006 12:24 pm
by George Gilbert
Hmm - well the point at which the crash occurs, the engine is drawing the dungeon view so nothing to do with pausing. I suspect that you pressing the pause button is a complete coincidence.

At first glance it looks like the DirectX surface has suddenly vanished and so all RTCs pointers to the surface are no longer valid. Is it possible you ALT+TAB-bed out of RTC or did something else involving swapping / moving / resizing of windows at the same time?

Posted: Tue Jun 13, 2006 1:08 pm
by Lunever
No, I didn't do anything else and I didn't change task by <Alt+TAB> or anything similar.

But right a minute ago I encountered another crash (btw on my other machine, the desktop, the earlier crash was on the laptop): I played, quit the game, restarted it after a couple of seconds, and the got first an error message window that said "RTC -Terminal error" and a text saying that the screenmode couldn't be set to the usual resolution and recommended to change it in the config file (Of course there's nothing wrong with the config, since the game always has been working with it). Then the diags was created as usual:

RTC (V0.39) Diagnostic file - Tue Jun 13 13:00:38 2006

Error:
an access violation exception.

Stack Dump:
RTC.FreeGameSaveResources();
RTC.RTC_DeInit();
RTCMediaGraphics.StartFullScreen(int 640, int 400, int 32, int 640, int 480, int 24);
RTCMediaGraphics.Create(int 640, int 480, int 24, bool TRUE);
RTC.RTC_Init();
RTC.WinMain();

Posted: Tue Jun 13, 2006 1:37 pm
by Gambit37
The screen-mode not able to be set usually happens because RTC hasn't fully closed on the last crash -- check your processes using Ctrl+Alt+Del and terminate any rogue instances.

Posted: Tue Jun 13, 2006 1:40 pm
by George Gilbert
Lunever wrote:But right a minute ago I encountered another crash (btw on my other machine, the desktop, the earlier crash was on the laptop): I played, quit the game, restarted it after a couple of seconds, and the got first an error message window that said "RTC -Terminal error" and a text saying that the screenmode couldn't be set to the usual resolution and recommended to change it in the config file (Of course there's nothing wrong with the config, since the game always has been working with it).
Now that is definitely a problem with DirectX - RTC is just passing on a message it's received from the DirectX interface.

Of course, the question is, did RTC do something bad when you first played, which meant that the second time you played there was a problem.

Can you reproduce the problem?

Posted: Tue Jun 13, 2006 1:52 pm
by Lunever
Gambit: There wasn't a first crash on this machine - the other crash was on the other machine.

George: Nope, there wasn't anything unusual in RTC and I can't reproduce it.

Posted: Wed Jun 14, 2006 12:36 am
by Lunever
Right, it happened again. I did change the resolution from x24 to x32 now as suggested by the first error message to see whether this will prevent that bug from reoccuring.

Posted: Wed Jun 14, 2006 4:59 pm
by George Gilbert
Did that help?

Posted: Wed Jun 14, 2006 5:10 pm
by George Gilbert
Lunever wrote:Stack Dump:
RTC.FreeGameSaveResources();
RTC.RTC_DeInit();
RTCMediaGraphics.StartFullScreen(int 640, int 400, int 32, int 640, int 480, int 24);
RTCMediaGraphics.Create(int 640, int 480, int 24, bool TRUE);
RTC.RTC_Init();
RTC.WinMain();
Fixed this for V0.40 (i.e. after DirectX barfs, RTC won't then fall over too!)

Posted: Wed Jun 14, 2006 8:25 pm
by Lunever
I don't know whether the config change helps, because I've not been at the desktop since. But I will let you know.