#arma3_tools

1 messages ยท Page 12 of 1

narrow bough
#

"the guy" being the same guy who has hacked public arma mp server for the best part of a decade,. he's only doing it for kicks.

limber garden
fresh jolt
#

Well, it works.

vague shard
#

and his trojan too ๐Ÿ˜‰

vague shard
#

@pearl beacon

[06:28:59] # Mikero: pboPro would not recognise .aba as a valid bis file ext
[06:29:56] # Mikero: therefore it won't be transferred to temp

pearl beacon
#

@vague shard thanks, that's sad to hear, but I have a work around, simply keeping models in separate components so they don't get moved

pliant storm
#

@sour valley he told me he's releasing an updated version EBO Encrypter.

#

Also, it's only really useful for mod authors

#

Because I don't think the server.cfg missions area supports .ebo, though it might...

#

Haven't tested yet on my EBO'd mission

elfin oxide
#

Missions as EBO do not work, they have to be a folder or an .pbo

#

EBO's are only usefuly for mod makers, but what douggem did there will be patched soon, so i would not suggest using that at all, as it is useless

#

Not to mention that he is not the only one here with an ebo decrypter ... ๐Ÿ˜›

orchid shadow
#

A: bis will never allow it to continue, B: If mod markers start resorting to ebo ecnryption. more ebo decryption tools will pop up

soft stump
#

Aye

#

You just must accept people will look at yo code

vague shard
#

what kind of trojan or virus did that cheat maker pack alongside now? didnt anyone care to check?

buoyant compass
#

I had a buddy that checked but he said nothing was in it. Not going to say names though.

vague shard
#

nice buddy

narrow bough
#

well I would never trust something that comes from douggem,. besides like I said previously he's only doing it for the kicks, just like each/every other thing he's ever done

buoyant compass
#

Yeah I am not supporting douggem at all, just pointing out that nothing was found inside of it that could be malicous.

vague shard
#

so what did you "buddy" do`?

#

upload to virustotal like Pennyworth

#

he might easily have his personal trojan in there that reads out steam keys or sth. your "buddy" surely wont find that

narrow bough
#

I ran his first one through 9 virus scanners, got 2 hits ,.

vague shard
#

but as long as there is "curious" people or people wanting to have some "fun", those cheat makers will find their sheep

narrow bough
#

yeap

vague shard
#

good for BI though; more bans = more sales

narrow bough
#

I guess..

thin rose
#

I kind of agree with Kju personally.

hallow rapids
#

I doubt that he's distributing a trojan or anything "malicious" publicly.. that would be quite dumb

#

he's not that hard to identify for those that can ๐Ÿ˜ƒ

vague shard
#

cheat makers often add a second way to rip off their buyers. nothing new there

dapper pivot
#

None of those scanners would find any kind of backdoor douggem would stick in.

#

The guy spends weeks at a time in IDA, he isn't going to download a chunk of some well known rootkit and stick it in there if he wants a backdoor.

thin rose
#

Maybe he's not as good as you think he is? ยฏ_(ใƒ„)_/ยฏ

#

"To err is human"

golden totem
#

Tbh that detection is probablly due to encription rutine (wouldnt be supriesed if it was 16byte sig)...

karmic niche
#

Hey! Sorry I'm late to the EBO-tools party, just saw your discussion yesterday.
About the trojan/malware thing in virustotal: unfortunately, these results don't tell you anything since the exe is packed with a (probably) custom packer. I have a hunch about what packer has been used but would prefer to not discuss this publicly.

Anyway, since it is packed, all the results that have "heur[istic]", "suspisious", "rep[utation]", etc... belong in the thrashcan because those AVs probably flag the packing routine itself instead of the main program. My python programs are routinely flagged as trojans because of the PyInstaller code working as a packer.
Oh, and also googling for Cryp_Xed-16 tells us it's also flagged using a heuristic.

Note: I'm not saying the program is harmless. I'm just saying those AV results are thrash.

smoky halo
#

should be easy to check if it is "sending home"

vague shard
#

the initial argument was that he can likely have his own malware routines in there that wouldnt be found by VT anyway

#

of course one can do wireshark traffic analysis and HDD+memory monitoring, yet why should we?

#

the general point was if you get stuff from the likes of him, you are likely to get some hidden surprises as well

karmic niche
#

yet why should we? Some people like to sit in bushes with a gun for half an hour and call it "having fun" and some other people like to dissect unknown executables and also call it "having fun" :)

sick verge
#

@karmic niche you got a point there

vague shard
#

sure you can and anyone can - nothing wrong with that; we in the sense of general modders not using that guys tools anyway

lyric crag
wind elm
#

I guess your application settings are corrupted.

#

head -> table
You might wanna re-check/save your settings again? If that doesn't work: Reinstall?! Might be an idea, hu? ๐Ÿ˜‰

lyric crag
#

and yes my steam is online

#

and i have tried restarting

limber garden
#

Where are you getting that error? When you launch publisher?

lyric crag
#

yeah when i launch it

vague shard
#

i had this too

#
  1. restart steam
#
  1. retry a couple of times
lyric crag
#

how many is a couple of times @vague shard?

#

its like Publisher just doesnt want to work for me :/ it doesnt work on the dev build either :/

vague shard
#

@lyric crag contact the BI devs via BI forum or A3 FT

grim geode
#

wasn't there a fuss about bankrev opening obfuscated pbos? i tried to open obfuscated pbo with a bankrev and it did nothing, it just said that the pbo is obfuscated

elfin oxide
#

@grim geode yes it has been patched ๐Ÿ˜‰

grim geode
#

@elfin oxide wait, what was patched? bankrev? pboProject?

elfin oxide
#

bankrev does not effectifly extract a pbo packed with either makepbo or any other pbo packer in his tools

#

it does not work at all, or the results are 100% useless

kindred star
#

only obfuscated pbos or all pbos period?

orchid shadow
#

I depbo obsfucated pbos eveeeeeeeryday

elfin oxide
#

Your are such a gansta @orchid shadow

orchid shadow
#

i know righ

grim geode
#

wait didn't mikero threaten everyone with his tools because bankrev could open obfuscated pbos when it can't actually

south canopy
#

what does this mean > scanning cfgPatches ok ( altered )
when packing with pboProject

#

does that mean that pboproject is injecting something to cfgpatches?

limber garden
#

Potentially, it will also fill out units, weapons, and magazines if they aren't filled out

south canopy
#

I thought it was a feature of 'full' version or it just finds them and does not make actual edit... hmm must wait for build to finish to check the packed data

south canopy
#

indeed I had one leftover which did not exist and it was removed from units in cfgpatches so it does modify it

vague shard
#

@grim geode BI did their part finally

karmic niche
#

Wouldn't "doing their part" be unpacking all the pbos correctly instead of going "omg! this one is obfuscated! Not touching any of it!"?

orchid shadow
#

@karmic niche problem is that bankrev is old and would break.

#

@pliant storm its not really obsufcation anyway, just relies on windows/linux forbidden chars and etc.

karmic niche
#

@orchid shadow I understand that perfectly and my point still stands: BI should be praised for fixing bankrev (when it's finally fixed) so it doesn't break anymore, not for refusing to open some files!

orchid shadow
#

I dont get it.

orchid shadow
#

its pretty pointless, all it does is that you have to write code to handle it specifcly and that sucks

dim phoenix
#

hex editor

orchid shadow
#

or notepad

#

hue

karmic niche
#

@orchid shadow Not really sure what you don't get; it's pretty simple:
You said problem is that bankrev is old and would break. So... have the devs fix it so it doesn't break? Is this that much to ask? Not really sure why requesting software that works is surprising to you, unless I'm missing something.

orchid shadow
#

I don't get what you are getting at.

#

Eh.

karmic niche
#

Maybe it's the language barrier; nevermind.

pearl beacon
#

no there is no reason for BI devs to make BankRev read obfuscated PBOs

#

why would they support obfuscation in any way, why would they bother, they have no reason at all

grim geode
#

but didn't mikero state that bankrev CAN open obfuscated pbos so that was the reasoning behind his "i'll wreck your hdd" plan?

narrow bough
#

no, bankrev had an issue that could result in creating erroneous data and buggering up your hdd

#

and if you really want to know the ins and outs of it, contact mikero directly instead of making up your reasonings from hearsay

orchid shadow
#

the salt is real in here

karmic niche
#

Dammit, I really should find a way to mute the whole Arma Discord server while keeping this channel unmuted.

Mikero's PBOs will just create lots of files with stupid names and cause a minor nuisance. That's all. That was the hearsay part.

Now for the common sense part:

  1. You can't make Bankrev "wreck an hdd" without Administrator rights because that would be a major security fault in Windows (otherwise please report the bug to MS and collect your bug bounty!)
  2. Even with admin rights, you also can't do that by accessing the drive through the filesystem because that would be a major security flaw in the NTFS (again, if you think otherwise, go collect your bounty)
  3. So Bankrev would have to somehow access the drive directly, bypassing the FS, to just be able to be misguided by a PBO to do something really bad with the hdd, which it does not.

Seriously guys, if it's really an issue with a bad handling of unicode (or something like that), this will just result in files with stupid names.

pearl beacon
#

@karmic niche right click on each channel except this one and mute them

orchid shadow
#

If it the issue in bankrev is anything like the one i had when was working on my pbo parser with mikeros "obsfucation" it just genereates a infinite long file.

#

Its a pain

onyx lion
#

Usage:
------

P3D2BMP <object_name> [-Aazimut] [-Zzenit] [-Ssteps] [-Llevel] [-Ooutput] [-Bbasepath] [-Wwidth] [-hHeight] [-MmaskLevel[,maskColor]] [-p|r] [-i] [-g] [-c]

<object_name>    Name of P3D to convert into BMP preview
azimut           Azimut of object in degrees *optional* Default: 0.000
zenit            Zenit of object in degrees *optional* Default: 90.000
steps            Allows to generate bitmap with series sub-images
                 Model is rotated about Y axis and each angle is rendered
                 into image.
                 Parameter specifies number of steps (Default: 0 - no rotation)
level            LOD leve of object. Default is 0.0000
output           Pathname of output file. Default: same as object with .BMP
basepath         Specifies base path for textures.
                 If not specified, renderer will try to search some textures
with             Width of final image: Default 64.
height           Height of final image: Default 64.
maskLevel        Level for masking transparency - used with -p or -r
maskColor        Color for masking transparency - used with -r
                 Color used standard web-form withou # (ex. FFFF00 is yellow)
-p               Create paletted bitmap - index zero is transparent color
-r               Create standard 24 bit BMP with masked transparency
-i               Append EXIF. This block contains additional informations
                 about displayed object for calculations final size of bitmap
                 Data contains center of object X,Y,Z, and radius of bounding
                 circle (cylinder)
-g               Ground center - no vertical centering
-c               Creates spehere bounding instead cylinder```
#

is there anything meaningful to do with this BI tool at this point?

pliant lynx
#

doesnt the current mission editor have object preview images, I think it should work on Map Builder and X-Cam too but haven't tested. I faintly recall at least Map Builder using previews, but cant be sure.

#

some time ago I saw one terrain developer place object, take a screenshot and save it as preview image, for like dozens of vegetation objects, it was painful to watch ๐Ÿ˜ƒ

vague shard
#

yeah before the new screenshot scripting that tool might have been its use for such; as such i am asking if at this point there is still any

#

the various options could be useful - like to make a gallery of the various RES LOD stages

smoky halo
#

Has anyone bother to merge BIS malloc changes into tbbmalloc 2017 update 1 ? Got link to repo with changes?
Thanks

meager falcon
#

@vague shard is the syntax check for sqf lint activated by default?

vague shard
#

@meager falcon i have no idea what you are talking about or why you ping me ๐Ÿ˜ƒ

meager falcon
#

the SQF highlighting thing for VS CODE

#

I forgot to install the executable, howver, is there a way to get it to work on linux?

rough python
#

Hi ! I have a very annoying issue with bulldozer, I can't cycle through anims anymore (middlemouse button, backscape, enter, none works) - reinstalled A3 Tools/ reseted O2 in regedit. I have no more ideasI.. A3 Main profile erasing ? @smoky halo

vague shard
#

@flint owl what do you have planned? why as extension?

sick verge
elfin oxide
#

@vague shard well BE wont allow memory editing nor an extension

#

So this can only used with BE truned off

sick verge
#

But that's rather a disadvantage... Therefore the question stays whatfor he did it in the first place

vague shard
#

