Jump to content


Sederien

Member Since 29 Dec 2008
Offline Last Active Jan 31 2014 10:30 AM

Posts I've Made

In Topic: BiG World Setup (an attempt to update the program)

24 January 2014 - 03:02 PM

Okay, continue to fight with the wrong music in the game. The current BWS was tested only on a minimal version of the installation and everything seems worked fine.

Added:
  • Showing components for some old mods

Fixed:

  • Problem with BGTMusic installation

Updated:

  • CoM Encounters EE and UB

 

Things do indeed seem to have fixed themselves with the newest install scripts. I have the correct tavern and battle music in BG1 again!

 

Thanks for your work on this, Quiet. I'll report back if anything goes amiss, but a relatively basic install with both ToBex and the full BGT Music seem to work fine in initial testing.


In Topic: BGTmusic issues

23 January 2014 - 03:16 PM

...

 

Did it work/fix the issue or is the game still playing the wrong music at the wrong time? :huh:


In Topic: BGTmusic issues

23 January 2014 - 02:28 PM

I am planning to try what I mentioned in my last post (with BWS) this weekend. If you want to try it earlier and are using BWS, when you start the process and it notifies you that pre-installation is about to begin, find the Weidu.exe file and replace it with a version 232.

 

Then BWS uses that file to replace all of the former ones:

 

	If FileExists($g_GameDir&'\WeiDU\WeiDU.exe') Then
		GUICtrlSetData($g_UI_Static[6][2], _GetTR($Message, 'L3')); => copy WeiDU
		$Setup=_FileSearch($g_GameDir, '*.exe')
		ReDim $Setup[$Setup[0]+2]; => make sure to add WeiDU itself so it exists
		$Setup[0]+=1
		$Setup[$Setup[0]]='WeiDU.exe'
		$Size=FileGetSize($g_GameDir&'\WeiDU\WeiDU.exe')
		For $s=1 to $Setup[0]
			If StringRegExp($Setup[$s], '(?i)-{0,1}(setup)-{0,1}.*exe\z|WeiDU.exe') Then
				ProcessClose($Setup[$s])
				While 1
					If $Size = FileGetSize($g_GameDir&'\'&$Setup[$s]) Then ExitLoop
					$Test=FileCopy($g_GameDir&'\WeiDU\WeiDU.exe', $g_GameDir&'\'&$Setup[$s], 1)
					If $Test = 1 Then ExitLoop
					$Test=_Misc_MsgGUI(3, _GetTR($g_UI_Message, '0-T1'), _GetTR($Message, 'L9')&'||'& StringFormat(_GetTR($Message, 'L10'), $Setup[$s], $Type), 2); => cannot continue without current WeiDU
					If $Test = 1 Then Exit
				WEnd
			EndIf
		Next
		If Not StringInStr(FileRead($g_GameDir&'\WeiDU.log'), 'WeiDU.tp2') Then 
			$PID=Run('"'&$g_GameDir&'\WeiDU\WeiDU.exe" --exit', $g_GameDir, @SW_HIDE, 8); read the version-number directly from weidu
			ProcessWaitClose($PID)
			$Version=StringRegExp(StdoutRead($PID), '\d{5}\r\n', 3)
			If IsArray($Version) Then _Install_CreateTP2Entry('WeiDU', StringTrimRight($Version[0],2))
		EndIf
	Else
		$Site=IniRead($g_MODIni, 'WeiDU', 'Link', '')
		_Misc_MsgGUI(4, _GetTR($g_UI_Message, '0-T1'), _GetTR($Message, 'L9')&'||'& StringFormat(_GetTR($Message, 'L11'), $Type, $Site, $g_GameDir&'\WeiDU\WeiDU.exe')); => need extracted WeiDU-archive
		Exit
	EndIf

I am NOT certain exactly when this is run, but if you can replace the Weidu.exe just before this step in the installation, it will ensure ALL of the setups are the same version old or not.


In Topic: BGTmusic issues

23 January 2014 - 08:21 AM

Right... As it I understand the BWS installation it does the following:

 

1) Selection of mods/components

2) Download of mods

3) Extraction

4) Pre-installation setup (update of all setups, some checking stuff)

5) Installation (--noautoupdate applied to ALL, it's been done in step 4)

6) Finishing steps (generalized biffing, etc.)

 

As a note, in step 4, it would seem as though BWS compares all of the setups to a single Weidu.exe in a folder and manually replaces them with the right names (instead of relying on autoupdates to ENSURE each version is up to date). As such, if one wanted to make all of the installs v232, even considering the notes pro5 mentioned, it seems like one could just replace that one file at some point between steps 3/4. Or, as suggested but not yet tested, one replaces Setup-BGTmusic.exe between steps 4 and 5 (along with any other potential music adding mods).


In Topic: BGTmusic issues

23 January 2014 - 07:40 AM

I can't use the old version of weiDU, because some mods do already have the newest version. So if I replace the new weidu with the old one in the downloads, it won't matter, because some mods do have the newest version and weidu will update anyway. Is there another solution?

 

That's what the --noautoupdate does. It prevents Weidu from updating even if there are newer versions around.

 

I think the easiest solution would be to make the .exe from the archive read-only. Right-click the .exe, set the read-only file attribute, click OK. It should fail to auto-update then.

 

And I don't think this requires any other drastic action such as changing WeiDU ADD_MUSIC behavior - the change in v233 was logical and is actually useful, making it easier for "normal" mods to add their music into the game without creating duplicate entries in the .2da if the mus file already exists (i.e. added by another mod). Some other existing mods, or mods currently in development may rely on that behavior, and changing it could break more than just BGTMusic.

 

It is not a normal situation for a mod to add duplicate entries for the same MUS file to the songlist, in fact it's a very strange solution, I guess it was just chosen as a convenient shortcut. The ARE files should have been changed to refer to the same existing 2da entry instead.

 

Oh definitely. This isn't a BWS / Weidu problem. This is a BGT-Music issue (and other older music adding mods) for certain. I'm just hoping we can find a workaround solution until the issue is properly fixed for all those of us who want to continue using BGT since the music installs broke sometime last month.

 

(Though I do wonder if it's really harmful for the system to have duplicate entries in the songlist.2da... the game references music files by number, not by name, yes? In which case, the current Weidu system is "cleaner" but not necessarily better?)