#Attack Range GL4 (use pin to go to download post!)
1 messages ยท Page 2 of 1
in fact, I'm j ust gonna go ahead and add it
it might be the easiest way to solve the clutter issue at least for testing purposes
maybe I can add some sort of UI in later
it's not a monumental task to do the UI but since I haven't done anything substantial in that area I have to go fetch examples and test stuff
my vision for a good UI would be to press a keybind (or click some small button) to bring up a small box/window frame which contains a list of the weapons by name and brief info (like its range, damage type etc.) and clicking on the list toggles that weapon's display, the list item then turns green/red depending on if its range is being displayed. Ideally even make it so if you hover over the weapon's description, it shows the range of it around your unit graphically in a highlighted manner
not sure UI is needed here; eg "weapons list" is already in game itself in units; if someone just understand this simple cycle mechanism its the best UI to set it just in game through this cycle shortcut
yeah it'd be awesome to just have like a basic framework to say "create a basic window panel with these params and have control be set like this" in two or three lines of code, that'd really simply making UI for all these things, and with a framework it'd be a coherent UI look to everything
right now with the flowui thing stuff is still rather complicated
1 issue with new version: off switch do not work with cons (for build range) while it does work for comms (turns off build range too like expected)
fixed, toggle also affects build range now for builders
although I'm not sure if it should, but we'll go with that for now
thx; btw I noticed critical (for me) bug while doing these tests: https://discord.com/channels/549281623154229250/1118631751472922625 I'll never play core cause of this ๐
why would anyone want to see con build ranges all the time? I'm not sure I need them all the time
it may be useful to make a video of a definitive proof showing exactly the range of both dguns (like for example, at the exact same zoom such as minimum zoom) and then take a screen shot of where the dgun lands relative to a still commander, and then post the screenshots and show measurement difference
I'm not doubting your finding but with the pictures you posted alone it's hard to be convinced right away, someone has to go run their own test
I did at exact zoom (cause I use zoom limiter in settings), its easy to reproduce
actually, even the decoy commander's dgun is shorter range
I wonder if it has to do with what I found out about the dgun range of armcom not matching the calculated range from this widget
because it's basically 5% longer, not to do with terrain or any other factor
because dgun projectile is not affected by gravity
so what you say would mean that corcom is ok but armcom actually has too long range?
yes
actually, no
the corcom range is shorter than the calculated range too
it's shorter by a tiny little bit
the two lines represent the two ranges, the one closer to the reticle is the calculated, the further one is the same as the one drawn by engine
and at the reticle, the dgun cannot fire, it's just outside of range
so the actual range is actually even slightly shorter than the calculated, by about maybe 2%
or less
I'm going to tweak my settings until it matches exactly and see what that % is
and actually, armcom's range is slightly longer than the dgun engine aim circle
I'd say from user perspective arm comm works properly because moving tiny dgun attack dot to the range makes it shoot, while with corcom it makes move comm first before shot
this where the dgun can actually be fired to for armcom
I'll post my findings in your thread
thanks for doing the test btw, the 105% range for dgun was puzzling me for the longest time
I was going to investigate further but forgot about it
but now it totally makes sense that it's just bugged
I wonder how long this has been like this
because it was definitely like this a week ago
I dont' play the game enough to notice stuff like this tbh, that's a big reason why I get people to test my widgets ๐
How can I be "always on" regardless of camera zoom level? I don't want the circles to disappear if I'm zoomed out.
I tried to make "EndAlpha" == 1 so that zoom level is ignored but it doesn't work. "fadeparams" in general don't seem to be impacting things. The function GetCameraHeightFactor() returns 1 regardless. So not sure what to change/edit to be always on.
you can set ultra far fade distance in fadeparams
they do work, but like we discussed earlier, you will experience static circles when you zoom to the point where models stop rendering, that's just how the engine works right now
so I don't recommend trying to set the fade distances too far, it simply isn't supported right now
after the major engine update we'll be able to support that
only 33 hours wasted ๐
could be worse
I once spent 37 hours on traveling from Budapest to St.Louis, including getting stranded at Chicago airport for 16 hours
Rockstar mentioned my city ๐
Note that that counter was implemented about 50-100 hours late
I like how there are 30 dguns in there
thats for unbacom iirc
@ivory ridge you currently filtering out AA weapons from their names?
f.e. corkarg does not show it's AA weapon
this weapon:
karg_shoulder = {
areaofeffect = 16,
avoidfeature = false,
burnblow = true,
fixedLauncher = true,
canattackground = false,
cegtag = "missiletrailaa",
craterareaofeffect = 0,
craterboost = 0,
cratermult = 0,
edgeeffectiveness = 0.15,
explosiongenerator = "custom:genericshellexplosion-tiny-aa",
firestarter = 72,
flighttime = 1.75,
impulseboost = 0,
impulsefactor = 0,
model = "cormissile.s3o",
name = "ShoulderRockets",
noselfdamage = true,
proximitypriority = 1,
range = 700,
reloadtime = 0.9,
smoketrail = true,
smokePeriod = 5,
smoketime = 12,
smokesize = 4.4,
smokecolor = 0.95,
smokeTrailCastShadow = false,
castshadow = false, --projectile
soundhit = "packohit",
soundhitwet = "splshbig",
soundstart = "packolau",
soundtrigger = false,
startvelocity = 820, --520
texture1 = "null",
texture2 = "smoketrailaa",
tolerance = 9950,
tracks = true,
turnrate = 68000,
turret = true,
weaponacceleration = 160,
weapontimer = 2,
weapontype = "MissileLauncher",
weaponvelocity = 820,
damage = {
default = 100,
bombers = 150,
fighters = 120,
vtol = 150,
},
},```
yeah I couldn't figure out a reliable way to filter out both g2a and g2g, so I'm using name and it's not reliable either
using vtol damage might work, I suppose
I'll have to combine both name and vtol damage though to filter out g2g and g2a weapons
wait, maybe I can do weapons[i].onlytargetcategory == "VTOL"
yeah that doesn't work either, I'm just really puzzled by the weaponDef, it's quite often not the same as the info listed in the unitdef
I have to actually read the info on the live game and look through if any value even exists
okay I got it
apparently the only way is through weapons[i].onlyTargets.vtol
new file should have that change
I think that's the only reliable way to detect "only AA" weapons
I'm going to write a script to output all the weapon and unit defs at some point, the one in the repo doesn't actually work
makes looking for info much easier
onlytargetcategory vtol
that doesn't exist, can only get onlyTargets.vtol
none inside weaponDef either
inside weaponDef there is damages, but that's just indexed with ints
the content of each of the tables is not what the unitdef lua says
I have to pull them live and read them
yep
I had to pull weapons[i] out and get stuff like this:
{[slavedTo] = 0, [onlyTargets] = {[vtol] = true, }, [weaponDef] = 738, [maxAngleDif] = -1, [mainDirX] = 0, [badTargets] = {[notair] = true, [groundscout] = true, }, [mainDirZ] = 0.99999565, [mainDirY] = 0, }
At least its there XD
@ivory ridge seems the new cortrem has a new weapon-setting (focussed-fire and spread-fire)
the spread-fire does not seem to get picked up by the Attack Range GL4 widget
not sure how they made this - or if it's already fully bug-free
seems it's done with this.
customparams = { speceffect = "siege", when = "state==true", max_velocity_reduction = "0.125", active_range = "1470", active_accuracy = "2400", },
if this is hard/un-usable, we could ask zecrus to take a look at redesigning this implemenation and make it like armfido/armguard etc.
I'll look into it. Meanwhile I pushed the latest change. I updated so that changing display config is a cycling through different combinations of weapon displays of current unit. Alt+, and alt+. are the keys to go backward and forward. A console display along with special sounds effects for "all on" and "all off" are added to better inform the current display status.
Now you can customize each unit's display mode to your heart's content
how do you toggle the different firing modes? I don't see an on/off toggle anywhere in the commands
I don't think this unit's firing mode is done yet, it's not usable
pull the latest release
latest in the repo or from launcher? I have latest from launcher
that one usually is about 5-15 minutes behind
^ this works but spread fire does not
so I have the cycling display config done, now what's left are:
- higher alpha display for secondary/tertiary weapons from big units with multiple weapons (requires revision to how drawing is done)
- better separation between builder build range and other units weapon range (requires revision to how drawing is done)
- potentially more efficient and advanced control of what to display and how to display them (requires revision to how drawing is done)
- adding config data, revise param structures and ready it for options menu integration
so now I'm going to just focus on revising the drawing code so it's more compatible with adding new features and cleaning up the existing code
I put the "detailed UI for configuring each unit's weapons" on backburner til the code revision is finished and the above is done
i tried the cycling on armaak and armepoch but that system is just not suitable imho
do you mean it is not viable to turn a ring completely off?
what is the main use of cycling these?
to allow user to config what set of weapons to display
well that could be nice, though i now understand why you wanted an UI for this
the UI will come, this is temporary holdover measure
I build this so I can use this for the UI version later
nice with those sounds
latest/highest config number = default?
and config 0 = all off
armaak has 31 configs ๐
try juggernaut ๐
armepoch 127
256 configs
juggernaut has too many stacked useless ranges
I will filter those in the UI version
in this version it's a little harder to do since it's a crude cycling
do you have more things on the todo in terms of bugs/usability/features?
if you want you can go to the config file and manually turn things on/off
apart from changing to the new engine pos-buffer
the weapons are in order, the table is just a list of booleans
I was going to add some fancy stuff with mouse cursor but I think I'll wait til the pos buffer change
where was the config saved?
it's in LuaUI/Config/attackrangeconfig2.lua
ah nice
next update I'll actually put in the names of weapons too so it's easier to edit
but for now it's the same order as the info display, I believe
since it's just how unitdef.weapons is ordered
I personally think this is a bit overengineering of this user-specific stuff.
sure, but I personally like to have this kind of stuff in a widget, so I'm doing it for myself more than anything else
I would not go to use the mouse-cursor stuff - Did you read my comments on that earlier?
no, can you point me to it? I might have missed it
#1116113134848057507 message
it's not something I really have priority on, it belongs to "stuff I might experiment with out of curiosity and if anything cool comes off of it I'll consider making official"
maybe you could add a custom range ring for D-Gun?
to make it stand out - be more unique
maybe a custom visual when low-power?
I'm also considering to add custom color for paralyser weapons
I'll do that once I have the code revision done to separate the builder's range out first, and then I'll add an extra stencil layer for "special weapons"
That sounds lovely!
ok got to get the kids to bed - i'll be back later
old (maybe 1 week ago) vs new version comparison.
i like the old approach of each unit drawing a distinct circle, so if i have 2 different types of units selected, i can see whether they're both in range. is there a toggle i can use to restore that functionality, without reverting back to using the old version? the circles in the new version are much more visually clear, so ideally i can use the new version, just alongside this particular desirable feature from the old version.
(i kept the parameters the same across both comparisons, for reference the old version is "layer = -99" in the widget:GetInfo(), but i don't know exact version)
does this highlight construction turret range?
Yes
so those are not each unit, those are cannons and other ground weapons being on separate stencil layers, you can restore that functionality by setting local cannon_separate_stencil = false to true (line 26)
although, the "separate circles" are just an illusion - it's just drawing the cannon units on their own merged stencil layer (all cannons will be on one layer, all the rest will be on another, AA is a third, nano/builders the fourth)
if you want inner rings (each unit's ring) to be more distinctive, you can set local inner_ring_alpha = 0.20 to be higher, and then local outer_fade_height_difference = 5500 to be smaller, and then the individual colorConfig fade distances to be much higher (they currently represent the inner rings' fade distances)
so for example, setting them to be 4000-5000 and then setting local outer_fade_height_difference = 5500 to be more like 1000 or even 0 (if there's no difference between inner and outer, they just fade at the same distance, the distance you set in colorConfig table
I can make a slightly easier way to parameterise these things by linking some things together but for now you will have to play with the settings yourself
ty @ivory ridge
please report any weirdness or bugs to me, I need more testing, if there's even any weird console output please screenshot or post the log
I'm spending more time working on code than being able to play around with this
Welcome to the amazing world of BAR
Where I havent played a game in 2 weeks ๐
Also, there is no rush, ensure that you relax a bit ๐
@spring mauve I would LOVE to get this in the defense ranges widget.. to get rid of all this clutter:
you know the default defense range can be disabled and you can turn on the defenserange_gl4 instead
it has the stencil drawing and everything
Beherith hasn't updated repo version with the modified version yet I dont' think, so it doesn't have position update for turrets, but that's a small aspect and only becomes problematic when you lift off turrets with a transport and carry them around
I've been using the GL4 defenserange for weeks ๐
gl4 defense range widget adds a ton of clutter as well, especially with the really thick always-on AA and antinuke circles
enemies' anti nuke circles are OP
given that anti-nuke circles can be always-on at all camera zoom levels, couldn't we do the same with this widget, without waiting for engine upgrade?
most likely yes
you can configure AA and anti rings in defenserange GL4 just like in this widget, there's a colorConfig there for it
anti is configured to be fade out at close range by default, it only starts showing at 4000+ range
my widget is using basically a slightly modified shader which will eventually be given to defenserange also
I fixed this unit, basically the onoff toggle for this is just changing some param on the engine side, nothing about the weapon's projectile properties changed so the range display ought to be the same in on and off, so I just made sure it displays during both states
I really feel like weapons of "very long range" should be on their own stencil layer, because when you have them included with other short range units they basically just mask all the ranges
look at this cortrem range
it's covering up all these short range circles like a blanket, basically
I imagine sharpshooters especially will create the same effect
I suppose you could argue that they need to be in their own control group, which I don't disagree
Which was the entire intent behind CANNON layer ๐
Sorry if this wasnt clear, but cannon was meant for pretty much medium range static plasma cannons
And regarding LRPC stuff, Imo they shouldnt even stencil, and the reason they shouldnt stencil is multiple fold:
- They are of such huge range that they benefit from using a much more detailed circleVBO
- They arent spammed as much
- When they are spammed, they will just mindlessly trash the fragment shader with so much stuff, that it just doesnt make sense to use stenciling on them at all.
If we stencil, we should stencil all ยป consistency
So also LRPC.
It should have it's own layer, and you could tweak settings so the inner-lines are more visible on this.
problem with designating "cannon" is that it's including many units that aren't particularly long range
for defense, that's not the case, the cannons are the long range ones
that's why for attack range I think range should be used
I can see the appeal of having cannon separate for attack too, but if it's between choosing the clutter of long range, vs the clutter of cannon, I'd choose long range every time, since that's more functional
the additional plan for having a "special weapon" stencil for units with multiple weapons to denote a secondary weapon (or in some cases, a primary weapon) makes me think we may want to choose just one of cannon and long range for the 4 existing, before we add the 5th
clutter, imo
we can try it
adding a separate stencil on top of an existing unit to denote a weapon of importance might not be that bad because
- that unit's own rings won't be too cluttery to each other, as the very purpose of having a second/third ring is to be able to see those weapons, and they are always centered on the same target anway, and
- not too many units will have this "special weapon" since it's mostly T3 or big units
still these will interact with all the other ones already existing so you might see the really big rings covering/occluding big sections of space, like if you had a titan or jugger in the middle of a group
I'm more interested in adding one for d-gun though, I can see its importance all throughout the game
current d-gun is buried as an "inner ring" and if you set outer ring fade difference to a high number like we're doing now it fades out really early and becomes invisible
@ivory ridge do you have change-log/release notes for this? it got quite big ๐
I will post all the features after the next major revision
people don't need to know what changed only what is in
I have this strange bug where at a certain point of camera zoom, the attack ranges still show, however they are static and don't update with moving units. It seems to be inbetween the part where the ranges disappear.
It's a side-effect of how the engine hides units at high zoom levels. It will be fixed in the next engine update
for now you can "fix" that by reducing your icon size so your unit models don't get covered and stop rendering
Is there a similar widget for defense ranges that can merge the circles of defensive units?
DefenseRangeGL4
it's already in game but you have to turn it on (and you proably want to turn off the default DefenseRange)
it appears to be pre-installed? Do I just need to hunt down the .lua, or just enable the widget
you can search for "range" in widgetselector and you'll see both
hmmm. I was hoping the defense circles would still be persistent, just merged. defenserangeGL4 only works if you select the defensive units
they are persistent for me
I think there're some options menu items for displaying ally defense
may have to turn those on
do you need to restart BAR to reload LUA, or can you just toggle it off/on to reload during the match
you can just reload the widget through widgetselector
thank you for all your help
I forced d-gun to show at a greater distance and ignore some of the fade params, hopefully it serves as a temp fix until I make other changes to accommodate a separate stencil for it
The likelihood of dguns overlapping is low, so they dont need to be on a stencil layer
I was going to put it on a separate layer with "special weapons" like from T3 units with multiple weapons, but maybe not
I have used this widget for a while and worked perfectly. Suddenly I got this error whenever I select the commander (tested with arm commander) and have Attack Range GL4 enabled. As long as I keep other units selected it works perfectly but selecting the commander disables it. Have you seen this error before @ivory ridge ? May be a conflict with another widget and will investigate more if you have not seen it. I just now took the latest code from Github but same behaviour.
let me look into it
can you look into your LuaUI/Config folder, and find the file "AttackRangeConfig2.lua" and post the file here for me?
something must be wrong there
it would also help me if you post more detailed log, either screenshotted or in your actual log (infolog.txt)
well, I pushed a new version that hopefully has some checks to maybe fix the problem you encountered
if in doubt, just delete the config file I mentioned above (the AttackRangeConfig2.lua file)
Thanks! Did some more testing and it looks to only happen on arm commanders. Not Core.
Here is the AttackRangeConfig2.lua file:
--Attack Range Display Configuration (v2)
return { armcom = { ally = 1, }, armpw = { ally = { [1] = true, }, }, }
yeah it seems like it's corrupted, but I add some fixes so maybe you can simply run the new file and it probably will fix it
if you aren't sure, just delete the "armcom" table there, the whole section including the ,
or if you really want, just delete the whole file since you really have nothing on there
(the config file)
Yea removing the config file did the trick. Works nicely now. Guess the issues can be due to me testing almost all the versions you made ๐ Thanks for the help ๐
so the only way I can think of that caused that setting to happen in the first place is something broke in the helper code I used to store to file, because that's the only part I don't know the exact implementation lol
but hopefully the new code should automatically fix any such error
it looks like LOS is making the ground darker too, isn't that a LOS problem?
LOS without radar is a tad darker than with radar - all okay / intended.
The blending mode for the range-rings was changed and this fixed this issue.
is it possible now to toggle which weapons to show ranges for and which doesnt? eg only dgun for comm?
Ive been cycling through all the different modes via the ","and "." keys as well as using m to turn on and off and I still cant see anything.
yes you can cycle through a unit's rings combinations
the keys are alt+, and alt+.
nice, thx
Like the widget itself doesn't display anything I can see it cycling through the different modes and me turning it on and off but I don't see a visual indicators unless I press A
you should have units selected, or hover over them to see
@torpid hornet
They also should merge (per weapon type).
The rings you see with A are the default range rings from the engine, which will most likely be removed ones this widget is fully ready
What do the circles mean for the Ghost bot?
inner circle is their reveal radius, any unit inside of it will uncloak the spy. Green circle is their buildrange, which for the spybot is exclusively reclaim. Honestly don't know what the blue is
it might be some mock weapon, I have to check their unitdef
actually if it's blue that means it has vtol damage, might be AA-like weapon
or it's not drawn by my widget
yeah it doesn't have any official weapon, so it's not drawn by my widget
the green circle is drawn because of buildrange
Isn't the blue range the EMP range when it is made to self destruct?
no its emp is much smaller than that, it's smaller than its build radius
Ok, I think that's actually the LoS. Not exactly sure what widget causes it tho
remove widgets one by one until you find out ๐
Nice widget.
To make it more colorblind-friendly, I have issues with green-red, it allows me to easily change rings to blue for better visibility.
May help someone with a similar handicap ๐
ground = {
color = { 0.0, 0.22, 1.00, 0.60 },
I'll include a color_blind param and use your color scheme for default ring in next update
Thanks!
I must also say, that your widget that switch from standard colours to simple colours ( https://discord.com/channels/549281623154229250/1114266222696083507 ) is also my personal fav, that I use basically every game.
Thank you for your work and making this game more accessible:)
np ๐ I try to add customization as much as possible because I have always hated not having these options in games I played
I think it's the LOS too. There is an option in the base game (no widgets) to draw the LOS and to colorize it. You can adjust it in the settings (you might need to turn on advanced options), I think it's in the interface tab.
Interface tab -> Ranges
this is the wrong place to ask for information ๐ฆ I am not a pro player, I just make widgets
But you are a pro widget maker with some great widgets under your belt! ๐ฅณ๐ฏ
@ivory ridge Why is it we need to wait for engine upgrade before we can have this "always on" at all zoom levels?
gl.DrawGroundCricle can draw a circle around units and will be always on at all zoom levels:
function widget:DrawWorld()
-- Set color to bright red
gl.Color(1,0,0,0.8)
-- Draw circles around selected units
for i=1, #Spring.GetSelectedUnits() do
local unitID = Spring.GetSelectedUnits()[i]
local x, y, z = Spring.GetUnitPosition(unitID)
gl.DrawGroundCircle(x, y, z, 100, 32) -- Draw circle with radius 100
end
end
yes but it's not GL4 and runs on CPU time which lags the game
see my old attack range widget, it does this, and doesn't scale
hey @ivory ridge i tested the newest version and there is major problem that settings for what ranges to show are not saved between games - specifically i tested this for comm; in my prev version where there was option to just turn on/off ranges it was saved between games
the version that allows you to cycle different display combinations will only read/save into its own file, it's called AttackRangeConfig2.lua
so you have to set units again if you only previously used the version that sets on/off for units
the new version should play a sound effect when you have all weapons enabled or disabled (they are two distinctive sound effects) to help you realize that's the config
as you are cycling through the different combinations
yes, i deleted prev version; I re-set the range for comm to show only dgun+build range - it didnt remember the settting after loading another game
maybe i just need to delete this file AttackRangeConfig2.lua as there is some conflict with old version? and then re-set again ?
can you look at your file?
see if it's updated with new data
if the new data is malformed for whatever reason, then maybe delete it
but otherwise it should work
ok i see this config file gets updated, so the problem might be that its actually not loaded at the start of the game; I also checked if turning on/off widget helps - and it doesnt; this is the config file:
just delete it
I think there's some problem with the code I am using to write to file
I have to redo that part, the code I'm using is in the repo from another file
I wonder if it has to do with migrating from the old version
someone had similar problem way back, the ally = part should be a table, not a number
I wrote a check in the file in the last fix to catch it, but maybe it's not done thoroughly
if you delete the file it should generate it again
ok i tried deleting this file but it doesnt help, i see file gets created 1 more time, but problem persists with no update with new match
I'll look at it tomorrow
I don't get how to change the color of the circles, when i enable the widget, this is what i get
Hmmm that's the old version of the widget, when did you last get it?
Also nice, sg0 okabe PFP it's been a while since I seen that
i mean, i get it yesterday lol
Hmmm from the pinned comment right? That's weird
ok, i re-downloaded it and it work now, i've probably done something wrong while navigating github, it's fixed
thanks
Hello @ivory ridge, first let me thx you for all the widgets you are making ! Sry for the bad quality of the video, when testing this widget I'm having a bit of an issue with the range circle not getting updated at the same "zooming range" as the range at which it starts to appear on the screen. This happens when selecting units and zooming in and out of the range at which the circles are set to be showing.
this is known issue at high zoom-out, no fix right now
it's due to how the engine stops updating unit positions when their models are no longer rendered, and their models stop being rendered when they are completely obscured by their icons. So for now until we have the next engine update (which should be soon), the only way to alleviate this problem is to reduce icon size and/or increase icon fade distance to the point where unit models are still visible at your desired range view
alright good to know thx ^^
New engine out, ping me if you want me to go on stream to help the transition
@ivory ridge you planning to fix this not-loading settings issue?
all range settings are forgotten on starting new game (for comm) ๐ฆ
@ivory ridge I made a pr to your repo with drawPos changes, anything else I can asssist with?
I tested it here, seemed to work
sorry man been kind of busy, I'll look at your code and test it out and let you know!
looks good! I merged the changes, also thanks for the stencil mask fix, I didn't notice it!
Only just got around to it myself as well, its a months old bug XD
I think it also fixed the issue I had with it clipping with some of the other widgets, I thought there was something wrong with draw layer instead, but I guess it was this bug lol
I'm still keeping this +1 from defenserange for now
quite possibly
for the record, draw order is: higher layer numbers first
for "reasons"
yeah for a while I was confused
anyhow, this widget is amazing, ima go on a bit of a vacation, then ill jump into polishing this into gameside
I'm busy these two weeks working on something else, I'm going to fix some of the stuff next week when I get some time and hopefully get this and a few other widgets into production ready state
Currently still on the to-do list are:
- better segregated VAO lists
- fixing the whole malformed config file issue
- adding a tiny but functional UI for config setting in game

is there a way to make the range more thick ?
Yes
Can someone please teach me how to use the pin? I know pinned messages, but I can't seem to find a button for them in this thread.
Edit: Found it, there's a Pins, which opens this entire thread thing, and then I found the pinned messages as per usual. :)
^ was the source of my confusion, hidden behind the dots, still getting used to discord after all these years ;)
Thank you!
tbf the threads thing is quite new
and it IS annoying that you have to open the thread in full view to access pins
First time I see it, but great use case with these widgets!
Please tell me how
change the values for the external and/or internal linethickness here:
local colorConfig = {
--An array of R, G, B, Alpha
drawStencil = true, -- wether to draw the outer, merged rings (quite expensive!)
drawInnerRings = true, -- wether to draw inner, per attack rings (very cheap)
externalalpha = outer_ring_alpha, -- alpha of outer rings
internalalpha = inner_ring_alpha, -- alpha of inner rings
distanceScaleStart = 1500, -- Linewidth is 100% up to this camera height
distanceScaleEnd = 5000, -- Linewidth becomes 50% above this camera height
ground = {
color = { 1.0, 0.22, 0.05, 0.60 },
fadeparams = { 1500, 2200, 1.0, 0.0 }, -- FadeStart, FadeEnd, StartAlpha, EndAlpha
groupselectionfadescale = group_selection_fade_scale,
externallinethickness = 3.0,
internallinethickness = 2.0,
},
nano = {
color = { 0.24, 1.0, 0.2, 0.40 },
fadeparams = { 2000, 4000, 1.0, 0.0 }, -- FadeStart, FadeEnd, StartAlpha, EndAlpha
groupselectionfadescale = builder_fade_scale,
externallinethickness = 3.0,
internallinethickness = 2.0,
},
AA = {
color = { 0.8, 0.44, 2.0, 0.40 },
fadeparams = { 1500, 2200, 1.0, 0.0 }, -- FadeStart, FadeEnd, StartAlpha, EndAlpha
groupselectionfadescale = group_selection_fade_scale,
externallinethickness = 2.5,
internallinethickness = 2.0,
},
cannon = {
color = { 1.0, 0.22, 0.05, 0.60 },
fadeparams = { 1500, 2200, 1.0, 0.0 }, -- FadeStart, FadeEnd, StartAlpha, EndAlpha
groupselectionfadescale = group_selection_fade_scale,
externallinethickness = 3.0,
internallinethickness = 2.0,
},
}```
(for ground / nano / AA / cannon)
quick question for those that are using this widget: are you having issues with config loading/saving for individual units' display change? I haven't spotted issues but not able to do thorough testing just yet, is anyone noticing any issues?
thx
This widget has been updated, fixed some bugs with individual unit weapons display setting and loading, updated widget data load/save integration, and consolidated all style settings into colorConfig table.
If you suspect you have a corrupted AttackRangeConfig2.lua (this file is in LuaUI\Config) please just delete the file and manually set the preference for weapon range display for the units you want again. You can also backup this file after setting it, and restore any corrupted file in the future by copying it back. Hopefully this will no longer be an issue though as the bug was fixed.
would you be open to make the inner rings fadeDistOffset configurable as well from colorConfig, just like outer_fade_height_difference is for outer rings? I play very zoomed out so I have to update this value as well if I want inner rings to ever be displayed xD would help not to have to do it on every update
also I see config data now stores colorConfig, so I take it that means after a first run with the new version of the widget I can just edit the values there instead of in widget ๐
options menu widget needs to be updated to have options in game to set these, we'll see
so the outer fade height difference is added to the inner height, which is the fadeparams
if you want inner to not fade so early, you can just edit those to be larger numbers
you can just change those to much higher and then reduce outer ring height difference to a small number
yes that's what I do right now
so the problem here is we might end up having to make a slider for the fade distance, we'll see
I'm just asking if you'd be open with making it configurable via the config options
so that going forward I don't have to do it manually
the current way of coding it is so it can be set in options menu more easily
since it'll be stored in config options :p
also I don't see a compelling reason to have nano on a separate fade distance
so we might just end up with one slider to control the fade distance, and then maybe another to control the height difference between inner and outer, or a text input field for it
sgtm
I might have to do this myself in options menu, we'll see
ye nw I can continue to do it manually as well, it's just a comfort request
chances are we're making this widget baseline within a week, so hopefully that's a nonissue soon
@spring mauve last step in making this ready for integration, I was told that the hardcoded hotkeys for cycling through individual unit's ring display mode probably shouldn't exist, so should I just make it two custom keybinds? The rest of the stuff with config data setting/loading is all done
right now the hotkeys are alt+, and alt+. and I can make them both custom keybind actions instead, people who want to do the advanced stuff will have to fiddle with custom keybinds
Wait, I completely missed those, and can't test right now... What do those do?
switch the "main" displayed weapon between all available weapons for a unit
you can adjust what rings to display for any given unit type
in lieu of some additional ui for now, it is a simple "cycling" through different combinations of ring displays
so if a unit has 3 rings, you can choose from all 6 (7) different configs, and then it's saved for all future games
Please make them custom actions. It's very cool functionality but it's niche and most players won't use it, we don't need more keys bound by default than we have already
ill work on the options api so you/widgets can add/remove (their) options
not as a good way to implement options, but to set them up and test
I have another suggestion @ivory ridge: instead of cycling through all available combinations of true/false for a unit's weapons, what do you think about always showing all weapons as "secondary" (it would be merged with "inner circles" and thus would be dimmed at a distance / in groups) and have the cycling pick the "main" weapon to always display (it would be merged with "outer circles")?
some units especially at T3 have multiple weapons, with a bunch of secondary weapons being longer range than their main weapon, e.g. Thor has EMP outranging its main cannon, Shiva / Titan / Juggernaut all have rocket launchers outranging their main cannons/lasers
in the current system, if we want to have the proper "main" weapon shown as the default range (outer circle), we must disable displaying the longer range weapons (example in screenshot: Shiva's default range is the rocket's range, and if we want to make the default cannons be the default one we must disable displaying rocket's range, there is no way to keep the rocket's range displayed but dimmed)
so essentially, instead of having the config store all the weapons as true/false:
corshiva = {
ally = {
[1] = true,
[2] = false,
},
},
we would have a single weapon marked as primary:
corshiva = {
ally = [1],
},
so it's a technical problem because there's no distinction other than stencil mask
if multiple things are on the same stencil mask, any occluded ring sections are considered inner, and any outer edge rings will be considered outer
it was considered before to have each unit's "main" weapon on its own stencil mask so that you could manipulate alpha of the "secondary" altogether
it was too much work for me so I sort of abandoned it, it means I'll have to go through all the units and manually label which one is primary
I could technically implement the separate stencil mask and make it so there's a keybind to cycle through the weapons and "set" the main weapon in config file and have someone else go through it and do the work then load it as the default version
I think some people will still want the option to just remove some rings though, so I basically have to have a separate marker for main weapon in that case, and still allow the same kind of config setting now to let people remove the display of some ranges
I'm thinking adding two sliders to options menu, it turns out people need to change the range of the fades, one should modify colorConfig.outer_fade_height_difference and another should modify colorConfig.ground.fadeparams , colorConfig.nano.fadeparams, colorConfig.AA.fadeparams, and colorConfig.cannon.fadeparams at the same time, I can modify the options menu code myself if you have the basics set up
what's likely to happen is I'll have some basic options in the options menu and then just save colorConfig as a config file and let power users override using the file
I'm happy to do the categorization for the default version if you'd like to go that route
the issue I foresee though is that the default config would need to be continuously updated at the same time units are updated
I think here the appropriate route would probably be to instead have the "default" weapon for a unit be marked in the weapons definition itself, and then the widget leverages it
it may even be there's something already that does that? because for example if you issue an Attack command to a Jugg or Shiva, it will stop at the maximum range available for their rocket launcher, but if you issue an Attack command to a Thor or Titan, it will stop at the maximum range available for its laser ๐ค
so maybe the behaviour difference actually stems from the fact Titan's rocket has a NOTSUB target flag
https://github.com/beyond-all-reason/Beyond-All-Reason/blob/fba20cd9a6467e35446a48215457843a4683e1a0/units/ArmGantry/armbanth.lua#L279-L282 whereas Shiva and Jugg both have a SURFACE target flag https://github.com/beyond-all-reason/Beyond-All-Reason/blob/fba20cd9a6467e35446a48215457843a4683e1a0/units/CorGantry/corshiva.lua#L195-L199 and https://github.com/beyond-all-reason/Beyond-All-Reason/blob/fba20cd9a6467e35446a48215457843a4683e1a0/units/CorGantry/corkorg.lua#L343-L347
in any case I believe it should be possible to define one of these weapons as main directly in this definition list? does this make sense?
changing unitdef is not something that can just happen, especiall if it involves many units, I hate dealing with it because a lot of it is undocumented
the simplest way is let user decide what is main weapon
I was thinking this could also help in terms of general UX since for example the discrepancy above for where do units stop when they have multiple weapons is kinda weird... why would the Titan properly go into laser range and not the Jugg, right :p
but I do not know the implications of messing with unit defs so since you say it's not that simple I guess let's just forget it for now
Is there also a way to change the collor ? Like a more pronounced red ?
yes you can change the color of the different units in the same colorConfig table
Thing is idk what 1 0,2 etc is
color = { 1.0, 0.22, 0.05, 0.60 },
R, G, B, A (alpha)
use this to help you: https://www.tydac.ch/color/
thank you
use RGB FME
yw
i got this error, version I'm using is a few weeks old fwiw
the last two rows:
[t=03:44:56.231534][f=0031656] Error in UnitCommand(): [LuaVBOImpl::Upload] Invalid luaStartIndex [1] exceeds table size [0]
[t=03:44:56.231542][f=0031656] Removed widget: Attack Range GL4
is this during late game?
there was an issue with units dying en masse really fast and producing some errors during the VBO table data filling
but it only really occurs when shit hits the fan
oh if you haven't updated in a few weeks, you need to as the engine upgrade last week required some code changes
@ivory ridge can your widget also always show buildrange on f.e. the Commander?
of course
is that preferrable though?
the list of "always on" displays are getting longer
I guess for commander it's reasonable
the thing is somebody already made a widget to always show enemy commader's dgun range, which is funny because it is basically a few lines change in this widget if I want to make it always on
just makes for more and more always on range displays
btw @junior gust I need you to show me how to extract models and create pose with them when you got time, I want to make AI art in more poses but I have zero idea on how to do that
no, it's a request from someone
for default i would keep that all off.. since it clutters, and it's only for pro-higher-level players
Making poses will need you to have access to the original Blend file, or have specially expored OBJ files with separate pieces.
Them do the pose, and then render use that as a base file for AI.
Even though while AI art is awesome, I'm still not convinced it works (yet).
All the custom textures/details (and flaws) make it look like an entire different unit imho.
Ideally, if we'd want to use AI generated art for whatever loadingscreen, background, promotion, it should look properly textured and be as close to the actual in-game unit as possible.
You should obviously choose whatever you like to do and what makes you happy, though I think f.e. your widget skills are 100 times more valuable with regards to really helping BAR forward.
is this configurable in the widget?
and have you been in touch with the core-dev team about integrating this widget into the default list and also get more settings in the in-game menu?
You no longer need the blend file, skeletor can make those quite quickly
directly from the s3o ?
yes
do you have a direct link to skeletor for @ivory ridge
I downloaded a (most likely old) s3o import tool for Blender and it doesn't work, although I have 2.8 version of Blender, as per Ptaq's requirement when he was telling me
it's not a big deal but I just want to learn how to make poses myself, instead of having to go into game and navigate through the free camera and timing a screenshot
afaik Floris was going to update options widget to give me something so I can test my settings, haven't heard back from him
I am saving colorConfig and the major config variables in config data and it should be fairly easy to just flat out edit the styles or other values,
I'm not trying to make art that can be used for promotional purposes or whatever, I'm making AI art because it's fun and I am learning the workflow for generative AI stuff because I can use it for other things
it just happens that I can also make cool images for BAR. I know textures are often random and hard to control for, but that might change in the near future with more controlnet functionality and additional control elements added to stable diffusion, it's an incredibly powerful tool to use if mastered
Tbh I don't see anything wrong with unofficial promotion through AI art using our assets, it's not false advertising and not aimed to clickbait people, it's just side hustle. I posted the Shiva images I made in a telegram channel where I hang out with some of my trader friends, and I immediately got a bunch of questions and inquiries into the game itself
The widget somehow stopped working . I can't figure out what happened. I restarted the game multiple times. I deleted and copied again the raw text from github. Somehow it doesn't want to show. I added no new widgets
i am having the same problem
the widget is not showing up in the local folder and i have downloaded the most recent one
it was working fine, but now nothing.
same here widget stopped working out of a sudden
anyone know how to manually increase the visibility of the build radius?
It is a strange experience, and also very addicting in a weird way
I've been there, all those super fancy images, all with proper lighting, balance, contrast..
i think at nano you need to change line thickness
Well to be honest, that is a really good 'side-hustle' indeed
and/or opacity
I donโt see nano listed under settings. I was talking about the commander build radius.
anyone can give me an solution how to make the widget work again please ๐
hm strange it's gone for me too
ye im so used to it i cant play without it anymore lol D:
also it doesnt show in widget selector
a bunch of other widgets don't show up now
#1133439159596490934 message
well I was going to spend the next few hours working on my widgets but I guess I'll take a break and go watch John Wick 4 instead ๐
Something in the base game must have broken the widget. I haven't updated for weeks and it suddenly stopped working.
The widget doesn't even show in the list anymore. I reverted my game back to a known working state (my game files are in git, I'm weird), but it's behaving different now, the widget doesn't even show in the list.
RIP to my favorite widget. ๐ญ
i buildin support for that last saturday :p
but yeah rudimentary
havent fully tested it
but i can make options show up
like if you add this to your widget
-- add options to settings
if WG.options then
WG.options.addOption({ id = "attackrange", group = "custom", category = 2, name = "shift only", type = "bool", value = shift_only, description = "show ranges only when shift is pressed",
onload = function(i)
end,
onchange = function(i, value)
end,
})
end
end
function widget:Shutdown()
if WG.options then
WG.options.removeOption("attackrange")
end
end```
then it will show up in the new custom tab in settings
but i havent actually tested the onload / onchange functions
I'll try this, thanks
also it will always force the group param to "custom" (but this way you could set other stuff to indicate/prepare for where they should be placed if integrated in game package)
category param: 1 = basic, 2 = advanced 3 = dev
i use some version of this widget from like 2 weeks ago and it stopped working suddenly, its some engine changes?
#1133439159596490934
tldr: delete "handler = true" from the top of the file
tried this but doesnt work, it shows "nil value)" in chat and then "removed widget..."; ok nvm I just DLed newest ver and it works; but now I have to reconfigure the params ๐ thx! would be nice to have all configurable values in separate config file since this widgest is having a lot of upgrades
Oh yeah, I think
widgetHandler.actionHandler:AddAction(self, "cursor_range_toggle", ToggleCursorRange, nil, "p")
needs to become:
widgetHandler:AddAction(self, "cursor_range_toggle", ToggleCursorRange, nil, "p")
Along with deleting handler = true , this makes it work for me
file is updated with fixes, but currently one of the keybinds doesn't seem to work, I'll continue to look into it
sorry folks, I didn't cause this ๐
okay update: so the widgetHandler stuff is reverted, if you made changes to your own files you might want to grab the latest file again or revert your changes
I am investigating why the cycle backward key isn't working right now, but the cycle forward one works
I hope that in the inevitable changes done to allow people who want to play without "cheat widgets" to do so, those of us who have hand/wrist/brain issues, and/or really, REALLY want to play with "QoL-heavy-widgets", will still be able to do so.
My interest in BAR is a big portion due to TA/SC, but the rest is decidedly the QoL provided by builtin or widgets, and the opensource nature of this project.
I've done more setting up/looking at widgets than actual playing. And if widgets with... "powerful features" suddenly won't work at all anymore, I would be devastated...
Thanks for all your work in any case.
so I'm going to do that for the colorConfig, I'm going to save it at a local file in addition to saving it to configData, I had to do the latter for options menu additions but I will also save/load override using an additional local file
most likely the style (colorConfig) will be saved in its separate config file, different from the current config file for the different units' weapons
so you can share only the style and not all the unit weapon configs
I work to provide additional features, I have a personal philosophy on what the game should be and will make widgets according to that, but I have no problem if others have differing views and make other widgets, I just don't want to waste time doing something that won't get used anyway. I think the issue right now with devs is a matter of communication. There's no intention to cripple and sacrifice QoL for the sake of anti cheat
Latest version works?
yes
Main question: when this widget will be added to official built in widget list? Cause i wanna play custom widgets=off with it
soon trademark
use skeletor s3o imo
What's the error message in infolog.txt?
thx, nvm was my mistake cause I had 2 versions in 2 files
I notice strange thing - I have made comm show only dgun range - when watching replays all comms from 1 side in 8v8 have it properly, while other side has laser range+build
all units are categorized into friendly and enemy, adjusting display for your comm only changes the friendly comm setup, when speccing, you are always on one side
so the other half are categorized as enemy
if you want to change enemy display, just do the same config on an enemy comm
i'd like to show the outer range rings much further (like 15000) range...
a must-have for long range cannons, but also handy to see ranges of most units on max zoom out
however, I'd like the inner rings to still disappear sooner, around 3000 f.e.
here I'd like the inner rings to not show:
how do i do that?
(PS. i have disabled the engine range colors for attack and build to 0)
@ivory ridge
so these fade params are dictating the inner rings:
and this one is dictating the difference
outer effectively = fadeparams + difference
so just increase those numbers
I'll have a slider for those in options
so there's still the cannon_separate_stencil = false flag, if you want cannons to be split off to their own stencil layer and set a super long range for them, you can too, just set that flag to true, and modify cannon's fadeparams to be even larger numbers
let me know what additional settings I ought to include in options menu, I want to include everything if I were allowed but I don't think I can, so I'll likely include like 5-6 most useful ones
but if an argument can be made about something being extremely useful that isn't even there now, I can add it too
making inner rings optional is good idea, it's useful for thug/hound skirmishing when you need to be precise about how many units are in range of enemy comm/hounds/etc
internalalpha can be set to 0 to make innerrings disappear
currently the way inner rings fade when you have a ton of units selected makes sure that it's not overcluttering, the number of units to fade it out completely can be tweaked still
yeah good point.
if i'm at 5k zoom level (probably not 7k+), i'd want to see inner rings in 8 thug vs 8 thug skirmishes, but you are right that at > 25 units it becomes noise and detrimental to both visuals and gameplay
unless i have multiple different unit types selected (e.g. sniper + welder) and a discrete inner ring is there to show what the welder's range is (not sure if that's how it's currently implemented, i'm just thinking off the cuff that that would be useful)
i'm sure that point has been discussed above at some point though
note that the range display is per selection group, so if you have separate control groups for those, you'll still instantly see what the ranges are, it's only if you have a ton of different units grouped in the same group that the rings start to overlap a lot
my old widget that uses area overlap to show coverage is too cluttering, and because the alpha level gets stacked you end up with overbright areas
it wasn't anywhere close to ideal, it was an idea and it didn't work that well even if it provided some utilty
with this widget you can still get that overlap (the solid color option is there, you can increase the fill alpha which by default is very low), but as default you won't notice it very much
I've noticed some range indicators (like the built-in LOS indicator) have thick lines, but the range indicator lines in this widget are too thin. I hope you can see that in the screenshot. Is there anyway we can get a little more thickness to the range indicator lines?
innerrings only makes sense with nanotowers imo
Some players use them to get an idea of weapon coverage, though I personally find them more cluttering than useful. Indeed on nanos they are useful.
pinned message
this was the way for me, i was able to download the file. the link errrrr provides is just the the code with no option showing for me to download as a lua file.
@native heron this is the widget we talked about
So, how can we help push this into the base game? What's left to do here?
settings? ๐ค
I was adding it locally earlier this week so there is that

I think there is still the issue of range not updating (IE when unit moves) when you are above a certain zoom-level but I may be on old version. Maybe disable the drawing of the range-circles when you are above the zoom-level where it cannot update?
this has been fixed - or code should be updated to use the new engine-feature.
Yes tested it now with the latest version (July 20, 2023) and now it works as intended on all zoom-levels ๐
it has been added to the game
Awesome! ๐
Awesome!!
Next up: Defense Range GL4
PS. locally i play with disabled (transparent) cmdcolors_icexuick.txt - it's not needed anymore for me and cleans up the UI a lot.
//
// Selected Range Rendering
//
selectedLineWidth 2.0
selectedBlendSrc src_alpha
selectedBlendDst one_minus_src_alpha
rangeAttack 1.0 0.3 0.3 0
rangeBuild 0.3 1.0 0.3 0```
f.e. when you have a huge group of units selected and hover over an enemy unit, normally it would display all the attack-ranges of these units, with no stencilling etc. Setting this to 0 alpha will remove them - it's awesome.
Would this be something wise to do with the settings/widget being added to the game as well?
@icy dune
is it intended that colorConfig is ignored from the config data in the version of the widget that's been merged?
I was hoping to manually tweak outer_fade_height_difference... ๐
another one who really dislikes all the overlapping range rings: #๐ค๏ฝbar-socials message
Who could take on a new widget, based on this great one, but for all defense lines?
there's already defense gl4 in base game no? just not enabled by default
Oh yes - I forgot. I though this wasn't still fully ready, or at least some config stuff from this widget could perhaps be unified?
It might be better to have 1 widget control both and make these settings a toggle?
And also there still is the engine range rings iirc? Or are they allready disabled?
Need to dive into this, though I can't do today
so can this already be made official and part of default game? would be nice to have it for next tournaments
been using this for months and its so OP and no bugs in my use case
needs a lot of config work, IMO its considerably worse than the default defense range widget
it is in the game as of a couple weeks ago
thx I see, but how do I configure it? which file do I have to modify? in custom widget I got it modified to not show inside overlapping circles and not paint inside red
To modify it you have to have a local copy that overrides the built-in version. I'm pretty sure that will not work with the tourney settings
would need a more robust configuration system for widgets to make that possible
yes i have it in widget folder and it works with my settings only when customwidgets are allowed; when custom are off then I have this bad/default settings
yes, i have the same feeling - on the other hand i thing this Attack Range GL4 is considerably better.
Porting this to a new Definitive Defense Range GL4 widget would be my proposal.
@icy dune you were working on settings sliders for the attack ranges widget no?
"Inner rings currently dim with larger group size, the dim factor can be set to preference."
Where can i set this dim factor?
@ivory ridge could you perhaps also make this work for the anti-nukes?
I'm pretty sure antinuke is included in the defence range widget
yes, but it doesn't do the stencilling
not sure if stencilling is even desired for anti's
Stenciling anti is in defense range gl4, and I also think we decided we dont want stenciling for antis
I think this should be stencilled just like attack ranges, where outer-range is thick, inner ranges are more subtle.
I've seen too many games with just yellow circles cluttering the UI way too much.
Yeah, i have pred a fix for that
that PR was merged today
it fixed the typo
but can't automatically fix user widgets
it also combines with user versions lacking this fix: https://github.com/beyond-all-reason/Beyond-All-Reason/pull/2630 (without it, the widget endlessly logs errors if there's a shader error)
To summarize:
the issue is a typo in custom versions of gui_attackrange_gl4.lua. This typo was recently fixed in the core game, meaning that custom versions now have a mismatched function name.
gui_attackrange_gl4.lua is now built in to the game, so the best way to fix this is probably just to remove the custom version.
if you'd like to keep it anyways, the direct fix is to do a find/replace for "heighmapUVatWorldPos" and replace it with "heightmapUVatWorldPos" within that widget's code.
For those of you wondering why your UI disappears or you get a "uniform cannonmode" error. This is the issue.
without this I'm not seeing attack ranges for my selection being displayed, which I liked. Is that something the build-in version supports too? Is there a setting I've not seen?
so how do i fix or download the latest version
the current version im running on disables the view of ingame chat
gui_attackrange_gl4.lua is now built in to the game, so the best way to fix this is probably just to remove the custom version
Ye
Is this why, suddenly, if I turn on my local Attack Range GL4 widget it drops my FPS from 130 to 15? 
I'll just, I'll just... delete it since I clearly can't use it in a real game anyway. 
Oh yeah, that fixed it. 
Now I can use it AND it's not trying to blow up my PC! 
This system was ported into the vanilla game.
And atm it's hard for us to detect the extra version you still had.
My friend had the same issue, and indeed removing the old custom widget solves everything!
Glad you found this out yourself!
@ivory ridge a small report on colorblind widgets
there are 2 different keybinds mentioned in the widget, and this are confusing
in the description you says that p is the key
in the bottom you says that the bind is alt-o
er, sorry I looked at my own readme and it says alt+, (comma) and alt+. (dot) are the cycle hotkeys
this functionality was added towards the end so the hotkey was hardcoded, there was concern that maybe normal users wouldn't care/want to touch this
ideally it should be coded as a normal keybind, but then you have to set it yourself first to use it
wait, maybe I misread your report? do you mean the other widget?
oh nvm, I read the team color widget comments, it was supposed to be alt-p but the comments down in the file got skipped in the update
Ah Sorry I'm totally out of topic
With the custom widget I had the ability to tweak the line thickness, colors, which helped tremendously. Now that's it's incorporated into the game, is this no longer possible?