well its still fine for development. its just not clear to me what advantages it has, aside from using a different language than sqf for the dialog and parts of code logic
like there is several features from an IDE you would want to have in arma, yet i am not sure this is possible even with this approach

smoky halo
#

Weird don't see the purpose myself, except for a hobby project / testing stuff out.
Also looks like you are doing alot of callExtensions due to the diag_ticktime updating alot.

Don't forget arma now has 1-2ms overhead with each callExtension before your extension code even runs.

flint owl
#

Hey guys. It's mostly a test project. Not a programmer by trade. I wanted to try integrating UI with an extension. Currently codeperformance says each call is like 0.05ms per call. Right now I am calling it via script in a loop with uiSleep 0.01. My extension is threaded so that helps.

#

One benifit I though of was having the debug open when the in game one isn't available. Not sure if server has BE restrictions. Wouldn't make sense if it did. As a server host you should be able to do what you want. Basically this is only the starting point. To boot I wanted to make it just as good as the built in debug console. From there I want to add features like more watch fields, multiple exec fields, history, saving and loading exec code.

#

@Torndeco Just curious, what is the approval process for an extension? I was using your extDB2 client side with BE running. What's your source on that 1-2ms overheard. A plain extension that returns input returned in like 0.005ms average over 10000 runs with codePerformance.

smoky halo
#

