Jump to content


Photo

BG2EE v2.3 Windows 7 (64 Bit) INSTALL PROBLEMS


23 replies to this topic

#16 agb1

agb1
  • Modders
  • 410 posts
  • Gender:Male

Posted 10 July 2016 - 05:00 AM

Most original game files are stored in BIF archives in the BG2EE\data folder.  When WeiDU patches original game files, it unpacks them from the BIF archives and then puts the modified copies in the override folder.  Unless you've lost your original BIF archive files (which would never happen due to installing a WeiDU mod), you should still have the original spell.ids in data\default.bif.

 

Reading the debug log in the thread you linked, I see that Wheels itself makes a copy of spell.ids and patches it, and then later fails to find an entry in the file.  It's possible that Wheels is corrupting the ids file in the earlier step.  If you have a spell.ids file in your override folder right now (that would be the pre-Wheels version because the install failed and rolled back), then please paste the contents of that spell.ids here in [spoiler ] [/spoiler ] tags so we can take a look at it.  Assuming that file looks OK, then Wheels itself might be causing the issue.  Otherwise, I guess one of the other mods you installed before is corrupting spell.ids.

 

Edit:  I just tried installing Wheels v5 on a clean copy of BG2EE with the latest patch and it fails.  So the problem is probably not with any of the other mods.  Someone will have to take a closer look (maybe me, but can't right now).

 

Edit 2:  See http://gibberlings3....e=2#entry245217  This is a solution for Pietato's installation failure.

 

The issue with dw#melri and SCS (original topic discussed at the beginning of this thread) is still not solved however.


Edited by agb1, 11 July 2016 - 05:19 AM.

BiG World Fixpack (community collection of mod fixes and compatibility patches, with user-friendly cross-platform script)

 

BiG World Setup (tool to automate best-practice installation of Infinity Engine mods on Windows, with conflict analysis)

Latest version:    https://bitbucket.or.../get/master.zip


#17 Pietato

Pietato
  • Members
  • 11 posts

Posted 10 July 2016 - 05:10 AM

Cheers for your help.  I will just go without it for now, and hope it is fixed by the time I get to ToB.



#18 Pietato

Pietato
  • Members
  • 11 posts

Posted 10 July 2016 - 05:37 AM

I think it is a universal gibberling thing.  SCS only works if you replace the corrupt files, the allignment change in Oversight cannot find the right file to copy, and BG2fixpack also fails to copy properly.



#19 agb1

agb1
  • Modders
  • 410 posts
  • Gender:Male

Posted 11 July 2016 - 05:15 AM

There was a change in the format of the spell.ids table in EE.  In original BG, the first row of the table was a blank line.  In EE, the first row is "IDS V1.0".

 

Wheels of Prophecy's install script is trying to patch spell.ids to make sure it has all of the necessary spell entries used by the mod, and it is failing because that new first row isn't in the expected format (a number followed by a spell name).

 

There is a patch in the BiG World Fixpack that patches Wheels' code to avoid this error (notice how the patch skips row 0 for EE -- rows are counted from zero):

 

--- wheels\sfo\general\lib_macro.tpa Tue Feb  9 20:03:14 2016

+++ wheels\sfo\general\lib_macro2.tpa Sat Apr  2 22:12:54 2016
@@ -110,10 +110,14 @@
   LOCAL_SPRINT spelltype ""
   ACTION_IF !VARIABLE_IS_SET ~macro_read_in_spellcodes~ BEGIN
    OUTER_SPRINT ~macro_read_in_spellcodes~ ~~
-
+    ACTION_IF ENGINE_IS ~bgee bg2ee eet~ BEGIN
+       OUTER_SET ids_first_row = 1
+    END ELSE BEGIN
+       OUTER_SET ids_first_row = 0
+    END
     COPY_EXISTING ~spell.ids~ ~override~
          READ_2DA_ENTRIES_NOW ~spell_array~ 2
-         FOR (i=0;i<~spell_array~;i=i+1) BEGIN
+         FOR (i=ids_first_row;i<~spell_array~;i=i+1) BEGIN
            READ_2DA_ENTRY_FORMER ~spell_array~ i 0 ~spellcode~
            INNER_PATCH_SAVE ~spellcode~ ~%spellcode%~ BEGIN
               READ_ASCII 0x1 ~level~ (1)
@@ -324,7 +328,7 @@
                      DELETE_BYTES 0x0 3
                   END
                   TO_UPPER resource
-                  PATCH_IF !VARIABLE_IS_SET "RESREF_%resource%_LEVEL" BEGIN
+                  PATCH_IF !VARIABLE_IS_SET "RESREF_%resource%_LEVEL" && FILE_EXISTS_IN_GAME "%resource%.spl" BEGIN
                       INNER_ACTION BEGIN
                          COPY_EXISTING "%resource%.spl" "%workspace%"
                                LPF SPL_read_level RET "RESREF_%resource%_LEVEL"=value END
@@ -338,7 +342,7 @@
                      DELETE_BYTES 0x0 3
                   END
                   TO_UPPER resource
-                  PATCH_IF !VARIABLE_IS_SET "RESREF_%resource%_KIT_EFFECTS_ADD" BEGIN
+                  PATCH_IF !VARIABLE_IS_SET "RESREF_%resource%_KIT_EFFECTS_ADD" && FILE_EXISTS_IN_GAME "%resource%.spl" BEGIN
                       INNER_ACTION BEGIN
                         ACTION_IF FILE_EXISTS_IN_GAME "%resource%.spl" BEGIN
                          COPY_EXISTING "%resource%.spl" "%workspace%"
@@ -651,9 +655,14 @@
             SET  ~PROFICIENCY_RATE_%MACRO_class%~=MACRO_rate
        END
     BUT_ONLY
-    COPY_EXISTING profsmax.2da "%workspace%"
+ ACTION_IF ENGINE_IS ~bgee bg2ee eet~ BEGIN
+       OUTER_SET 2da_first_row = 1
+ END ELSE BEGIN
+       OUTER_SET 2da_first_row = 0
+ END
+     COPY_EXISTING profsmax.2da "%workspace%"
           READ_2DA_ENTRIES_NOW MACRO_prof_max_data 3
-          FOR (i=0;i<MACRO_prof_max_data;i+=1) BEGIN
+          FOR (i=2da_first_row;i<MACRO_prof_max_data;i+=1) BEGIN
             READ_2DA_ENTRY_FORMER MACRO_prof_max_data i 0 MACRO_class
             READ_2DA_ENTRY_FORMER MACRO_prof_max_data i 1 MACRO_first_level
             READ_2DA_ENTRY_FORMER MACRO_prof_max_data i 2 MACRO_other_level
 
The Fixpack also patches another section of Wheels' code for the same reason:
 
--- wheels\sfo\general\lib_iterate.tpa Tue Feb  9 20:03:14 2016
+++ wheels\sfo\general\lib_iterate2.tpa Sat Apr  2 22:04:26 2016
@@ -626,9 +626,11 @@
       COUNT_2DA_ROWS 2 rowcount
       FOR (i=0;i<rowcount;i+=1) BEGIN
           READ_2DA_ENTRY i 0 2 idscode
-          LPF idscode_to_spell INT_VAR idscode RET resref END
-          SPRINT list "%list% %resref%.spl"
-      END
+          PATCH_IF IS_AN_INT idscode BEGIN
+            LPF idscode_to_spell INT_VAR idscode RET resref END
+            SPRINT list "%list% %resref%.spl"
+          END 
+       END
    BUT_ONLY
    COPY_EXISTING_REGEXP "\(clab\|lu\).*\.2da" "%workspace%"
        COUNT_2DA_COLS colcount
 
If you use BWS (https://forums.beamd...ogy-for-windows) then the BiG World Fixpack patches will be applied automatically for you.  Otherwise you can download the Fixpack manually from https://github.com/BiGWorldProject/BiG-World-Fixpack/archive/master.zip (ignore the releases, they are out of date).  Unpack the contents of the BiG-World-Fixpack-master folder into your BG2 folder (BiG World Fixpack.bat should be at the same level as BGMain.exe).  Run the Fixpack bat(ch) script once after you unpack all of the other mods you plan to install, but before you run any of the setup-modname installers.  The Fixpack will detect which mod folders are there and will apply any patches it has for those mods.  Afterwards you can install the mods by running their setup installers as usual.
 
As for BG2 Fixpack, that was already incorporated into EE by Beamdog and does not need to be (should not be) installed manually by EE users.
 
As for Oversight, was that updated for EE?

BiG World Fixpack (community collection of mod fixes and compatibility patches, with user-friendly cross-platform script)

 

BiG World Setup (tool to automate best-practice installation of Infinity Engine mods on Windows, with conflict analysis)

Latest version:    https://bitbucket.or.../get/master.zip


#20 Pietato

Pietato
  • Members
  • 11 posts

Posted 11 July 2016 - 06:04 AM

Wow!  Cheers bro.  Will try it now.  Thank you for the quick response.

 

I only tested the fixpack to see if that fixed it, seeing as the mod creator said he did everything with it installed.  As for Oversight, I have no idea if it was updated for EE, but it is only one part of the mod which fails.


Edited by Pietato, 11 July 2016 - 06:08 AM.


#21 agb1

agb1
  • Modders
  • 410 posts
  • Gender:Male

Posted 11 July 2016 - 09:25 AM

Open a thread in the appropriate forum area with your debug log for Oversight and PM me a link to it if you want me to take a look.

BiG World Fixpack (community collection of mod fixes and compatibility patches, with user-friendly cross-platform script)

 

BiG World Setup (tool to automate best-practice installation of Infinity Engine mods on Windows, with conflict analysis)

Latest version:    https://bitbucket.or.../get/master.zip


#22 Pietato

Pietato
  • Members
  • 11 posts

Posted 11 July 2016 - 04:18 PM

Hmmmn...I cannot get it to work using the second method.  It says it has updated the mods and changed the 0 thing, but I get the same error when I go to install Wheels.  Do I need to do a fresh install, deleting everything after I have uninstalled?  Unfortunately I cannot use BWS because Steam is installed under programme files.



#23 Pietato

Pietato
  • Members
  • 11 posts

Posted 11 July 2016 - 08:21 PM

I did a completely fresh install, by deleting everything that was leftover after Steam deleted the local files.  Then I extracted each mod like you said, and ran the fix.  Loaded Wheel setup AND IT WORKED!!!!  Thank you so much.


Edited by Pietato, 11 July 2016 - 08:35 PM.


#24 ALIENQuake

ALIENQuake
  • Modders
  • 374 posts
  • Gender:Male
  • Location:Poland

Posted 11 September 2016 - 01:58 PM

Does this code:


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// BGEE unhelpfully adds a duplicate WIZARD_REMOVE_MAGIC ids entry for SPWI302
// and adds a number of SPCL entries but doesn't provide IDS entries for them
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

ACTION_IF enhanced_edition BEGIN
  COPY_EXISTING spell.ids override
    COUNT_2DA_ROWS 2 rowcount
    FOR (i=1;i<rowcount;i+=1) BEGIN
       READ_2DA_ENTRY i 1 2 ids
       PATCH_IF "%ids%" STRING_EQUAL "WIZARD_REMOVE_MAGIC" BEGIN
           REMOVE_2DA_ROW i 2
           SET i=rowcount
       END
    END
  BUT_ONLY
END

is still needed for EE 2.3 ?


You cannot have progress without changes...




Reply to this topic



  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users