#Attack Range GL4 (use pin to go to download post!)

1 messages ยท Page 2 of 1

ivory ridge
#

yes just like the current toggle control, it's already saved between games

#

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

night needle
#

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

junior gust
spring mauve
#

I am overjoyed to see your perseverance, Err โค๏ธ

#

We doooo....

#

But its wip

ivory ridge
#

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

night needle
#

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)

ivory ridge
#

although I'm not sure if it should, but we'll go with that for now

night needle
night needle
ivory ridge
#

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

night needle
#

I did at exact zoom (cause I use zoom limiter in settings), its easy to reproduce

ivory ridge
#

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

night needle
#

so what you say would mean that corcom is ok but armcom actually has too long range?

ivory ridge
#

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

night needle
#

so maybe move this finding to my thread?

#

because u confirmed problem exists

ivory ridge
#

and actually, armcom's range is slightly longer than the dgun engine aim circle

night needle
#

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

ivory ridge
#

this where the dgun can actually be fired to for armcom

#

I'll post my findings in your thread

night needle
ivory ridge
#

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 ๐Ÿ˜„

native star
#

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.

ivory ridge
#

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

ivory ridge
#

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

spring mauve
spring mauve
ivory ridge
#

I like how there are 30 dguns in there

junior gust
#

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,
                },
            },```
ivory ridge
#

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

ivory ridge
#

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

ivory ridge
#

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

icy dune
#

its only as a param in the unitdef weapons table

#

unitDef.weapons[i].onlyTargets.vtol

ivory ridge
#

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, }

spring mauve
#

At least its there XD

junior gust
#

@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.

ivory ridge
# junior gust seems it's done with this. `customparams = { speceffect = "...

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

ivory ridge
ivory ridge
#

I don't think this unit's firing mode is done yet, it's not usable

ivory ridge
junior gust
#

that one usually is about 5-15 minutes behind

#

^ this works but spread fire does not

ivory ridge
#

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

junior gust
ivory ridge
#

do you mean it is not viable to turn a ring completely off?

junior gust
#

what is the main use of cycling these?

ivory ridge
junior gust
ivory ridge
#

the UI will come, this is temporary holdover measure

#

I build this so I can use this for the UI version later

junior gust
#

nice with those sounds

#

latest/highest config number = default?

#

and config 0 = all off

ivory ridge
#

highest number is "everything on"

#

yeah

#

it's a bitmap

junior gust
#

armaak has 31 configs ๐Ÿ˜„

ivory ridge
#

try juggernaut ๐Ÿ˜„

junior gust
#

armepoch 127

ivory ridge
#

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

junior gust
#

do you have more things on the todo in terms of bugs/usability/features?

ivory ridge
#

if you want you can go to the config file and manually turn things on/off

junior gust
#

apart from changing to the new engine pos-buffer

ivory ridge
#

the weapons are in order, the table is just a list of booleans

ivory ridge
junior gust
#

where was the config saved?

ivory ridge
junior gust
#

ah nice

ivory ridge
#

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

junior gust
#

I personally think this is a bit overengineering of this user-specific stuff.

ivory ridge
junior gust
ivory ridge
#

no, can you point me to it? I might have missed it

junior gust
#

#1116113134848057507 message

ivory ridge
#

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"

junior gust
#

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

ivory ridge
ivory ridge
#

those will get specialized color/alpha too

#

so you can config them

junior gust
#

ok got to get the kids to bed - i'll be back later

native star
#

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)

violet geode
#

does this highlight construction turret range?

copper vine
#

Yes

ivory ridge
#

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

native star
#

ty @ivory ridge

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

spring mauve
#

Where I havent played a game in 2 weeks ๐Ÿ˜›

#

Also, there is no rush, ensure that you relax a bit ๐Ÿ™‚

junior gust
#

@spring mauve I would LOVE to get this in the defense ranges widget.. to get rid of all this clutter:

ivory ridge
#

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 ๐Ÿ˜„

fast blaze
#

