amaciel81 Posted August 8, 2015 Posted August 8, 2015 (edited) When I use HexToPseudocode over UIMissionControl_UFOAlert.UpdateData, I got the following output: //This script was generated by HexToPseudoCode decompiler for use with PatchUPK/PatcherGUI tool UPK_FILE = xcomstrategygame.upk OBJECT = UIMissionControl_UFOAlert.UpdateData : AUTO [REPLACEMENT_CODE] /*(0x0000/0x0000)*/ 0F 00 <.kAlert> 19 1B <GetMgr> 4A 16 [@] <XGMissionControlUI.m_kCurrentAlert> 00 ( 01 <XGMissionControlUI.m_kCurrentAlert> ) /*(0x002A/0x001E)*/ 0F 00 <.colorState> 45 19 19 19 2E <Class.XComHeadquartersGame> 19 12 20 <Engine.Engine> [@] <Engine.Engine.GetCurrentWorldInfo.ReturnValue> 00 ( 1C <Engine.Engine.GetCurrentWorldInfo> 16 ) [@] <Engine.WorldInfo.Game> 00 ( 01 <Engine.WorldInfo.Game> ) [@] <XComHeadquartersGame.GetGameCore.ReturnValue> 00 ( 1B <GetGameCore> 16 ) [@] <XGStrategy.GetHQ.ReturnValue> 00 ( 1B <GetHQ> 16 ) [@] <XGHeadQuarters.IsHyperwaveActive.ReturnValue> 00 ( 1B <IsHyperwaveActive> 16 ) [@] ( 2C 0A ) [@] ( 2C 03 ) /*(0x00BC/0x0088)*/ 1B <AS_SetTitle> 12 20 <XComGame.UIUtilities> [@] <XComGame.UIUtilities.GetHTMLColoredText.ReturnValue> 00 ( 1B <GetHTMLColoredText> EB 35 <XComGame.XGTacticalScreenMgr.TText.StrValue> <XComGame.XGTacticalScreenMgr.TText> 00 00 35 <XGMissionControlUI.TMCAlert.txtTitle> <XGMissionControlUI.TMCAlert> 00 00 19 1B <GetMgr> 4A 16 [@] <XGMissionControlUI.m_kCurrentAlert> 00 ( 01 <XGMissionControlUI.m_kCurrentAlert> ) 16 00 <.colorState> 4A 16 ) 16 /*(0x0137/0x00DF)*/ 1B <AS_SetContact> 12 20 <XComGame.UIUtilities> [@] <XComGame.UIUtilities.GetHTMLColoredText.ReturnValue> 00 ( 1B <GetHTMLColoredText> EB 35 <XComGame.XGTacticalScreenMgr.TLabeledText.strLabel> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 25 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 16 00 <.colorState> 4A 16 ) 35 <XComGame.XGTacticalScreenMgr.TLabeledText.StrValue> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 25 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 16 /*(0x01CE/0x0142)*/ 1B <AS_SetLocation> 12 20 <XComGame.UIUtilities> [@] <XComGame.UIUtilities.GetHTMLColoredText.ReturnValue> 00 ( 1B <GetHTMLColoredText> EB 35 <XComGame.XGTacticalScreenMgr.TLabeledText.strLabel> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 26 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 16 00 <.colorState> 4A 16 ) 35 <XComGame.XGTacticalScreenMgr.TLabeledText.StrValue> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 26 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 16 /*(0x0265/0x01A5)*/ 1B <AS_SetClass> 12 20 <XComGame.UIUtilities> [@] <XComGame.UIUtilities.GetHTMLColoredText.ReturnValue> 00 ( 1B <GetHTMLColoredText> EB 35 <XComGame.XGTacticalScreenMgr.TLabeledText.strLabel> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 2C 02 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 16 00 <.colorState> 4A 16 ) 35 <XComGame.XGTacticalScreenMgr.TLabeledText.StrValue> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 2C 02 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 16 /*(0x02FE/0x020A)*/ 07 [@label_0x0571] 9A 00 <.colorState> 2C 0A 16 /*(0x030E/0x0216)*/ 1C <Core.Object.ParseStringIntoArray> 35 <XComGame.XGTacticalScreenMgr.TLabeledText.StrValue> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 2C 05 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 00 <.speciesList> 1F <%t "//"> 27 16 /*(0x0358/0x0244)*/ [#label_0x0358] /*(0x0358/0x0244)*/ 07 [@label_0x044C] 96 00 <.I> 36 00 <.speciesList> 16 /*(0x0370/0x0254)*/ 07 [@label_0x03EF] 96 00 <.I> 2C 06 16 /*(0x0380/0x0260)*/ 0E <Core.Object.ConcatEqual_StrStr.ReturnValue> 61 42 00 <.formattedSpecies1> 10 A5 00 <.I> 16 00 <.speciesList> 16 /*(0x03AA/0x027A)*/ 07 [@label_0x03EC] 82 96 00 <.I> 2C 06 16 18 [@] ( 96 00 <.I> 36 00 <.speciesList> 16 16 ) /*(0x03D4/0x0298)*/ 0E <Core.Object.ConcatEqual_StrStr.ReturnValue> 61 42 00 <.formattedSpecies1> 1F <%t " "> 16 /*(0x03EC/0x02A8)*/ [#label_0x03EC] /*(0x03EC/0x02A8)*/ 06 [@label_0x0449] /*(0x03EF/0x02AB)*/ [#label_0x03EF] /*(0x03EF/0x02AB)*/ 0E <Core.Object.ConcatEqual_StrStr.ReturnValue> 61 42 00 <.formattedSpecies2> 10 A5 00 <.I> 16 00 <.speciesList> 16 /*(0x0419/0x02C5)*/ 07 [@label_0x0449] 96 00 <.I> 36 00 <.speciesList> 16 /*(0x0431/0x02D5)*/ 0E <Core.Object.ConcatEqual_StrStr.ReturnValue> 61 42 00 <.formattedSpecies2> 1F <%t " "> 16 /*(0x0449/0x02E5)*/ [#label_0x0449] /*(0x0449/0x02E5)*/ 06 [@label_0x0358] /*(0x044C/0x02E8)*/ [#label_0x044C] /*(0x044C/0x02E8)*/ 1B <AS_SetHyperwaveData> 01 <@m_strHyperwavePanelTitle> EB 35 <XComGame.XGTacticalScreenMgr.TLabeledText.strLabel> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 2C 03 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 16 35 <XComGame.XGTacticalScreenMgr.TLabeledText.StrValue> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 2C 03 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> EB 35 <XComGame.XGTacticalScreenMgr.TLabeledText.strLabel> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 2C 04 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 16 35 <XComGame.XGTacticalScreenMgr.TLabeledText.StrValue> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 2C 04 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> EB 35 <XComGame.XGTacticalScreenMgr.TLabeledText.strLabel> <XComGame.XGTacticalScreenMgr.TLabeledText> 00 00 10 2C 05 35 <XGMissionControlUI.TMCAlert.arrLabeledText> <XGMissionControlUI.TMCAlert> 00 00 00 <.kAlert> 16 00 <.formattedSpecies1> 00 <.formattedSpecies2> 16 /*(0x0571/0x039D)*/ [#label_0x0571] /*(0x0571/0x039D)*/ 1B <UpdateButtonText> 16 /*(0x057B/0x03A7)*/ 04 0B /*(0x057D/0x03A9)*/ 53 When I try to apply this code, I got the following error:PatchUPK Opening package ... Package file: /home/alexandre/.local/share/Steam/SteamApps/common/XCom-Enemy-Unknown/xew/xcomgame/cookedpcconsole/xcomstrategygame.upk Package opened successfully! Searching for object named UIMissionControl_UFOAlert.UpdateData ... Object found! Unresolved reference: [@label_0x0358] Invalid/empty data! Execution stopped at #2 command named [REPLACEMENT_CODE]. However, clearly the reference to label_0x0358 exists, it's in 8th line of replacement code block. Someone knows why it is doing this? Regards, Edited August 8, 2015 by amaciel81
SpazmoJones Posted August 8, 2015 Posted August 8, 2015 Yes it's a bug. The <% t "//"> text is being treated as a comment. Change it to plain hex. 2f 2f 00
amaciel81 Posted August 8, 2015 Author Posted August 8, 2015 Yes it's a bug. The <% t "//"> text is being treated as a comment. Change it to plain hex. 2f 2f 00 Pretty obvious, now I feel like a moron. :pinch: Thank you, Spazmo.
wghost81 Posted August 9, 2015 Posted August 9, 2015 Yes, it actually is a bug. Only reliable fix for this is to introduce escape characters, but I still haven't implemented these.
Zyxpsilon Posted August 9, 2015 Posted August 9, 2015 Implement'--'ing? There was this GUI stuff for the whole set of UPK tools you once talked about. Do you still have plans for *IT*?? ;)
wghost81 Posted August 10, 2015 Posted August 10, 2015 Yes I still have a project pending named XCOMModUtil. It's all-in-one thing with GUI support and some bugfixes/enhancements. I had big plans for this utility, but then Witcher 3 got me completely distracted :) and when I returned to modding XCOM Firaxis announced XCOM2. Kinda discouraged me from returning to this and I still can't bring myself to continue my work, sorry. :( I mean, I'm happy about XCOM2 and all the new modding possibilities, but still.
Zyxpsilon Posted August 10, 2015 Posted August 10, 2015 (edited) Yep -- the trick with market studies is that to generate interest, anyone should find real potential for worthy development & a target (real and as wide as possible) customer base. I also highly suspect XCom2 will grab a fair chunk of all our leasure times along with most Modding projects we ever wished to work on.Although i must say that two major things are currently occupying my mind -- LW-Pedia & Campaign-Summary. Sooooo happy right now about some results we're getting... still, there's no way to predict if & when something will reach release status.I just hope we'll get enough done *BEFORE* the catastrophic tornado (in a good sense) of a new gameplay brings us to our knees while we also figure out the juicy SDK details and how it should revolutionize our customization grasp over mucho-more-gringo-fun to deal with. We also have to remember the tragedy of Hex-Editing restrictions (EU+EW+LW) and the pain vs gain ratio we all had to cope with & against. Thus... if you ever feel the need to restart work on your "XComModUtil" stuff, good luck and i'll be sure to check out for these tools. I believe some of us will *STILL* plan to enhance LW even further -- with your help, we'll be 150+200% more efficient at anything... grab a shovel, we've got work to do. All the best coders are here. Including our precious phantom from frozen solid Russia. I've always got this motto when preparing for projects -- DO IT!! Now. :wink: Edited August 10, 2015 by Zyxpsilon
wghost81 Posted August 10, 2015 Posted August 10, 2015 (edited) Thanks :smile: [ Although it's hot as hell here right now :smile: ] Edited August 10, 2015 by wghost81
Recommended Posts