doublesnark Posted August 22, 2021 Share Posted August 22, 2021 Hello Friends, I'm doing some development at the moment with Scaleform in Fallout 4. It appears to me that Bethesda used either Scaleform 4.2 or Scaleform 4.4 which I was able to obtain the partial source code for. As people familiar with this topic will know, Bethesda used 2 different interfaces to communicate between the game engine(seems to be Havok?) and Scaleform itself. These two interfaces are: BGSExternalInterface.call(<function name here>, <arguments here) and a direct use of what Scaleform referes to as "Function Objects", which are essentially the Scaleform Actionscript VM exposing the external program(in this case the game engine) directly. I believe the well-known BGSCodeObj is a use of this technique to expose internal engine calls. My question is for people who have done the reversing and mod development for Scaleform apps in Fallout 4: Other than simply decompiling the interfaces and looking examples of how BGSCodeObj functions are used, how are you able to determine the number and type of arguments for each call? I have done some reversing and see a large number of functions available. This screenshot is only a fraction: If I can figure out the type and number of arguments to call these functions from, I believe we may be able to greatly enhance our abilities as modders. I can simply continue reverse engineering fallout 4 and figure it out myself, but this will take time and I'm wondering if anybody already has answers to this question. Thank you,Snark Link to comment Share on other sites More sharing options...
HeyYou Posted August 23, 2021 Share Posted August 23, 2021 Maybe the F4SE team? (fallout 4 script extender) Link to comment Share on other sites More sharing options...
doublesnark Posted August 25, 2021 Author Share Posted August 25, 2021 Thanks HeyYou, after some more time in front of ghidra I have found the location of many of these functions. I've not found all yet but I'm on my way! I will update this thread at a later date with a detailed mapping of every function FO4 exposes to Scaleform. Link to comment Share on other sites More sharing options...
Recommended Posts