#dev_rc_branch
1 messages · Page 8 of 1
i'm not going below 6k view distance anymore, i rather not load a savegame anymore 😄
can you check if it matters if you are close to the terrain border vs terrain center
it's a bug in game code. I sent a temporary fix to Dedmen. I guess it is related to being around the border yeah
yeah, the game wants to preload the area around the player when you load from a save. the game allows up to 15s for this.
but if it still has time left, it still tries to preload the objects too, and then it updates how many objects are left.
but there's a problem with this updating part, and for some reason it doesn't update properly (didn't check why exactly, but view distance falling outside the border is related)
so it keeps doing this for 15s, doing basically nothing
nice
yeah, reducing overall draw distance from 3500 to 3100 resulted in instant-ish load time on my machine as well 🤣
thanks
Is game freeze when moving outside the terrain a known issue? (in latest dev/v11 perf)
happens in 3den too
open in 3den then hold S to go back (don't move the camera any other way)
(might be related to the terrain issue I reported earlier; my view dist: 4000, quality: ultra)
it doesn't happen in prof so I guess Dedmen must've fixed it
yeah I missed this: #perf_prof_branch message
I had the old v11. I thought it was the latest
WebBrowser.
There is actually a limit on what I can send to the browser.
Maximum file size that can be loaded is (textures or just LoadFile contents) is about 0x17FFF00, or 25 megabytes. (A3 maximum string length in script is 1MB)
Now surely that is enough for Javascript libraries and textures (Consider that textures are encoded and compressed as WebP).
Larger content would be possible, but then I need to implement splitting it up and sending it in chunks. Which I currently think I won't do.
I can also implement gzip compression for loading files if they are too large, but unless you are loading text files, it probably won't do much
For Webpack web projects, I will come up with something to make it easier to split things into multiple files.
where would this be relevant? video files?
have a hard time imagining what webpage would be >25mb
yeah probably.
Well JS frameworks get large today.
And if you bundle everything into one file, including embedded images and fonts and stuff, it might reach 25mb
And video files is workaroundable, by splitting it into 20mb parts in pbo, and then combining it afterwards in JS.
you can configure your webpack to splint into chunks, you should not have single 25mb file 🫠
stares at web browser ram usage
insert stares mfingly meme
Duude.
Web browser?
yeah
But can this radar screen run DOOM
Can you UI to texture that?!
(should still fit inside the what, 25MB filesize limit?) 🤣
Its just a UI Control, so yes sure.
Just updating the texture would be meh. You would probably have to EachFrame update it, you currently can't know if the web control has a new image. Something to add still.
There ya go
Now it can run doom like that too? Very good.
There is a problem with sending javascript with unicode.. ugh.
The engine converts all script that is executed to base64 and back.
The encoding doesn't matter, but the decoding has two choices, decode into ASCII, which is native javascript functionality and is fast.
Or decode into UTF8, which is slow..
Engine does:
atob("Wydpcm44cWdpR3RFVScsMjM5My4xMyw1OTczLjczLCfQmmEzMiDQktCc0KQg0KHQodCh0KAnLCdlbmVteSdd")
-> "['irn8qgiGtEU',2393.13,5973.73,'Ð\u009aa32 Ð\u0092Ð\u009cФ СССР','enemy']"
Which messes up the name
I could do
function b64DecodeUnicode(str) {
// Going backwards: from bytestream, to percent-encoding, to original string.
return decodeURIComponent(atob(str).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
b64DecodeUnicode("Wydpcm44cWdpR3RFVScsMjM5My4xMyw1OTczLjczLCfQmmEzMiDQktCc0KQg0KHQodCh0KAnLCdlbmVteSdd");
-> "['irn8qgiGtEU',2393.13,5973.73,'Кa32 ВМФ СССР','enemy']"
But doing this on every JS execution is wasting CPU time.. Especially if it doesn't contain any data where unicode is even possible.
Alternative is to let the engine send the ASCII decoded one, and let the receiver convert it to unicode only where needed,
function TextAsUTF8(str: string) {
// Going backwards: from bytestream, to percent-encoding, to original string.
return decodeURIComponent(str.split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
TextAsUTF8(inputArray[3]);
-> 'Кa32 ВМФ СССР'
Probably the second choice as its more efficient, but that means its something the user needs to keep in mind, and we probably also need to document on wiki
documenting stuff on the wiki? the horror :x
Lou 💪🏻
is it possible now to play videos with an transparent effect? for example rain drops on the screen when its raining
yes
juicy
but the rain drops won't have refraction effects, so it won't be any different than what you can do with SQF already (except having dynamic shapes I guess)
unless you do r2t to send the texture to JS, apply some refraction there, and send it back again, but at that point you're better off using D3D directly 
Cdlc release shouldn't require a platform update right, no need to update servers?
I think that's correct.
As long as you don't run the new CDLC. The update contains bugfixes required for it, and flagging it as "official DLC" which afaik is required for server browser duties
if you don't actually load it then doesn't matter
the platform update required by the cdlc is already out since a week, https://dev.arma3.com/post/spotrep-00117
tomorrow will likely just be unlock of the cdlc depot, based on previous releases
yeah, that changelog has all fixes we found out to be needed during the Closed Beta.
Word thanks all
Is anyone having application hang on spawning transport helicopters? 🤔
I tested a bunch trying to reproduce this issue. I didn't play Arma for a couple months and when I got back to it some of my missions that deal with spawning transport helicopters extractions tend to crash the second I spawn them.
This does not happen if I spawn them at the beginning of the mission, but mainly sometime after.
I'll keep testing to find proper steps to reproduce
64bit Listen Server may freeze a few moments after mission start
This also applies to non-server.
Its probably a specific kind of helicopter, like one from RHS?
I tested with one RHS and one from CUP, happens with both. Missions without helicopter spawns ran just fine. Attack helicopters spawned perfectly fine too.
I'm not on my PC right now but I'll try to narrow it down more and give you more details when I get back on it.
I know the details. I already fixed it
I have seen that I have a unread DM
oh dang nice!
Fixed: "LOD flicker"
🤔
It means LOD flicker introduced with previous update
Which I don't think is fully fixed yet (based on some reports in #perf_prof_branch )
it should be fully fixed
So the rendering optimization you reverted is in dev branch too?
the optimization i added and reverted was reverted in dev branch too
32bit hell..
Game keeps crashing because out of memory.
Looking into it, 500mb is used JUST for script location info, for printing where script errors happened (if they happen).
1/8th of the total usable memory, used up only for the case that a script error might possibly happen 
Looks like 32bit builds will loose the ability to log where a script error happened 
who's still using the 32bit build?
I'd wish it to be no-one
ur mom lol gottem
the church of 32-bit people
Or its just visual studio being a liar.
It told me there are 16 million source locations at 450mb.
But when I run a counter, I only get to about 700k, at.. 19mb
32bit in 2.20 uses 300mb more ram to main menu, than 2.18. And crashes with out of memory when loading a mission 🤔
Mh even 2.18 32bit already crashes in a somewhat simple mission on altis, hitting the 4gb virtual memory limit 
There might be no saving it
Hosting services mostly.
Armahosts only provides 32-bit HCs for some reason. Others give you a budget server option that's 32-bit, or at least defaults to 32-bit.
retextured uniform in ground holder?
yeah
they had a baby
KKJW
nvm dont luv u anymore
and some host like host havoc have default 32 bit bc is """"""is more stable""""""
discontinue support for 32 bit and force all hosts to use 64 bit
sounds like 32 bits is unbearable, the game just takes too much ram, here on windows 7 it easily goes over 4gb EVEN with a system memory limit parameter applied
win 7 is 🥰
i prefer win xp, love the aero aestetics
Aero was Vista and 7 though 🤔
oh, how winxp aestetics was called then
with windows 7 the things started to be more "flat", i like the big old curvy buttons and interfaces
Luna
Don't ask. It's the same type of people who still drive their https://en.wikipedia.org/wiki/Fiat_126 and claim that it's as safe as modern cars, because they never had an accident so it clearly must be safe.
hey i drive a peugeot parner, a 0 star safety vehicle, every time i go out it can be my last lol
Still safer than Win7 ¯_(ツ)_/¯ (seriously)
What if I told you I know devs who patch their software just to make it win7 compatible 😬
you mean vista lol
luna, it's the first windows with themes
Lol why? There is ppl using win7 for some reason other than refuse to update?
My guess is that in some countries where internet cafes are still a thing, Windows 7 is still the standard.
But that's just an educated guess.
in countries where internet cafes are still a thing they are mostly on Windows 10 since they pirate everything but Windows 11 has steep hardware requirements and besides windows 10 has far less issues
windows 7 remains on some corporate offices specially government offices that are not regular Microsoft clients and vintage computers meant to play old games without internet connection
i would use win 7 if it were still supported
I can tell you that there are many ppl playing online games with windows 7
Also you can use windows 11 for free without pirating it. Just never activate it😄
Linus video out 👀
Yeah😄
According to https://store.steampowered.com/hwsurvey/steam-hardware-software-survey-welcome-to-steam, they make up a whooping 0.21% of the steam users population 😄
(oddly enough, no vista there at all, though...)
Also: I can tell you that there are many people who reuse the same password everywhere and that doesn't make that solution a better one 😉
I didn't mean to defend that at all. It's stupid.
now now, it's too late to back down
there are some internet cafes in remote places that might be likely to still use xp
ps: singleplayer scenarios are showing game mode since a while
this is also on stable now
i dont think sp scenarios should have it
subtitles in the east wind campaign intro (AAN video) are broken
noticed this because we use the same script for the extraction and air control intros to show subtitles, and they stop working after the first one now
need more context
ok i have no idea what happened, but suddenly i cant reproduce it anymore. i have this for weeks now and suddenly it's gone
i swear to god this game is driving me into madness
anyways. at least AAN video subtitles are still broken.
the issue seems to be related to the timings [_ctrl, "STR_A3_EPA_Campaign_Intro_01", 4] spawn _showSubtitle; sleep 4.17;
the duration time (4) needs to be reduced. i guess the sleep now makes it so the next line runs too fast(?) and then the displays conflict
or it needs an additional wait in the _showSubtitle function, so it won't commit a new ctrl before the old one is gone, i have no idea
the script is in missions_f_epa\a3\missions_f_epa\Campaign\Missions\A_in.Stratis\initIntro.sqf if anyone wants to check
Should already be fixed on dev, we know why
so i was not dreaming it up?
It was a new issue for a while, but fixed some time ago indeed.
don't listen to them, you were dreaming it up - they are part of your hallucination as well!
is any of this even real 😭
It's real virtuality
Sanity check. 2.19.152501 should have web browser already? Doesn't seem to be able to use plug-and-play mission like UILayoutTestWebWiki.VR Ded shared
At least Chrome console works, but nothing else works
Yes. It's also on Prof
Does chrome console show error?
There were some API changes.
The wiki example should work.
My kill tracker example might not because it includes its own API implementation (you'd have to build latest to work)
I think you'd either get RPT error if the script command is bad. Or browser console error if some security check denied something
Ah sorry must've mentioned commands are also working. At least are recognized
And no, what I only get in Chrome console is
Ignored call to 'alert()'. The document is sandboxed, and the 'allow-modals' keyword is not set.
Yeah that is old API.
So all the image requests inside the website aren't working
The JavaScript file probably has a "window.a3api =..."
In it.
That needs to be removed, so it doesn't overwrite the one that's provided by the engine
question, does the steamworks api change here require a newer steam client? if so which version is the minimum?
and like the webview stuff
No
oh great, thank you, that's good to know that the minimum steam client version requirement wasn't bumped
Actually I think one of the main reasons steam is dropping win7, is that chromium dropped it.
But they probably just deliver a older version that's not being patched anymore
yeah im aware, im asking about steamworks api in arma 3 specifically whether there are changes here in steam api that require newer steam clients (other games have updated the minimum steam client requirement)
they could've upgraded it to cef 109 and have more longevity
they were on a much older cef version
Indeed the js contains window.A3API = class {[...]}; and doesn't really seem to work without that chunk of code still. Yeah I'm not familiar with them so...
Let's make a Take On JavaScript now 😄
Bad.
Any Take On JavaScript is just bad.
😭 should work without that blob. Unless I renamed the functions or smth, which I may have done.
But the only functionality that's broken is grabbing textures from Game, if you don't need that, the rest works fine
There is my radar blob example (doesn't use the API at all)
Actually from that you can't learn much as that is webpack and not editable 
It's a sandbox! Throw sand!
Aaaaarg my eyes ahhhh
Ah duh, okay I guess
there is a chance to have a command to set the ceiling of clouds?
Ceiling, as in, height?
simul support is only partial, dunno why, at some point bunch of commands were removed.
Yeah but we just recently added some back
Did you?
does humidity actually work? i mean, i know the command works, but does it influence the weather in some way?
different clouds etc?
or is it just used to determine the amount of dust getting kicked up by vehicles
i mean have the clouds like at 100m over the ground, afaik there is no command for that.
i dont know in the map configs, but ill be nice to change that with a simple command
well technically clouds are generated when the combination on pressure and temperature reach the dew point... but i dont think arma simulate it
have some extra parameters to change in the clouds would be nice... but arma isnt a flight simulator game... lol
Maybe you could do that kind of commands but the clouds are still driven by some keyframe parameters, so the clouds always changes to the values in the config? So what you actually need to do is to do config editing to get the best result?
Of course those commands help out to find good values with live edit😁
Clouds are so fucked that at this point I want to just do setSimulWeatherLayers 0; on all clients to have A2 clouds and call it a day
Finally gonna let you have proper control over weather without keyframe crap
you can likely get some decent looking clouds if you remove the absurd amount of noise effects used by default
Does setSimulWeatherLayers 0; offer performance improvements or is it just visual?
That's some ugly workaround you have on wiki... not good
it disables simul weather entirely so yeah probably some gain in performance, not on dedicated server though as it is disabled there
ugly workaround
The Arma way!
ugly workaround is my dads name for my mum
just noteced that are some "secret" commands for clouds?
https://forums.bohemia.net/forums/topic/153589-secret-simulweather-commands/
ok ive tryed simulSetCloudBaseZ listed on that post, but i have an error and nothing happended.
ive used https://community.bistudio.com/wiki/supportInfo to list all commands, and the commands listed on the post dont show up in the list ( im using stable version , not dev btw)
you can use utils 5 to search for commands from debug console
btw im using developer tools, im not sure if that changes something
the only simulSet its SimulSetHumidity
there are more just enter simul into search
i wanted to change the cloud base altitude, i saw that post in the forums with commands to change clouds, but even when i use utils 5 i only found a few
setsimulweatherlayers
simulCloudDensity
simulCloudOcclusion
simulInClouds
simulsethumidity
simulweathersync
it is not 'even', it is what is available to you
the conversation started here: #dev_rc_branch message
sorry for mention ded ❤️
if it is not there then it s not in the game
you have to speak to @full sonnet he was adding something
Yes, I’ve asked about the possibility of having that command in the future, but he probably has higher priorities at the moment 🙂
I actually broke the file request code, some base64 at the wrong place, oops.
Don't know how I missed that, I'll fix it on prof v19 and dev-branch after tomorrow
y u no green, btw
C# Blazor WebAssembly app, running offline! from mission pbo in game.
Took a bit of fiddling, but works nicely (In next profiling/dev update because currently stuffs broken :D)!
https://github.com/dedmen/ArmaWebBrowserTests/tree/master/C%23_BlazorWebassembly
^ That is now testable on profiling branch, if you want to play around ❤️
Hoping that we find all the issues with it before its finally released 
Problem with that is. That works just fine if you have a normal online project that can load data from URLs
But with this in offline mode, you'd need to load the content of the chunks from inside PBO's.
The change is somewhat simple, and I did it with my blazor example.
Original:
await import("module.js") // Triggers a http download from http://baseURL/module.js
Replace with
await import(createObjectUrl(await A3API.RequestFile("module.js")))
// Fetch the file from within Arma (mission folder in this case)
// Wrap it into a blob url (blob:null/02d1b185-0433-4cb3-9501-a2b1967428ac), and load that that in import.
I am doing that by literally doing string replace in the already webpacked and minified code of the dotnet runtime stuff.
https://github.com/dedmen/ArmaWebBrowserTests/blob/master/C%23_BlazorWebassembly/wwwroot/indexArma.html#L185
https://github.com/dedmen/ArmaWebBrowserTests/blob/master/C%23_BlazorWebassembly/wwwroot/indexArma.html#L135
And by replacing the whole window.fetch
If webpack would use fetch to grab extra files that'd be easy, but afaik it doesn't.
I thought I could maybe make a webpack plugin to do that automatically. To translate the dynamic imports for chunks (or other modules) into loads like this.
But looking at documentation I realize I know waaaaaaay not enough about webpack to attempt that.
For one you'd need the modules to be dynamic imports, because it looks like "static" (I don't know what the normal one is called) imports cannot use async code.. I'd assume chunk splitting would do that automatically somehow. But after it generates the split chunks, you'd then have to replace the loading code somehow.
Probably someone else can figure that out someday, or maybe no-one will ever use this stuff 
so would this be in place of the current GUI? or just so we can do web stuff in game
oh i just mean can you use it in place of.
So if I get it right you can make a control that uses modern web-dev stuff within arma?
It uses webassembly, so you can do anything with it. Like, for example compile SQFVM and execute SQF code inside Arma. Crazy, isn't it? I know! 🥹
how secure is the webassembly thing in a3 so far?
Finally we can use SQF in arma 3 
Cant wait to build new things with it
Who knows, maybe we even get SQS too soon
Yeah.
I made a Radar screen for a mission last year.
Html+css+js with animations in a control onto a computer screen
As secure as it is in your browser
that depends, what browser does this ship again then?
netscape navigator
Chromium, the same as in your Steam overlay in-game browser
Base64 Encode/Decode and deflate Compression/Decompression.
It also works with controlNull, so its also usable by normal script without webbrowser. If for whatever reason you'd need compression in script 
does it also work on Servers?
yes
nice!
Just realized I need to add a output length limit for the inflate 😄
1mebibyte :U
Actually no, the max length limit for strings is 10mb? then that
oh also does it work in PreStart? or do you need to wait until preInit?
No limitations
that is cool 😛
Great, now I can bloat the profileNamespace and just decompress when I need the stuff 😄
Storing lots of data as string in profileNamespace is more efficient anyway.
A string is just a block of data. But an array for example, is a config class, with subclasses for every entry, and they store the variable type for every entry and bla bla bla
Array to string and then store that, much more efficient than storing the array
I am aware of that. But now I can compress it 😄
You're gonna "compress" a string using base64?! 
You do know that a base64 string is larger than input data right?!
he's talking about deflate
I read that out of context 😅
I was just joking anyway before someone pitchforks me
Neat
How much JS interop is allowed?
and how much SQF interop 🤪
Yee saw that and found it very cool, being able to do we-dev stuff 'offline' within the PBO is a lot cooler though
(If I'm understanding the capabilities correctly)
Definetly want to use it within a mission at some point if I can figure out web-dev stuff
I can see someone going "this would be cool in a mission" and learn html, CSS and js just to use it in Arma...
(We all did it with sqf...)
SQF can execute javascript, up to 25mb iirc (but SQF strings are limited to 10mb anyway)
Javascript can send string back via "alert" to SQF eventhandler, I have not tested the length limit.
It is basically async callExtension and extension callbacks.
That's all the interop there is. Is that enough or more? There is no limit on "how much" you could do with that.
That system is used by API that engine itself provides which lets you read text files and textures/images from pbo's
I was wondering if the WebBrowser Control will be a feature that will eventually make it to the stable branch? The wiki says that it's still under review so to say, and playing around with it has really refined how one can make UIs.
Eventually
Could you share any examples? I’m happy to check for the rare species of people with 32:9 screens..
@keen sundial I'm not sure what your asking about, you can set the webbrowser control sizing, then using css you can go into depth on how to make the website responsive whether it's a live website or one you create using html files within a pbo or mission.
kinda wanna do that tbh
could be really neat to simulate interacting with computer/other devices etc.
I don't know if we'll do the "online" browsing part.
offline looks very good so far
I'm having a hard time understanding what the wiki is saying on what the CT_EXTENSION would be used for. It sounds like it just creates ui elements, and if so what would they be used for then?
Extensions are .dll files.
So you can implement your UI control in C++/C#/Whatever and do literally whatever. Another Webbrowser, a whole game, Minecraft, whatever.
I'm doing that for a mission, we'll have some computer that controls a bunker or smth like that.
Where you can switch between the different control systems and switch lights or doors or whatever
So you're saying this would be able to render a custom external UI into the game?
yes
AS i remember Arma Reforger supports HTTP Request, any chance for it in arma 3?
Not planned
Another funni web ui.
Runs on texture and as clickable UI, also multiplayer synced, all players see the same, scripted eventhandlers for when a button is pressed
That's really awesome, hopefully you'll share how you did that in the future, I'm a bit lost on how one would set that up
Here it is.
Page switching is done by replacing the whole <body> tag (I was a bit lazy, this is easy because it keeps the <head> and its scripts untouched, less stuff to load each time, and my scripts just run continuous and control the whole thing)
The whole state is just a json object, containing what page we're on and what buttons are active.
Any time you press a button, the state is sent over remoteExec to every player (and on-texture display), and when they receive new state they update the page accordingly.
And SQF has eventhandlers for the state changing, and because we have fromJSON and Hashmaps now, its easy to read it
i'll send you a full fur suit if you make an http client in SQF
I am on my knees begging
Now thats the kinda incentives we need
dedmen plis no hack pc :(
actually its fine you can have it, you've given us enough cool arma stuff
What do you need it for and why is a extension not enough?
This has a small ACE dependency, also requires the -debug command to be enabled 😉
1TB of Rickroll in 8K quality
-debug command only for debug, that is not needed for it to function.
I don't remember that I added ace things 
I am on dev RC, maybe because of that it showed me an error that -debug is required, I can post screenshot if needed. ACE Dragging was somehow enabled when you made the mission file
No I know the error. Its because the script code contains debug code.
When using it in production, you probably wouldn't try to open debug console
So our 32bit exe's are crashing very often.
The good old 3fps bug from the 2016 era, followed by a crash. The game simply doesn't have enough memory to run.
But if we look at a memory map (first image), the cause is painfully obvious.
The game itself only uses about 1GiB of memory in main menu (The private data section is what matters there)
But we use 1.2GiB for stack memory?
There are hundreds of threads, using 8MiB each. Why is that?
Well Arma needs alot of stack space to run, we do need 8MiB on our main thread, else we crash with stack overflow.
On windows, there is only one way to set how much memory the main thread gets.
But that way has a evil side effect, it not only sets the size for the main thread, it also sets the default for all other threads.
So when you use libraries like steam, physx, graphics drivers, windows API's. They all create threads, and most of them just use the default size.
So all of these, are now 8MiB large, instead of the default 1MiB.
Arma itself only uses about 50 threads on my system.
But due to other libraries, we have over 200 threads, each allocating 8MiB of space, even though they don't actually need that much.
If we instead change our approach, and leave the default alone, and manually give our threads more memory at runtime...
Bam, 1.2GiB of stack memory, down to 200MiB.
We just freed 1 whole gigabyte of memory that the 32bit game version can now use. One quarter of its maximum usable memory.
(This should also translate to about 1gb of less memory usage on 64bit systems)
(But still, please stop using 32bit 😠)
so, we got to the point where 32 bits is no longer feasible/bearable, time to update the requirements to be 64 bits only
which was the last known good 32 bits version?
The last known 32bit version without issues was before 2016
2.20 will probably be usable again with that much more usable space. But still stop using it
maybe change the launcher to no longer offer a platform dropdown and instead replace that with a exe dropdown meaning you can run arma3server, profiling, dev, etc if present
We have to offer it
And selecting exe is not feasible, I'm pretty sure you already asked that several times
launcher code is too spaghetti for this?
yeah i have, i am also forgetful.
get steamworks bi folks to remove 32 bits from the requirements maybe?
i gotta ask, is it part of the legal documents not drop support for 32 bits or any other legacy requirement?
anyways thank you for answering!
why? steam requirement?
because we sold it to people saying it would work on 32bit
13 years ago! 😄
make a blog post / announcement that with the next major update, 32bit will be dropped. maybe setup a steam branch so users can revert to that if they want to. then after few months, fuck the rest and release the update with 64bit only 😄
yeah that
I was about to write how it makes sense and how sad that is, but then I decided to do some digging, and found articles writing about Valve themselves dropping 32bit support for their own Dota 2 game in 2021.
Aaaaand, when I was about to write that I realized that it turns out that BI already states OS:Windows 7 SP1 (64bit) as the "minimum" system requirement (!), so it looks like they updated that already.
Maybe that gives some leverage to try convincing some higher-ups to drop support for 32bit executables? (since you can't run a 64bit OS on a 32bit machine)
an excellent question, does arma 3 support windows vista or xp or were those not supported from the beginning?
also isnt arma 3 like 11 years old from 2013 instead of 2009/2011? im not too sure but someone said 13 years lol so im questioning that
seems like Arma 3 has only said 64 bit in its requirements since atleast dec 2018 (waybackmachine doesn't go further back for A3) https://web.archive.org/web/20181222061540/https://store.steampowered.com/app/107410/Arma_3/
project zomboid lately also dropped win7 support. there was some drama by potato pc users but that's all
oh yeah, project zomboid already didn't have good win7 support
Running windows 7 in 2024 is mad. 10 I can understand, but 7?
at some point you need to cut the old stuff off. it's not even supported by microsoft anymore, so why bother
Can't even connect it to the internet safely iirc
still can, microsoft offers patches for 2008 r2 and 2008 that can be put on client
and realistically, only targeted attacks, phishing or bad sites will get you, there are projects that provide support for those legacy systems too
Wait but who is running a non 64-bit capable processor in 2025?
I was about to say that. I can't imagine anyone playing the current Arma 3 version with a 32-bit CPU. Even in Singleplayer. The game performance would be unplayable.
people in certain east bloc countries
and they are very loud if the game doesnt work
The "3 fps bug" is a bug, not the way Arma is meant to be played 😛
(not saying they play arma with that old hardware, but other games)
Sadly steam hardware survey doesn't directly report AMD64 support, but looks like 100% steam users use a 64-bit OS.
or maybe those are the only ones who do a survey like that :p
But it's random sample 😅
nah, you dont have to participate in the survey
last time i canned it as well, because i had no time / couldnt bother
Yeah but I mean it's just pressing "okay"?
yes, too much work 😄
Lol
Tbh the only real potential blocker that I see would be old 32bit extensions that people want to keep using (and the author disappeared, without source)
how many of those are there?
(and should BI care? Probably isn't their responsibility?)
still. do we really want dedmen to suffer more than necessary to support some granny-old piece of software instead of having him spending time on cool new features
I'm all for dropping it tbh
steam dropped support for 32 bit no? maybe just don't collect that info anymore?
But I'm also irrelevant lol
dedmen
I wouldn't mind dropping my ifdefs in my code either 🤷♂️
They did, yeah. Curious if it's possible for people without 64-bit to even run steam now?
maybe if you pirate the game 😄
A3 being on life support by the live ops team would be a really convenient argument to drop 32bit.
"You see... almost no one is working on A3 anymore, we don't have enough resources. We need to drop the 32bit executables if we want to continue supporting Arma. We care about you" kind of stuff 😛
I guess if they can still access the 32-bit version (even if old) then wouldn't it satisfy any potential legal issue?
steam is still a 32 bits app in windows
yeah i remembered wrong, they dropped support for w7
Note that the vast majority of 32-bit usage is server providers running it intentionally on 64-bit hardware.
why
Which means technically savvy people fully capable of switching their infra should the need arise. Unless I'm missing something really obvious
32 bits os for lighter ram operations? lol
Well, if you gave them a 32-bit branch option they'd probably use it.
see how many upgrade or stubbornly stay if you dont announce the branch but put it
Is that 1GB stack reduction making it to perf as well?
huh that is true
But wasn't that because years ago the 64bit branch was new and less stable? That's what I heard the last time this conversation had place.
Do you know if that's the reason why they use 32bit?
I don't know, they got quite angry last time I asked them :P
But the general argument seemed to be that it "uses less memory".
Given that the HCs were lucky to stay up for ten minutes with a 3CB modset, that is technically true.
once I find out if it has enough effect on 64bit, and if it does, then yes
IIRC the „3fps bug“ started appearing after the windows update that added the Xbox overlay.
Well I remember Persona 4 was 32 bit initially but they switched to 64 bit completely a couple of years ago and dropped 32 bit
So I mean it's not unusual to just drop 32 bit support after a few years
Wouldn't be kept up to date tho, that would mean dedmen still has to keep it working and up to date aka spend time fixing it every time
Some wip images of a moc os using CT_WEBBROWSER in sandbox mode:
But can it run Doom
Yes
Did you make it from scratch or is that some magic running web assembly?
I just realized, you can just load windows in web assembly lol
Or I'm sure there's a web assembly in browser Linux command line...
Oh wow the possibilities xD
Hello one question
Development for singleplayer multicore
Profiling for multiplayer multicore is this right?
No, multicore is on any branch.
Both dev and prof branches have the new improvements, and both are SP and MP compatible. Dev branch is not compatible with the main branch, but prof is.
okay thank you
@full sonnet It's all from scratch using html, css and javascript, with some paa images packed in a pbo. As of right now all the html is in one file, while the js is loaded up in separate js files and the css is in it's own file being loaded up. Definitely would like to separate each part of the html into it's own component html file and have it loaded up, just have to play around a bit more, and implement more custom apps, lol
That sounds amazing. And better than what I could come up with so far 😄
With the way I solved arma:// url's in blazor I had an idea.
I could let the engine, install a global fetch() wrapper.
So that whenever you fetch() a file from a arma:// URL, it would fetch it out of the game.
Would still only work with text files though.
Maybe that'd make it a bit easier to use? But its just a different looking wrapper around the existing api
Maybe I could even register a service worker, that catches all file requests, so you can do literally <link href="arma://mainstyle.css" rel="stylesheet" />
But service worker seems to be issue that it only loads on second page load. I don't know how it interacts with the iframe, I don't even know if I can persistently register one.. Tons of messes, probably not worth it
It does. 1GiB less memory usage to main menu.
Atleast theoretical less memory.
In reality, most of that 1GiB is inactive so its paged out and doesn't actually use up ram, looks more like 400MiB actual ram usage savings
At this point Arma 3 is just a Dedmen's funny sandbox
He's taking the sandbox theme very serious
Taking the sand and making glass out of it
security researchers screaming 👀
how about in-game? especially after driving for a while where memory tends to skyrocket?
It won't change.
Well, unless threads are being added over time, which is hopefully not the case.
"Driving for a while" just sounds like map loading.
man I can't wait to abuse this web browser renderer, this is huge
Terrain, object textures, shadows, LODs...
exactly, that means a lot of systems contributing to the load
Please do it early so I can fix issues that you find 😄
Which all shouldn't spawn threads, so will not be affected by this
Ive got two questions though:
- would it make sense to use this instead of UI for vehicle MFDs? I was planning to use the UI-to-texture rendering in my aircraft mod, and while I relish the idea of using react to render and manage the state of the interactive MFDs, it sounds more resource expensive. Otherwise I'll gladly stick to using this approach to run doom and some other OS-like pages >:D
- I see that we can run JS from SQF, but is there a way to pass the data back from the browser to the SQF script? i.e. trigger an event when a web button is clicked
Yes. Inside the engine it essentially works like ui2tex does, except that instead of rendering a in-game ui into the texture, it renders the chromium browser image into the texture.
The webbrowser is processed inside steam. I actually have no idea what Steam's limits are on how many browsers can be open and such. So that is a certain risk.
But I think in reality you would not have more than a handful browsers at one time.
The steam ingame overlay uses the same API as we do, and that one can have atleast several dozen tabs open.
The engine actually just gets an image, and copies it. All of the javascript processing is done inside the steam process.
So performance concerns wise.
Passing data back can be done via this
https://community.bistudio.com/wiki/CT_WEBBROWSER#JSDialog
If you are in offline mode, you need to use the A3API to send back, example of that is at very bottom of the page
does it work with the steam overlay disabled?
haven't tried lol, it should. Steam documentation said nothing about that
fair
Hmm so I could fire an A3API.SendAlert() and it actually won't open any in-game popups, just trigger an event that lets me read the input and then maybe open a popup if I return one?
imagine rce
If any JSDialog eventhandler is present, it always uses that and never opens a dialog.
If there is no eventhandler, then it will only open a dialog, if the config option that I forgot to implement is enabled.
A allowOpenMessageBox=1 config entry that you would have to set to enable it to open a dialog
I don't even know if I want to add that though, if you wanted a dialog to happen, you could implement it yourself using the eventhandler.
Most likely I will not add native dialog function, but not decided yet
TLDR; It will never open a popup by default.
In my little project, I send json as alert. Then in script use fromJson to turn it into a hashmap.
Which then tells me what the script wants to tell me in a nicely structured way
that's neat, glad there's a two-way data exchange
Would make sense to rename it to something more generic? The function name implies that there's a specific effect but it's mostly about passing the data back to the game. Not a big deal though 😄
Under the hood it does an alert.
And if you don't use offline mode, you would trigger the Alert eventhandler, by running alert()
So either the API name doesn't fit the eventhandler like SendMessage vs JSAlert
Or the javascript alert() doesn't match like alert() vs JSMessage
Yeah its a bit confusing. But I prefer to keep the naming to match what it does under the hood
Question, could this potentially work on backpacks, and uniforms through ui2Texture?
That would allow for a lot modding wise, for interactable devices...
It works where ui2texture works
But the thought of putting a separate browser on everyone's uniform, doesn't seem nice
Yeah, and I'd assume a script would pass data into the control
Yeah
And in the case of say, an ATAK, you could have a key to full screen the device, and click around
But for a gps, you could also just put a gps control into the ui2tex
Otherwise, it would just be displayed on the uniform passively
Yeah that's true, I've seen that done, just not a huge fan of the results
Fullscreen is complex. Because that will be a second display, a second browser instance.
Youd need to replicate the same view, and pass data between both browsers to synchronize them.
I have done that in an example I sent a couple days ago.
But it takes some effort
Technically I could make it so the same browser instance can be shown in multiple displays. But the displays would be the same pixel size so probably not
I guess for your use case it might even make sense to open a different "settings menu" UI, while the main one on the body is just a display
@full sonnet What would the best approach be to render the in-game map for the WebBrowser, I know there's the rscmap control, but I would like to avoid using that if possible. Also any ideas on how I could use the components approach for different parts of the UI.
☠️
There is export SVG, but you can't get that into offline browser, unless you pregenerate it.
Don't know what u mean with components
Dude do you work in webdev? 😄 How do you do that so easily xD
Actually, did you have issues with text inputs. I just found out we trigger key events out of order.
We do KeyPress, KeyDown, KeyUp
instead of
KeyDown, KeyPress, KeyUp
🤔 Not sure if that actually causes problems. I have one website where space key doesn't work, but in steam overlay space works, and online javascript keytester tells me the same stuff for both browsers 
The browser itself seems to be very confused in general. The F7 key is the code for F24...
An the key, is the code "KeyD" but when I test it in a real browser, it says code "Space" 
How can it possibly mess this up
The text inputs seem to be working fine, I haven't really tested them to much, but the few I did seemed good. I've been doing web development for years now as a hobby, amongst other hobbies, I actually build houses for my day job, lol
Yeah this is ultra weird.
Press F8 in normal chrome
key: 'F8', code: 'F8', keyCode: 119
Press F8 in-game browser
key: 'F8', code: 'Lang4', keyCode: 119
I'm sending the same keycode, how does it cause a different result 💀
The first thing that comes to mind is the in-game browser not being able to detect/process different keyboard layouts properly
Like you said before, I think if you were to correctly process the key events in the correct order, it may resolve the issue, unless you've already tried and it's still acting strange
I'm sending events in correct order now.
I found where the value comes from.
keyCode 32 stands for the Space key.
But, Code 32, stands for KeyD https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values
I can only give it one number
So I can tell it
32 and get key: ' ', code: 'KeyD', keyCode: 32 all except "code" are correct.
Or I can tell it
57 and get key: '9', code: 'Space', keyCode: 57, and all except "code" are wrong XD
Its supposed to be the same browser API as the steam overlay.
And steam overlay does it correctly 🤔
And there is no API to set any keyboard layout or language. Fun!
I'll have to test this out on my UI when I get done with work, that's quite the bug, lol
I'm writing a ticket to steam about it now 😄 That must be their bug, or some undocumented API to set the browser language or smth
Also I think no-one tested this on proton yet.
I see that Steam wants you to send it the "native" key code for key presses.
But the native linux codes are different than windows. I have no idea what it would do there
So. Steam support was too slow to reply, so I dug deeper.
https://github.com/SteamDatabase/SteamTracking/blob/8bdab7b1b8d2969e71bc4fe0702bc74e6e154896/Protobufs/htmlmessages.proto#L13
This is the message that steam internally sends. It has separate fields for keyCode and nativeKeyCode.
But the steam API, only lets me provide the nativeKeyCode.
It seems it just sets the same code into both properties. Which is wrong.
And it indeed passes the nativeKeyCode as both parameters
If I hack the steam dll, and pass nativeKeyCode=57 and keyCode=32 then..
Tadaa
key: ' ', code: 'Space', keyCode: 32
Fixed!
Is valve going to fix this?
Quite unlikely, they would need to publish a new SDK version.. I suppose they most likely will opt to not care :/
So what will have to be done if steam doesn't fix this bug?
I will fix it myself 😄
patching steam from within arma in runtime?
KeyDown is fixed, KeyUp and KeyPress next week 
I've been able to create a JavaScript framework within the sandbox environment which allows me to create components and apps for the OS, still a lot of work to do though, lol
pls publish that as a mod looks so much fun.
Status update on the OS Framework:
Gotta love it when pressing space actually sends a Space key press.
Those were the kinda unforseen problems I expected to find when starting with the webbrowser stuff.
It took this long to find them, and they're already fixed.
But they're only fixed on 64bit, so stop using 32bit! 😠
I am leaving the wrong order of the events. Because this way is more reliable, otherwise some presses would be delayed. So far the wrong order isn't causing issues in the web apps I tested, so I think its going to be fine
I did some testing and I noticed that when I hit enter in a text box that it didn't go down to the next line. Still didn't stop me from creating the javascript framework for the os that's fully working in-game, lol
yeah the KeyPress event for enter is missin
you know what to do with 32bit 😄
ah the pain
I think all input problems will be fixed with next update (next prof). Atleast all the keys I tested now behave correctly
WebApps anyone, what about a messenger, oh did I forget to mention working url and browser history?
Are you building RVOS? 
MSN incoming
How about skype? 
for division level meetings across altis?
@carmine juniper essentially it's a virtual os in the sandbox mode using htm, css, and JavaScript framework that I put together. There's a lot of smoke and mirrors going on, lol, for example Internet explorer can only render WebApps that you've created within the framework, but it adds the illusion that your actually on a real website. The chat app is just using the mission namespace to store a hashMap of the active chat as well as player's status, the notepad does the same thing other then it stored a hashMap to the player profile namespace. There's a lot going on behind the scenes and even more to come. Also most of the apps will be pulling and sending data to and from the game. It's quite a little project, but I'm having some fun being able to use some hobby skills of mine, lol
It probably wouldn't be so hard to make the explorer be able to load any html files right?
Worst case just let javascript insert an iframe?
Yep it wouldn't be to hard, right now the Web Apps have their own JavaScript and CSS files. The JavaScript file is using the commands like createElement, appendChild as well as a few others. I could easily update the Internet explorer to support reading from HTML files with only a few lines of code to tweak and add. Once I release the source code to the public I could totally see someone creating an extension to fetch live data/sites from the internet and then render it into the web browser, but that would be on them, lol
can you make it run opf? lol
Where green colour?
only 7 lines. where my humongous changelog at
I've noticed that when the CT_WEBBROWSER window get's refreshed or an element within the window gets refresh the scroll wheel on the mouse no longer works, that you have to add an event handler for wheel that re-enables the mouse wheel after the refresh.
how do you re-enable the mouse in an eventhandler?
how do you refresh a page in a way that breaks it?

I added a hotfix into Ui2Tex, that it automatically triggers a displayUpdate if it contains textures that haven't loaded yet.
For koth's killfreed that was sometimes not loading images.
Now looking at the code... I don't know when I broke it, I forgot a [[nodiscard]] to notify me of this..
Yeah dude, you never set that variable 
It will only try one extra frame, and then abort. Its supposed to try up to 128
I'm also adding some debug logging to better see what's going on.
Maybe that also helps with Ampersand's (?) issue with it sometimes not loading
Open issue with webbrowser so far. When you launch it, you don't know when you are able to submit scripts.
If you do createDisplay followed by ExecJS, it might just be dropped because the browser hasn't even loaded yet.
If you wait a second, you have a semi-random chance of it being dropped, the browser might just be loading the first page.
Or it may have loaded the sandbox, but not inserted your content into it yet. In these cases, trying to ExecJS will just throw error inside the browser.
11:52:45 UI2Tex creating new display with name 'OS1_s' (class 'RscCytechDisplay')
11:52:45 ["load",[Display #13371337,"OS1_s"]]
11:52:48 UI2Tex creating new display with name 'OS2_s' (class 'RscCytechDisplay')
11:52:48 ["load",[Display #13371337,"OS2_s"]]
11:52:48 ["update","OS2"]
11:52:48 ExecuteJavascript 3476, 'UIUpdateState({})'
11:52:48 ["update","OS1"]
11:52:48 ExecuteJavascript 3476, 'UIUpdateState({})'
11:52:48 OnStartRequest
11:52:48 OnStartRequest
11:52:48 OnFinishedRequest 3483
11:52:48 SandBoxInsertExec 3483
11:52:48 OnFinishedRequest 3483
11:52:48 SandBoxInsertExec 3483
A bit weird, I have a 1 second sleep between load and ExecJS, yet the ExecJS is 7 frames too early, which breaks the whole page.
I'll add an eventhandler that fires once the page is loaded to the point where you can execJS.
Looks like no name of an existing EH fits, so a new one it is..
Question about OnDraw event on browser.
I'm thinking its more useful if the content actually changed. As in the browser did a draw, not the control in Arma did a draw.
The control in Arma will draw every frame, but it will repeatedly draw the same old texture, if the browser itself didn't draw.
@full sonnet I have to head to work, but here's a few files from the system that creates a window, which is extended when creating the internet explorer app, and then the intranet web app that gets rendered within internet explorer. Maybe you could take a look and figure out what I'm doing wrong, also here's a zip of a mission in which the garage and locker UI have the fix I used to keep the scroll wheel on the mouse working. Again I wish I had more time to get the exact details of what's going on, but them houses aren't going to build themselves, lol
Forgot to send the relevant config entry:
/**
* Configuration settings for Applications and Web Applications
* @namespace WIN99_CONFIG.applications
*/
applications: {
/**
* @property {Object} applications.system - System applications
* @property {Object} applications.web - Web applications
*/
system: {
notepad: {
files: ['apps\\notepad.js'],
class: 'Notepad'
},
internetexplorer: {
files: ['apps\\internetexplorer.js'],
class: 'InternetExplorer'
},
career: {
files: ['apps\\career.js'],
class: 'Career'
},
messenger: {
files: ['apps\\messenger.js'],
class: 'Messenger'
},
calendar: {
files: ['apps\\calendar.js'],
class: 'Calendar'
}
},
web: {
mail: {
files: {
js: 'apps\\webapps\\mail.js',
css: 'apps\\webapps\\mail.css'
},
class: 'MailApp'
},
intranet: {
files: {
js: 'apps\\webapps\\intranet.js',
css: 'apps\\webapps\\intranet.css'
},
class: 'IntranetApp'
}
}
}
You mean this
availablePanel.addEventListener('wheel', (e) => {
e.preventDefault();
availablePanel.scrollTop += e.deltaY;
}, { passive: false });
So you mean a javascript eventhandler, not a SQF one.
I do not have control over the insides of the browser, all I do is tell it that a scroll happened.
This sounds like your issue is inside the browser/script. Not in the game. So nothing I can fix.
Wonder if that same issue happens in normal chrome too
Yep that be the one, I tried integrating it within the window class, even tried an integration in the Internet explorer app, but no luck, lol
Completely forgot I had a 200ms delay for page loading. It waws to fix something broken, but now that I remove it, it still works fine anyway 🤷
Basically instant loading now.
And with PageLoaded, you can now execute script on the instant that the content is ready.
_ctrl ctrlAddEventHandler ["PageLoaded", {
params ["_ctrl"];
private _display = ctrlParent _ctrl;
_ctrl ctrlWebBrowserAction ["ExecJS", "UIUpdateState()"];
// Regular updating
private _p2 = [{displayUpdate (_this#0)}, 0.1, _display] call CBA_fnc_addPerFrameHandler;
_display setVariable ["ded_p2", _p2];
}];
Excuse me what?
You can now also stop/resume the browser.
Stopping it will freeze the image that was last shown, and close the browser and free the resources it had been using.
Resume reloads the page. Sadly it seems there is one black frame between the frozen frame, and the first new resumed frame 🤔
That could be workarounded if you are ui2tex, by pausing the displayUpdate calls, until a couple frames after PageLoaded fires. Then you won't see the blip.
When you resume, it loads the last URL that was open, you'll likely want to make changes after opening the main page anyway, that's on the user to handle.
I'm doing it like this.
// Stop browser
_ctrl ctrlWebBrowserAction ["StopBrowser"];
// Remove the EachFrame handler doing displayUpdate. So our ui2tex will also be frozen
[(ctrlParent _ctrl) getVariable "ded_p2"] call CBA_fnc_removePerFrameHandler;
_ctrl ctrlWebBrowserAction ["ResumeBrowser"];
// Remember when the last browser draw happened, so we can wait for it to become stable (once it stops drawing for a while)
_ctrl setVariable ["lastDraw", diag_frameNo];
_ctrl ctrlAddEventHandler ["Draw", {
params ["_ctrl"];
_ctrl setVariable ["lastDraw", diag_frameNo];
[{
// Wait until the last draw, was more than 60 frames ago, until the image is "stable"
(((_this select 0) getVariable "lastDraw") + 60) < diag_frameNo
//#TODO handle the control becoming null because the UI was closed
},
{
// No draw for 60 frames, its probably stable, resume updating the ui2tex
private _display = ctrlParent (_this select 0);
private _p2 = [{displayUpdate (_this#0)}, 0.1, _display] call CBA_fnc_addPerFrameHandler;
_display setVariable ["ded_p2", _p2];
//#TODO remove the Draw eventhandler
}, [_ctrl]] call CBA_fnc_waitUntilAndExecute;
With something like this you can just keep the ui2tex frozen, while the browser is already unfrozen, and that way hide the short blip transition into the unfrozen browser.
https://community.bistudio.com/wiki/CT_WEBBROWSER#Draw
https://community.bistudio.com/wiki/CT_WEBBROWSER#Seamless_Stop/Resume
Tried to explain it somewhat. Should make enough sense for anyone using ui2tex to understand.
Is the CT_WEBBROWSER still a maybe on making it to stable? I want to invest some significant time in it but if it's only a maybe I have so many other things I need to do 
Quick little video of the OS, you'll also see that once I maximized the internet explorer and restored it the detection of using the mouse scroll wheel stopped working, then I had to use the actual scroll bar to scroll up and down which you see in the calendar. Not sure how to fix this at the moment, hopefully I'll figure it out or get some help, lol
Can it run 3D Pinball
Can it run Arma 1
...but what about DOOM
And quake
and where is winamp
The online part is unclear. The offline part looks good
I hope the online part can be made to work. I think it would open up some really interesting possibilities for streaming and live-updating stuff without needing an extension.
Not to mention the meme potential ||ingame smartphones that let you send actual reaction gifs||
it works right now, but the permission prompt is unfinished and not polished. And I think many servers might find the prompt annoying but there isn't really a way around it.
And I cannot control sound volume, its outside of the game, and theres no way to fix it either.
Couldn't you download and pack the gifs in a pbo, then use RequestFile to get the gif and play it within the offline browser?
yes you can
Then there's the answer to how create an in-game smart phone that can send gifs, lol
I'm really enjoying this offline sandbox browser, been able to do a lot with it, with more to add not to mention my knowledge with creating APIs and a C# extension, the possibilities are endless
You can also dynamically load gifs from internet, with a offline sandboxed browser, without clientside extensions.
You can let the players browser, remoteExec the request to the server. The server has a extension to download it, compress it and pack it into base64.
That is sent back to the client, into the browser, and tadaa you have a blob containing the gif.
You could make an extension by injecting a new method into the A3API, to do that.
await A3API.RequestOnlineDownload("https://tenor....") it puts a requests into the queue, triggers an alert to notify SQF. And sometime later SQF calls A3API._response to deliver the results.
Such a powerful feature, I can't wait to be done with work for the day so I can continue developing the OS. I need to work on more apps and connect them to the engine. At this point I'll just look at the wheel bug as a feature, then try fixing it in the future once I finish with everything else, lol
I have just implemented this. Navigating to a arma:// url, will be detected, and redirected to loadFile and will load the file from game instead.
But problem, this only works in online mode, because I can only detect page navigation on the root page, not in the sandbox frame.
I could add a
A3API.NavigateTo("arma://MissionSubFolder/otherFile.html");
That basically just does a script call to
_ctrl ctrlWebBrowserAction ["LoadFile", "MissionSubFolder\otherFile.html"];
It'd just be a shortcut, that you could very well implement yourself already. Not sure if worth it.
My thinking was, many normal web pages, navigate to a different page by clicking and <a href..>. If we could make that seemelessly work with in-game file structure, that would be amazing.
But I haven't yet found a way to make it work natively.
Maybe I can override location.href setter, but I don't know if clicking on a link would even trigger that.
I could have a script run on page load, that finds all <a href="arma://..."> and replaces them with <a onclick='A3API.NavigateTo("arma://...")'>
🤔
So then you just load a html page with links to arma:// url's, and clicking the links will just work.
But I don't think it makes sense for me to add that into the engine.
Rather provide a snippet on wiki that you can copy into the head of your page, that does that replacement for you
That's pretty much how I do it, no real url or href, just an onclick and ondblclick which fires a function that uses the requestfile and then renders the file
Here you just make a very simple page like this
<script>
document.addEventListener("DOMContentLoaded", () => {
var allLinks = document.getElementsByTagName("a");
[...allLinks].forEach((link) => {
link.onclick = function (e) {
e.preventDefault();
var targetUrl = e.currentTarget.getAttribute('href');
A3API.NavigateTo(targetUrl);
};
});
});
</script>
<body>
<a href="arma://CytechUI/index.html">Click me to get to page</a>
</body>
Just normal links with url's, but arma url's.
And then you add the javascript snippet at the top of your page, which will translate all links.
And then..
sweet, the offline part was what I really care about.
It seems that there are problems with AI landings [they are stuck in air above squad] when they need to pick up ground forces.
Only on Dev branch
Is that support react apps?
yes
I'm having issues loading an .ogv that's in my mission folder and playing it. Is this supported and if so how would I load it within the ct_webbrowser?
BIS_fnc_playVideo, we have video textures kinda thing for it.
Inside the browser? 💀
I don't know if browsers can play that, if they can then base64 encode the file, loadFile it into javascript as a blob
I think I prototyped it once by doing that with a h264 mp4 with the html5 <video> element
I tried using a normal MP4 with loadFile, but it wasn't able to load it, I checked the log for the length of the file when loadFile loaded the video it it was 0. Then I converted it over to ogv which showed the length was 4 when loadFile loaded it, but no luck there. I did try the blob approach and didn't have much success either, I could've written the blob approach wrong though.
loadFile treats the file as a string. It stops on a 0 char
Which is why you should base64 encode it
So I would have to create a sqf function to do that and then pass it to the UI? I'm working on an app that uses a virtual file system approach so you can navigate through a document folder, where I pass in 4 params; name, type, path; relative path. Type is just to give it the correct icon, relative path is the actual path from the game
No. You should encode it to a base64 text file outside A3
Then load it using loadFile and send it to the UI
Ok, so python script it is, then put the file in game, lol, thanks for the information I'll give it a try after work today
https://github.com/dedmen/ArmaWebBrowserTests/tree/master/C%23_BlazorWebassembly I solved that here using
https://github.com/dedmen/ArmaWebBrowserTests/blob/master/C%23_BlazorWebassembly/BuildTaskLibrary/ArmaPublishTask.cs#L19
At build time, it creates .b64 files. Which is what the game then loads
Python to the rescue, just converted the mp4 to base64 and was able to load the file and play it
Did someone mention file system and video playback? ... lol
Sometimes I am actually sad I dislike JS so much I religiously refuse to learn it
Could you do this to a video that was just captured from the game via obs or the gpu?
You'd have convert it to base64 text file, the load it into the game or use and extension that can pull a video covert it then send it via a streamed in base64 code.
With a browser in online Mode, you could watch a obs stream
so you could watch yourself playing Arma in Arma 🤔
For those who may be wondering about the file browsing system, under the hood it's just a virtual file system that I configured, and when it comes to the actual files that you open up those get some extra parameters for relative path and file type. The file type allows the file to be processed correctly for the type of file it is. As of right now you can open MP4 videos that were converted to base64 text files and then PNG/JPEG images that were converted to a base64 text file
When I sent this to our mission makers. their first Idea was "connect usb stick to the PC, and copy a file off of it"
I suspect scripting the filesystem like
"AddFolderToFileSystem" and a eventhandler for "fileCopiedToFolder" would be simple enough to add, and thats probably all you need to do that.
When usb stick connected, add a folder.
You're talking in-game action to connect USB drive and then copy a file to it? That's sounds pretty cool, I may look into implementing that. Also after work today I'll probably test opening an MP3 file that was converted to a base64 text file, I do have that built in as well just didn't get around to testing it
Not quite sure how that would work. Because you would connect the usb before booting up the PC.
Probably not while its running, but maybe you would 
The end goal for me is to have a pbo with the os packed, then a mission template folder with configs for users to configure the os. But there will also be the source code so people can create their own apps and web apps to add to the OS. But I could even add the ability for them to create those within the mission template folder and if the user configured it correctly the OS will pick up the new apps
Btw they keypress handling is fixed now, so your issue of enter keypress not being recognized in textbox, should be good now, on prof branch atleast
I noticed, thank you so much for that fix, I still have the DOM bug that annoys me, lol. It's not a game breaker just a pain, but I believe it's to do with how I've setup the apps and window component, just didn't do a good job with inheritance, but I'll be sure that'll be fixed before release, lol
Too risky and easy to exploit, no?
How? explain?
Did you mean read a file from the real life PC, or just an in-game thing?!
If the former, it's self explanatory
We are talking about Arma, if you'd follow the conversation right above
You're talking about the web browser and adding weird stuff to it 
And it seemed like you were talking about adding file access to it or something 
But yeah I just skimmed over the conversation 
https://youtu.be/rhCCaxL_vxY?si=t6aoVxdHblCwY4dX
The mod advanced equipment all ready has usb drive myb something like that would work
#arma3 #mods #ae3
Episode 5: Update v0.5.2
00:00:00 Start
00:00:20 Intro
00:01:22 Fr Keyboard Layout and Localization
00:02:33 New Eden Editor Modules
00:08:05 New Interface Designs
00:12:20 Syntax and Help
00:17:38 Retro Games
00:20:55 Custom Connections
00:25:22 Flash drive
00:29:52 New Commands
00:39:06 Updated Commands
00:45:06 Interaction...
lol
Just an update... And yes before you ask you can watch and listen to media files within the preview panel. lol
Current supported file types: mp3, mp4, jpg, jpeg, png, md. They just need to be converted to base64 text files before you'll able to use them
Not sure how exactly/if possible to implement, but can't want for someone to make a serverside extension that will actually pull internet requests and then send it to clients.
synced movie watching in arma, just what everyone wanted
In the sandbox mode for ct_webbrowser not possible, but the live mode it would work if the website is setup to do that, of course they're are probably other ways to do that as well
Can't you get results of SQF calls?
Or access (sqf) variables?
You can, but there's also a hard cap on how many bytes can be sent to/from arma
So it is doable
In the live mode probably if the website is setup to do that itself, but BI may do away with the live mode and just keep the sandbox mode on release.
Oh well that looks interesting. How come I've never heard of it?
The cap is around 20MB.
The max length of a string in Arma is 10MB.
You'll have to split stuff anyways.
In online mode, you cannot interact with scripts, the API is only available in sandbox
But I find the idea of watching videos that way quite terrible.
Might as well use online mode, or if we don't do it, use the extension that implements Webbrowser and mod it on clients.
Would it be possible to use say3d for an ogg sound file of a video that is being played through r2t for part of a briefing? The video would already be base64 and in the mission folder or pbo
I'm just trying to think of ways to get a full briefing experience from the SNET app that I've been working on if a video is included
You are asking if a script can play sound? yes it can
Do you think there would be sync issues with the video being played through r2t?
The r2t might be a frame or two delayed, at 60fps probably not much concern, at 20fps.. eh.
But the audio in-game plays in real-time, and the video also plays in real-time.
So it shouldn't get offset too much, as long as it starts at the same time, and the start command from browser to game might also need a frame or two to get through
ok, that sounds like it shouldn't be to bad then, I would like to further develop my snet app so that it could be used as the briefing software within a mission.
Does the sound/video get played immediately? 
Or does it have to be "buffered" first? (async, thus adding some delay)
the load is realistically not going to take longer than one frame
No new updates for the OS tonight, I ended up working on a server-to-server UDP communication extension in .NET 8 for another Arma 3 project I've been working on, lol.
Think of a main hub in which you and a team are coordinating operations running on different servers from a central server through one of the apps on the OS
The forums are down so I can't read the development changelog... can anyone tell me what has been changed?
Tweaked: Several memory allocation optimizations
Tweaked: Updated Steamworks SDK (libraries) to 1.61
Fixed: Inflate decompression would freeze the game if there were extra bytes at the end (thanks jokoho482)
Fixed: Base64 decoding would not recognize padding characters and produce extra bytes at the end
Added: CT_WEBBROWSER Event Handlers "Draw" and "PageLoaded"
Added: ctrlWebBrowserAction "StopBrowser" and "ResumeBrowser"
Tweaked: Web browser pages now load 200 ms faster
Fixed: -init= command line parameter did not work
Added: sourceModulo for MFD sources
Added: MFD sources ClockSecondSmooth and SidePanelRadarRange
Added: mfdMaxUserValues vehicle config entry and raised the maximum MFD user value limit to 256
Thanks POLPOX <3
I had similar problem with server not sending network traffic to clients, like in Performance branch [still at high / moderate fps on server], unless someone went back to lobby and rejoined the game [then it would start sending data again].
Strange problem...
So is the forums being down a part of the plot to modify the changelog in order to *insert multithreading as a 1.0 feature?

someone needs to release a guide on how to limit an exe to one core to have people try out running arma on 1 core..
Its not possible anymore. I removed that ability recently
if you go into the task manager, to the processes/detaisl, you can still assign it to only one core with "set affinity" or so
did that once to truly limit arma to 1 core and the performance war atrocious
Ah yeah that would work
I even did all the parameters to limit arma as much as possible and it would still offload tasks to other core until I used that method
There are threads we don't have control over, like audio and graphics drivers. They still spawn threads and do work on other cores, even if we wouldn't
I did that a few years ago to find out much that "arma is a single core game" claim was true, because a lot of things didn't add up.
not recommended because it pegs the cpu core which is something you dont want in the long run since it rusts that core
...rusts?
sorry wrong word, im having a hard time translating what i actually mean
Nobody cares man. And can’t you read. I tested something. How do you even come up with tour. Also your assumption is absolutely bogus.
?????????
Are we talking about electromigration? :P
Not likely to be an issue unless the voltages are too high in the first place, but I wouldn't rule that out with modern CPUs. Off topic though.
latest dev branch version gives me this. did i do something wrong?
but i can boot up the game just fine via diag exe
Is the dll where it should be?
Does RPT say something?
yeah, file is there
but i just remember something.. let me test
hah. ok, never mind. remember a few months ago you've send me a new dll file? i forgot to revert it 😄 it works with stable branch, but doesnt with dev-branch. debug exe probably ignores the issues
sus
Yesterday/Today on Development branch server had around 5 freezes, where the game was being updated, but players weren't receiving data. [Not FPS problem].
I turned off all of the Headless clients, before game.
Same problem as one I reported on performance branch...
First freeze happens quite late in game [like around 1-2 hours in].
Update on the character creator:
Windows XP style 😉
I believe that is Windows 95...
XP is a lot better ui lol then that
It's a mock windows 98/99 os entirely out of html, css and JavaScript using the sandbox mode of the ct_webbrowser UI control
ArmaOS confirmed
@full sonnet Do you know if it's possible to stream a r2t camera to the ct_webbrowser in sandbox mode?
You can't get it into the browser that way without extensions.
What you can do is create a control over top of the Webbrowser, that displays it. And move it with JavaScript/script to be aligned perfectly over the spot you want it to be.
So I create a new control over the top, size and position it, then have the ct_webbrowser send an alert to open/close that control
Yeah. I don't know how well it will handle with the delay when you move the control inside browser.
Because JavaScript arriving to game is likely one frame delayed.
But, the browser rendering is also one frame delayed so maybe it's actually fine.
That's something to be tested
I was thinking of a static position for the control over top, but I'd be up to the challenge in seeing if I can mimic the movement of both a window within the ct_webbrowser and the control over top
in javascript.
Get window size (whole browser) in pixels, get your controls XY and width/height in percent of window size.
Send to Arma, ctrlSetPosition.
The code for it is fairly simple. The question is just if it will be fast enough
Todays Arma easter egg.
private _declaration = [
["#str", {_x = 5; ""}]
];
private _hm = createHashMapObject [_declaration];
[1,2,3] apply {str _hm; _x};
``` -> [1,2,3]
```sqf
private _declaration = [
["#str", {_x = 5; ""}]
];
private _hm = createHashMapObject [_declaration];
[1,2,3] apply {_dumy = 8; str _hm; _x};
``` -> [5,5,5]
Enjoy! (And please never do this)
Old school false = true;
Brightness adjustment
Cutting out a temperature range.
Instead of stretching 0-100% across the screen, cut out a 10% slice and stretch that across the screen.
I thought we already had this 
Actually that video was wrong
This is cutting out temperature slices, and I hate it
Negative values were not allowed, you could make the image brighter, but not darker
What is this supposed to be for?! 😅
By cutting out 10%, do you mean TI is only adjusted based on some portion of the screen?
Guy requested that he wanted to "zoom in" on the thermal imaging.
So instead of seeing the 0-100% range on screen. Zoom into 20-60% and show only that section, stretched out.
So you get more detail in that section, but the bottom/top end are cut off
20-70%
0-100%
50-70%
It all works quite badly, the underlying data is just too bad
Clamping the top end to white, instead of making it black too.
50-70
60-70
62-67
20-100
But this is after equalization, so as soon as you move the camera its messed up.
Really you should do this at the raw temperatures before equalization, but that needs to many changes.
Just some experimentation, don't think I'll do anything with it
I think this is what @sick gulch wanted to get right?
Oh also that
resolution was only adjustable in vehicle/scope config. Now its also adjustable on mission scope
Doom TI 
just curius, its posible to know the temperature on each point of the screen?
or its just a texture
Its all kept on GPU, the information is not transferred to ram
You can read the pixel thanks to your d3d11 extension stuff
And the temperatures anyway, are bascally garbage.
On this image, everything below 27°C is black, and everything above 27.6°C is full white
You don't get the intermediaries, you only get the end result, which is histogram equalized and stretched
Yeah 
You can still tell which place is hotter tho
27.6°C-28.2°C
26.4°C-27°C Most things are clamped to white, so above 27°C
As you can see, basically everything is between 27°C and 28°C. It doesn't really make any sense
Even a human's face, ends at around 30°C.
Their clothes are 25.8-27.6°C from the outer edge of their backpack, to the hottest parts of their pants.
Everything is in a ultra tiny range
And trying to stretch that out is what makes the thermals look so shit.
Its because everything is built around air temperature and some small offset relative to it.
Humans are not 36°C, A hot tank barrel is not 60°C, a puddle of water is not 12°C
Everything is air temperature +- a bit
What if that offset could be changed by a global multiplier?
I tried so many things back with the thermal overhaul and nothing really worked
The top end is black surface temperature (when hit by sun it heats up), bottom end is white surface (reflects heat).
black is +3.5°C, white is -1.4°C. On Tanoa mid-day.
My test code to overwrite these is even still there 😄
Stretching it out to +20/-10
+20/-10
0-100%
40-50%
45-50%
I think your settings are fine as they are. It’s a low and high cut used in image processing and should help making vanilla TI more useful.
Is there any chance to make a scale showing what is what temperature or also allowing to change the colors of black and white ?
+3.5/-1.4
0-100%
40-50%
45-50%
scale no. Mainly because real temperatures don't exist.
Colors you can change since Arma 2.


That almost looks like accurate temperature mapping 🤔
That is what you can get if you can zoom in to the small 2-3°C temperature range
So if the detailed data is actually there but compressed, would it be possible to, like, bulk process the source data to expand its range? Like linearConversion. I figure it'd still be a fair bit of work, but presumably easier than having to fully re-author all the thermal data in the game.
0-60°C
27.6-30°C
That is what we're already doing, histogram equalization.
That was the new thing added with the thermal overhaul
Before your whole screen was mostly white/black, with all the change squished in a small 5-10% area of the brightness.
After, we spread out that 5-10% area over whole screen, and cut off the edges. Basically.
render the game twice? I wouldn't want to do that
Hmm or interlaced
I meant applying this process to the source, the actual temperatures of the objects, to make their range (more realistically) wider, rather than just calibrating the camera to a super narrow band
I mean more like two outputs. If it requires to render the game twice it’s indeed useless
That wouldn't make any difference.
Every pixel is at a point between the min and max range in temperature (air temperature +- a bit).
And afterwards, the temperature is scaled back to a 0-1 range in screen brightness so you can display it.
Its scaled from a 0-1 range, into temperature, scaled back to 0-1 based on min/max temperature.
Making the temperature range wider, makes the min/max wider, and scaled back to 0-1 brightness it stays the same
First is normal variance.
Second is making the temperature range of objects, 10x as wide.
Huh, well atleast not that much difference
If you zoom out.
10x first one, second one is normal
When the ranges are wider, the histogram equalization can work a bit better, because it works in buckets. It has 512 temperature steps to equalize, over the 0-100% range.
If an object takes up 20% it can differentiate better than it taking 2%. More buckets == better distribution.
But overall, it does basically nothing because the ranges are all still unrealistic and not based on real temperatures
But the temperatures are not really important. We just wanna differentiate between something that is hotter and something that is cooler.
How big are the offsets from air temp that are defined?
Is it like 40 + air temp for a barrel?
A barrel is like air temp+3°C. Same as a human, or a asphalt road.
Well
Then there is no fix
If everything has the same temp then there is nothing to differentiate.
That's kind of what I meant but was struggling to express. Not expanding the overall possible range, but expanding the part of the range that is used by objects, so you don't have to "zoom in" so much to see the variance.
In reality it would be Black asphalt in the sun is hot. A black water barrel in the sun is cold, because there is alot of water in it.
A black plant is cool, because it pulls water out of the ground and evaporates it, cooling itself down.
Arma is "Black is hot"
lol welp, is it too expensive to make arma more truly realistic?
That is the difference of objects using 40°C of range, and 4.9°C of range
You probably need to go much higher with the range.
Gotta love the big pile of uranium gravel on the left
exciting changes with TI btw
Yeah. Whatever you do it will look weird because it doesn't look like what we expect
120°C
As long as all objects are using the same range, it just won't do much on the end result
Yeah. As long as a hot barrel has the same temp as a face..yes.
close up looks a bit nicer, you can make out a tiny bit more detail. But zoomed out, which is how most people will be using thermals, it makes no difference
We basically would need a slider to adjust the range on the fly.
My idea would be to define per material.
Does it have its own temperature regulation, or is it relative to air temperature?
If it has its own:
then what is its min/max temperature
how "active" it is in that range is given by the object itself (Active multiplied together with a texture, so different parts heat up at different rates)
Whether and how much it should fade to air temperature if its not active (clothes on a body)
If not:
Offset from air temp (trees and gras always a bit colder because they cool themselves)
What is its thermal capacity (asphalt heats up and cools quickly in the sun, water barrel and gras do not. Mossy ground has alot of capacity, gravel ground has very little)
But doing that, would mean to re-do every asset in the game
At this point...just make sure that Reforger has it properly implemented
Indeed
There is some kind of a distinction between actively heated objects and not, because engines and gun barrels do heat up, and corpses cool. Could you tie into that, to get a simplified system that requires less manual editing? Like, say, objects naturally behave as they do now, but if an object is actively heated it's allowed to exceed the normal temperature range? It would be less accurate than the ideal system, but more accurate than what we have.
Of course this is just theoretical, I have no idea if that's even remotely possible with how the system works internally.
Some assets could use a optimization pass indeed 😅
good luck convincing bi to finance that
New thermal imagers also have a "Red Heat" mode where an extra color is applied to differentiate a zone that's above a certain top quantile
Would that be possible without redundant computation?
You could introduce your own new tiMode, that is just a whot, but with the top 1% colored red.
The ti modes are just a texture with rows of different color bands
textureTIConversionDX11
ooh neat, so it's fully moddable?
wait is this new or was that always a thing?
oh damn i need this
https://steamcommunity.com/sharedfiles/filedetails/?id=1799993760
probably been a while, seeing by the publication date on this
vehicles and scopes can already do it
I think some of the CDLCs use it even
can i do that for a normal vision to simulate electronic zoom, over mechanical
or is it just the thermals
There is a resolution post processing effect you can apply to anything
would you know which config reference i would need to look at by chance?
https://community.bistudio.com/wiki/Post_Process_Effects#Resolution well scriptable atleast
I don't know how you do that in config
opticsPPEffects
CfgOpticsEffect
i think im trying it now
well i can script it, but i dont think arma will let me config it
class CfgOpticsEffect {
class DTV_electronicZoom {
type = "Resolution";
priority = 1400;
params[] = {400};
};
};
i think this should work, but nvm, thanks for the PPeffect info
Mine has this. But rather than being objects over a certain temperature it's more that it highlights the warmest pixels in the screen. So things will go red even if they're not much hotter than surroundings. The modern digitally processed ones are basically gated in a way where the hottest object in a scene is white, the coldest is black and then everything else is on a gradient. You can select amplification levels to change how much it ramps up the top and bottom values from the ambient
Older camera I used (early 2000s), you had a temperature range and you'd gate it on the upper and lower temps you expected to use
im not sure if its just me but i cant get the thermalResoluton scope property to work
Are you using the right syntax? It's an array even if you're only using one value, so has [] suffix in the property name and braces/curly brackets around your value e.g. thermalResolution[] = {value}; writing e.g. thermalResolution = X; wont be recognised
That’s exactly what I did, i tried looking through Arma config and GitHub to see if anyone’s used it, but I could find any use cases for it.
I also tried a config optics effect for resolution for both thermal and normal vision, and neither worked
@teal snow I used it a long time ago. Dunno if it was in a build that made it to public release but it worked at the time: class rhsusf_acc_anpas13gv1 : ItemCore { //parameters class ItemInfo: InventoryOpticsItem_Base_F { class OpticsModes { class TWS { //blah visionMode[] = {"Ti"}; thermalMode[] = {0, 1}; thermalResolution[] = {0.0, __EVAL(640/0.887), 1.0, __EVAL(320/0.887)}; thermalNoise[] = {0.07,0.1,0.02,1,1,0,0,0.6}; //more blah }; class TWS_5mil : TWS { //blah again }; }; }; };
I’m specifically trying to use it on a vehicle -> turret -> opticsin class, is that the right directory to use it on, your reference being that of a scope
Oh right well I did it on some vehicles too. Will have a look
{
class Turrets: Turrets
{
class MainTurret: MainTurret
{
class OpticsIn
{
class Wide
{
initFov = __EVAL(0.7/4);
minFov = __EVAL(0.7/4);
maxFov = __EVAL(0.7/4);
visionMode[] = {"Normal","Ti"};
thermalMode[] = {4}; //red hot chilli
thermalResolution[] = {0.0, __EVAL(480/0.865), 1.0, __EVAL(480/0.865)};
thermalNoise[] = {0.1,0.1,0.1,1,1,0,0,0.9};
};
class Narrow: Wide
{
opticsDisplayName = "NARROW";
initFov = __EVAL(0.7/12);
minFov = __EVAL(0.7/12);
maxFov = __EVAL(0.7/12);
};
};
};
};
};```
Il try it again tonight and share the config
so for regular vision i have
class CfgOpticsEffect {
class DTV_electronicZoom {
type = "Resolution";
priority = 1400;
params[] = {400};
};
};
class Dtv_Zoom: Dtv_wide
{
initfov = "(0.6 / 120)";
minfov = "(0.6 / 120)";
maxfov = "(0.6 / 120)";
opticsdisplayname = "Z";
opticsPPEffects[] = {"DTV_electronicZoom"};
};
and for the thermal resolution
class Flir_Zoom: Flir_Wide
{
initfov = "(1.5 / 120)";
minfov = "(1.5 / 120)";
maxfov = "(1.5 / 120)";
opticsdisplayname = "Z";
thermalResolution[] = {100};
//thermalNoise[] = {0.3,0.3,0.3,1,1,0,0,0.9};
};
neither work
the noise almost gives the effect of a small resolution drop but dosent work
these are both done on vehicle turret Opticsin
can you give me that as mod to test it?
well fuck, gimme sometime, il try make it a config patch
monday
Just a config patch for the martial
my config patch work is crap, but i tested that i was successfully applying config settings using visionmode as a test
Is it possible to move diag_exportTerrainSVG to normal branch?
Now that we have DX11 and browser stuff it would be nice to send the SVGs to other programs to render the map
or alternatively, since the command is unsafe due to disk access, make it encode the SVG in multiple Base64 string chunks (based on string limit), or maybe create a new command:
exportTerrainSVG [drawLocationNames, drawGrid, drawCountlines, drawTreeObjects, drawMountainHeightpoints, simpleRoads]
Returns
["xAXa313ad..." /*Part1*/, "..." /* Part2*/, ...]
it is available to extensions in normal branch
Ah, is there a docu about it?
Would edit the ocap extension to use it.
It is? Did I miss something? 
I see mention of FindRVFunction in the wiki, but can't find anything more in depth
see #TODO
Thx, 32 bit is professional deformation for you by now 
it is internal API though, if I need to change it there won't be backwards compat
That's fine. I'll keep the original way working too.
I meant a command so that the browser can use it too 
unlikely
was this any helpful?
ah I forgot about that, maybe tomorrow
The resolution is set in the weapon/muzzle
the class that contains magazines, magazineWell, modes, visionMode, opticsPPEffects, thermalMode
I see you have opticsPPEffects so, probably correct place?
onbuttonX ctrl event doesn't exist.. so.. yeah
Its typoed on the wiki...
https://community.bistudio.com/wiki/Config_Properties_Megalist#thermalResoluton[]_2.10
The engine actually checks that you have atleast two entries, a single entry is not valid
The rendering code can handle single entry.
The config reading code cannot
See https://community.bistudio.com/wiki/Extensions#Callback
(can someone fix that? thanks 🫂 )
And for a vehicle with multiple optics modes, its in the wrong place. It needs to be in the OpticsModes class, in the specific Optic class.
Like here https://community.bistudio.com/wiki/Arma_3:_Weapon_Config_Guidelines search for OpticsModes.
There next to the opticsPPEffects parameters.
I did try 2 entries
Il adjust the thermal resolution test pbo I sent you with those changes
I'm already doing that, but maybe you'll be faster
I'm also at work :harold:
Nevermind that's wrong.
Well its true too. But there are three spots where the same optics config reading code was copy-pasted to... 🤦♂️
AHHH
Your opticsPPEffects also doesn't work.
Out of the three spots where the optics config stuff is read.
Only two of them also read opticsPPEffects. The one place that you're using, does not.
They only work in muzzle configs
Fixed, your config will work
The only bug was the single resolution thing.
If you give it a scale then it would've worked
So if I give it the scale it should work, could you paste the entry here?
= {1000}
turns to
= {0, 1000, 1, 1000}
And the opticsPPEffects just dosent work on turret optics?
yeah
Is that something that can be fixed, or do I just need to script that one
as far as I can see optics effects just don't exist there, so that would be a new feature instead of a bugfix, I won't investigate now how much effort that might be
Skipping dev today due to slight issues
is there anything to be done reasonably about the callsign attribute not updating to the lobby? or is it just the cba workaround forever
Looks perfectly fine for MoMa
I'm fine with the CBA workaround forever
aight 👍
must be Captain Miller again 😄
hmm
these lines have never popped errors before
But they were always wrong before
on the script commands, you leave away the "on" prefix
😮
thanks for the heads up
oh when you said typo you mean the resolution was a typo on the wiki in addition to the need for 2 entries
Will we finally get a dev update this week?! 🥺
Potentially
I guess no update today then?! 
check again 😄
26-02-2025
EXE rev. 152675 (game)
EXE rev. 152675 (Launcher)
Size: ~64 MB
ENGINE
- Added: productVersion now also lists the Steam Beta branch name
- Added: "admins" whitelist to getServerInfo command - FT-T187807
- Tweaked: Memory allocation optimizations
- Fixed: Crash when using a SoundSet with "delay" inside a vehicle - FT-T188707
- Added: "MaxResolution" to setTIParameter
- Fixed: Map controls now correctly handle positioning inside control groups, if "ctrlMapSetPosition []" is executed once - FT-T189016
- Added: "useRealViewport" config property for map controls - FT-T189016
- Added: ctrlRelToScreen and ctrlScreenToRel script commands - FT-T189016
- Fixed: setPiPEffect - Chromatic Aberration and Film Grain did not work
- Fixed: Weapon muzzle attachments recoilCoef was not applied to player-used weapons - FT-T167366
- Tweaked: inAreaArray/inAreaArrayIndexes array of positions has been unified and can accept positions in format array, object, group, location, marker (while ignoring nils)
- Added: isNil with namespace argument now also supports control/display
- Fixed: thermalResolution config parameter did not work when setting a single resolution instead of a zoom range
- Fixed: UI On Texture textures would sometimes think they are not visible on screen and never update their image (thanks Lambda.Tiger)
- Tweaked: Improved performance of AI pathfinding (sea wave positions are no longer calculated when below terrain)
https://forums.bohemia.net/forums/topic/140837-development-branch-changelog/?page=63&tab=comments#comment-3622787 (Forum - Development Branch Changelog )
Need some feedback. Please REPLY IN THREAD. Thank you.
We are working on integrating Steam game recording (https://store.steampowered.com/gamerecording)
Mainly the notable "events" shown on your timeline, to easily find moments you might want to clip and share.
See on that page "Game-Added Markers", "Game Mode Indicators" and "Highlight Viewer".
Also for reference the developer documentation https://partner.steamgames.com/doc/api/ISteamTimeline
Mod/Mission developers:
- If you are a mod developer, do you expect that you would add your own timeline events from your mod's scripts. If yes then what kinda things would you add?
You can add events either as "happened now" or "Happened over the span of N seconds and just finished now". - Would you want to influence the timeline tooltip, it is intended to indicate the current "state" of the game, for example for PUBG there could be a "Preparing" tooltips and then "N players left" tooltips. (Ref developer documentation
SetTimelineTooltip) - Similar to previous, would you want to indicate different "phases" or "rounds" happening in your mod/mission? (Ref developer documentation
StartGamePhase) - Would you see a need to edit the description text of an event after the event has been added? I don't think so
- Would you have a need to remove events after you added them? I don't think so.
- Developer documentation AddGamePhaseTag/SetGamePhaseAttribute, any need for that? So far I haven't found a use for these yet.
Players:
6. If you are a player, what kinds of events would you expect to be highlighted (besides the obvious Kill/Death). Maybe also what kinds of events would you want your favourite mods to add?
Keep finding webbrowser bugs.
After opening a dialog with a browser control, you cannot scroll inside the browser.
You first have to activate it by clicking into it once, and then it will allow scrolling.
I'll probably have to make it do a fake click to fix that
dedmen, thanks for making those recent steamworks api additions optional
I didn't
oh interesting
i mean usually developers that do implement newer steamworks stuff are breaking older steam clients
guess im not really sure what features have hard client requirements and which ones dont
update from Win 7 anyway
Weird, considering steam has backwards compatibility for like 10 years
20 years even, since the inception of steam3 in 2005
but like, csgo/cs2, dota 2, half-life alyx, aperture desk job, escape simulator,
(in my experience)
required steam client updates, either hard dependency in the game or steam appinfo saying it requires x minimum client version
apologies for the slight offtopic
observed issues were like no connection to steam, acting nosteam, game functionality being broken, startup crash, refusing to run or the steam client itself blocking you from launching
@full sonnet
Has anyone ever asked you for an FPS Limit setting?
setting where
Like in the main settings page?
yes, no
Fair. Maybe I will use Nvidia control panel to try and stop the main menu from running at 300 FPS and trying to send my fans to the moon. 😅
The default fps limit is 400fps, you can change it with -limitFPS= start parameter.
if you run game with -world=empty, so that main menu has no terrain, it limits itself to 144fps.
And when you tab out, its limited to 60fps
Interesting.
Yeah...limitFPS is nice. Keeps my GPU from spinning up while in 3den.
In the main menu and in Eden is where mine really spins up some time. Somehow didn't know about -limitFPS but that seems like it will do the trick.
Should be noted that for the server, the default fps limit is 50fps but that the -limitFPS can be used to increase it
That's why I've been asking for adaptive vsync and gsync in borderless windowed mode to be fixed 😅
Well gsync is more for everything to be smooth
But basically some of the nvidia control panel stuff appears to not work in borderless windowed mode in Arma 3 (but works in Reforger)
relative mouse does not get locked/confined in borderless fullscreen either
not sure if fullscreen as well
but what happens is that say you have multiple displays and you aim to the right, when you fire you lose focus because the mouse went to the secondary display to the left
Not as far as I know, that shouldn't be possible anyway
But I'm assuming Arma 3 uses some older windowing system that Reforger doesn't use
Never happened to me in 10 years of playing Arma 3, most of that in borderless window.
i dont lose focus, but i can influence shit on my left monitor
mostly mouse wheel, which works on windows that arent in focus
very annoying
Most common example of this is alt tab to a browser while leaving A3 on the map screen. Mouse wheel in browser always changes zoom level on the A3 map for me.
(Nvidia graphics card running A3 in full screen borderless window)
it happend me a few times with multiple screen setup, but as far i recall, never in arma
arma does "something" to prevent it?
Oh, you're finally green! 😁
Oh no, my cover is blown!
So is the forum
Some one painted you green and now you glow and everyone sees you 🟢
I don't think I've had this either while actually playing the game (i.e. holding rifle and shooting). But can't remember if it ever did while using the editor or in a menu. Don't remember being irritated by it.
I think it only happens on the map for me. And it’s when not in game, (normally when using web browser), mouse wheel drives in game behaviour, never in game behaviour affecting out of game experience. I’d put it in the minor irritation category but maybe it’s worse on other systems?
Need to paint myself 🟣 to get propa sneaky
Somehow didn't see this until now. Not exactly sure what I'm looking at in those pics
zooming in on a temperature slice in thermal imaging
It would help to know what's in the screenshots lol
looks like some random objects?
Is it something I could look at in the dev branch right now?
If I understand correctly, it does look like it is functional. not sure why that rock is maxed out though. Guess it doesn't matter if it won't make it to the actual stable branch though
Well the conversation below the images.
Its just crap and doesn't work well due to the limitations with the thermal imaging, so I've left it disabled, its not available
rip
Just wanted to follow up on this... is this something that could happen for 2.20 🥺
Yeah sorry when I said not for 2.18 didn't mean to mislead you into thinking it would be added sometime after. It does not have any id that we can use. However if you explain to be the actual problem, maybe we can think of some other way of solving it
Ah ookay, that's fair
My use case is basically, there's no way to track a fire mission without resorting to adding and removing a fired EH, which is a bit hacky.
Like if you just want to do something per volley fired by an artillery piece.,, you add a fired EH, then within the EH you have to run the code and then remove the EH
And then use another script to re-add the EH before firing.
Also detailed here: https://feedback.bistudio.com/T180721#2658860
So for each fire mission i have to do
//Add event handler that launches counter battery marker script.
//Remove the EH first so that only the first shot of the burst is processed.
_tempEHindex = _artyUnit addEventHandler ["Fired", {
(_this select 0) removeEventHandler [_thisEvent, _thisEventHandler];
_this execVM "sk_EH_CBRadar.sqf";
}];
and then later
//validate if artillery has actually fired
if (_magRounds > _artyUnit magazineTurretAmmo [_magazine, _artyUnit unitTurret (gunner _artyUnit)]) then {
_artyUnit setVariable ["sk_enemyFireMission_success", true];
systemChat "Fire mission script completed successfully";
} else {
//remove the EH we added to avoid multiple EHs being stacked unecessarily
_artyUnit removeEventHandler ["Fired",_tempEHindex];
_artyUnit setVariable ["sk_enemyFireMission_success", false];
systemChat "WARNING: Fire mission script completed unsuccessfully";
};```
Which works, but is messy
I'll dm the actual repo to you so as to not doxx myself lol
(side issue, doArtilleryFire doesn't return anything on successful fire, so it can fail silently, e.g. if the angle of the terrain is unsuitable, which can happen with even microterrain so it's not obvious)
btw how is this functionality in Reforger? Is it something planned for enfusion? I haven't played the game yet but I'm curious about what TI is like there
@full sonnet Regarding RvExtensionGSetWHk, can you make it return a pointer to the previously set hook?
This is so that multiple extensions can work together (e.g. if extension A adds a hook, and then extension B wants to add a hook too, it'll store A's hook and will call it in its own hook, or it won't if it doesn't want to)
Also another thing that I'd like to request is a "swapChainChanging" callback. When the swap chain has to be recreated (e.g. due to changing resolution or AA), you need to release all of its view pointers, otherwise you can't make the change. So you must let the extensions know to release their views
I don't know things about reforger. Afaik there is no TI except some mods trying to fake it. Same for night vision too?
The engine already handles multiple hooks.
sad
We never recreate the swapchain, we just update it.
Do you mean
IDXGISwapChain::ResizeTarget/ResizeBuffers/SetFullscreenState call?
When we do that, it seems we only recreate the backbuffer.
So before that, trigger an event on extension?
Opening UAV Terminals is a memory leak 😄
The terminal display opens the map control, the map control holds a reference to the terminal display, the terminal display holds a reference to its map control.
Circular reference, they never close. Oops.
I think so yeah. I have to double check, since it's been a while since I messed with D3D11 but iirc that was the reason
You have your window message hook.
You can detect
WM_EXITSIZEMOVE/WM_ENTERSIZEMOVE/WM_SIZING through there
but not in-game menu size changes :/
Every way I can do this is ugly, but if it has to be...
There are multiple places where we destroy all graphics resources, like changing texture/shadow quality.
I think I'll just notify about that, its basically a "clear all your resources now" notification.
Instead of a "Clear all your resources now because we will resize the window"
No need to do it for all changes imo. Just the backbuffer changes, or the D3D device/context change
"No need" but its easier to implement that way, and can't miss anything
Like there are many places where we change fullscreen state, not only only resize or window mode change
But for example you said "we destroy all resources", but that doesn't mean the user has to unless you're discarding the device too
But we're telling the user to do it anyway
Similar to RVExtensionGSetWHkProc
void CALL_CONVENTION RVExtensionGSetResetHook(void (CALL_CONVENTION *newHook)())
If that is called, consider the swapchain to be recreated.
Now someone just needs to document that :harold:
I'll do it. Thanks 
BTW does it also get called before the device is destroyed?
You mean before game exit?
Yes actually. It should. Its called when engine is shut down
someone around who uses win11 with the latest update?
not sure if it's a3 dev-branch or something else, but somehow the game feels like it stutters now when i rotate my character around
this latest win11 update is total ass and also made playing classic fallout impossible for me
now i'm paranoid about it
There was one guy with weird stutters on #perf_prof_branch
i've disabled super sampling, disabled v-sync, but it feels choppy now.. and i'm testing in virtual arsenal, where really nothing should cause performance issues
kind of hard to see. maybe try to look at the weapon
i dont think 60fps should feel like that
vsync was still on in this video tho?
do you mean in nvidia control panel?
yes, i reenabled it because it made no difference
forgot to set it in the video, but issue is still the same anyways
It most likely won't make any difference in fullscreen windowed mode. I'm convinced none of the nvidia control panel things relying on window detection work when in fullscreen windowed. Adaptive vsync doesn't work, gsync doesn't work.
Try proper fullscreen to test that
For me, borderless windowed runs in some sort of default vsync or frame cap enforced by windows or the game
(I can't remember if it caps even when in game vsync is off)
Everything works fine in proper fullscreen
btw, I just noticed that RVGetProjectionViewTransform doesn't have the RVExtension- prefix like other functions 😅
not sure if you want to fix that (tho it gets ridiculously long if you do: RVExtensionGetProjectionViewTransform; maybe RVExtensionGProjectionView instead?)
Was it already released or is it 2.20?
or did we leave it undocumented?
just realized I did that reset hook one wrong, need to fix
I'm not sure. iirc you didn't which is why I suggested the change 
I'll check
It's documented
Is it documented for 2.20? then we can still change it
Looks like it's already in stable nvm 
I don't think anyone uses it yet tho? (except for me 😅 )
too late!
yea I better should not forget about that
I haven't been able to reproduce this yet, but I've encountered a bug where particle effects such as explosions, smoke, and fire flames don't appear while playing, probably since build 152675.
The environment is a multiplayer COOP that uses a lot of mods, so I don't know yet if it's related to the mods or parameter settings that are affecting it, but it's occurring in at least two mod environments and with multiple users on the server.
(One has a mod like Blastcore, but the other doesn't have a mod that changes explosions like Blastcore mod. maybe.)
If you guys get experience a similar bug, please let me know.
I'm trying to reproduce the bug with a minimal configuration, but I don't know how it occurs and cause.
At least, I don't think this was happening before 152675.
I will back if I find out the cause.
I've heard of that, but I have not yet seen this happen by myself 🤔
Had something similar to happen too.
Played a mission with two nuke explosion with muschroom cloud scripted.
Saw the first one, couldn't see the second one while others could. Looked totally random to me
After that second one, did you never seeing other particles like explosions/gunshot anymore?
If so, it seems like you're experiencing the same exact problem.
Yes, some of my friends don't have this problem, and it happens sporadically (not same timing) and not reliably.
Could it be something to do with the GPU driver or CPU compatibility?
It can also happen at the beginning of a mission when I not firing a gun yet (no many particles are being generated).
And it still happening until I restart the game.
I have no idea...
Our main QA Tester has very rarely had something like that happen in the Dev-Branch smoke test, when playing the first "East Wind" mission. So vanilla and SP. Always the explosion effects for the attack on Kamino, but so far no repro. Could be a different issue as no MP is involved though.
The first reports of that on profiling branch were after v22, exactly after I changed memory allocation for particle effects.
But we had it internally for alot longer
btw to get back to my weird stuttering issue from a few days ago- it only pops up in borderless window mode. switching to fullscreen and it works again as it should be
ofc using fullscreen sux for alt+tabbing
Yeah borderless windowed is borked for many things
Adaptive vsync doesn't work, gsync doesn't work... Had opened a ticket with nvidia and it actually seems to be going somewhere? So maybe they're able to fix some of the issues driver side
About particle problem
I haven't encountered this problem in single player yet even playing a huge and long battle mission (Random Infantry Skirmish).
I have recently played EW with mods and haven't noticed any problems too.
But may be more likely to occur that problem if arma load multiple missions, like the campaign or multiplayer.
Currently, I get the bug only in 2nd or later missions.
It is possible that there is some kind of problem with loading?
Well, The only fact is that particle bug has become more noticeable recently.
Speaking of allocators, I also tried the this mimalloc instead default allocator. but this one happening that bug too.
I'll try another memory allocators and disable some parameters next weekend coop.
I play on a borderless screen and haven't had any stuttering...
(vsync off, g sync is off, win11)
This may be a bit off topic, but since a while ago there was an update to Windows or Arma3 or something, after that, I switch windows with alt+tab and click on other window(apps like explorer), often other window doesn't respond and I can't enter text too.
Calling up taskmanager with ctrl+alt+del fixes this and now I can click on other window but if re-active the arma3 again, other window is can't click anymore again.
However, I recall this happening in stable as well, regardless of dev or profiling.
it doesn't matter if vsync is off in-game when running borderless windowed, because the game seems to run in vsync anyway, doesn't seem to be any way to override it
it's possible this is what's causing the suttering?
I can measure this on my computer as well, but the frame rate is too high for it to be noticeable
dwm/aero fault methinks
also an issue with borderless is the cursor being able to escape the window in multiple monitor setups
It's weird because it doesn't happen in other games (not to say there's no other game in which it doesn't happen). But like Reforger is fine
19-03-2025
EXE rev. 152743 (game)
EXE rev. 152743 (Launcher)
Size: ~81 MB
KNOWN ISSUE
- Listen and Dedicated Servers might crash after a short while
DATA
- Tweaked: Pause menu Steam branch indicator was not positioned correctly when running an unmodded game
- Fixed: A Logic was created on the wrong side in a scripted function - FT-T177680
ENGINE
- Added: Mission file downloading over HTTP
- Fixed: Functions Viewer did not populate list of functions when opening
- Added: Animal config property canFitUnderADoor when true will stop given animal from opening a door when entering into a house
- Fixed: Incorrect laser marker positioning on and around water - FT-T188547
- Fixed: Laser target marker would get stuck on objects - FT-T71322
- Fixed: currentZeroing did not respect laser range zeroing - FT-T189309
- Fixed: Missiles did not consider their fuseDistance setting - FT-T189277
- Added: Initial integration of Steam Game Recording with custom game events
- Fixed: Crash when using loadConfig with binarized configs - FT-T188760
- Added: Option to removeWeapon / removeWeaponGlobal to abort a new weapon autoselect after primary weapon removal
- Added: Option to addWeapon / addWeaponGlobal to abort a new weapon autoselect if no weapon was selected
- Fixed: Crash if OGG sound file is played more than 255 times at once
- Fixed: "Fired" Event Handler in multiplayer would receive wrong projectile for countermeasures - FT-T190141
Fixed: "Fired" Event Handler in multiplayer would receive wrong projectile for countermeasures
Not just countermeasures, the bug was affecting any global projectile (e.g. ATGM missile) ☝️🤓
Is bullet the only projectile that isn't global?
what about shells and rockets? (are they also bullets?)
Missiles are not bullets
shotShell is also isn't global
But yeah that bug was affecting any global projectile, not just shotCM, I originally saw it on an attack helicopter, where missiles were deleted due to safe zone and event reported previously shot cannon projectile for missile shot event
Fixed: "Fired" Event Handler in multiplayer could receive wrong projectile for global projectiles
so that
Sure, sounds right (though a bit cryptic)
Yeah, saw an RPT yesterday that confirmed this :P
hey guys:) did you try the new dev branch? noticable fps boost with the new Geometric occluder
It's on dev already? I'll start my download now then
26-03-2025
EXE rev. 152752 (game)
EXE rev. 152752 (Launcher)
Size: ~77 MB
DATA
- Added: Steam Game Recording integration for Time Trials
- Added: Steam Game Recording integration for Arma Invaders
- Added: Steam Game Recording integration for Firing Drills
ENGINE
- Changed: Missile fuseDistance is now ignored for projectiles spawned by script - https://feedback.bistudio.com/T189277
- Tweaked: AI no longer calculates light influence on targets during daytime
- Added: AIThinkOnlyLocal option to setMissionOptions - https://community.bistudio.com/wiki/setMissionOptions
By cerno do you mean Cherno? I wouldn't think you'd see a difference since it would require the models to be updated
- Tweaked: AI no longer calculates light influence on targets during daytime
Will this influence camouflage/concealment by any chance? Or ghillie suits?
no, it is, as it says, light influence
It calculated if AI was hit by flashlights/lampposts/car headlights. During daytime even if the AI was standing in the sun
ahh okay thanks
According to the wiki for Geometric occluder, you need to update the models / p3ds for that new feature
Chances are any FPS boost you seen is because of something else
haha placebo effect 😛
Pretty sure that even if they added the technology to the current dev already, that the assets aren't using it yet.
They have updated some models on dev branch, looking at them I saw a mix of buildings with 1 or 2 occluders
Btw webbrowser control, we decided to not enable internet functionality for now, so only the offline version will be in 2.20
Should be closed very soon
I remember that I wanted to ask something to be added or fixed or something but I don't remember what it was exactly at the moment 😅
if I remember I'll let you know (hopefully in time)
can you add this ridiculously simple one line script addition https://feedback.bistudio.com/T183660 ? 😄 i think it would be useful to many
no
now im curious of why not? 😅
Any chance to have a look at my RE not arriving after round restart bug and have it before 2.20?
We encounter it every day on our servers, forcing players to get back to lobby and start again, very annoying
no
PhysX just went fully open source it seems https://github.com/NVIDIA-Omniverse/PhysX/releases/tag/107.0-physx-5.6.0
Like their drivers with bunch of binary blobs?
Binary blob source code?
With this release, we make the complete GPU source code available under the BSD-3 license. We no longer provide binaries for GPU acceleration and users have to build the GPU binaries from source;
Oh.
"Go fun yourself. We drop this thing"
PhysX doesn't make line go up so we drop it 😬
One question and maybe was anwsered before, but ive noticed that in big maps, we have this "wingle" on stuff, and afaik is bc the 32 bit floting point.
there is a reason on why this wasn't solved when the game migrated to 64 bits, both in server and client?
The migration isn't relevant. x86 had 64-bit floating point if you wanted it.
Fixing floating-point jitter needs some changes to rendering, terrain and physics engines. It's not simply changing a data type because the way you handle it is to recenter before handing off to APIs.
how big is your map? and how/where does the wiggle occur?
if it happens at small coordinates it could be related to something else
im talkin about huge maps, like 100km2
and far from 0,0 ( why cant be 0,0 the center of the map lol)
100km2 maps are just normal sized maps in ARMA 2/3 😉
He probably means 100kmx100km.
LOL, if so, everything is up for grabs 😉
Biggest map I remember is Australia and that's only 40x40km
iirc there are >100kmx100km maps, one I remember is South Asia from TOH, 122x122km, but they are mostly empty, only good for air combat.
PMC ArmA 3 Terrains for Large Scale Battles - PMC Tactical
Ah, cool. For reasons, I don't use terrains for my servers that aren't on Steam WS but they look very interesting
is there a height cap for a3 terrains?
Not really, since someone made a 500km*500km map
Svalbard, meant for air missions https://steamcommunity.com/sharedfiles/filedetails/?id=3401164850&searchtext=sval
There's something weird with walking mentioned in the comments, probably from being so large
The practical size limit is how much time to detail the map, size limit from map file becoming huge, and the wiggle issue as you get farther from the world origin
There is kind of "soft" cap due to engine using 32-bit floats, as with very large maps you reach and surpass the maximum resolution when it comes to e.g. position. It will lead to visible artefacts after that.
It's like you had a photo of something, and you keep increasing it's zoom level until you reach a point where you see the individual pixels. The issue becomes worse if you just keep zooming in. The pixels represent the possible positions where the character can be. So if you increase the photo size too much, the character starts to jump between the pixels due to rounding errors.
There are some tricks to avoid this (like world origin rebasing based on character's location, see a well made article here: https://gamedevtricks.com/post/origin-rebasing-space/)
with this latest update to dev version, the game seems to lag a bit after first and then picks back up to normal FPS. is there something running in the background at mission start that could be causing this?
In the main menu? If so are you running ACE3?
when i start a mission. main menu isn't affected as far as i can tell. ace3 as in ace mod or acex like as in the arsenal extension?
Just the ace mod itself, I've seen someone else report that the 10th anniversary thing causes some initial lag in the main menu, unsure about missions themselves
is there a rough eta for 2.20 yet btw.? 🙂
More like next week or more like in May or later?
closing soon™️
so closing feature/changes wise, then bugfixing/rc and then release?
alright, thanks 🙂
this is going to be one of the best updates to arma for internal performance in a long time: the dreaded fps complaint is going to nearly vanish overnight!
It is night and day really, coming from the DEV branch the improvements are substantial. The min FPS seems a lot higher, stutters are minimal or gone completely and yes, feels like whole new game
09-04-2025
EXE rev. 152791 (game)
EXE rev. 152791 (Launcher)
Size: ~76 MB
DATA
- Fixed: SAAMI weapon referencing incorrect sounds - https://feedback.bistudio.com/T190390
- Fixed: Script format error in Field Manual - https://feedback.bistudio.com/T182822
- Fixed: Launchers were not always selected properly in Arsenal
- Tweaked: Eye position when aiming down the sights on M320 & GM6, so the camera is no longer clipping with the rifle's mesh when recoil kicks in
ENGINE
- Added: CfgAmmo explodeParentWhenTriggered to complement deleteParentWhenTriggered - https://feedback.bistudio.com/T190390
- Added: Mission "MarkerDeleted" Event Handler now returns deleter person - https://feedback.bistudio.com/T178348 - https://community.bistudio.com/wiki/Arma_3:_Mission_Event_Handlers#MarkerDeleted, https://community.bistudio.com/wiki/removeAllMagazinesTurret
- Added: removeAllMagazines and removeAllMugazinesTurret script commands - https://feedback.bistudio.com/T177284 - https://community.bistudio.com/wiki/removeAllMagazines,
- Added: Sources WPDir/WPDirRel - https://community.bistudio.com/wiki/Arma_3:_Multi-Function_Display_(MFD)_config_reference#Sources
- Added: addMagazinesTurret script command - https://feedback.bistudio.com/T174007 - https://community.bistudio.com/wiki/addMagazineTurret
- Fixed: Forced game crash when addon requires addon that was skipped due to skipWhenMissingDependencies - https://feedback.bistudio.com/T172179 - https://community.bistudio.com/wiki/CfgPatches
- Fixed: FFV showcase helicopter fails to land
- Added: Some of basic.cfg network parmameters can now be provided as strings - https://community.bistudio.com/wiki/Arma_3:_Basic_Server_Config_File
- Changed: Networking bandwidth estimation behavior of Min/MaxBandwidth (Experimental builds only) - https://community.bistudio.com/wiki/Arma_3:_Basic_Server_Config_File
- Added: Sources WPTime - https://community.bistudio.com/wiki/Arma_3:_Multi-Function_Display_(MFD)_config_reference#Sources
- Added: connectToServer command and Server Browser Direct-Connect now supports resolving SRV records - https://feedback.bistudio.com/T127943 - https://community.bistudio.com/wiki/connectToServer
- Fixed: URL encoding for HTTP mission file downloads
- Added: HTTP header support for HTTP mission file downloads
- Fixed: getShotInfo did not return timeToExplosion for mines - https://feedback.bistudio.com/T190684 - https://community.bistudio.com/wiki/getShotInfo
- Added: getAllPylonsInfo now also returns the position of each pylon - https://feedback.bistudio.com/T190789 - https://community.bistudio.com/wiki/getAllPylonsInfo
- Fixed: Zeus did not store allowed addons in savegame (resulting in loss of access to modded units after loading a savegame) - https://feedback.bistudio.com/T190333
Added: Some of basic.cfg network parmameters can now be provided as strings
That is like or same as they talking in #perf_prof_branch message ?
Yes that.
Its not yet linked on the wiki page.
The details are on the "Numbers" wiki page
Thanks!
For those who came later:
https://community.bistudio.com/wiki/Number#Data_Transfer_rate
see also: #perf_prof_branch message
Yay, illumination shots!
Are in plan to add the same rounds for the class weapon_ShipCannon_120mm and class mortar_155mm_AMOS?
A quick sanity check, in the unlikely event something has changed since I last thought about this. There isn't a way to overwrite the 2D map, (press M) with a custom image and be able to still place markers over the top of it, right?
🤔
That's actually not a bad idea. Together with the new marker EHs you could update the markers drawn with the draw2D event.
Tough
@carmine juniper sanity check, that looks correct for strength?
Seems fine. Can I have a screenshot?
Yeah, that seems to be working very finely
I don't think I can do the radius parameter you wanted, so it will just be strength
The DOF though doesn't seem good enough
It blurs left and right too
ajajaj. Adding pp's is such a pain
Will it be possible to improve the model (or texture) of the flash for the illumination flares from the latest dev branch? With the current value of intensity the boundaries become clearly visible
AAAA MY EYES!!!
Hmm I thought having more samples to make a DOF blur can make it better 
are you planning to add an distance blur effect as well like the one which you can set while be in camera
I think you are just talking about DOF
Speaking of dof, Are there any chances of seeing an improvement in the calculation of DOF? Several times I did not use the bipod because, using an optic, the camera focuses on the nearby ground blurring the targets at a distance despite having no buildings in front of me
If there is interest I can try to find a point and loadout for a repo
