#arma3_tools

1 messages ยท Page 42 of 1

dawn palm
#

regardless, good comments.

#

(and bare in mind, that i get absolutely nada$ for server a based toolset, it's free for whoever wants or can, use it)

dawn palm
#

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

dawn palm
#

important fixes at depbo.dll version 8.15

sly skiff
#

first time copying diag exe to stable has failed me crycat

rancid relic
#

I've used following setup for years before I've joined Bohemia

glossy inlet
sly skiff
glossy inlet
#

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

sly skiff
#

aaaaa

#

Reading -1

gritty radish
#

Does anybody have a c# implementation of gamevalues and or an parser that can read a string blob?

glossy inlet
#

X39 had something, don't know if it was C++ or C#

#

On his github, I think it might even be called gamevalue

nocturne basin
#

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#

karmic niche
#

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?

scenic canopy
#

HEMTT signing should work on Windows runner

scenic canopy
#

not that much sqf/addon code in pythia repo from a quick glance?

karmic niche
#

Yup, almost none. Barely enough to pass control to the C++ and then Python code. Literally one PBO

karmic niche
#

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

scenic canopy
#

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

karmic niche
#

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

dawn palm
#

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)

scenic canopy
#

looks like its only cpp and sqf so thankfully no need for binarize ๐Ÿ˜„

rough escarp
#

Dahlgren I've been learning lots from your code, thank you!

scenic canopy
rough escarp
#

It's good enough for me to read it, and I'm just a truck driver :)

glossy inlet
#

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

blobcloseenjoy

elfin oxide
dawn palm
#

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.

glossy inlet
#

But crashing your whole explorer if your Arma is open while you're editing a pbo is probably not that user friendly

manic hatch
#

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

sly skiff
#

that is of no concern

#

if you cant pack, the problem is something else

dawn palm
#

the fault above is because you have not 'played' steam tools once, after they updated something. pboPro checks both registry hives btw.

unreal lichen
#

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

dawn palm
#

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.

scenic canopy
#

Or just move overthrown_main to root of P

unreal lichen
#

thank you @dawn palm and @scenic canopy

#

yes, I agree it is ... that it cannot do something that the first C compiler did.

spring gust
#

is there a PBO opening tool for linux?

pliant lynx
#

extractpbo from Mikero should be in the linux versions by Killswitch.

scenic canopy
#

Armake, Armake 2, cpbo, extractpbo, pbo-fuse

dawn palm
#

large update to depbo and pboProject.
credits to credits to Big Grampa,Flynn,HG,J. Doberman and Zโ‚ณโฑคโ‚ฒษ† , and several others
enjoy

rough grove
#

@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

dawn palm
#

i thought i'd inserted it properly, will investigate. thanx for heads up.

#

Ah, the free version of the tools might cause this.

dawn palm
#

new release 8.19 of dll fixes 'extractpbo' (error introduced at 8.18)

gray matrix
#

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.

dawn palm
#

the folder does not exist at P:\BSF_Client\bootstrap

gray matrix
#

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?

dawn palm
#

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.

unreal lichen
#

binmake is a bis tool ya?

#

0:07:56: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake

dawn palm
#

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.

blazing needle
#

is the github docs page for hemtt down?

elfin oxide
#

Yes.

blazing needle
#

tragic

#

@rough grove are you aware of that?

rough grove
#

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

glossy inlet
#

Mr Sandman, bring me a dream

gray matrix
#

Ah, yeah. That.

glossy inlet
#

Its WIP tuhl that not ready for beta test yet

unreal lichen
#

@dawn palm thanks.

unreal lichen
#

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 ?

dawn palm
#

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

twin torrent
#

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

glossy inlet
#

Are the arma files on your pdrive?

twin torrent
#

ok nvm, I managed to do it with the addon builder

dawn palm
#

๐Ÿ˜ท trying to be nice

sly skiff
#

I just can not understand where people pick up using Eliteness as a packing tool

dawn palm
#

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)

twin torrent
#

nope, now it's all up running (also no env_land_co error, fixed that one before)

dawn palm
#

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

twin torrent
#

Yes, I think pbo project is my future consideration, I just have to get into grips with it

vague shard
#

has there been any new code formatter/pretty print/beautifier since start of the year?
ref: #arma3_tools message

neon flax
#

no

vague shard
spring gust
#

is there an easy way to view paa's on linux?

dawn palm
#

view. no. list the contents of, yes. with depax

rough grove
dawn palm
#

....which is more than good enough since each additional mipmap is just a 1./4 shrunken 'image' of the previous one