1-2ms (might be some decimal point there can't remember) overhead is from arms checking time of how long extension is running. Noway to disable it. At best you can disable it logging to rpt
Confirmed by bi and decompiling arma

Send be an email to battleye to get your extension whitelist. You just need to it blocked by be and send them the filename. No need for source code etc.

flint owl
#

Okay, but is that overhead for every call or just the first one? 1-2ms sounds like a lot of overhead for every call.

As for BE in the email, do I have to send them a dll too? just a filename sounds way too easy to get around.

smoky halo
#

It's just filename, you can get whatever extension you like whitelisted. Don't even need to sign it

flint owl
#

So I could literaaly rename my extension to extDB2 and it would work?

#

not that I would do that to you, but as an example

smoky halo
#

No the client sends there servers a checksum

#

That's why you need to get it blocked first

flint owl
#

ok, so the filename is just a quick reference to the file in question.

karmic niche
#

That sounds strange that an anti-cheat author would whitelist a dll without looking at it, just because someone submits it.

flint owl
#

well, in all fairness it's better than what they had before

karmic niche
#

So my guess is that if they do that, then that blocked file is actually sent to BE servers for further manual analysis

#

(in case someone wants to whitelist it later)

smoky halo
#

Ahh yeah it was 0.001->0.002 ms overhead (went through some chat logs)

vague shard
#

for servers such console does indeed make sense. didnt think about that ๐Ÿ‘ผ

flint owl
#

Yeah, headless clients too and when tabbed out of game.

hexed gyro
#

Whats the point of Arma3P dePBO'ing everything to the P Drive? What does it facilitate?

timid vale
#

^^ letting you make use of A3 materials, animations, well everything in your addons ? Rather then "reinventing the wheel" and doubling up on... chrome.rvmat for instance

hexed gyro
#

I see. makes sense.

vague shard
#
Bohemia Interactive Forums

Feedback Tracker: Arma 3 Security - posted in BOHEMIA INTERACTIVE NEWS: Users of the official Feedback Tracker may have noticed some recent additions to the bug reporting site. Our QA heroes have now added two new projects: Arma 3 Security and DayZ Security. Naturally, well cover the part related to our project. Arma 3 Security is a new space used to report security issues (such as hacks, exploits and vulnerabilities) by our playe...

#

for some reason BI forgot to let us know about their bug and exploit bounties

smoky halo
#

I dont see any bounties by BIS

smoky halo
#

Feedback tracker, still isnt very user friendly to browse for existing issues imo.
Edit: Its just new sections to report bugs etc..
Also do they think people are going through the hassle to leave feedback ticket on a method to decrypt a ebo? weird

mint sand
#

Morning, in regards to the post that @vague shard linked. It has a part in it "Methods for decrypting EBO files". Wouldn't this suggest that we aren't allowed to open up EBOs then? Especially since we were having that conversation a while ago when someone claimed to have made a tool capable of encrypting and decrypting.

vague shard
#

surprise surprise

smoky halo
#

Are you being serious?

orchid shadow
#

Wew hard to answer that question.

mint sand
#

Genuinely, ahaha. Like I literally want 100% confirmation thats all, because I know last time it was brought up no one actually really commented on the legality of the issue.

#

Like people will assume things are fine / not fine all the time. It was just within my interest to double check.

#

I know its a pretty obvious answer, but I haven't had anyone else give a full confirmation, that was all. ๐Ÿ˜‰

smoky halo
#

did you ever think about what encryption is used for?

mint sand
#

Yes of course, stopping people getting into things you dont want their gubbie little hands in.

smoky halo
#

doesn't that answer your question?

mint sand
#

Not entirely, there are points in which data is encrypted however it doesnt necessarily mean you not "allowed" to peak into it

#

but judging from the conversation I will take it as a definite no. Thanks for your time

vague shard
#

depends on your local legislation and what you do specifically

sage zodiac
#

I am getting "mod content will not be updated" in Arma 3 Tool - STEAM Publisher. Anyone else get that? How to resolve it? Log shows nothing useful. It happens regardless of which computer I use.

smoky halo
#

Need to readd the mod folder again

sage zodiac
#

It hangs when I select the mod folder

#

Not that simple it seems

#

Happens the same regardless of which computer I use.

vague shard
#

contact Wizard from BI

#

create a FT ticket and send him the link in discord

sage zodiac
#

@vague shard Thanks

sage zodiac
#

The problem seems to have resolved itself.

smoky halo
#

@sage zodiac Unless you select the new mod content, the current content of the workshop item will remain the same as it was and only the metadata (name, visibility or tags) will change.

#

Oh, I've missed the it hangs ๐Ÿ˜ฆ It hangs indefinetely or crashes?

sage zodiac
#

@smoky halo It hanged. It never did that before. But I will tell you it still hangs but I am more patient now that we published ACEX. And through that patience I notice that after the initial hang of about 30-45 seconds which many times produces application "Not Reponding..." if I let it go it resolves itself and it works moving forward.

#

So it is no longer a problem at present. Just unexpected hanging behavior that I am not used to.

#

or I should probably say temporary hang

smoky halo
#

Hi. It hanged when the dialog opened or after you've confirmed it with selected folder?

sage zodiac
#

It hanged immediatly if I selected Add File or Add Folder. However if I used Select Mod Folder it opened the dialog immediately however, as soon as I changed to the first folder within that dialog then it temporarily hanged.

#

And I only used any of those 3 choices because it hanged on drag and drop files.

#

But just as I am trying to reproduce it today, although the hanging still happens, I have a new thought that might be causing the hang. And if true it has nothing to do specificially with Publisher.

#

The server I am using recently was connected to another server that is now decommissioned. Currently there is still a logical connection that I discovered I haven't disconnected yet. It is possible it is hanging because it is trying to make that connection to a non-existent server.

#

I will remove this obsolete logical connection and see if that is the cause.

#

Yep. I can no longer reproduce the hang now that the connection has been properly removed.

smoky halo
#

That was might though exactly.

#

๐Ÿ‘

sage zodiac
#

๐Ÿ‘

#

Thanks for the follow up.

manic hatch
#

Ok MikeroTools especially pboProject freaking me out, i was setup a $PBOPREFIX$ and all files in place, but every time i try to crunch it says, files missing which are still in the right place (Tripple Checked and Confirmed). So what should be wrong? Funny is, when i use / instead of \ it should work but as far as i know, this isn't right isn't it? (I use Windows)

vivid condor
#

probably missing in your temp directory

manic hatch
#

ok all files that are missing defined in the "CfgFunctions" Section and uses file = "\x\addons\dms";

#

alle files that should be missing are in place, but it looks like, PboProject don't understand file = "\x\addons\dms";

#

and search in the main Root instead

lament wing
#

Anyone know why when I use Addon Builder and I choose the binarize options the textures no longer appear in game but unbinarized they do?

limber garden
#

What do you have for the "list of files to copy directly"? .paa can't be binarized

lament wing
#

That field is left blank so I'm assuming if .paa can't be binarized then that's the problem. Will fix that and then report back. Thanks for that note.

#

That worked perfectly, just added the .cpp and .hpp files to that field and everything worked fine. Thanks again!

hallow rapids
#

@vague shard what do you use to extract stuff like this?

b:ARRAY inareaarray LOCATION
b:ARRAY inareaarray OBJECT
b:ARRAY inareaarray STRING```
#

๐Ÿ˜ƒ

sinful crescent
hallow rapids
#

ty ๐Ÿ˜ƒ

vague shard
#

together a CBA function one can have the output as a list

floral skiff
#

does lord mikero ever come in here?

hallow rapids
#

he used to but I haven't seen him in a while after some semi-drama ๐Ÿ˜›

vague shard
#

@floral skiff what do you need?

floral skiff
#

nothinkg much @vague shard i was just wondering

#

just got the paid tools and am happy so was gonna say thanks if he was around

vague shard
#

if you are a map designer, join the skype group chat

floral skiff
#

thought that thing was bust in favor of this place

#

how do i join that?

clever grail
#

@manic hatch You fix that problem " file missing " , im getting it now even the config.cpp is there

manic hatch
#

@clever grail nope i wasn't able to fix it, so i was use AddonBuilder from BI to pack the PBO instead of using pboProject.

clever grail
#

@manic hatch i did but roads dont pack with addonbuilder.

manic hatch
#

ok i think only mikero can give us a hint, what's going wrong

clever grail
#

problem; addon builder

clever grail
toxic relic
#

@whole hill - talk to @dapper pivot directly ๐Ÿ˜ƒ

whole hill
#

ah cheers, was struggling to figure out how to use the direct ID anyway

toxic relic
#

thought so

whole hill
#

So I tried your SP2 arma 3 shader, and I get these errors in the log:

[GenericMaterial] arma3apex_wip_10_11_2016.glsl:173 | ERROR: 3:173: error(#206) Assigning non-constant to: const highp 3-component vector of vec3
[GenericMaterial] arma3apex_wip_10_11_2016.glsl:174 | ERROR: 3:174: error(#206) Assigning non-constant to: const highp 3-component vector of vec3
[GenericMaterial] arma3apex_wip_10_11_2016.glsl:180 | ERROR: 3:180: error(#206) Assigning non-constant to: const highp 3-component vector of vec3
[GenericMaterial] arma3apex_wip_10_11_2016.glsl:277 | ERROR: 3:277: error(#206) Assigning non-constant to: const highp float
[GenericMaterial] ERROR: error(#273) 4 compilation errors.  No code generated``` Thoughts you might want to know (amd r9 380, sp 2.4.1 steam)
dapper pivot
#

@whole hill Thanks, seems to be differences between nVidia and AMD drivers when it comes to shaders, I'll do up a new version soon.

grim geode
#

any official tools can create mission pbo from a folder?

hallow rapids
#

yes, the editor ๐Ÿ˜›

grim geode
#

well apart from that

#

-_-

hallow rapids
#

in the end it's just a PBO like an addon PBO so Addon Builder should work?

grim geode
#

it doesn't for some reason

hallow rapids
#

it doesn't how? No PBO? Error? Non working PBO?

#

in any case, try mikero's tools

#

it is possible to create mission PBO's outside the editor so it's not that

grim geode
#

yeah mikero tools can do that, but i wanna use arma 3 tools for that

#

yeah, addon maker errors out for some reason

#

even with -packonly flag

elfin oxide
#

The official tool to pack pbos is fileBank

hallow rapids
#

fileBank it is, I guess that Addon Builder requires some addon specific stuff

grim geode
#

filebank is nowhere to be found in arma 3 tools on steam

#

it's probably somewhere in the arma 2 tools on biki

hallow rapids
modest hatch
#

heya, I am currently trying to run addonpacker via commandline, and it seems to have issues with includes, even though it does have -project=p: defined. Anyone got any ideas? Also tried -project=p:\

modest hatch
#

Turns out addonbuilder is hardcoded to use the exclude.lst from the filebank location. :/

#

and behaves different between GUI and command-line usage. ๐Ÿ˜ฆ
perhaps it runs cfgConvert differently from the GUI version?

hallow rapids
grim geode
#

oh wait so it is filebank

#

for some reason i missed it

#

thanks

eternal falcon
#

Sup! Anoyone knows how Samatra's SQF encoding works? Probably is a trade secret but I'd love to know, is he just screwing with UTF enconding or making some precompiled werid code?

hallow rapids
#

I haven't ever seen @wary verge's code but it's probably "just" obfuscated, e.g. unreadable variables and stuff

#

there used to be a couple of tools that did that but can't remember which ones

#

also Mikero's tools (pboProject I think) has an option for mission obfuscation

eternal falcon
#

Hmm... Okay, thanks!

west scaffold
#

Ask here since theres no better place, but anyone got an idea how to make poseidon (sublime text 2) to use a different theme than the standard one? I try changing to bis default, but it always changes back :(>

shrewd osprey
#

ST3 has an arma syntax plugin updated pretty often

#

you also have a plugin to open the last RPT or build your current project (if using CBA/ACE3 python scripts)

pearl beacon
#

thanks for advertising my packages

smoky halo
#

"to make sure proper extensions are launched along with the game."
Someone know how this will work ? Latest sitrep regarding 64bit & arma launcher

hallow rapids
#

I guess it checks whether the dll is compiled as 32bit or 64bit?

smoky halo
#

Nah that makes no sense since callExtension is done via filename & will just silently not load the extension.

hallow rapids
#

hmm that's true

smoky halo
#

So no need to check beforehand and even if it detects wrong type what would it do.
Guessing its just talking about 32/64bit arma binaries and its own dlls etc

hallow rapids
#

perhaps they'll enforce filenames like someextension.x86.dll and someextension.x64.dll

#

BI doesn't use the term "extensions" for their addons/dlc stuff right?

smoky halo
#

That would actually be nice & fallback to someextension.dll for backwards compatiablity

hallow rapids
#

it's probably the easiest, just append the arch type in the stuff behind callExtension

#

guess we'll see soon enough ๐Ÿ˜ƒ

scenic berry
#

sqf command to get the arch could work too

hallow rapids
#

wouldn't make sense tbh, only the engine has to know about the arch

#

"someextension" callExtension "stuff"; vs format["someextension.%1", getArch] callExtension "stuff";

#

I can't think of a reason why you would want to know the architecture type on the SQF side of things ๐Ÿ˜›

karmic niche
#

Also by doing format && getArch, you're losing precious nanoseconds

#

Which might come as a joke until you find people that heavily rely on calling their extensions over and over again ๐Ÿ˜‰

pearl beacon
#

I bet it's just for their own DLLs

#

why wouldn't 32-bit mod extensions wouldn't work on a 64-bit game binary anyways?

karmic niche
pearl beacon
#

uhm

#

that post doesn't say "impossible" anywhere

karmic niche
#

And anyway, if I have the possibility to create a 64bit extension that uses 12GB of ram (no idea how I would use this memory, actually) why couldn't I do so?

pearl beacon
#

you could sure

karmic niche
#

You can't execute the code

#

aka "impossible" ๐Ÿ˜ƒ

pearl beacon
#

what about the second paragraph?

sinful crescent
#

as fallback for 32-bit extensions on 64-bit arma they could just start a 32-bit subprocess and load the library there - and communicate with ipc

karmic niche
#

Okay... I might have skimmed too much the answer I have linked to, hmm... ๐Ÿ˜ƒ

pearl beacon
#

but yes I see, informative post linked there, still not impossible though ๐Ÿ˜„

#

I do hope they do something like that

#

though I guess every modder that does extensions could compile it into x64, it's not something you might want to do just to keep compatibility

karmic niche
#

I'd rather have them implement it right, instead of relying on workarounds ๐Ÿ˜‰

#

Actually, this might not be that obvious: some people might depend on some libraries that do not exist as 64bit versions and cannot be compiled because the source is unavailable(?)

pearl beacon
#

correct

#

but the SITREP is about BI DLLs probably anyways

karmic niche
#

Depends on how you understand the phrase and has to make sure proper extensions are launched along with the game.

pearl beacon
#

but mod extensions are not read until called

karmic niche
#

True

#

Anyway, the best scenario (from the modders' point of view) would be to first try to load the mymod.x64.dll, and then to try mymod.dll by using some magic, if the former fails.

#

And then let the porting guys figure out how to port all of that to Linux ๐Ÿ˜„

smoky halo
#

The DLLs with game extensions will have to follow specific name convention (myExtensionName.dll for 32-bit, myExtensionName_x64.dll for 64-bit), the game will load it automatically. This convention will be enforced by the game, Launcher and Publisher; also Launcher and Publisher will check the actuall bitness of DLLs.

#

Not sure why the launcher / publisher needs to enforce this aswell.
Since the extension just won't load.

What happens if an extension loads another dll or is dynamically linked ?
Is the launcher / publisher going to enforce naming convention aswell on all the dlls contained in the addon

#

Well, if someone decides to load 64-bit DLL from 32-bit DLL dynamically, the it his fatal error which we can't enforce.

#

But obviosly, it won't work.

#

For example

foo_x64.dll is manually / deferred loading another dll from the addon directory
Will the launcher / publisher enforce the _x64 on all the dlls

#

The tools with force naming convention on all DLLs in the mod folder.

#

So as far as the DLLs are in the mod folder, it will be enforced.

#

Shrugs seems completely unnecassy / hacky for the publisher/launcher to enforce the naming scheme.
Once its done via callExtension, leave it to the developer of the extension to make sure its named correctly

#

Anyway thanks for info

#

In Publisher it serves to warn the uploader, and also the required bitness is stored in metadata; the mods will be automatically tagged accordingly.

#

We have the naming convetion to make it easy to spot the supported game version, just from the file names. It's not really necessary , but it has some advanteges. And the bitness detection has to be done anyway by the tools.

#

If the tool detects wrong bitness then the developer did zero test before upload.
Anyway i am sure this is set in stone already.

#

"If the tool detects wrong bitness then the developer did zero test before upload." Unfortunatelly, there are such uploaders ๐Ÿ˜ฆ

#

One interesting piece of information: at the moment in Publisher, if there are both 32-bit and 64-bit DLLs, they are expected to match 1:1 (for each mod.dll there is expected to be mod_x64.dll), for Publisher to accept it as 64-bit mod and mark it accordingly.

#

I have different words to describe that ;P

scenic berry
#

would anyone actually run 32bit client if given a choice?

smoky halo
#

It will depend on a) stability of the build and b) compatibility with mods

smoky halo
#

32 bit might very well take up a lot less RAM without any drawbacks and would be a lot more compatible if people are still running older Windows versions.

hallow rapids
#

yay I was right ๐Ÿ˜

#

@smoky halo it probably also warns the user that X mod doesn't have a compatible DLL for whatever version he's trying to launch

#

which is good

smoky halo
#

Its pointless imo
Battleye randomly will block extensions anyway, when it cant contact master server
Either way you need to code your addon to work when the extension cant load or is blocked (or at the very least inform the user)

#

So if you are using offical tools
You are required to compile 32bit & 64bit dlls.
Which will get annoying if you are statically linking 3rd party dlls etc.
Its basically extra work that someone may not wanna do

Hell i was hoping on avoiding doing 32bit extensions once 64bit is stable.

hallow rapids
#

well, once it is stable people will probably avoid the 32bit version anyway (if they don't rely on unmaintained mods that use extensions). Then you can just no longer support 32bit ๐Ÿ˜›

#

I doubt there are many systems that can run A3 and are not 64bit capable

smoky halo
#

Read above publisher wont flag the addon as 64bit.
Unless there is a 32bit dll foreach 64bit dll.
I basically dislike the fact launcher/publisher is going to enforce it

#

Anyway just my feedback. Think i will just resort to putting dummy 32bit dlls to workaround it

hallow rapids
#

from what I've read it won't flag as 64bit when the 32 and 64 bit DLLs don't match 1:1. Not when one is missing?

#

I guess it depends on how one reads it ^^

#

@smoky halo? ๐Ÿ˜ƒ

smoky halo
#

If there are only 64-bit DLLs, then 32-bit libs are not required. But if you have both, then 1:1 is enforced.

hallow rapids
#

๐Ÿ‘

#

crisis averted

pearl beacon
#

not sure if it was mentioned, so for 64-bit game you'll need 64-bit mod DLLs?

#

otherwise the extension won't work?

hallow rapids
#

yes 32bit and 64bit aren't compatible

smoky halo
#

@pearl beacon : yes, that how DLLs works - the DLL bitness has to match the bitness of the program

pearl beacon
#

someone mentioned a subprocess that would allow compatibility with 32-bit DLLs, is anything like that possible?

smoky halo
#

Ok that is abit better.
I still think you guys are crazy for enforcing stuff via publisher/launcher.

#

No please no more overhead to extensions. Just let the developers recompile for 64bit

#

@smoky halo Well, I still don't see where you problem is.

#

@pearl beacon Too much trouble, too little gain (is not as realiable as simply recompiling for x64)

pearl beacon
#

I am not saying this as "it should be done" @smoky halo, simply asking if it's even possible

#

I see, thanks for the answers

smoky halo
#

@smoky halo
I was considering using deferred loading dll for some projects.
With 3rd party dll i can't statically link against.
Its just annoying i having to rename dlls for no real reason.
When its only callExtension that should care about the filename imo

pearl beacon
#

If there are only 64-bit DLLs, then 32-bit libs are not required.
that goes if you use 64-bit game I guess, if you use 32-bit game (for whatever reasons) 32-bit DLL is still required, right?

smoky halo
#

"deferred loading of 3rd party dlls" I understand the issue, that one is still on the table. It's still possible we will relax or drop the 1:1 rule. But personally I go from creating the hard rules to removing them, if they cause pain, not the other way around.

pearl beacon
#

I assume same goes for Server as well? or will server stay 32-bit?

hallow rapids
#

I think it's safe to say that the server binaries will follow

vague shard
#
Bohemia Interactive Forums

Page 4 of 4 - Arma Intellij Plugin - Smart Editing for Header and SQF Files - posted in ARMA 3 - COMMUNITY MADE UTILITIES: Hey everyone. I decided to upload the plugin to Jetbrains plugin repository. What does this mean? Now you will be able to update the plugin inside IntelliJ without needing to visit the GitHub releases page (a notification will tell you there there are plugin updates available). You can also install the plugin by going to the IntelliJ plugins settings, and clicking Brow...

eternal falcon
#

That x64 stuff looks really cool ๐Ÿ˜„ ๐Ÿ˜„ ๐Ÿ˜„

#

And omg, recompiling x32 to x64 isn't that complicated man... Makefile power (yeah, you'll have to spend some time every once in a while modifing it), but it's completely worth it if you get the x64 package

pearl beacon
#

you don't even have to spend more time, why?

#

you still code in the same thing, just compile with different set

fallen stone
#

What if your libraries are exclusively 32bit

#

Gonna' take a whole lot longer

#

But, it is 2016.. ๐Ÿค”

smoky halo
#

Not really, just annoying if you support 64bit & 32bit libraries.
Its really not bad if you can static link the libraries etc

fallen stone
#

Was aiming at the libraries that don't support 64 bit

#

But those times have passed I think

pearl beacon
#

^ pretty much

vague shard
#

SQFLint - Syntax error checker CLI

New release, v0.6.0, mainly fixing the parser:

  • Updated way code is parsed, enabling more complex analytics
  • Added option to check paths used in execVM ( -cp, -r )
  • Added option to treat warnings as errors
  • Added option to exit with ERR(1), when error is encountered
  • Variable declaration is now correctly recognized in params and for
  • Blocks not ending with semicolon are now correctly accepted
  • Fixed string quotes not being handled properly
  • Fixed token errors not being handled properly and leaking to stderr
  • Fixed JSON flag being ignored in some cases

https://forums.bistudio.com/topic/194417-sqflint-syntax-error-checker-cli/#entry3121954

Bohemia Interactive Forums

SQFLint - Syntax error checker CLI - posted in ARMA 3 - COMMUNITY MADE UTILITIES: LintSummary SQFLint is command line tool, that checks specified files for syntax errors. It can output those errors in human readable format, or JSON for some futher processing. Homepage: http://sqflint.zipek.cz/ Releases: https://github.com/S...qflint/releasesGithub: https://github.com/SkaceKamen/sqflint (extension moved to separate thread) Changelog You can find changelog...

#
Bohemia Interactive Forums

SQFLint for Visual Studio Code - posted in ARMA 3 - COMMUNITY MADE UTILITIES: LintSummary Extension for Visual Studio Code, that does some syntax error checking, variable existence checking and more.( Its now completely separated from sqflint CLI tool, with many other features, so I decided to make separate thread for it. ) Homepage: http://sqflint.zipek.cz/VSCode Market: https://marketplace....ekachna.sqflintGithub: https://github.com/S.../vscode-sqflint NOTE: Works best with...

swift burrow
#

Is there any example output from sqflint?

dapper pivot
#

SQFLint's grammar is pretty wrong.

hallow rapids
#

Good enough โ„ข

#

I think, haven't actually used it ๐Ÿ˜›

smoky halo
#

Small update: the 1:1 rule for 32 bit and 64 bit DLLs is limited only to DLLs with the engine extension. Other DLLs are ignored by the tools.

pearl beacon
#

engine extensions - so basically vanilla DLLs?

smoky halo
#

@pearl beacon What is "vanilla" DLL?

#

"DLL with the engine extension" => DLL that exports "RVExtension" function

pearl beacon
#

aah, I totally forgot about that

#

๐Ÿ‘

ornate wasp
rotund rampart
#

Nice @ornate wasp

#

Maybe I can finally dump atom and sublime text

vague shard
#

@Armitxes#7219 you should also link your BIF thread ๐Ÿ˜ƒ

rotund rampart
pliant lynx
#

are there any tool/regexp etc solutions to clear arma3 RPT file of all the default lines which are not caused by your custom addon?

#

I've only started to learn about the RPT (I mean arma3 rpt), looks like after the line SimulWeather my own addon issues begin.

pearl beacon
#

it's not that simple

vague shard
#

i post mine later

elfin oxide
vague shard
#

well rpt is still essential for all types of modding

#

for custom logs, your extension, or other means are certainly way better

elfin oxide
#

Personally, i never had the need for the rpt log, and they get deleted every time i start arma.

#

Times i had to look for 1 line, in 10000000000 object not found, strange convex shape in xyz etc

#

I would rather not work with arma anymore than using rpts for my personal projects ๐Ÿ˜‰

#

But @pliant lynx, if you search for "error in" in your rpt log, you will most likely find only your errors

#

If you diag_log information into the rpt, consider not using the rpt at all ๐Ÿ™ƒ

pearl beacon
#

that's why there are so many mods with tons of errors out there

#

checking RPT when developing a mod or a script is essential to keep it performant and error-less

dim phoenix
#

Personally, i never had the need for the rpt log, and they get deleted every time i start arma.
O_o

pearl beacon
#

completely off question, but why not just run -noLogs then?

#

btw, this is a perfect example of people finding bugs and not be able to report them effectively with any mod

dim phoenix
#

meh. for custom logging you can for sure use this. but you need to check the RPTs anyway. enough broken mods out there already

pearl beacon
#

and you really shouldn't be printing 1000 lines like in the example of A3Log ๐Ÿ˜„

#

not for a production mod at least

#

I can see it being useful for development though, but as commy said, still need to check RPT either way

elfin oxide
#

๐Ÿ˜ฆ Why not 1000 lines? Why not 9001 lines? ๐Ÿ˜ฆ

#

and -nologs is too op

pearl beacon
#

because in a released mod, if something logs that much it's waste log, like many lines of vanilla log

dim phoenix
#

and you really shouldn't be printing 1000 lines
You never tried medical-rewrite I see

pearl beacon
#

that's not production ๐Ÿ˜›

dawn palm
#

in the past, the rpt was the holy grail. no errors OR warnings of any kind were acceptable. It was your last line of defense against a broken mod. but bis, in their wisdom, now fill it with so much crap that it's almost undreadable, and they themselves ignore v simple errors they've made i their configs.

#

not one word of above changes the fact that no errors OR warnings of any kind being produced by YOUR mod are acceptable.

#

bis can, and mostly do, break anything, and everything. You, cannot.

pearl beacon
#

shouldn't*

dawn palm
#

fair enough. But if the rpt mentions your config.cpp in any way at all, you have an always serious screw up that at best, only affects your mod. If you ignore that, i have no sympathy with 'why doesn't it work'

pearl beacon
#

of course, I totally agree with that

#

problem is things that RPT reports (eg. UBC warnings) can totally wreck other mods too

dawn palm
#

i'm not aware of UBC, but believe you. I have a very simple grep for reading rpt. I search on any reference to \my\current\pbo

#

and i have an equally straightforward response to mods that wreck my mod ๐Ÿ˜Ž

onyx lion
#

these are the regex i use

#

i asked mikero if he would be interested to make a tool to make this available to others, yet unfortunately he wasnt

pliant lynx
#

thanks.

#

hmm odd, when I copy paste that to editpadpro it says there are some characters that cant be represented.

#

its on the 5th line, somewhere ๐Ÿ˜ƒ

onyx lion
pliant lynx
#

ah, thank you.

nocturne basin
#

anyone has any idea how i can extract the data out of arma texture files?
only the actual image is needed, no styling etc.

smoky halo
#

styling?

#

i am not sure what you want exactly

nocturne basin
#

just the raw image data

#

no materials etc. applied

#

first layer image

#

need to load it into a tool

#

simplified: getting image data out of a paa file

#

in the end, RGBA byte array needs to be generated for further processing

smoky halo
#

ah you want the pixels from a DXT5 image for example

#

I think I still have C# code for that

wide cedar
#

there's an armake branch for that

hallow rapids
#

@smoky halo are there any known issues with the 64-bit stuff and C#/.NET DLLs?

#

supposedly it's not "finding" the _x64.dll

smoky halo
hallow rapids
#

probably! Thanks ๐Ÿ˜ƒ

karmic niche
#

@hallow rapids also make sure the _x64.dll can be correctly loaded if it has some dependencies itself. You can use Dependency Walker for that

#

I've just spent an hour debugging why my python extension wasn't working only to find out that the _x64.dll was trying to load a 32bit python35.dll (probably due to it being first in the path), was failing to do so and so couldn't be loaded by Arma.

hallow rapids
#

yeah already fixed with the fix from @smoky halo ๐Ÿ˜ƒ

karmic niche
#

Cool!

hallow rapids
#

Dear @dawn palm, any ideas why DeWrp.exe crashes when launching it through C#/.NET Process.start() on Win 7 but not on Win 10?

dawn palm
#

none i have no exprience of dotNet or it's wrappers

hallow rapids
#

alright, well I made a small program that runs DeWrp with Process.start() and that didn't crash on Win 7

#

must be something related to Arma and how it loads DLLs

#

thanks anyway ๐Ÿ˜ƒ

dawn palm
#

neither arma nor it's dll's have any part to play in this. If it helps, all my code is 64 bit (unless yr running special versions of Linux, which is also irrelevant)

hallow rapids
#

no I meant that for ALiVE we have a C#/.NET extension that runs DeWrp for the map indexing process

dawn palm
#

klever

lofty parrot
#

@dawn palm I reinstalled Arma 3 tools cause your tools wouldn't let me open any of the A3 tools stuff and on doing so it deleted all my mods from the P drive. Do you know of this happening or any way to recover said mods?

#

Pain in the ass cause now I have to do like 5 months worth of work all over again

pliant lynx
#

how did you install P: drive, from the arma3 steam tools menu?

#

just thinking maybe the steam tools only subst /d the drive instead of really deleting, so where was the source for P: subst. might be worth to search there.

lofty parrot
#

Well I couldn't access anything from Mikeros stuff, so I decided to re-install tools, which fixed it, but deleted everything from the P drive

#

Fuck knows how it works but it happened

south canopy
#

P drive got probably just dismounted, check on your PC for locations where your project might be

#

examples > D:\ArmaWork or C:\Users\**YOU**\Documents\Arma 3 Projects

lofty parrot
#

I'll try remount P drive see if that does anything

#

But I dont have any of those files you mentioned

#

Well I mounted P drive now I don't have it at all now haha

#

Now it wants me to delete Arma to have a P drive haha

#

fuck me dead this is dumb

south canopy
#

P drive

#

is a virtual drive mounted from a physical location on your system, or from a folder

#

folder cant be deleted unless you delete it on your own, at least I havent seen such thing hapening so far

#

dismounting a virtual drive wont and cant delete your folder

#

just figure out which folder that is on your PC

#

some scripts inside BI tools might be able to clear your P drive and perhaps a folder aswell but it sure has a warning, asking you if you want to do this

smoky halo
#

i'm pretty sure you had your pdrive pointing to the arma3tools directory before (which is bad) and BI changed that now so they don't allow you to do so.
take a look into the A3tools directory and hope the tool reinstall did not whipe that dir

lofty parrot
#

It mounted to my A3 directory this time for some reason

#

It was originally on my actual P drive

#

Dont worry about it lads I'll just start again

#

Now I gotta try get this fuckin P drive on the actual P drive and not somewhere elssde

dawn palm
#

i've no idea why my name was even mentioned.

wind elm
#

You are the most famous Goat in here?

pearl beacon
#

well someone has a problem if 5 months of work was sitting at just ONE single location ๐Ÿ˜›

#

and entirely owner's own fault

dawn palm
#

not, according to the owner ๐Ÿ˜Ž

#

i've been blamed, steam tools have been blamed,. i think the game itself has been blamed, the p drive has been blamed......

pearl beacon
#

Yes, we all see who's been blamed, while it could be possible, the cause above that is still keeping all work on single place, no backup, upstream repo... etc, yeah, should rethink one's life :d

south canopy
#

@lofty parrot wait, you have actual P drive on your HDD, as in partition P ?

#

๐Ÿคฃ no wonder its failing

#

change that to something else, dont name it P, you can do that in the drive management console in windows

#

Win + R > type in diskmgmt.msc > right click on your P drive partition > Change Label and drive paths, the rest is self explanatory

#

Dont do that with BI "P" virtual drive mounted

#

If you have any programs installed there or games, dont do it, move or reinstall programs to other drive before you change paths

dawn palm
#

i'm guessing what actually happened was bis tools told him they no longer support tools AND projects on the virtual drive. So, he deleted P so that it wouldn't give him that annoying message ๐Ÿ˜Ž

orchid shadow
#

PEBCAK

lofty parrot
#

@south canopy @dawn palm haha this is so hard to explain. The P drive was mounted prior, all working perfectly fine, however I couldn't open Arma 3 tools ever since installed the latest Mikeros tools, so after a while of not being able to open anything I decided to re-install tools, of which doing so it deleted everything off my already mounted P drive.

#

Don't worry about it now anyway, I managed to recover some bits and pieces I had lying around, not much though.

dawn palm
#

The only steam tool i cripple is bis binarise. Other than that, my tools don't even know where they are installed nor do they interact with them in any way. (I also remove buldozer from the p drive). in theory your files are still there wherever your OLD p drive was told to look. quite possiblye in the steam armatools folder which is now (more or less) verboten.

native kiln
#

Verboten lol

south canopy
#

@smoky halo your ODOLWebConverter converter needs an update, throws unknown version error ( update to v73 odol ) just a heads up

lofty parrot
#

Anyone care to explain to me what this means? @dawn palm

#

#uninclude
Truncated file. Missing one or more};. Error starts near token 'CfgEditorSubcategories' :
In File 160th_MEU\config.cpp: Line 8 EOF encountered

