#arma3_tools
1 messages ยท Page 12 of 1
Virustotal doesn't like the .exe very much https://www.virustotal.com/en/file/24636eb292843998997e45643ce0f88f04703e514e285008369f47a78af15a66/analysis/1473306901/
Well, it works.
and his trojan too ๐
@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
@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
@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
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 ... ๐
A: bis will never allow it to continue, B: If mod markers start resorting to ebo ecnryption. more ebo decryption tools will pop up
what kind of trojan or virus did that cheat maker pack alongside now? didnt anyone care to check?
I had a buddy that checked but he said nothing was in it. Not going to say names though.
nice buddy
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
Yeah I am not supporting douggem at all, just pointing out that nothing was found inside of it that could be malicous.
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
I ran his first one through 9 virus scanners, got 2 hits ,.
but as long as there is "curious" people or people wanting to have some "fun", those cheat makers will find their sheep
yeap
good for BI though; more bans = more sales
I guess..
I kind of agree with Kju personally.
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 ๐
cheat makers often add a second way to rip off their buyers. nothing new there
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.
Tbh that detection is probablly due to encription rutine (wouldnt be supriesed if it was 16byte sig)...
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.
should be easy to check if it is "sending home"
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
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" :)
@karmic niche you got a point there
sure you can and anyone can - nothing wrong with that; we in the sense of general modders not using that guys tools anyway
hey guys, so everytime i try and open publisher i get this error http://puu.sh/rgDXw/5e2c389ba9.png
hey guys, so everytime i try and open publisher i get this error http://puu.sh/rgDXw/5e2c389ba9.png
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? ๐
so i reinstalled and deleted my settings but now i get this error, http://puu.sh/rgHoz/8f9a1434f0.png
and yes my steam is online
and i have tried restarting
Where are you getting that error? When you launch publisher?
yeah when i launch it
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 :/
@lyric crag contact the BI devs via BI forum or A3 FT
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
@grim geode yes it has been patched ๐
@elfin oxide wait, what was patched? bankrev? pboProject?
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
only obfuscated pbos or all pbos period?
I depbo obsfucated pbos eveeeeeeeryday
Your are such a gansta @orchid shadow
i know righ
wait didn't mikero threaten everyone with his tools because bankrev could open obfuscated pbos when it can't actually
what does this mean > scanning cfgPatches ok ( altered )
when packing with pboProject
does that mean that pboproject is injecting something to cfgpatches?
Potentially, it will also fill out units, weapons, and magazines if they aren't filled out
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
indeed I had one leftover which did not exist and it was removed from units in cfgpatches so it does modify it
@grim geode BI did their part finally
Wouldn't "doing their part" be unpacking all the pbos correctly instead of going "omg! this one is obfuscated! Not touching any of it!"?
@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.
@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!
I dont get it.
its pretty pointless, all it does is that you have to write code to handle it specifcly and that sucks
hex editor
@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.
Maybe it's the language barrier; nevermind.
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
but didn't mikero state that bankrev CAN open obfuscated pbos so that was the reasoning behind his "i'll wreck your hdd" plan?
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
the salt is real in here
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:
- 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!)
- 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)
- 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.
@karmic niche right click on each channel except this one and mute them
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
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?
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 ๐
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
Has anyone bother to merge BIS malloc changes into tbbmalloc 2017 update 1 ? Got link to repo with changes?
Thanks
@vague shard is the syntax check for sqf lint activated by default?
@meager falcon i have no idea what you are talking about or why you ping me ๐
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?
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
Benargee - Today at 7:07 AM
Hey guys, I'm making an extension based debug console. Thought you might be interested. https://www.youtube.com/watch?v=sCwgirobVfc
@flint owl what do you have planned? why as extension?
Just asked the same question in #arma3_scripting xD
@vague shard well BE wont allow memory editing nor an extension
So this can only used with BE truned off
But that's rather a disadvantage... Therefore the question stays whatfor he did it in the first place
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
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.
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.
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.
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.
It's just filename, you can get whatever extension you like whitelisted. Don't even need to sign it
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
No the client sends there servers a checksum
That's why you need to get it blocked first
ok, so the filename is just a quick reference to the file in question.
That sounds strange that an anti-cheat author would whitelist a dll without looking at it, just because someone submits it.
well, in all fairness it's better than what they had before
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)
Ahh yeah it was 0.001->0.002 ms overhead (went through some chat logs)
for servers such console does indeed make sense. didnt think about that ๐ผ
Yeah, headless clients too and when tabbed out of game.
Whats the point of Arma3P dePBO'ing everything to the P Drive? What does it facilitate?
^^ 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
I see. makes sense.
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
I dont see any bounties by BIS
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
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.
surprise surprise
Are you being serious?
Wew hard to answer that question.
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. ๐
did you ever think about what encryption is used for?
Yes of course, stopping people getting into things you dont want their gubbie little hands in.
doesn't that answer your question?
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
depends on your local legislation and what you do specifically
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.
Need to readd the mod folder again
It hangs when I select the mod folder
Not that simple it seems
Happens the same regardless of which computer I use.
@vague shard Thanks
The problem seems to have resolved itself.
@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?
@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
Hi. It hanged when the dialog opened or after you've confirmed it with selected folder?
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.
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)
probably missing in your temp directory
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
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?
What do you have for the "list of files to copy directly"? .paa can't be binarized
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!
@vague shard what do you use to extract stuff like this?
b:ARRAY inareaarray LOCATION
b:ARRAY inareaarray OBJECT
b:ARRAY inareaarray STRING```
๐
@hallow rapids https://community.bistudio.com/wiki/supportInfo
ty ๐
together a CBA function one can have the output as a list
does lord mikero ever come in here?
he used to but I haven't seen him in a while after some semi-drama ๐
@floral skiff what do you need?
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
if you are a map designer, join the skype group chat
@manic hatch You fix that problem " file missing " , im getting it now even the config.cpp is there
@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.
@manic hatch i did but roads dont pack with addonbuilder.
ok i think only mikero can give us a hint, what's going wrong
problem; addon builder
@manic hatch think i fixed check my thread https://forums.bistudio.com/topic/197184-importing-cup-core-help/
@whole hill - talk to @dapper pivot directly ๐
ah cheers, was struggling to figure out how to use the direct ID anyway
thought so
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)
@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.
any official tools can create mission pbo from a folder?
yes, the editor ๐
in the end it's just a PBO like an addon PBO so Addon Builder should work?
it doesn't for some reason
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
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
The official tool to pack pbos is fileBank
However many other uses thos tool here: http://www.armaholic.com/page.php?id=16369
fileBank it is, I guess that Addon Builder requires some addon specific stuff
filebank is nowhere to be found in arma 3 tools on steam
it's probably somewhere in the arma 2 tools on biki
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:\
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?
I can give you this link https://community.bistudio.com/wiki/Addon_Builder and that's where my "knowledge" with Addon Builder ends ๐
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?
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
Hmm... Okay, thanks!
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 :(>
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)
thanks for advertising my packages
"to make sure proper extensions are launched along with the game."
Someone know how this will work ? Latest sitrep regarding 64bit & arma launcher
Nah that makes no sense since callExtension is done via filename & will just silently not load the extension.
hmm that's true
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
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?
That would actually be nice & fallback to someextension.dll for backwards compatiablity
it's probably the easiest, just append the arch type in the stuff behind callExtension
guess we'll see soon enough ๐
sqf command to get the arch could work too
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 ๐
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 ๐
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?
According to this stackoverflow response, it's impossible: http://stackoverflow.com/a/2265102/6543759
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?
you could sure
what about the second paragraph?
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
Okay... I might have skimmed too much the answer I have linked to, hmm... ๐
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
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(?)
Depends on how you understand the phrase and has to make sure proper extensions are launched along with the game.
but mod extensions are not read until called
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 ๐
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
would anyone actually run 32bit client if given a choice?
It will depend on a) stability of the build and b) compatibility with mods
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.
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
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.
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
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
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? ๐
If there are only 64-bit DLLs, then 32-bit libs are not required. But if you have both, then 1:1 is enforced.
not sure if it was mentioned, so for 64-bit game you'll need 64-bit mod DLLs?
otherwise the extension won't work?
yes 32bit and 64bit aren't compatible
@pearl beacon : yes, that how DLLs works - the DLL bitness has to match the bitness of the program
someone mentioned a subprocess that would allow compatibility with 32-bit DLLs, is anything like that possible?
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)
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
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
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?
"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.
I assume same goes for Server as well? or will server stay 32-bit?
I think it's safe to say that the server binaries will follow
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...
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
you don't even have to spend more time, why?
you still code in the same thing, just compile with different set
What if your libraries are exclusively 32bit
Gonna' take a whole lot longer
But, it is 2016.. ๐ค
Not really, just annoying if you support 64bit & 32bit libraries.
Its really not bad if you can static link the libraries etc
Was aiming at the libraries that don't support 64 bit
But those times have passed I think
^ pretty much
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
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...
and SQFLint for Visual Studio Code
https://forums.bistudio.com/topic/198658-sqflint-for-visual-studio-code/
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...
Is there any example output from sqflint?
SQFLint's grammar is pretty wrong.
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.
engine extensions - so basically vanilla DLLs?
@pearl beacon What is "vanilla" DLL?
"DLL with the engine extension" => DLL that exports "RVExtension" function
VS Code: SQF Language v0.5.8 released (we almost reached the 2k installs) ๐ https://marketplace.visualstudio.com/items?itemName=Armitxes.sqf ~ Also check out this amazing new plugin - SQFLint(er) with experimental debugger! Of course fully compatible with SQF Language: https://marketplace.visualstudio.com/items?itemName=skacekachna.sqflint
@Armitxes#7219 you should also link your BIF thread ๐
VS Code: Open Last RPT released: https://marketplace.visualstudio.com/items?itemName=bux578.vscode-openlastrpt
It opens the last RPT (duh) by using a keybind (ctrl + alt + r) or via the command palette.
Extension for Visual Studio Code - Quickly opens the last Arma 3 log file (*.rpt).
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.
it's not that simple
i post mine later
Or you could stop using the rpt logs for logfiles, and use this: https://forums.bistudio.com/topic/189554-a3log-a-lightweight-logging-extension/
well rpt is still essential for all types of modding
for custom logs, your extension, or other means are certainly way better
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 ๐
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
Personally, i never had the need for the rpt log, and they get deleted every time i start arma.
O_o
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
meh. for custom logging you can for sure use this. but you need to check the RPTs anyway. enough broken mods out there already
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
because in a released mod, if something logs that much it's waste log, like many lines of vanilla log
and you really shouldn't be printing 1000 lines
You never tried medical-rewrite I see
that's not production ๐
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.
shouldn't*
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'
of course, I totally agree with that
problem is things that RPT reports (eg. UBC warnings) can totally wreck other mods too
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 ๐
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
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 ๐
ah, thank you.
anyone has any idea how i can extract the data out of arma texture files?
only the actual image is needed, no styling etc.
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
ah you want the pixels from a DXT5 image for example
I think I still have C# code for that
there's an armake branch for that
@smoky halo are there any known issues with the 64-bit stuff and C#/.NET DLLs?
supposedly it's not "finding" the _x64.dll
@hallow rapids Maybe this: https://twitter.com/jiripolasekcom/status/809689235376799744 ?
probably! Thanks ๐
@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.
yeah already fixed with the fix from @smoky halo ๐
Cool!
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?
none i have no exprience of dotNet or it's wrappers
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 ๐
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)
no I meant that for ALiVE we have a C#/.NET extension that runs DeWrp for the map indexing process
klever
@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
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.
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
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
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
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
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
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
i've no idea why my name was even mentioned.
You are the most famous Goat in here?
well someone has a problem if 5 months of work was sitting at just ONE single location ๐
and entirely owner's own fault
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......
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
@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
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 ๐
PEBCAK
@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.
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.
Verboten lol
@smoky halo your ODOLWebConverter converter needs an update, throws unknown version error ( update to v73 odol ) just a heads up
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
check #include "\somewhere\something.hpp" in your config, it sounds like you are trying to include something that you dont know of...
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
dep3d now produces 'origami' (paper) mlods from odols. They have no value for the thieves, They should prove useful/instructive for everone else.
๐
someone coughmikerocough should make a tool out of this http://pmc.editing.wiki/doku.php?id=arma3:terrain:convert-layers-png-fast which would read CPU core count, the png "ranges" in the dir and optimally convert png->paa using all cores but one (or if user uses -parameter then all). ๐
been meaning to do that with qt for so long already, but I always seem to have more important arma/etc projects going on.
Lol, I'm waiting for Planned Assault to be resurrected
@dawn palm shweet! Now if I only had some fresh carrots for your goats... any chance to make dep3d public?
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.
@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
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.
do you just replace the texture?
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)
thanks a lot ๐ I don't think it fits my use case though ๐
if you're after 2d images of existing p3ds....
https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Asset_Previews
I am kind of but need an out of engine solution
if only the screenshot command would work with a headless A3 instance
nice mike
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
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.. ^^
leeches -> A3: Life kind of people ^^
you just need pictures of a model?
the @smoky halo 's web tool did fine for what I needed, but it stopped working
@smoky halo perhaps, I/people need to be able to identify the object and categorize it accordingly
needs update for new p3d version
I might update it if I feel to ^^
you dont mind leeches ๐
what you do with it?
just inspect selections and how are things done by BI for this and that
so education might say
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
@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
@south canopy do I remove LODs?
nah but I see mikero said something about geo lod being included and nothing else, not sure if I got that right
yeah he does it for a very special purpose
Actually t-d there's a tool you could do
https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Asset_Previews
the way i read that:
you have to export 10gig of 'icons' to get three of yours.
convert them anyway to jpeg
then squeeze them down to 455x256
surely surely this could be dun betta with an external tool?
I do those in 512x256px and convert ot paa, engine does the rest
editorpreview= needs\a\jpg ; // afaik
one problem solved ๐
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
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 ๐ฎ
few will thank you marcel for slugging their pc with the need to rotate hnudreds of 3d objects in an html table.
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
@dawn palm it won't be a config browser type of thing, single page single model ๐
actually for mine, it would need to render magazine then..
yep
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
hey @dawn palm, what's the state of the Linux tools? Are they good (enough) and supported?
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.
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 ๐
@surreal wolf is a pro, you can trust his ports.
@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...
thanks for the heads up, my hardware should be able to handle it well enough
hmm
๐
directly read from pbos
๐
local wpf app
neat ๐ can to share more details at this point?
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
neat,. thats like a real-time asset browser
yup
ODOL Explorer 2017
could you please add feature to show point/section count?
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)?
very possible
any plans of displaying animations as well?
all the ideas, never enough time eh
aye
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. ๐
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
you heard of .Net Core?
yeah
wouldnt that be better than Mono?
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
does mono contain WPF?
yeah, probably ^^
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 ๐
i could render to image but I use .NET/WPF ^^
is WPF doing the actual rendering? I assumed WPF was just the GUI API
hmmmmmmmmmmmmmmmmm
do you plan to actually release it (open source even) or is it mostly educational?
since BI probably won't REALLY like it ๐
thought about open source, but I am hesitant because of Odol2Mlod conversion
because that stuff is in my code ^^
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 ๐
dunno what the big deal is, file formats are easily available so.
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 ๐
nah heh, even in modern times few others have made MLOD tools.
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.
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.
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. ๐
@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
@vague shard yeah that would be possible
just a little cumbersome for other developers ^^
Is there a tool to open encrypted pbos
Yes there is.
No, no one will point you to it.
Yes, it's against arma terms of use (or something).
why do you need one?
'for educational purposes only' ๐
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
that last one was sued by BI i heard
what is/was your approach? dll injection or did you reverse the code?
Would be interested in reading the sources of that (the suing, that is)
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
Heh big panty twist then
<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. "
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... ๐
@onyx lion would make sense since the person that made the last one had to reverse engineer the product
i was very quick to ALSO point out that t_d and myself do. and explained why and how marcel.
@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.
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.
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
Money became involved. + greed ...
the good old days were not that golden either
Of course, but they were not so extreme like this days =/
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.
oh the MLOD discussion again, argh please no.
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
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
yeah open sourced mods with sub tools and greedy bastards that want to monetize it all, no not gonna work ever
People started mixing in money in things.
money was in since OFP
the only real thing probably change was DayZ bringing loads of different people, yet not necessarily new type
Guys,
Are there any P3d plugins available compatible with Modo 10.1?
I used Synide's tool in the past, but it is not compatible with the later versions of Modo unfortunately (https://forums.bistudio.com/topic/106296-modo-p3d-plugin/)
@valid relic i think to remember RHS people talked some weeks ago about it in their discord. maybe PM PuFu or RedPhoenix
@valid relic yes @dapper pivot knows more. https://foxhound.international/modo-plugin
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.
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.
Thanks, I needed a way around the editor refusing to open a mission with a missing mod.
open mission.sqm with notepad and remove that name from addons
(at least, thats what i did back in the days ๐ )
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
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.
@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
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.
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
that makes sense. you're only paying a small penalty for having plain jane mission.sqm
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
extractpbo also does that automatically, and extractpboGUI behaves very similar to pboManager but converts binarised <> the pbo on the fly. So does eliteness
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
are there any paa to png conversion tools available for linux?
I think ArmA 3 Tools has one built in. Which I believe works for Linux?
oh right thought that was Windows only, I certainly can't find anything about Linux compatibility
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'
@hallow rapids had the solution, ImageToPAA.exe works with Wine, (my previous Pal2PacE.exe attempts with Wine failed)
the real challenge is emf -> png on linux
yet to crack that one, bloody windows proprietary formats
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)
I've tried all sorts of crazyness including converting emf -> pdf with libreoffice and then pdf -> png with imagemagick
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.
yer it would be nice to not have to do the conversion
@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.
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
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...
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.
thanks for info @dawn palm ๐
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
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.
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
@smoky halo see people are still in need of your ResLODRemover ๐
lol
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.
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
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 ...
presence of files is also needed for scripting
hasInterfaceexists though
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)
good info david, thank you.
e.g. the animation problem (which is something we discovered ourselves when we went into tossing away too much)
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
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.
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
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.
๐ฟ
There is nothing harmful in a .wss file for a server either. ยฏ_(ใ)_/ยฏ
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 ๐
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.
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 ๐
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
@smoky halo Is that for the new array syntax of callExtension, or something different?
Yeah its documented on the wiki now, https://community.bistudio.com/wiki/Extensions
Basically a pointer array to c strings
So its only really only 1 depth arrays, was hoping for something more. But it could still be useful
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
ahh its fine. i take a look tomorrow, was just hoping to avoid downloading the dev branch again
Game Updater FTW
New Extension interface? Holy macaroni nice
is that new? ๐
been known since x64 hit dev-branch @glossy inlet you are getting lazy
I am indeed
oh actually
that was way before x64 hit, my bad
except it's not really all that useful, still just strings ๐
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.
if you are dealing with microsecond optimizations, you probably have better things to do
Has this been documented anywhere? (besides that sneaky wiki entry)
I mean, has there been any sit/spot/oprep talking about that?
it has been mentioned somewhere yes
@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
You don't need split chars anymore. Since arma escapes strings correctly now.
@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.
@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 ๐
That's already on the list actually ๐
Oh that is lovely, any eta on that?
"when its done"
Receiving via POST? Doesn't seem right to me w/e
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.
@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!
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)
Been able to receive arguments with their types like @karmic niche suggests reduces parsing a lot, which consumes precious time.
@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
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.
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
Sounds very secure ๐
You have to make sure that the Port is closed in the Firewall ofc ๐
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....
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
this is meant to be used with extensions: https://community.bistudio.com/wiki/parseSimpleArray
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
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.
What functions are you hoping for arma to implment for extensions?
- Passing multiple type arguments to C extensions (String, Number, Array, Boolean)
- 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
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
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
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.
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?
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 ๐
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
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
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
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
Currently it does the timer check & does nothing if its disabled in the configs. Thats the part the bugs me ๐
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 ๐
What means disable in the configs you mean -noLogs?
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)
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 ๐
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
@glossy inlet are you still working on the intercept stuff whatever that was?
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
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...
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
While this is true, it's not like you weren't able to use Intercept back then...
that's why I added my last message ๐
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.
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.
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)
Not what i said
When BE Master Servers go down or are unreachable etc, it tends to block whitelisted dlls by default
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
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
@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.
Have to read up every message i missed one sec
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
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...
^
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 ๐
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
Nou has merged your fixes to the main Intercept branch
I mean, the after-apex changes
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
Merge pull request #108 from dedmen/1_66_compat โฆ ๐
So yeah.. It's just my brain thats broken
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)
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
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)
thx for the hint ๐ will test that asap
ok so, the mysqllib.dll was missing in the root folder
is there any way to get rid of that one?
statically link the dlls
alright gonna try that, thanks :)
is there any way to get rid of that one?
yep. don't call mysql_init() ๐
^^
Just a quick note that you probably don't want to statically link those:
- You can have them in other places instead, like
c:\Windows(https://msdn.microsoft.com/en-us/library/7d83bc18.aspx) - 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)
ahh alright, I see, good point then!
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.
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
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.
Ok I could resolve the getting stuck now
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.
is there any good way to bind a thread to a certain object/class?
ok got it to work just fine now!
Thanks for all ya help!
https://github.com/KoffeinFlummi/armake can sign pbos
Good to know
Do you recommend packing with mikero and signing with armake?
Or pack and sign with armake
KoffeinFlummi produces excellent hi quality, open source code and tools.
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
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.
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
yea.. Will just pack with mikero tools and then sign with armake.. ๐
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 :>
finish it!
i will. after my exams are done :p
I heard that last month already
@wide cedar since when is your name blue ๐ฎ
what could cause this:
this is the matching function definition:
void async(std::vectorstd::string args, Ticket * ticket);
Ticket is a selfmade class
MSVC or MinGW?
g++ (compiled and executed on linux in 64 bit)
google search seems to indicate that you aren't linking the thing that contains the Ticket definition
and/or the MySQL bit, not sure how to read the error
๐
I wonder how it even compiled that way o.O
btw is there any way to have both libmysqlclient.so and libmysqlclient.so:i386 installed?
yes the search term is usually multiarch
cant figure it out
-lmysqlclient links towards 64bit and isnt found when forcing 32 bit with -m32
-lmysqlclient:i386 doesnt work either :S
no clue, what's the full line?
note not all distros will have multi arch libraries that can be installed side by side now
must be some real shitty ones ๐
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
yeah must've been a bug since it's just a library
not that I have tested anything related to that ๐
i finally finished paa conversion (dxt1 & 5) for armake btw
good job KoffeinFlummi!
Nice!
go @wide cedar go!
will you ever look into pew/wrp or likely not as not relevance for ACE/BWMod?
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
thanks. i guess otherwise would be open to assist. someone needs to get ACE or BWMod people make a new terrain ๐
@wide cedar Have you fixed the windows issue occuring when trying to pack something as a pbo?
i think so, it's been a while
Awesome ๐
maybe i should pack another release
Yeah
@wide cedar does your image converter respect the texture name endings?
like _ca, _co, _sky etc.
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 already have on set up ( on my E: Drive)
it worked in the past for me too, but no longer does ๐
have to find pboProject first^^ No clue where its installed anymore
start-programs-mikero-pboproject
Yeah, i was searching for the Updater, haven't updated since.. erm.. a while
@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
well old vs latest test would be useful
k
@wide cedar i c. are you aware of the channel swizzeling in sky textures?
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
niether did synide.
๐
@kju symlinks (directory hardlinks) and or change the pdrive location in the Arma tools main menu
@vague shard
Sorry fucked the tag up somehow ..
awesome stuff, more tools.
better yet, high quality 'more tools'
@meager falcon dont get the context sorry
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)
So this is how you get Flummi to work on something. Praise him. I don't think I'll be able to do that.
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