Still can't find any of the native middleware code (I'm calling it middleware as I believe it sits between a lot of the unrealscript to actionscript). Perhaps one could decompile the native routines from ME2/3 and see if any clues can be found there.Īll in all, this is looking like a huge challenge, and no quick results can be expected, but in any case big props for investing the time you have so far! I haven't looked into how the unrealscript interacts with the actionscript in the swf UI's, but there's bound to be something.
This will take a significant time effort though.Ībsolute worst-case we could try to recreate the functions in unrealscript only, but that will be a challenge indeed. If that does not turn up anything it might be worth it to invest some time decompiling the exe further, looking up where the game has the RegisterGNatives and ENatives functions, and check that a statically or at runtime to see if anything relevant is present.
So You might try a search for a partial string like execHandleDPadRightButtonOn, if that was the native function you were looking for. So to check for the native c++ implementations, what you'd want to do is search for any ASCII or Unicode string that is the name of the function but with some prefixes, always exec. Unreal matches any native functions without a native index by name, and those names are baked in the executable. If could be worth looking for though, if the actual native implementations are still there then it's just a matter of recreating the bindings in the content files, and calling those. It seems that during the build process only the functions used by the content are actually built, and the rest excluded. Unfortunately the odds are that the native functions are not present on the c++ side either, if it works like most unreal games. Anyone got any experience with Native unrealscript functions? I know decompiling C++ can be somewhat troublesome, but will need to poke around in the native code to make progress.
I could try to recreate the unrealscript parts, although I'm not sure how to link up the native code (or even if that native code exists). It looks as though nearly all the PowerWheel functionality is handled within the C++ code, as I can't find it. There is a good chance that if the handlebuttons functions have been stripped from the Unrealscript then the C++ code might have been stripped as well (which would be pretty bad). Which don't bring up anything with the XBOX swf file.
This function and the native functions for the button clicks look to be removed from the PC version. It looks as though in the XBOX version there was a HandleButton and a native function which passed all the button clicks down to C++ code (HandleDPadRightButtonOn, HandleDPadRightButtonOff etc). īIOC_Base.u -> BioPlayerInput is where most of the action is. You will need to decompress them first with. This will allow you load and decompile the ME1 pc files and xbox files (althougth with a few exceptions in some of the decompiles). I spent a bit of time trying to get UE Explorer to work with ME1. This does switch the HUD over to the XBOX version (health bar, medi-gel etc) however the powerwheel and weaponwheels do not work Essentially this switches over to using ME_HUD.swf which is present and endian correct in the PC release, unlike ME2/ME3. HandlerLibrary=(Tag=HUD,HandlerClass="BIOC_Base.BioSFHandler_HUD",PanelResource="GUI_SF_HUD.ME_HUD",UseEdgeAA=true,StrokeStyle=SF_MSS_Normal,CurvePixelError=1) HandlerLibrary=(Tag=HUD,HandlerClass="BIOC_Base.BioSFHandler_HUD",PanelResource="GUI_PC_ME_HUD.PC_ME_HUD",UseEdgeAA=true,StrokeStyle=SF_MSS_Normal,CurvePixelError=1) To change to the xbox version you need to change the BIOGuiResources.ini file:
The first thing I looked at was the HUD as the mod currently uses the PC version (For a good reason it would turn out): This operatives with about half of the xbox 360 interfaces and for the rest relies on JoyToKey. So with Moonshine away I've taken a quick look at mass effect 1 in terms of trying to improve the controller mod from here.