gl4 defense range widget adds a ton of clutter as well, especially with the really thick always-on AA and antinuke circles

night needle
native star
fast blaze
#

most likely yes

ivory ridge
#

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

ivory ridge
ivory ridge
#

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

spring mauve
#

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:

  1. They are of such huge range that they benefit from using a much more detailed circleVBO
#
  1. They arent spammed as much
#
  1. 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.
junior gust
#

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.

ivory ridge
#

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

junior gust
#

Sounds okay. But why not add 6th/7th?

#

Perf?

ivory ridge
#

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

  1. 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
  2. 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

night needle
#

@ivory ridge do you have change-log/release notes for this? it got quite big ๐Ÿ˜„

ivory ridge
#

people don't need to know what changed only what is in

deep oyster
#

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.

fast blaze
#

It's a side-effect of how the engine hides units at high zoom levels. It will be fixed in the next engine update

ivory ridge
deep oyster
#

Is there a similar widget for defense ranges that can merge the circles of defensive units?

ivory ridge
#

it's already in game but you have to turn it on (and you proably want to turn off the default DefenseRange)

deep oyster
#

it appears to be pre-installed? Do I just need to hunt down the .lua, or just enable the widget

ivory ridge
#

you can search for "range" in widgetselector and you'll see both

deep oyster
#

hmmm. I was hoping the defense circles would still be persistent, just merged. defenserangeGL4 only works if you select the defensive units

ivory ridge
#

I think there're some options menu items for displaying ally defense

#

may have to turn those on

deep oyster
#

do you need to restart BAR to reload LUA, or can you just toggle it off/on to reload during the match

ivory ridge
#

you can just reload the widget through widgetselector

deep oyster
#

thank you for all your help

ivory ridge
#

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

spring mauve
#

The likelihood of dguns overlapping is low, so they dont need to be on a stencil layer

ivory ridge
outer latch
#

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.

ivory ridge
#

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)

outer latch
#

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, }, }, }

ivory ridge
#

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)

outer latch
#

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 ๐Ÿ™‚

ivory ridge
#

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

paper sapphire
#

it looks like LOS is making the ground darker too, isn't that a LOS problem?

junior gust
#

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.

night needle
#

is it possible now to toggle which weapons to show ranges for and which doesnt? eg only dgun for comm?

torpid hornet
#

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.

ivory ridge
night needle
torpid hornet
#

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

junior gust
#

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

quartz notch
#

What do the circles mean for the Ghost bot?

fast blaze
#

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

ivory ridge
#

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

copper vine
#

Isn't the blue range the EMP range when it is made to self destruct?

fast blaze
#

no its emp is much smaller than that, it's smaller than its build radius

quartz notch
#

Ok, I think that's actually the LoS. Not exactly sure what widget causes it tho

ivory ridge
#

remove widgets one by one until you find out ๐Ÿ˜›

analog kindle
#

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 },

ivory ridge
#

I'll include a color_blind param and use your color scheme for default ring in next update

analog kindle
ivory ridge
shy brook
#

Interface tab -> Ranges

ivory ridge
#

this is the wrong place to ask for information ๐Ÿ˜ฆ I am not a pro player, I just make widgets

outer latch
native star
#

@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
ivory ridge
#

see my old attack range widget, it does this, and doesn't scale

night needle
#

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

ivory ridge
#

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

night needle
#

maybe i just need to delete this file AttackRangeConfig2.lua as there is some conflict with old version? and then re-set again ?

ivory ridge
#

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

night needle
ivory ridge
#

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

night needle
#

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

ivory ridge
#

I'll look at it tomorrow

reef gale
#

I don't get how to change the color of the circles, when i enable the widget, this is what i get

copper vine
#

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

reef gale
#

i mean, i get it yesterday lol

copper vine
reef gale
#

ok, i re-downloaded it and it work now, i've probably done something wrong while navigating github, it's fixed

#

thanks

wicked berry
#

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.

