#arma3_tools
1 messages ยท Page 16 of 1
yeah let me check
coz it sure as hell aint the icon sized bounding box.
i think i call it cog_offset in eliteness. perhaps wrongly named, but time to put this bugbear permently to bed.
there are BoundingCenter and GeometryCenter. afaik BoundingCenter is the autocenter offset
which one is adjusted in oxygen to bury a skyscraper 50 meters into the ground as opterx does to get the viewdistance right.
if you move the model in oxygen the BoundingCenter value changes of course
also GeometryCenter which should be the value specifically for the GeometryLOD
I assume that if autocenter flag is set, that the model center will be the boundingBoxCenter ingame, otherwise the OB Center ([0,0,0])
dunno about TB
so with that assumptions roads would not have the autocenter flag and a OB center at the lower left corner
all li know is t/b visitor do not use the bounding box dimensions directly to establish point of ground contact in the terrain cell. that, is a common misunderstanding.
point of ground detection is probably another beast then rotation center
not in this case. it is the vector3 that the object a) 'sits' on and b) rotates
because fences are placed different to houses and so on
yes, but that is to do with placement=vertical or any other thing bis dream up in the next five minutes to tilt the object. the point of rotation/tilt is the same.
With all of the VectorCommands, it should be doable ยฏ_(ใ)_/ยฏ
In any case, it's not difficult to place an object in t/b that has an offset center and see the effect.
once again, the bounding box does not come into it.
in case somone wants to connect of of these services to their discord server - this bridge simplifies is a good deal: https://skyhook.maxdb.net
- AppVeyor
- BitBucket
- CircleCi
- GitLab
- Heroku
- Jenkins-Ci
- Travis
- Unity Cloud
Who is maxdb.net?
And who is administering that skyhook? Because it seems to work fine, but I like to know what/whose software I'm using ๐
This also helps me deduce how probable it is that they will one day stop providing the service, without warning.
Turn back to the webhook release, Discord said one day โข they would most likely open source their converters, to allow contributions
@dawn palm What causes a error P3D: unknown odol format? Someone on the forum keeps getting it, everyone told him to run arma3p, which he said he's done. But he's saying its still not working... https://forums.bistudio.com/forums/topic/206127-error-p3d-unknown-odol-format/
Seen people before get that error, but arma3p always fixed it :/
it's a version never seen before. it's possible 1) a corrupted p3d, 2) genuinely new format recently introduced. i'd have to know the file-name to examine it.
he saying its all the arma 3 and cup stuff, I'm guessing he's messed up his P drive somehow
i'd say so ice, most of them are standard ca\ p3ds
or uses a very old version of pboPro
yeah could be that Lappihuan
anybody has an idea why i cant purchase the mikeros tools ? get the error 500 :/
500 is server issue
Hi all, I have a problem, wanted to open the P3D model but it is where the error in the screenshot you can see what's going on
https://puu.sh/wyPaS/5683fa5640.png ๐ฌ
Debinarizing P3D's is forbidden afaik. @wanton cloak
But as this is a A2 Model it might be included in the A2 samples. unbinarized and "free" to use
^^
And that RDS Mod is also distributing the unbinarized Models directly for anyone who wants to learn.
Atleast they were 2 years ago. Link is down now. But you can probably still find them somewhere
I read somewhere that you can somehow upgrade Dep3d right ?
Are you even reading what I'm writing?
Ima hit you with a nah
@glossy inlet Yes, I read, therefore, asked to clarify, but as I googled, I never found DeP3D a newer version or a way to update to a later version.
Did you read the part about debinarizing Models being illegal/forbidden?
Or the part about you don't have to debinarize because the Models are publically available in a unbinarized version?
Apparently you overread 99% of what I wrote
Yes, I know it's not legal, but I'm not about that, I want to open it to see maybe something to inherit.
๐คฆ
๐
You could've just asked me where to get the unbinarized Model. And I would've told you. You instead choose to ignore me and go down a path that violates Arma's terms of service and that won't work.
I'm going to bed now. Good night Sir.
he also asked for updated dep3d, and afaik its not longer in the free tools, you must feed the goat ( sub for pro tools ) and thats not going to unbinarize the model completely - since its illegal - but it will make some of the lods structure and named properties, selections, etc, if you want to learn from examples @wanton cloak
there's a tool to unbin arma models and i heard it was legal but im not sure
you can't use the unbinned model tho
only see
hey there! Could anyone here share some sample output RCon is generating on events (RCon Messages when a Player joins/disconnects/gets kicket/banned and when player chat)?
Currently just got my Linux for coding and can't test it with my usual Test Docker Container for an ArmA Server
@Dedmen#0689 Thanks for the clarification, one more question, do not know where you can find an open model of VAZ 2103? Namely for ArmA 3
if one follows @thorn hawk's request, he could also edit/create a wiki page containing theese
@X39 yeah, intended to add all we discovered while working on the open source rcon tool to the wiki as the lack of information about this is huge and we would have saved a lot of time knowing things beforehand
just seams like noone got the information or motivation to share it ๐
If you need any help with the RCon protocol, I can help ๐ @thorn hawk
@fallen stone thanks for the offer... We already figured out most of it and also got a running implementation of it in Golang (https://git.play-net.org/playnet-public/gorcon-arma/tree/13-version-0-2-0-refactoring) but if you wanna talk I would be happy to do so!
I'll check it out shortly ๐
The one thing I would say though, is be careful of player names (especially when parsing with regex)
As they can contain basically anything
i guess kicking anyone with : in the name would solve this problem ๐
escaping should be enough
is there a way to exclude p3d from being processed by binarize?
@vague shard maybe exclude from compress in pboproject?
@vague shard why would you want that?
@smoky halo to have WIP p3d not get into RC or releases
.filename hides the file from pboProject and won't pack it into the pbo
not binarizing will just binarize the p3d on game startup which slows that down afaik
but you would also need to take care of the config entries pointing to those hidden files
@smoky halo we have source models and binarized separated. if its not binarized, it wont end up in the pbo
BI has some ignore lists for their tools in the past. just dont remember them myself (or if they still work in the first place). mikero only has the .X to ignore AFAIK
not sure if i get what you mean, do you prebinarize before packing?
Not sure if it's the right place, but odolconverter seems down: https://odolconverter.t-db.de/
is it down for me only?
If you're asking yourself if a service is downforeveryoneorjustyou, you should use: http://downforeveryoneorjustme.com/odolconverter.t-db.de ๐
Nice one! @karmic niche ty!
@smoky halo ๐
@vague shard $NOBIN$ where p3d is in separate folder along with $NOBIN$ "file" or in case of addon builder there is exclude.lst, but no idea how to exclude some of the p3d's and some not
in fact binarize should exlcude any file on that list, but not sure if mikeros tools make binarize read that or not
@Jastreb#8971 cheers
anyone having written pbo tools already up for a small task/tool? ๐ณ
we are looking for a way to clear out/remove some custom properties from the pbo file header
to ensure the pbo is/remains unchanged if nothing of the content has changed
this happens for example with the dll version mikero adds, or version tag and similar tags
armake has this property, just unpack it and rebuild it (without binarising) with armake
@vague shard are you guys exclusivly using SWS?
@vague shard why not chekcing for change date before repacking?
if any file in a PBO folder has changed, the PBO has to be repackaged
@nocturne basin i doubt this can be done easily or at all via bat.
a more advanced script language makes the setup more complex
@smoky halo even workshop upload is very slow when just the header (and file tail) is changed; for A3Sync users is worst ofc
using dir with recursive listing
yes you need to do it on all files, remember the newest one and then compare vs the pbo date
@wide cedar what about building directly with armake (instead of the extract and repack loop)?
using powershell (available on all windows servers and in every windows from >8) it is even more simple
you can do that ofcourse, but i was assuming that you want a general solution that can handle every pbo
since armake can't handle a lot of things yet
we have separate repos for sources and unpacked data - so it just needs to pack the data to pbo. armake should be capable of that from what i recall
anyway will give it a go and let you know in case i run into issues
i see, but does pboPro really change stuff in the pbo if it does not rebuild it?
full build unchecked
we build the pbos with makepbo. yet both write the dll version into the file header as far as i know. which means if you update the dll, all your pbos are different
arma3sync will only redownload the changed chunks too, not the entire file
@scenic canopy since when does Arma3sync include delta patching
are you using http or ftp?
cause it's only supported for http repositories
it's been supported since version 1.2
1.2.35 to be specific
was released January 25, 2014
it works just fine, our nightly builds mostly differ by a couple of megabytes or so for about 3,5GB of total data
@scenic canopy go home ;>
is there a way to make Workdrive start in silent mode? Curently every time I bootup PC I get a UAC dialogue when it starts
posting here, cause no #arma3_tools channel or I cant find it :p
I looked into it awhile ago - I think if you run the batch file with /min or go into settings you can make it run minimized and there was some shell scripts that you could do to make it run completely silent.. I don't know those off the top of my head though
"D:\Program Files\SteamLib\steamapps\common\Arma 3 Tools\WorkDrive\WorkDrive.exe" -mount p /y
now what command line switches I can use here, aside -mount p /y, can I use -silent or -skipUAC? Nothing on Biki
this above is under
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Hmm, on workdrive preferences adv can you set a check box to run minimized? Then whenever its run it will not popup but just taskbar itself for a second or two @south canopy
The actual program thats run, should have settings
oh Preferences > Always hide on startup?
I thought thats for tools app, doh, let me see now if that worked
nopes that switch does nothing still getting UAC prompt nothing is minimized
maybe if I set it in compatibility mode to run as admin it wont ask questions anymore
Preferences > Always hide on startup will run arma3 tools app minimized there is no option for workdrive that I can find
bugger, if I set it to run as administrator it wont start at all
0x30098001: Elevated process without parent.
time to make a ticket on feedback with the request for the option to run silent
anyone ever had this error:
O:\Arma3CommunityTools\CfgConvertFileChng\CfgConvertFileChange.exe returned error 22: Invalid argument
can someone share a sample use of armake build when having absolute path includes in configs?
when i run it from p:, it makes armake crash - otherwise it can resolve the include
error: Failed to find \WW2\Core_c\WW2_Core_c\rcSwitch.inc.
well it might be a bug with armake, havent tried it just brainstorming here... P is not virtual drive, it just absolute path assigned to a drive letter - citting Tom here - so perhaps armake cant swallow that one, best to report to flummi @github project page
@meager falcon use rapify to get more meaningful output
thx, will try that tomorrow :)
(rapify -L or eliteness can do lintcheck too i think)
@dawn palm Hey, I'm trying to Crunch a map I made with pboProject 2.21 and it keeps throwing me back an error for my roadslib.cfg, but my friend is on pboProject 1.94 and it works just fine for him, is there any way I can downgrade to 1.94 from 2.21?
Tiny Release of ArmA.Studio
https://x39.io/projects?project=ArmA.Studio
https://forums.bistudio.com/forums/topic/203020-armastudio-the-open-source-community-made-ide-for-arma/?do=findComment&comment=3212306
just pushing the latest developments to the "major" build
@AustinARPL#2532 mikero is currently N/A. pastebin your roads.lib in #arma3_terrain
@AustinARPL#2532 It's because the new versions of pboproject checks for errors in roadslib now. So you have a error, try fixing it instead of downgrading to avoid it
@dawn palm I am having problems with my Mikero Tools. When I try to obfuscate a mod folder it says it failed because it is missing the paa files in the folder. It says it is either rejected or missing. On other mods it does the same thing with other files too such as wav etc. The mods work fine if it not obfuscated but fails when I try to obfuscate it. How do I obfuscate it properly because Google is not helping.
see two messages above
Ah crap. It is hard to find someone that can help me with this issue. ๐ฆ
But my problem is not terrain related sadly
is there any way I can downgrade to 1.94 from 2.21
no, and instead of trying to avoid fixing your glaring errors, be very, very grateful that the new version discovered them.
@spiral iron I think you fixed this problem yourself based on a ticket in Maverick
In File \z\ace\addons\common\define.hpp: Line 97 access= anything is bis-only to protect thier classes. Remove this line, it is no use to you, and deadly to the engine.
Who thought this was a good idea?
use addon breaker if you think it's a bad idea.
after several months of being implemented you are the first to think otherwise.
Don't name it "addon breaker" when your alternative tools are the ones that break addons again and again.
never broke anything for me ยฏ_(ใ)_/ยฏ
by all means then commy2 stop using my tools and use addon builder instead.
you either don't understand what access is used for, or haven't thought it thru. But what your really objectting to is that you have some work to do fixing up themistakes you have made.
I understand what it does. Please stop thinking that you're smarter than anyone else.
You're not.
stop using my tools. problem solved.
Last word.
what a pitty, this just started to be funny
This community is full of idiots.
thanks
yw
Always makes me laugh when people prefer addon builder, because it doesnt give them errors lol
access should not be set. its basically broken anyway
and because you're smarrter than me Q and an opinion I respected, that's the way it is.
for those who are interested in the subject access= is a reserved keyword implemented by bis to protect bin\config.bin from alteration. it is very common to cut n paste eg rscXXX classes from this 'core config' and very common, as a resuil to have an access= in NON core configs. The result, at best, is no effect at all, and at worst, altering the core so that the game becomes unplayable from additional mistakes made in actually altering the other parms especially from other people. There simply isn't any time you need to alter it or implement it. you have no reason to 'protect' your classes and every reason to add subsequent addons that rely on being able to.
The whole idea of foundation classes is that you inherit them., From there, you can do whatever the hell you want to without destroying other addons.
@hard locust commy2 is special in that regard as he feels special for his contributions
in reallity, he is an asshole not listening
warnings were invented for a reason
every update from a tool requiring a change in some mod just becomes a hassle, especially things that "are like that because tool author decided that" instead of rather showing a warning or a way to disable specific errors
"are like that because tool author decided that"
Well, this says the reason to: The tool author wants to
if one cant deal with that, dont use the tool
on the other hand side, I totally agree with the optinal warnings too
which, where possible, i implement. should i have done so in this case? the honest answer is probably yes.
commy2 is special in that regard as he feels special for his contributions
Wow. Stop projecting.
๐
๐ถ
TBH, Just as Dscha said, I've never had a broken addon produced by pboProject, I've used Mikero's tools for 2 years+ simply beacuse of the drama I was having with Addon Builder letting errors through
I don't use Mikeros tools for the error reporting. I have other tools that do that for me. I just use it because it's quick and easy and it "just works".
If it would all of the sudden fail packing my Addons because of an error that is no error or a warning about something that is intended to be like that. I would also be kinda pissed.
But I keep backups of older versions of Mikeros tools. So downgrading is no big deal for me
pboProject update:
now has minimise button
roadslib 'warnings are errors' if map= is not a recognised type
walkback corrected to identify correct pbo to build when stale p3d's are used in a wrp
@dawn palm please can you by any chance add the checkbox back to pboProject, for checking external dependencies? I often run out of space on the drives, and cant afford having the whole arma3 unpacked just cause of few paa and rvmat files.
what about the spelling mistakes you make in filenames because you're tired?
what about the wrong\paths\ because bis moved goalposts with a revised addon?
and far far far worse than that, what about all the people who will disable checking to AVOID fixing their errors and cause anyone using their addons to crash to desktop?
realistically you need around 15gig for arma addon development and 3 times that for maps.
Missing files are the 2nd most frequent error of all, only beaten by missing semicolons and braces in configs.
and in both cases the cause of the error is almost always fat fingerz.. where you can stare at the code for 6 weeks and not notice it's wrong. We have all been there, dun that.
isn't there a mode for arma3p to exclude terrain stuff and therefore makes the pdrive much smaller?
what about
put the checkmark there so I can optionally check if I missed anything sometimes, but not at all times, and forcefullly
usually even if someone misses anyting someone else will spot it and it gets fixed along the way, but its really rare
talking about the pro tools here, have it as you wish in the free version
and realistically I have 4 SVN mod repos two of them being gigantic and add arma3 plus test repos, plus stable builds and arma3 in raw, you see where Im getting?
arma3p skips dubbing and missions, no option to skip worlds btw... extracting now and Ill tell you the size of my P drive when Im done
I personally prefer having sanity/integrity/validity checks on all the time, that way I know full well I'm packing a good addon, the times I got lazy in the past and just used addon builder to just get the thing together to find I missed something that broke everything.
easy if you have the option to put checkmark in and leave it be in the setup if you wish, just saying that option should be there as it was
there my P drive is 140 GB atm
not counting arma3 game and stable mod builds
15,6 GB something
it said something about removing OB Buldozer and pointing to arma3.exe, now I need to run Arma3 tools thing to setup Buldozer path to Arma3.exe?
nope it wants me to run DevP says Buldozer not found
@smoky halo it mentioned you I think in the batch script, what did this thing done to the buldozer now, how do I make it work?
it basically wants you to set up your OB to point at the arma3.exe
ah setup in OB I guess
@south canopy use pal2pace/ImageToPAA to mass resize all paa on p: to 4x4 size
this should save you plenty of GB
P:\buldozer.exe -buldozer -name=Buldozer -window -noLand -exThreads=0 -noLogs -noAsserts -cfg=buldozer.cfg change that to arma3.exe
(all except those you trying to pack to pbo ofc)
you can mount all arma 3 pbos in memory to your P: and have the required folders as virtual drives
then it will consume no disk space but a bit of ram instead
Yeah that pbo filesystem thingy. That's indeed a very nice idea
Mind = blown, how do you mount a PBO? o_O
maybe a arma3p light mode would be good, that replaces all paas with a 4x4 paa for scripters/configgers and even modellers who rarely ever use a3 content but only referenc it sometime
I've no interest in doing so as not to overly complicate everything but its a cool idea
That's a great suggestion Lappi, @dawn palm great idea's going down here.
+1 what @smoky halo said, and and option to skip terrain extraction
obviously it would require a 4x4px paa per ever texture type so binarisation would work correct depending on texture type
CUP Core from 6.5 to 1.1 GB
https://pastebin.ubuntu.com/24970091/
the process is quick/fast too on a SSD at least
I need to pick up a SSD for dev work, can get a nice 250GB for ยฃ60 ๐
eh my Buldozer is stuck now in viewer search
Most of the time I forget to have Steam open ๐
If I recall rightly there's a switch to diable the need for steam running isn't there?
is this kay or nay? Should I use 32bit exe?
D:\Program Files\SteamLib\steamapps\common\Arma 3\arma3_x64.exe -buldozer -name=Buldozer -window -noLand -exThreads=0 -noLogs -noAsserts -cfg=buldozer.cfg
I've had issues with 64 bit exe, I think Milkman has a solution to it though
@sullen badger https://github.com/Dahlgren/DokanPbo
Thankyou, will have to have a nosey at that ๐
well derp 32bit one does the same, I should maybe ditch some parameters
All those are needed
there's a fuse version as well
hm I think name= and -cfg is not required
Although, you might need -cfg=P:\buldozer.cfg
I will get those downloaded and check em' out later, always handy to have tools lying around, never know when you'll need them or make use of them
ah the cfg path did it, thanks
๐๐ป You're welcome ๐
@south canopy just make sure to extract a3 again after some major update, since the exe will automatically be the newes one but your data will be stuck on what you have in your pdrive
so the first thing to do when buldozer stops working is, arma3p
roger that, but these few files I use dont change quite often ๐
yea but it can happen that they change shaders or config strucktures which prevents buldozer from launching
^^^
usually the only thing you will get is "shader missmatch"
IC, youre right thank you
slav detected ๐
arma3p ignores most, not all, but most, map layer pbos and will not extract them. Credit Kju
bare in mind folks that bis binarise requires a mirror copy of the game engine's p3ds/rvmats and paas in the temp folder
you could probably, dramatically., cut down binarise's pre-processing time by providing a symlink in p:\temp to p:\a3 (and save considerable disk space)
would that symlink be something you could set up automatically if not exsists?
sounds like a great idea
if i remember it when i get home tonight i will test it
symlink P:\temp\a3 -> P:\a3 is that what you ment?
mklink/j yes
mklink /D /J H:\ArmA\ArmADrive\Fatality\temp\a3 H:\ArmA\ArmADrive\Fatality\a3
perfect for me. thanks
No problem! ๐
I'm typing this from memory so this may not be perfectly accurate, but I seem to remember that doing mklink /D /J requires administrator privileges on Win7 whereas mklink /J does exactly the same but can be run by any user.
nice. thanx 4 heads up
/D creates a Link for a Directory instead of a file. So that's probably required
I ran it from non-elevated, /d just specifies that its a directory not file
But /J is a junction for a directory
Junctions don't need Admin rights. Symlinks do
so it's opposite of what you thought
Though I got my info from a random blog
I'm just saying that /D /J does the same as /J but /D /J fails if you're not an admin (from what I remember!)
Probably mklink does if /D then require admin and disregards that there is a /J afterwards
https://technet.microsoft.com/en-us/library/2007.02.vistakernel.aspx#s3
A major difference in the way Windows resolves symbolic links and directory junctions is where the processing takes place. Windows processes symbolic links on the local system, even when they reference a location on a remote file server. Windows processes directory junctions that reference a remote file server on the server itself. Symbolic links on a server can therefore refer to locations that are only accessible from a client, like other client volumes, whereas directory junctions cannot.
However, because not all applications may handle symbolic links correctly, creating a symbolic link requires the new Create Symbolic Link privilege that only administrators have by default.
With /J you switch from symbolic Link to Junction.
And with /D you switch from file-link to directory-link
So if you omit /J you need Admin rights. According to that text
My go-to for cmd documentation: https://ss64.com/nt/mklink.html
My experience with mklink says that /D is not needed to create a directory junction,
/d and /j work fine as mere mortal on my win7
mklink /J "E:\Arma3\CA\structures" "P:\CA\structures"
Used on Win7, creating "Folder"
I'll check back when I'm home, but I highly suspect that you have UAC disabled @dawn palm
Uh, UAC... erm... right. I disabled that
def not. but i still appreciate your heads up
I'm running W10 15063, I do run with UAC off
Well, not off but lowest level or warning
Same
not same here because I am obliged to test my tools at highest mere mortal protection.
i remember having that admin issue with a symlink script i once made,
this is 100% prooved to work without admin:
TITLE toggle the CA symlink in the pdrive
if exist "P:\ca" (
rmdir "P:\ca"
echo removed ca dir
cmd /k
) else (
mklink /D /J "P:\ca" "E:\ArmA2Work\ca"
echo added ca dir
cmd /k
)```
/J did the trick there
Uh, everyone, I'm sorry, I just checked one of my commits that I made in relation to that problem and you were right
/D /J works fine.
i STILL appreciate this kind of feedback.
only /D wont work you need /J
Yup, exactly.
@dawn palm i guess it would make sense to do the same for all binarized content on the pdrive
lets say one has extracted cup to the pdrive, his whole ca namespace could be threaten the same way as a3 by symlinking it into P:\temp
same goes for every other mod extracted to the pdrive
this has potential of halfen the pdrive space unless you have huge projects with unbinarized source
no to above because there's no way for me to tell that p:\blah blah is extracted and not a user\project
but you can tell if it needs to be put in temp or not already
hence if X is already binarized in P:\xyz
p:\ca yes. obviously, but not E76\roads
yea but then you would detect that it isn't binarized in its "source" directory
users have mixtures of bin/unbin folders
which will make this not possible, agreed, but if a fully binned folder is detected, simply symling to temp
hmm ok
what detects if a folder needs to be built into temp?
datestamp
is that a binarize.exe functionallity?
hmm
can't you check if a p3d is binned with dep3d?
there's no 'error' code for such a thing.
it 'says' it's bin/unbin but both produce 'no error'
why should it produce errors?
i ment to use it as detection if the directory is binned already
stdOut wont help?
no idea about win or anything connected to it tbh ๐
only report mechansim is error codes 0.255
eg the exe returns status codes
(except our old friend bis binarise which always reports 'no error')
๐ค maybe T_D has something in his odol converter that helps you detect if a p3d is odol or mlod, and with that info lets you check if the directory is binned
not sure if it's worth the hassle tho
if a p3d is odol or mlod is literally written right at the start of the file
You only need to read the first dozen bytes
yep. and a bat/cmd file alone can't do that.
@lappi in c parlance ALL exe's (including windows guis) are the following:
byte sts = Some.exe(1,2,3);
the most common code for windoze gui is 'error code' 4. the user pressed the ok button.
dos exe's historically return 0 for good and anything else whatever the author wants it to be.
in c parlance
if ( ! error) exit;
so there is no concept of stdError, stdOut and return_value? ๐ฎ
stdout/err are TEXT ONLY displays
an exe can be seen as a function(). it returns a value when exiting.
hmm ok but that sounds pretty similar to linux then
dos < bash ๐
indeed
i suggested also to symlink p:\XXX to p:\temp\XXX - however there may be some danger involved for simple users and people without backup of sorts
you may overwrite a source file (rvmat, rtm, p3d) with a binarized/rapified with such setup from what i understand
as long as only temp is a symlink you never overwrite something a user does/make
unless he works in temp which is wrong anyway
- as long as it's checked the that the directory content is fully binarized
@vague shard. that is my worry
and.... binarise will crash and burn if it 'sees' unbinarised content in temp
ah no got that wrong
I think the real answer here is to add it as an option to extractpbo
so for this to work it would need a check for all arma files that can be binarized like p3d, rtm, cpp/hpp/h, rvmat, paa... and if this check returns 100% binarised content of a directory it could be symlinked
not that simple and also potential for damage...
not gonna bother. the definition is, extracted pbo is a candidate for temp\
extractpbo -J thingy p:\
voila
(will behave as expected, AND mirror to P:\temp)
arma3p will, additionally, have a junction for p:\a3
yep that make sense
delete all temp files from pboProject will delete the temp folder itself and thus remove the junction
no. 'clean temp' = only temp\projectfolder is affected.
@dawn palm is it not possible to lint only (-Q) on linux with makepbo?
doesn't packing validate even on linux?
@hallow stream - the -Q option was removed from makepbo in v1.94 (windows and linux)
@cuel#9704 you have to makepbo -B(...) x:\temp.pbo now
oh
( -B is actually the default )
so what happened? lint was split into several options?
1:Don't know. 2:Doesn't look like it.
mikero didnt want to keep it as separate option sadly
so its -N = no check and -B = check by default
he takes no prisoners haha
๐ค
iM only using the lint, its for uploading trough a discord bot to our server
cheers
oh well the idea of mklink the a3\ folder into temp has fallen in a heap. bis binarise requires the rvmats and bisurfs to be binarised, and p:\real\folder requires them to be plain jane text.
damn ๐ฆ
yep real shame, binarise needs the binarised rvmats/bisurfs so that it can bake them into p3ds that use that rvmat
...and perversly, binarise cannot read binarised anything in source\folders
@dawn palm besides the obvious, what is the Encrypt option?
mikero the changelog has the wrong version numbers for pboproject. You have 6.22, should be 2.22 you also have 6.21 under that ๐
๐
Hey! I've got a small problem and I don't know which way to go to start fixing it.
I'm using Mikero's tools on AppVeyor for building a PBO as part of CI.
I've been using a script that downloads the latest files available at http://tom4897.info/app/tools/community/ + caching so that it those files are effectively downloaded only once.
I've created a new AppVeyor project yesterday (so the files were not in the cache and had to be downloaded and installed by the script) and noticed that something must have changed in AppVeyor's env because installing DePBO greeted me with a message that says that the %PATH% env variable is more than 1024 chars and that I have to add Mikero's tools to PATH manually.
Ok, I can do that. The problem is that the message shows a popup that has an OK button. Since it's all running on AppVeyor, there is no way for me to click that button :P.
Possible solutions:
- Now, I could just download the exe + dlls manually and store them inside the cache but, honestly, I would prefer a "good" solution which would allow me to clean the cache to have the script reinstall the tools automatically upon next build.
- I could also have a tool that automatically clicks the OK button and sets the path manually. I'd do that if I can't find any other solution.
- The best one in my opinion would be to be able to silence that message box at the installation time
TL;DR:
I'm now running the Mikero's installers using <somefile.exe> /S. Is there a way to silence the extra installation messages that pop up while installing?
bit confused here
vs the site from tom
for example
tom
pboProject.1.73.5.66.Installer.exe 2017-6-23-20-24 - SHA: 0fd69bf03ce23abf704ef57ac7495c75e2bb0cbb
new site
pboProject.1.73.5.66.Installer.exe 31.08.2016 186 KB .exe
version same but different date
plus the site from tom seems to contain also paid tools but in old version (which wont work with the latest dll)
I started using tom's site when Mikero wasn't using Maverick yet (I guess...) and I thought that "if it ain't broke, don't fix it".
Also, they state This depot is maintained by: Mikero, Tom_48_97 so thought it was okay and safe to use that page.
And they have an xml page that contains the links so parsing that page was quite easy
yep that site from tom seems useful
I'm currently thinking about clearing the PATH variable to point to c:\, running the installers and then restoring the old PATH + then adding the custom path to makepbo
I'm using https://gist.github.com/dedmen/82f09bf438dec404ab9bd5a64a8164e8 to prep my env
the subscriber version of my tools:
- automatically fixes the 1024 char limitation to environ path
- has a 'headless' flag which prevents guui messages being shown
toms tools were produced at a time before i started charging. they will be dissapointingly stale. But like all things, ymmv
I'm currently thinking about clearing the PATH variable
you still have to be careful there. the windows SetX command is broken and self-destructs after 1023 chars
@dawn palm You got anything that does the same thing as BI's ImageToPAA but actually works and doesnt crash?
no
untiil recently pal2pace remain unchanged from the time of flashpoint, it is only recently they've managed understand it enough, to break it.
๐
actually, i was wrong about above, it was tgaviewer i was thinking of. An inportant tool that never made it into the original steam toolset but was added back later.
snameman pmc has a great deal of useful image utilities you mght try his website
using binarise.exe to binarise p3ds
y binarise tho is that a joke? Binarize aswell as binarization not binarisation, that some weird french there
well if you're quoting pboProject there, I only allow bis binarise to binarise p3d and wrp, all other binarisation is done by me.
I don't let it get anywhere near configs rvmat bisurf, wss, etc
nor indeed tga or png files
thats ok Im relating to actual prononciation or spelling, however its called, its not S it Z for binariZation
yep. I blame my mother.
lol that ok, dont be sad
Americans have far more sensible phonetic spelling.
@Rad#8433 check armake. it does have some image conversion functionality
si tis cause its Paris not Pariz
if they could just get away from feet, inches and furlongs per fortnight. the world would be a safer place
actually the s and Z in paris don't matter coz it's silent, (if you're a frog)
Je ne suis pas Parisien
merde, ill'y'a une Z dans ca
๐ Merci
Thats english @native kiln
@native kiln Woah, the people of france will now know. You are no longer a human being, but a window.
Closest channel i can really find for this
Anyone seen Arma Publisher meta.cpp
Have
publishedid = 0;
Instead of workshop id?
@smoky halo I did, on a mod that is set to private
Happens when i publish a public mod.
Slightly annoying since it needs that id for the mod to be any use on public server
The file is incomplete if i manually place the meta.cpp and try to upload with publisher
I end up with arma launcher complaining its corrupted etc
Think i just bug Wizard if he is about tomorrow
That or look at steam tool (pretty sure there is one) to manually upload the addon
The ID in the meta.cpp is used by the server. To tell the launcher(s) the steam id for the addons required etc
Anyway afk for abit
well are you sure your mod is public? Have yo published mods previously with success to SW? Your accout might be limited, and that means, you cant publish any mods, but it should say that to you... I think
other than that you can inspect the Publishers logs and see if you can dig out anything, if that doesnt help pinch Wizz
Yeah i have published before afew mods to steam. Tried to upload it multiple times etc
I just bug Wizard tomorrow
aye, could also be some temporary outage of the API or heavy loads, internet issues in general but if it persists, then its a bugger
heads up for people looking for Mikero's free toolset:
dev heaven ceases operation at end of this month.
free tools are now at:
https://armaservices.maverick-applications.com/Products/MikerosDosTools/default
Damn it, dev heaven is going down?
I recall reading something about not enough ads revenue or something, is that the reason? or am I confusing it to playwithsix (if they are not the same thing basically).
I thought that was Armaholic....?
playwithsix == dev heaven
well I definitely saw posts about playwithsix reducing download bandwidth for users who are not donating/subscribing whatever the method was. in fact, that was when I uninstalled it.
people know my tools as 'dev heaven' because that's how the originated with kju and sickboy. the site became pws, but pws is not how people associate my toolset. hence the original name.
i believe you too have a mirror snake, but buggered if i can ever navigate to it.
no better time to bookmark it now then: http://pmc.editing.wiki/doku.php?id=arma3:tools:mikero-tools
no, it was playwithsix.
Wait so pws/dev-heaven is going down?
I haven't seen anything mentioning anything about shutting down something
mikero either has exclusive info or is "scaring everyone" for no reason ๐
that was quick
http://dev-heaven.net/ is long gone. It moved to https://dev.withsix.com/. But that seems to also be offline right now
my advice from sickboy is that pws is closing down, hence free versions of my tools are now here:
https://armaservices.maverick-apps.de/Products/MikerosDosTools/default
free tools incidentally are due for a snapshot update from the subscriber version 'real soon now'
oh so actually playwithsix goes down, I thought it was dev heaven earlier.
What is the status of http://tom4897.info/app/tools/community/ ?
Is it to be considered an official repo? The text there would suggest that but you've not mentioned it anywhere in your messages above (which would suggest it isn't actually) @dawn palm
I'd have to check with Julien but i don't think he supports it anymore...
hmm arent those the old tools that are not available anymore?
it was part of his posedien toolset
I notice stuff like DePew which is not available in free tools.
or is that simply some arma2 to arma3 move obsolete thingy?
I supplied Julien of what was then completely 'free' tools for his posedien toolset. The MANW contest changed everything after that.
There are tools with the 2017-6-23-20-24 date there so it doesn't look to be outdated, tbh
i'd have to check. the version numbers. I doubt 'tom' would do anything underhand.
Julien updated those tools to the latest free tools previously available on dev heaven.
the other tools such as depew, dep3d , dewss etc are legacies from the time before subcriber tools were thought of. they remain robust, but they won't be updated to the latest subscriber equivalents.
@pliant lynx only dev.withsix.com (DH redmine instance) will go offline (backups from everything are made) (looking into ways atm to move specific projects to other redmine instances on request)
@south canopy I figured out the issue, you need to push an update to Steam after you first upload, to get the workshop id in the meta.cpp. It really should auto do that after the first upload, but it doesn't.
cool! wanted to look at something yesterday evening and was sad to see it still offline.. good timing ๐
Could someone help me with this error? https://gyazo.com/acae0ca8c6da1e86ff1d45eb7e6c6eaf
ahh ty i reinstalled depbo and it works
anyone motivated to decode the tv4p format (terrain builder project file)? ๐
this would allow import of scale/yaw/pitch from X-Cam/MB/3rd party
and to randomize existing object sets
all the terrain makers would workship ya
Send me example file pls
@glossy inlet simple or complex project?
simple
k
mikero have DePew tool, PEW which is visitor3 project file. that is excellent tool and I used it hundreds of times doing all kinds of terrains. similar tool for terrain builder project file would be awesome.
After first look it looks very similear to other BI binarized files
is x4vp format equivalent?
@dawn palm So I am using the lastest subscriber tools and when I attempt to pack my map that has multiple arma 2 objects placed on it, it instead tries to pack ca.pbo instead of the map. Can you explain what is happening because I am at a loss.
@dawn palm are there only paid version of moveobject tool?
yes armer
@buoyant compass. the tool has discovered an UNBINARISED p3d in ca\ and will consequently build the folder it is in, in order to provide bis binarise with the binary equivalent. This has to happen before the map can be made.
bottom line here of course is that ca\ should not have any unbinarised models to start with
ok thanks, reason there is unbinarized models is because when packing the map it was throwing errors on a few objects. I guess I should just use dep3d +fx on those?
the unbinarised versions of the same models will have the same error.
and yes to +fx. it operates on binarised/unbinarised just the same.
BUT bare in mind that fixing the extracted p3d will only satisfy pboPro and it's friends. the fault remains in the bis pbo and that model will not work as intended.
(unlless of course, it's a cup model masquerading as an arma2 model, in which case cup would undoubtedly fix it if told about it)
Arma Intellij Plugin - And I'm still waiting for a version that will support PyCharm besides Intellij... ๐ฆ (since they are both editors developed by IDEA it should be straightforward)
new version in case you have missed it too
https://forums.bistudio.com/forums/topic/145290-arma-toolbox-for-blender-arma-23-exporter-script/?page=18#comment-3191282
hello everyone,
I'm currently working on a small project for persistent Zeus builds. However, my knowledge into SQF and SQL isn't quite as advanced. I have written some functions already in SQF and did the editing in sql_custom and the ini file of extDB3. My question is whether there are lads here that could spare the time to help me with a few steps in the process of saving/loading/deleting objects (construction, respawns, tasks and vehicles).
If possible I'd like to continue the assistance in PM to not overflow the text chats here.
(Deleted messages in other channels here)
what parts are you interested in?
I can link you our old code to persist objects to disk
@scenic canopy I'm looking to store it in a MySQL Database, not to server profile or a file
currently figuring out how to effectively save, load, update and delete
You are prob over thinking things.
Work out how to get object data into an array & recreate it (that will be hard part).
Then you can look at saving info to the DB & creating your SQL Queries etc
For units i recommend you use getUnitLoadout/setUnitLoadout (supperior because allows to create weapons in backpacks with attachments on them etc). For vehicles/objects you will need to piece together alot of sqf functions todo a similiar job
here's our old SQF code to persist/load all objects to/from a native extension, https://github.com/SwedishForcesPack/SFP-Map-Editor/tree/master/sfp_map_editor/functions/persistence
each object is stored as an array in plain text containing needed values
not sure if inidb supports it but we store a lot of arma data in postgres using jsonb fields
@smoky halo I've gotten as far as extracting (and restoring) the data from objects. May I send you a PM on follow-up questions?
The foremost issue was when to save an object to the database? Using an eventhandler that saves it when it gets placed by Zeus or with a script that collects all objects on the map at a certain point?
@smoky halo
That is up for you to decide, there really is no real wrong choice.
(But i never touched Zues etc)
I am fan of using eventhandlers, but some people will use sqf loop to save objects at every x period of time etc
Then you got stuff like Exile, that use eventhandlers to pushBackUnqiue to a global array for unit/object updates.
Where an sqf function checks every X amount of time to update to Database.
It a nice method because it prevent a player beening able to spam DB updates for a vehicle / object.
But this belongs in SQF chat
https://medium.com/withsix/shutting-down-dev-heaven-f8d59cbe1b28?detail_id=130685
As announced on the Dev-Heaven news section, we are shutting down Dev-Heaven.
The Git repositories will remain accessible until 20.08.2017 and then we will also shut those down.
We can recommend you GitHub.com and GitLab.com as alternatives.
If you missed the opportunity to export some data, feel free to shoot us a message, we will try our best to assist.```
After many years of loyal service the Dev-Heaven journey is coming to an end.
as a result of above notification my FREE tools can be found here:
https://armaservices.maverick-apps.de/Products/MikerosDosTools/default
and snakeman's pmc site
gut now someone update biki and relevant sources
already done. afaik. not all 'relevant sources' have been captured and probably never will be.
Where can I download documentation on what Mikero's pboProject "rebuild CfgPatches" does please?
It comes with the download ๐
Thanks Ice - it must have gone missing at some point in the past - redownloaded / installed and now have a readme.
"The dll will rebuild required addons, based on foreign references it discovers in your configs. eg files, that are not within this pbo."
What does that actually do in terms of what I can see? It doesn't seem to alter the config.cpp requiredAddons[].
if that's the case, there are no additional addons to be inserted
in any case, it lists current, discovered, and changed in the subscriber version at least.
there are two separate features of required addons.
-
The obvious. Configs you rely on for external classes MUST be loaded before your addon. If you don't do this, you fill the rpt log with spam, and inevitably break the game because you've altered the master\config.bin. You normally fix this yourself because you have no choice in the matter. If you do ignore it, you get screamed at by the engine AND other players.
-
the non obvious. If you refer to a file that isn't in your pbo, the addon that contains it MUST be in the game, else you crash to desktop. All too often, the user of your addon has not put the other addons it needs in a mod folder. Ie those files simply don't exist in game.
this secondary check ensures that those other addons exist, and pboProject will automatically detect the cfgPatches class where they 'live'.
I have the free version (sorry!). When I make requiredAddons[] blank, it doesn't add anything.
So...in the free version, would you expect pboProject to add entries to requiredAddons[] if it was left blank?
pm'd, thanks
and there's nothing to apologise for. I don't punish people for not spending money. I'm pleased enough that they use my tools at all.
My free tools have been updated to the latest snapshot of August 2017. This means you can now work with type73 p3ds, and map crunching is far less painful.
https://armaservices.maverick-apps.de/Products/MikerosDosTools/default
โค @dawn palm keep up the great work!
thank you.
Thank-you for the tools update, very kind. ๐ @dawn palm
A question about CfgPatches requiredAddons again...
requiredAddons[] = {} ; now fails to build, as expected, which it didn't before.
But
requiredAddons[] = {"junk"}; builds ok, even though "junk" isn't a valid mod name
and I still don't see the Setup -F option doing anything?
the name of the addon isn't checked, you can put anything in there. The intent is merely to check that you did. An empty array is 100x more frequent as a mistake, than a typo, because the un-initiated merely copy pasta.
Ah ok understood.
I think in a previous chat that you said you expected the -F option to check for and add missing extern addons to the .cpp? Am I using it wrong or misunderstood?
the noisy option lists the original array, the discovered file\refrerence addons, and the merged array.
it does NOT alter the source code. that would be a ticket to hell.
if you want to see the changes: it's called extractpbo
Excellent, thanks.
well continuing the chat from another chanel i have installed and reinstalled pboproject few times and all the rest of the tools but no luck
seems reinstalling makepbo last solved issue
Better late than never: the jet sample Test_Plane_01 has been updated for Jets
https://cdn.discordapp.com/attachments/327214464497614850/347361100557320192/quiz.png currently creating a little quiz for arma scripting
suggestions in regards of color scheme? (current way of colorizing is not related to reality, just to show all possibilities)
The wrong answer being labeled correct answer triggers me ๐
default: light color X
hover: medium color X
locked: darkest color X
correct: green
wrong: red
I guess that looks goodish
I wouldn't use pure green etc. as color. Only greenish tint.
@dim phoenix could you give color examples with image? (alternativly, edit the html: https://gist.github.com/X39/29a15d167c157e22a6f01221f95bbe4a)
css* Kappa
More importantly, who decides which one the correct answer is ๐ฟ
get Libreoffice and get the colorcodes for Green 1, Red 1 etc
they are a whole lot less whatever the word is ๐
intense I guess
Hey guys, I get this error with mikero tools pboProject. Can't seem to figure out what it is though. ```//#define COLOUR_HEADER
//was: {0.1, 0.1, 0.1, 0.9}
//now: {0.1, 0.1, 0.1, 0.95}
In File A3_GW.Malden\hpp\menu.hpp: Line 8 #define altered without a #undef
Any ideas?
Looks like its complaining COLOUR_HEADER is already defined somewhere else
If you want to change the value you need to #undef it first, that check is prob added to avoid user mistakes
I do not see why that problem would fail my entire pbo making though
I've had the same complaint before
With being able to output a PBO
if you really really really really really really really want a constant to be two different things. torndeco has told you the only way you;'ll get round such a dumb thing to do.
#define APPLE apple
you don't suddenly change it to
#define APPLE spaghetti
because you think you're being klever
@smoky halo I guess this is never used? https://bitbucket.org/torndeco/extdb3/src/aba545401bfabcdb6fd4c21b375eab06d3af9b12/src/memory_allocator.cpp?at=default&fileviewer=file-view-default#memory_allocator.cpp-41:48
Because that's nonsense
Good point was some old code snippet from a c++ book
Would be nice to drop the need for the malloc altogether & 32bit, but am still waiting on 64bit linux + it been stable
I change when i get a code sign cert. (Was gonna push out update wed, but cert outof date)
Hmm that is fucked ๐ Kinda curious how that happened shrugs
Intercept just added code-signing and certificate checking for Plugins. I wonder when Arma will finally add signing for Extensions. It literally took me 4 hours to implement on Intercept. And I had no prior knowledge on how to do signing
Maybe because they assumed that no one would actually bother getting a code signing certificate (I have one (Certum) and it was not that costly since they offer an Open Source Code Signing Certificate for very low prices)
You don't need to get one for this
you can use self-signed cert
and it will also ignore any of the windows authorities. It will only check against the CA you provide in the pbo
https://github.com/intercept/intercept/wiki/Code-Signing-your-Plugin
https://github.com/intercept/intercept/commit/916a4a566c7cccb570eca6340963b83737d65177
@native kiln More specific questions?
Are you using a library?
I also really don't want to allow all the other CA's. Because what's the point in protecting your Plugin if anyone with a code-signing cert that is accepted by any official CA could just edit your Plugin anyway. It's meant to be like bisign.
Win API only
Ah I just saw C# has a similiar implementation
Didn't know that, but it's great ๐
I did a thing
Might be helpful to some for automating MLOD editing steps
@dawn palm When pboProject Binarizes RTMs it says its using opf2_manskeleton to do them. Whatabout when I use completely custom skelton?
read the documentation
essentially, in the anims folder. just like a p3d, you need NameOfRtm.cfg
model.cfg or just <filename>.cfg
๐
@dawn palm Also for my shame I could not spot where this info is in the documentation
oh x9 duh
there it is
it's one of the cleverest pieces of architecture bi introduced.
Using clever to describe something bi did hmm
ok so if I have folder1\folder2\2000x .rtms
can I have single model.cfg in folder1\ for all of them?
yes is the short answer
good
that too, is in the docs
yes just wanted to make sure I understood it right
its
odd to have documentation for Arma modding
its confusing xD
not with my tools it aint ๐
yeah I know
oh also something I could not find in the docs. DeRTM run from .bat file has the press any key to continue. How do I skip it without holding a key?
-P
universal -option
live and learn
it was. you re correct
thanky you sir!
re skeletons and cfg files, there are umpty dozen different methods of applying a skeleton to a model, or an rtm. pboPro merely enforces one of those methods to keep it simple.
๐
I think im back on the map again
ah the damn jets animations are ebod
got to comment those out from the config
@dawn palm got Bis binarise failed to binarise some or all rtm files. There was no skeleton that could be used. read documentation
now this comes after it at the beginning states its buidling the model.cfg
Sorry for being pain in the ass. Im just not quite understanding this
first it starts with using ofp2_manskeleton to binarise rtms
then it builds model.cfg
so does it or does it not use the skeleton I have defined in the model.cfg I got in the animations folders root
try with noisy option, maybe you get more info?
noisy is on. gotta go over it again
the rtm cfg is NOT named model.cfg
ok so theres where I got confused again
ok so in the animation root folder there is trigger.rtm
if I have trigger.cfg there
should that be enough?
for the rest of them
yes
providing all rtms and all p3ds in that pbo use the same skeleton. binarise can only binarise one skeleton, not several.
at the start it says using ofp2_manskeleton to binarise rtms
it's wrong
paste your trigger.cfg
that's an ofp2 man skelteon
currently yes
well that's what pboPro has detected
but since its for my female characters I'll be adding new bones to that
can't help you. that's a tuff one
you got any idea where it detects it to be ofp2 man skeleton
if it looks smells and quacks like a human skel, that's what's used. because bis have 3 variants of the same thing
I see
so if I add to this skeleton it would still use the default one?
That may cause problems
yes. I can probably adjust for this, but not right now.
bis in their infinite wisdom use the same skeleton name for three different skels, arma1,2 and 3. it's a tuff one to separate.
Well aint that fun
in the current form the skeleton could be binarised with the man skeleton Id suppose
the structure is still the same
you'd have to ask them what perverse bit of logic prevented them calling the arma3 skeleton ofp3_manskelon.. perhaps the logic was too tough for them to understand.
But what could cause it to not to be able to binarise them
but they did succeed as they usually do, in breaking every arma2 model as a result so that it could not be used in arma3
there is , in fact, no skeleton called ofp2_manskeleton in your cfg, i have to adjust for that in my code
yes there is only the HORGO_F_Skeleton in these
๐ ๐ ๐๐
๐ ^^^^^^^^^
From mikero's proProject binlogs, how do you fix this sort of warning please?
shadow(0), Selection named_selection needs a section. The shadow volume may not work well.
The shadow LOD appears to work perfectly in game, but I like to beat mikero at this game of report error / fix error and get no warnings on build ๐
that is binarize warning, so #arma3_model
Ok, will cross post, thanks. I assumed it was specific to proProject.
nah, it just makes me look good when i show things bis produce but don't tell you about.
does not needs to be modern and fancy
Then it's a time-proven parser generator.
Anyone know if possible to get the auto center off the binarized model.
dep3d -options
Don't need the geo property.
I was looking at way to figure out the auto center (offset) position.
Basically working on enterable version of a non-enterable version of a2 building.
But the PATH LOD has positions that are outside the original model and its screwed the auto center position.
Was hoping for a method to get the center position if its baked in the binarized p3d.
Otherwise i will prob just have to eye ball it
eliiteness shows what it calls centre of gravity and it's offset in the header section of a p3d. these might be the values you need.
I check later, but center of gravity is prob the geo mass center :(
Thanks anyways
Its only 5-6 models, worse case i just eyeball it
and best case, elite shows it
lol ๐
Nice info with tool, but model info reporting autocenter=1, even though not set in the mlod . So i am guessing what i need is in engine somewhere
There are some geo offset values etc, but nowhere close to what i eyeballed.
Thanks anyways
https://cdn.discordapp.com/attachments/349557843239632897/349719418390970369/SQF-VM.zip in case anybody is interested in trying my lil vm it out
using "help" you can see the capabilities
please know it is limited
still it is just normal SQF ๐ (syntax errors might cause crashes too, so you wont even notice the difference)
no need to be shy about it
1: help
2:
-------------------------------------
GLOBAL variables are treated as LOCAL too!
ERRORS will probably result in crash
NAME:TYPE:PRECEDENCE
SCALAR:t:0
BOOL:t:0
ARRAY:t:0
CODE:t:0
STRING:t:0
IF:t:0
+:b:8
-:b:8
*:b:9
/:b:9
>:b:7
<:b:7
>=:b:7
<=:b:7
==:b:7
||:b:5
&&:b:6
diag_log:u:0
private:u:0
if:u:5
then:b:5
else:b:6
true:n:10
false:n:10
help:n:10
str:u:0
select:b:10
-------------------------------------
Press any key```
1: _i = 0;
2: while {_i < 10} do {_i = _i + 1};
3: hint str _i;
4:
-------------------------------------
ERROR: TYPE MISSMATCH```
while, do and hint are all not yet inside @vague shard
currently trying to get the whole project as discord bot running ... so ...
yup. btw "any key" seems not true - only enter worked
You have to press the any key. Not just any any key
"enter any char" would be teh 100% correct sentence
in the end there is just a simple getchar() making the lil tool wait
currently trying to get the whole project as discord bot running
I wonder if it would be possible to make it execute code out of the sandbox/VM and take over your Discord bot, in that case... ๐ค ๐
Final goal would be to get it running on my raspberry pi
No real harm can be done there
But I currently doubt that will be an easy task
Hell the bot is harder than the actual vm ๐
only on windows currently though ...
https://discordapp.com/api/oauth2/authorize?client_id=349892572543451136&scope=bot&permissions=0 in case anybody is interested in inviting this lil bot over to his/her server
why not just invite it here? ๐
oh I guess with bots the <@&105623147411202048> needs to do it
@nocturne basin what you trying to achieve ? SQF if true then {hint "SQF markdown is already there"};
Actual sqf evaluation @prisma dragon
There is a link to the git repo and a download of some zip containing the current version of the vm in case you want to test (the discord bot still requires me running my PC and I just turned it off)
I think the bot will probably be missused and end in a spamfest. Because people will be like "Oh cool. I wanna try" and suddenly 100 messages in #arma3_scripting and no one can see questions of anyone anymore
for that a sqf_vm channel could be created tho
Make it work first
^ +1. I wish I could give thumbsup emoticons
I gave you one instead.
progress report on the SQF-VM:
Please enter your SQF code.
To get the capabilities, use the `help` instruction.
To run the code, Press <ENTER> twice.
1: for "_i" from 0 to 5 do
2: {
3: diag_log _i;
4: };
5: for "_i" from 5 to 0 step -1 do
6: {
7: diag_log _i;
8: };
9:
-------------------------------------
0.000000
1.000000
2.000000
3.000000
4.000000
5.000000
4.000000
3.000000
2.000000
1.000000
-------------------------------------
Press <ENTER> to finish.```
we loop now
btw. moar stuff at https://discord.gg/b5qCUCK
anyone here able to help me out with a makefile?
need to get a shared lib out of that binary
lib_1 tries to override the ARGS value and lib_2 echos the build script?
@scenic canopy the echo was just introduced for testing ๐ did not removed before copying
so whats currently wrong?
gcc -std=c99 -shared -o libsqfvm.so prog -lm -ldl
prog: In function `_fini':
:(.fini+0x0): multiple definition of `_fini'
/usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/crti.o:(.fini+0x0): first defined here
prog: In function `_init':
:(.init+0x0): multiple definition of `_init'
/usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/crti.o:(.init+0x0): first defined here
/usr/bin/ld: libsqfvm.so: version node not found for symbol stdin@@GLIBC_2.4
/usr/bin/ld: failed to set dynamic section sizes: Bad value
collect2: error: ld returned 1 exit status
makefile:27: recipe for target 'lib_2' failed
make: *** [lib_2] Error 1
multiple main functions? extern declaration in any headers?
there is the default main function in there @scenic canopy
same code for executable and library
adding #ifned nomain and passing that to the lib function throws errors now
though ... that is due to -Werror
mhh ... too many warnings that should not happen
like the std c99 is gone now ..
ohh wait
the _fini error still is there
That should not affect anything, especially not the compilation part
except for the -Wall and -Werror ๐
got it to compile on my mac now at least
just had to fix some malloc includes
Uhhhm... right ๐
the binary itself is compilable without any prob
only when i try to get it as shared lib i run into trouble
ld: can't link with a main executable file 'prog' for architecture x86_64
Maybe prog is already linked (?) and when you make lib it tries to link it again, and that's why you get _fini twice?
oh
it has a main
of course you can't link it then
can't have a main function in a shared library
It's been a while since I created a .so so I don't remember the commands to create one, right now
i never did
only ever created executables ...
but to get the SQF bot running i need it as shared lib
Well, my guess, by looking at your makefile is that when you're creating prog, it's built as a fully fledged executable
Then, you can't make an .so out of it.
and don't include that with your lib file
and then link the lib file with your file containing the main function to get the binary
Try to access it first, before declaring victory ๐
looks good
@scenic canopy would be kind if you would provide
i probably wont maintain it though ... got no macOS
but i wont break it either ๐
now for the python script
after that, the SQF bot is finally running permanent
y ... for some reason those do not show up when compiled to normal binary with gcc for me
What is the goal of this project, actually?
the errors don't show up because the -Wall is just in the lib_1 target, not the generic one
Besides "executing SQF code" ๐
I think I was discussing creating a SQF VM with @orchid shadow a couple of months ago
looking forward to more features ๐
no connection to that part
just started because i wanted to create a learning webpage
and thought "maybe i can port that C code to webbinary"
the version above already supports very basic SQF
parsing is mostly correct
no crashes unless the parser gets thrown off
etc. etc
recently introduced: namespaces
no actual use yet, but working on it
But what is the exact point of having an SQF VM? Unit testing or something else?
who knows
everything is possible
my goal was as said: learning webpage
which requires a SQF VM
Webpages, Browsers, High Frequency Trading... ๐
unit testing ๐
EVERYTHING implemented in SQF! ๐
unit testing would be possible too when that is fully working
hell ... everything ... SQF is then mobile bro ๐
Can YOUR phone execute SQF? ๐
@nocturne basin Call me if you need some sample discord bots in Python
got the discord.py ... not working with python usually
but mono disappointed me
and python is at least working
https://github.com/X39/sqf-vm/blob/master/SQF-VM/Entry.c#L161 the SQF-VM is kinda simple to use
meep moop
Okay, let me rephrase: call me if you need some sample discord bots using discord.py ๐
I am just thinking of check syntax on Travis
probably will come back to ya @karmic niche
please push your Makefile and I'll send some stuff
@orchid shadow already done ๐
Hmm? with his VM?
@nocturne basin Note: better use the rewrite branch already, if you can (discord.py).
The default branch has a tendency of disconnecting after a few days, and the rewrite branch has an automatic reconnection mechanism implemented.
or I can add the pastebin one for now
You can run SQF outside of Arma. That's the main benefit I guess. Just message the SQF bot in here and it will evaluate your script and tell you about errors n stuff.
MulleDK19 already has made a fully functioning SQF VM + Discord Bot almost a year ago but never released it.
I'll add a dummy Makefile for now then
maybe there is no need to test with both gcc and clang ๐
macOS is also marked as allowing failures until the code is fixed
great!
I'll rebase my stuff then
I'll need to active Travis CI for your repo too for it to run
build works on linux CI now ๐
๐
PR is up
you'll need to go to https://travis-ci.org and enable it for your account + sqf-vm repo and then it will build all PRs
there you go @nocturne basin
still some code fixes and makefile changes to do ๐
gonna merge after i got the python stuff running ๐
bot is working again
and macOS build works nicely ๐
Can always use C# for the bot @nocturne basin ๐
Did not worked @fallen stone
Discord net did not wanted to run
Anyway.. Bot is now using python
Up and running in my server
Definitely should not be the case ๐
Python is way faster to work on this type of things anyways, and X39 hates Python, so it's a win-win in my eyes!
Was faster using. Net
that's because you use it all the time and you hate Python ๐
Why does he hate Python
https://community.bistudio.com/wiki/callExtension Ist says: "Currently there is no limit how much data you can send to the extension."
But after some testing it seems not to be limited to the max string size of arma (~999999) instead the parameter gets cut down to 8191 chars. Am I doing something wrong with my extension or is the wiki wrong?
Oh you double posted... I'll delete my answer then.. I hate double posters. If you can't even wait half a minute for an answer then you don't deserve one.
@leaden axle Nope, format command is limiting you to 8k
@smoky halo ? what did I ask in here? xD
lul ๐
Sorry wrong name ;P
^^
@light trellis ๐
@smoky halo just type @ + Enter and you get the last one that wrote something
thx for tip
Discord is somehow really useless when you try to mention a name
I read the answer @glossy inlet ๐
@light trellis str + str or use joinString
Thanks a lot and sorry for doubleposting
^
[ERR][L1|C3] RUNTIME: EXPECTED RIGHT PARAM TO BE OF TYPE SCALAR```
bot is now outputting kinda useful info about the errors
((should be familiar to those working with SQF ๐ ๐ ))
It's an error you should've seen at least once if you did SQF in your life
@nocturne basin what jonpas said ๐
Arma being Arma - not from your tool though ๐
Never have seen such an error
Thats a good thing
https://media.discordapp.net/attachments/349557843239632897/351728541412491276/unknown.png SQF-VM gets better every day
Implement a JIT backend for it (compile to asm on the fly), couple it with Intercept for calling all the Arma functions and then market it as "Execute the same SQF code as usual, but faster" ๐
would require the commands to be altered into an actual lang
currently, it kidna works like sqf
no actual stack language besides simple instructions
#define INST_NOP ((DATA_TYPE)0)
#define INST_COMMAND ((DATA_TYPE)1)
#define INST_VALUE ((DATA_TYPE)2)
#define INST_LOAD_VAR ((DATA_TYPE)3)
#define INST_STORE_VAR ((DATA_TYPE)4)
#define INST_SCOPE ((DATA_TYPE)5)
#define INST_STORE_VAR_LOCAL ((DATA_TYPE)6)
#define INST_ARR_PUSH ((DATA_TYPE)7)
#define INST_CODE_LOAD ((DATA_TYPE)8)
#define INST_POP_EVAL ((DATA_TYPE)9)
#define INST_CLEAR_WORK ((DATA_TYPE)10)
#define INST_DEBUG_INFO ((DATA_TYPE)11)```
the instruction set
That would be a big undertaking anyway but you would then have to use something like LLVM to compile SQF and to create a JIT.
...but I guess this would look impressive when on a CV ๐
...especially on a CV sent to Prague ๐ (oh wait, they're using EnScript already, darn!)
CALL and FORMAT are now also added to the SQF-VM
https://cdn.discordapp.com/attachments/349557843239632897/351755151394078721/SQF-VM.zip latest version of the stand alone executable
@nocturne basin can you set it up just parse the code and "run" it for syntax errors
so i can use it to validate SQF
I doubt that you will be able to use it for that already
But such mode for eg unit testing can be introduced
I mean it would be hard anyway because dynamic variable and globals.
To fully scan code anyway.
What about using https://github.com/LordGolias/sqf for that? It would be much easier to use than to convert the VM to a linter
I'm not sure whether the library above returns the right exit code on error so that's possibly the only thing that would be needed to be changed (if at all) for using it with unit tests
VM is not supposed to lint
just to run :3
I'm not sure what problems I had when trying to use that library with our code. I think that it didn't work well with macros, so we weren't able to validate our code for real, unfortunately
Also, when running it, it spit a stacktrace twice on two files IIRC but i don't really remember what was the cause
@orchid shadow there are a couple of sqf linters available already
@orchid shadow yes we already check our code with that, but it's not in our CI yet as it is not completely finished, we expect to use it in the very near future though
so far LordGolias' linter is by far the best, especially for CI
yes, macros is something that needs further work, but it is very good already
@dawn palm How to resolve this issue with the latest pboProject/makePbo?
There was no skeleton that could be used.
Read the documentation```
I don't have any RTM files in the addon
just added math commands to the SQF-VM project
latest standalone: -SNIP- (use the post below)
SQF-VM now can be used to unit test (auto-mode with proper return codes is available)
Release containing the new automation stuff & correct return codes
https://cdn.discordapp.com/attachments/349557843239632897/352146150217744398/SQF-VM.zip
https://github.com/X39/sqf-vm/releases/tag/0.1.0-alpha now gonna release via github instead of discord
contains latest version with fixes etc.
๐
@glossy inlet how far did you get with the TB formats?
for his project it would be very helpful too: https://forums.bistudio.com/forums/topic/210105-surface-painter-a-simple-toolbox-for-map-makers/
0% ๐
@vague shard he seem to have fixed it and already pushed a update
yup seen it. still would be beneficial to avoid TB for other reasons
like faster rvmat generation
or more flexible mask generation (limit of colors per cell)
and terrain builder object import is slow beyond belief, it takes like an 45min+ to import few million objects. mikero fixed this back in arma2 visitor .PEW file days by making tool to handle the export/import.
tv4p looks like standart BIS binarization.
tv4l binarized
tv4s binarized
v4w a bunch of floats?
v4d complete gibberish. Probably compressed :/
Do you have any Idea which of these files is where placed objects are stored in?
the tv4p contains a list of models without duplicates. That probably assigns a number to each model
tv4l is object layer stuff.
What is a "layer" and can there be multiple ones?
directory structure is MyAddon\Source\TerrainBuilder\MyAddon.Layers\ where you have files like: NameOfLayer_001.tv4l multiple layers yes, I believe each layer is its own tv4l file.
What is a layer though?
I'm quite sure I can just debinarize these. But if there are multiple ones how to know which layer an object should be imported into
what is layer, umm same as photoshop or other editing program layers I guess? ๐ heh, layers manager you have object and shapes. shapes are shapefile layers and objects are object layers (tv4l).
So. If you import objects you would specify which layer to import them to?
honestly not sure, when I import objects terrain builder generates new layer for each import. not sure if I could choose layer somehow.
(or maybe I import to "Default" layer and it wont accept this and creates new layer according to imported filename, dunno).
So after my first look it seems to be just a binarized config. And we already know how these work. If it is really just that then it will be easy to do stuff with it
if/when you get some code to test on, just call me up anytime and I'm happy to do it.
And I will make a MB export with objects -> MB -> Snake Mans/Dedmens tool -> TB ๐
@glossy inlet at which TB file format did you have a look?
The ones I wrote.
iirc tv4p should have most of the project stuff in it
at least this is the one you open your project in TB and save into
@glossy inlet completely missed that post by you - v4d has 100 bytes unknown header data and then a zlib compressed data block attached (the last 4 bytes of the file are the adler32 checksum)
๐ฎ Then that mistery is solved I guess ๐
v4d files are raster layers (whatever that means) which are image data, satellite textures and masks, as well as heightmap data.
So stuff I don't care about ^^
Im guessing the tv4l uses the template libraries, if you delete them, it comes up with an error about not being able to find the object
"what is template library?", its this: https://github.com/SnakeManPMC/arma-3-terrain-builder-TemplateLibs/blob/master/A3_Rocks.tml
An the error Error: Project manager - Cannot find lib p:/rof/rof_test/source/terrainbuilder\TemplateLibs\adverts.tml! Error: Template library 'adverts' is missing. Some objects may not be loaded! [Layer: del] QuadTreeLeaf loading - unable to find template: [A_AdvertColumn] from library: [adverts]
I just moved an object from one template library to another, an TB found the objects already placed. No errors at all. I guess it dont care what library its in, as long as its in one
Afaik they are only referenced by name
If you have 2 objects the same in your templibs, TB tends to crash on save. Many words were said that day, trying to find what one ๐
Jup, because they are only referenced by name and not by path/folder/whatever
So if we changed the name but left filepath, would it screw up the .wrp etc. Because there is objects I would like in 2-3 categories
all names must the unique, lookup is across all template libraries
when the WRP is exported it will contain the filepath from the template
the name in the template have no meaning for the exported wrp
p3d filename is tied to the config class as well
So I could change the name of the A2 stuff to english, as long as I leave the filepath etc alone