Jump to content

guyudennis

Members
  • Posts

    82
  • Joined

  • Last visited

Posts posted by guyudennis

  1. Shameless borrowed from Kit Revisions:

    // YYS: adapted from kit_strref.tpa
    DEFINE_ACTION_FUNCTION ~GET_KIT_STRREF_EET~
      STR_VAR kit_name = ~~
      RET kit_strref_eet
    BEGIN
      OUTER_SET kit_strref_eet = 0 - 1
      ACTION_IF (STRING_LENGTH ~%kit_name%~ > 0) BEGIN
        COPY_EXISTING ~bgclatxt.2da~ ~override~
          TO_LOWER kit_name
          COUNT_2DA_COLS cols
          READ_2DA_ENTRIES_NOW rows cols
          FOR (row = 0; row < rows; ++row) BEGIN
            READ_2DA_ENTRY_FORMER rows row 0 kit
            TO_LOWER kit
            PATCH_IF (~%kit%~ STRING_EQUAL ~%kit_name%~) BEGIN
              READ_2DA_ENTRY_FORMER rows row 4 kit_strref_eet
              SET row = rows
            END
          END
        BUT_ONLY
      END
    END

    Then in tp2 I did this:

    ACTION_IF (FILE_EXISTS_IN_GAME ~bgclatxt.2da~) BEGIN // YYS: utilize bgclatxt.2da for eet games
      LAF ~GET_KIT_STRREF_EET~ STR_VAR kit_name = ~fighter~ RET kit_strref_eet END // YYS: get class/kit description string ref
      STRING_SET_EVALUATE kit_strref_eet @1 // YYS: update class/kit description
    END

    You need to do the same for clastxt.2da as well.

    If EET is your only focus, then that's all I believe. If you somehow also wants your mod to be compatible to individual EE games and also the classic games, then you first need to set up a few more checks so that it can fall back to kitlist.2da for classic games, then you need to take care of the Archer, whose codename changes from Feralan (in bg/sod) to Archer (in bg2/tob). OUTER_SPRINT a variable, set it to ~archer~ by default then if GAME_IS (~bgee sod~) set it to ~feralan~ instead...

  2. 2 hours ago, morpheus562 said:

    I am experiencing an issue where kit descriptions and names for modified or new kits are not displaying during the BGEE portion of the game but are showing correctly when entering BG2EE. I am not sure if this has been addressed or if a workaround has been discovered, but I haven't found an answer. I noticed this during previous versions of eet on patch v.2.5.x from Beamdog and again with the recent eet v13 running Beamdog patch v2.6.6.

    Does anyone know why these are not displaying correctly when playing EET? Thank you!

    When you patched kit descriptions, did you patch just kitlist.2da/clastext.2da? Did you also *additionally* patch bgclatxt? I believe in EET the former is used for the BG2/ToB portion of the game, while the latter is used for the BG1/SoD portion of the game. sodcltxt.2da is also there, but I don't know if it actually has any impact.

  3. 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.

  4. 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.

  5. @K4thos:

    Installing on MacOS failed with error message "Baldur's Gate II executable not found"; tried several times with the exact same error message.

    Taking a look at EET/EET.tp2, I think the problem might come from the block of code here:

    /////                                                  \\\\\
    ///// Exe patching                                     \\\\\
    /////                                                  \\\\\
    
    OUTER_SET found_exe = 0
    ACTION_IF ~%WEIDU_OS%~ STR_EQ ~win32~ BEGIN
    	ACTION_IF FILE_EXISTS ~Baldur.exe~ BEGIN
    		COPY ~Baldur.exe~ ~Baldur.exe~
    		AT_NOW ~%lua% %MOD_FOLDER%/lib/binary.lua Baldur.exe~
    		OUTER_SET found_exe = 1
    	END
    END ELSE ACTION_IF ~%WEIDU_OS%~ STR_EQ ~osx~ BEGIN
    	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~
    	END
    	ACTION_IF VARIABLE_IS_SET exec BEGIN
    		COPY ~%exec%~ ~%exec%~
    		AT_NOW ~%lua% %MOD_FOLDER%/lib/binary.lua %exec%~
    		OUTER_SET found_exe = 1
    	END
    END ELSE BEGIN //unix
    	ACTION_FOR_EACH file IN BaldursGateII BaldursGateII64 BaldursGateIIEnhancedEdition BaldursGateIIEnhancedEdition64 BEGIN
    		ACTION_IF FILE_EXISTS ~%file%~ BEGIN
    			COPY ~%file%~ ~%file%~
    			AT_NOW ~%lua% %MOD_FOLDER%/lib/binary.lua ./%file%~
    			OUTER_SET found_exe = 1
    		END
    	END
    END
    ACTION_IF found_exe = 0 BEGIN
    	FAIL ~Baldur's Gate II executable not found~
    END

    Where it was expecting to find ~BaldursGateIIEnhancedEdition.app/Contents/MacOS/BaldursGateIIEnhancedEdition~, while at least in my BaldursGateIIEnhancedEdition.app/Contents/MacOS/ folder, I have only "baldursgate-macos" and "libsteam_api.dylib" present.

    I don't have my mac with me at the moment, so I cannot test myself, but wanted to point it out anyways. Could it be Beamdog changed the name of the executable with the 2.6 upgrade?

  6. 17 minutes ago, subtledoctor said:

    I have no idea how this interacts with KR, since KR is neither finished nor supported.  FnP does not acknowledge KR and I don't know what the result will be if it is there. 

    FnP has a specific idea of a "Forest Ranger" and I think that is what will be applied in the ranger/druid multi.  It's possible it just applies whatever kit characteristics are in CLABRA01.2da (which would be the KR ranger), but it's also possible that the FnP rangers component wipes out and overwrites whatever is there.  You might try skipping FnP rangers and just install the multi druids... but I haven't tested it with KR, so no promises.

    EDIT - on rereading I see that the latter idea is in fact what you are contemplating.  I guess... worth a try?

    Thanks for the quick reply. Guess I shall give it a try.

×
×
  • Create New...