#

thing being I don't even have 'CfgEditorSubcategories' in my config

#

But if I put it in it says it cannot pack

south canopy
#

check #include "\somewhere\something.hpp" in your config, it sounds like you are trying to include something that you dont know of...

lofty parrot
#

I've looked in all the other configs and theres nothing out of place, it was packing earlier today, but I decided to slit up the config for a clearer look now it says this

#

split*

#

Well I think I fixed it.. semi colon in the weapons config

dawn palm
#

dep3d now produces 'origami' (paper) mlods from odols. They have no value for the thieves, They should prove useful/instructive for everone else.

vague shard
#

๐Ÿ‘

pliant lynx
#

been meaning to do that with qt for so long already, but I always seem to have more important arma/etc projects going on.

thin rose
#

Lol, I'm waiting for Planned Assault to be resurrected

south canopy
#

@dawn palm shweet! Now if I only had some fresh carrots for your goats... any chance to make dep3d public?

dawn palm
#

if ppl using the current set of freebies dont' see how valuable they are, then throwing more jewels at them is pointless. The subscribers i have, put back as much as they take out of the community, i have no interest anymore doing anything for the leeches. A noob on the other hand is no leech, the poor bastard has to start somewhere, so i provide him with a quality toolset to get started. After that, he makes the choices.

hallow rapids
#

@dawn palm care to provide an example of dep3d's 'origami' output? I'm kind of interested in it if it provides the sort of output I hope it does

#

I'm no modeler so I'm not sure what to expect. I do have a specific use case for "previewing" p3ds outside the engine