dawn palm
#

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.

gray matrix
#

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

glossy inlet
#

O2Script can do that

gray matrix
#

Cool, another mountain to climb!

#

I'll get my boots

dawn palm
#

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

gray matrix
#

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

dawn palm
#

hmmm......

dawn palm
#

not implemented (yet) ) i thought it was.

gray matrix
#

Well, that would explain it.

simple dirge
#

Has anyone made any tools for debugging/playing back sound sets like vehicle sounds without having to build A3?

dawn palm
#

dewss.exe

#

all wss, ogg, or wav are born equal with this tool

crude goblet
#

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?

dawn palm
#

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.

crude goblet
#

@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

sly skiff
#

Could be they are marked with incompatible key point type and the indexer breaks.

crude goblet
#

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

crude goblet
#

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?

sly skiff
#

I dunno, I dont know exactly how Alive does its thing

crude goblet
#

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?

sly skiff
#

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

crude goblet
#

yes that's what I'm asking, I don't know what you mean by 'map keypoints'

#

are those like, location names?

sly skiff
#

yes. further inquiries @smoky haloive discord

dusty walrus
dawn palm
#

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)

potent saffron
#

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?

pliant lynx
#

yes I had that exact same problem, got it fixed by installing Mikero's tools.

potent saffron
#

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?

glossy inlet
#

Didn't have issues the last times I used Addon Builder think_turtle
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

dawn palm
#

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

potent saffron
dawn palm
#

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)

potent saffron
#

Mmm why is that, if I may ask? ๐Ÿ˜„

#

I'm still pretty noob at this so

dawn palm
#

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.

glossy inlet
#

Oh that sounds like an easy fix.
I'll look at that

dawn palm
#

see!

potent saffron
glossy inlet
#

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?

potent saffron
#

It is

