-
Posts
172 -
Joined
-
Last visited
Everything posted by Kregano
-
RTX 470 super or Radeon 7800xt??
Kregano replied to niphilim222's topic in Hardware and software discussion
I think they stopped putting the driver updates behind a log-in, but not stuff like Shadowplay. -
RTX 470 super or Radeon 7800xt??
Kregano replied to niphilim222's topic in Hardware and software discussion
Some of the questions you should ask yourself to decide which card to get should include the following: Do I play games with raytracing? Do I use any non-gaming Nvidia software features? Do I play games with lots of texture mods? Do I play single-player or multi-player games? If you don't need/care about Nvidia features, then the RX 7800 XT is a good choice, especially since it doesn't lock a lot of driver features behind a log-in. -
Looking for someone with UE4.27 OR the dev skills to get UAssetGUI compatible with Aliens: Dark Descent uAssets to help me make some mods. Things I'm looking to do: Expand damage statistics for Skills (Shotgun Blast, Mines, etc...) Tweak Marine leveling curve to be a bit less steep Tweak upgrade costs Adjust ARC/APC motion tracker range Maybe make new upgrades/traits/xenotech Ideally, everything would be compatible with the r457 mod loader and its config file, which are included in the project files they've provided: https://www.nexusmods.com/aliensdarkdescent/mods/7?tab=files&BH=1
-
Looking for anyone with UE4.27 experience to help with some mod ideas I have. I've dug around in the files using FModel and identified some potential areas for modding: Rocket launcher/Charged plasma shot damageUpgrade costs/buffsSmoothing out the leveling curve (there's a huge wall between Level 1 and 2 soldiers)Rebalancing some of the negative traitsAdding new Xenotech research to add flat buffs/extra stat boosts to upgradesFeel free to post here if you're interested in working such projects. Also, I have a contact who can do modeling/texture work, so maybe we can get an integrally suppressed sniper rifle mesh into the game.
-
I'm trying to update an older mod (AOE suppression with cone targeting) with a special reaction shot. This reaction shot is intended to have a few special features: 100% chance to hit (got this mostly working). Reduced damage. Applies a debuff (TBD). All enemies within 3 tiles of the target get hit with the debuff.So far, I've only gotten the 100% chance to hit (barring obstacles in the way) to work. For some reason, the debuff doesn't apply ever, the AOE doesn't kick in, and sometimes the damage reduction will break the aim calculations and make the shots miss. I've asked for help on Reddit, and aside from the 200% HitMod thing, they've been of little to no help. I'm hoping the Nexus forums might be more helpful. Here's my current code iteration, trying to use Walk Fire as a guide for the damage reduction: //--------------------------------------------------------------------------------------- // FILE: X2Ability_ConeOfFire.uc // AUTHOR: Kregano // DATE: // PURPOSE: Defines Cone of Fire ability. // //--------------------------------------------------------------------------------------- // //--------------------------------------------------------------------------------------- class X2Ability_ConeOfFireStuff extends X2Ability_GrenadierAbilitySet config(GameData_SoldierSkills) dependson (XComGameStateContext_Ability); static function array<X2DataTemplate> CreateTemplates() { local array<X2DataTemplate> Templates; Templates.AddItem(ConeOfFire()); Templates.AddItem(COF_ReactionShot()); return Templates; } static function X2AbilityTemplate ConeOfFire() { local X2AbilityTemplate Template; local X2AbilityCost_ActionPoints ActionPointCost; local X2AbilityCost_Ammo AmmoCost; local X2AbilityCooldown Cooldown; local X2Effect_ReserveActionPoints ReserveActionPointsEffect; local X2AbilityMultiTarget_Cone ConeMultiTarget; local X2Condition_UnitProperty UnitPropertyCondition; local X2Effect_Suppression SuppressionEffect; `CREATE_X2ABILITY_TEMPLATE(Template, 'ConeOfFire'); Template.IconImage = "img:///UILibrary_ConeOfFire.UIPerk_coneoffire"; ActionPointCost = new class'X2AbilityCost_ActionPoints'; ActionPointCost.bConsumeAllPoints = true; // this will guarantee the unit has at least 1 action point ActionPointCost.bFreeCost = true; // ReserveActionPoints effect will take all action points away Template.AbilityCosts.AddItem(ActionPointCost); AmmoCost = new class'X2AbilityCost_Ammo'; AmmoCost.iAmmo = 2; Template.AbilityCosts.AddItem(AmmoCost); Cooldown = new class'X2AbilityCooldown'; Cooldown.iNumTurns = 1; Template.AbilityCooldown = Cooldown; Template.AbilityShooterConditions.AddItem(default.LivingShooterProperty); Template.AddShooterEffectExclusions(); ReserveActionPointsEffect = new class'X2Effect_ReserveActionPoints'; ReserveActionPointsEffect.ReserveType = 'Suppression'; Template.AddShooterEffect(ReserveActionPointsEffect); Template.AbilityToHitCalc = default.DeadEye; Template.AbilityTargetConditions.AddItem(default.LivingHostileUnitDisallowMindControlProperty); Template.AbilityTargetConditions.AddItem(default.GameplayVisibilityCondition); Template.AbilityTriggers.AddItem(default.PlayerInputTrigger); Template.AbilityTargetStyle = new class'X2AbilityTarget_Cursor'; ConeMultiTarget.bIgnoreBlockingCover = true; ConeMultiTarget = new class'X2AbilityMultiTarget_Cone'; ConeMultiTarget.bUseWeaponRadius = true; ConeMultiTarget.ConeEndDiameter = 12 * class'XComWorldData'.const.WORLD_StepSize; ConeMultiTarget.bUseWeaponRangeForLength = true; Template.AbilityMultiTargetStyle = ConeMultiTarget; UnitPropertyCondition = new class'X2Condition_UnitProperty'; UnitPropertyCondition.ExcludeDead = true; UnitPropertyCondition.ExcludeFriendlyToSource = true; Template.AbilityShooterConditions.AddItem(UnitPropertyCondition); Template.AbilityTargetConditions.AddItem(UnitPropertyCondition); SuppressionEffect = new class'X2Effect_Suppression'; SuppressionEffect.BuildPersistentEffect(1, false, true, false, eGameRule_PlayerTurnBegin); SuppressionEffect.bRemoveWhenTargetDies = true; SuppressionEffect.bRemoveWhenSourceDamaged = true; SuppressionEffect.bBringRemoveVisualizationForward = true; SuppressionEffect.SetDisplayInfo(ePerkBuff_Penalty, Template.LocFriendlyName, class'X2Ability_GrenadierAbilitySet'.default.SuppressionTargetEffectDesc, Template.IconImage); SuppressionEffect.SetSourceDisplayInfo(ePerkBuff_Bonus, Template.LocFriendlyName, class'X2Ability_GrenadierAbilitySet'.default.SuppressionSourceEffectDesc, Template.IconImage); Template.AddMultiTargetEffect(SuppressionEffect); Template.AddTargetEffect(class'X2Ability_GrenadierAbilitySet'.static.HoloTargetEffect()); Template.bAllowAmmoEffects = true; Template.ShotHUDPriority = class'UIUtilities_Tactical'.const.CLASS_LIEUTENANT_PRIORITY; Template.AbilitySourceName = 'eAbilitySource_Perk'; Template.eAbilityIconBehaviorHUD = eAbilityIconBehavior_AlwaysShow; Template.bDisplayInUITooltip = false; Template.AdditionalAbilities.AddItem('COF_ReactionShot'); Template.bIsASuppressionEffect = true; Template.AbilityConfirmSound = "TacticalUI_ActivateAbility"; Template.AssociatedPassives.AddItem('HoloTargeting'); Template.CinescriptCameraType = "StandardSuppression"; Template.BuildNewGameStateFn = TypicalAbility_BuildGameState; Template.BuildVisualizationFn = ConeOfFireBuildVisualization; Template.BuildAppliedVisualizationSyncFn = class'X2Ability_GrenadierAbilitySet'.static.SuppressionBuildVisualizationSync; Template.TargetingMethod = class'X2TargetingMethod_Cone'; Template.bCrossClassEligible = true; return Template; } simulated function ConeOfFireBuildVisualization(XComGameState VisualizeGameState, out array<VisualizationTrack> OutVisualizationTracks) { local XComGameStateHistory History; local XComGameStateContext_Ability Context; local StateObjectReference InteractingUnitRef; local VisualizationTrack EmptyTrack; local VisualizationTrack BuildTrack; local int i; local XComGameState_Ability Ability; local X2Action_PlaySoundAndFlyOver SoundAndFlyOver; local XComUnitPawn UnitPawn; local XComWeapon Weapon; History = `XCOMHISTORY; Context = XComGameStateContext_Ability(VisualizeGameState.GetContext()); InteractingUnitRef = Context.InputContext.SourceObject; //Configure the visualization track for the shooter //**************************************************************************************** BuildTrack = EmptyTrack; BuildTrack.StateObject_OldState = History.GetGameStateForObjectID(InteractingUnitRef.ObjectID, eReturnType_Reference, VisualizeGameState.HistoryIndex - 1); BuildTrack.StateObject_NewState = VisualizeGameState.GetGameStateForObjectID(InteractingUnitRef.ObjectID); BuildTrack.TrackActor = History.GetVisualizer(InteractingUnitRef.ObjectID); // Check the actor's pawn and weapon, see if they can play the suppression effect UnitPawn = XGUnit(BuildTrack.TrackActor).GetPawn(); Weapon = XComWeapon(UnitPawn.Weapon); if (Weapon != None && !UnitPawn.GetAnimTreeController().CanPlayAnimation(Weapon.WeaponSuppressionFireAnimSequenceName) && !UnitPawn.GetAnimTreeController().CanPlayAnimation(class'XComWeapon'.default.WeaponSuppressionFireAnimSequenceName)) { // The unit can't play their weapon's suppression effect. Replace it with the normal fire effect so at least they'll look like they're shooting Weapon.WeaponSuppressionFireAnimSequenceName = Weapon.WeaponFireAnimSequenceName; } class'X2Action_ExitCover'.static.AddToVisualizationTrack(BuildTrack, Context); class'X2Action_StartSuppression'.static.AddToVisualizationTrack(BuildTrack, Context); OutVisualizationTracks.AddItem(BuildTrack); //**************************************************************************************** //Configure the visualization track for the targets for (i = 0; i < Context.InputContext.MultiTargets.Length; i++) { // Fake it out by assigning the first multi-target as the primary target if (Context.InputContext.PrimaryTarget.ObjectID == 0) Context.InputContext.PrimaryTarget = Context.InputContext.MultiTargets[i]; InteractingUnitRef = Context.InputContext.MultiTargets[i]; Ability = XComGameState_Ability(History.GetGameStateForObjectID(Context.InputContext.AbilityRef.ObjectID, eReturnType_Reference, VisualizeGameState.HistoryIndex - 1)); BuildTrack = EmptyTrack; BuildTrack.StateObject_OldState = History.GetGameStateForObjectID(InteractingUnitRef.ObjectID, eReturnType_Reference, VisualizeGameState.HistoryIndex - 1); BuildTrack.StateObject_NewState = VisualizeGameState.GetGameStateForObjectID(InteractingUnitRef.ObjectID); BuildTrack.TrackActor = History.GetVisualizer(InteractingUnitRef.ObjectID); SoundAndFlyOver = X2Action_PlaySoundAndFlyOver(class'X2Action_PlaySoundAndFlyOver'.static.AddToVisualizationTrack(BuildTrack, Context)); SoundAndFlyOver.SetSoundAndFlyOverParameters(None, Ability.GetMyTemplate().LocFlyOverText, '', eColor_Bad); if (XComGameState_Unit(BuildTrack.StateObject_OldState).ReserveActionPoints.Length != 0 && XComGameState_Unit(BuildTrack.StateObject_NewState).ReserveActionPoints.Length == 0) { SoundAndFlyOver = X2Action_PlaySoundAndFlyOver(class'X2Action_PlaySoundAndFlyOver'.static.AddToVisualizationTrack(BuildTrack, Context)); SoundAndFlyOver.SetSoundAndFlyOverParameters(none, class'XLocalizedData'.default.OverwatchRemovedMsg, '', eColor_Bad); } OutVisualizationTracks.AddItem(BuildTrack); } } static function X2AbilityTemplate COF_ReactionShot() { local X2AbilityTemplate Template; local X2AbilityCost_ReserveActionPoints ReserveActionPointCost; local X2AbilityToHitCalc_StandardAim ToHitCalc; local X2Condition_Visibility TargetVisibilityCondition; local X2AbilityTrigger_Event Trigger; local X2Condition_UnitEffectsWithAbilitySource TargetEffectCondition; local X2Effect_RemoveEffects RemoveSuppression; local X2Effect ShotEffect; local X2AbilityCost_Ammo AmmoCost; local X2Effect_ReactionShot DamageEffect; local X2Effect_Stunned StunnedEffect; local X2AbilityMultiTarget_Radius RadiusMultiTarget; `CREATE_X2ABILITY_TEMPLATE(Template, 'COF_ReactionShot'); Template.bDontDisplayInAbilitySummary = true; ReserveActionPointCost = new class'X2AbilityCost_ReserveActionPoints'; ReserveActionPointCost.iNumPoints = 1; ReserveActionPointCost.AllowedTypes.AddItem('Suppression'); Template.AbilityCosts.AddItem(ReserveActionPointCost); AmmoCost = new class'X2AbilityCost_Ammo'; AmmoCost.iAmmo = 1; Template.AbilityCosts.AddItem(AmmoCost); ToHitCalc = new class'X2AbilityToHitCalc_StandardAim'; ToHitCalc.BuiltInHitMod = 200; ToHitCalc.bAllowCrit = false; Template.AbilityToHitCalc = ToHitCalc; Template.AbilityToHitOwnerOnMissCalc = ToHitCalc; Template.AbilityTargetStyle = default.SimpleSingleTarget; Template.AbilityTargetConditions.AddItem(default.LivingHostileTargetProperty); TargetEffectCondition = new class'X2Condition_UnitEffectsWithAbilitySource'; TargetEffectCondition.AddRequireEffect(class'X2Effect_Suppression'.default.EffectName, 'AA_UnitIsNotSuppressed'); Template.AbilityTargetConditions.AddItem(TargetEffectCondition); TargetVisibilityCondition = new class'X2Condition_Visibility'; TargetVisibilityCondition.bRequireGameplayVisible = true; Template.AbilityTargetConditions.AddItem(TargetVisibilityCondition); Template.AbilityShooterConditions.AddItem(default.LivingShooterProperty); Template.bAllowAmmoEffects = true; RadiusMultiTarget = new class'X2AbilityMultiTarget_Radius'; RadiusMultiTarget.fTargetRadius = 4.5; // Units are measured in meters and each tile is 1.5 meters RadiusMultiTarget.bIgnoreBlockingCover = true; Template.AbilityMultiTargetStyle = RadiusMultiTarget; DamageEffect = new class'X2Effect_ReactionShot'; DamageEffect.BuildPersistentEffect(1, true, false, false); DamageEffect.SetDisplayInfo(ePerkBuff_Passive, Template.LocFriendlyName, Template.GetMyLongDescription(), Template.IconImage, true,,Template.AbilitySourceName); Template.AddTargetEffect(DamageEffect); StunnedEffect = class'X2StatusEffects'.static.CreateStunnedStatusEffect(2, 100); StunnedEffect.bRemoveWhenSourceDies = false; Template.AddTargetEffect(StunnedEffect); RemoveSuppression = new class'X2Effect_RemoveEffects'; RemoveSuppression.EffectNamesToRemove.AddItem(class'X2Effect_Suppression'.default.EffectName); RemoveSuppression.bCheckSource = true; RemoveSuppression.SetupEffectOnShotContextResult(true, true); Template.AddShooterEffect(RemoveSuppression); //Trigger on movement - interrupt the move Trigger = new class'X2AbilityTrigger_Event'; Trigger.EventObserverClass = class'X2TacticalGameRuleset_MovementObserver'; Trigger.MethodName = 'InterruptGameState'; Template.AbilityTriggers.AddItem(Trigger); Template.AbilitySourceName = 'eAbilitySource_Standard'; Template.eAbilityIconBehaviorHUD = EAbilityIconBehavior_NeverShow; Template.IconImage = "img:///UILibrary_PerkIcons.UIPerk_supression"; Template.ShotHUDPriority = class'UIUtilities_Tactical'.const.CLASS_LIEUTENANT_PRIORITY; Template.bDisplayInUITooltip = false; Template.bDisplayInUITacticalText = false; //don't want to exit cover, we are already in suppression/alert mode. Template.bSkipExitCoverWhenFiring = true; Template.bAllowFreeFireWeaponUpgrade = true; // Put holo target effect first because if the target dies from this shot, it will be too late to notify the effect. ShotEffect = class'X2Ability_GrenadierAbilitySet'.static.HoloTargetEffect(); ShotEffect.TargetConditions.AddItem(class'X2Ability_DefaultAbilitySet'.static.OverwatchTargetEffectsCondition()); Template.AddTargetEffect(ShotEffect); // Various Soldier ability specific effects - effects check for the ability before applying ShotEffect = class'X2Ability_GrenadierAbilitySet'.static.ShredderDamageEffect(); ShotEffect.TargetConditions.AddItem(class'X2Ability_DefaultAbilitySet'.static.OverwatchTargetEffectsCondition()); Template.AddTargetEffect(ShotEffect); Template.BuildNewGameStateFn = TypicalAbility_BuildGameState; Template.BuildVisualizationFn = TypicalAbility_BuildVisualization; return Template; } ===X2Effect_ReactionShot=== class X2Effect_ReactionShot extends X2Effect_Persistent config(WOTCskillTweaks); var config float REAC_DAMAGE_MODIFIER; function int GetAttackingDamageModifier(XComGameState_Effect EffectState, XComGameState_Unit Attacker, Damageable TargetDamageable, XComGameState_Ability AbilityState, const out EffectAppliedData AppliedData, const int CurrentDamage, optional XComGameState NewGameState) { local float ExtraDamage; if(AbilityState.GetMyTemplateName() == 'COF_ReactionShot') { if (class'XComGameStateContext_Ability'.static.IsHitResultHit(AppliedData.AbilityResultContext.HitResult)) { ExtraDamage = -1 * (float(CurrentDamage) * default.REAC_DAMAGE_MODIFIER); } } return int(ExtraDamage); }
-
I think that exists, but I'm not sure.
-
So I was doing some poking about in Frosty Editor to see if I'd suddenly gotten the meshes for some of the new MP guns when I realized I could look for the controller button prompts. I found them, but A) they're more complicated than I noticed while playing, and B) there aren't any large 2D images of them online anyway. I'm kinda mediocre at Photoshop, so I could use some help when it comes to replacing the buttons. Here's the button textures from the game in PNG format: http://i.imgur.com/rmS7yRY.png All that needs to be replaced are the A, B, X, Y, Share, and Option(?) buttons. Xbox One & Dual Shock 4 controller for reference: http://wpmedia.o.canada.com/2013/11/dsc6281-zf-0498-58860-1-008.jpg If/when somebody does this, I'll give full credit for texture work in the mod I plan to make.
-
Here's a new FOV mod: Ultimate Combat Camera FOV Mod
-
Already asked this on r/XCOM2mods but didn't get any help, so I'll ask this here: I'm preparing for WOTC to break some/all of my mods, so I figured it was a good time to tackle a problem I never licked. So, in two of my mods, the Grenadier and Ranger skill trees are reshuffled to accommodate new abilities, with each having a base game ability moved into the squaddie tier of skills. If you start a new game, you get those skills, but if you don't, you cannot get them. Now, I've taken a look at some of the AWC mods to see what they did, and their solutions are okay for the stock game, but obviously won't work for WOTC, since the AWC won't exist there, and would be horrifically complicated to divorce from AWC dependence. I tried using the game's own GetEarnedSoldierAbilities() function, but for whatever reason, it gives me this error: D:\SteamLibrary\SteamApps\common\XCOM 2 SDK\Development\Src\ConeofFire\Classes\X2DownloadableContentInfo_ConeofFire.uc(40) : Error, Bad or missing expression for token: GetSoldierClassTemplate, in '=' Aside from relabeling this function as a static function and adding a bracket or two, it's the same as the code in the XCOMGameState (IIRC) file I pulled it out of, so I'm not sure what's going on here. Anybody got any ideas A) on how to fix it, or B) a better way to do what I'm trying to do? The function, for reference: static function array<SoldierClassAbilityType> GetEarnedSoldierAbilities() { local X2SoldierClassTemplate ClassTemplate; local array<SoldierClassAbilityType> EarnedAbilities, AbilityTree; local SoldierClassAbilityType Ability; local int i; ClassTemplate = GetSoldierClassTemplate(); if (ClassTemplate != none) { for (i = 0; i < m_SoldierProgressionAbilties.Length; ++i) { if (ClassTemplate.GetMaxConfiguredRank() <= m_SoldierProgressionAbilties[i].iRank) continue; AbilityTree = ClassTemplate.GetAbilityTree(m_SoldierProgressionAbilties[i].iRank); if (AbilityTree.Length <= m_SoldierProgressionAbilties[i].iBranch) continue; Ability = AbilityTree[m_SoldierProgressionAbilties[i].iBranch]; EarnedAbilities.AddItem(Ability); } } }
-
I'd love to see a mod where the squadmates have various fire-type augments installed on their guns, like the seeking plasma aug, electrical conduits, etc...
-
This one actually makes sense and justifies why people would swap out the heat sinks for thermal clips. It probably is easier to build something to soak up a lot of heat and just get rid of it, instead of having to make it constantly absorb and radiate heat. That said, it would be great if we could create a new Remnant based heat sink that could get 80% of the ammo capacity.
-
Just to be clear on this, because I don't want to be misinterpreting anything: -IntegerProvider_Add lets you add values to things that were previously null -IntProvider_PlayerID sets the number of mod slots? -IntegerProvider_AmmoCount sets an ammo bonus?
-
I think replacing Gil's model is plausible, but you'd need to extract a male Quarian model from ME2/3, convert it and the textures to formats Frostbite accepts, and then make sure the animations don't break. It'd be a lot of work for sure.
-
Looking for a save with Reyes (spoiler)
Kregano replied to Deleted32645920User's topic in Mass Effect's Andromeda
Here you go: http://www.mediafire.com/file/dgwq6ogh5wy4lw5/Career17e986c9-Chapter6 -
This is easy - get Frosty Mod Manager and open that mod in it. https://github.com/GalaxyEham/FrostyToolSuite/releases
-
If nobody's suggested it already, I'd love to see a mod where the percentage stat boost augs got universally set to 10%. The 5-7% (IIRC) boosts are pretty garbage. I'd do it myself if I could figure out where the values were.
-
I'm making a mod that ups the maximum effective range for sniper rifles, but every time I take a look at a target at 175+ meters, the range text turns red, even though that's well below the new value for max effective range. Anybody have an idea of where to look/what to tweak? I'm using FrostyToolSuite, BTW.
-
There are two or more textures for each sniper scope, and I'm not certain how they layer, but I can get them for you later.
-
Sadly it is yet another tool that won't cooperate with me, been dying to get started with working on textures because it seems no one have looked at editing any of the things I want to fix, but all it does is crash on me whenever I try to make it open a texture :tongue: I've had better luck with textures, at least so far. Managed to extract the reticle texture, although I have no idea how its used to generate the reticles we see in game.
-
Having looked at the reticle stuff in FrostyToolSuite, I'm not sure A) if that sniper crosshair would work and B) if it's possible to make the normal reticle a crosshair. It looks like the game might pull bits of textures from a single file and displays them as needed, so you'd need to work like crazy to get it to accept that fancy scope design. That said, I can't confirm this, because there's zero documentation for anything, so I can't really be sure about anything.
- 2 replies
-
- request
- crosshairs
-
(and 2 more)
Tagged with:
-
Here's an MEA mod tool that has a way better UI than MEA Explorer: https://github.com/GalaxyEham/FrostyToolSuite/releases A quick tutorial: Frosty Editor: Next-generation modding tool (Preview) I've used not less than five minutes ago, and you can find just about anything, although it requires a lot of patience and exploration, if you don't know where it'd be already.
-
Endless loading screen after 1.07 patch
Kregano replied to dahaka92's topic in Mass Effect's Andromeda
I had something similar on 1.06 with multiplayer - I had the No Profile Switching Cooldown, Shut Up SAM, and I think the pre-1.06 version of this default Sara Ryder mod installed. It'd just stop loading shaders for no reason and never progress to multiplayer. I had to uninstall the mods to update to 1.07, so I dunno if they'd cause the same or worse problems. -
You'd only get banned if you messed with something affecting MP. That said, as of patch 1.06, some mods/combinations of mods can cause MP to fail to load for some reason.
-
Nice to see someone else get on this bandwagon - I asked for something similar super early after release. Here's a tutorial video for MEA Explorer that could help: https://www.youtube.com/watch?v=leeSiMOhx3A In the first minute or so, there's a demo of a texture plugin that could help you find and insert the button icons. There seems to be a folder for UI textures, so that would be the best bet for finding the buttons.
-
Ask Wavebend for help, since he just put up a mod for reticles: http://www.nexusmods.com/masseffectandromeda/mods/165/?
- 2 replies
-
- request
- crosshairs
-
(and 2 more)
Tagged with: