Jump to content

BG1 *soft* crash


Recommended Posts



So trying to play BG1 (GOG version) on latest GemRB (0.8.3) and getting a *crash* when I Click/touch the Area Map button.


This happens in Android, and in Linux, but doesn't happen on windows.


The Android and Linux versions were compiled from git.

The windows version was a zip file of prebuilt libraries from sourceforge.


Not tried yet:

Compile for windows

non-GOG BG1

GOG BG1 - no mods


The crash, is a bit weird:


On android, you're left with the game just loaded, but you can't do anything.

On Linux, you can't do anything, but because you can press escape, the save/exit menu pops up, but you can't click on anything or indeed do anything else after that.


I have widescreen mod and TWM_GUI on this version


The tracelog is the same for both Android and linux, but here's the Linux version:


[ResourceManager/WARNING]: 'expmap.wmp' not found...
[GUIScript/ERROR]: Syntax Error:
[Python/ERROR]: Traceback (most recent call last):
[Python/ERROR]: File "/usr/local/share/gemrb/GUIScripts/GUIMA.py", line 214, in OpenMapWindow
[Python/ERROR]: Window.CreateMapControl (2, 0, 0, 0, 0)
[Python/ERROR]: File "/usr/local/share/gemrb/GUIScripts/GUIClasses.py", line 88, in CreateMapControl
[Python/ERROR]: _GemRB.Window_CreateMapControl(self.ID, control, *args)
[Python/ERROR]: AttributeError: ===== Window_CreateMapControl =====
**Prototype:** GemRB.CreateMapControl (WindowIndex, ControlID, x, y, w, h, [LabelID, FlagResRef[, Flag2ResRef]])
**Metaclass Prototype:** CreateMapControl (ControlID, x, y, w, h, [LabelID, FlagResRef [, Flag2ResRef]]
**Description:** Creates and adds a new Area Map Control to a Window. If
WindowIndex and ControlID (not ControlIndex!) point to a valid control, it
will replace that control with the MapControl using the original control's
dimensions (x,y,w,h are ignored). It is possible to associate a variable
with the MapControl, in this case, the associated variable will enable or
disable mapnotes (you must supply a LabelID and the resources for the pins).
* WindowIndex - the value returned from LoadWindow
* ControlID - the new control will be available via this controlID
* x,y,w,h - X position, Y position, Width and Height of the control
* LabelID - associated control ID to display mapnotes, it must be a label
* FlagResRef - Resource Reference for the pins, if no Flag2ResRef is given, this should be a .bam resref. If there is a second resref, then both must be .bmp.
* Flag2ResRef - the readonly mapnotes are marked by this .bam (red pin)
**Return value:** N/A
**See also:** [[guiscript:Control_SetVarAssoc]], [[guiscript:SetMapnote]]
[ResourceManager]: Found 'watch3.cre' in 'chitin.key'.


Before I used the Area Map, I could interact with NPC's, doors, go into the inn's, etc.

I've never actually played BG1 before (I know...hence this!) so I don't know what other actions I can try to test.



Edit: Wondering if it's a libpython library thing? hits on google when you say it works on one OS but not another seems to suggest different versions.

Link to comment

this isnt a crash; its an error in the GUIScript as shown in the log output... I'm betting I broke this just recently. can you try building with revision ed34611?


you dont get this error on windows because it wasnt built from the tip of master


Edit: yeah, i see what the problem is; apparently i failed to notice that this can be called with only 5 params

Link to comment

This should be fixed in git. I was unable to test it as the only games I have installed are BG2 and PST which wont hit that path so be sure to let me know if its still broken.


Edit: I've long hated that GUIScript errors cause this crazy interface "freezing"... there is a way to prevent it, but it has the drawback of becoming incredibly spammy when an error does occur because catching the exception allows control to return to the GUIScript, but since the op failed all the dependent ops will fail... Its also only (easily) possible with the top-secret-super-experimental "subviews" branch... I'll try it out and see how well it works... we could always add error checking to the GUIScripts themselves, but thats a lot of work for little gain

Link to comment

not all python errors "freeze" the gui, but that's a shame if you ask me. Much better to know immediately then to get into non-obvious trouble later.


yeah, you're probably right. I have more important things to do anyway... still annoying when you cant save your game because something trivial fails.

Link to comment


This topic is now archived and is closed to further replies.

  • Create New...