night needle
ivory ridge
# wicked berry Hello <@276073102939521025>, first let me thx you for all the widgets you are ma...

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

wicked berry
#

alright good to know thx ^^

spring mauve
night needle
#

@ivory ridge you planning to fix this not-loading settings issue?

#

all range settings are forgotten on starting new game (for comm) ๐Ÿ˜ฆ

spring mauve
#

@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

ivory ridge
#

looks good! I merged the changes, also thanks for the stencil mask fix, I didn't notice it!

spring mauve
ivory ridge
#

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

spring mauve
#

for the record, draw order is: higher layer numbers first

#

for "reasons"

ivory ridge
#

yeah for a while I was confused

spring mauve
#

anyhow, this widget is amazing, ima go on a bit of a vacation, then ill jump into polishing this into gameside

ivory ridge
#

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
junior gust
misty falcon
#

is there a way to make the range more thick ?

junior gust
#

Yes

dapper stone
#

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. :)

junior gust
dapper stone
#

^ was the source of my confusion, hidden behind the dots, still getting used to discord after all these years ;)
Thank you!

knotty galleon
#

and it IS annoying that you have to open the thread in full view to access pins

dapper stone
#

First time I see it, but great use case with these widgets!

misty falcon
junior gust
#

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)

cosmic axle
#

attaack

#

ck

ivory ridge
#

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?

ivory ridge
#

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.

knotty galleon
#

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 ๐Ÿ™‚

ivory ridge
ivory ridge
#

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

knotty galleon
#

yes that's what I do right now

ivory ridge
#

so the problem here is we might end up having to make a slider for the fade distance, we'll see

knotty galleon
#

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

ivory ridge
#

the current way of coding it is so it can be set in options menu more easily

knotty galleon
#

since it'll be stored in config options :p

ivory ridge
#

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

knotty galleon
#

sgtm

ivory ridge
#

I might have to do this myself in options menu, we'll see

knotty galleon
#

ye nw I can continue to do it manually as well, it's just a comfort request

ivory ridge
#

chances are we're making this widget baseline within a week, so hopefully that's a nonissue soon

knotty galleon
#

such fast

#

very agile

#

much value

ivory ridge
#

@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

stable peak
#

Wait, I completely missed those, and can't test right now... What do those do?

knotty galleon
#

switch the "main" displayed weapon between all available weapons for a unit

ivory ridge
#

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

fast blaze
icy dune
#

not as a good way to implement options, but to set them up and test

knotty galleon
#

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],
    },
ivory ridge
#

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

ivory ridge
# icy dune ill work on the options api so you/widgets can add/remove (their) options

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

knotty galleon
#

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 ๐Ÿค”

#
#

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?

ivory ridge
#

the simplest way is let user decide what is main weapon

knotty galleon
#

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

misty falcon
ivory ridge
misty falcon
junior gust
misty falcon
#

thank you

junior gust
#

use RGB FME

junior gust
native star
#

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
ivory ridge
#

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

ivory ridge
junior gust
#

@ivory ridge can your widget also always show buildrange on f.e. the Commander?

ivory ridge
#

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

junior gust
#

for default i would keep that all off.. since it clutters, and it's only for pro-higher-level players

junior gust
# ivory ridge btw <@162544899789553664> I need you to show me how to extract models and create...

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.

junior gust
#

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?

spring mauve
junior gust
spring mauve
#

yes

junior gust
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

ivory ridge
#

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,

ivory ridge
#

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

misty falcon
#

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

fallen adder
#

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.

eager kayak
#

same here widget stopped working out of a sudden

fallen adder
#

anyone know how to manually increase the visibility of the build radius?

junior gust
#

I've been there, all those super fancy images, all with proper lighting, balance, contrast..

misty falcon
junior gust
junior gust
fallen adder
#

I donโ€™t see nano listed under settings. I was talking about the commander build radius.

eager kayak
#

anyone can give me an solution how to make the widget work again please ๐Ÿ˜„

ivory ridge
#

hm strange it's gone for me too

eager kayak
#

