Mera Posted January 7, 2024 Posted January 7, 2024 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 Quote
DavidW Posted January 7, 2024 Posted January 7, 2024 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. Quote
DavidW Posted January 7, 2024 Posted January 7, 2024 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.) Quote
Mera Posted January 7, 2024 Author Posted January 7, 2024 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 Quote
DavidW Posted January 7, 2024 Posted January 7, 2024 Thanks. Could you attach copies of the files m_dw_dkd.lua and m_dw_hld.lua from your override directory? Quote
Mera Posted January 8, 2024 Author Posted January 8, 2024 Should be those 2 m_dw_dkd.lua m_dw_hld.lua Quote
DavidW Posted January 8, 2024 Posted January 8, 2024 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! Quote
DavidW Posted January 8, 2024 Posted January 8, 2024 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.) Quote
DavidW Posted January 8, 2024 Posted January 8, 2024 Actually, forget that: I can reproduce it on my own install, using the vanilla French translation. Quote
Mera Posted January 8, 2024 Author Posted January 8, 2024 (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 January 8, 2024 by Mera Quote
DavidW Posted January 9, 2024 Posted January 9, 2024 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! Quote
Mera Posted January 9, 2024 Author Posted January 9, 2024 Ok, good news! Thank you! Out of curiosity, is it related in any way to the fact that ToF is not currently translated? Would it help if it was the case? Quote
DavidW Posted January 9, 2024 Posted January 9, 2024 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.) Quote
mickabouille Posted January 9, 2024 Posted January 9, 2024 (edited) 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 January 9, 2024 by mickabouille Quote
DavidW Posted January 9, 2024 Posted January 9, 2024 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. Quote
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.