I don't know when I'm going to release new version. Not any time soon. Fwatch itself is done for the most part but I want to finish scripts using it before its release. And when I see how much work there is to be done I lose motivation and start to procrastinate...
Anyway, you can play around with this
test release. I recommend to make backup of the
.dll,
.exe and
data folder (so you could go back to 1.13). For CWA version just rename executable to
fwatchCWA.exe. In
documentation look for commands marked
upcoming and
update (click on the version number for changelog).
====
THIS INFORMATION IS OBSOLETEHow to unpack PBO files:
_ok = call loadFile ":exe unpbo -F mission.sqm Missions\01takethecar.abel.pbo"
? !(_ok select 0) : hint (_ok select 3); exit
Starts the program and displays error if it failed. This will extract only a single file. To extract everything just use
:exe unpbo mission.pbo. To get addon config use
:exe unpbo -F config.cpp,config.bin addon.pbo.
#Wait
~0.01
_ok = call loadFile "..\fwatch\data\manage_extractpbo.sqf"
? count _ok == 0 : goto "Wait"
Wait for the program to finish unpacking by checking file with results.
? !(_ok select 0) : hint (_ok select 3); exit
? (_ok select 4) != 0 : hint "error extracting pbo"; exit
Actually Fwatch is launching custom program
manage_extractpbo.exe which in turns executes
extractpbo.exe. I use such redundancy in order to monitor process exit code (I won't do it with the Fwatch itself because the game is stopped when I call it).
So the array _ok now contains error information whether
manage_extractpbo.exe failed to launch
extractpbo.exe. Last item in the array is
extractpbo.exe exit code. 0 for success and 1 for failure. I guess there are no other values.
_ok = call loadFile ":class token f:..\fwatch\tmp\01takethecar.abel\mission.sqm c:[Mission,Intel] n t:startWeather"
? !(_ok select 0) : hint (_ok select 3); exit
hint Format ["Initial Weather:\n%1", (_ok select 7) select 0]
Files are extracted to the \fwatch\tmp\ directory. Use
:class token with parameter
n to disable stringification.
Files are unbinarised and derapified but still there's no guarantee that you'll be able to access mission.sqm because you need to find the mission first.
I'll leave this to you, people to figure out. I'll drop some tips, though:use (playersNumber west + playersNumber east + playersNumber resistance + playersNumber civilian) == 0 to check for SPuse :mem missioninfo to get mission nameuse :file read2 to get last campaign name from userinfo.cfguse :mem modlist, :file modlist and :il to search for campaignssearch for files in user\Saved with :il and compare last modification times (using DateDifference) with mission starting time to perhaps find what player is playing now
OBSOLETE. See
this post.
====
Initialize FLIB_EXEC (and other functions) by using:
["flib_exec"] call preProcessFile "..\fwatch\data\InitFLib.sqf"
Don't use exec function if you're sure that the command is within the limit because then you're just making redundant calls.
You can now log errors using
ErrorLog.sqs. Instructions how to use it you'll find inside the file.
Things may change in the final release.The damn thing thinks it's "\t" (tabulation) here and can't find the file
That was an issue with the exec function. Fixed in 1.14.
BTW, if campaign mission ends with "mission", it doesn't work somehow.
I need more details. Error description? What's the path?