ye im so used to it i cant play without it anymore lol D:

#

also it doesnt show in widget selector

ivory ridge
#

a bunch of other widgets don't show up now

quick lion
#

#1133439159596490934 message

ivory ridge
#

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 ๐Ÿ˜›

shy brook
#

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.

fallen adder
#

RIP to my favorite widget. ๐Ÿ˜ญ

icy dune
#

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

icy dune
#

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

night needle
#

i use some version of this widget from like 2 weeks ago and it stopped working suddenly, its some engine changes?

native star
night needle
native star
ivory ridge
#

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 ๐Ÿ˜›

ivory ridge
#

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

dapper stone
#

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.

ivory ridge
#

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

ivory ridge
# dapper stone I hope that in the inevitable changes done to allow people who want to play with...

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

ivory ridge
night needle
#

Main question: when this widget will be added to official built in widget list? Cause i wanna play custom widgets=off with it

stable peak
#

:tm:

#

soonโ„ข๏ธ

native star
#

What's the error message in infolog.txt?

night needle
night needle
#

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

ivory ridge
#

so the other half are categorized as enemy

#

if you want to change enemy display, just do the same config on an enemy comm

junior gust
#

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

ivory ridge
#

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

native star
#

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

ivory ridge
#

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

native star
#

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

ivory ridge
#

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

shy brook
#

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?

night needle
junior gust
#

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.

junior gust
#

pinned message

main verge
#

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.

outer latch
#

@native heron this is the widget we talked about

stable peak
#

So, how can we help push this into the base game? What's left to do here?

knotty galleon
#

settings? ๐Ÿค”

junior gust
#

yes i think so

#

@icy dune ?

icy dune
#

I was adding it locally earlier this week so there is that

main verge
outer latch
#

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?

junior gust
outer latch
icy dune
stable peak
#

Awesome! ๐Ÿ˜„

junior gust
#

Awesome!!
Next up: Defense Range GL4

junior gust
#

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

knotty galleon
#

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... ๐Ÿ˜…

junior gust
#

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?

knotty galleon
#

there's already defense gl4 in base game no? just not enabled by default

junior gust
#

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

night needle
#

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

fast blaze
fast blaze
night needle
fast blaze
#

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

night needle
junior gust
#

@icy dune you were working on settings sliders for the attack ranges widget no?

marsh marsh
#

"Inner rings currently dim with larger group size, the dim factor can be set to preference."

#

Where can i set this dim factor?

junior gust
#

@ivory ridge could you perhaps also make this work for the anti-nukes?

ivory ridge
#

I'm pretty sure antinuke is included in the defence range widget

junior gust
icy dune
#

not sure if stencilling is even desired for anti's

spring mauve
#

Stenciling anti is in defense range gl4, and I also think we decided we dont want stenciling for antis

junior gust
knotty bronze
spring mauve
#

Yeah, i have pred a fix for that

ocean quail
#

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)

GitHub

This widget has handler=true, so widgetHandler:RemoveWidget(...) requires an argument, usually self. Unfortunately self doesn't exist in a standard local function, so we need to pass widget.
Wi...

#

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.

brave folio
#

For those of you wondering why your UI disappears or you get a "uniform cannonmode" error. This is the issue.

violet kraken
#

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?

blazing lion
#

so how do i fix or download the latest version

#

the current version im running on disables the view of ingame chat

marble anvil
#

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

blazing lion
#

how do i do that?

#

do i delete this file entirely?

copper vine
#

Ye

arctic vortex
#

Is this why, suddenly, if I turn on my local Attack Range GL4 widget it drops my FPS from 130 to 15? lilyWhat

#

I'll just, I'll just... delete it since I clearly can't use it in a real game anyway. lilyBlush

#

Oh yeah, that fixed it. lilyHappy2

#

Now I can use it AND it's not trying to blow up my PC! LilyJoy

junior gust
marsh sun
#

@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

ivory ridge
#

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

marsh sun
deep oyster
#

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?