Jump to content

EET v13.4 released


Recommended Posts

4 hours ago, K4thos said:

please provide exact relative patch to game binary (including filename), starting from directory with chitin.key.

most likely it can. The file is just not found in the expected directory.

I don't think it's an issue of relative file path, but rather an issue of 2.6 changing the name of the executable itself (from "BaldursGateIIEnhancedEdition" to "BaldursGate-macOS")

I changed Lines 2535 to 2538 from this:

	ACTION_IF FILE_EXISTS ~BaldursGateIIEnhancedEdition.app/Contents/MacOS/BaldursGateIIEnhancedEdition~ BEGIN
		OUTER_SPRINT exec ~./BaldursGateIIEnhancedEdition.app/Contents/MacOS/BaldursGateIIEnhancedEdition~
	END ELSE ACTION_IF FILE_EXISTS ~../MacOS/BaldursGateIIEnhancedEdition~ BEGIN
		OUTER_SPRINT exec ~../MacOS/BaldursGateIIEnhancedEdition~

to this, and it installed just perfectly:

	ACTION_IF FILE_EXISTS ~BaldursGateIIEnhancedEdition.app/Contents/MacOS/BaldursGate-macOS~ BEGIN
		OUTER_SPRINT exec ~./BaldursGateIIEnhancedEdition.app/Contents/MacOS/BaldursGate-macOS~
	END ELSE ACTION_IF FILE_EXISTS ~../MacOS/BaldursGate-macOS~ BEGIN
		OUTER_SPRINT exec ~../MacOS/BaldursGate-macOS~

Now that I have my Mac, I also verified with a backup of 2.5, and can confirm the aforementioned name change indeed. Why Beamdog wanted to change that I don't know.

I think if you want to make the installer compatible with both 2.5 and 2.6, you could either append my changed lines to the original lines, or do a ACTION_FOR_EACH?

Sorry, I probably should have reported my results earlier.

Link to comment

After changing the executable name EET installs without errors. Unfortunately the program dies:

Exception Type:        EXC_BAD_ACCESS (Code Signature Invalid)
Exception Codes:       0x0000000000000032, 0x0000000100c0ddb0
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace CODESIGNING, Code 0x2

Obviously macos (BigSur) doesn't allow the execution of modified binaries. I don't know if there is a way around this check.

Edited by StefanO
Link to comment
1 hour ago, StefanO said:

After changing the executable name EET installs without errors. Unfortunately the program dies:




Exception Type:        EXC_BAD_ACCESS (Code Signature Invalid)
Exception Codes:       0x0000000000000032, 0x0000000100c0ddb0
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace CODESIGNING, Code 0x2

Obviously macos (BigSur) doesn't allow the execution of modified binaries. I don't know if there is a way around this check.

Thanks for testing. Looks like @subtledoctor was right than. In such case I will remove binary patching in next release and achieve the same outcome via EET_end resource patching (bianry patching only prevents some hardcoded spells and movies from triggering, so it should be doable once all other mods modifing said files are already installed). This should also help playing on mobile platforms where there is no way to patch executable file.

Edited by K4thos
Link to comment
22 hours ago, StefanO said:

After changing the executable name EET installs without errors. Unfortunately the program dies:


Exception Type:        EXC_BAD_ACCESS (Code Signature Invalid)
Exception Codes:       0x0000000000000032, 0x0000000100c0ddb0
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace CODESIGNING, Code 0x2

Obviously macos (BigSur) doesn't allow the execution of modified binaries. I don't know if there is a way around this check.

Can confirm here (Catalina) as well. I installed EET this time only to look at string references, so did not bother to actually *run* the game after successful installation. My bad.

Link to comment
  • updated Russian translation by Arcanecoast Team
  • support for Russian SoD fan translation mods installed on BG:EE
  • fixed The Seven Statues achievement (triggered during BG1)
  • fixed worldmap export function (invalid strrefs)
  • fixed BG1NPC compatibility patch
  • fixed chargen biography (not showing up for some classes)
  • fixed EET_modConverter tool (auto cpmvars conversion skipping all files)
  • added EET_PLATFORM_CONVERSION function to EET_functions.tph
  • removed binary (executable) patching (fixes installation on Mac OS and makes the mod compatible with mobile devices)
Link to comment

I haven't downloaded the new version yet. But at home he was correcting something. In some script, I don't remember exactly, there was a variable name bg_plot instead of bd_plot. And you can also change the ScriptName for Sendai from BG1. Otherwise, Sendai's murder figures in the achievements already in the first part. It doesn't interest me, but suddenly it matters to someone.

