Jump to content

Superd22

Premium Member
  • Posts

    15
  • Joined

  • Last visited

Nexus Mods Profile

About Superd22

Superd22's Achievements

Rookie

Rookie (2/14)

0

Reputation

  1. You're gonna need the XCOM2 SDK (XCOM ModBuddy). This is a good place to start : http://forums.nexusmods.com/index.php?/topic/3801885-proposed-sticky-thread-modding-resources/ :)
  2. He meant "in the code" as in "in the unrealscript code" not in the INI ;) That is definitely something you will not be able to do by just editing ini files.
  3. For everyone having related issues, delete C:\Program Files (x86)\Steam\steamapps\common\XCOM 2 SDK\Development\Src\ It will be copied from SrcOrg and you'll be fine (mostly)
  4. Beware of 'Names' versus "Strings" these functions expect names ;)
  5. var UIPanel AnyPanel; // This will spawn the icon on your pannel and call it "MyIconName" (works on UIScreen too since UIScreen extends UIPanel) icon = Spawn(class'UIIcon', AnyPanel).InitIcon('MyIconName',, false, false, IconSize); [...] // This will return Icon by reference. IconRef = AnyPanel.GetChild('MyIconName'); That's how name works :smile: And by "Possibly only involving listeners so we don't break anything" i meant i think we could actually extend the bottom AbilityBar rather than having to create a new one on the side :smile:
  6. Having fiddled around with the U.I i think there might be a way. Possibly only involving listeners so we don't break anything (i love not breaking things) But i'm right in the middle of mid-terms right now, so i won't be able to work on it for a week. For your spawning problem, the first parameter in InitButton (or any InitPannel function) is the panel name. For example Button = Spawn(class'UIButton'); Button.InitButton('FirstAbility'); Will create a Button named "FirstAbility", There's a helper function to get a child panel by name, which you can then remove. On a side note, as Amineri stated, you can use struts to create a fake multidimensionnal array: struct aSoldierAbilities { var array<UIButton> Perks; }; var array<aSoldierAbilities> Soldiers; function DisplayPerkOfSoldier(int CurrentSoldierIndex) { Foreach Soldiers(Soldier, i) { if(i == CurrentSoldierIndex) foreach Soldier.Perks(Perk) { Perk.Show(); } else foreach Soldier.Perks(Perk) { Perk.Hide(); } } } Something like that would work (missing declarations of local vars for readability)
  7. Both of you with "UnrealScriptPackage" did not load correctly :
  8. cannot find one or more components, please reinstall the application usually is fixed by : XCOM 2 SDK\_CommonRedist Install everything Then \XCOM 2 SDK\Binaries Install Both
  9. Yeah, Win10 only might be a hard pill to swallow for some :p Please do pass on my thanks to the original author though !
  10. As stated in the other thread, working fine for me.
  11. Hey ! This is a god send. Works for me ! (Win 10 / 64 Bit, no VS SDK installed)
  12. Well, my philosophy regarding UI currently is : "You can't edit stuff, so don't try, just add stuff". I've been working on a UIPersonel mod, as a follow up to my SMTS. I didn't try to edit the layout, rather i just added what i wanted on-top of it. http://i.imgur.com/Ycc1xLf.png (this is an early prototype, excuse the uglyness.) The workflow for that is rather easy. Listen to the UIPersonel screenForeach the m_klist (= list of people displayed) which are all UIPersonel_ListItemAppend a custom 'UIMoreStats' to UIPersonnel_ListItem'UIMoreStats' has a Header componentthis header is in fact an instance of a class that extends UISoldierHeader, i overwrite functions to get the stats, without having to do all the logic again. Note: i did extend UISoldierHeader but i did not overwrite it, thus it's compatible with any and every mods'UIMoreStats' uses the info provided by the extended uisoldierHeader to populate itselfs. tl;dr : Listen for A Screen Get the element you want ADD to this element You can extends other classes so you don't have to recode logic that already exists. I never even heard of JPEXS tbh, so no clue on this end, but i definitely think you should at least try and go native and go the other way only if you *must* Edit : Though, Zyxpsilon, that opens up a whole new world of possibilities :blush: :blush: (i'm like a kid in candy store right now)
  13. As i said in my first post, look through the UI Classe files. If you see a UIPanel Spawn, then it's something you can edit. If you see the logic ending in a MC.FunctionVoid(); call then it's flash doing the display. ShowMeTheSkills for example edits the SquadSelect_listItem classes, which has a DynamicContainer child which is entirely displayed via flash. So you cannot change the layout of this dynamicContainer, you can however add children to that UIPanel and do whatever you want. That's how SMTS works. (I'm the author of ShowMeTheskills btw, hi Zyxpsilon)
  14. <entry> <record>50</record> <time>2016/03/04 15:38:30.883</time> <type>Information</type> <source>VisualStudio</source> <description>Begin package load [MrODuzhar.UnrealScriptPackage.UnrealScriptPackage, UnrealScriptPackage1_0, Version=1.0.0.0, Culture=neutral, PublicKeyToken=302d4a5709df79fe]</description> <guid>{FB637C2F-4C64-4AA3-BF67-BCEFE95ED79A}</guid> </entry> <entry> <record>51</record> <time>2016/03/04 15:38:30.918</time> <type>Error</type> <source>VisualStudio</source> <description>CreateInstance failed for package [MrODuzhar.UnrealScriptPackage.UnrealScriptPackage, UnrealScriptPackage1_0, Version=1.0.0.0, Culture=neutral, PublicKeyToken=302d4a5709df79fe]</description> <guid>{FB637C2F-4C64-4AA3-BF67-BCEFE95ED79A}</guid> <hr>80131515</hr> <errorinfo>Could not load file or assembly 'file:///E:\SteamGamesS\SteamApps\common\XCOM 2 SDK\Binaries\Win32\ModBuddy\Extensions\Application\UnrealScriptPackage1_0.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)</errorinfo> </entry> <entry> <record>52</record> <time>2016/03/04 15:38:30.918</time> <type>Error</type> <source>VisualStudio</source> <description>End package load [MrODuzhar.UnrealScriptPackage.UnrealScriptPackage, UnrealScriptPackage1_0, Version=1.0.0.0, Culture=neutral, PublicKeyToken=302d4a5709df79fe]</description> <guid>{FB637C2F-4C64-4AA3-BF67-BCEFE95ED79A}</guid> <hr>80004005 - E_FAIL</hr> <errorinfo>Could not load file or assembly 'file:///E:\SteamGamesS\SteamApps\common\XCOM 2 SDK\Binaries\Win32\ModBuddy\Extensions\Application\UnrealScriptPackage1_0.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)</errorinfo> </entry> Error Log for not loading correctly :smile: EDIT : For anyone having this issue, simply add <loadFromRemoteSources enabled="true" /> just below <runtime> (line 9 in my file) in your XCOM 2 SDK\Binaries\Win32\ModBuddy\XCOM ModBuddy.exe.config file Fixed it for me :smile: EDIT 2 : installed but still not working.
  15. MC is the component talking to flash. So when any UI function end in a MC call, you know it's handled by flash. For example (UIPersonel.uc) : m_arrTabButtons[m_eCurrentTab].MC.FunctionVoid("onReceiveFocus"); Will call the flash function OnReceiveFocus on the current tab. Basically what most "complex" UIPanel in the game does is handle the logic (should we display scientist or engineer, order the list, ect, ect) and then sends the data to MC for flash to display. So there's no way (for now) to edit a flash UI. Though any UI made by flash binds to a parent UIPanel, which when its X/Y/Width/Height changes reflects on flash. (As in messes up the flash which expected to be exactly like before)
×
×
  • Create New...