Enkidu Posted October 15, 2008 Share Posted October 15, 2008 There are 2 files that are causing this; bgbishop.cre and dopkie.cre. I tried opening them with NI and couldn't (nothing happens when I click on them). Searching for them in backups of installed mods revealed a few results the latest of which is component #6070 of SCS v9 (Imp. Durlag's tower). Replacing these faulty files with those backups solved the problem. Something in Imp. Durlag's tower must be corrupting them. Edit: more CREs seem to be infected. Trying to CLUA any of them results in ctd and they can't be opened in NI: bgknight bgpawn bgrook dopdur dopdur1 dopdur2 dopdur3 pridem Again, replacing them with the ones from scs/backup/6070 "solves" the problem. Edit2: Opening them with dltcep reveals that the problem lies in an invalid spell memorisation count. Unfortunately I was unable to fix it as the editor crashes whenever I try to edit faulty values. There's not much more I can say as my understanding of the game mechanics is limited. Link to comment
Taimon Posted October 21, 2008 Share Posted October 21, 2008 It looks like some things in scsII.tph got mixed up. For now I would remove/comment every line that reads SET ~offset_original~=~numeffects~ and change line 186 to SET ~offset_original~ =~aboffset~ Note that this is not the best solution, but it should help you for now. (It still has the issues discussed recently on SHS.) Link to comment
Taimon Posted November 19, 2008 Share Posted November 19, 2008 There are two more typos in the grant_spell_immunity macro. So here is the complete patch: --- scsII.tph +++ scsII.tph.fix @@ -183,7 +183,7 @@ READ_BYTE 0x33 "eff_version" READ_LONG 0x2c4 ~aboffset~ //proficiencies READ_SHORT 0x2c8 ~#ab~ - SET ~offset_original~ =~#ab~ + SET ~offset_original~ =~aboffset~ READ_LONG 0x2a0 ~off1~ READ_LONG 0x2a8 ~off2~ READ_LONG 0x2b0 ~off3~ @@ -523,7 +523,7 @@ SET ~offset_original~ = ~effoffset~ /// get the other offsets, we'll need them for tidying up READ_LONG 0x2c8 ~numeffects~ - SET ~offset_original~=~numeffects~ + //SET ~offset_original~=~numeffects~ PATCH_IF (~%efftype%~=1) THEN BEGIN /// start by going through and seeing if we're already covered SET ~arewecovered~=0 @@ -604,7 +604,7 @@ SET ~offset_original~ = ~effoffset~ /// get the other offsets, we'll need them for tidying up READ_LONG 0x2c8 ~numeffects~ - SET ~offset_original~=~numeffects~ + //SET ~offset_original~=~numeffects~ PATCH_IF (~%efftype%~=1) THEN BEGIN /// start by going through and seeing if we're already covered SET ~arewecovered~=0 @@ -685,7 +685,7 @@ SET ~offset_original~ = ~effoffset~ /// get the other offsets, we'll need them for tidying up READ_LONG 0x2c8 ~numeffects~ - SET ~offset_original~=~numeffects~ + //SET ~offset_original~=~numeffects~ PATCH_IF (~%efftype%~=1) THEN BEGIN /// start by going through and seeing if we're already covered SET ~arewecovered~=0 @@ -770,7 +770,7 @@ SET ~offset_original~ = ~effoffset~ /// get the other offsets, we'll need them for tidying up READ_LONG 0x2c8 ~numeffects~ - SET ~offset_original~=~numeffects~ + //SET ~offset_original~=~numeffects~ PATCH_IF (~%efftype%~=1) THEN BEGIN /// start by going through and seeing if we're already covered SET ~arewecovered~=0 @@ -815,7 +815,7 @@ FOR(i=0;i<~%numeffects%~;i=i+1) BEGIN READ_LONG 0x30*~%i%~+~%effoffset%~ ~efftype~ PATCH_IF ~%efftype%~=206 THEN BEGIN - READ_ASCII 0x14+0x108*~%i%~+~%effoffset%~ ~effresource~ + READ_ASCII 0x14+0x30*~%i%~+~%effoffset%~ ~effresource~ PATCH_IF ~%effresource%~ STRING_EQUAL_CASE ~%immune_to_this%~ THEN BEGIN SET ~arewecovered~=1 END @@ -823,7 +823,7 @@ END /// if we're not covered, add the effect PATCH_IF ~%arewecovered%~=0 THEN BEGIN - INSERT_BYTES ~%effoffset%~ 0x108 //make space for it + INSERT_BYTES ~%effoffset%~ 0x30 //make space for it //// fill in the details WRITE_LONG ~%effoffset%~ ~206~ // type: protection from spell WRITE_LONG ~%effoffset%~+0x2 1 //target self Link to comment
Salk Posted November 20, 2008 Share Posted November 20, 2008 Great stuff! Now we might enjoy a working SCS v9! Thank you a lot! Link to comment
DrAzTiK Posted November 20, 2008 Share Posted November 20, 2008 Sorry but could you say me how to apply this patch ? I am so bad in informatics... Link to comment
Salk Posted November 20, 2008 Share Posted November 20, 2008 DrAzTiK, open the file called scsII.tph that you find in the folder SCS. Use any text editor to view the file. Then just locate the lines that Taimon has indicated with a "-" and change them with the one indicated with a "+" under it. Example: - SET ~offset_original~ =~#ab~ + SET ~offset_original~ =~aboffset~ This means that you must edit the first line so that it looks exactly like the second line. Link to comment
Taimon Posted November 20, 2008 Share Posted November 20, 2008 Or just wait a couple of days for an unofficial hotfix . Link to comment
DrAzTiK Posted November 20, 2008 Share Posted November 20, 2008 thank you very much ! Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.