Jarno Mikkola Posted July 18, 2020 Share Posted July 18, 2020 Well, you can --change-log the A7REST.SPL -file and see where it comes into the file, aka which mods change adds it. Link to comment
Caedwyr Posted July 18, 2020 Share Posted July 18, 2020 (edited) Quote [WeiDU.exe] WeiDU version 24600 weidu_external/lang/english/setup.tra file not found. Skipping... Mods affecting A7REST.SPL: 00000: /* created or unbiffed */ ~DJINNICOMPANION/SETUP-DJINNICOMPANION.TP2~ 0 0 // Afaaq, the Djinni CompanionFull Version (includes quests, banters and more)v2.8 00001: ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ 0 3580 // Restoration and Lesser Restoration spells heal ability-score damagev33.2 00002: ~SCALES_OF_BALANCE/SCALES_OF_BALANCE.TP2~ 0 240 // POI - Poison Overhaulv5.23 Quote [WeiDU.exe] WeiDU version 24600 weidu_external/lang/english/setup.tra file not found. Skipping... Mods affecting BDREJUVE.SPL: 00000: /* created or unbiffed */ ~EET/EET.TP2~ 0 0 // EET core (resource importation)1.0 RC12 00001: ~STRATAGEMS/SETUP-STRATAGEMS.TP2~ 0 3580 // Restoration and Lesser Restoration spells heal ability-score damagev33.2 Edited July 18, 2020 by Caedwyr Link to comment
Caedwyr Posted July 18, 2020 Share Posted July 18, 2020 Another error that this time stopped the installation of Smarter Mages. Quote [./override/MXSPLBRD.2da] loaded, 2112 bytes ERROR: cannot convert spell_level_to_caster_level_bard_8 or %spell_level_to_caster_level_bard_8% to an integer Stopping installation because of error. Stopping installation because of error. Stopping installation because of error. Stopping installation because of error. Stopping installation because of error. Stopping installation because of error. Stopping installation because of error. Stopping installation because of error. Stopping installation because of error. ERROR Installing [Smarter Mages], rolling back to previous state Unable to Unlink [weidu_external/backup/stratagems/6030/OTHER.6030]: Unix.Unix_error(1, "unlink", "weidu_external/backup/stratagems/6030/OTHER.6030") [weidu_external/backup/stratagems/6030/UNSETSTR.6030] SET_STRING uninstall info not found Will uninstall 6 files for [STRATAGEMS/SETUP-STRATAGEMS.TP2] component 6030. Restoring backed-up [weidu_external/backup/stratagems/6030/caster_shared.tph] weidu_external/backup/stratagems/6030/caster_shared.tph copied to weidu_external/workspace/caster_shared.tph, 57869 bytes Restoring backed-up [weidu_external/backup/stratagems/6030/hla.tph] weidu_external/backup/stratagems/6030/hla.tph copied to weidu_external/workspace/hla.tph, 15975 bytes Uninstalled 6 files for [STRATAGEMS/SETUP-STRATAGEMS.TP2] component 6030. Unable to Unlink [weidu_external/backup/stratagems/6030/READLN.6030]: Unix.Unix_error(20, "unlink", "weidu_external/backup/stratagems/6030/READLN.6030") Unable to Unlink [weidu_external/backup/stratagems/6030/READLN.6030.TEXT]: Unix.Unix_error(20, "unlink", "weidu_external/backup/stratagems/6030/READLN.6030.TEXT") Mods that have modified MXSPLBRD.2da according to change-log are Quote [WeiDU.exe] WeiDU version 24600 Mods affecting MXSPLBRD.2DA: 00000: /* created or unbiffed */ ~RR/SETUP-RR.TP2~ 0 6 // Proper spell progression for Bardsv4.92 00001: ~SONG_AND_SILENCE/SETUP-SONG_AND_SILENCE.TP2~ 0 0 // Changes to trueclass bards and thieves, and unmodded game kits (required for other components)v9 00002: ~TOMEANDBLOOD/TOMEANDBLOOD.TP2~ 0 75 // Ability Score Spellcasting Bonuses0.8.52 00003: ~MIGHT_AND_GUILE/MIGHT_AND_GUILE.TP2~ 0 470 // Add the Gallant (bard kit)4.8 00004: ~CDTWEAKS/SETUP-CDTWEAKS.TP2~ 0 2090 // Change Experience Point CapRemove Experience Capv9 @subtledoctor@CamDawg@DavidW SETUP-STRATAGEMS2.7z Link to comment
subtledoctor Posted July 19, 2020 Share Posted July 19, 2020 I’ve seen that error before, but I cannot recall when/why... It’s probably RR, though. It adds 8th-level slots to the table. TnB/MnG alter entries in the table, but that’s all. I have S&S, TnB, and MnG installed with SCS v33 right now, and no error. RR is the odd one out. Link to comment
Caedwyr Posted July 19, 2020 Share Posted July 19, 2020 There's lots of other options for the spell tables, so I'll probably go for one of those. Thanks! Link to comment
Jarno Mikkola Posted July 19, 2020 Share Posted July 19, 2020 1 hour ago, Caedwyr said: ERROR: cannot convert spell_level_to_caster_level_bard_8 or %spell_level_to_caster_level_bard_8% to an integer This is an error in SCS's code, as it doesn't specify that a function should not be used as it's not defined. As if you fix this for level 8, there's likely going to be the same problem for level 9. This is cause the SCS likely has the original defined as %spell_level_to_caster_level_bard_"x"% ... so, it's just a result of lazy coding. Link to comment
DavidW Posted July 19, 2020 Author Share Posted July 19, 2020 2 hours ago, Jarno Mikkola said: This is an error in SCS's code, as it doesn't specify that a function should not be used as it's not defined. As if you fix this for level 8, there's likely going to be the same problem for level 9. This is cause the SCS likely has the original defined as %spell_level_to_caster_level_bard_"x"% ... so, it's just a result of lazy coding. As usual, people should ignore Jarno, who hasn’t the faintest idea what he’s talking about in 90% of situations. Link to comment
DavidW Posted July 19, 2020 Author Share Posted July 19, 2020 3 hours ago, subtledoctor said: I’ve seen that error before, but I cannot recall when/why... It’s probably RR, though. It adds 8th-level slots to the table. TnB/MnG alter entries in the table, but that’s all. I have S&S, TnB, and MnG installed with SCS v33 right now, and no error. RR is the odd one out. I think there must be something malformed - or odd, at any rate - about RR's version of the table. SCS doesn't hardcode the highest level of bard spells, it reads it from the file, so it shouldn't be upset just because the highest level has gone up. Caedwyr: do you still have your install in place and if so can you post mxsplbrd.2da? Link to comment
Caedwyr Posted July 19, 2020 Share Posted July 19, 2020 The install has been wiped out, but I can repeat the steps that modified MXSPLBRD.2da. In the meantime, here is the code of that component from Setup-rr.tp2 /////////////////////////////////////////////////////////////////////// // Rogue Rebalancing - Proper spell progression for Bards /////////////////////////////////////////////////////////////////////// // *** For fellow modders *** this component can be detected by searching for the following file - RR#PPBRD.RR BEGIN @9 DESIGNATED 6 REQUIRE_PREDICATE ENGINE_IS ~tob bgee bg2ee iwdee~ @902 COPY_EXISTING ~sw1h01.itm~ ~override/RR#PPBRD.RR~ // PnP spell progression table based on AD&D "Dungen Master's Option: High-Level Campaigns" supplement and Blucher's work in BG2 Tweaks for levels past 30 // 2DA patching code borrowed from Nythrun with thanks :) COPY_EXISTING ~MXSPLBRD.2DA~ override COUNT_2DA_COLS cols PATCH_IF cols < 9 BEGIN READ_2DA_ENTRIES_NOW rows cols SPRINT new ~~ READ_2DA_ENTRY 0 cols - 2 cols - 1 new_level FOR (i_0 = cols; i_0 < 9; i_0 += 1) BEGIN SPRINT new ~%new% 0~ SPRINT new_level ~%new_level% %i_0%~ END FOR (i_0 = 0; i_0 < rows; i_0 += 1) BEGIN READ_2DA_ENTRY_FORMER rows i_0 cols - 1 old SET_2DA_ENTRY_LATER mxsplbrd_set i_0 cols - 1 ~%old% %new%~ END SET_2DA_ENTRIES_NOW mxsplbrd_set cols SET_2DA_ENTRY 0 cols - 2 cols - 1 ~%new_level%~ SET cols = 9 END READ_2DA_ENTRIES_NOW rows cols SET $level(9) = 0 FOR (i_0 = 0; i_0 < rows; i_0 += 1) BEGIN READ_2DA_ENTRY_FORMER rows i_0 0 level SET $level(1) = level < 2 ? 0 : level < 3 ? 1 : level < 5 ? 2 : level < 16 ? 3 : level < 25 ? 4 : level < 28 ? 5 : level < 35 ? 6 : 7 SET $level(2) = level < 4 ? 0 : level < 6 ? 1 : level < 8 ? 2 : level < 17 ? 3 : level < 25 ? 4 : level < 29 ? 5 : level < 36 ? 6 : 7 SET $level(3) = level < 7 ? 0 : level < 9 ? 1 : level < 11 ? 2 : level < 18 ? 3 : level < 26 ? 4 : level < 30 ? 5 : level < 37 ? 6 : 7 SET $level(4) = level < 10 ? 0 : level < 12 ? 1 : level < 14 ? 2 : level < 19 ? 3 : level < 26 ? 4 : level < 31 ? 5 : level < 38 ? 6 : 7 SET $level(5) = level < 13 ? 0 : level < 15 ? 1 : level < 17 ? 2 : level < 20 ? 3 : level < 27 ? 4 : level < 32 ? 5 : level < 39 ? 6 : 7 SET $level(6) = level < 16 ? 0 : level < 18 ? 1 : level < 20 ? 2 : level < 21 ? 3 : level < 27 ? 4 : level < 33 ? 5 : level < 40 ? 6 : 7 SET $level(7) = level < 21 ? 0 : level < 22 ? 1 : level < 23 ? 2 : level < 24 ? 3 : level < 28 ? 4 : level < 34 ? 5 : 6 SET $level(8) = level < 29 ? 0 : level < 35 ? 1 : 2 FOR (i_1 = 1; i_1 < cols; i_1 += 1) BEGIN SET_2DA_ENTRY_LATER mxsplbrd_set i_0 i_1 $level(~%i_1%~) END END SET_2DA_ENTRIES_NOW mxsplbrd_set cols PRETTY_PRINT_2DA WHILE level < 50 BEGIN REPLACE_EVALUATE ~^\(%level%\)\(.+\)~ BEGIN SET level += 1 END ~\1\2%LNL%%level%\2~ END BUT_ONLY Link to comment
subtledoctor Posted July 19, 2020 Share Posted July 19, 2020 (edited) I'm not going do to an SCS AI install right now, I need to go to bed, but I did a quick install of each of the mentioned mods, and here is MXSPLBRD.2da after installing RR: Spoiler 2DA V1.0 0 1 2 3 4 5 6 7 8 2 1 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 0 4 2 1 0 0 0 0 0 0 5 3 1 0 0 0 0 0 0 6 3 2 0 0 0 0 0 0 7 3 2 1 0 0 0 0 0 8 3 3 1 0 0 0 0 0 9 3 3 2 0 0 0 0 0 10 3 3 2 1 0 0 0 0 11 3 3 3 1 0 0 0 0 12 3 3 3 2 0 0 0 0 13 3 3 3 2 1 0 0 0 14 3 3 3 3 1 0 0 0 15 3 3 3 3 2 0 0 0 16 4 3 3 3 2 1 0 0 17 4 4 3 3 3 1 0 0 18 4 4 4 3 3 2 0 0 19 4 4 4 4 3 2 0 0 20 4 4 4 4 4 3 0 0 21 4 4 4 4 4 4 1 0 22 4 4 4 4 4 4 2 0 23 4 4 4 4 4 4 3 0 24 4 4 4 4 4 4 4 0 25 5 5 4 4 4 4 4 0 26 5 5 5 5 4 4 4 0 27 5 5 5 5 5 5 4 0 28 6 5 5 5 5 5 5 0 29 6 6 5 5 5 5 5 1 30 6 6 6 5 5 5 5 1 31 6 6 6 6 5 5 5 1 32 6 6 6 6 6 5 5 1 33 6 6 6 6 6 6 5 1 34 6 6 6 6 6 6 6 1 35 7 6 6 6 6 6 6 2 36 7 7 6 6 6 6 6 2 37 7 7 7 6 6 6 6 2 38 7 7 7 7 6 6 6 2 39 7 7 7 7 7 6 6 2 40 7 7 7 7 7 7 6 2 41 7 7 7 7 7 7 6 2 42 7 7 7 7 7 7 6 2 43 7 7 7 7 7 7 6 2 44 7 7 7 7 7 7 6 2 45 7 7 7 7 7 7 6 2 46 7 7 7 7 7 7 6 2 47 7 7 7 7 7 7 6 2 48 7 7 7 7 7 7 6 2 49 7 7 7 7 7 7 6 2 50 7 7 7 7 7 7 6 2 ...and after then installing TnB (TnB increases the number of slots at each (normal) spell level by 2, and then applies spells reducing spell slots at each level by two, and then applies a repeating effect that conditionally blocks those reductions, depending on your CHA score (so if you have high CHA, the net effect is +2 spell slots)): Spoiler 2DA V1.0 0 1 2 3 4 5 6 7 8 2 3 0 0 0 0 0 0 0 3 4 0 0 0 0 0 0 0 4 4 3 0 0 0 0 0 0 5 5 3 0 0 0 0 0 0 6 5 4 0 0 0 0 0 0 7 5 4 3 0 0 0 0 0 8 5 5 3 0 0 0 0 0 9 5 5 4 0 0 0 0 0 10 5 5 4 3 0 0 0 0 11 5 5 5 3 0 0 0 0 12 5 5 5 4 0 0 0 0 13 5 5 5 4 3 0 0 0 14 5 5 5 5 3 0 0 0 15 5 5 5 5 4 0 0 0 16 6 5 5 5 4 3 0 0 17 6 6 5 5 5 3 0 0 18 6 6 6 5 5 4 0 0 19 6 6 6 6 5 4 0 0 20 6 6 6 6 6 5 0 0 21 6 6 6 6 6 6 1 0 22 6 6 6 6 6 6 2 0 23 6 6 6 6 6 6 3 0 24 6 6 6 6 6 6 4 0 25 7 7 6 6 6 6 4 0 26 7 7 7 7 6 6 4 0 27 7 7 7 7 7 7 4 0 28 8 7 7 7 7 7 5 0 29 8 8 7 7 7 7 5 1 30 8 8 8 7 7 7 5 1 31 8 8 8 8 7 7 5 1 32 8 8 8 8 8 7 5 1 33 8 8 8 8 8 8 5 1 34 8 8 8 8 8 8 6 1 35 9 8 8 8 8 8 6 2 36 9 9 8 8 8 8 6 2 37 9 9 9 8 8 8 6 2 38 9 9 9 9 8 8 6 2 39 9 9 9 9 9 8 6 2 40 9 9 9 9 9 9 6 2 41 9 9 9 9 9 9 6 2 42 9 9 9 9 9 9 6 2 43 9 9 9 9 9 9 6 2 44 9 9 9 9 9 9 6 2 45 9 9 9 9 9 9 6 2 46 9 9 9 9 9 9 6 2 47 9 9 9 9 9 9 6 2 48 9 9 9 9 9 9 6 2 49 9 9 9 9 9 9 6 2 50 9 9 9 9 9 9 6 2 ...and then after installing MnG's old Gallant kit (this is very old code and far, far less sophisticated than TnB; it reduces spell slots by 1 in the .2da table (except where the value is already 1), and then gives a bonus spell slot to every bard kit except the Gallant (and glancing at this, it seems to fail to make the adjustment when the value is 9)): Spoiler 2DA V1.0 0 1 2 3 4 5 6 7 8 2 2 0 0 0 0 0 0 0 3 3 0 0 0 0 0 0 0 4 3 2 0 0 0 0 0 0 5 4 2 0 0 0 0 0 0 6 4 3 0 0 0 0 0 0 7 4 3 2 0 0 0 0 0 8 4 4 2 0 0 0 0 0 9 4 4 3 0 0 0 0 0 10 4 4 3 2 0 0 0 0 11 4 4 4 2 0 0 0 0 12 4 4 4 3 0 0 0 0 13 4 4 4 3 2 0 0 0 14 4 4 4 4 2 0 0 0 15 4 4 4 4 3 0 0 0 16 5 4 4 4 3 2 0 0 17 5 5 4 4 4 2 0 0 18 5 5 5 4 4 3 0 0 19 5 5 5 5 4 3 0 0 20 5 5 5 5 5 4 0 0 21 5 5 5 5 5 5 1 0 22 5 5 5 5 5 5 1 0 23 5 5 5 5 5 5 2 0 24 5 5 5 5 5 5 3 0 25 6 6 5 5 5 5 3 0 26 6 6 6 6 5 5 3 0 27 6 6 6 6 6 6 3 0 28 7 6 6 6 6 6 4 0 29 7 7 6 6 6 6 4 1 30 7 7 7 6 6 6 4 1 31 7 7 7 7 6 6 4 1 32 7 7 7 7 7 6 4 1 33 7 7 7 7 7 7 4 1 34 7 7 7 7 7 7 5 1 35 9 7 7 7 7 7 5 1 36 9 9 7 7 7 7 5 1 37 9 9 9 7 7 7 5 1 38 9 9 9 9 7 7 5 1 39 9 9 9 9 9 7 5 1 40 9 9 9 9 9 9 5 1 41 9 9 9 9 9 9 5 1 42 9 9 9 9 9 9 5 1 43 9 9 9 9 9 9 5 1 44 9 9 9 9 9 9 5 1 45 9 9 9 9 9 9 5 1 46 9 9 9 9 9 9 5 1 47 9 9 9 9 9 9 5 1 48 9 9 9 9 9 9 5 1 49 9 9 9 9 9 9 5 1 50 9 9 9 9 9 9 5 1 The table after installing the CDTweaks XP cap remover is identical to the last one (i.e. it doesn't make any changes), so I won't post it here. There is a lot going on with that table, but in each case it seems well-formed... Edited July 19, 2020 by subtledoctor Link to comment
Caedwyr Posted July 19, 2020 Share Posted July 19, 2020 Here is my Weidu.log file where I reproduced the error. I've also attached the MXSPLBRD.2DA file that is in my override when SCS choked on it while installing Smarter Mages. WeiDU.log MXSPLBRD.2DA Link to comment
DavidW Posted July 19, 2020 Author Share Posted July 19, 2020 Yeah, that certainly looks well-formed... how odd. I’ll see if I can reproduce the error. Link to comment
DavidW Posted July 19, 2020 Author Share Posted July 19, 2020 OK, reproduced (and identified) on Caedwyr's copy of mxsplbrd.2da. Here's what's going on: I'm not sure I'd call that file malformed, exactly, but it's got a very odd feature: the eighth-level spell column is entirely zeros. That confuses SCS when it reads in the bard spells: it does a column count on mxbrdspl.2da and concludes that bards have spells up to level 8, and so it assumes that spell_level_to_caster_level("bard" "8") ought to be set to something (the level at which bards get level 8 spells) but then when it goes through the file, it never actually discovers any such level, and so the variable remains unset. Then it chokes when it tries to use that variable. I can, and probably should, guard against that in SCS's macro. That said, it probably also points to some oddity in one of Caedwyr's mods, or in the way they're interacting: I may be missing something, but I can't think of a good reason to add an 8th-level column to a spell list but have it entirely blank. Link to comment
subtledoctor Posted July 19, 2020 Share Posted July 19, 2020 So the instant fix is to simply manually change one entry at the bottom of the 8th-level column from 0 to 1, then install SCS. Weird that the table would look like that, though, since my attempts to reproduce the setup did not result in any columns with all zeros. Link to comment
DavidW Posted July 19, 2020 Author Share Posted July 19, 2020 I've updated to v33.3, to fix the mxsplbrd edge-case bug, the incompatibility with DSotSC, and the incompatibility with whatever mod introduces T-BONE01. EDIT: I should note that these aren't all the bugs I'm aware of; in particular, a bunch of compatibility issues with IWDification still need attention. These bugs were (a) readily fixable and (b) critical, in that they'd lead to install-time errors or crashes in some circumstances. Link to comment
Recommended Posts