dawn palm
#

the point behind it is to give model makers (including bis) the opportunity to protect their pbos but at the same time provide origami for map makers so that they can use the author's models in new maps. It's a win-win for both parties.

smoky halo
#

do you just replace the texture?

dawn palm
#

no geolod=reslod 1.0

#

no textures. no shadowlods, no materials. nothing that a thief can make use of.

#

but the origami looks behaves and rotates the same as any other object in xcam/mapbuilder T/B and 'buldozer'. And, contains the critical info necessary for baking into a wrp (land class, bounding box, blah blah)

hallow rapids
#

thanks a lot ๐Ÿ˜ƒ I don't think it fits my use case though ๐Ÿ™

dawn palm
hallow rapids
#

I am kind of but need an out of engine solution

#

if only the screenshot command would work with a headless A3 instance

smoky halo
#

nice mike

dawn palm
#

it's not really viable because p3ds contain paa's which are unique to bis. they can be rendered if someone went to the effort, but urrrrrrrrrrgh.

#

coming from you Tim, that's high praise indeed.

#

.....and the problem Marcel, with 'outside packages' is the moment bis move goalposts, that package is screwed

hallow rapids
#

very true

#

the only solution so far is to run an AWS EC2 GPU instance on demand but that could result in costs I'm not willing to cover yet.. ^^

south canopy
#

leeches

#

what did I just read

hallow rapids
#

leeches -> A3: Life kind of people ^^

smoky halo
#

you just need pictures of a model?

south canopy
#

the @smoky halo 's web tool did fine for what I needed, but it stopped working

hallow rapids
#

@smoky halo perhaps, I/people need to be able to identify the object and categorize it accordingly

south canopy
#

needs update for new p3d version

smoky halo
#

I might update it if I feel to ^^

south canopy
#

you dont mind leeches ๐Ÿ˜›

smoky halo
#

what you do with it?

south canopy
#

just inspect selections and how are things done by BI for this and that

#

so education might say

smoky halo
#

perfect ๐Ÿ˜ƒ

#

@hallow rapids you want to do crowd data creation?

south canopy
#

the mesh itself is useless anyways and I wouldnt unbin BI models and use them, but I see how someone else might exploit it so file limit is perfect

#

ah and a note, please dont remove LODs having them all is valuable, at least for me, just geo lod is useless

hallow rapids
#

@smoky halo yes, kind of. I'm planning to do a web based object categorization app for ALiVE's map indexing and the ultimate goal is to move the entire indexing process from the client to a server

smoky halo
#

@south canopy do I remove LODs?

south canopy
#

nah but I see mikero said something about geo lod being included and nothing else, not sure if I got that right

smoky halo
#

yeah he does it for a very special purpose

dawn palm
south canopy
#

I do those in 512x256px and convert ot paa, engine does the rest

dawn palm
#

editorpreview= needs\a\jpg ; // afaik

south canopy
#

paa works for me in mentioned res

#

engine downscales it to needed res

dawn palm
#

one problem solved ๐Ÿ‘Œ

south canopy
#

but a tool for exporting those would be very valuable, current system is clunky and tedious... I go to facepalm mode evertyime I need to make those

dawn palm
#

haaaaaaaaaaaaaaaa

#

auto shrink-to-fit should be a no brainer too.

hallow rapids
#

my process would be to spawn an object and move the camera around it in 360 degrees (or just rotate the obj) and take a screenshot at all camera points to generate a 360 image ๐Ÿ˜ƒ

#

if only I could just load the model in a headless renderer and render to image โค

#

or even load the model into a browser renderer to just render the model in browser ๐Ÿ˜ฎ

dawn palm
#

few will thank you marcel for slugging their pc with the need to rotate hnudreds of 3d objects in an html table.

south canopy
#

ah to add something spicy for the tool, make it support weapons too... and figure out ho to make previews for mines, since now it wont work for them

hallow rapids
#

@dawn palm it won't be a config browser type of thing, single page single model ๐Ÿ˜

south canopy
#

actually for mine, it would need to render magazine then..

dawn palm
#

yep

dawn palm
#

tools update for subscribers:
significant improvement to rvmat extraction in baked in p3ds
arma3p updated for win10 compatibilty
fixes for addons within addons when making pbos
general improvements to the dll including multi instance/ multi session operation

hallow rapids
#

hey @dawn palm, what's the state of the Linux tools? Are they good (enough) and supported?

dawn palm
#

the dos tools are variants of the linux versions not the other way round. the 'proper' question is if the dos variants are supported or good enough.

#

if you were using the penguin, i don't think you'd be asking the question.

#

killswitch maintains the linux code, has done for years now, and corrects my frequent mistakes.

hallow rapids
#

I haven't used the Linux versions but I'm thinking about moving back to a Linux flavor

#

getting back in to A3 made me move back to Windows but the ports seems to be creeping closer and closer to the Windows builds ๐Ÿ˜ƒ

#

thanks though, 1 less thing to worry about ๐Ÿ˜ƒ

pliant lynx
#

@surreal wolf is a pro, you can trust his ports.

sick verge
#

@hallow rapids but be aware of the fact that the linux ports of A3 have a worse performance (like really worse) than the windows build. I read it can get up to 30% less performance compared to the windows build.
Trust me I'm experienceing it myself: With my old windows laptop it was no problem running A3 in the background while editing scripts and stuff like that but with my new linux laptop (although it actually has slightly better hardware) almost everything lags around when having A3 opened in the background. Zhere are no major issues when being in the game itself though...

hallow rapids
#

thanks for the heads up, my hardware should be able to handle it well enough

pliant lynx
#

hmm

glad mesa
#

๐Ÿ‘€

smoky halo
#

directly read from pbos

glad mesa
#

๐Ÿ‘

vague shard
#

T_D's been busy ๐Ÿ˜ฎ

#

@smoky halo a local tool or for your webservice?

smoky halo
#

local wpf app

vague shard
#

neat ๐Ÿ˜ƒ can to share more details at this point?

smoky halo
#

well, it's super early stage, but I read all available pbos basically like ArmA does and list all available file entries on the left. paas and pp3ds are displayed when selected

narrow bough
#

neat,. thats like a real-time asset browser

smoky halo
#

yup

pliant lynx
#

ODOL Explorer 2017

smoky halo
#

yeah maybe

#

still pretty basic. just renders textures and ignores materials

pliant lynx
#

could you please add feature to show point/section count?

smoky halo
#

but already lokks neat

#

that would be the easieast thing

pliant lynx
#

it would be very useful to have some insight how (badly un)optimized community addons are.

#

also would you be interested of including some WRP specs too (assuming it doesnt already do that heh)?

smoky halo
#

very possible

pearl beacon
#

any plans of displaying animations as well?

smoky halo
#

there are a lot of ideas ^^

#

including anims yeah

pearl beacon
#

all the ideas, never enough time eh

smoky halo
#

aye

glad mesa
#

give us all the stuffs, now! @smoky halo looks promising man. im sure you have a long list of things to do, certainly interested in progress as it comes. ๐Ÿ‘

hallow rapids
#

now that's pretty close to what I was looking for ๐Ÿ˜›

#

if it could render to PNG (or whatever) and didn't rely on .NET/WPF ^^

#

or run through mono

smoky halo
#

you heard of .Net Core?

hallow rapids
#

yeah

smoky halo
#

wouldnt that be better than Mono?

hallow rapids
#

not sure, mono is compatible with "normal" .NET but .NET Core isn't fully compatible with "normal" .NET

#

at least that's what I've been told by someone porting my battleye lib to .NET Core

#

mono has a bigger scope though since it's targeting desktop/mobile(?) while .NET Core is targeting the server side of things I THINK

smoky halo
#

does mono contain WPF?

hallow rapids
#

nope

#

only (parts of) WinForms

#

WPF is never going to be cross platform

smoky halo
#

yeah, probably ^^

hallow rapids
#

would be pretty cool if they did though

#

anyway that tool you're building

  • the UI
  • render to image
  • take p3d path from command line
    = โค
#

in any case, awesome work ๐Ÿ˜

smoky halo
#

i could render to image but I use .NET/WPF ^^

hallow rapids
#

is WPF doing the actual rendering? I assumed WPF was just the GUI API

smoky halo
#

it does

#

I am not messing with DirectX ^^

hallow rapids
#

hmmmmmmmmmmmmmmmmm

#

do you plan to actually release it (open source even) or is it mostly educational?

#

since BI probably won't REALLY like it ๐Ÿ˜›

smoky halo
#

thought about open source, but I am hesitant because of Odol2Mlod conversion

#

because that stuff is in my code ^^

hallow rapids
#

if I somehow hypothetically got access to the conversion code I could hypothetically port it to C++ and build my hypothetical tool that does exactly what I want. Hypothetically of course. ๐Ÿ˜›

#

but then there's the risk of me distributing it and all so yeah, I understand ๐Ÿ˜ƒ

pliant lynx
#

dunno what the big deal is, file formats are easily available so.

hallow rapids
#

I haven't researched it in any way tbh

#

I mean if T_D and mikero are able to do it then I guess anyone theoretically could

#

and you apparently with ODOL Explorer ๐Ÿ˜›

pliant lynx
#

nah heh, even in modern times few others have made MLOD tools.

dawn palm
#

Of all the seriously good coders who could do it. None of them do. They don't need their egos stroked proving how clever they are. There's a lesson to be learned there. T_D and myself DO convert to mlod for internal and quite necessary use. But that code is unlikely to ever see the light of day from either of us.

#

t_d's initiative is a god-send, odolexplorer3 is long overdue.

ripe sky
#

Yeah. Most of the people who know how to do it realize how negatively it could affect other creators, and having put a lot of time into their work they realize that.

hallow rapids
#

If I ever get around to doing the project I'm thinking about would you guys be willing to "support" my endeavors when I get stuck with the ODOL conversion stuff? Like I said, I haven't researched any of it but I do want to do the project at some point in time. ๐Ÿ˜ƒ

vague shard
#

@smoky halo would it be possible to keep the sensitive stuff "protected" and make the remaining parts open source (offers APIs/interfaces)?

#

the format is public documented anyway and there are other ODOL converters floating around. so when trying to make abuse not too easy, i think its sensible enough to do good with the knowledge and skills otherwise

smoky halo
#

@vague shard yeah that would be possible

#

just a little cumbersome for other developers ^^

fiery hemlock
#

Is there a tool to open encrypted pbos

karmic niche
#

Yes there is.
No, no one will point you to it.
Yes, it's against arma terms of use (or something).

vague shard
#

why do you need one?

dawn palm
#

'for educational purposes only' ๐Ÿ˜Ž

fiery hemlock
#

I don't need one, i made one

#

Just wondering if one already existed and if releasing it would put bis' panties in a twist

onyx lion
#

that last one was sued by BI i heard

smoky halo
#

what is/was your approach? dll injection or did you reverse the code?

karmic niche
#

Would be interested in reading the sources of that (the suing, that is)

onyx lion
#

i think the source was the guy who released the tool or one of his "friends". he took down all downloads, videos, etc from what i can tell though

fiery hemlock
#

Heh big panty twist then

dawn palm
#

<quote> "Of all the seriously good coders who could do it. None of them do. They don't need their egos stroked proving how clever they are. There's a lesson to be learned there. "

hallow rapids
#

when you said that earlier my first thought was that Doug guy on youtube ๐Ÿ˜›

#

I'm not sure you should say stuff like that though because in a way T_D is stroking his ego by showing that GIF

#

that's what happens when generalizing ๐Ÿ˜›

#

and obviously I suck at translating thoughts to text... ๐Ÿ˜

native kiln
#

@onyx lion would make sense since the person that made the last one had to reverse engineer the product

dawn palm
#

i was very quick to ALSO point out that t_d and myself do. and explained why and how marcel.

hallow rapids
#

true

#

didn't reread, just what I remembered from (my) last night.. ๐Ÿ˜Š

karmic niche
#

@onyx lion if you're talking about Doug, I think it was more a case of him getting strikes on youtube and that after three unsuccessful appealed strikes (he somehow lost the appeal that time, I think), you're banned for good.
So all in all, he decided to remove those videos because of that. At least I think I remember him saying that in one of his videos.

#

That doesn't change the fact that releasing such tools probably harms BI either way.

dawn palm
#

the community is in a fragile state due to the thievery of a3life, Dayz wannabe's and it's friends (lotsa good ppl in a3life, and lotsa inspired missions etc) but because of the outright plagiarism, ppl are hurting.

