#dev_rc_branch
1 messages ยท Page 24 of 1
nearestTerrainObjects with multithreading is 2x as fast if most objects are filtered out, but about 3x slower if trying to return all objects :harold:
Best solution would be if caller could say if he wants multithreading or not, he will know if he expects lots of results or only a few.
But I'm too lazy to do that
omg I just dared to look at "nearestObject" implementation and just now realized how bad it is 
You provide a center pos. The command internally has a hardcoded range of 50m around that center that it searches in.
It goes through ALL grids in the radius, and if it finds one it just adjusts the radius, so all objects that are further than the found one are ignored. And then it continues iterating through all other grids.
What it COULD have done instead.
Start with the grid that pos is in, if none found, try the grids around it, if none found the grids around them, ...
So on stratis it iterates through all objects in 36 grid tiles around center pos, even if the object is just 1cm away from the center pos you defined
can't an object be in multiple tiles? after all objects have bounds 
they're not just points
no it doesn't do that, a position of an object is a point.
Oh yeah, I ran into this. nearestObject is far slower than nearestObjects for a lot of cases where you'd naturally use nearestObject.
yeah like if player shot a projectile and you wanted to find it (like some do in Fired EH), using nearestObjects with like 5 meter range is much more efficient than using nearestObject
While we're at it, I could really do with some sort of nearestPosition and nearestMarker functions :P
"nearestPosition" ?
Given a bunch of 2d or 3d positions, find the nearest one to a point/object/whatever.
Hopefully replicating the behaviour of inAreaArray where you can put any number you like in the third element and use it as an index :P
(hence needs 2d mode but preserving the third coord)
Then it's correct, no?
E.g. an object can be 70m long. How are you gonna find it with just "4 grid searches"? 
here's an example of what I mean:
obj1 is only 1 grid away from the pos (blue), but it's not closer than obj2 which is 2 grids away
You're not understanding what I mean
You have a 9 by 9 grid.
You are in the center, you want to find the object thats closest to you
Game starts at 0,0 then 0,1 then 0,2.. 0,8 then 1,0 then 1,1 ... then 8,8
But you're looking for the nearest, if it is close to you, its in 4,4 the same grid you are in.
engine is scanning 81 grids, even though the nearest object is right in the center and it could just check one
oh I see what you mean now 
The engine tries to find the nearest object, but it starts by scanning the furthest away grid cell
yeah that's bad 
btw I had a question
what is the maximum number of objects the game can have?
is it uint32? or 64? 
terrain objectid is int, signed, 32
you can assume same, most numbers in game are just int
get object id returns ^
yeah I guess int32 makes sense ๐
even if a terrain has 10M objects (which I haven't found one yet), and if you create 1000 objects per second, you must run the game for ~25 days before you run out of IDs 
Found another dozen or so places in code where engine tries to find "nearest" object and they all do the same, build grid in radius (not even a circle, just a rect) and then start iterating from the furthest away top left corner and go through all tiles 
But now we can iterate in spirals going outwards :3
I hope that engine use something like QuadTree. Structure like that have some smart and fast algorithms to find nearest neighbour.
It does
so how do BI hire their programmers? 
Thru applications like everywhere else
--unknown programmer 2013 on the release party to Arma 3
Solving of a problem is depending on many things. In real projects there are for example (sorted after priority):
- money
- time (because time costs money)
- quality (because tests cost money)
Solving of a problem
There's also "can we claim it's by design?"
count ([worldSize/2,worldSize/2] nearSupplies 10000);
Before: 49 ms
After: 26.52ms
๐
sorcery
I'm just kidding about the s**t code dedmen said... 
That code was probably so shit because it was fast and easy to write. "Get it done in a acceptable state" instead of "do it as good as possible"
Sometimes it works.
Sometimes it causes a 30 second game freeze cough zeus cough
But out of the hundreds of times such code gets written, only a few dozen even become noticable
New dev update for thermals has them looking spot on in all conditions, and the fog seems to curtail the thermals at about the same range you stop seeing stuff in normal vision
overcast bringing the thermal difference closer but not completely identical also looks really good
@unreal arrow about the new syntax for resize:
In the ticket I asked for the arrays/hashmaps to be shallow copies
but they're deep copies right now. can it be changed to shallow copies?
also has not being able to see through glass always been a thing on thermals?
or is it just more noticable now that we can see the enviroment
at first thermals looked ok. but then during gameplay... 
the way the tree colors change is so weird...
Trees on Tanoa are maybe a bit too samey? What do you think?
il have a look
But some people might want one or the other
Yes thermals don't usually go through glass
how about a bool at the end then:
_arr resize [count, fill, useDeepCopy]
is that not the affect of fog
I guess 
i have seen that but unless fog has low decay you dont notice it as much, and when you can see it, it dosent look to bad, i dont see how you would fade that to look better
btw any idea what this is about Ded?
heat blur from the leftover gas?
Ah.. because they change shader with distance i think. Or something like that
btw I still get crashes in thermals 
Yeah shot particle effects look like that. Not nice, but acceptable I think. If it had more blur applied it would look better
Mh I either forgot to test your issue or couldn't reproduce. Still the device disconnected?
yeah
it looks like driver crash
but not sure why 
and this time I noticed that indeed it froze for ~3 seconds
Only idea I have would be if the computer shader doesn't produce results and freezes. But that code doesn't have any loops that could and none else had it so far
ok I noticed something weird
I got two crashes
and both crashes are ~64 seconds after this message:
Ragdoll - loading of ragdoll source "Soldier" started.
Ragdoll - loading of ragdoll source "Soldier" finished successfully.
64 seconds later:
DX11 error : Device removed: : DXGI_ERROR_DEVICE_REMOVED
I doubt I managed to play both scenarios exactly the same ๐
or maybe I did. let me try one more time ๐
I don't remember ever seeing a loading of ragdoll source message ๐
But ragdoll animations shouldn't be related to graphics 
I don't know how one troubleshoots graphics device disconnects because of timeout
But you can up your... Eh.. ADR? No.. some 3 letter thing.. substance.. TDR! Probably. From the 3 seconds to a higher value, but that will still let your freeze ish i assume if it's really a freeze causing it
there's also this in the rpt:
Fresnel k must be >0, given n=1.4,k=0
k was 0
but that's for lighting right?
ok I set TDR to 10. let me try again 
yeah it just froze for 10 seconds ๐
Can you try... make it freeze for longer, and trigger a memory dump in task manager?
that might tell me what it was doing during the freeze
I think I found which object is causing the crash
let me try on another terrain to make sure
yep I got the SOB ๐
it's the burning barrel
MetalBarrel_burning_F
I just spawned it in VR, played the mission and turned on my thermals while looking at the object - instant crash
(time of day doesn't matter)
the crash might not be specific to that object but it definitely always happened when I looked at that one
it's like 2.6 GB 
Good find!
Maybe try camp fire
and car explosions/fire
Can you explain the use case?
7z compresses well
but if its reproducible I should be able to get that
yep 100% reproducible with both campfire and the burning barrel
well the use case was that I had several positions that are supposed to be the same in several arrays
but the z could change
so I wanted to just do _oneInstance set [2, _newZ]
and it would update in all arrays
but as Dedmen said some people might prefer the deep copies
so I suggested this
is that possible?
it is not that people might prefer, not making copies makes all new elements behave the same, which is quite confusing and tbh you can always use set if you want linked references
which command makes shallow copy?
no it makes deep copy
nope this is shallow
+array
yeah that one is deep
and for hashmaps merge makes shallow copies
_emptyMap = createHashmap;
_emptyMap merge _mapYouWantToCopy
add usable example onto that ticket which makes sense, I want to play with it before considering
the second example I posted already demonstrates shallow copies (it's not exactly useful tho)
would you like a new one?
which rev you have
today's update
second example is exactly how it outputs now
i tested your code in ticket and got identical output
are you sure the first array had [1,2,3]?
because I tested and it didn't
what I got was [ [[1,2],4], [[1,2,3]] ]
in the ticket it's [ [[1,2,3],4], [[1,2,3]] ]
thanks! ๐
i cant replicate, it works fine for me
what is your GPU?
3070 ti
could be a driver issue then
what are you using?
760m
425.31
but anyway, the important thing is that it didn't use to crash before the update
@harsh orbit After careful consideration, fill element stays deep copy. 1. It is simple and least confusing. 2. If you need some reference magic with simultaneous value tracking you can add it just as easy
_arr = [];
_element = [[1,2]];
_position = [0,0,0];
_arr resize [2, _element];
_arr#0 pushBack 4;
systemchat str _arr;
_arr#0#0 pushback _position;
_arr#1#0 pushback _position;
_position set [2, 10];
systemchat str _arr;

Manga mode
Still life "Blazing gray"
Yeah only thing I can imagine still is the histogram compute shader, thats the main "new" thing.
But it also has to be some GPU driver issue.
HDAO is also running compute shaders, and they are obviously not freezing you, and in general thermal also works fine.
No idea what could be special for fire except it hitting maximum temperature, I cannot find anything in code that might go wrong there, except one place where I already added safety checks for that, and even that wouldn't just freeze the gpu
okey I found something wrong with fires.
For one they are a bit too cold. They are only about like 30ยฐC.. ish... But also their temperature encoding is broke. A value that should be 0-1 is 5.719 
Uff fire uses the wrong rendering shader. It renders normal sprites, not "extremely firey hot sprite" type thats used for burning smoke :/
Looks a bit better when the flames are actually 60ยฐC instead of around 30
@harsh orbit can you replace your dta/bin.pbo the shader file inside it with this one
I don't have dev branch bin.pbo on hand otherwise I'd send full pbo :sad:
That makes fires hot and fixes the incorrectly encoded temperature, just in case its really this thats causing it (shouldn't be but I don't have better ideas)
shouldn't be but
Aaaaaaactually.
The way temperatures are decoded, this would result in a temperature of 2.3 (in a 0-1 range)
which would cause a out of bounds memory access in the histogram calculation, BUT thats the thing I said I added a check for..
But wouldn't be the first time the optimizer removes a important check..
FRICK I'm stoop
This is my safety check
clamp(bin, 0, HISTOGRAM_NUM_BUCKETS - 1);
.....
DUH
bin = clamp(bin, 0, HISTOGRAM_NUM_BUCKETS - 1); !! ๐คฆโโ๏ธ
So yes, with fires it definitely causes a out-of-bounds memory write in the compute shader, thats probably crashing your GPU ๐คฃ
But nice thing, if I keep this bug inside the sprite shader and just clamp the decoded temperature that will clamp the bad fire shader to always be 60ยฐC without actually having to switch fire over to the proper shader ๐คฃ
#Fixed
Here is fix for the compute shader issue, that alone should be fixing your freezes @harsh orbit
@full sonnet would it be possible to make IR Strobes visible in TI, like in this video? https://youtu.be/4gNIBviqusg
It would be nice if IR strobes would be visible past 5 minutes or so
Yes, especially if you attach it to a backpack or vehicle with ACE3.
There are mods that add extra strobes with longer lifetime and that are visible in TI. But it shouldn't hurt to have that in vanilla
maybe
it didn't 
you sure I don't need this?
now it works! 
Unexpected 
I thought the bug was in CS, so that alone should've fixed it 
There may also be out of bounds read in PP, forgot if I checked that. But i didn't send you a new PP

what is CS anyway? PS is pixel shader right?
compute shader probably
no it was due to fog
poor viper guy thinks he's hidden yet he sticks out like a sore thumb ๐ (in a good way tho! I played the scenario again and it was a lot more fun like this)
btw I'm still not sure if the lasers should be visible in thermals
btw have you changed something else Ded? the game feels super smooth (solid 60 FPS) for me since this update
besides that couple script commands multithreaded no
Accidentally multithreaded the entire game 
btw I had another question.
is it not possible to extend the temperature of terrain edges to infinity so that it doesn't become like this?
the temperature difference between the terrain and off-map area are clearly visible 
huh... eh.
Temperature should only depend on surface material, so if the material stays the same the temp should stay the same.
I think thats just minor
looks like it only happens in VR. nvm 
(including the broken skybox bug)
I wish the game didn't have so many broken materials 
like the transmission lines
also some objects appear fine at long distances but become pitch black when you're close (and vice versa)
Window glass is completely opaque in far infrared. Flir cameras have to use germanium lenses to work in irl as a result.
Having glass opaque in arma thermals is actually very realistic!
roads on livonia are glitchy at night (works fine in daytime) 
Wow that looks like what happens to some screens for me, try turning off HBAO+ and see if that fixes it.
I don't use ambient occlusion at all
other roads work fine tho. I tried all other vanilla terrains 
I managed to get another device removed freeze 
steps to repro:
- spawn the chinese VTOL (any terrain besides VR)
- switch to targeting camera
- freeze (seems to happen when over water?)

it doesn't seem to be related to the thermals this time
also it only happens when I switch to the targeting camera. when I played normally there was no crash
seems like an invalid texture. let me validate game data
nope it still happens 
Im trying to reproduce but cant
make sure you actually play it a bit (move towards the first task)
it was ok for me initially, but crashed when I was over water and on my way to the other island (or peninsula or whatever) where the task is
still nope
might be data or driver issue then 
diag_setTerrainHeight wiki has a example for flattening terrain.
That is being spawned, which is actually pretty bad. setting height clears clutter (grass) cache, with spawn it does one point per frame, and at end of frame when it tries to render, it regenerates clutter cache.
So you regenerate clutter cache for every point thats processed.
If doing it in unscheduled, it will re-clear the cache but after the first one it will already be empty. And quickly chew through all changes, and then regenerate cache once.
uff
Now that you're looking at this again could you please consider my getTerrainInfo command request?!
Did it always do this?
Did you change it?
Well I changed some things not sure if that would do that
I don't remember it getting like that
But I didn't mess with it much
If you didn't change it in the current dev branch I can test it again
As far as I tried it does such a lot. But I don't remember why/when it happens, perhaps you can ask @candid dew who's making a terrain deformation Mod rn
Wasn't that for reforger? 
No, it shows Livonia
Might or might not make Greenfists work easier
Out of the loop - what am I looking at here?
But its ultra slow because it updates too many objects in too large radius for every point instead of just once for the whole thing
Automatic object height adjustment when heightmap changes
what you did basically
oh cool. Got it sorted with traditional scripting already but this might be better
But it makes setting a point quite expensive, and when you set many it goes oof slow pretty quick
your script is probably much faster ๐
We'll need bulk change probably. Will just make the command take array of changes instead of single position
maybe. But mine's a bit inaccurate. Couldn't figure out how to find the exact original height after the terrain changed. So I just take an average of the three corners of the grid.
I iterate through all objects, collect their ATL height, change terrain height, and move them up so that ATL height is back to what it was before
but this is kinda really bad, did you get such stuff too @candid dew ?
northeast.
So the south and east edge are buggy ๐ค
I don't really want to try fixing this :sad:
Ah well whatever, I'll leave it to the user to keep in mind and fix ๐
aaaa 
OMG I just noticed I asked for the getTerrainInfo command exactly 2 years ago 
Jun 16 2020 
Yeah I've seen that on more drastic changes
That sounds like I can leave it broken, nice! ๐
I was replacing terrain objects with editor objects, which might or might not happen. So I can't store the atl of all objects preemptively
Ah I'm just moving the terrain objects
wait, they don't react to setposes naturally do they?
Don't know ๐ค
Terrain objs can't be moved with setPosXXX
They only move when destroyed
e.g. a destroyed building sinks into the ground
and destroyed trees/walls change their vector dir/up
Ded, regarding the breaking terrain seams: this is from a year ago, seem the happen a lot randomly.
Mh it seems like its just skipping some grid points
like there is a extremely tiny point at low height, and very close to left and right are the next points that are at high height
but that shouldn't happen the heightmap should be same resolution everywhere ๐ค
Sounds like a rounding problem 
running the same exact code again fixed the holes though
Yes.. this is what happened when I set it up, and then set it back down again
the outer edge moved after I set it back down 
Are you sure it's not just a visual glitch?
E.g. do bullets collide with that raised edge?
The terrain is tiled in chunks as if i know. In dedmens video he did take the exact middle of the terrain and 50x50m. In Greenfists video the glitch is a straight line in two times. Maybe this phenomenon is linked to the tiled terrain.
ofc it is tiled

It's a texture
Other idea: if every time the two sides are missing, maybe the engine or the script/function "flips" the some kind of faces (?normals? like on importing 3d models:
#enfusion_model message
).
But different results on different runs. 
Hi,
what would happen, if run this function 90 degrees rotated over the area? Would the gaps be same oriented as before or also rotated by 90 degrees?
๐ค good question. That script looped through horizontal x coords first, and then y-wise. that gap looks like one full x loop was broken. Running exactly the same thing again fixed it.
The second last gap is not fully broken or i am wrong?
It looks like it ends near the circle (see 0:11)
@candid dew
you're right! Also all the gaps seems to be equally far apart...
I'm starting to suspect my scripting... Those scripts are probably long gone now, can't go back and check
First suspect for me was the sine function. Idk how this is executed in RVE but it can be done as a list of values. And maybe there is a failure in it. But it "repairs" by rerun. That wouldn't happen if the sine values has a failure.
yeah, I may have passing some very faulty value to the setterrainheight command there.
But I'm pretty sure I've seen this happen on my 'terrain deformer' mod, and there any consecutive command has repaired it. If the previous height would be something crazy, the second one should only make it worse I think, because it would take the faulty height as a base for changes.

Stop ripping holes in the space-time armaverse!
^^dedmen has found the time lapse funtion in the video editor. ๐
You don't get the point ๐
It is faster?
Well that too
Interesting. I stopped recording and tabbed out.
A minute later I looked back and saw this
It somehow magically fixed itself? :u
Executing twice doesn't fix it.. what is going on here 
Is tapping out or the time the important thing? I guess it is tapping out.
huh when shadows are updated, it fixes itself. Good to know ๐
No its not
yeah as soon as the terrain shadows update themselves, it gets fixed. Probalby need to clear some cache. Shouldn't be too hard to find
So many posibilities
couldn't reproduce that anymore. Despite my best efforts to break it ๐
I got it fixed now, it takes a second or two after change to update, but should be fine
Also with extreme changes, shadows are bugged.
#WontFix
Time should heal those
What are smallest length between two points that can be changed? The grid size?
Yes
JIP
Is it possible to create a 3D Object dynamically by the engine to cover the "stamped hole" seamlessly by fitting the surrounding cell grid points?
In engine yes in script no
Will diag_setTerrainHeight ever come over to the main branch?

I told you it could be a visual bug 
Here
when opening the load/save mission dialog in 3den, all the folder trees are open by default, is it possible to add option to disable this in the future?
i have many subfolders in my missions directory
ono
Hah 5 seconds later the driver gets out of the quad, teleports to the surface and continues walking ๐
https://community.bistudio.com/wiki/diag_getTerrainSegmentOffset
Unless someone can give me a real good reason for this, I'll scrap this one.
As written on wiki there is a very simple scripted alternative
nah. ditch it
the only reason anyone might ever want to use it is better performance ๐
also a question about diag_setTerrainHeight. which corner does it move?
wouldn't it better if it took heightmap position instead of world position?
in diag floor(x) so southwest of provided position
In retail round(x), so nearest of provided position
setTerrainHeight [[adjust objects, option2, ...], [X, Y, newHeight], ...]
I would like to pass options like this. But its kinda terrible.
Just trying not to have it be a binary command ๐
setTerrainHeight [[pos], option1, option2, etc.]
but its many positions
setTerrainHeight [[pos, ...], option1, option2, etc.] that you mean
yeah
yeah that makes more sense ๐
Do I sense another It's impossible to add this at this stage of development added? ๐

[pos,โฆ.] set terrain height [options] @full sonnet
Just trying not to have it be a binary command ๐
๐
@unreal arrow I have a request regarding the allObjects command.
when you get all cloudlets, 63 allObjects 3, you get several thousands of them. a single smoke grenade generates 1000+ cloudlets 
does the engine happen to "group" cloudlets? e.g. having one smoke particle object, is it possible to get the other particles originating from the same source?
if so, it would be more practical to only return one instance of the cloudlet, and let the user "extract" the rest using a command. e.g. getCloudletGroup _oneParticle or something, which returns an array of all particles belonging to the same source
that way the allObjects array would be so much smaller and easier to process
any updates today (or this week)? 
QA is still testing
Ahh I can already see the endless trolling possibilities 
adjustObjects option in setTerrainHeight not working...?
For example
setTerrainHeight [[[5775,10192,14.95]],false]
still moves objects, right?
found a bug
apparently setAccTime is not bounded anymore
I just did setAccTime 1000 and it works 
another bug: getTerrainInfo has wrong command info ๐
it says it returns scalar. it returns array
you can even do setAccTime -1 
the game completely breaks ๐คฃ
I recommend that you set the bounds to [0, 16]
wiki says Value is clamped to 1/128 - 4 but I'm pretty sure 0 was possible (to pause the game) ๐ค
4 for upper bound is too low. at least allow up to 8
The code for it wasn't touched since jan 2021 when I added that eventhandler for it
really? it was always broken?! 
seems so
well anyway as long as you clamp the value to [0, ) it should be fine 
only negative values break the game
too large values seem to cause performance issues 
even 1000 seems ok
well as long as time multiplier is 1 
if you do e.g. setTimeMultiplier 10 the performance becomes terrible again (too fast time change)
but it's very cool! 
๐ Was just about to say the same:
Yeah it definetly looks fancy 
๐ค
nice ๐
So I take it that you didn't play East Wind? One of the most unforgettable missions was the assault in the notorious tรฉstText Valley.
Girna be gone

any idea when the Ti update will push? i am assuming a couple months
The ETA for 2.10 (which contains the TI improvements) was last reported as "late summer", so it could really be anywhere between now and the end of September.
Good thing we can setAccTime 1000 now to skip the wait
Moon Knight stuff
Yes, the release window opens late August (public RC ideally a bit before that).
Some more feedback on thermals now?
I know that trees should be toned down a bit. But besides that anything real bad?
no
what about IR lasers being visible?
Ah, yes thanks
should they?
Well.. I think for gameplay its probably nice for aircraft operators to see them ๐ค
also did you look into this?
this was the power lines issue
glitchy roads are won't fix
Mh powerlines should be warmer yeah ๐ค
That might be too hard
yh i think we should keep visible lasers,
well they should be much much dimmer tho
like 30-40% maybe?
I'm still against the idea of making thermals too powerful
i still dont think this is making thermals powerfull, what its doing is making it easier to see the enviroment which in turn also help break up the figure of players blending them into the enviroment more, it also makes it easier to navigate
fair enough. but lasers being visible just makes no sense
it's not like they heat up the air a few degrees (which is what it looks like now)
thats a fair point, cant really argue that other than it would look good,
that being said for ir stuff, would still love to see the strobe lights in thermals and for them to last longer
I'm personally on the side making normal laser beams not visible in thermals, or at least dimmed a lot, since it'd imo make them too powerful as has been mentioned
@full sonnet if I send you a script regarding setTerrainHeight, will you plz test it? I think I found a bug
whatever you prefer
post here so I can yoink
craterSize = 10;
craterDepth = 10;
fnc_addCrater = {
params ["_pos"];
_normal = surfaceNormal _pos;
_vy = vectorNormalized( _normal vectorCrossProduct [1,0,0]);
_vx = vectorNormalized( _vy vectorCrossProduct _normal);
_rotT = [_vx, _vy, _normal];
_rot = matrixTranspose _rotT;
_posT = flatten (_rotT matrixMultiply (_pos apply {[-_x]}));
_matT = [_rotT#0 + [_posT#0], _rotT#1 + [_posT#1], _rotT#2 + [_posT#2]] + [[0,0,0,1]];
_mat = [_rot#0 + [_pos#0], _rot#1 + [_pos#1], _rot#2 + [_pos#2]] + [[0,0,0,1]];
_cellsize = getTerrainInfo#2;
_area = [_pos, craterSize, abs(_normal#2) * craterSize, _normal#1 atan2 _normal#0, false];
_newHeights = [];
_pos apply {floor (_x / _cellsize)} params ["_x0", "_y0"];
for "_x" from (_x0 - craterSize) to (_x0 + craterSize) do {
for "_y" from (_y0 - craterSize) to (_y0 + craterSize) do {
private _p1 = AGLToASL ([_x, _y] vectorMultiply _cellsize);
if (_p1 inArea _area) then {
_diff = flatten (_matT matrixMultiply ((_p1 + [1]) apply {[_x]}));
_depth = craterDepth/craterSize * vectorMagnitude(_diff select [0,2]) - craterDepth;
if (_diff#2 > _depth) then {
_diff set [2, _depth];
_newPos = flatten(_mat matrixMultiply (_diff apply {[_x]})) select [0,3];
_newHeights pushBack _newPos;
};
};
};
};
if (count _newHeights > 0) then {setTerrainHeight [_newHeights, false]; pp1 = _newHeights};
};
_p1 = AGLToASL positionCameraToWorld [0,0,0];
_p2 = AGLToASL positionCameraToWorld [0,0,100];
_inters = lineIntersectsSurfaces [_p1, _p2, objNull, objNull, true, 1, "GEOM", "NONE"];
if (count _inters > 0 && {isNull (_inters#0#3)}) then {
[_inters#0#0] call fnc_addCrater
};
it creates a crater where you're looking
the problem is some grid pixels don't seem to move 
I'll send a video
the green icons is what I'm passing to setTerrainHeight
yet some pixels are not where I tell them to be 
can you show screenshot from above with the icons?
it was getting rounded to other pixels 
Maybe I should make it filter out duplicates, then you can just splatter the area with way too many points to make sure all get hit
it's ok I'll fix it 
After noon/overcastnight livonia
and before (last two images)
After noon 30% overcast
After night full overcast
Before noon 30% overcast
Before night full overcast
Yes before and after images are swapped deal with it ๐
Good? Seems better to me to make trees less extreme
Thats a leftover bug that I don't want to talk about :harold:
For some reason some foliage objects just don't render at all. What you see is the hole in the world that lets you see through to the universe background radiation
Arma lets you see the fabric of reality, neat.
Any signs of a fix for adjustObjects in setTerrainHeight?
No, I forgot. I set a reminder for tomorrow ๐
Much thanks 
Always the stupid stuff
Have you entertained any thoughts of adding some kind of filtering into adjustObjs? allObjects-like thing? Is map object or not?
no
ok, good to know ๐
Heya so question in relation to this, how could I as a server admin/mission dev apply this? Running trigger spawns and it seems to not like it at all.
Apply what? get a performance improvement? run profiling branch exe
nearSupplies: Is this function used a lot?
according to GitHub search it's used in two functions for ACE, zero scripts in CBA
ace_csw_fnc_ai_reload
ace_csw_fnc_reload_getReloadableMagazines
I don't think so
I wasn't sure where to ask this so I'll just put it here:
is it possible to add more categories to workshop items?
it would be nice if we had more categories to narrow the search further
So people can apply even more categories to mods?
So people can apply correct categories to mods
I do ๐
I think only we can add them. Perhaps propose a list via FT and we'll see if it makes sense or would clutter things too much ๐
Terrain shaping? I am hyped. Even better if it would apply in real time during game [ artillery shells, tank shells, digging trenches]. So much potential.
Hope it would be released when ready to normal branch ๐
it is possible yes:
#arma3_model message
Just... please don't break the game with it 
I'll try but I won't promise anything ๐
Now you 'just' gotta make that a mod and then you'll be able to farm all the upvotes on the arma workshop 
Terrain work Image: https://imgur.com/qbC1TgI ๐
Hiya Dev-Branch users, it's likely the next 2 weeks will not see updates. After that, we'll be back ... most probably with the 2.10 RC-Branch 
Don't get sad, this is a Flight Simulator image!
is that a white hole? 
May be, lol. A bug on the original game.
https://ibb.co/WyN6b1x
"Local only"
wow first time seen this attribute in Dev, its going to be with 2.10 or .12?
Just an interesting thing I came across on this subject from a former Abrams crewperson:
I haven't used any of the current thermals, but the thermals on the M1 and M1A1 were awesome (I assume modern thermals are even better). We could read the letters on a sign and sometimes the letters on a name tag, because the dark letters were warmer than the lighter background.
So it turns out there's no need to worry about readable signs being unrealistic :P
10
Its actually been there and in profiling for a couple months.
just the UI was missing ๐
Any possibility of seeing script-changeable selection textures for vests and other gear? Currently only uniforms and backpacks are supported for infantry units. A number of bi requests have been active for this for years. Not sure if it's something that'd be challenging to add at this point, but it would be great for various modding endeavours
unlikely
