#arma3_tools
1 messages ยท Page 42 of 1
(and bare in mind, that i get absolutely nada$ for server a based toolset, it's free for whoever wants or can, use it)
proProject 3.05 released with individual 'warnings are errors' options.
note that these are warnings not errors. You have the option of cherry picking those you want to fix and those you want to ignore. This has nothing to do with genuine errors, My tools will never let you ignore those.
Enjoy
important fixes at depbo.dll version 8.15
first time copying diag exe to stable has failed me 
just copy dta folder from diag to a mod folder. After that, you can use that mod with stable - it should overwrite all the stuff from dta
I've used following setup for years before I've joined Bohemia
Fix for that is also in the profiling branch companion mod
This worked great! Thanks!
But that would mean swapping branches 
no
you can load the mod in diag binary too
its just a workshop mod, you can load it whereever, doesn't need to be profiling
Does anybody have a c# implementation of gamevalues and or an parser that can read a string blob?
X39 had something, don't know if it was C++ or C#
On his github, I think it might even be called gamevalue
C++
Could link it
But the functionality ain't perfectly mappable to c#
Plus a c# version of it needs different things to work in c#
So I'm slowly considering porting my CI system for Pythia from AppVeyor (using Mikero's tools) to GitHub Actions.
What do the Cool Kids use to create keys and sign PBOs, nowadays? Does hemtt handle this - especially the signing part? (never used it ๐ณ )
Or do people have custom scripts for that (using Mikero's tools) and there are no prebuilt Actions for signing?
there's mikero's tools for github actions as well, https://github.com/arma-actions/mikero-tools ๐
HEMTT signing should work on Windows runner
not that much sqf/addon code in pythia repo from a quick glance?
Yup, almost none. Barely enough to pass control to the C++ and then Python code. Literally one PBO
there's mikero's tools for github actions as well
I've seen that one but I was wondering if there were some more advanced actions, that do something more than just install Mikero's tools (like the workshop uploader action doesn't just install steamcmd and leaves you to it, but it actually does something more).
Otherwise, I still have my old python scripts (minus the signing part) that I can just Ctrl+C/V but wanted to know if there was an alternative to using them
Most use the ACE template script for mikero I guess
But looking at the amount of arma code HEMTT should be a good choice
No p3ds etc
I'll take a look and see the effort needed, but I have a hunch that I'll just look at the ACE scripts, since I've been using Mikero's tools already and that will probably mean less work to make it work. Thanks for your responses
i don't know if true or not for hemtt, but attempts were made to binarise independently of bis binarise, and similarly dsSignfile. (Armake does, or did, this I think). If so, you'll be left playing catchup when bis, quite rightly, add extra features/fixes to either. new file formats especially. And bis are frequently (relative to other things) always fiddling with dsSignfile to improve security. For these reasons, as much as I would dearly love to replace binarise for all it's faults, I don't replace these two with something 'better'. So, caveat emptor, or, sign the pbos yourself using dsSignfile directly (which is what pboPro does anyway)
looks like its only cpp and sqf so thankfully no need for binarize ๐
Dahlgren I've been learning lots from your code, thank you!
I am truly sorry for all my bad code ๐
It's good enough for me to read it, and I'm just a truck driver :)
The absolute frickin comfort.
Need to edit a pbo, unpack, sort out pbo prefix, move files to correct places, edit config, repack, upload to server, oh no typo, do it again.
vs
Double click pbo, doubleclick config.cpp, opens in notepad++, make edit, save file, pbo was automatically repacked, upload to server, oh no typo, go to notepad, fix typo, save file, pbo was automatically repacked, upload to server

Could you also support editing a binarized config and re-bin it afterwards? That would be very cool
extractpbo (gui) already does that as part of drag'n drop
I wrote that gui some years ago as a replacement to the then excellent and intuitive pboManager.
Unfortunately, pboManager was no longer maintained and couldn't handle prefixes 'properly' nor derap or rap configs and rvmats
Very few people use it for reasons unknown.
It already works via a temp file on disk.
Had the same idea this morning yeah, nothing preventing me from displaying a virtual config.cpp and un/binarizing in background
But crashing your whole explorer if your Arma is open while you're editing a pbo is probably not that user friendly
I've update the Mikero Tools today and can't pack anything with pboProject anymore since pboProjects searches BinMake on HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake and mine is on HKEY_CURRENT_USER/Software\Bohemia Interactive\BinMake i don't have BIStudio at all on HKLM
the fault above is because you have not 'played' steam tools once, after they updated something. pboPro checks both registry hives btw.
Anyone around that could assist me in debugging what I have done wrong in trying to rebuild a pbo?
specifically, I'm attempting to revise the https://github.com/Nifnat/Overthrow mod. I've installed the mikero tools (thanks mike), and a3tools, created a P drive, and have the folder structure P:/overthrow/overthrow_main When I try to build it, I get (as the first error) rapify Version 1.85, Dll 7.97 "description.ext"
#include "\overthrow_main\mission_component.hpp"
cannot open \overthrow_main\mission_component.hpp
In File Overthrow\addons\overthrow_main\campaign\missions\OverthrowMpAltis.Altis\description.ext: circa Line 1 invalid/faulty file
the file is there and it is readable. I'm using pboProject 2.89 with a source folder of P:\overthrow
and have the folder structure P:/overthrow/overthrow_main
cannot open \overthrow_main\mission_component.hpp
there's your answer
except for #includes, bis have no understanding of relative addressing. everything is \hard\addressed from the begining of the (in this case) the p:\ drive.
it is so pathetic that even a p3d must know which pbo it lives in to get at it's own data\
in your case you have (presumably) moved everything from P:\overthrow_main, to p:\overthrow\blah\blah
you have to edit all your text files to take account of that.
for anything non-editable like p3ds you need a tool like moveOBJect.exe to make the changes for you.
22 years later, and bis still can't achieve this simple requirement, despite all the hype & boasting about arma 1 2 and 3, their tools remain mostly unaltered from the days of xbox elite.
Mount the addons folder as your P drive so that in the root of P is a folder named overthrow_main
Or just move overthrown_main to root of P
thank you @dawn palm and @scenic canopy
yes, I agree it is ... that it cannot do something that the first C compiler did.
is there a PBO opening tool for linux?
extractpbo from Mikero should be in the linux versions by Killswitch.
Armake, Armake 2, cpbo, extractpbo, pbo-fuse
large update to depbo and pboProject.
credits to credits to Big Grampa,Flynn,HG,J. Doberman and Zโณโฑคโฒษ , and several others
enjoy
@dawn palm The headers of a pbo generated with your tools aren't fully sorted, Texheaders.bin appears at the end instead of in it's proper place, and as a result the stored hash is incorrect
i thought i'd inserted it properly, will investigate. thanx for heads up.
Ah, the free version of the tools might cause this.
new release 8.19 of dll fixes 'extractpbo' (error introduced at 8.18)
I'm getting a file not found error when using pboProject 3.03 .to crunch a new addon. This is the first time I've added a CfgFunctions class in an addon. Using the structure that I see in other addons, I heve:
class CfgPatches
{
class BSF_Client
{
requiredVersion=0.1;
requiredAddons[]={"exile_client"};
units[]={};
weapons[]={};
};
};
class CfgFunctions
{
class BSF_Client
{
class Bootstrap
{
file = "BSF_Client\bootstrap";
class preInit
{
preInit = 1;
};
class postInit
{
postInit = 1;
};
};
};
};
I have a fn_preInit.sqf file in the bootstrap directory. What do I need to know here?
rapWarning: **********missing file(s)***************
P:\BSF_Community_Addon\addons\BSF_Client\config.cpp circa Line 20: BSF_Client\bootstrap
I've tried pointing to the file explicitly but still get the missing file error.
the folder does not exist at P:\BSF_Client\bootstrap
Yeah, I was using a relative path like all of the addons that I've been looking at trying to figure out functions. An explicit path worked. Out of curiosity, when looking at an addon like Exile_Client, how would they have packed it with t a relative path?
class Bootstrap
{
file = "exile_client\bootstrap";
class preStart
{
preStart = 1;
};
class preInit
{
preInit = 1;
};
class postInit
{
postInit = 1;
};
};
Just by placing it in the root of the P drive?
yes
in 22 years, bis have never understood how to implement relative addressing (except for #includes). for this reason: this\thing and this\thing ALWAYS mean \this\thing.
being bis, there's always exceptions. damage rvmats must never have the preceeding slash (even tho it's NOT a relative\address) and picture=\any\thing MUST have the \
(actually the one exception was mod.cpp which allowed relative icons. But bis got rid of it because they couldn't binarise it. So we're now stuck with the stupidity of putting a cfgmods inside one, single, pbo)
the only reason i can think of for not fixing this mess is because they would have to go back and add \ to everything they currently do, including p3d and wrp files. Wouldn't be as difficult as they imagine if their editing tools worked properly.
binmake is a bis tool ya?
0:07:56: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake
If you're using pboProject, that message is irrelevant. The tool can't find how to binarise rvmats (which i don't allow it to anyway)
The cause is because, internally, bis use the old arma2 registry hive, and had no reason to change it, nor for folks upgrading from arma2, wheras in arma3 the hive is in hkcu.
yes, bin make is their tool, no, it's not needed. The tool hunts binmakerules.txt to find out how to binarise configs, rvmats and convert tga->paa. None of which, pboProject allows binarise to do.
Yes.
I was not, I can look into later. Right now any time I have to put towards hemtt is entirely on the rewrite and it's upcoming release
What workflow is this?
Mr Sandman, bring me a dream
Ah, yeah. That.
Its WIP tuhl that not ready for beta test yet
@dawn palm thanks.
ok, the thing finally built. But, now I get: include file overthrow_main\script_component.hpp not found
I'm pretty sure I set all my paths during build to \overthrow\overthrow_main and the script_component.hpp is in there.. Suggestions?
Maybe I'll need to update the layout of the #includes in the overthrow_main to follow what cba does. I kind of feel the author in some places just threw things at the wall to see what sticks.
Also, question from someone who doesn't know better.. what is the difference between Mikero tools and Hemtt ?
@unreal lichen , by default, pboProject will not include hpp files in the pbo because (ordinarily) header files are processed out of the way when binarising items like a config.cpp
use setup-> to do something about that.
you get a choice of NOT including .HPP and/or .H or neither, or both
with that rule in mind, folks use one of above for items which MUST be included (part of sqf eg)
fyi: ace /cba exclude .H and include .HPP
including files that the engine will never use just clogs arteries.
PS: all credit to @vague shard & Sickboy from all those years ago who started the cba tunnel and #including files whose content was more sqf. A pity he didn't call them SQH, because that's what they were, but too late now.
Hello guys. I am trying to make a pbo out of my folder by using EliteNess and it always gives me a files missing error: cfgMagazines.hpp : \A3\Weapons_F\Data\placeholder_co.paa cfgAmmo.hpp : \A3\Weapons_f\Data\bullettracer\tracer_red config.cpp : \A3\Weapons_F\Data\UI\attachment_muzzle.paa config.cpp : \A3\Weapons_F\Rifles\MX\data\Anim\MX_gl.rtm config.cpp : A3\sounds_f\weapons\Other\dry_1 config.cpp : A3\sounds_f\weapons\closure\firemode_changer_2 config.cpp : hk416a7\object\HK416A7.p3d config.cpp : \A3\Weapons_F\Data\UI\icon_gl_CA.paa BaseColorSights.rvmat : ca\data\env_land_co.paa
missing file(s)
I can pack my folder to a pbo with pbo manager and it all works, but here I don't understand why it's not finding the A3 folder files, when I'm running Arma it does
Are the arma files on your pdrive?
ok nvm, I managed to do it with the addon builder
๐ท trying to be nice
I just can not understand where people pick up using Eliteness as a packing tool
it's (almost) as bad as pboMangler
In future releases, am going to scrap it
let's wait till @twin torrent asks why his env_land_co doesn't (unless he's using cup)
nope, now it's all up running (also no env_land_co error, fixed that one before)
well sure, and that's what the error message above was trying to tell you. Stick with what you've got if you feel more comfortable,, or move up to pboProject if you want to catch things early without having to resort to load game, test, fix, load game test, fix, load game.....
Yes, I think pbo project is my future consideration, I just have to get into grips with it
has there been any new code formatter/pretty print/beautifier since start of the year?
ref: #arma3_tools message
no
how is this one https://github.com/billw2012/vscode-formatter-sqf from billw2012 ?
Visual Studio Code Formatter Extension for BIS SQF Format (Arma). - GitHub - billw2012/vscode-formatter-sqf: Visual Studio Code Formatter Extension for BIS SQF Format (Arma).
is there an easy way to view paa's on linux?
view. no. list the contents of, yes. with depax
If you use VS Code you can use the HEMTT extension, it will display the first mipmap in the paa
....which is more than good enough since each additional mipmap is just a 1./4 shrunken 'image' of the previous one
for anyone interested, there's an undocumented -$ option in depax which will create 'fred.bmp' in the folder depax.exe is called from. It's cheap and nasty and up till now, have had no-one wanting this 'feature'
bmp is used in preference to tga because more viewers are available for it.
@dawn palm Is there a tool in your arsenal that will batch edit p3d's? I have about 100 that I have to delete all but res lod 1 and change texture/rvmat to be identical.
O2Script can do that
@gray matrix moveobject/movefolder will rename textures and materials for you, but, as @glossy inlet says, O2script for the rest
(pboProject was originally written in 02script. which might give you some idea of how useful it can be)
@dawn palm What is the correct syntax for
DeP3d -DL1nn P:\p3d assuming that I have a bunch of p3d's in P:\p3d and want to delete Geometry, ShadowVolume, or Roadway? I've tried many variations and don't get any results.
hmmm......
not implemented (yet) ) i thought it was.
Well, that would explain it.
Has anyone made any tools for debugging/playing back sound sets like vehicle sounds without having to build A3?
if I'm getting this error from dewrp, is there anything I can do to fix it? Or do I just have to get the paid version of mikero's tools? ```Warning unknown mapinfotype 41
The remainder of the file has not been read
this is with dewrp 1.71
oh I suppose it might be worth doing to update my dll, maybe that's out of date
actually dewrp is standalone isn't it. so yeah @dawn palm just so I don't buy something that won't work, would the subscriber version of dewrp fix that?
the warning itself, was only 'there' in earlier releases of the dll (not dewrp) before the 3, new, engine-generated map icons were understood. It causes no subsequent harm.
as for re-subscribing, my opinion is, it would not be worth it for this reason, but always worth it for the large number of fixes and improvements to all tools, that keep coming nearly every week.
I'm not comfortable when subscribers drop out after they've already supported me, at least once. Will see if I can lower the price enough to make it a no brainer.
What are you dewrping?
@sly skiff Rosche, Germany https://steamcommunity.com/sharedfiles/filedetails/?id=1527410521
@dawn palm yeah, I don't do a ton of addon dev or I would be subbed, I mostly just make missions. the tools seem pretty worth it if you're making addons though
basically, I'm not sure if dewrp is working correctly on this. what's happening is I'm running the alive indexer on the map and its missing large portions of the map (a bunch of towns are skipped entirely) which makes me think the object list dewrp is generating is not complete. but it's possible there's a bug elsewhere in the alive indexer
Could be they are marked with incompatible key point type and the indexer breaks.
I think I will first see if dewrp is outputting stuff at the missed town locations to start, just to see if the problem is with the indexer or dewrp
appears dewrp is working correctly in fact. so the problem is probably somewhere in alive. @sly skiff what does an 'incompatible key point type' mean?
I dunno, I dont know exactly how Alive does its thing
no, I mean specifically what is a key point type
and what would make it incompatible @sly skiff
are there docs somewhere I can read?
I dunno. Im not Alive expert. I just recall it might index map keypoints in certain way. You may want to ask in the Alive discord
yes that's what I'm asking, I don't know what you mean by 'map keypoints'
are those like, location names?
yes. further inquiries @smoky haloive discord
just a heads up, you pinged a random person
FREE tools update they are now a snapshot of the latest subscriber tools (but obfuscation disabled and not as many of them).
reason for update was to allow folks to create pbo's compatible with servers using fewer files (different ds signature)
I'm trying to figure how to make AddonBuilder binarize and pack my rvmat and p3d files into my PBO. Currently none of those 2 things happen. Putting those 2 file types in the list to copy directly list works to get them packed, but not binarized. Anyone had the same problem capable of shedding me some light?
yes I had that exact same problem, got it fixed by installing Mikero's tools.
That seems to be answer to everything Arma Tools related lol
What I'd like to know is: is this aspect of addon builder actually broken, and do I actually need to just get another tool, or do I need to do some wacky configuration steps to make it work?
Didn't have issues the last times I used Addon Builder 
It should just run binarize on the files same as mikeros tools do.
You don't want to copy directly, it should handle that automatically
the registry settings for addon breaker are the same as binpbo. they are looking for tools via the HKLM registry. But arma3 stuff is in HKCU
Well, it does not. Config.cpp gets binarized just fine. RVMAT simply does not get packed into the PBO at all, unless I put that in the copy directly list. I checked the logs of the last conversion I did (where everything got packed except the RVMAT) and there's not even a mention of the RVMAT in the logs, not even an error
this is no problem for bis because they have the settings (via binpbo) in hklm
@potent saffron , the only way to fix this, should you want to, is copy the hklm registry to hkcu. why bother?. You can, btw, see the cause instantly, by looking at the bin.log. It tells you it can't find HKLM
and, for your interest i don't let binarise touch rvmats anyway (or tga or bisurf)
I don't wish to be (too) rude about the reasons. Almost of the devs there are good people, and would be un-necessarily offended.
Oh that sounds like an easy fix.
I'll look at that
see!
Very nice ๐
Hm it should take binarize path from <A3ToolsPath>\Binarize\binarize.exe which is where it normally would be
A3ToolsPath can be provided either via command line, or via steam or just via location where AddonBuilder.exe is running from
is your steam not running?
It is
1:02:49: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake
1:02:49: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake
1:02:49: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake
1:02:49: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake
1:02:49: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake
1:02:49: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake
1:02:49: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake```
There is no reference to BinMake in Addon Builder code
possibly binmakerules.txt
No reference to "binmake" at all in addon builder.
Is it binarize.exe looking for that then? But why would it need binmake, I thought it had that integrated in itself
it needs to look up how to binarise rvmats, ditto tga
Ok I found that exact code, including the mixed slashes in binarize/binmake code
I'll add fallback to HKCU if HKLM key wasn't found
Ah binmake is looking up its own config
HKCU/Software\BIStudio\BinMake
also isn't correct is it?
I have this
HKEY_CURRENT_USER\SOFTWARE\Bohemia Interactive\BinMake
but not the BIStudio
Ah
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BIStudio\BinMake
Well
that exists on your pc at work, because your pc at work previously used binpbo (arma2)
i need help with bulldozer, when ever i want to start it in OB it says unable to find configuration file
where do i find that file?
No I didn't 
And the data in there points to my A3 Tools
I checked all registry entries with "binmake" that one is the only one with config, and it points to A3Tools
wdym bout that?
it is or was the reason why bis devs didn't see this HKLM error in the past @dedmen. time moves on.
I never used A2 Tools on my PC, only A3.
And the HKLM path points to my A3Tools directory.
And i don't have any other BinMake config directories besides that
well, hkcu is used or set by bis for a3 via 'play' tools
I don't have the entry in HKCU though
I should point out btw that this isn't an isolated issue on my end. I know at least 2 other guys who are having the exact same issue with addon builder rn
if you 'play' steam tools, hkcu should set (or used to)
dedmen is fixing it for sure John
Yep, that's why I'm pointing that out, to exclude that possibility. I barely understand your tech jibber-jabber so I don't know if he found the error yet xD
Yes. I deleted the BinMake entry.
Then Launched Arma 3 Tools via Steam, and it created the correct entry in HKLM, the exact place where it expects it.
So @potent saffron try launching A3Tools directly from steam, not manually by going to the directory
he found an 'undocumented feature' ๐
I always launch A3 Tools from Steam. I used to launch addon builder directly from a shorcut pointing to the directory, but not anymore
mikero frantically scrabbles at regedit
Check in your registry (regedit.exe) that Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BIStudio\BinMake exists. Its created by Steam when you launch A3Tools the first time.
you can't 'launch' t/b or a/b from the gui tool. only shortcuts work
It expects the entry in HKLM (Not HKCU) and it also places the entry in HKLM (not HKCU) correctly, as expected, if you start A3Tools via Steam. Which BI expects you to do when you get the tools via Steam.
The fuckup here seems to be with Steam if it doesn't create the registry entries like its supposed to
But as far as I can see the entries never were in HKCU like you say they are
Steam correctly creates them in HKLM, and BinMake correctly finds them there
Wdym? I always launch addon builder from the A3Tools gui
definately WERE. checking if the truth is now different
I'll check, gimme a min. Finishing some work stuff
sorry @potent saffron i meant o/b (getting tired)
I think it makes sense though that if BinMake cannot find it. It just checks if it can find binMakeRules.txt right next to binMake.exe, no need to read registry if the file is right there 99% of the time
except it has to know where it.s exe is, because current dir is not likely
getting distacted. as a user, will let you know re hkcu @glossy inlet
Easy fallback, binarize is usually always in same directory.
And binMake is usually always in the same directory
and both are in A3Tools.
Can just check if its there really easily if the registry entry wasn't found
I'll add that later
i think it really only needs to register where a3tools are. C,D,E...Z:\some\where
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BIStudio\BinMake is there
in regedit
External Viewer: unable to create viewer
anyone knows how i fix it?
(happens when i want to start buldozer via OB)
Ohhh... @potent saffron is your addon builder maybe using binarize_x64.exe?
That one will look in Computer\HKEY_LOCAL_MACHINE\SOFTWARE\BIStudio\BinMake which doesn't exist, so will always fail ๐คฆ
This thing.
Default should be non-x64 as far as I can see, but maybe it somehow got to use x64
Nope, same result
Can you send me your bin log?
Where mikero said it logs the registry not found errors?
Hold on
pboProject uses x64 too. if it can detect it. it is expected to be in same folder as it's smaller cousin.
I'd think P:/temp if you pack on pdrive
my binarize just freezes when I try to pack a pbo 
welcome to hell
Except that in my hell I have debug tools and can just check why it freezes ๐
I don't have any logs on my temp folder
@glossy inlet
re-installed steam tools (devel).
'played' the gui.
But we were talking about this one
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BIStudio\BinMake also created by steam
checking...
yes. will verify it comes back with a re-install. in the meantime, microsft os will return those settings anyway under software\ not wow\ anyway
(eg not a good idea to use wow
But only 32bit binarize will get the values in WOW6432Node, not the _x64 version
k
Hah my binarize freezes because I'm out of RAM ๐
miser
Whoops lol
Doesn't help that it tries to scan my whole O: drive on startup.. wtf
Theres a lot of files on there that binarize should not be interested in, and its scanning them all to find a config.bin/config.cpp
it should only do so if you are trying to pack a wrp
confirmed. (I know you know, but nice to be seconded)
when binarise crunches a wrp, it travels off in a desperate hunt, looking for land_xx classes. they can, of course be in p:\every\where
more often than not. it crashes because of this. it hates, eg, trailing , in arrays
you can prevent this behavior bu forcing it to only look in the wrp folder (but must insert any land_xxx classes in your config.)
Hah. Actually our steam install script is told to generate this entry
"HKEY_LOCAL_MACHINE\\SOFTWARE\\BIStudio\\BinMake"
But steam is 32bit software, so thats probably why it creates the WOW6432Node one
ouch. nice find
I have some other things to finish and then I'll dive into all this mess ๐
so, 64bit doesn't have a wow64\ hive?, hence the hardwire (\wow64)can't find it?
WOW6432Node is injected by windows for 32bit apps.
Thats why 32bit binarize finds it there, windows redirects the HKEY_LOCAL_MACHINE\SOFTWARE\BIStudio\BinMake lookup to HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BIStudio\BinMake without the application knowing
But its not injected for 64bit apps, so it x64 binarize won't find it because it looks at HKEY_LOCAL_MACHINE\SOFTWARE\BIStudio\BinMake
got it. I alwayz get confuzed at this point
Good luck with that haha
I guess I'll be downloading mikero's tools in the meantime
keep taking the pillz
Yeah I don't know what causes your issue, and without bin log confirming that its actually the BinMake issue, we don't know if it actually is that
for what it's worth, i think you're spot on with steam at fault here.
steam might be 32 bit, but it's games rarely are. Perhaps a dev overlooked a flag (s)he could set?
Yeah, I don't know why I can't find that log
<ahem> you can with pboPro. ๐ท
and, incidentally. the 'free' tools are same as 'subscriber tools' at the moment. just less features
Trying to use pboproject
Have some troubles tho haha
It's telling me it's missing files I set in the config, Arma 3 other mod's (dependency) files. Ofc they're missing lol
a) use a 'p' drive
b) run arma3p
Doing a), let's try that b) haha
'p' can be any letter you like but should be empty to start with
you need pillz, coffeeeeeeeee, a dog to walk, or hell, talk to the wife while it does it's thing.
Work and lunch were my options
Btw, I assume this solves the issue in relation to using Arma 3 files. But what about dependencies on other mods?
Makes sense, thanks a lot ๐
also quite often if you inherit configs properly, you dont have to define the filepaths of mod stuff (or arma stuff even) again in your new configs
as they would be inherited
That is a good point, I'll look out for that. Although I believe in this case everything I have is just items with 2/+ hiddenSelections in which one of them is from somewhere else, so not much choice there
Either way unpacking the mod will make it easier to work with
Got a lil' warning packing one of my pbo's: ***warning***:file \jpab_AEW_C_OPS_FARAA\cfgFaces.hpp: 'DLC' FULL_UPPER_CASE is the preserve of #defines.
No idea what that means haha
But yeah, I'm enjoying pboproject, it's definitely a lot faster. And throws errors at my face that addon builder didn't and probably should
with thanks to @scenic canopy , it's multi threaded and spawns multiple copies of bis binarise to power thru the slug stuff.
setup->warnings-> allows you to turn off annoying 'warning' messages. BUT, for now, I absolutely recommend you don't do that. You need all the quirks and oddities revealed to you.
I was actually looking at that just now. But yeah, I'll keep it all on. Thanks for the tip ๐
how does that multiple binarize's work?
same way your excellent multi threaded tga convertor does, but written in c++ coz the functions to do so, come with a c++ std library
.rvmat's were binarized by pboproject and binarize only does p3d and wrp, right?
multithreaded tga conversion etc is in as well but only uses one thread until some quirks are ironed out ๐
same for rvmats, but other issues are stopping it at moment.
soon โข๏ธ
was just wondering if there is a large processing time speed gain with large terrains.
with multithreaded conversion and temp file copying it should help quite a lot for full builds
nah I'm using convert layers png to paa fast bat, just talking about binarizing/pboproject packing a terrain addons.
anything using binarize will be multithreaded with both paid and free now, but it mostly help with p3d, not for single wrp
so if you have an objects addon with lots of p3ds it will be quite a bit faster assuming you have the cores for it ๐
speaking of free vs paid, "there can be only one", right, so you have to choose either install free or paid but you cant have both?
requires binarize 2.03.X something or newer, old one had a sleep issue
@pliant lynx , ask @grand kelp . he'll hate you after all the work he's done, but ask anyway, and duck.
who?
he made the all--n-one installer.
ok I assume the answer is no. roger that.
as for wrp, when tga AND rvmat conversion has the multi-threaded GO button, hold on tight to the handlebars. (applies only to layers, whichever pbo they are in)
tga is irrelevant as we use convert layers png to paa fast bat, but if other large and multiple file processing can be improved, that would be a nice improvement.
sorry, i have tga on the brain at moment due to p3d, i did mean png, duh!
and all credit to you @pliant lynx for introducing multi threading in the first place. It's saved folks hours and hours. it's rvmats we're after, png/tga isn't meant to supplant you. The user is ten times better off doing it with your tools rather than rinse-and-repeat with pboPro.
Some teams use your tool to scrap png files instantly, so they never hit pboProject's front door (let alone bis binarise)
yep convert layers png to paa fast bat and split wrp to multiple pbos does their thing, when pboproject is called there are no PNGs left to process.
what some don't realise is they serve no further purpose. gettung 'them' back is simply 'regenerate layers' and if they have to do that, they've changed the terrain and need to regenerate anyway.
Any specific ones that you have in mind?
just normal terrain files.
What scenario do you have in mind here? Both suites (free & sub) installed on the host?
heh use scenario was just lazy bum one, pay tools subscription expired a while ago and now free tools are more up to date ๐
In theory AiO should ask if you want to overwrite existing subscriber tools, but I have something in mind for a later update that should drastically reduce these headache scenarios.
I'll send you a DM regarding.
yeah meant to ask when saw that, "AiO" what is that? nevermind got an answer, "All In One".
what am i doing wrong here folks, the arma channel persistently shows a red 'new' msg icon. When i click on arma, the red disappears and there are NO new messages anywhere. A few minutes later, and i get it again. No other discord channel has this behavior. What am i doing wrong?
it's so annoying i prefer to leave
hmm not sure about few minutes later, but everytime a spam bot or person who spams to every channel and gets banned, it leaves new messages white channel mark, and there is nothing there.
it happens ... cant say every day, but very frequently here. and I agree, very annoying. unfortunately cant think of anything moderators could do in this end to prevent that.
no white channel marks either. max interval before another non-existent msg is around 10 mins
I wonder if it's because I've blocked some people.
check top right corner, there is umm... err.. icon like mobile device, its "inbox", from there you can view only "mentions", that is if someone pings you.
blocked messages I dont think mark the red icon, but deleted messages with mentions or replies do stick
yeah discord has that kinda bug sometimes. But it goes away for me after a day usually
Ok the binMake thing is now fixed in next binarize update (probably a tools dev branch or so ๐)
It now checks both 32 and 64bit registry (it should find the entry generated by steam in the 32bit one)
and even if it doesn't find it in registry at all, it will fallback to ../BinMake/binMake.exe which will always work for a normal A3Tools install
new subscriber dll fixes:
+debinarisation of rtm files.
+potential missing external file checks if building "addons within addon"
Hands down my favorite feature of pboproject: hallelujah choir upon successful packing ๐
When using pboproject, how do you set the root for packing? Somehow I have it packing at the wrong root folder, such that the temp folder that pboproject makes is included in the folder hierarchy.
Also, and I know there are soo many requests. Would it be possible to get an additional log file created that only lists the warnings and errors, so I don't have to search through the huge log to find them?
Also, to skip the annoying new message notifications, I generally mute all the servers I'm part of.
missing stuff is listed at the end
so its easy to find
and packing starts from a folder that contains a valid config.cpp
Warnings are embedded in the log listing, not just at the end
and you set the folder here
errors et al won't be 'separated' because they are issued in context
I guess I've just been pampered with IDEs
you have no reason to use noisy, if you DON'T have errors, and when you do have them, they need to be in context
that may be it, I've been using noisy
#production_releases message
@grand kelp
2. [#19] - Added opt-out telemetry. *[subscribers-only feature]*
Is that legally allowed? especially in the context of GDPR?
I wouldn't do it if it wasn't. Data is anonymized, feel free to contact the EU authorities.
Hey mikero! I was wondering, I have a very long binarising time when it comes to me changes out some textures, and bulldozer doesn't work because i have too high polys D: Is there a work around to the binarising time when it comes to slight texture changes? Thanks!
not really if the problem is in the model
dozer can handle few 100k polys though
how many do you have?
Do you have a privacy notice?
Yes, I'm adding a button in the app that leads you right to it. Figured I'd make it easy to reach. Expect an update within an hour or so.
In the meantime you can find it here: https://mikero.tools/privacy
Thank you, wasnโt able to find it with google
I have 400k tris, and 200k everything else. Bulldozer just crashes, idk if it's my polys or not
Yes, I'm adding a button in the app that leads you right to it. Figured I'd make it easy to reach. Expect an update within an hour or so.
In the meantime you can find it here: https://mikero.tools/privacy
that's what I've been interested in, what does my data contain and what is it used for. Also, afaik you'd have to have a confirmation from the user (e.g. a button "Accept") to opt in to the sharing of data
ah yeh that is a wee bit too much. You should optimize the model a bit
What exactly was the (removed) "wysiwyg" switch for makepbo doing? (-N)
from memory, packing without binarizing p3ds etc
That's -U AFAIR
ah, yes, you're right
-N will just pack the folder into pbo
random really old readme
Okay, but that's the reason why I was asking ๐
It says "do nothing special". What is considered "special", in that case?
Where do I find the documentation for pboproject? the $Prefix$ file being generated is generating a different folder root than expected.
the prefix is whatever the pbo says it is. And, btw, this string will be ignored by new versions of the dll when making a pbo.
I'm not sure I understand. The Prefix file says overthrow_main, when creating the pbo in pboproject it says: <rebuilding cfgworlds>
/Creating ArmA/Dayz prefix pbo:/
Prefix = Overthrow\addons\overthrow_main
I need the prefix to be \ or blank
paste a screenie of pboPro's front panel pls @unreal lichen
I don't have permission in this channel to do that.
what does your source edit box say pls
you have a misunderstanding of the basics of pbo architecture.
you have asked pboProject to pack a pbo in ANY addons\folder it can find
the result of that is it found Overthrow\addons\overthrow_main
and THAT prefix is correct
the name of the pbo itself will be called overthrow_main.. which would be pretty dumb if you're over-writing , replacing someone else's pbo
ahh, I think I kinda get it.
what is not obvious, in fact, contrary to intuituion, is the nameOf.pbo is irrelevant to the engine (providding a prefix is supplied) You could happily rename ANY pbo (with a prefix) PinkPotato, it would work just the same.
Coming from a non-modding background, I do C/C++/C#/sql/plsql/etc.. the build process and organization has been a little ..different.. than I'm used to.
does the preprocessor process sqm files, such that #define #ifdef #endif #ifndef are parsed?
yes
well, a little caution there. yes, they are done at preprocessor time. but, preprocesor time for sqf crap is during game play, NOT, engine start.
ahh, that is why I'm getting errors when loading the mission. The parts I want excluded at preprocessor time are still there.
it is 'traditional' to choose EITHER, hpp, OR H for sqf and the other for configs. That way, you exclude HPP (eg) but pass H (eg) into the pbo for sqf.
doesn't matter which way round you decide on this providing you remain consistent.
ace/cba include hpp and exclude h for that reason. Prolly a good rule to follow.
This mod is using hpp.
What I am attempting to do, is add a #define in a header and wrap all the Ace medical parts in #ifdef #endif so that I can build it optionally with ace no medical
it is working mostly, however the game complains during game load about parts in the mission.sqm
You cannot simply remove classes in mission.sqm
you need to keep all the numbered classes order intact
I was wondering that too. I could easily create dummy classes in their place, if I could pre-process them like that.
Ok, so, I've moved things around and updated item counts in the mission.sqm and am getting a status_access_violation. The build logs and rpt don't seem to point to anything helpful. How would I go about debugging this?
mmm, I reverted and deleted portions instead of commenting things out. Seems to be working now. I'm going to chalk it up to a bad commenting out job.
How would I go about debugging this?
Reporting the game crash on feedback tracker
@glossy inlet It wasn't a game engine issue, rather modifying the mission.sqm by hand and the game engine not liking the changes. I fixed the mission.sqm by deleting the bits I commented out.
does mission.sqm support comments?
According to Mikero it "should", but evaluates them at runtime rather than pbo creation time.
So, maybe not?
it ignores them as it should. There is NO difference between a model.cfg, a bisurf, an rvmat, a mission.sqm a desc.ext. ALL are what bis call paramfiles and ALL use same syntax, /comments/, and #include architecture.
(small correction, model.cfg is slightly different)
@unreal lichen , it is unusual, not impossible, unusual, for a mission.sqm to b e evaluated at runtime, They are prebinarised just like rvmat and config.cpp
you might be confusing it with desc.ext which cannot be pre binarised because it uses values which can only be compiled at mission start.
Game crashing is always a engine issue. It should tell you that something is wrong, but not just die
everything that supports preprocessor supports comments
it is unusual, not impossible, unusual, for a mission.sqm to b e evaluated at runtime, They are prebinarised just like rvmat and config.cpp
Its far more common for mission.sqm's to be unbinarized, you even directly have a checkbox to disable it in Eden Editor
hmm so if I write a comment to mission.sqm, load the mission into mission editor and save... do the comments persist there or will editor discard them? not an issue for me never written comments there and dont see a scenario where I would, just curious about the tech.
discard
interesting, thanks for the info.
Hey, so I seen that website by gruppe adler that allows you to convert to paaโs. I recognise its client side on their site, but I was curious what the process was? If you could mention me if youโve got a response that would be amazing I donโt follow this server too closely
Ah got ya, any references for where to start if Iโm looking to do it myself?
look at "Blazor WebAssembly" lets you write C# that will run in browser via webassembly.
Easy to get going
I wonder if the PAA library in C# would work with that
its a bit cumbersome to work with in general
well, it might sound obvious, but what would you want a 'paa library' to actually do? What would be the end purpose? A web app that can 'behave' like tgaviewer?
Just looking for something to convert them on the fly, it's part of a larger project I've been working on the last year
But if it can be done in C# then I'm sorted
pal2pace will already do that (arma3 calls it img2paa). I'd imagine a web based app could package it
Yeah just seen that on the wiki. Should make it pretty easy, cheers
Sorry one last question, is there a version available for linux?
no
that said, there is the my lib.so for my tools. you'd have to access it via the API
(and do your own conversion)
Gonna try running it on Wine first, see what happens
shouldn't be an issue, it's ancient x86 code, with few if any surprises.
i could write the convertor myself but it's need would be very limited since bis have never been able to break pal2pace.exe. and if it aint broke.....
Armake includes PAA conversion
If you actually want WebAssembly you can use the same thing that powers paa.gruppe-adler.de
There is a GitHub repo to build the WASM + a couple lines of JS Glue Code
https://github.com/gruppe-adler/grad_aff_wasm
We have everything on GitHub even the online converter
Gonna use the C implementation Dahlgren linked, think itโll work best for my needs but thank you nonetheless
Oki just wanted to make sure you donโt do the extra work of building your own WASM
Because thatโs just a shitty job ๐
I speak from experience ๐
Hahaha nah if thereโs one thing Iโm good at itโs doing the least possible work to do what I want
๐
I had taken a look at the repo earlier today before posting
grad_aff also has a c api, but the refactor is still ongoing so it isnโt the most stable thing.
Stable API*
It works just fine
Although the reflector of the PAA format is done afaik
But yeah just use what works best for you ๐
What Iโll end up doing is take that C library and make a quick and dirty API to make conversions, then store to S3 (web api to convert unit logo to paa for game usage)
The c lib above does make a bit of a trouble converting to paa
Sometimes the color are of or have a taint
The Adler paa does work without any issues
size_t buffer_size;
char* buffer;
if (_dupenv_s(&buffer, &buffer_size, "programdata") != -1)
{
std::string program_data(buffer, buffer_size);
std::filesystem::path p(program_data);
// p == "C:/ProgramData"
p /= "path";
// p == "C:/ProgramData"
std::filesystem::path p2(program_data.c_str());
// p2 == "C:/ProgramData"
p2 /= "path";
// p2 == "C:/ProgramData/path"
...
free(buffer);
}``` anyone ever experienced this kind of bug with C++ `#include <filesystem>`?
currently driving me mad because i cannot seem to understand the cause
try not passing buffer_size to std::string
If that works I'll explain what happened
same behavior as p2
so works now?
pretty much
but that baffles me just loads more
tho i suspect dupenv here
reporting wrong size
size_t buffer_size;
char* buffer;
if (_dupenv_s(&buffer, &buffer_size, "programdata") != -1) // buffer_size is size of buffer, not size of string. The string contains the ending nullchar for a proper C-String.
{
std::string program_data(buffer, buffer_size); // "C:/ProgramData\0" buffer_size includes nullchar, because thats INSIDE the allocated buffer (it has to be)
std::filesystem::path p(program_data);
// p == "C:/ProgramData\0"
p /= "path";
// p == "C:/ProgramData\0/path"
std::filesystem::path p2(program_data.c_str()); // reads until first null char
// p2 == "C:/ProgramData"
p2 /= "path";
// p2 == "C:/ProgramData/path"
...
free(buffer);
}
yeah
youre right
maybe i should not programm when half asleep ... tho, this literally worked yesterday
Eh, something else should be happening with that
buffer_size should effectively be strlen() here
Seems it's not, unsurprising for win*
Might want to check _dupenv_s() == 0 && buffer != NULL) for success case though
strlen == number of chars. it does not include the \0 terminator and never has.
Documentation says its the size of the buffer, the variable name also says its the buffer size.
if the buffer contains a C-String, the buffer has to include the terminating null char. which strlen doesn't include.
Its exactly what the documentation and variable name say it should be
Also the documentation doesn't say that the string fills the full buffer, it might be that the buffer is like 256 chars but the string is only 15.
I hadn't checked the docs until my second messages, I assumed buffer_size was self named. numberOfElements is an odd thing to say though, it's uncommon to consider \0 in that, it's a normality to think of string size as string length.
Also the documentation doesn't say that the string fills the full buffer
That's the point, it's forcing you into an O(n)strlen(). It's not ideal. And per any M$ docs, they are lackluster.
@dawn palm I used ArmA3P to set my dev environment up better but now I'm getting the Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake issues when using PBO Project that you and Dedmen were dealing with recently. I didn't see a resolution. I've tried uninstalling and reinstalling your tools and BI Tools and moving install locations and various combinations of those but no luck. The binlog also shows these:
19:21:45: Warning: CfgAmmo missing in PreloadConfig - may slow down vehicle creation
19:21:45: Warning: CfgNonAIVehicles missing in PreloadConfig - may slow down vehicle creation```
And some `Too detailed shadow lod in ` which I've never seen before in the same models. Some of these shadow errors happen on models with no shadow lod. Here's my binlog:
<https://pastebin.com/qdFKqzjS>
if you're using pboProject, the HKLM error you're getting is irrelevant because pboProject won't let binarise use any of the tools it's looking for anyway.
i have no idea, and little interest in what binarise thinks about shadow lods. All my tool can do, is report that binarise thinks it has an error. You're free to ignore or fix it, if you can or can't. You can, if you wish, add to the list that striplog.bat, in my tools folder, removes from the binlog as known nonsense.
Oh, and ps: @glossy inlet did a damn good fix to the hklm issue, which prolly hasn't been issued as an update. But, as mentioned, it's irrelevant to my tools.
I'm not really worried about the content of the errors either, but the PBO's aren't being packed.
.It may or may not have completed correctly.
BSF_IronWall.pbo not produced due to error(s)
Job(s) completed in 59secs on Fri Sep 17 20:46:02 2021```
Do you know what to do about the crashing?
nope. could be one of ten thousand reasons. BUT, if you're lucky, the last thing it the log it was doing, should help.
Error 20 reading file 'bsf_community_addon\addons\bsf_ironwall\helipad\bsf_helipad_01.p3d'
I would have thought the above was self explanatory.
Yeah, you'd think. That file hasn't changed in about 2 years and if I remove it and all references to it in the config it just crashes on a different model.. I'll keep hacking away at it.
have you tried opening it in object builder and resaving it?
has anyone had problems with notepad++'s syntax highlighting? it can't highlight all sqf commands because
imported string too long, needs to be < max_char(30720)
in the UDL dialog
fixed it by splitting the commands and functions in 4 groups total (two for each)
@dawn palm Hi
Seems latest mikero tools do not remove tex headers from previous pbo and size of texheaders.bin constantly growing up on each new pbo. Can be fixed by pbo project restart. Could you check?
damn!! thanks for heads up
fixed as of subscriber version 8.27 (dll)
I have a separate account for publishing mods. Can I use A3 tools without buying arma for that account?
ok, I understand the reasoning.
Get it cheap on a sale, I think I have 4 accounts with arma for various purposes 
I only have a second one to circumvent my BattlEye ban, now its useless 
bought it at full price right after a sale even
this will be the 4th account, I just made one for my daughter as well lol shes studying graphic design I told her it was time to learn how to play and mod arma.
What's the .so naming convention for linux extensions? abc.so and abc_x64.so, like on Windows? There's no mention of these on the wiki
Also, I'm pretty excited! After 5 days of furious coding, after hours, it finally compiles!
๐ช
https://cdn.discordapp.com/attachments/724529841952653362/889596794122682388/2021-09-20_21h24_23.png
(there are 25 other files that you don't see on the screenshot obviously - it's not that I've spent 5 days on one file ๐ )
I'm kinda scared to even try running it because I know what will happen on the first try ๐
yes
Thanks! ๐
How do I pass a custom exclude list to PB0project. I need to include *.h and *.hpp and will not have access to the GUI.
Im using GitHub actions.
you can't. they have to be pre-ordained via the gui
via windows registry, ACE does it via make.py
I donโt think that works anymore, as I still had to change it manually in the GUI. But Iโll check out the registry values and see if something is different.
Should work just fine, thatโs how pboproject stores its settings
Just make sure to run it once before applying registry changes
You can check how its done with the mikero tools action for CBA and ACE
I'll do some local tests and report back with the results
Thanks, https://github.com/acemod/arma-project-template/blob/master/tools/make.cfg this needs to be updated
the make.py one in templates passes, bad cmd params are passed to pbo project. Thanks this helps me immensely.
I think the template make.py is up to date with pboproject, make sure to update your copy
But no guarantees there ๐
last update was 6 years ago.
Its fine now that you passed that one. I even tried ZEN.
+|-X no such thing you CANNOT affect exlusion of pbo files only uses list defined in gui
it was throwing a silent error
this is the new and correct one
cmd = [pboproject, "-B", "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S", "+Noisy", "+Clean", "-Warnings", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"]
then you don't have the latest template make.py
that was fixed 14 months ago in the commit linked above
make.py, not make.cfg
yep you are right, I used zen. I'm dumb my fault.
the one issue I cant solve is build.py it stops on the first pbo.
makepbo no longer supports unbinarized
2.05 made compatible
removed some -options
-N wyswig not supported anymore. it's a way of producing crap, but balming my tools
So I uh downloaded some of Mikero's Tools but I'm getting an error when trying to run them.
The code execution cannot proceed because deOgg64.dll was not found
You need to download the required files, deogg and depbo is required for most
i think this is the right channel:
I'm trying to make a powershell script to automate the building of my mod, and i'm having a hard time understanding how to get it to build separate PBO's, I'm also not clear on the correct usage of PBOPREFIX:
my folder structure is
hob
-addons
--addon1
--addon2
--$PBOPREFIX$ - contains simply: hob
my powershell script creates symlinks from my git repo into my P drive, such that:
P:\hob\addon1 is the location of one of the addon folders.
When I build the mod using arma 3 tools addon builder, targeting simply P:\hob everything builds and i get no file not found errors, but the entire mod is in a single PBO
If I try to make the powershell script run multiple times, targeting each addon folder, all of my includes break
-do i have to make a $PBOPREFIX$ file for each addon, and then make my script set the -prefix flag per addon?
-can the addon builder detect $PBOPREFIX$ files?
-would i have to change all of my paths.. pretty much everywhere, to use model=\hob\addon1\data\model.p3d ?
up until now i've just been manually building stuff not even using the p drive
but i'm aware this is bad practice i'm trying to set up a build system that works out of the p drive
forget addon breaker, use Mikero's pboProject. hob is your addon TAG. so $PBOPREFIX$ begins with hob\ which is the namespace, then all your addons, p3ds, wrps etc need to be tagged hob_ as that is your addon tag. final $PBOPREFIX$ would be hob\hob_mycharacters or hob\hob_myweapons etc whatever names they are. get proper build environment going, get P: drive setup. bookmark this and you learn in no time https://pmc.editing.wiki/doku.php?id=arma3
many thanks
i am downloading the dev build for the first time with gameupdater.exe
i dont have a very fast internet
is most of the devbuild redundant?
to be more precise, is it redundant according to gameupdater.exe
can i just copypaste my stable arma and point the gameupdater.exe to update that one to dev build
also, i am not sure where to ask this question, i seem to remember that somewhere on this discord each channel purpose was described but i cant find it and i have started to think i may have dreamed it up
yes
marvelous!
So I'm trying to make a pboPorject build script right now, looping over my addons to build them in order, but because pboproject opens in a second window the script doesnt wait for the first addon to finish before building the second, causing the second to get "file in use" errors
wait nvm im dum
i was trying to build the same mod twice 
the easiest way to do that iis organise your pbo folders so that they all live in the same, primary, folder. eg
p:\hobnob\tanks
p:\hobnob\cars
p:\hobnob\air
if you simply point pboProject to P:\hobnob
it will progressively make tanks.pbo, cars.pbo, air.pbo
the same would hold true if you had
p:\hobnob\air\ch47
p:\hobnob\air\cessna
etc etc
THE criteria for making a pbo in ANY folder is that it has a config.cpp

is it possible to make pboproject "block" the calling thread? and also not do the "press any key to exit" thing, just exit when finished
pboproject -P is the parameter I use for batch file use, for skipping press any key in the end.
ooh thanks
nevermind it seems i am supposed to use the arma3diag_64.exe for what i am doing anyway
Hey so uh, I have a bug and I think it might actually be an issue with pboProject:
I'm working on someone elses mod rn, to tl;dr they use an entirely custom class that just contains data for sqf scripts to read, its not based on any arma class and is basically just a lookup table. (that can be patched by submods etc)
when they build the mod, using what appears to be an older version of pboProject (it doesn't have the Warnings are Errors... button) it builds fine, but when i try i get circa Line 14 label is not alpanumeric
class LHDs {
0[] = {"","LHD OFF"};
1[] = {"Marrine_1_LHD_LeftBottom_Radar","LHD Identify Friend / Foe"};
2[] = {"Marrine_1_LHD_LeftBottom_PIP","LHD Team Shoulder Cameras"};
3[] = {"",""};
4[] = {"",""};
};
14| 0[] = {"","LHD OFF"};
i've never heard of "label is not alpanumeric" before, and as this isnt a base arma class i cant find anything about it on the wiki
ah okay its the 0[]
its weird that this is a hard error that stops building, as arma has no issue with it, at least how we're using it with sqf
@dawn palm hi sorry for the ping, but after more testing it appears that somewhere in pbo project updates, it has a "label is not alpanumeric" (spelling typo as well, btw) error when you have keys that start with a number, arma itself appears to have no issue with this syntax and using "LHDs" >> (str 1) works just fine for looking up the array.
If this is an issue in other areas of arma, could we maybe get a tickbox to control the error?
yep. next update will fix that
Thanks!
I was playing ARMA with my friends, but it keeps getting a compatibility error with ace, and then there's a red square on the screen and I can't play, does anyone know how to fix it?
just install the compatibility mod for ace then, thats how you fix it ๐
mikero tools update
dll: makepbo:
+increased speed of obfuscation and changed algorithm
+prefix= (if present in the $pboprefix$) is now ignored
dll:rapify: removed check for supposedly illegal class and 1=(credit Perry Swift)
dewrp.exe: now lists terrain, cell & gridsize, and nObjects by default
Has anyone had issues with pboProject when it comes to GUI addons?
?
Well, pboProject keeps complaining over the included script_macros.hpp file where the keyword access = is used.
But if I don't have that in there, it seems to somehow replace and corrupt the vanilla files leading to the following error:
We've tried all kinds of things and adjustments but it just won't work.
When building with Addon Builder, I receive no errors whatsoever and the entire addon works 100%.
i have no idea why you think a bis message about rscdisplays has anything to do with access= other than you are, most likely, editing your file badly.
as for addon breaker, it NEVER issues ANY error s!!! it ignores them. As for it working in game, then if access= is present, it's at the detriment of other addons.
The only addons used for this project are CBA and ACE
well, i assume by that you mean script_macros.hpp is one of the ace3/cba files. Ace/Cba is tested by us before EVERY update, and no-one else, so far has complained about above. I'll no go look at that file.....
No the script_macros.hpp file is contained in my own addon. it contains the parent classes exported from the GUI Editor.
That's all that's in there.
in that case, you are making the classic, classic mistake that many people make of copy pasting, verbatim. a bis rsc class. THESE classes come from bin\config.bin, and in order for bis to protect themselves from addon damage, they specify the classes in there to be unalterable (via acess=). It's the very last thing YOUR addon wants!
so, i am reasonably certain you are simply suffering from fat fingerz when editing your file to remove access=
you can paste your file to me via pm if you like.
Thank you, I'd appreciate any help.
neither CBA nor ACE use access =
yeah, figured that out AFTER the event ๐ท
hey i downloaded mikero tools because arma doesn't help with telling me what errors i have
when i crunch it tells me that packing failed, i view the output and nothing is there.
Perhaps im missing something?
https://i.imgur.com/Rke7Oge.png i assume this is the console u are talking about
i have noisy to log on
well, the error is in front of you!
thought it would be in the output viewer lol
does it also tell any configs error or anything of that
so i gotta fix the lod issue got it
Anyone got a link to the latest version of Notepad++ SQF highlighting, the version referenced on community tools (npp-sqf) doesnt exist anymore
Consider moving to vscode would be my suggestion here
Much more up to date stuff on there
How easy is it to use?
Im not writing anything, just looking to edit my existing sqf's with ease.
important fix to extractpbo module of dll (credit @[EZ] Progger )
Anyone here used armago to make a golang extension?
so uh, when switching to pboproject from addon builder, after fixing some missing ; and }, i've noticed some of my macro's arnt working
specifically i have a MODNAME macro, and i use that in subsequent macros for example
#define MODNAME hobmod
#define NEW_VEHICLE(group,name) MODNAME##_##group##_##name
class NEW_VEHICLE(resuppy_box,small_medical) { ...
[CBA] (xeh) WARNING: MODNAME_resuppy_box_small_medical does not support Extended Event Handlers!
for some reason MODNAME isn't being expanded
only error in the bin logs i can find is 23:34:24: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake
Hey folks - just curious if anyone has had a chance to play around with the mod keybinds functionality - is this something I can test in the form of a script first before trying to rap up a PBO? Or is it even compatible with just mission functions?
Its a mod thing, cannot do it in missions
Are these the actual macros in your config? are you 100% sure that MODNAME macro is visible where that NEW_VEHICLE one is used?
Here have a fixed binarize.exe that doesn't fail finding binmake
Thanks! and yes i'm confident MODNAME exists its about 3 lines above it, I've fixed it now:
Tracked it down to some weird issue with nested macros, possibly limited to pbo project as the addon builder works fine
tl;dr:
this is very old (2 year) code thats been working great up until i switched to pbo project from addon builder:
#define MODNAME hobmod
#define MACRO_NEW_VEHICLE(group,name) MODNAME##_##group##_##name
...
class MACRO_NEW_VEHICLE(boat,mk1) {
this has been working well up until now, and expanding to, as expected, hobmod_boat_mk1
However after the switch to pbo project it started expanding to: MODNAME_boat_mk1
After some debugging, i discovered that if i use:
#define CONCAT(a,b) a##b
#define CONCAT_3(a,b,c) CONCAT(a,CONCAT(b,c))
#define CONCAT_4(a,b,c,d) CONCAT(a,CONCAT_3(b,c,d))
#define CONCAT_5(a,b,c,d,e) CONCAT(a,CONCAT_4(b,c,d,e))
#define macro_new_vehicle(group,name) CONCAT_5(MODNAME,_,group,_,name)
it starts working again, it appears that, for some reason "basic macros" (i.e ones that don't take parameters) don't expand when inside the body of another macro, "complex macros" (those with parameters) do expand
as much as i'm confident its me doing something wrong, not the tools, the arma engine pre-processes these macros correctly when fed an unbinarized or processed file, as does addon builder, but it appears pbo project does not
possibly limited to pbo project as the addon builder works fine
This is a very obvious statement, as one checks stuff and the other does not.
MACROS are a finniky thing, however I personally don't see the added value of a macro with < 2 arguments.
Best advice I can give you until Mikero arrives is to get it working with pboproject once, and stick to it. If you're confident you've discovered an error or issue, it'll get patched out fairly quick.
checking....
@nimble current fix coming soon๐
i've taken you off my xmas card list
thats my second pbo project bug i've found, i help 
not only xmas cards, the easter bunny won't visit you either.

<3
@nimble current , latest tool release fixes your #defines
Thanks! while i'm here, is it possible to get the output of the console window that pops up when i run pboProject from command line into either stdout or a log file? it doesn't appear to be the packing.log or bin.log
currently no
the only way either of above will happen if you preset noisy to what you want.
and, your best method of sending everything to a log is
pboProject blah blah >> wherever.txt
and dahlgren is quite right, there's no method in the pboProject cmdline itself to generate these things.
if you use the cmdline itself. it is expected you have good familiarity with dos console cmds. things like
&2>>&1> somewhere
because. after all, you are giving up a gui that ,makes these things more discernable with much,. much more control of the outcome.
as i understand, when you call pbo project, it spawns a second executable
i tried >> but it didnt output anything
i assume thats because the actual pboProject.exe you call via cmd doesnt output anything
currently i check to see if pbo project output a file, and if it didnt i run the command again but without -P and read it
but this makes automation, especially CI, rather difficult
at least if i want the ci logs to output why it failed
for example, if i use
& "$pboProject" "-P" "-M=$output" "P:\$mod" *>output.txt
the file is empty
happens with all levels of -noisy
and the $mod.bin.log file appears to not generate at all if the build failed
making it, as far as i can tell, impossible to get the "useful error" into a file / stdout / etc, i.e config.cpp: circa Line 306 Expected Semicolon OR bad array syntax
i have a dream of making CI to publish my mod to the workshop, and i'm almost there, but i want the reason why it failed to be displayed in the ci output :(
drop the aster in *>
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_redirection?view=powershell-7.1 thats powershell syntax for all streams, but okay
file still empty
curiously, it does something
it appears to break the text in the window that pops up
i have zero interest in powershell. it has nothing to do with dos/penguin bat/bash syntax
it should, and if it doesn't in powershell, i have zero interest in making it happen.
ok
it doesn't copy into discord very well, but when i try piping the output it produces broken symbols
in the window that pops up
the file im piping too remains empty
well, i'll test it here again....
i'll check for updates
it should be a non-issue, if not, it's a bug. am fairly sure python has no problems with > and >>
(or didn't)
yeah i think this is a bug, i cant send screenshots in here but when i pipe the output to a file the file is empty
in both batch and powershell
k
sorry for the hassle, your tools are great, well worth the money <3
well, you've lost out on xmas cards, the easter bunny, and now, the tooth fairy won't visit you any more.
aaaaaah, bugger. it's win10. they changed how dos consoles are created.
@)$++)$+)*+%)@@%
F
Just you wait for Win11
lemmings
@dawn palm btw your tool throws an error for # which is a scripting command. e.g: action = [_this#1] call fnc_blabla;
says Unknown #
the cmd console will eat up all stdout/stderr, no extra pipe handling will fix that ๐
@torpid valve , thanks for the heads up. i've not seen that syntax used before. what is it supposed to do?
is it shorthand for select 1
ok
this was formerly only allowed in 02script. the sqf processor would not accept it
afaik
no. not afaik, arrowhead (at least) would not accept #(select)
#%))+_+^#@+_
Hash as select is at least 2 years old
@)(+
(I%@(*%@%()@
topkek
okay so
i'm probably going to get a restraining order from mikero for this, but i found what i think is another error
creating a texheaders.bin
debug trap (you shouldn't see this)
textures\insignia\ava1.paa:debug trap (you shouldn't see this)
debug trap (you shouldn't see this)
detex: debug trap (you shouldn't see this)
texheaders.bin failed
</MakePbo>
makepbo failed: texheaders.bin failed
HOB_Units.pbo not produced due to error(s)

sorry, cannot help, am still resolving the >text.pipe
thats okay i want that one more anyway lol
I have a (hopefully embarrassingly simple) question/problem with pboProject:
my file structure is:
P:\tg\construct
|- Data
|- $PBOPREFIX$.txt
|- config.cpp
|- etc...
$PBOPREFIX$ has this inside:
prefix=tg\construct
everything is being built correctly and works fine in game, but the problem is the resulting .pbo is called construct.pbo instead of tg_construct.pbo. What am I missing here?
illegal namespace "tg", learn how to use ofpec addon tags https://community.bistudio.com/wiki/OFPEC_tags addon tag missing from "construct" addon.
ive changed tag to tgn in all instances and still produces a tagless pbo
you run pboproject from GUI and point the source (whatever its called was years ago when I last used GUI) into tgn_construct directory?
okay, that might be my problem. top level directory is tgn with a folder inside called construct
well, that'll do it ๐
this debug trap (you shouldn't see this) error is happening with multiple people now, its not happening to me and we're all on the same commit
i've not been able to figure out how to fix it
deleting the file and redownloading it, deleting the temp folder, same error
even tried reinstalling all mikeros tools and updating
textures\insignia\ava1.paa:debug trap no idea what "debug trap" means, but its something to do with "ava1.paa" texture. I suggest you go through it that its been created and saved properly. I also have on idea about insignia textures... but other textures require suffix, like _CO or _CA etc, might be worth looking into that (unless I'm completely wrong about it).
@thin nova
- the prefix in a $pboprefix$ or $pboprefix$.txt is completely ignored.
- you should not be using a $pboprefix$ without the .txt extension. Future updates WILL drop support for that useless file, which (in the past) has caused pain and suffering.
- you can rename a pbo to anything that gives you a thrill. How to do that is right in front of you on the gui.
how do 'multiple people' expect me to fix this, if they don't contact me?
debug traps are a self imposed minefield for my code when it detects bis have moved goalposts in some way.
as a (non existent) example:
scope=4;
so i walked another dev working on the same mod through installing mikeros, putting all the dependency mods in the p drive, installing our git repo
should be identical to my local setup
however, they get the above error
and i dont
using the same build script
i've tried having them delete and then redownload the file, even zipping up my copy of the repo incase its some kind of file corruption
reinstalled arma 3 tools
adding \HOB_Units\models\model.cfg
.........
bullshit1
Failed. View->output logs for \HOB_Units
HOB_Units.pbo not produced due to error(s)
...uhhhhh, so i managed to reproduce one of the errors by just reinstalling everything myself
nowhere in all the mods i'm dependent on or in my mod is the phrase "bullshit1"
k
sqf statements need to be put between "quotes"
it's probable that bis tools don't need this because they don't check syntax at all, mine do.
action = "[_this#1] call fnc_blabla";
The reason I don't put quotes is because I use preprocessor macros in my codes.
you can use single quotes with macros
Really? 
this would still cause the issue of # select not working

because, i assume, its detecting # as a preprocessor directive
not a sqf function
putting it in quotes fixes the issue, but thats because quotes out rank preprocessor directives
you can put sqf in single quotes and then use preprocessor directives, but then # would be detected as a preprocessor directive and not a sqf function
guessin here but idk how you'd fix that
change the detection of preprocessor commands from #^[a-zA-Z0-9_.-]* to looking for every specific preprocessor command i guess
Is arma preprocessor actually executing instructions everywhere?
Like... It should "just" be after newline + whitespace the first # marks the start
Any any other char but whitespace means no preprocessor instruction
Is arma preprocessor actually executing instructions everywhere?
no, # valid only at linestarts
latest release ensures only linestarts. previously also, but, potentially un-reliable
@torpid valve ^^
(cause of error for Leopard was my code was a little too klever, lintchecking the awful syntax of sqxsh*t)
pboProject update
allowed compression for dayz
cli improvements
fixed missing output text to screen
fixed missing -B (no binarise cpp/sqm) to cli
changed -Island= to +Island=
changed -Island to turn off
added +DeletePng after conversion(arma only)
added +-H convert wav/wss to ogg
added +-Q delete wav/wss after conversion
added +-J automake stale pbos
added +X=comma,separated,list of exclude files
added +Z=comma,separated,list of compress exceptions
I'm trying pboProject with the mod I'm working on and I'm failing on this
Missing File Summary
cfgFunctions.hpp : HMD\functions\event
cfgFunctions.hpp : HMD\functions\process
cfgFunctions.hpp : HMD\functions\render
cfgFunctions.hpp : HMD\functions\ui
cfgFunctions.hpp : HMD\functions\util
What exactly does "missing file summary" refer to? The text is a bit ambiguous.
it's a summary list of all the missing files, or folders, it has encountered during processing
as in P:\HMD\functions\util does not exist
They certainly do and regular addon builder as well as Arma are happy so that's why I'm confused.
If I change "\" to "/" it disappears and successfully builds. But then Arma can't find functions anymore.
addon builder is happy with anything because it ignores all errors
in windows file\references, accept \ or / so if they're where you say they are (on the p: drive) it should not have come up with missing.
(you're at the mercy of bis as to whether / and \ are equivalent, but my tools accept either)
paste me the section of code where some of those references are made.
Does it require the P-Drive? Because I'm not using that yet. Is that the cause?
as in P:\HMD\functions\util does not exist
So it can't run locally? I'm scrolling through the entire log and it's ignoring the actual physical drive everything is on (or just not logging it).
\<something>\pilot-displays\HMD\functions/cfgFunctions.hpp circa Line 7: HMD\functions\event
\<something>\pilot-displays\HMD\functions/cfgFunctions.hpp circa Line 20: HMD\functions\process
\<something>\pilot-displays\HMD\functions/cfgFunctions.hpp circa Line 28: HMD\functions\render
\<something>\pilot-displays\HMD\functions/cfgFunctions.hpp circa Line 41: HMD\functions\ui
\<something>\pilot-displays\HMD\functions/cfgFunctions.hpp circa Line 52: HMD\functions\util
it can't crunch 'locally' you need all your ducks in a row on a virtual drive such as P: and use arma3p to extract all game data.
when making models or maps, p drive MUST contain all relevant data in order to bake in rvmats (p3d) or discover land classes (wrp)
no models or maps contained. Just code. Hence I fail to understand why extracting game data from magical places is necessary.
My goal is to use this as a smarter tool that actually tells me if I have issues in my code and build+sign the pbo. I'd expect for that to work without a full P-Drive setup.
But if that wasn't within the intended design of the tool then that's fine. Just wanted to know.
what you expect then is a contradiction.. how can it tell you you have issues (such as typos) if you don't want it to check?
How does the P-Drive change the code that is to be checked? I feel like I'm fundamentally misunderstanding what this tool is for.
it looks at all possible , potential, errors, such as you mistyping
HMD\functions\Atil
Aye. How does a "P:\\HMD\functions\Atil" differ from (in my case) "E:\\<path>\HMD\functions\atil"?
I'm telling the tool the root directory of the sources, hence I assumed the location would not matter.
class APD_HMD_Functions
{
tag = "APD";
class Event
{
file = "HMD\functions\event";
class onGetIn {};
class onGetInMan {};
class onGetOut {};
class onGetOutMan {};
...
Correct, I don't. But I specify full paths in either the regular addon builder or in pboProject.
So I thought if I give pboProject "E:\\<path>\pilot-displays" as the source folder it would work relative from there.
So to clarify. pboProject is not supposed to be and not intended to run from anywhere but the P-Drive?
totally correct.
every asset you use, from bis, yourself, or others, must be on that drive
Thanks for the clarification.
DokanPbo can mount the PBOs as virtual folders and files
Just another thing to open pbo: https://github.com/winseros/pboman3
So I have fiddled for a few hours trying to get a successful build with pboProject and so far (after setting up the work drive) the only success was to specify the full path for everything.
For example hmd\functions\event would be fine for the regular builder as the "config.cpp" would be in z\pilot-displays\addons\hmd while pboProject forces me to use the full z\pilot-displays\addons\hmd\functions\event instead.
I assumed the difference might be that I tell pboProject to build from actual root ("pilot-displays") while I have to tell the default builder to go from the mod folder ("pilot-displays/addons/hmd"). But when I setup the work drive to have "hmd" as the root pboProject still forces me to use z\hmd\functions\event.
So one way to build enforces a full path while the other enforces a relative path. Is the full path one of the stricter requirements that pboProject expects? Which in turn also causes enforcing a specific path that starts with "z"?
It becomes even weirder. After building successfully at least once I can intentionally change the path to something non-existing and subsequent crunches still succeed until I restart the tool.
the reason why a \full\path is required as the source folder is because it is also the prefix embedded in the header of the pbo.
as stated to you already, every asset must be on the 'pdrive'. I have no interest in on-again, off-again 'tricks' with relative addressing.
and, the reason why the 'pdrive' must also be specifed in that source folder is that pboProject then knows which drive to access for every other \ref\er\ence
if you think about the above, elegant, simple solution, how else would YOU specify:
+the prefix to use, and,
+where are the other assets located?
finally, there is the (currently unknown to you) P:\temp
This is the location that bis binarise MUST have where every >binarised< asset placed. Note carefully, binarised, not unbinarised source. So how would you suggest i ensure that every binarised source (including yours) is provided to the bis tool to work with?
I'm just trying to comprehend how everything is supposed to work as there are quite unique processes. I don't wanna proceed on assumptions because it coincidentally worked.
So in Arma projects full paths are, by BIS and the community, the right way to do this?
You also mentioned a prefix, where does it come from?
the 'prefix' is the starting location for all the files in any given pbo.
a pbo ONLY saves the following information.
data\texture1.paa
data\texture2.paa
etc
BUT
it's actual address is:
\pre\fix\data\texture1.paa
\pre\fix\data\texture2.paa
etc
So in Arma projects full paths are, by BIS and the community
yes. and the reason for it is bis don't use relative addressing for anything. EVERTHING for the engine begins at
\some\where
it is totally impossible for you to access a texture by saying
texture=data\texture1.paa
Okay so the regular builder seems to be doing much more magic than I thought. Thanks for the infos.
my pleasure. and apologies for my rude manner, but, over the years i've found being savage about it seems to get the message across best.
Oh I don't mind. I have a bad habit of being pesky until I understand exactly how something works. Even if that entails asking the same question 5 times.
good
tools update; A shiny new snapshot of the current subscriber dll has been supplied in the FREE toolset. It addresses several issues with #defines. And even more error checking.
@royal heath best way is to describe the problem right away
can you tell me how can i find some admin for fix that problem
you have not explained the problem
Can you delete the fsaa option?
By changing the fsaa, all the leaves of the trees disappear
that has nothing to do with mikeros tools...
soo who please
and its probelm with your gpu drivers
no i dont think so
its supposed to be fixed in latest AMD drivers
Yes it is
I know so
no many people has had the problem
No its a common problem
with AMD drivers
rx 470 4 gb 256 bit]
I have not liked the game since I saw this problem
Well its not the game's fault, its AMD's fault
How can I send you a photo?
See when I disable the fsaa option, the game becomes normal But when I change to the x2 or x4 x8 option, all the leaves of the trees disappear
so just disable fsaa?
ok i will .but Can't report this problem to fix it? or delete ?
ok
it is a gpu driver bug
I hope it's my problem, not the game
ok Anyway, thank you
๐ท ๐ฆพ
can someone make a tool that lets steam workshop contributors publish a mod pls
thank
Steamworks don't allow it, Valve would need to expand permissions for that
pls ask valve to allow it
thank
it is allowed, standard workshop api lets all contributors upload the mod, its a publisher tool limitation
i cant find the steam workshop patch notes
but it was a recent update yeah
maybe last couple months?
i've done it for garrysmod, i'm not sure if it requires some steam option change on BI's side or if you just need to upgrade the publisher exe
supposedly tho steamcmd can manually update a workshop mod
so i might try that later
https://steamcommunity.com/groups/steamworks/announcements steamworks sdk updates are here
yeah i just tested it with garrysmod, you just need to be a contributor to upload the mod
aight time to figure out this steamworks api for steamcmd.exe and make Publisher.ps1 
Can't see anything in the steamworks changenotes about it
I'd love to have that feature if it is possible
yeah i cant find anything in the changenotes, but it 100% works, at least for garrysmod
im testing with arma 3 using steamcmd now
hah HAH!
totally works
i just updated a arma 3 workshop mod i am not the owner of, just a contributor, using steamcmd https://partner.steamgames.com/doc/features/workshop/implementation#SteamCmd
idk who i have to ask to get support for workshop mods not owned by yourself added to the publisher.exe but maybe you do?
Me
i can provide detailed information on how exactly i did it using steamcmd but its not complicated, i just specified a workshop id of a mod i dont own
following the wiki page i linked
The main problem is probably steamworks API that returns also items that you are contributor on
we don't use steamcmd
But if we can get the list of items, and just add it into publisher that might already be sufficient
and then it checks if you're a contributor
yeah it appears the only options are to poll every single workshop item and check contributors, maybe a more workable solution is to search the users subscribed items for contributor access? with a fallback manual workshop id entry box that the user can specify a workshop mod and then the publisher can check if the users a contributor
Found it
https://partner.steamgames.com/doc/api/ISteamUGC#EUserUGCList
Thats how we query
k_EUserUGCList_Published
List of files the user has published.
yeah i was just reading this
There is no option for "List of files the user is contributor on" :/
I also see no SteamUGC api to retrieve the list of contributors on an item
theres a webapi, is there no C api...
but we need the C api :U
maybe theres a check to see if you're authorized to publish to the mod
like "if allowed to publish"
instead of looking for if you're a contributor directly

i mean the fallback is just let the user input any mod and handle the error on upload
I made myself a ticket to look at it someday
I guess for now i'll just post this:
How to update a workshop mod that you're a contributor for, not just the owner:
1: Install SteamCMD: https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD
2: run steamcmd (Using cmd prompt / powershell), login to it with login <username>, it will then ask you for a password and 2fa if configured.
3: in the same folder as SteamCmd.exe, create a file called "MyMod.vdf" (name isn't important)
4: edit that file with your text editor of choice and put in:
"workshopitem"
{
"appid" "107410"
"publishedfileid" "WORKSHOP_APP_ID_HERE"
"contentfolder" "P:\\@Your-Mod"
"visibility" "0"
"changenote" "Your Changelog"
}
- Replace
WORKSHOP_APP_ID_HEREwith the workshop id of your mod, change the contentFolder path to the path of your built mod, then write your changelog in changenote field, save the file. - Back in SteamCMD, type
workshop_build_item MyMod.vdf(with the name of the vdf file you made) - assuming you're a contributor to the workshop mod, it'll upload and you'll have updated the mod!
Read the steamworks wiki for more info https://partner.steamgames.com/doc/features/workshop/implementation#SteamCmd
Update, you can also use PublisherCMD, so long as you are a contributor to the mod, see https://community.bistudio.com/wiki/Publisher for info
i hep
maybe one day steamworks will add proper support for this and publisher can be upgraded 
so basically, just use standard steamcmd upload method and it should work ๐
you can also run workshop_build_item ... via regular steam client
apparently not, that one is removed from the console commands
only download and status is exposed in console ๐ฆ
yeah i tried that
it'd be a lil easier for people, might even be worth making a powershell script
the arma publisher accepts command line, does it perform ownership checks i wonder?
if it doesnt that might be an option as well
easy to test
true
Steam error code: 2, Error code: 1, Error message: STEAM_API_DLL TODO
wait, I might not be contributer on my test item, one sec
oh wow that broke publisher real hard
yep, it works fine to publish
I think last time we tested this was during summer
and then it didn't work
cool stuff, that simplifies a lot of older items being owned by a user and not a shared account
also really scary about who you add as contributer
true
anyone can publish w/e they want
and considering that arma can load DLL's
...
wow thats a big security hole
stupid old mods that in like years of arma 3 workshop just setup contributors to everyone that helped out
some real old mods that arn't maintained who have lots of contributors
and lots of people using
... oof
which is also a reason why not to allow it :wob:
i dont think you as BI even have a choice...
Yeah people can always use steam directly
i saw no documentation to control contributors access to workshop uploads
yikes steam, yikes
Well we could do something, like add some tag so people have to add a tag to their items to enable it
yeah like metadata
there are probably some cool solutions you guys can make to verify that the publisher exe was used and then setup your own version of contributors with more configurable access
sounds easy to spoof ๐
put something in arma itself that verifies the mod was uploaded by publisher
it'd probably require some kind of signing, like mod key signing
it wont be easy to fix that
:D
well im just happy i dont have to pass around a steam account and associated gmail account for 2FA just to maintain a mod worked on by many people
i'm going to pretend there isnt a glaring security hole and show people how to do
at least for my mods
yeah thats what we're setting up atm
@dawn palm can you tell - what exactly your tool don't like here in file R3F_LOG/R3F_LOG_ENABLE.h?
https://pastebin.com/KhYcn7AV
Ah, don't pay attention. I see the reason
Another question - if /**/ comment blocks not works in your tool in *.h files - how to add a comments in other way?
@dawn palm small bug report, if you rapify
class CfgPatches
{
class d {};
};
class a
{
a[] = {"1"};
};
class b: a
{
a[] += {"2"};
};
you get
////////////////////////////////////////////////////////////////////
//DeRap: config.bin
//Produced from mikero's Dos Tools Dll version 8.32
//https://mikero.bytex.digital/Downloads
//'now' is Tue Oct 19 22:17:46 2021 : 'file' last modified on Tue Oct 19 22:17:40 2021
////////////////////////////////////////////////////////////////////
#define _ARMA_
class CfgPatches
{
class d
{
units[] = {};
weapons[] = {};
};
};
class a
{
a[] = {"1"};
};
class b: a
{
a[] = {1,"2"};
};
after derapifying
note that a[0] looses its quotation marks
/*comment blocks*/ work perfectly fine. there's NEVER been a problem with them
you seem only too ready to blame my tools for your own mistakes.
@solemn isle , thanks for that. will fix on next release.
No any blaming, sorry if you thinking so. If I'm wrong here - please correct me there it is.
after removing a comment block - tool passed a build further
@solemn isle new dll fixes your issue with +=
having an issue with pboproject with one of my devs, they've got the mikeros tools bin path in path env var, they've reinstalled all tools, they've disabled antivirus, restarted pc, still getting the error:
locating dewss...registry not found
dewss has not been installed.
trying to use pbo project to pack up my mod, i reference some uniform models from contact and since theyre ebos pbo project flips out and cant find the files?
is this intended since we cant peek inside or am i even ok to reference things in ebos or nah
you have to make dummy files \in\the\correct\location
this is to ensure, you have no typos
rog, much appreciated
new dll for rapify now accepts the following pre-processor commands:
#if(n)def __has_include
and
#if (!)__has_include("some\file")
it is normal for these commands to supply a config.CPP (not BIN). make sure you set/check the appropriate button, because the same commands also make sense for teams supplying binarised content with different variants
binarised or not, my tools always look for errors regardless
๐
#if(n)def __has_include
only #if supports __has_include, #ifdef and #ifndef don't, also wouldn't make any sense there anyway?
it is reccomended to use it by the gcc compiler to establish whether or not the version of the compiler supports it
I guess ifdef will always return true maybe? and ifndef always false?
Well we are not the GCC compiler
yes for later version of my dll, else the reverse is true
i support it
You seem to be finding things out about my code that I didn't know I did
Correct, no its not supported, !__has_include is preproc parser error
too bad. i support the gcc standard
binarised or not, my tools always look for errors regardless
But you ignore these errors here?
while has_include can be used for offline compilation (though I have never seen anyone do that) its main intention is to be used in unbinarized configs in-game.
And there you won't actually detect errors if you support/allow things the game doesn't support
then most folks will stick to your standards, even if they use my tools. for those using offline compilation (which i too have never seen so far) they have a little more freedom.
Do you set some macro during binarization so that people can detect if their config is currently processed "offline" ?
That would probably be neat
tools update:
dll: restored compression for files
pboPro: fixed last 'exclude from pbo' entry was ignored
added psd and cmd files to the list
deanm: (dayz only) added 'notes' decoding and editing for anm files
Hi!
I have a little problem with the interface because of a freeze of the software and I'm having trouble getting everything back in place (http://image.noelshack.com/fichiers/2021/43/1/1635179600-image-2021-10-25-183319.png). I tried to uninstall Objet Builder then A3 Tools but nothing works. Would you have a solution to help me?
Thanks in advance
current state is stored in registry HKEY_CURRENT_USER\Software\Bohemia Interactive\Object Builder
It's good now
Thanks for your help !
Hey,
Since yesterday I have huge problem, I cant upload/update anything to the Workshop anymore, no matter if I try to publish something via the Editor or via Publisher.
I am always getting the error:
'"Something went wrong
Steam error code :16, Error code 1, Error message: STEAM_API_DLL TODO"
https://prnt.sc/1xdnpiu
I even tried to upload it from another PC on an different Network, but still got the same error, but I worked with another Steam account without any problems.
I tried a lot of things but nothing fixed the issue :/
I'd love if steam would someday fix their TODO's and add actual error messages ๐
I found this in the RPT log, dont know if its any help
2021-10-26 15:03:35,493 [ERROR] 6 SteamLayer: class Steam::Query::PublishedFilesByUserAction query failed
2021-10-26 15:03:35,493 [ERROR] 6 SteamLayer: class Steam::Query::UserSubscribedContentList query failed
2021-10-26 15:03:35,493 [ERROR] 6 SteamLayer: Subscribed list failed
2021-10-26 15:03:36,245 [ERROR] 6 SteamLayer: Request failed: result: 16, req: class Steam::Query::CallbackQuery<class Steam::Query::CreateItemArgs,class Steam::Query::QueryArgs,struct CreateItemResult_t,class Steam::Query::CreateItem,struct Steam::Utils::DefaultResultChecker> *, id: 5905507207615093054

