Jump to content

[Beta 3] Cannot level up any character


Recommended Posts

A new topic since the one I originally posted into definitely looks completely unrelated (https://www.gibberlings3.net/forums/topic/37553-cant-level-up-multiclass-npcs-from-level-0/)

WeiDU attached, fairly minimal install.
BG2EE, created a new Bloodrager character which started at lvl 1 since the "feats" component is also installed.
Tried to level up my character, lvl up button does nothing (I can click on it but nothing happens). Gave some extra XP to Imoen, tried to level her up too, same result.

Not sure how it could matter but just in case, the first component installed is the proofreading of the French translation (https://github.com/r-e-d/correctfrBG2EE).
On the other hand, now that I think about it, you said in the other post that you could not reproduce. Could it be related to me playing in French? 🤨

 

WeiDU.log

Link to comment

I can't reproduce this on a clean full install of beta 3 (I haven't yet tried reproducing your whole install, even without the translation; I'll try that next.) It's not impossible it's about the language: the way ToF detects a character's class does rely on strings and there might be some tacit English-language assumptions I've made about them.

Can you try running the game in windowed mode from a console? (i.e. open a command window, navigate to your BG2EE folder, type 'baldur'.) Probably pressing the level-up button will dump some debug information into the console and I'd like to see what it is.

Link to comment

OK, I've replicated your exact install (except for the translation component) and I can't reproduce the bug, so I suspect it is a language-specific issue (ugh). Let me know if you manage to get that debug data.

(I can reproduce another bug with the Bloodrager in that install - it's expecting some resources which aren't present if you don't install other components - but that isn't what's causing your issue.)

Link to comment

Ok, here's the data, was somewhat long with lots of "scanning" so I copy-pasted the end which seems to be the relevant bit plus some extra in case it's useful.
Also, tried to switch the game to English, still not able to level up.
If it helps you that I run the same install but without the translation mod, let me know :) 

 

Spoiler

INFO: [string "M_DW_SSF.lua"]:118: attempt to index field '?' (a nil value)
stack traceback:
        return debug.traceback():1: in main chunk
        =[C]: in function '__index'
        M_DW_SSF.lua:118: in function 'dwSpellAvailable'
        M_DW_SSF.lua:141: in function 'dwBuildChooseSpell'
        function onopen00000000065F4340 ()
                dwUpdateChooseSpells()
                dwLearnSpecialistSpells()
                dwBuildChooseSpell()
                table.sort(chargen.choose_spell, sortBySpellName)
                currentChargenChooseMageSpell = nil

                if currentChargenKit == nil then
                        currentChargenKit = 0
                end

                local currentKitName = ''

                --gnome illusionists
                if currentChargenRace ~= 6 and chargen.kit then
                        currentKitName = Infinity_FetchString(chargen.kit[currentChargenKit].name)
                else
                        currentKitName = Infinity_FetchString(2862)
                end

                if currentKitName == Infinity_FetchString(597) then
                        setStringTokenLua('<SCHOOLTOKEN>',t('ABJURATION_SCHOOL_TOKEN'))
                elseif currentKitName == Infinity_FetchString(2179) then
                        setStringTokenLua('<SCHOOLTOKEN>',t('CONJURATION_SCHOOL_TOKEN'))
                elseif currentKitName == Infinity_FetchString(2846) then
                        setStringTokenLua('<SCHOOLTOKEN>',t('DIVINATION_SCHOOL_TOKEN'))
                elseif currentKitName == Infinity_FetchString(2861) then
                        setStringTokenLua('<SCHOOLTOKEN>',t('ENCHANTMENT_SCHOOL_TOKEN'))
                elseif currentKitName == Infinity_FetchString(2862) then
                        setStringTokenLua('<SCHOOLTOKEN>',t('ILLUSION_SCHOOL_TOKEN'))
                elseif currentKitName == Infinity_FetchString(3015) then
                        setStringTokenLua('<SCHOOLTOKEN>',t('EVOCATION_SCHOOL_TOKEN'))
                elseif currentKitName == Infinity_FetchString(12744) then
                        setStringTokenLua('<SCHOOLTOKEN>',t('NECROMANCY_SCHOOL_TOKEN'))
                elseif currentKitName == Infinity_FetchString(12745) then
                        setStringTokenLua('<SCHOOLTOKEN>',t('TRANSMUTATION_SCHOOL_TOKEN'))
                elseif currentKitName == Infinity_FetchString(54893) then
                        setStringTokenLua('<SCHOOLTOKEN>',Infinity_FetchString(54893))
                end
..."]:1> end:4: in function <[string "function onopen00000000065F4340 ()
        =[C]: in function 'OnDoneButtonClick'
        M_DW_HLF.lua:85: in function 'dwHLAClickDoneButton'
        function action00000000065FB8A0 () dwHLAClickDoneButton(); end:1: in function <[string "function action00000000065FB8A0 () dwHLAClick..."]:1>
INFO: Font: Added point size (26) for font STONESML
INFO: LUA: Initializing Quests
INFO: Font: Added point size (21) for font STONESML
INFO: Font: Added point size (20) for font STONESML
INFO: Font: Added point size (19) for font STONESML
INFO: Font: Added point size (17) for font STONESML
INFO: Font: Added point size (16) for font STONESML
INFO: Font: Added point size (15) for font STONESML
INFO: Font: Added point size (14) for font STONESML
INFO: Font: Added point size (13) for font STONESML
INFO: Font: Added point size (12) for font STONESML
INFO: Font: Added point size (11) for font STONESML
INFO: LUA: Initializing Quests
INFO: LUA: Initializing Quests
INFO: sAchieveID=NONE,m_sGlobalName=BD_STORY_MODE,m_nValue=0
INFO: sAchieveID=NONE,m_sGlobalName=BD_NIGHTMARE_MODE,m_nValue=0
INFO: sAchieveID=NONE,m_sGlobalName=GameDifficulty,m_nValue=4
INFO: sAchieveID=NONE,m_sGlobalName=CHECKJAHEIRAMATCH,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=JAHEIRAMATCH,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=DW_START_AREA_XP,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=CHAPTER,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=BD_CUTSCENE_BREAKABLE,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=BD_CUTSCENE_BREAKABLE,m_nValue=0
INFO: Font: loaded font FLOATTXT
INFO: Font: Added point size (18) for font FLOATTXT
INFO: Font: loaded font POSTANTI
INFO: Font: Added point size (24) for font POSTANTI
INFO: sAchieveID=NONE,m_sGlobalName=CHECKAERIEMATCH,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=AERIEMATCH,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=CHECKVICONIAMATCH,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=VICONIAMATCH,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=OH_IMPORT02,m_nValue=5
INFO: sAchieveID=NONE,m_sGlobalName=BD_CHAPTER_SAVE,m_nValue=1
INFO: scanning:(0) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
INFO: scanning:(1) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/override
INFO: scanning:(2) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
INFO: scanning:(3) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
INFO: scanning:(4) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/fonts
INFO: scanning:(5) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
INFO: scanning:(6) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/sounds
INFO: scanning:(7) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
INFO: scanning:(8) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
INFO: scanning:(9) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
INFO: scanning:(10) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
INFO: scanning:(11) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/movies
INFO: scanning:(12) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/override
INFO: scanning:(13) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/scripts
INFO: scanning:(14) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/sounds
INFO: scanning:(15) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/portraits
INFO: scanning:(16) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/characters
INFO: scanning:(17) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/movies
INFO: scanning:(0) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
INFO: scanning:(1) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/override
INFO: scanning:(2) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
INFO: scanning:(3) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
INFO: scanning:(4) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/fonts
INFO: scanning:(5) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
INFO: scanning:(6) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/sounds
INFO: scanning:(7) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
INFO: scanning:(8) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
INFO: scanning:(9) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
INFO: scanning:(10) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
INFO: scanning:(11) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/movies
INFO: scanning:(12) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/override
INFO: scanning:(13) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/scripts
INFO: scanning:(14) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/sounds
INFO: scanning:(15) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/portraits
INFO: scanning:(16) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/characters
INFO: scanning:(17) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/movies
INFO: scanning:(0) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
INFO: scanning:(1) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/override
INFO: scanning:(2) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
INFO: scanning:(3) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
INFO: scanning:(4) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/fonts
INFO: scanning:(5) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
INFO: scanning:(6) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/sounds
INFO: scanning:(7) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
INFO: scanning:(8) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
INFO: scanning:(9) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
INFO: scanning:(10) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
INFO: scanning:(11) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/movies
INFO: scanning:(12) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/override
INFO: scanning:(13) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/scripts
INFO: scanning:(14) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/sounds
INFO: scanning:(15) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/portraits
INFO: scanning:(16) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/characters
INFO: scanning:(17) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/movies
INFO: scanning:(0) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
INFO: scanning:(1) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/override
INFO: scanning:(2) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
INFO: scanning:(3) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
INFO: scanning:(4) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/fonts
INFO: scanning:(5) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
INFO: scanning:(6) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/sounds
INFO: scanning:(7) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
INFO: scanning:(8) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
INFO: scanning:(9) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
INFO: scanning:(10) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
INFO: scanning:(11) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/movies
INFO: scanning:(12) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/override
INFO: scanning:(13) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/scripts
INFO: scanning:(14) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/sounds
INFO: scanning:(15) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/portraits
INFO: scanning:(16) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/characters
INFO: scanning:(17) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/movies
INFO: scanning:(0) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
INFO: scanning:(1) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/override
INFO: scanning:(2) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
INFO: scanning:(3) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
INFO: scanning:(4) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/fonts
INFO: scanning:(5) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
INFO: scanning:(6) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/sounds
INFO: scanning:(7) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
INFO: scanning:(8) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
INFO: scanning:(9) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
INFO: scanning:(10) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
INFO: scanning:(11) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/movies
INFO: scanning:(12) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/override
INFO: scanning:(13) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/scripts
INFO: scanning:(14) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/sounds
INFO: scanning:(15) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/portraits
INFO: scanning:(16) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/characters
INFO: scanning:(17) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/movies
INFO: scanning:(0) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
INFO: scanning:(1) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/override
INFO: scanning:(2) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
INFO: scanning:(3) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
INFO: scanning:(4) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/fonts
INFO: scanning:(5) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
INFO: scanning:(6) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/sounds
INFO: scanning:(7) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
INFO: scanning:(8) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
INFO: scanning:(9) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
INFO: scanning:(10) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
INFO: scanning:(11) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/movies
INFO: scanning:(12) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/override
INFO: scanning:(13) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/scripts
INFO: scanning:(14) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/sounds
INFO: scanning:(15) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/portraits
INFO: scanning:(16) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/characters
INFO: scanning:(17) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/movies
INFO: scanning:(0) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
INFO: scanning:(1) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/override
INFO: scanning:(2) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
INFO: scanning:(3) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
INFO: scanning:(4) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/fonts
INFO: scanning:(5) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
INFO: scanning:(6) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/sounds
INFO: scanning:(7) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
INFO: scanning:(8) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
INFO: scanning:(9) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
INFO: scanning:(10) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
INFO: scanning:(11) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/movies
INFO: scanning:(12) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/override
INFO: scanning:(13) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/scripts
INFO: scanning:(14) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/sounds
INFO: scanning:(15) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/portraits
INFO: scanning:(16) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/characters
INFO: scanning:(17) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/movies
INFO: scanning:(0) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
INFO: scanning:(1) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/override
INFO: scanning:(2) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
INFO: scanning:(3) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
INFO: scanning:(4) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/fonts
INFO: scanning:(5) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
INFO: scanning:(6) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/sounds
INFO: scanning:(7) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
INFO: scanning:(8) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
INFO: scanning:(9) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
INFO: scanning:(10) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
INFO: scanning:(11) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/movies
INFO: scanning:(12) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/override
INFO: scanning:(13) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/scripts
INFO: scanning:(14) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/sounds
INFO: scanning:(15) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/portraits
INFO: scanning:(16) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/characters
INFO: scanning:(17) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/movies
INFO: scanning:(0) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
INFO: scanning:(1) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/override
INFO: scanning:(2) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
INFO: scanning:(3) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
INFO: scanning:(4) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/fonts
INFO: scanning:(5) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
INFO: scanning:(6) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/sounds
INFO: scanning:(7) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
INFO: scanning:(8) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
INFO: scanning:(9) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
INFO: scanning:(10) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
INFO: scanning:(11) C:/Games/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/fr_FR/movies
INFO: scanning:(12) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/override
INFO: scanning:(13) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/scripts
INFO: scanning:(14) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/sounds
INFO: scanning:(15) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/portraits
INFO: scanning:(16) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/characters
INFO: scanning:(17) C:/Users/Jérémy/Documents/Baldur's Gate II - Enhanced Edition/movies
INFO: Cloud save path: home:/cloudsave//save_000000000-Sauvegarde-Auto.cloud
INFO: Steam Cloud Quota: 12382799 / 100000000 bytes
INFO: sAchieveID=NONE,m_sGlobalName=BD_DEFAI,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=BDAI_RESET_TIMERS,m_nValue=1
INFO: sAchieveID=NONE,m_sGlobalName=BDAI_RESET_TIMERS,m_nValue=0
INFO: Font: Added point size (21) for font NORMAL
INFO: [string "M_DW_HLF.lua"]:238: attempt to index field '?' (a nil value)
stack traceback:
        return debug.traceback():1: in main chunk
        =[C]: in function '__index'
        M_DW_HLF.lua:238: in function 'dwNumberHLAs'
        function action000000000703A4E0 ()  dwIsChargen=false;dwIsLevelling=true;dwIsDualClassing=false;dwHLANumberOld=dwNumberHLAs(false);characterScreen:OnLevelUpButtonClick(); end:1: in function <[string "function action000000000703A4E0 ()  dwIsCharg..."]:1>
INFO: [string "M_DW_HLF.lua"]:238: attempt to index field '?' (a nil value)
stack traceback:
        return debug.traceback():1: in main chunk
        =[C]: in function '__index'
        M_DW_HLF.lua:238: in function 'dwNumberHLAs'
        function action000000000703A4E0 ()  dwIsChargen=false;dwIsLevelling=true;dwIsDualClassing=false;dwHLANumberOld=dwNumberHLAs(false);characterScreen:OnLevelUpButtonClick(); end:1: in function <[string "function action000000000703A4E0 ()  dwIsCharg..."]:1>
INFO: [string "M_DW_HLF.lua"]:238: attempt to index field '?' (a nil value)
stack traceback:
        return debug.traceback():1: in main chunk
        =[C]: in function '__index'
        M_DW_HLF.lua:238: in function 'dwNumberHLAs'
        function action000000000703A4E0 ()  dwIsChargen=false;dwIsLevelling=true;dwIsDualClassing=false;dwHLANumberOld=dwNumberHLAs(false);characterScreen:OnLevelUpButtonClick(); end:1: in function <[string "function action000000000703A4E0 ()  dwIsCharg..."]:1>
INFO: Font: Added point size (16) for font REALMS
INFO: Font: Added point size (11) for font NORMAL
INFO: Font: Added point size (10) for font STONESML
INFO: Font: Added point size (13) for font NORMAL
INFO: Font: Added point size (12) for font STONESML
INFO: Font: Added point size (11) for font STONESML
INFO: Font: Added point size (10) for font FLOATTXT
INFO: Font: Added point size (30) for font REALMS
INFO: Font: Added point size (21) for font NORMAL
INFO: Font: Added point size (18) for font STONESML
INFO: Font: Added point size (24) for font NORMAL
INFO: Font: Added point size (22) for font STONESML
INFO: Font: Added point size (21) for font STONESML
INFO: Font: Added point size (20) for font STONESML
INFO: Font: Added point size (19) for font STONESML
INFO: Font: Added point size (18) for font FLOATTXT
INFO: Font: Added point size (20) for font NORMAL
INFO: Font: Added point size (19) for font NORMAL
INFO: Font: Added point size (18) for font NORMAL
INFO: Font: Added point size (17) for font NORMAL
INFO: Font: Added point size (24) for font POSTANTI
INFO: Font: Added point size (22) for font NORMAL
INFO: [string "M_DW_HLF.lua"]:300: attempt to index field '?' (a nil value)
stack traceback:
        return debug.traceback():1: in main chunk
        =[C]: in function '__index'
        M_DW_HLF.lua:300: in function 'dwNumberHLAs'
        function action000000000703A4E0 ()  dwIsChargen=false;dwIsLevelling=true;dwIsDualClassing=false;dwHLANumberOld=dwNumberHLAs(false);characterScreen:OnLevelUpButtonClick(); end:1: in function <[string "function action000000000703A4E0 ()  dwIsCharg..."]:1>
INFO: [string "M_DW_HLF.lua"]:300: attempt to index field '?' (a nil value)
stack traceback:
        return debug.traceback():1: in main chunk
        =[C]: in function '__index'
        M_DW_HLF.lua:300: in function 'dwNumberHLAs'
        function action000000000703A4E0 ()  dwIsChargen=false;dwIsLevelling=true;dwIsDualClassing=false;dwHLANumberOld=dwNumberHLAs(false);characterScreen:OnLevelUpButtonClick(); end:1: in function <[string "function action000000000703A4E0 ()  dwIsCharg..."]:1>
INFO: [string "M_DW_HLF.lua"]:300: attempt to index field '?' (a nil value)
stack traceback:
        return debug.traceback():1: in main chunk
        =[C]: in function '__index'
        M_DW_HLF.lua:300: in function 'dwNumberHLAs'
        function action000000000703A4E0 ()  dwIsChargen=false;dwIsLevelling=true;dwIsDualClassing=false;dwHLANumberOld=dwNumberHLAs(false);characterScreen:OnLevelUpButtonClick(); end:1: in function <[string "function action000000000703A4E0 ()  dwIsCharg..."]:1>
INFO: Font: Added point size (16) for font REALMS
INFO: Font: Added point size (11) for font NORMAL
INFO: Font: Added point size (10) for font STONESML
INFO: Font: Added point size (13) for font NORMAL
INFO: Font: Added point size (12) for font STONESML
INFO: Font: Added point size (10) for font FLOATTXT

 

Link to comment

I'm still pretty puzzled - I don't see anything there that would break things, but I must be missing something.

I'm a little short of time for the next day or so but I'll keep exploring. In the meantime if you could have a go without the translation too that would be great - I can't think why it would matter, but *something* is different between your install and mine!

Link to comment

OK, I have a theory as to what's going on.

Can you

(i) open up 'enginest.2da' in Near Infinity and find the number next to the entry ''STRREF_GUI_MIXED_LEVEL"

(ii) look up the string corresponding to that strref and see what it is (in my version it's "Niveau <LEVEL>")

(iii) go into the game, open the character sheet, find the bit where it says the character's class and level, and see what it says (in my version it's (e.g.) Druide: Niveau 6).

If those don't match it would explain the problem. (I'm fairly sure now it's a language issue.)

Link to comment
Posted (edited)

So a couple more tests I just ran:

  • Tried with the same install but without the translation mod, no level up
  • Tried with the same install but everything in English (including the "Please choose the language in which you wish to play the game." when first installing the mod), this time, level up (which is a good thing since it's you exact setup 😁)

I'll try what you suggested and get back to you 🙂

Edit : 

Quote

Actually, forget that: I can reproduce it on my own install, using the vanilla French translation.

Oh ok 👍 Let me know if there's anything else I can try on my hand

Edited by Mera
Link to comment

Just to give some background as to what's going on: The EE UI doesn't directly have access to a character's class, kit or level. The engine generates a string that describes it (e.g., "Fighter: level 6") and passes that string to the UI. ToF then gets the UI to parse that string to recover the class, kit and level. I'm fairly sure that parsing is making some assumptions that are true in English but not in all languages.

This will take a bit of work (no quick hotfix) but should be fixable. Thanks for your help identifying it!

Link to comment

No, it's not that. It's a mixture of

(i) special characters that occur in other languages but not in English, that my LUA regexps aren't reliably catching

(ii) strings which in fact are the same between different strrefs in English but aren't always in other languages, so that my testing didn't pick up the fact that I was using the wrong strref

(iii) possibly issues with different space characters.

It should all be fixable but it needs to be on my end. I didn't do any testing in languages other than English, which was probably a mistake, though it's difficult to do so since my language skills are poor. (French is a good place for the problem to have shown up since I can just about manage to navigate the French-language character screen.)

Link to comment
50 minutes ago, DavidW said:

special characters that occur in other languages but not in English, that my LUA regexps aren't reliably catching

Not sure if that helps, but following some tests with regexps in iwdification, weidu (in fact ocaml) regexes are byte-oriented and not "character"-oriented... at least when using utf8.

So a non-ascii (first 127 characters in all western encodings, and in utf8) match correctly, but any character after that will not because they actually are multiple bytes.

I had to workaround detecting for example "Inconvénient :" as "Inconv[^n]+nient[^:]*:" (ad-libbing, not sure those are the exact cases)

(Maybe there was an easier way with a better internal understanding of the regex engine but I got fed up)

Edited by mickabouille
Link to comment

It's actually a lua regex, not a WEIDU one. (But yes, this is a similar sort of issue to the ones we were having with translations, but more serious in consequence since it affects the core mechanics of the UI.) I've got it partially fixed locally but there's more to do.

Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...