Link to comment
On 7/6/2021 at 6:21 AM, tipun said:

I haven't downloaded the new version yet. But at home he was correcting something. In some script, I don't remember exactly, there was a variable name bg_plot instead of bd_plot. And you can also change the ScriptName for Sendai from BG1. Otherwise, Sendai's murder figures in the achievements already in the first part. It doesn't interest me, but suddenly it matters to someone.

first problem was fixed in 13.0, second in 13.1

edit: tiny hotfix update is now available, due to this problem: https://forums.beamdog.com/discussion/comment/1172479#Comment_1172479

edit2: and another one, again related only to code used by SotSC: https://www.weaselmods.net/showthread.php?tid=614&pid=995#pid995

Edited by K4thos
Link to comment

@K4thos It looks like removing the binary patching caused some issues. The game crashes reliably for me whenever the DAYNITE or NITEDAY animations are triggered. The game executable probably chokes on the fake video files.

If you don't want to revert to binary patching then using a valid dummy video file with a single black frame works well enough to satisfy the game engine. The game screen may flicker shortly, but it's barely noticeable. You could generate these files dynamically since ffmpeg is already part of the package:

ffmpeg -f lavfi -i color=c=black:s=1280x720:r=15/1 -c:v libvpx -t 1ms -f webm daynite.wbm
ffmpeg -f lavfi -i color=c=black:s=1280x720:r=15/1 -c:v libvpx -t 1ms -f webm niteday.wbm

 

Edit: It seems to work even better (and without any flickering) when using a transparent dummy video file:

ffmpeg -f lavfi -i color=c=black@0.0:s=1280x720:r=15/1 -pix_fmt yuva420p -t 1ms -f webm daynite.wbm
ffmpeg -f lavfi -i color=c=black@0.0:s=1280x720:r=15/1 -pix_fmt yuva420p -t 1ms -f webm niteday.wbm

 

Edited by argent77
Link to comment

thank you, @argent77, new release is up on github.

The ffmpeg version I've bundled with EET is quite old and doesn't support arguments you've mentioned (niether time format specified in ms, nor transparency). After checking ffmpeg 4.4 it turns out it weights 3x as much as the old one, so after updating the tool, EET package size would almost double. For this reason I've included dummy file already converted with your code in the package instead.

-------------------------------

There is no need to re-install, problem can be fixed by extracting files attached to this post into movies directory. Sorry for inconvenience.

movies.zip

Edited by K4thos
Link to comment

A polish request I have here - could we have the BG1/SoD NPC voiceovers fixed in EET? 2.6 expanded on the voice slots and the 8 slots after BIO can be used for it. (what NearInfinity shows as BG2EE_SELECT_RARE1-4 as the former four works as the annoyed multiclick responses - and what it lists as BGEE_ACTION4-7 works as simple action 4-7).

This also affects the Beamdog PC voices imported over to a lesser extent.

EDIT/UPDATE - It probably would be better if this would be done during the BG resource import stage because while this affects some mods like Chatty Imoen and NPC mods, adding special-casing for this into EET_End would probably complicate things further (especially if the mods claim EET compatibility but does install themselves with the same voice issues the OG NPCs have now). I'll go through the compatible BG1 NPC mods at one point to have them updated with this.

Edited by Graion Dilach
Updated with implementation suggestion.
Link to comment

Bug report by @Graion Dilach here but as it's a bug in the default EE UI it can be interesting to fix it in EET.

The 2.6 patch adds new voices (AoN) and Beamdog uses a custom sorting function (compareCustomSound) in the UI.menu file to put these voices at the end of the list. But this function is buggy (invalid order function for sorting). They didn't notice this as the bug only happens with EET.

I reimplement the function in LeUI like this (you can use this in EET if you want):

function compareCustomSound(s1, s2)
	-- DEFAULT, then normal alphabetically, then AoN alphabetically (result must be strictly less than)
	if (s1.sound == "DEFAULT" and s2.sound ~= "DEFAULT") then
		return true
	elseif (s2.sound == "DEFAULT" and s1.sound ~= "DEFAULT") then
		return false
	elseif (string.sub(s1.sound, 1, 4) == "BDTP" and string.sub(s2.sound, 1, 4) ~= "BDTP") then
		return false;
	elseif (string.sub(s2.sound, 1, 4) == "BDTP" and string.sub(s1.sound, 1, 4) ~= "BDTP") then
		return true;
	end
	return s1.sound < s2.sound
end

 

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...