Caillean Posted March 13, 2017 Author Share Posted March 13, 2017 Well, if I can help with testing something more, just tell me. As for the halting problem - you're losing me here Amazing that you can actually make something out of this stuff the debugger spits out. Quote Link to comment
lynx Posted March 14, 2017 Share Posted March 14, 2017 Resting should be fine now. I forgot we track the time of the last rest for fatigue purposes, so in the end there was nothing too ugly included. Breagar: I think that creature is actually missing from the new area. You could test that with a fresh build of gemrb, where the crash is gone, but it wouldn't say anything about the cause. I can retry with hopefully clearer gdb instructions, if you're up to it. https://sourceforge.net/projects/gemrb/files/Buildbot%20Binaries/Linux/gemrb-2017-03-1456cac71.tar.bz2/download Quote Link to comment
Caillean Posted March 14, 2017 Author Share Posted March 14, 2017 (edited) Heh, great that it wasn't all too ugly - you're really quick with fixing that stuff! Sure, I'd love to try that new build, and also the debugging, if you don't think it's a waste of your time. I guess it's tedious for you 'cause you need to give me those step-by-step instructions. Edit: Living in the eternal yesterday, I'm on a 32-bit Linux. Do you have the sources for download somewhere, so I can build it myself? Edited March 14, 2017 by Caillean Quote Link to comment
lynx Posted March 14, 2017 Share Posted March 14, 2017 The only annoying thing is that I can't install the mod and investigate myself. I tried installing bgt about a year ago, but it failed and haven't tried since. For debugging, you can use your current setup. run gemrb in gdb press r load the game and do everything short of starting the cutscene change back to the console and ctrl-c, so the gdb prompt reappears b GemRB::GameScript::LeaveAreaLUA c start the cutscene once it halts again, you'll see gdb hit the breakpoint at LeaveAreaLUA n 3 p actor->GetScriptName() if script name is equal to ACBRESMI then just p actor->Persistent(); n 20 else c I'll need the log from when ACBRESMI starts to the end. Quote Link to comment
Caillean Posted March 14, 2017 Author Share Posted March 14, 2017 I couldn't get BGT to install without errors, too. Neither with wine, nor with Weidu for Linux. So I did the installation to this point on Windows Don't you have an old XP or even 2k around to set up in a VM for such purposes? Oh hell, I hope I got this right: (gdb) p actor->GetScriptName() $2 = 0xaf4dcd8 "acbresmi" (gdb) p actor->Persistent() $3 = false (gdb) n 20 569 if (!CurrentAction) { (gdb) quit Quote Link to comment
lynx Posted March 14, 2017 Share Posted March 14, 2017 too much hassle. You got it right, but I didn't. I thought n 20 would be equivalent to twenty n, but it only printed once, so please retry the same thing, except instead of "p actor->Persistent(); n 20", press n and then just enter a bunch of times (will repeat the last command - n for next line). Quote Link to comment
Caillean Posted March 14, 2017 Author Share Posted March 14, 2017 Here you go: $2 = 0xaf38d80 "acbresmi" (gdb) p actor->Persistent() $3 = false (gdb) n 3110 } (gdb) GemRB::GameScript::ExecuteAction (Sender=0xaf38d50, aC=0x89e18f8) at /home/nadia/Software/Games/gemrb-0.8.4/gemrb/core/GameScript/GameScript.cpp:2440 2440 if (actionflags[actionID] & AF_IMMEDIATE) { (gdb) 2453 if (!( actionflags[actionID] & AF_BLOCKING )) { (gdb) 2454 Sender->ReleaseCurrentAction(); (gdb) 2456 return; (gdb) 2458 } (gdb) GemRB::Scriptable::AddAction (this=0xaf38d50, aC=0x89e18f8) at /home/nadia/Software/Games/gemrb-0.8.4/gemrb/core/Scriptable/Scriptable.cpp:468 468 return; (gdb) 473 } (gdb) GemRB::GameScript::ExecuteAction (Sender=0x850da68, aC=0xa4cc440) at /home/nadia/Software/Games/gemrb-0.8.4/gemrb/core/GameScript/GameScript.cpp:2391 2391 if (!(actionflags[actionID] & AF_INSTANT)) { (gdb) 2405 aC->Release(); (gdb) 2458 } (gdb) [OpenAL]: WARNING: Buffer Underrun. AutoRestarting Stream Playback GemRB::Scriptable::ProcessActions (this=0x850da68) at /home/nadia/Software/Games/gemrb-0.8.4/gemrb/core/Scriptable/Scriptable.cpp:577 577 if (WaitCounter) { (gdb) 581 if (CurrentAction) { (gdb) 586 if (InMove()) { (gdb) 560 if (!CurrentAction) { (gdb) 559 CurrentActionInterruptable = true; (gdb) 560 if (!CurrentAction) { (gdb) 561 if (! (CurrentActionTicks == 0 && CurrentActionState == 0)) { (gdb) 565 CurrentAction = PopNextAction(); (gdb) 569 if (!CurrentAction) { (gdb) 565 CurrentAction = PopNextAction(); (gdb) 569 if (!CurrentAction) { (gdb) 575 GameScript::ExecuteAction( this, CurrentAction ); (gdb) 574 lastAction = CurrentAction->actionID; (gdb) 575 GameScript::ExecuteAction( this, CurrentAction ); (gdb) 577 if (WaitCounter) { (gdb) 581 if (CurrentAction) { (gdb) 586 if (InMove()) { (gdb) 560 if (!CurrentAction) { (gdb) 559 CurrentActionInterruptable = true; (gdb) 560 if (!CurrentAction) { (gdb) 561 if (! (CurrentActionTicks == 0 && CurrentActionState == 0)) { (gdb) 565 CurrentAction = PopNextAction(); (gdb) 569 if (!CurrentAction) { (gdb) 565 CurrentAction = PopNextAction(); (gdb) 569 if (!CurrentAction) { (gdb) 575 GameScript::ExecuteAction( this, CurrentAction ); (gdb) 574 lastAction = CurrentAction->actionID; (gdb) 575 GameScript::ExecuteAction( this, CurrentAction ); (gdb) Breakpoint 1, GemRB::GameScript::LeaveAreaLUA (Sender=0x850da68, parameters=0xa899df8) at /home/nadia/Software/Games/gemrb-0.8.4/gemrb/core/GameScript/Actions.cpp:3098 3098 { (gdb) 3099 if (Sender->Type != ST_ACTOR) { (gdb) 3104 if (parameters->string1Parameter[0]) { (gdb) 3107 if (actor->Persistent() || !CreateMovementEffect(actor, parameters->string0Parameter, parameters->pointParameter, parameters->int0Parameter) ) { (gdb) 3108 MoveBetweenAreasCore( actor, parameters->string0Parameter, parameters->pointParameter, parameters->int0Parameter, true); Quote Link to comment
lynx Posted March 14, 2017 Share Posted March 14, 2017 Thanks. It's too complicated to continue though, so I'll have to drop the inquiry. The mod won't crash anymore and you said removing the effects made it continue just fine, so the missing cosmetics aren't that important. It could be hiding a deeper bug, but it could also be the mod's fault, so I'm not too worried about it. Quote Link to comment
Caillean Posted March 14, 2017 Author Share Posted March 14, 2017 Well, should there be a bug, it surely will show itself sooner or later elsewhere. So, uhm... do you think I can get my hands on your sources that include all the fixes and the changes you mentioned or do you give out just pre-compiled builds between releases? Quote Link to comment
lynx Posted March 14, 2017 Share Posted March 14, 2017 There's automatically a new build after each push (one or more changes), but if you prefer to compile the code yourself, you can always get the code from github. It's all on the project page. Quote Link to comment
Caillean Posted March 14, 2017 Author Share Posted March 14, 2017 Aw, great, downloading now. Thanks Quote Link to comment
lynx Posted March 17, 2017 Share Posted March 17, 2017 ok, fatigued and bored/area comment times are now properly delayed for travel or corner cases, with some extra randomness to be more spread out. Quote Link to comment
Caillean Posted March 17, 2017 Author Share Posted March 17, 2017 Great, just grabbing the latest sources. Plus, I noticed something else about the Bhaal powers not being added correctly in BGT, if you're interested. Started a new game to double-check... The problem is, if charname is supposed to get the same innate spell a second time, it won't work. If you're playing a good char, and you have one cure light wounds spell already, after defeating Mulahey in the Nashkel mines you're supposed to get a second cure light wounds spell after the dream. It says 'Gained special ability...' in the console, but you still have just one cure light wounds. Quote Link to comment
lynx Posted March 17, 2017 Share Posted March 17, 2017 did you rest afterwards? Quote Link to comment
Caillean Posted March 18, 2017 Author Share Posted March 18, 2017 Yes, no change. I have one char that's supposed to have 2x Cure Light Wounds and 2x Slow Poison by now, but she has only one of each. Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.