dawn palm
#
 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```
glossy inlet
#

There is no reference to BinMake in Addon Builder code

dawn palm
#

possibly binmakerules.txt

glossy inlet
#

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

dawn palm
#

it needs to look up how to binarise rvmats, ditto tga

glossy inlet
#

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

dawn palm
#

๐Ÿ˜Ž

#

it's not actually looking for binmake.exe, it's after binmake\bimakerules.txt

glossy inlet
#

Ah binmake is looking up its own config

dawn palm
#

yes

#

it was a damn clever piece of architecture for the time (1998)

glossy inlet
#

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

dawn palm
#

that exists on your pc at work, because your pc at work previously used binpbo (arma2)

old junco
#

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?

dawn palm
#

p:\buldozer

#

(generally)

old junco
#

its already there

#

but when i choose buldozer.exe then start it again it doesnt work

dawn palm
#

the the settings are not pointing to it in t/b

#

oh that's entirely differemt

glossy inlet
old junco
dawn palm
#

it is or was the reason why bis devs didn't see this HKLM error in the past @dedmen. time moves on.

glossy inlet
#

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

dawn palm
#

well, hkcu is used or set by bis for a3 via 'play' tools

glossy inlet
#

I don't have the entry in HKCU though

old junco
#

the buldozer still wont work

#

same error

potent saffron
#

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

dawn palm
#

if you 'play' steam tools, hkcu should set (or used to)

#

dedmen is fixing it for sure John

potent saffron
#

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

glossy inlet
#

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

dawn palm
#

he found an 'undocumented feature' ๐Ÿ˜Ž

potent saffron
#

I always launch A3 Tools from Steam. I used to launch addon builder directly from a shorcut pointing to the directory, but not anymore

dawn palm
#

mikero frantically scrabbles at regedit

glossy inlet
#

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.

dawn palm
#

you can't 'launch' t/b or a/b from the gui tool. only shortcuts work

glossy inlet
#

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

potent saffron
dawn palm
#

definately WERE. checking if the truth is now different

potent saffron
dawn palm
#

sorry @potent saffron i meant o/b (getting tired)

glossy inlet
#

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

dawn palm
#

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

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

dawn palm
#

i think it really only needs to register where a3tools are. C,D,E...Z:\some\where

potent saffron
#

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BIStudio\BinMake is there

#

in regedit

old junco
#

External Viewer: unable to create viewer
anyone knows how i fix it?
(happens when i want to start buldozer via OB)

glossy inlet
#

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

potent saffron
#

I'm using the default

#

I'll try setting in manually to binarize.exe

glossy inlet
#

This thing.
Default should be non-x64 as far as I can see, but maybe it somehow got to use x64

potent saffron
#

Nope, same result

glossy inlet
#

Can you send me your bin log?
Where mikero said it logs the registry not found errors?

potent saffron
#

Hold on

dawn palm
#

pboProject uses x64 too. if it can detect it. it is expected to be in same folder as it's smaller cousin.

potent saffron
#

Can't find a bin log

#

Should be in Arma 3 Tools/Logs

#

Right?

glossy inlet
#

I'd think P:/temp if you pack on pdrive

#

my binarize just freezes when I try to pack a pbo notlikemeow

dawn palm
#

welcome to hell

glossy inlet
#

Except that in my hell I have debug tools and can just check why it freezes ๐Ÿ˜„

potent saffron
#

I don't have any logs on my temp folder

dawn palm
#

@glossy inlet
re-installed steam tools (devel).
'played' the gui.

glossy inlet
#

But we were talking about this one
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BIStudio\BinMake also created by steam

dawn palm
#

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

glossy inlet
#

But only 32bit binarize will get the values in WOW6432Node, not the _x64 version

dawn palm
#

k

glossy inlet
#

Hah my binarize freezes because I'm out of RAM ๐Ÿ˜„

dawn palm
#

miser

potent saffron
#

Whoops lol

glossy inlet
#

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

dawn palm
#

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

glossy inlet
#

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

dawn palm
#

ouch. nice find

glossy inlet
#

I have some other things to finish and then I'll dive into all this mess ๐Ÿ˜„

dawn palm
#

so, 64bit doesn't have a wow64\ hive?, hence the hardwire (\wow64)can't find it?

glossy inlet
#

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

dawn palm
#

got it. I alwayz get confuzed at this point

potent saffron
#

Good luck with that haha

#

I guess I'll be downloading mikero's tools in the meantime

dawn palm
#

keep taking the pillz

glossy inlet
#

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

dawn palm
#

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?

potent saffron
#

Yeah, I don't know why I can't find that log

dawn palm
#

<ahem> you can with pboPro. ๐Ÿ˜ท

#

and, incidentally. the 'free' tools are same as 'subscriber tools' at the moment. just less features

potent saffron
#

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

dawn palm
#

a) use a 'p' drive
b) run arma3p

potent saffron
#

Doing a), let's try that b) haha

dawn palm
#

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

potent saffron
#

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?

sly skiff
#

you would need to unpack those to your P drive too

#

or create placeholder files

potent saffron
#

Makes sense, thanks a lot ๐Ÿ˜‰

sly skiff
#

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

potent saffron
#

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

dawn palm
#

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.

potent saffron
#

I was actually looking at that just now. But yeah, I'll keep it all on. Thanks for the tip ๐Ÿ˜‰

pliant lynx
#

how does that multiple binarize's work?

dawn palm
#

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

pliant lynx
#

.rvmat's were binarized by pboproject and binarize only does p3d and wrp, right?

scenic canopy
#

multithreaded tga conversion etc is in as well but only uses one thread until some quirks are ironed out ๐Ÿ™‚

dawn palm
#

same for rvmats, but other issues are stopping it at moment.

scenic canopy
#

soon โ„ข๏ธ

dawn palm
#

haha

#

why not yesterday?

pliant lynx
#

was just wondering if there is a large processing time speed gain with large terrains.

scenic canopy
#

with multithreaded conversion and temp file copying it should help quite a lot for full builds

pliant lynx
#

nah I'm using convert layers png to paa fast bat, just talking about binarizing/pboproject packing a terrain addons.

scenic canopy
#

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

pliant lynx
#

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?

scenic canopy
#

requires binarize 2.03.X something or newer, old one had a sleep issue

dawn palm
#

@pliant lynx , ask @grand kelp . he'll hate you after all the work he's done, but ask anyway, and duck.

pliant lynx
#

who?

dawn palm
#

he made the all--n-one installer.

pliant lynx
#

ok I assume the answer is no. roger that.

dawn palm
#

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)

pliant lynx
#

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.

dawn palm
#

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)

pliant lynx
#

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.

dawn palm
#

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.

scenic canopy
pliant lynx
#

just normal terrain files.

grand kelp
pliant lynx
#

heh use scenario was just lazy bum one, pay tools subscription expired a while ago and now free tools are more up to date ๐Ÿ˜‰

grand kelp
pliant lynx
#

yeah meant to ask when saw that, "AiO" what is that? nevermind got an answer, "All In One".

dawn palm
#

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

pliant lynx
#

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.

dawn palm
#

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.

pliant lynx
#

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.

sly skiff
#

blocked messages I dont think mark the red icon, but deleted messages with mentions or replies do stick

glossy inlet
#

yeah discord has that kinda bug sometimes. But it goes away for me after a day usually

glossy inlet
#

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

dawn palm
#

new subscriber dll fixes:
+debinarisation of rtm files.
+potential missing external file checks if building "addons within addon"

potent saffron
#

Hands down my favorite feature of pboproject: hallelujah choir upon successful packing ๐Ÿ˜…

unreal lichen
#

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.

sly skiff
#

missing stuff is listed at the end

#

so its easy to find

#

and packing starts from a folder that contains a valid config.cpp

unreal lichen
#

Warnings are embedded in the log listing, not just at the end

sly skiff
#

and you set the folder here

dawn palm
unreal lichen
#

I guess I've just been pampered with IDEs

dawn palm
#

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

unreal lichen
#

that may be it, I've been using noisy

blazing needle
#

#production_releases message
@grand kelp

2. [#19] - Added opt-out telemetry. *[subscribers-only feature]*

Is that legally allowed? especially in the context of GDPR?

grand kelp
topaz grove
#

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!

sly skiff
#

not really if the problem is in the model

#

dozer can handle few 100k polys though

#

how many do you have?

dusty walrus
grand kelp
dusty walrus
#

Thank you, wasnโ€˜t able to find it with google

topaz grove
#

I have 400k tris, and 200k everything else. Bulldozer just crashes, idk if it's my polys or not

blazing needle
#

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

sly skiff
karmic niche
#

What exactly was the (removed) "wysiwyg" switch for makepbo doing? (-N)

scenic canopy
#

from memory, packing without binarizing p3ds etc

karmic niche
#

That's -U AFAIR

karmic niche
#

Okay, but that's the reason why I was asking ๐Ÿ˜„
It says "do nothing special". What is considered "special", in that case?

scenic canopy
#

rapify etc ๐Ÿ™‚

#

cpp, rvmat etc

unreal lichen
#

Where do I find the documentation for pboproject? the $Prefix$ file being generated is generating a different folder root than expected.

dawn palm
#

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.

unreal lichen
#

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

dawn palm
#

paste a screenie of pboPro's front panel pls @unreal lichen

unreal lichen
#

I don't have permission in this channel to do that.

dawn palm
#

what does your source edit box say pls

unreal lichen
dawn palm
#

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

unreal lichen
#

ahh, I think I kinda get it.

dawn palm
#

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.

unreal lichen
#

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.

unreal lichen
#

does the preprocessor process sqm files, such that #define #ifdef #endif #ifndef are parsed?

dawn palm
#

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.

unreal lichen
#

ahh, that is why I'm getting errors when loading the mission. The parts I want excluded at preprocessor time are still there.

dawn palm
#

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.

unreal lichen
#

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

glossy inlet
#

You cannot simply remove classes in mission.sqm

#

you need to keep all the numbered classes order intact

unreal lichen
#

I was wondering that too. I could easily create dummy classes in their place, if I could pre-process them like that.

unreal lichen
#

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?

unreal lichen
#

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.

glossy inlet
#

How would I go about debugging this?
Reporting the game crash on feedback tracker

unreal lichen
#

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

pliant lynx
#

does mission.sqm support comments?

unreal lichen
#

According to Mikero it "should", but evaluates them at runtime rather than pbo creation time.

#

So, maybe not?

dawn palm
#

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.

glossy inlet
glossy inlet
#

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

pliant lynx
#

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.

glossy inlet
#

discard

pliant lynx
#

interesting, thanks for the info.

frigid sonnet
#

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

scenic canopy
#

process?

#

its a c++ library compiled to WebAssembly to run in browser

frigid sonnet
#

Ah got ya, any references for where to start if Iโ€™m looking to do it myself?

glossy inlet
#

look at "Blazor WebAssembly" lets you write C# that will run in browser via webassembly.
Easy to get going

scenic canopy
#

I wonder if the PAA library in C# would work with that

#

its a bit cumbersome to work with in general

dawn palm
#

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?

frigid sonnet
#

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

dawn palm
#

pal2pace will already do that (arma3 calls it img2paa). I'd imagine a web based app could package it

frigid sonnet
#

Yeah just seen that on the wiki. Should make it pretty easy, cheers

#

Sorry one last question, is there a version available for linux?

dawn palm
#

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)

frigid sonnet
#

Gonna try running it on Wine first, see what happens

dawn palm
#

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

scenic canopy
#

Armake includes PAA conversion

bright gull
#

We have everything on GitHub even the online converter

frigid sonnet
#

Gonna use the C implementation Dahlgren linked, think itโ€™ll work best for my needs but thank you nonetheless

bright gull
#

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

frigid sonnet
#

Hahaha nah if thereโ€™s one thing Iโ€™m good at itโ€™s doing the least possible work to do what I want

bright gull
#

๐Ÿ˜‚

frigid sonnet
#

I had taken a look at the repo earlier today before posting

bright gull
#

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

frigid sonnet
#

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)

gritty radish
#

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

nocturne basin
#
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
glossy inlet
#

try not passing buffer_size to std::string

#

If that works I'll explain what happened

nocturne basin
#

same behavior as p2

glossy inlet
#

so works now?

nocturne basin
#

pretty much

#

but that baffles me just loads more

#

tho i suspect dupenv here

#

reporting wrong size

glossy inlet
#
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);
}
nocturne basin
#

yeah
youre right

maybe i should not programm when half asleep ... tho, this literally worked yesterday

fallen stone
#

Eh, something else should be happening with that

#

buffer_size should effectively be strlen() here

fallen stone
#

Seems it's not, unsurprising for win*

#

Might want to check _dupenv_s() == 0 && buffer != NULL) for success case though

dawn palm
#

strlen == number of chars. it does not include the \0 terminator and never has.

glossy inlet
#

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.

fallen stone
#

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.

gray matrix
#

@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>
dawn palm
#

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.

gray matrix
dawn palm
#

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.

gray matrix
#

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.

scenic canopy
#

have you tried opening it in object builder and resaving it?

blazing needle
#

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

blazing needle
#

fixed it by splitting the commands and functions in 4 groups total (two for each)

quiet talon
#

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

dawn palm
#

damn!! thanks for heads up

dawn palm
#

fixed as of subscriber version 8.27 (dll)

craggy lake
#

I have a separate account for publishing mods. Can I use A3 tools without buying arma for that account?

glossy inlet
#

No

#

Need to own Arma to upload things to workshop

craggy lake
#

ok, I understand the reasoning.

neon flax
#

Get it cheap on a sale, I think I have 4 accounts with arma for various purposes meowsweats

glossy inlet
#

I only have a second one to circumvent my BattlEye ban, now its useless sad
bought it at full price right after a sale even

craggy lake
#

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.

karmic niche
#

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

#

I'm kinda scared to even try running it because I know what will happen on the first try ๐Ÿ™ƒ

karmic niche
#

Thanks! ๐Ÿ‘

craggy lake
#

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.

dawn palm
#

you can't. they have to be pre-ordained via the gui

craggy lake
#

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.

scenic canopy
#

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

craggy lake
#

I'll do some local tests and report back with the results

scenic canopy
craggy lake
#

the make.py one in templates passes, bad cmd params are passed to pbo project. Thanks this helps me immensely.

scenic canopy
#

I think the template make.py is up to date with pboproject, make sure to update your copy

#

But no guarantees there ๐Ÿ˜„

craggy lake
#

last update was 6 years ago.

#

Its fine now that you passed that one. I even tried ZEN.

scenic canopy
#

last update is 14 months ago by me fixing the mikero breakage

craggy lake
#

+|-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"]
scenic canopy
#

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

craggy lake
#

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.

scenic canopy
#

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

spring thorn
#

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

scenic canopy
#

You need to download the required files, deogg and depbo is required for most

nimble current
#

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

pliant lynx
#

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

plain pebble
#

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

plain pebble
#

marvelous!

nimble current
#

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 rooVVV

dawn palm
#

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

nimble current
#

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

pliant lynx
#

pboproject -P is the parameter I use for batch file use, for skipping press any key in the end.

nimble current
#

ooh thanks

plain pebble
#

armagu.exe launches arma32bit

#

can it launch the 64bit version

plain pebble
#

nevermind it seems i am supposed to use the arma3diag_64.exe for what i am doing anyway

nimble current
#

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?

dawn palm
#

yep. next update will fix that

nimble current
delicate wind
#

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?

haughty dust
#

just install the compatibility mod for ace then, thats how you fix it ๐Ÿ˜

dawn palm
#

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

wraith fractal
#

Has anyone had issues with pboProject when it comes to GUI addons?

dawn palm
#

?

wraith fractal
#

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

dawn palm
#

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.

wraith fractal
#

The only addons used for this project are CBA and ACE

dawn palm
#

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

wraith fractal
#

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.

dawn palm
#

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.

wraith fractal
#

Thank you, I'd appreciate any help.

scenic canopy
#

neither CBA nor ACE use access =

dawn palm
#

yeah, figured that out AFTER the event ๐Ÿ˜ท

exotic depot
#

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?

sly skiff
#

do you have logging enabled?

#

what does the console say?

exotic depot
#

i have noisy to log on

dawn palm
#

well, the error is in front of you!

exotic depot
#

thought it would be in the output viewer lol

#

does it also tell any configs error or anything of that

dawn palm
#

for sure

#

but, it never got to that point of checking i think.

exotic depot
#

so i gotta fix the lod issue got it

fallen prism
#

Anyone got a link to the latest version of Notepad++ SQF highlighting, the version referenced on community tools (npp-sqf) doesnt exist anymore

nocturne basin
#

Consider moving to vscode would be my suggestion here
Much more up to date stuff on there

fallen prism
#

How easy is it to use?
Im not writing anything, just looking to edit my existing sqf's with ease.

dawn palm
#

important fix to extractpbo module of dll (credit @[EZ] Progger )

tough sapphire
#

Anyone here used armago to make a golang extension?

nimble current
#

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

nimble current
#

only error in the bin logs i can find is 23:34:24: Cannot read registry HKEY_LOCAL_MACHINE/Software\BIStudio\BinMake

vital fractal
#

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?

glossy inlet
glossy inlet
glossy inlet
nimble current
# glossy inlet 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

grand kelp
#

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.

dawn palm
#

checking....

dawn palm
#

@nimble current fix coming soon๐Ÿ˜‹

dawn palm
#

i've taken you off my xmas card list

nimble current
dawn palm
#

not only xmas cards, the easter bunny won't visit you either.

nimble current
dawn palm
#

@nimble current , latest tool release fixes your #defines

nimble current
scenic canopy
#

currently no

dawn palm
#

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.

nimble current
#

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 :(

dawn palm
#

drop the aster in *>

nimble current
#

file still empty

#

curiously, it does something

#

it appears to break the text in the window that pops up

dawn palm
#

i have zero interest in powershell. it has nothing to do with dos/penguin bat/bash syntax

nimble current
#

oh does this work in cmd?

#

hmm

dawn palm
#

it should, and if it doesn't in powershell, i have zero interest in making it happen.

nimble current
#

tried it with cmdline

#

same thing

dawn palm
#

ok

nimble current
#

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

dawn palm
#

well, i'll test it here again....

nimble current
#

i'll check for updates

dawn palm
#

it should be a non-issue, if not, it's a bug. am fairly sure python has no problems with > and >>

#

(or didn't)

nimble current
#

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

dawn palm
#

k

nimble current
#

sorry for the hassle, your tools are great, well worth the money <3

dawn palm
#

well, you've lost out on xmas cards, the easter bunny, and now, the tooth fairy won't visit you any more.

nimble current
#

everyone else gets improvements to the tools, so i'll suffer this fate rooFade

dawn palm
#

aaaaaah, bugger. it's win10. they changed how dos consoles are created.
@)$++)$+)*+%)@@%

nimble current
#

F

sly skiff
#

Just you wait for Win11

dawn palm
#

lemmings

torpid valve
#

@dawn palm btw your tool throws an error for # which is a scripting command. e.g: action = [_this#1] call fnc_blabla;

#

says Unknown #

scenic canopy
#

the cmd console will eat up all stdout/stderr, no extra pipe handling will fix that ๐Ÿ™‚

dawn palm
#

@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

torpid valve
#

it's the equivalent of select

#

yeah

dawn palm
#

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)

#

#%))+_+^#@+_

scenic canopy
#

Arma 3 1.82

neon flax
#

Hash as select is at least 2 years old

scenic canopy
#

yep, 11th of April 2018

#

3,5 year ๐Ÿ™‚

dawn palm
#

@)(+
(I%@(*%@%()@

orchid shadow
#

topkek

nimble current
#

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)
dawn palm
#

sorry, cannot help, am still resolving the >text.pipe

nimble current
#

thats okay i want that one more anyway lol

thin nova
#

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?

pliant lynx
thin nova
#

ive changed tag to tgn in all instances and still produces a tagless pbo

pliant lynx
#

you run pboproject from GUI and point the source (whatever its called was years ago when I last used GUI) into tgn_construct directory?

thin nova
#

okay, that might be my problem. top level directory is tgn with a folder inside called construct

pliant lynx
#

well, that'll do it ๐Ÿ˜‰

thin nova
#

gotcha

#

๐Ÿ‘

nimble current
#

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

pliant lynx
#

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

dawn palm
#

@thin nova

  1. the prefix in a $pboprefix$ or $pboprefix$.txt is completely ignored.
  2. 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.
  3. 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.
dawn palm
#

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;

nimble current
#

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

nimble current
#
        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"

dawn palm
#

k

dawn palm
#

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";

torpid valve
glossy inlet
#

you can use single quotes with macros

torpid valve
#

Really? meowsweats

nimble current
#

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

nocturne basin
#

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

glossy inlet
#

Is arma preprocessor actually executing instructions everywhere?
no, # valid only at linestarts

dawn palm
#

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)

dawn palm
#

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

native flame
#

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.

dawn palm
#

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

native flame
#

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.

dawn palm
#

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.

native flame
#

Does it require the P-Drive? Because I'm not using that yet. Is that the cause?

dawn palm
#

as in P:\HMD\functions\util does not exist

native flame
#

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
dawn palm
#

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)

native flame
#

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.

dawn palm
#

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?

native flame
#

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.

dawn palm
#

it looks at all possible , potential, errors, such as you mistyping
HMD\functions\Atil

native flame
#

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.

dawn palm
#

you cannot specify ANY drive: in your code.

#

it ALL begins at \ (linux)

native flame
#
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?

dawn palm
#

totally correct.

#

every asset you use, from bis, yourself, or others, must be on that drive

native flame
#

Thanks for the clarification.

scenic canopy
#

DokanPbo can mount the PBOs as virtual folders and files

split fox
native flame
#

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"?

native flame
#

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.

dawn palm
#

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?

native flame
#

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?

dawn palm
#

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

native flame
#

Okay so the regular builder seems to be doing much more magic than I thought. Thanks for the infos.

dawn palm
#

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.

native flame
#

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.

dawn palm
#

good

dawn palm
#

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
#

@dawn palm

#

hello mate

#

I want to report one of the game problems About tools

sly skiff
#

@royal heath best way is to describe the problem right away

royal heath
#

ok

#

I want to send a message in you Direct

#

please

sly skiff
#

no not to me. I got nothing to do with the tools

#

and this place should work just fine

royal heath
#

can you tell me how can i find some admin for fix that problem

sly skiff
#

you have not explained the problem

royal heath
#

Can you delete the fsaa option?
By changing the fsaa, all the leaves of the trees disappear

sly skiff
#

that has nothing to do with mikeros tools...

royal heath
#

soo who please

sly skiff
#

and its probelm with your gpu drivers

royal heath
#

no i dont think so

sly skiff
#

its supposed to be fixed in latest AMD drivers

glossy inlet
sly skiff
royal heath
#

wow

#

you mean just for me it das

sly skiff
#

no many people has had the problem

glossy inlet
#

No its a common problem

sly skiff
#

with AMD drivers

royal heath
#

rx 470 4 gb 256 bit]

sly skiff
#

and latest drives is said to work right again

#

if they dont you need to contact AMD

glossy inlet
#

But its not FSAA, its ATOC.
One lower in the settings

#

Turn it off, and its fine

royal heath
#

I have not liked the game since I saw this problem

glossy inlet
#

Well its not the game's fault, its AMD's fault

royal heath
#

How can I send you a photo?

glossy inlet
#

You don't

#

:U

#

Good night, sleep well later or something

royal heath
#

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

sly skiff
rancid anvil
# sly skiff

look at that guy using his fancy image embed powers awe

sly skiff
#

you can enable FSAA but you need to turn off ATOC

#

or update your gpu drivers

royal heath
#

ok i will .but Can't report this problem to fix it? or delete ?

sly skiff
#

you can report it to AMD

#

it is not a game bug

royal heath
#

ok

sly skiff
#

it is a gpu driver bug

royal heath
#

I hope it's my problem, not the game

sly skiff
#

it is

#

many others have had it

royal heath
#

ok Anyway, thank you

nimble current
#

can someone make a tool that lets steam workshop contributors publish a mod pls

#

thank

scenic canopy
#

Steamworks don't allow it, Valve would need to expand permissions for that

glossy inlet
#

thank

nimble current
glossy inlet
#

huh since when :u

#

thats neat

nimble current
#

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

glossy inlet
nimble current
#

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 rooVV1

glossy inlet
#

Can't see anything in the steamworks changenotes about it

#

I'd love to have that feature if it is possible

nimble current
#

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

nimble current
#

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?

glossy inlet
#

Me

nimble current
#

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

glossy inlet
#

The main problem is probably steamworks API that returns also items that you are contributor on

#

we don't use steamcmd

nimble current
#

yeah thats an issue

#

maybe a "advanced" box that lets you enter an app id?

glossy inlet
#

But if we can get the list of items, and just add it into publisher that might already be sufficient

nimble current
#

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

glossy inlet
nimble current
#

yeah i was just reading this

glossy inlet
#

There is no option for "List of files the user is contributor on" :/

nimble current
#

appears theres no way to get

#

yeah

glossy inlet
#

I also see no SteamUGC api to retrieve the list of contributors on an item

nimble current
#

theres a webapi, is there no C api...

glossy inlet
#

but we need the C api :U

nimble current
#

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

glossy inlet
#

I made myself a ticket to look at it someday

nimble current
#

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"
}
  1. Replace WORKSHOP_APP_ID_HERE with 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.
  2. Back in SteamCMD, type workshop_build_item MyMod.vdf (with the name of the vdf file you made)
  3. 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

#

rooAwwClap i hep

#

maybe one day steamworks will add proper support for this and publisher can be upgraded rooFade

neon flax
#

so basically, just use standard steamcmd upload method and it should work ๐Ÿ˜›

scenic canopy
#

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

nimble current
#

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

scenic canopy
#

easy to test

nimble current
#

rooThink true

scenic canopy
#

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

nimble current
#

oh wow that broke publisher real hard

scenic canopy
#

yep, it works fine to publish

#

I think last time we tested this was during summer

#

and then it didn't work

nimble current
#

yeah the update was semi-recent

#

last couple months

scenic canopy
#

cool stuff, that simplifies a lot of older items being owned by a user and not a shared account

nimble current
#

i cant find steam changelogs but we discovered it from gmod dev discords

#

yeah

scenic canopy
#

also really scary about who you add as contributer

nimble current
#

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

glossy inlet
#

which is also a reason why not to allow it :wob:

nimble current
#

i dont think you as BI even have a choice...

glossy inlet
#

Yeah people can always use steam directly

nimble current
#

i saw no documentation to control contributors access to workshop uploads

#

yikes steam, yikes

glossy inlet
#

Well we could do something, like add some tag so people have to add a tag to their items to enable it

nimble current
#

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

scenic canopy
#

sounds easy to spoof ๐Ÿ˜›

nimble current
#

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

neon flax
#

It's cool they allow that

#

It's not cool we have no control over that ;D

nimble current
#

: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

neon flax
#

create dedicated CI account

#

long-ass password
disable 2FA

nimble current
#

yeah thats what we're setting up atm

cobalt stag
#

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?

solemn isle
#

@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

dawn palm
#

/*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.

cobalt stag
#

after removing a comment block - tool passed a build further

dawn palm
#

@solemn isle new dll fixes your issue with +=

nimble current
#

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

dawn palm
#

dewss has not been installed.

lethal pendant
#

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

dawn palm
#

you have to make dummy files \in\the\correct\location

lethal pendant
#

ahhhhh ok

#

makes sense

#

thanks

dawn palm
#

this is to ensure, you have no typos

lethal pendant
#

rog, much appreciated

dawn palm
#

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

scenic canopy
#

๐ŸŽ‰

glossy inlet
#

#if(n)def __has_include
only #if supports __has_include, #ifdef and #ifndef don't, also wouldn't make any sense there anyway?

dawn palm
#

it is reccomended to use it by the gcc compiler to establish whether or not the version of the compiler supports it

glossy inlet
#

I guess ifdef will always return true maybe? and ifndef always false?

#

Well we are not the GCC compiler

dawn palm
#

yes for later version of my dll, else the reverse is true

glossy inlet
#

and
#if (!)__has_include("some\file")

!__has_include is not supported

#

is it?

dawn palm
#

i support it

glossy inlet
#

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

dawn palm
#

too bad. i support the gcc standard

glossy inlet
#

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

dawn palm
#

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.

glossy inlet
#

Do you set some macro during binarization so that people can detect if their config is currently processed "offline" ?
That would probably be neat

dawn palm
#

yes

#

it's an embedded #define

dawn palm
#

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

maiden grail
scenic canopy
#

current state is stored in registry HKEY_CURRENT_USER\Software\Bohemia Interactive\Object Builder

maiden grail
#

It's good now
Thanks for your help !

barren grove
#

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 :/

glossy inlet
#

I'd love if steam would someday fix their TODO's and add actual error messages ๐Ÿ˜„

barren grove
#

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

glossy inlet
#

it cannot even query your mods

#

seems like the connection to steam is bad

#

but if it also doesn't work on a different PC think_turtle