you either want to protect, encourage and preserve the community, or you're just happy enough to destroy it. You then kill the golden goose, and, of course, blame everyone else but yourself.

#

bis and their ebos come into the same protection envelope, because to not do so would be outright hypocritical.

#

you give an infant the keys to the gun cabinet, and then pretend to be innocent.

pearl beacon
#

one would wish this would be like many other modding communities out there, majority if not all mods open-sourced on GitHub under MIT/GPL/similar

wind elm
#

Money became involved. + greed ...

vague shard
#

the good old days were not that golden either

wind elm
#

Of course, but they were not so extreme like this days =/

dawn palm
#

open-sourced on GitHub

why would that benefit the author who has perhaps spent three month of his life creating sth beutiful only to have it sold on ebay for $500?

#

the guy pinching it might be capable, but the guys buying it are not.

pliant lynx
#

oh the MLOD discussion again, argh please no.

full drift
#

Hence why most tools to do with arma stay closed source

#

People take he code and clone it and make knock off copies or out right sell them

pearl beacon
#

that's why you license your work, enforcing it is another issue

#

but neither the one stealing it nor the one keeping it closed source helps in making an open modding community

#

and I was talking about mods, not tools really

south canopy
#

yeah open sourced mods with sub tools and greedy bastards that want to monetize it all, no not gonna work ever

pearl beacon
#

well that was my point ๐Ÿ˜›

#

if you read my original "thought"

orchid shadow
#

People started mixing in money in things.

vague shard
#

money was in since OFP

#

the only real thing probably change was DayZ bringing loads of different people, yet not necessarily new type

valid relic
vague shard
#

@valid relic i think to remember RHS people talked some weeks ago about it in their discord. maybe PM PuFu or RedPhoenix

pliant lynx
stoic zodiac
#

Is there any way to unbinerize a mission file without opening and resaving?
Made a mission a year ago, changed mod packs, no longer have the mods, want to salvage the mission, but it's binarized.
I've tried sifting through it and every time i change anything it breaks the file.

dawn palm
#

extractpbo nameOf.pbo P:\

#

extractpboGUI allows you to extract, say, a binarised mission.sqm in plain text. fiddle with it, and put it back.

#

and i don't really know how any one would unbinarise a mission without opening it.

stoic zodiac
#

Thanks, I needed a way around the editor refusing to open a mission with a missing mod.

wind elm
#

open mission.sqm with notepad and remove that name from addons

#

(at least, thats what i did back in the days ๐Ÿ˜‰ )

smoky halo
#

In Mikero's MakePbo tools. I can't get it to obfuscate, I've tried in the CMD "MakePbo.exe -! [Folder] [Folder\file.pbo]" And it comes with this "you must specify compression with obfuscation". When i then use "MakePbo.exe -Z -! [Folder] [Folder\file.pbo]" I get the standard message. I don't know if this is the right place to ask.

#

Nvm, found out

dawn palm
#

start with pboProject, not makepbo, it does most of the work for you.

#

when finally successfull, you can copy pasta the makepbo cmdline that pboProject uses for your mission or addon if you need speed or using a headless server.

ripe sky
#

@wind elm You can binarize sqm's now which is a pain whenever I try to open my missions in notepad, because I forget to uncheck the 'binarize' checkbox

dawn palm
#

you always could binarise mission.sqms. what you cannot do is binarise mission addons because bis screwed it up.

#

there's also no reason why your source mission.sqm has been binarised at any time. the binary is, or should have been, placed directly in the pbo.

#

if addon breaker does it different, keep taking the pills.

ripe sky
#

No. I don't binarize / obfuscate my missions in any way. I just use pbomanager to pack, because I keep all my scripts serverside so I don't really mind

dawn palm
#

that makes sense. you're only paying a small penalty for having plain jane mission.sqm

faint void
#

you can debinarize mission.sqf files by drag-and-dropping them onto either Arma 3 Tools\CfgConvert\BINtoCPP.bat or Arma 3 Tools\CfgConvert\MissionDerap.bat

dawn palm
#

extractpbo also does that automatically, and extractpboGUI behaves very similar to pboManager but converts binarised <> the pbo on the fly. So does eliteness

ripe sky
#

OH, It's easy to do, but I don't really mind mucking around with my own mission. The only mission I ever open is my own and it's not really a problem

#

I only need it sometimes for getting marker positions but that's about it

storm harbor
#

are there any paa to png conversion tools available for linux?

ripe sky
#

I think ArmA 3 Tools has one built in. Which I believe works for Linux?

storm harbor
#

oh right thought that was Windows only, I certainly can't find anything about Linux compatibility

dawn palm
#

how would arma3 tools work for linux at all?

#

re png/bmp/tga conversions in general. linux has more than enough variants of doing the same thing. But, i am not aware of anything that can substitute for pal2pace.exe or it's parent, 'texview'

storm harbor
#

@hallow rapids had the solution, ImageToPAA.exe works with Wine, (my previous Pal2PacE.exe attempts with Wine failed)

dawn palm
#

ha ok. that's cheating ๐Ÿ˜Ž

#

it's still an answer tho, if people insist.

storm harbor
#

the real challenge is emf -> png on linux

#

yet to crack that one, bloody windows proprietary formats

dawn palm
#

and it's no good pointing out that all 5 formats are handled by the same windows driver either.

#

all in all tho, the thinking here is wrong. P N G stands for portable network graphic. that's what the focus should be as an interchange betweeb the two OS's (or any other OS)

storm harbor
#

I've tried all sorts of crazyness including converting emf -> pdf with libreoffice and then pdf -> png with imagemagick

dawn palm
#

yep. been there dun that a bit, and ran off screaming.

#

the standard sound interchange, the transport format, for sound is wav. png should be treated in the same manner. it's up to the two OS's involved to have that as a common denominator. Everything else is sweat and tears.

#

there's nothing formidably good, nor bad, about png, it's just the agreed on transport mechansim.

storm harbor
#

yer it would be nice to not have to do the conversion

south canopy
#

@dawn palm is there any way to automate 'trimming of the lods' for Lite mod version creation? And do you know can we go below the 128px in texture size for that, are there any negative effects for it? Lite is meant for servers obviously.

limber garden
#

You could take a look at the files from an Arma 3 Server install (through steam or steamcmd) and check what they've done to reduce the file size. Last time I checked it was replacing all the textures with a 4x4 texture. I asked @prisma dragon about this once and I think he said there were some alterations to sound files, but I'm not positive on that one

south canopy
#

4px textures?

#

I just ran a lite script on the mod and got about 50% down in size

#

for lods its messy you got to know which is used for what especially if its animated, but Im thinking it wouldnt matter for res lods, can probably ditch all but top one, and maybe remove view lods on vehicles but I have to test that to be sure... the ones that shouldnt be messed with are geo ( all ) and not sure about shadow lods...

dawn palm
#

you could try simply converting them to origami which essentially uses no textures at all, a simple copy of the geolod becomes reslod 1.0 and nothing else in there.

dep3d -O nameOfp3d

#

ymwv

#

note that the subsequent p3d is an MLOD irrespective of whether the source is mlod or odol, and will have to be binarised

#

penny would also be very very right if sound files have been removed. they have no purpose on a server. removing them won't reduce lag, only bloat.

glad mesa
#

thanks for info @dawn palm ๐Ÿ‘

limber garden
#

Is that a viable solution for this though? I would certainly think the server needs the memory and path LODs. Plus the bounding box of the object might change

glad mesa
#

no currently it seems the easiest approach is to just reduce texture sizes across the board, and remove resLods (not sure if all is ok or not), but can probably get away with just leaving one in place and still reduce things significantly. shadowLods could probably go also, not 100% on that, but can't think of anything that would hang up with those gone.

#

sounds simply require keeping certain things in place, but can also be reduced it seems. not sure exactly on the workflow there, but sortable for sure.

south canopy
#

unless it can be automated its not worth the workload it requires on large mods, in case anyone thinks that removing those manually on each update is fun... its not

vague shard
#

@smoky halo see people are still in need of your ResLODRemover ๐Ÿ˜‰

smoky halo
#

lol

dawn palm
#

Is that a viable solution for this though?

it costs nothing to try it, and it is automated, it will process entire pbos at a time.
the bounding box does +not+ change,, that's a definate, nor do the all important geolod class, map and damage.

even if it's only applied to vegetiation, that alone must be over 60% pf the payload, and vegetation would have no use for memory points or pathways.

#

if the physxlod/memlod is required, i'll consider implementing it if I can convince myself it has no value to the thieves. But, i wont be doing either of these things if no one bothers giving this a try.

vague shard
#

well the BIKI should give some of the required LODs for sqf and AI at least

#

basically probably reasonable to go with server needs all but (1?) view/RES LODs

#

after that you can try to make a case for each specific LOD why the server/AI/sqf doesnt need it - if you have no good arguments, its probably needed

prisma dragon
#

mikero: penny would also be very very right if sound files have been removed. they have no purpose on a server. removing them won't reduce lag, only bloat.

#

sorry @dawn palm but you wrong, server needs the sound files for processing, hence lenght of the sample, channel count and (maybe) bitrate must stay

#

presence of files is also needed for scripting but that's another thing

#

models and terrains and animations are needed in relation to AI ...

pearl beacon
#

presence of files is also needed for scripting
hasInterface exists though

prisma dragon
#

ofcourse thats was mean as if the scripting uses those ...

#

in relation to AI, e.g. intensity of sound plays role in behaviour (e.g. detection) ... sound missing, wrong behaviour, different lenght, again wrong behaviour

#

similar 'wrong' can be applied to detections, collision, pathfinding and other planning ...

#

hence you can't toss all away and be like 'all fine' ๐Ÿ˜‰ as long you need to count with AI/specific-scripting

#

for PvP server you may sacrify some more stuff tho

#

yet not as much you would expect (hence sooner or later you may end with unforseen consequences)

dawn palm
#

good info david, thank you.

prisma dragon
#

e.g. the animation problem (which is something we discovered ourselves when we went into tossing away too much)

fiery thunder
#

could you pre-process the audio and store useful data (sample count, length, etc) and then ditch the samples themselves?

#

I guess you could cache that in a temp file too, so it's not always in memory, and could be quicker than loading an audio sample and processing its header and so on

dawn palm
#

the most useful information in a sound file isn't in a sound file at all, it's play length, if stated at all, has to be stated in a config. cfgSounds eg.

#

yes, you can guestimate play length by samplerate + nBytes+ nChannels + bitsize and block size) all goes out the window with nyble and wss byte compression. Bis don't use that. Instead, for music, eg, Gaia hand fed the track info into a config.

#

faster that way, and opening the wss to find out, isn't necessary.

#

Ogg=same story.

fiery thunder
#

ahh, I didn't know everything was already pre-configed like that (I haven't looked at any audio yet). Sounds like a no-brainer to skip all actual audio data server-side

dawn palm
#

there's nothing in a wss file useful to a server despite what dwarden says. The characterstics of the wss file is sth else agaim. And certtainly, you wouldn't be using sqf to look inside one. ๐Ÿ˜Ž

#

wss is wav by another name. both are pcm data. the bis engine passes the file's data, including it's wav header, directly to the windows driver. it's set and forget.

wind elm
#

๐Ÿฟ

dim phoenix
#

There is nothing harmful in a .wss file for a server either. ยฏ_(ใƒ„)_/ยฏ

prisma dragon
#

there's nothing in a wss file useful to a server despite what dwarden says. ...
the presence of the file is needed if some script directly utilize the file otherwise error ...
hence you can't omit files for dedicated server , same goes for the reason of simulation processing ...
also remember, dedicated server in arma, has also client component and then also think about hc ๐Ÿ˜‰

dim phoenix
#

I don't even understand what one could achieve by omitting files from a server. It's not like sound files or texture files laying unused on the hard drive slow down the server whatsoever. And no one cares about storage on a server either.

prisma dragon
#

well the point of server data package was to make it smaller ... also for files which are used by engine it sort of decreased the memory footprint too

#

of course that was in era of limited bandwidth, disk space and small memory ๐Ÿ˜‰

vague shard
#

missing sound files -> rpt spam

#

so dropping them altogether is no good currently

smoky halo
#

Anyone tried the new interface (RVExtensionArgs) for extensions on dev build?
Able to confirm if extension has both interfaces arma uses the newer one by default? Thanks

limber garden
#

@smoky halo Is that for the new array syntax of callExtension, or something different?

smoky halo
#

So its only really only 1 depth arrays, was hoping for something more. But it could still be useful

