Jump to content


Photo

quick quesiton about BGEE and BG2EE under BWP


  • Please log in to reply
26 replies to this topic

#21 agb1

agb1
  • Member
  • 1623 posts

Posted 27 January 2016 - 11:51 AM

Just the widescreen-3.07 should work.


Edited by agb1, 27 January 2016 - 01:12 PM.

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 K4thos

K4thos
  • Modder
  • 315 posts

Posted 27 January 2016 - 12:01 PM

so BWS will probably run fine if you start it with right mouse button -> "Run as administrator" but it's still a major annoyance. If it's possible I would suggest switching current Big World Fixpack code entirely to weidu commands and run the patcher executable with AT_NOW.

Is it possible with WeiDU commands to do a recursive iteration and apply conditional actions for every file and folder in a particular directory (fixpack top level), without copying them?  I guess you could do it with an INNER_ACTION inside a COPY of the whole fixpack folder with an IF expression that is never true...?

to be honest I don't know what "recursive iteration and apply conditional actions" means (I'm not really a programmer and my English is basic) but if you post here what exactly has to be typed in order to force the patch.exe tool to do it's job than I can write universal weidu code that will do the patching automatically no matter what is placed within directories. Code that will work with windows, MAC, Linux, and can be unistalled. Batch files implementation is wrong approach, imo.


Edited by K4thos, 27 January 2016 - 12:17 PM.


#23 agb1

agb1
  • Member
  • 1623 posts

Posted 27 January 2016 - 12:54 PM

Simple case.  We have these files in the following folder structure:
 
C:\BG2\Fixpack\
C:\BG2\Fixpack\bg2_tweaks\
C:\BG2\Fixpack\bg2_tweaks\setup-bg2_tweaks.tp2.patch
C:\BG2\Fixpack\bg2_tweaks\faster_start.tpa.patch
C:\BG2\Fixpack\bg2_tweaks\movie02c.baf.patch
 
C:\BG2\bg2_tweaks\
C:\BG2\bg2_tweaks\setup-bg2_tweaks.tp2
C:\BG2\bg2_tweaks\lib\faster_start.tpa
C:\BG2\bg2_tweaks\baf\movie02c.baf
C:\BG2\bg2_tweaks\
 
For each patch file, we need to run "patch -p0 -l --no-backup-if-mismatch -i PATCHFILE" in the folder that contains the file we want to patch.
 
The Fixpack script doesn't try to figure out which folder contains the target file.  Instead, it just runs the patch command for EVERY patchfile in EVERY subfolder of the target mod.  Each patch file contains the name of the target file, so the patch command has no effect unless the target file is there.
 
Here is an example of what the Fixpack currently does:
 
In C:\BG2\bg2_tweaks\ run "patch -p0 -l --no-backup-if-mismatch -i setup-bg2_tweaks.tp2.patch" // will patch the file
In C:\BG2\bg2_tweaks\ run "patch -p0 -l --no-backup-if-mismatch -i faster_start.tpa.patch" // will do nothing, no matching file here
In C:\BG2\bg2_tweaks\ run "patch -p0 -l --no-backup-if-mismatch -i movie02c.baf.patch" // will do nothing, no matching file here
 
In C:\BG2\bg2_tweaks\lib\ run "patch -p0 -l --no-backup-if-mismatch -i setup-bg2_tweaks.tp2.patch" // will do nothing, no matching file here
In C:\BG2\bg2_tweaks\lib\ run "patch -p0 -l --no-backup-if-mismatch -i faster_start.tpa.patch" // will patch the file
In C:\BG2\bg2_tweaks\lib\ run "patch -p0 -l --no-backup-if-mismatch -i movie02c.baf.patch" // will do nothing, no matching file here
 

In C:\BG2\bg2_tweaks\baf\ run "patch -p0 -l --no-backup-if-mismatch -i setup-bg2_tweaks.tp2.patch" // will do nothing, no matching file here

In C:\BG2\bg2_tweaks\baf\ run "patch -p0 -l --no-backup-if-mismatch -i faster_start.tpa.patch" // will do nothing, no matching file here
In C:\BG2\bg2_tweaks\baf\ run "patch -p0 -l --no-backup-if-mismatch -i movie02c.baf.patch" // will patch the file
 
This is the minimum that we need to do:
 
In C:\BG2\bg2_tweaks\ we need to run "patch -p0 -l --no-backup-if-mismatch -i setup-bg2_tweaks.tp2.patch"
In C:\BG2\bg2_tweaks\lib\ we need to run "patch -p0 -l --no-backup-if-mismatch -i faster_start.tpa.patch"
In C:\BG2\bg2_tweaks\baf\ we need to run "patch -p0 -l --no-backup-if-mismatch -i movie02c.baf.patch"

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


#24 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5155 posts

Posted 27 January 2016 - 01:00 PM

Great and thanks Imp.  In my downloads directory I have three files that might be what I'm looking for:
widescreen-latest.zip
widescreen-master.zip
widscreen-v3.07.exe
Any or all? 

Just the widescreen-3.07 should work.

Yep.


Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#25 Mike1072

Mike1072
  • Modder
  • 539 posts

Posted 27 January 2016 - 02:17 PM

Here's some code that will give you all of the .patch files in a directory, searching recursively.
 
DEFINE_ACTION_FUNCTION ~PATCH_ALL_FILES~
  STR_VAR
    dir = ~~ // the directory to start searching for files
BEGIN
  OUTER_TEXT_SPRINT file_arr ~%dir%_files~
  OUTER_TEXT_SPRINT folder_arr ~%dir%_folders~
  
  GET_FILE_ARRAY EVAL ~%file_arr%~ ~%dir%~ ~^.*\.patch$~
  GET_DIRECTORY_ARRAY EVAL ~%folder_arr%~ ~%dir%~ ~^.*$~
  
  ACTION_PHP_EACH ~%file_arr%~ AS ind => file BEGIN
    // patch ~%file%~ here
    PRINT ~%file%~
  END
  
  ACTION_PHP_EACH ~%folder_arr%~ AS ind => folder BEGIN
    ACTION_IF (~%folder%~ STRING_MATCHES_REGEXP ~^.*/\.\.?$~ != 0) BEGIN // exclude /. and /..
      LAF ~PATCH_ALL_FILES~ STR_VAR dir = EVAL ~%folder%~ END
    END
  END
END

LAF ~PATCH_ALL_FILES~ STR_VAR dir = ~Fixpack~ END


#26 K4thos

K4thos
  • Modder
  • 315 posts

Posted 27 January 2016 - 03:52 PM

Mike was faster, so no work for me. I'm looking forward for a new BWF than :)



#27 agb1

agb1
  • Member
  • 1623 posts

Posted 27 January 2016 - 03:57 PM

Thanks!  I will add this to the to-do list...

 

I hadn't realized before, but the WeiDU documentation that comes up first on Google is outdated:  http://www.weidu.org/WeiDU/README-WeiDU.html

 

Bookmarking the new documentation at http://www.weidu.org/~thebigg/README-WeiDU.html for future reference.


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