Guest eryrwyn Posted July 27, 2021 Share Posted July 27, 2021 I'm trying out a modded GemRB BGT install and I've encountered a bug where the spell selection for sorcerers after a level-up is completely empty. By trial and error (install/reinstall and checking after every mod) I narrowed the bug down to Ascension. It happens even on the install with only BG2 Fixpack & Ascension. The moment it's installed it ruins the sorcerers' spells known table and none can be selected on level-up and I get the following bug. https://imgur.com/a/rYEIDNc Quote [GUIScript/ERROR]: Runtime Error: [Python/ERROR]: Traceback (most recent call last): [Python/ERROR]: File "D:\GOG Galaxy\Games\GemRB\GUIScripts\LevelUp.py", line 305, in OpenLevelUpWindow [Python/ERROR]: LUSpellSelection.OpenSpellsWindow (pc, "SPLSRCKN", Level[c], LevelDiff[c]) [Python/ERROR]: File "D:\GOG Galaxy\Games\GemRB\GUIScripts\LUSpellSelection.py", line 155, in OpenSpellsWindow [Python/ERROR]: SpellsWindow.CreateButton (24, 231, 345, 42, 42) [Python/ERROR]: File "D:\GOG Galaxy\Games\GemRB\GUIScripts\GUIClasses.py", line 182, in CreateButton [Python/ERROR]: return self.CreateControl(control, IE_GUI_BUTTON, args[0], args[1], args[2], args[3], args[4:]) [Python/ERROR]: File "D:\GOG Galaxy\Games\GemRB\GUIScripts\GUIClasses.py", line 152, in CreateControl [Python/ERROR]: return self.CreateSubview(newID, ctype, frame, *args) [Python/ERROR]: File "D:\GOG Galaxy\Games\GemRB\GUIScripts\GUIClasses.py", line 165, in CreateSubview [Python/ERROR]: created = self.AddSubview(view) # this will move the reference into the our window's group [Python/ERROR]: File "D:\GOG Galaxy\Games\GemRB\GUIScripts\MetaClasses.py", line 61, in handler [Python/ERROR]: Quote Link to comment
lynx Posted July 27, 2021 Share Posted July 27, 2021 Did you cut out the actual error? Was this the first python error in the log? Quote Link to comment
Guest eryrwyn Posted July 27, 2021 Share Posted July 27, 2021 Sorry if I did -- I pasted from the first Python/Error line. I can distribute proficiencies normally and accept the level-up and only after I do that, the empty window with the spell selection appears. I can't choose anything as there's nothing but I can still continue by clicking ESC and closing it. Here's what happens before and after I level up (I'm also attaching the whole log: https://file.io/OoznA3ezz1rQ ) Quote [GameScript/ERROR]: Target for dialog couldn't be found (Sender: none, Type: 0). [Actor/DEBUG]: Debugdump of Actor Imoen (Imoen, Imoen): Scripts: bgimoen <none> waithstl <none> <none> <none> <none> wtrunsgt Area: ar0015 ([2922.1980]) Dialog: imoen TalkCount: 0 Global ID: 10078 PartySlot: 0 Script name:none Current action: 8 Total: 0 Int. Flags: 0x50a00 MC Flags: 0x0 Allegiance: 128 current allegiance:128 Class: 4 current class:4 Kit: 0 (base: 0) Race: 1 current race:1 Gender: 2 current gender:2 Specifics: 0 current specifics:0 Alignment: 21 current alignment:21 Morale: 10 current morale:10 Moralebreak:5 Morale recovery:60 Visualrange:28 (Explorer: 0) Fatigue: 0 (current: 0) Luck: 0 Movement rate: 10 (current: 10) Levels (average: 1): THIEF: 1 current HP:8 Mod[IE_ANIMATION_ID]: 0x6310 ResRef:chfb1 Stance: 1 TURNUNDEADLEVEL: 0 current: 0 Colors: 421075225 1027423549 757935405 218959117 387389207 370546198 67372036 WaitCounter: 0 LastTarget: 0 <NULL> LastSpellTarget: 0 <NULL> LastTalked: 0 <NULL> INVENTORY: 10: FIST - (1 0 0) Fl:0x2029 Wt: 0 x 0Lb 35: bow05 - (1 0 0) Fl:0xae21 Wt: 0 x 2Lb Equipped: 1000 EquippedHeader: 0 Total weight: 2 SPELLBOOK: EFFECT QUEUE: 0: 0xe9: Proficiency (1, 91) S: 1: 0xe9: Proficiency (1, 105) S: [GameScript/ERROR]: Target object: IDS Targeting: 2 0 0 0 0 0 0 0 0 0 Filters: 0 0 0 0 0 [FindPath/DEBUG]: s = (1110, 600), d = (1153, 685), caller = Test, dist = 0, size = 2 [KeyMap/]: Looking up key: ( ) [ResourceManager/]: Found 'guirec.chu' in 'Override'. [ResourceManager/]: Searching for 'guirecbg'... [ResourceManager/]: Found 'guirecbg.mos' in 'chitin.key'. [ResourceManager/]: Found 'newbutt.bam' in 'chitin.key'. [ResourceManager/]: Found 'bigbutt.bam' in 'chitin.key'. [Python/]: Single classed [Python/]: Class (Level): SORCERER (1) [ResourceManager/]: Found 'statdesc.2da' in 'chitin.key'. [Python/]: (222, '') [ResourceManager/]: Found 'reptxt.2da' in 'chitin.key'. [Python/]: Single classed [Python/]: Class (Level): SORCERER (1) [Python/]: (222, '') [ResourceManager/]: Searching for 'guilupb'... [ResourceManager/]: Found 'guilupb.mos' in 'chitin.key'. [ResourceManager/]: Found 'guiscrc.bam' in 'chitin.key'. [ResourceManager/]: Found 'guistmsc.bam' in 'chitin.key'. [Python/]: Title: Czarownik Actor Title: Czarownik [Python/]: Class: 19 Actor Class: 19 [Python/]: Kit: 0 Actor Kit: 0 [Python/]: ClassName: SORCERER Actor ClassNames: ['SORCERER'] [Python/]: NumClasses: 1 Actor NumClasses: 1 [Python/]: Classes: [19] Actor Classes: [19] [Python/]: IsDual: False Actor IsDual: 0 [ResourceManager/]: Found 'SPLSRCKN.2da' in 'chitin.key'. [Python/]: Actor CurrentLevels:[1] [Python/]: Levels: [8, 0, 0] Actor NextLevels: [8] [Python/]: LevelDiffs: [7, 0, 0] Actor LevelDiffs: [7] [ResourceManager/]: Found 'lunumab.2da' in 'Override'. [Python/]: Actor HLA Names: ['SORCERER'] [ResourceManager/]: Searching for 'guihsbs'... [ResourceManager/]: Found 'guihsbs.mos' in 'chitin.key'. [GUIScript/ERROR]: Runtime Error: [Python/ERROR]: Traceback (most recent call last): [Python/ERROR]: File ".\GUIScripts\LevelUp.py", line 305, in OpenLevelUpWindow [Python/ERROR]: LUSpellSelection.OpenSpellsWindow (pc, "SPLSRCKN", Level[c], LevelDiff[c]) [Python/ERROR]: File ".\GUIScripts\LUSpellSelection.py", line 155, in OpenSpellsWindow [Python/ERROR]: SpellsWindow.CreateButton (24, 231, 345, 42, 42) [Python/ERROR]: File ".\GUIScripts\GUIClasses.py", line 182, in CreateButton [Python/ERROR]: return self.CreateControl(control, IE_GUI_BUTTON, args[0], args[1], args[2], args[3], args[4:]) [Python/ERROR]: File ".\GUIScripts\GUIClasses.py", line 152, in CreateControl [Python/ERROR]: return self.CreateSubview(newID, ctype, frame, *args) [Python/ERROR]: File ".\GUIScripts\GUIClasses.py", line 165, in CreateSubview [Python/ERROR]: created = self.AddSubview(view) # this will move the reference into the our window's group [Python/ERROR]: File ".\GUIScripts\MetaClasses.py", line 61, in handler [Python/ERROR]: raise type(e)(str(e) + "\nMethod Docs:\n" + str(f.__doc__)) [Python/ERROR]: RuntimeError: Cannot construct object with null ref. Method Docs: ===== View_AddSubview ===== **Prototype:** View_AddSubview (GView, subview [,siblingView=None, id=-1]) **Metaclass Prototype:** AddSubview (subview[, siblingView=None, id=-1]) **Description:** Adds a view to a new superview in front of siblingView (or the back if None), removing it from its previous superview (if any). **Parameters:** * GView - the control's (superview's) reference * subview - View to add * siblingView - View to add * id - assign this numeric ID to the new view (useful if it's already taken) **Example:** RaceWindow.AddSubview (ScrollBarControl) **Return value:** the new View [ResourceManager/]: Searching for 'paper'... [ResourceManager/]: Found 'paper.wav' in 'chitin.key'. [Actor/DEBUG]: GetIWD2KitIndex: didn't find kit 16384 at expected class 2, recalculating! [Actor/ERROR]: GetIWD2KitIndex: didn't find kit 16384 for any class, ignoring! [Python/]: ('Levels:', 8, '/', 0, '/', 0) [Python/]: Single classed [Python/]: Class (Level): SORCERER (8) [Python/]: (222, '') [Python/]: pause state True [Python/]: pause state True Quote Link to comment
lynx Posted July 28, 2021 Share Posted July 28, 2021 Hmm, you can try commenting out the line 155 in GUIScripts\LUSpellSelection.py (in wherever you unpacked gemrb). I suspect the data — what resolution are you playing at? Quote Link to comment
Guest eryrwyn Posted July 28, 2021 Share Posted July 28, 2021 2 hours ago, lynx said: Hmm, you can try commenting out the line 155 in GUIScripts\LUSpellSelection.py (in wherever you unpacked gemrb). I suspect the data — what resolution are you playing at? Thank you so much, it works! I just tested with more XP and exactly the same problem appeared with the HLA table (except it doesn't pop out at all and I can't continue the level-up) but I commented out the offending line 86 in LUHLASelection.py and it works fine now. I'm currently playing in 1280x960. Quote Link to comment
lynx Posted July 28, 2021 Share Posted July 28, 2021 I don't see what goes wrong and I also forgot this window is the same regardless of resolution. This should fix the wrong table being used (first python warning) diff --git a/gemrb/GUIScripts/LUSpellSelection.py b/gemrb/GUIScripts/LUSpellSelection.py index f24600afb..5340abc54 100644 --- a/gemrb/GUIScripts/LUSpellSelection.py +++ b/gemrb/GUIScripts/LUSpellSelection.py @@ -174,7 +174,7 @@ def OpenSpellsWindow (actor, table, level, diff, kit=0, gen=0, recommend=True, b # adjust the table for the amount of spells available for learning for free # bg2 had SPLSRCKN, iwd2 also SPLBRDKN, but all the others lacked the tables - if SpellLearnTable == "MXSPLSOR": + if SpellLearnTable == "MXSPLSOR" or SpellLearnTable == "MXSPLSRC": SpellLearnTable = "SPLSRCKN" elif SpellLearnTable == "MXSPLBRD": SpellLearnTable = "SPLBRDKN" So you get the correct new spells amount on levelup. I doubt it will affect your gui error though. 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.