limber garden
#

When it was first pushed to dev branch I posted about and one of the ACE guys gave me this response

PabstMirror - 08/26/2016
void __stdcall RVExtensionArgs(char *output, int outputSize, const char *function, const char *args[], int argCount) {
    ZERO_OUTPUT();
         std::stringstream debugreturn;
         debugreturn << "<start> [Function: " << function << "]";
         for (int i = 0; i < argCount; i++) {
             debugreturn << "[arg" << i << ": " << args[i] << "] ";
         };
         debugreturn << "<end>";
      
        std::string returnValue = debugreturn.str();
        strncpy_s(output, outputSize, returnValue.c_str(), _TRUNCATE);
    EXTENSION_RETURN();
}

Example call: "myDll" callExtension ["tFnc", [123,456,player]]
Return: "<start> [Function: tFnc][arg0: 123] [arg1: 456] [arg2: B Alpha 1-1:1] <end>"

Pennyworth - 08/26/2016
Does callExtension pass the argCount then?

PabstMirror - 08/26/2016
as far as I can tell, I just guessed the arguments when you said it went from \@12 to \@20 
#

I know pretty much nothing about C++, so I don't know if this helps you. I'll message him on the ACE Slack and see if he has any other information to share

#

Oh and I added the \ before the @ because it was trying to make me tag people

smoky halo
#

ahh its fine. i take a look tomorrow, was just hoping to avoid downloading the dev branch again

limber garden
#

Game Updater FTW

glossy inlet
#

New Extension interface? Holy macaroni nice

pearl beacon
#

is that new? ๐Ÿ˜›

#

been known since x64 hit dev-branch @glossy inlet you are getting lazy

glossy inlet
#

I am indeed

pearl beacon
#

oh actually

#

that was way before x64 hit, my bad

#

except it's not really all that useful, still just strings ๐Ÿ˜›

glossy inlet
#

not useful? Yeah.... You apparently don't know how slow old TFAR was with tokenizing the commands

#

If you are dealing with microsecond optimizations this new interface is huge.

pearl beacon
#

if you are dealing with microsecond optimizations, you probably have better things to do

karmic niche
#

Has this been documented anywhere? (besides that sneaky wiki entry)

#

I mean, has there been any sit/spot/oprep talking about that?

pearl beacon
#

it has been mentioned somewhere yes

elfin oxide
#

@smoky halo The extension already works in the current main branch of he game. And has been there at least since the last update then i guess. (Or maybe tanoa) - If you call the extension via "name" callExtension "stringinput" it will call the normal interface, if you call it with "name" callExtension ["funcname",[parma1, "param2", 1337]] then it will call the RVexentsionArgs interface

#

So as the the scripter decides with what kind of input he call the dlls, he decides what interface will be communicated with. However you can (like i use from now on) include both exports and let your dll work with both types of input

#

I also benchmarked alot and can confirm, that there is a sligh performace decrease for the array call. Testet with codeperformace, the result of 10000 loops was that called with string takes 0.001ms where with array takes 0.002ms. This can however be because of "longer" (just some chars but hey) input, but the difference is there. It's not big and 99% of the extension makers would not have noticed it at all, but i was interested anway

#

Overall the new syntax is "ok", since you dont need a stupid split char like ascii 1-32 but beside thats its nothing new

smoky halo
#

You don't need split chars anymore. Since arma escapes strings correctly now.

inland flare
#

@smoky halo @elfin oxide I would wait a little before unsing the RVexentsionArgs linkage. It still is experimental and may receive some changes soon.

The syntax could change but not dramatically which means you can experiment however, I wouldn't release an extension which uses the new linkage.

elfin oxide
#

@inland flare allrighty, thx for the notice. Something that would be useful is to not only give it arrays but return arrays too. Maybe you guys can take that into consideration ๐Ÿ˜‰

inland flare
#

That's already on the list actually ๐Ÿ˜ƒ

elfin oxide
#

Oh that is lovely, any eta on that?

wind elm
#

"when its done"

vague shard
glossy inlet
#

Receiving via POST? Doesn't seem right to me w/e

smoky halo
#

At a glance seems to be just HTTP POST with oAuth & JSON data.

To be honest am confused over why someone would want to use that service.
Not currently possible to create your own applets atm with paying 200 dollars a month, unless you get invite.

karmic niche
#

@inland flare please hear me out! :)

I don't want to give you more work to do (actually, yes, I do :P) but could you consider expanding the way arguments are passed a bit more?

What I mean is that people that would like to make a more advanced usage of the extensions, well, they are going to have to parse those argument strings anyway. I'm saying this from a perspective of someone that is writing a python extension right now and while having those arguments pre-parsed by Arma is a plus, I'm losing the argument type in the process, which is important to me if i want to be calling different types of functions underneath.

What I would suggest is going fully advanced:

int __stdcall RVExtensionArgs(char *output, int outputSize, const char *function, const argument_t *args, int argCnt);

Each argument could be a:

struct argument_t
{
    enum arg_type;
    union arg_value;
};

As for the types, you could select the most basic ones like: string, number, boolean, array, (optionally nil)

As for the array:

struct array_value_t
{
    int len;
    argument_t *array_values;
}

Without doing so, even a simple function that takes "an array of player IDs and their (x, y) positions" requires either parsing on your the part of the extension maker or "flattening" that array.

So, please, please, consider this!

dusky dune
#

I fully agree with @karmic niche and all his following messages too (Except when he says I'm not a nice person, that's a lie)

regal torrent
#

Been able to receive arguments with their types like @karmic niche suggests reduces parsing a lot, which consumes precious time.

elfin oxide
#

@regal torrent that point "which consumes precious time" is indeed one very strong argument, why bi should follow that very well thought idea @karmic niche had

flint owl
#

Am I the only one here who would like an official solution to triggering SQF code from an extension? Currently you either need to poll an extension or memory hack a SQF function from the extension. It would be nice to define an event handler that can be called from the extension.

glossy inlet
#

Or Intercept ๐Ÿ˜‰ Or Hax ๐Ÿ˜„ I'm currently using the Hax ways. My hack has a UDP Server.. You send a script as message and it gets executed next frame.
But if you do it right polling every frame for scripts that need to be executed is not really a problem. There could be a nicer way but it works just fine

karmic niche
#

Sounds very secure ๐Ÿ˜ƒ

glossy inlet
#

You have to make sure that the Port is closed in the Firewall ofc ๐Ÿ˜„

dawn palm
#

pboProject map making.

updated to handle 'missing forest icons'
discovery of more p3d types that need land classes to operate 'correctly' when baked in wrps, streetlamps, towers, blah....

vague shard
smoky halo
#

Return Value for the new alternative syntax is very weird design choice

#

Really not sure if i like it to be honest.

If you attempt to support both interfaces and make use of the returnCode
It will be a pain to document for other scriptors etc, since they will be 2 different return values (depending on which interface is used)

I might just skip this interface now

vague shard
pearl beacon
#

this all sounds like its too compliacted for what it is, wouldn't it be much more simpler user-end to be able to pass and return actual types

karmic niche
#

Of course it would! But it's maybe much simpler for BI to implement parseSimpleArrayright now and have a 3x speedup already.
Let's hope it's part of some larger strategy of making writing extensions more accessible and those functions we're talking about are also going to eventually be implemented.

smoky halo
#

What functions are you hoping for arma to implment for extensions?

karmic niche
#
  1. Passing multiple type arguments to C extensions (String, Number, Array, Boolean)
  2. Passing multiple type arguments from C extensions (String, Number, Array, Boolean)
#

Of course those array should be able to contain other arrays. One-dimensional arrays are almost worthless

smoky halo
#

Unlikely to see that to happen imo.
The current featues been WIP for couple of months now

Especially for the return result.
You would need to worry about how the memory is allocated & freed.
Prob need to add new exported interface, so you can pass a pointer to tell the extension to free the memory, when arma is done with the result
Can see alot of people mess that up etc

karmic niche
#

Well, maybe not worthless per se, but you understand very well that there is not much use to them

#

I would rather create an exported function to allocate the variables on the extension side, to be passed to Arma.
This way, arma would be able to deallocate them safely because they have been allocated with Arma's allocator

#

And as for the variables passed to the extension you could make it so that Arma deallocates them as soon as the call is done, so the extension is responsible for copying all the data it wants to keep between the calls

smoky halo
#

You make the extension slower by copying the data. And would require multiple memory allocs

#

Anyway i dont see it changing (how memory is allocated) or arma devs making extensions more complicated for people.
They added time diff checks on every callExtension that you cant disable, because people were messing up.

karmic niche
#

You make the extension slower by copying the data.
If you don't intend on keeping that data between the calls, you don't have to do it.
If you DO intend on keeping the data, I think that that malloc time will be negligeable at that point.

#

Could you expand on the time diff checks?

smoky halo
#

The RPT Warnings if a callExtension takes to long to execute.
You can only disable the output to RPT Logs.

The engine still checks how long the extension takes to run on every callExtension.
Notice the new alternative syntax, also returns if the extension took to long to execute.
That overhead is majority of time for some simple callextensions.

#

Anyway i be surprised if BI spend much more time on callExtensions.
Just my opinion
But i do like the string escaping & parseSimpleArray & 64 bit changes in last few months ๐Ÿ˜ƒ

glossy inlet
#

time measurement has a big overhead? Thats new to me. well.. A microsecond overhead or something like that probably. Most of my Extension calls take 7 microsec. I'd always love to cut down even more on that

smoky halo
#

For example a simple loot dll to return classnames of what to spawn for players.
The overhead can easily be 90% of the time.
When there is that much overhead its not worth time trying to optimize the code :)

Its just annoying because if they restructed the code / if statements.
It shouldn't even create the timer

karmic niche
#

I respectfully disagree :)
It all boils down to what is and what isn't negligible in a particular case.
If your extension is taking 50ms, then two C time call won't make it slower but can only improve things

glossy inlet
#

Yeah.. at 7 microsec I am probably at that point where most time is engine stuff. And i also have no use for that Timer.. If i have a crash on some end then the Extension force exits itself after 1000ms runtime

#

Make a undocumented feature ๐Ÿ˜„ Where the game checks at dllLoad if a kind of magic number function exists.. And if yes then skip the timing check ๐Ÿ˜„
And only tell known good extension devs how to enable that

smoky halo
#

Currently it does the timer check & does nothing if its disabled in the configs. Thats the part the bugs me ๐Ÿ˜ƒ

karmic niche
#

And if yes then skip the timing check - I give the community 6 months before everyone, even the worst extension developers start using that in every extension ๐Ÿ˜›

glossy inlet
#

What means disable in the configs you mean -noLogs?

smoky halo
#

It doesn't output warning in RPT

#

Thats all the timer check is for currently ( new alternative syntax returns warning if it takes to long)

hallow rapids
#

does it even matter that everyone would know how to disable a timing check? Even if it's the worst extension out there, if it works it works. Users won't notice or live with it. Or just don't use the mod ๐Ÿ˜›

glossy inlet
#

That extension took to long to execute isn't relevant to users most of the time anyway. What is the threshold for the extension taking too long? I think fps issues would appear long before any warning

hallow rapids
#

@glossy inlet are you still working on the intercept stuff whatever that was?

pearl beacon
#

ACRE2 for example does map parsing on load, and 99% of the time reports too much time spent in extension, it does some very expensive stuff, but that doesn't matter as it's all on load, so in that case the message is completely redundant, it intentionally stays in extension for a long time

karmic niche
#

The question is: what would be needed for Intercept to take off.
It was working a few months ago, from what I remember but it seems that no one was actually interested in using it...

pearl beacon
#

it never got to a used state

#

in other words, Nou went on to build more interesting real life stuff ๐Ÿ˜›

#

it worked experimentally, but to use it in an actual mod would be extremely risky

karmic niche
#

While this is true, it's not like you weren't able to use Intercept back then...

pearl beacon
#

that's why I added my last message ๐Ÿ˜›

karmic niche
#

So my question still stands: what would be needed for Intercept to take off? What kind of work does it require to reach a critical mass that will make people use it as an extension, that will in turn make more people interested in fixing bugs that will appear every now and then

#

I'm asking as a potential Intercept developer.

#

But seeing that no one is actually interested in using Intercept makes it hard for me to want to spend time on improving it. I prefer to spend my time on a python extension that I know I will be using for sure, instead.

smoky halo
#

One issue would be if your mod is public and requires BE to secure the server.
If BE servers goes down, it will block the dll by default

#

So if intercept is used clientside, that could get annoying.

karmic niche
#

So you're saying that BE is not going to whitelist intercept DLLs? From what i remember Nou was saying that it was implemented in such a way to prevent abuse and hopefully allow for BE whitelisting (the extensions that will make use of Intercept would have to be whitelisted themselves so it's not like you couldn't prevent abusive extensions while allowing for Intercept to work fine)

smoky halo
#

Not what i said
When BE Master Servers go down or are unreachable etc, it tends to block whitelisted dlls by default

karmic niche
#

Unless you are talking about an issue that may happen with any dll. Then it's not an Intercept problem but an extension architecture/Battleye problem

smoky halo
#

i.e the client be service is unable to check if the dll is whitelisted.
Not sure if it happens as much anymore, ACE / TFAR guys would notice it abit more

karmic niche
#

@glossy inlet ? ๐Ÿ˜ƒ

#

What I meant is that in that case it's not an argument against Intercept but more agains using any other possible client-side extension.

glossy inlet
#

Have to read up every message i missed one sec

smoky halo
#

Depends on the client side extension.
If you make it so mission that can still be played if the extension is blocked. Then its not as bad if it occurs

glossy inlet
#

What is needed for intercept to take off is more devs. And we need reliable devs to keep it updated in case of changes. I would use it personally right now. But i have my own Hack that can accomplish what i need.
I could do all the Updating.. But right now I'm working on redoing all the memory management stuff.. And thats a bit much for a lonly dev that also has to work on a ton of other projects. And also nothing for the average c++ dev I'd say.
And yeah... BattlEye offine == your Mod offline if relying 100% on intercept
But a ton of communities don't use battleye. Like all I play with...

pearl beacon
#

^

#

I've done a lot of function wrappers for Intercept, would be willing to continue that

#

I just stopped when I came to more mixed-type array functions and game started crashing and my C++ was beginner-level ๐Ÿ˜›

glossy inlet
#

I think Intercept base is currently Broken.. I fixed it after Apex... Are we still at the after apex version? I can't keep track of what happened at what version number

karmic niche
#

Nou has merged your fixes to the main Intercept branch

#

I mean, the after-apex changes

glossy inlet
#

I know. Was Apex 1.66? or 1.64? I think It's currently broken.. But if Apex was 1.66 then Intercept is working fine and I'm just confused

karmic niche
#

Merge pull request #108 from dedmen/1_66_compat โ€ฆ ๐Ÿ˜ƒ

glossy inlet
#

So yeah.. It's just my brain thats broken

pearl beacon
#

wasn't Apex 1.62? ๐Ÿ˜›

#

yes

meager falcon
#

So the library iam using is the "standard" mysql c++ connector
The DLL basically doenst even load as soon as I have anything related to a mysql function in there (mysql_init in this case)

meager falcon
#

I made kind of a wrapper:

class MysqlHandler {
private:
    MYSQL *connection;
    std::string socket = "";
    my_bool reconnect = 1;

public:
    MysqlHandler() {
        //connection = mysql_init(NULL);
    };

    bool connect(std::string hostname, std::string database, std::string user, std::string password, unsigned int port);
    
};

an instance is created to create a single handler (there is one fore each thread, but they are created one by another)

and as soon as I would uncomment that mysql_init in the concstructor, arma wouldnt even load the dll(edited)
I could still delete the dll, replace it, whatever
I too tryed to call the mysql_libraray_init() (which is supposed to make it thread safe) on dll attach, but this results in the very same thing

karmic niche
#

Sounds like a missing dll dependency.
As soon as you use a mysql function, that dependency is added to the dll. The dll loader cannot load it and fails, resulting in your dll loading failure.
Check the generated dll with Dependency Walker or write a small C program to load the dll yourself and see if it succeeds (LoadLibrary + GetProcAddress)

meager falcon
#

thx for the hint ๐Ÿ‘ will test that asap

meager falcon
#

ok so, the mysqllib.dll was missing in the root folder

#

is there any way to get rid of that one?

smoky halo
#

statically link the dlls

meager falcon
#

alright gonna try that, thanks :)

dawn palm
#

is there any way to get rid of that one?
yep. don't call mysql_init() ๐Ÿ˜Ž

meager falcon
#

^^

karmic niche
#

Just a quick note that you probably don't want to statically link those:

  1. You can have them in other places instead, like c:\Windows (https://msdn.microsoft.com/en-us/library/7d83bc18.aspx)
  2. Your mod becomes tied with the library version you compiled. If your mysql server gets updated and requires an updated mysqllib, you will have to recompile the whole mod, instead of just updating mysql (which will probably come with a new, updated dll altogether)
meager falcon
#

ahh alright, I see, good point then!

smoky halo
#

no

#

You can statically link the mysql client dlls you will be fine. It rarely breaks

dawn palm
#

it's not so much that you must update, the same api calls will exist, but you're missing out on any bug fixes or improvements to the dll.

smoky halo
#

I personnally would just statically link it. Especially if you are giving it to other people to use.
It makes reproducing any issues simplier and the install easier
Since you don't need to check what dll versions they have on thier machine

But you prob should just get your extension working first ;). You can switch to statically linking at the end if you want.

#

Especially when someone might use the mysql dll versus mariadb dll etc

karmic niche
#

Well... it all depends and is a very complicated topic.
The problem is not that the api calls will be different (they will stay the same because that's the point of having updatable dlls), but if you statically link mysqllib, you don't know what IT does to interface the mysql server.

Also, there may be problems if other libraries also use mysqllib and will be using another version. Now depending on how the linkage has been done this will either work or even crash everything. I have had issues in the past with mod_python for apache having libexpat statically linked. Because apache itself was using libexpat in another version, this caused the whole server to crash. I now remember that after all these years :D

Of course this is not very probable, but it's always better to stay on the safe side - if your mods grows over time and starts using dozen of libraries, chances of something breaking with and update to anything, are increasing.

#

Static linking should be safe when you know for certain that the library you're linking is self-contained and will not use any other stuff.

meager falcon
#

Ok I could resolve the getting stuck now

dawn palm
#

I agree with stack & torndeco, as they would undoubtedly agree with my views too. There is no one shoe fits all feet. My personal prefernce is for dll to reduce bloat in the app itself but I also like static link to reduce the setup penalties.

meager falcon
#

is there any good way to bind a thread to a certain object/class?

meager falcon
#

ok got it to work just fine now!
Thanks for all ya help!

static wolf
#

Is there a way to sign pbos on linux

#

?

glossy inlet
static wolf
#

Good to know

#

Do you recommend packing with mikero and signing with armake?

#

Or pack and sign with armake

dawn palm
#

KoffeinFlummi produces excellent hi quality, open source code and tools.

glossy inlet
#

It's probably easier to do both in armake.. But your personal preference
armake can't do everything yet.. for example Animations something is missing

dawn palm
#

Well it simply won't have the depth of savagery that my tools have. Some 'errors' won't be looked for. But the quality is there. You'll really have to check for yoursefl whether ArmaMake is good enough for your purpose. or, use it just to sign on linux.

#

I don't provide that 'feature' because bis will move goalposts regarding signing any time it suits them.

glossy inlet
#

If you just need to pack some thrown together scripts or textures Armake is fine. If you have Models and dependencies and stuff Mikero is better

static wolf
#

yea.. Will just pack with mikero tools and then sign with armake.. ๐Ÿ˜ƒ

wide cedar
#

Please remember that armake is still pre-release, so make sure to test the keys and signatures before you publish, and make sure to tell me if they're broken :>

pearl beacon
#

finish it!

wide cedar
#

i will. after my exams are done :p

pearl beacon
#

I heard that last month already

native kiln
#

@wide cedar since when is your name blue ๐Ÿ˜ฎ

meager falcon
#

what could cause this:

#

this is the matching function definition:

void async(std::vectorstd::string args, Ticket * ticket);

#

Ticket is a selfmade class

hallow rapids
#

MSVC or MinGW?

meager falcon
#

g++ (compiled and executed on linux in 64 bit)

hallow rapids
#

google search seems to indicate that you aren't linking the thing that contains the Ticket definition

meager falcon
#

hmm I will have a quick look

#

Iam sure I added that

hallow rapids
#

and/or the MySQL bit, not sure how to read the error

meager falcon
#

nvm found it

#

appearently someone forgot to push a commit ^

#

but thanks!

hallow rapids
#

๐Ÿ˜›

meager falcon
#

I wonder how it even compiled that way o.O

hallow rapids
#

yes the search term is usually multiarch

meager falcon
#

๐Ÿ‘

#

thanks again

meager falcon
#

cant figure it out
-lmysqlclient links towards 64bit and isnt found when forcing 32 bit with -m32
-lmysqlclient:i386 doesnt work either :S

hallow rapids
#

no clue, what's the full line?

smoky halo
#

note not all distros will have multi arch libraries that can be installed side by side now

hallow rapids
#

must be some real shitty ones ๐Ÿ˜›

smoky halo
#

Last i looked you cant install full boost libraries 64 & 32 bit on ubuntu

#

That was about 1-2 major revisions ago though. Might have changed now

hallow rapids
#

yeah must've been a bug since it's just a library

#

not that I have tested anything related to that ๐Ÿ˜›

wide cedar
#

i finally finished paa conversion (dxt1 & 5) for armake btw

pliant lynx
#

good job KoffeinFlummi!

orchid shadow
#

Nice!

vague shard
#

go @wide cedar go!

#

will you ever look into pew/wrp or likely not as not relevance for ACE/BWMod?

wide cedar
#

at the moment i'm not planning on doing wrp stuff any time soon, simply because i don't know enough about that topic. in the future, maybe

vague shard
#

thanks. i guess otherwise would be open to assist. someone needs to get ACE or BWMod people make a new terrain ๐Ÿ˜›

pearl beacon
#

make a PR ^^

#

๐Ÿ˜›

sick verge
#

@wide cedar Have you fixed the windows issue occuring when trying to pack something as a pbo?

wide cedar
#

i think so, it's been a while

sick verge
#

Awesome ๐Ÿ˜ƒ

wide cedar
#

maybe i should pack another release

sick verge
#

Yeah

pearl beacon
#

yay

#

time to merge all those "adapt to armake" PRs on my repos

smoky halo
#

@wide cedar does your image converter respect the texture name endings?

#

like _ca, _co, _sky etc.

vague shard
#

anyone got a moment to change the "workspace" in pboproject (setup button) to another drive than P

#

i am getting crashes on two different computers but mikero cannot replicate it

wind elm
#

I already have on set up ( on my E: Drive)

vague shard
#

it worked in the past for me too, but no longer does ๐Ÿ˜

wind elm
#

have to find pboProject first^^ No clue where its installed anymore

vague shard
#

start-programs-mikero-pboproject

wind elm
#

Yeah, i was searching for the Updater, haven't updated since.. erm.. a while

wide cedar
#

@smoky halo no, i always hated that system. at the moment it chooses between DXT1 and DXT5 based on the alpha values, and you can also manually supply the type to be used

vague shard
#

well old vs latest test would be useful

wind elm
#

16.06.2016 whistle

#

Okay, very old version then.

#

DM?

vague shard
#

k

smoky halo
#

@wide cedar i c. are you aware of the channel swizzeling in sky textures?

wide cedar
#

i know that some of the suffixes do more than change the type, yes. i haven't looked into implementing those things yet, though

#

i'd probably do those with flags too, or maybe i could add a flag to respect the texture suffix, not sure yet

smoky halo
#

yeah. i also dont like what BI does with there textures

#

looks unneccessary complex

dawn palm
#

niether did synide.

wide cedar
#

๐ŸŽ‰

pliant lynx
#

congrats on the release!

#

awesome stuff, more tools.

meager falcon
#

@kju symlinks (directory hardlinks) and or change the pdrive location in the Arma tools main menu

#

@vague shard

#

Sorry fucked the tag up somehow ..

dawn palm
#

awesome stuff, more tools.

better yet, high quality 'more tools'

vague shard
#

@meager falcon dont get the context sorry

meager falcon
#

You pointed you wanted to chage the PDrive folder to another directory or sth., you would still need the Pdrive, but you can create a directory hard link from a pdrive folder to another directory (where ever that might be)

dim phoenix
#

So this is how you get Flummi to work on something. Praise him. I don't think I'll be able to do that.

glossy inlet
#

kju i think that was the reference

anyone got a moment to change the "workspace" in pboproject (setup button) to another drive than P
i am getting crashes on two different computers but mikero cannot replicate it

I am changing my P drive to C:\ on my buildserver via registry key. works fine