29.10.16 - in 1.15 :il wasn't allowing to access game root dir - fixed 29.10.16 - :string tokenize addEmpty:both wasn't adding two empty strings on empty input - fixed 06.12.16 - :igse load clipboard now copies to a temporary buffer first, then to clipboard 08.12.16 - :igse write - fixed crashing when replacing line in a file that ends with \n 04.01.17 - added Download.sqs 07.01.17 - DateDifference.sqf - variable _j wasn't local and would interfere with other scripts - fixed 07.01.17 - ModifyDate.sqf - would show max unit number (like 11:60) after decreasing - fixed 07.01.17 - ModifyDate.sqf - days were changed when added hours - fixed 07.01.17 - ModifyDate.sqf - no error message when pased incorrect unit string - fixed 07.01.17 - FormatDate.sqf - added switch "@" 09.01.17 - implementing Game Schedule to MainMenu.sqs 12.01.17 - DateDifferenceInDays.sqf - added "ignorehour" and "fraction" options 12.01.17 - added :exe addoninstall 20.01.17 - added :exe website 08.02.17 - DateDifference.sqf - fixed syntax error (_array local var) 13.02.17 - :igse write - added "exist" argument 17.02.17 - gameRestart.exe now works with Steam and game scheduling 18.02.17 - :restart client - arguments "check" and "close" can now be used 24.02.17 - :igse write - "exist" renamed to "open"; added "open:unique" mode 24.02.17 - fwatch.exe - added 7za.dll, 7za.exe, 7zxa.dll, UnRAR.exe to the list of required files 27.02.17 - fwatch.exe - removed 7za.dll, 7za.exe, 7zxa.dll, UnRAR.exe 27.02.17 - fwatch.exe - added 7z.exe and 7z.dll 03.03.17 - DateDifferenceInDays.sqf - "fraction" was bugged when dates had the same hour - fixed 03.03.17 - addonInstaller.exe - finished first working version 03.03.17 - gameRestart.exe - finished update (now works with game schedule) 03.03.17 - MainMenu.sqs - finished first working game schedule version 04.03.17 - MainMenu.sqs - couldn't connect or download mods when server version wasn't given - fixed 04.03.17 - :string find - added quoteSkip option 05.03.17 - :string tokenize - quoteSkip wasn't working properly with multiple delimiters - fixed 05:03.17 - :string find - option "limit" would one string less than it should - fixed 09.06.17 - :info date - now includes dst offset 26.07.17 - :spig exe - wasn't working with missions with spaces in their names - fixed 28.07.17 - :string cut - was trimming input - fixed 28.07.17 - :string split - wasn't closing quote when segment was specified and last segment was smaller - fixed 20.12.17 - :clip pastefile - fixed crashing 16.07.18 - started to work on binary database 08.09.18 - finished work on binary database 13.09.18 - addonInstaller - renamed macro "DOWNLOAD_FILENAME" to "" 13.09.18 - addonInstaller - added macro "" to the "move" commands 13.09.18 - addonInstaller - renamed "run" to "ask_run" and "execute" to "ask_execute" 13.09.18 - addonInstaller - added "ask_download" and "delete" commands 16.09.18 - addonInstaller - added "rename" command 17.09.18 - addonInstaller - added "If_version", "else", "endif" commands 18.09.18 - addonInstaller - added "makepbo", "extractpbo" commands 18.09.18 - added makepbo.exe 1.82 to fwatch\data 18.09.18 - addonInstaller - fixed "mdir" creating custom directories in the game folder 18.09.18 - addonInstaller - "mdir" will now create modfolder if it's missing 18.09.18 - addonInstaller - renamed "mdir" to "mkdir" 18.09.18 - addonInstaller - added macro "" to copy command 19.09.18 - addonInstaller - "ask_download" now opens fwatch\tmp directory 19.09.18 - addonInstaller - move/copy - overwrite by default, use argument "no_overwrite" to cancel 19.09.18 - addonInstaller - makepbo deletes source directory by default, added argument "no_delete" 19.09.18 - addonInstaller - delete/rename default directory is modfolder, removed macros 19.09.18 - addonInstaller - "makepbo" command can use dot as first argument 19.09.18 - addonInstaller - "extractpbo" will return error if the file doesn't have a PBO extension 19.09.18 - addonInstaller - "extractpbo" added macro 19.09.18 - addonInstaller - "extractpbo" added destination argument 19.09.18 - addonInstaller - added alias "unpackpbo" 19.09.18 - addonInstaller - "move" - copying modfolder to game root dir only available from the download directory 19.09.18 - addonInstaller - "extract", "ask_execute" - if no arguments passed then uses last downloaded file 20.09.18 - addonInstaller - added macro
which is the same as to "Move" 20.09.18 - addonInstaller - move/copy - added third argument rename, no_overwrite was moved to fourth argument 20.09.18 - addonInstaller - unpack no arguments will work with ask_get 21.09.18 - addonInstaller - rewritten move/copy, renaming works with wildcards 23.09.18 - addonInstaller - unpack - archive within archive was extracted to the wrong directory - fixed 23.09.18 - addonInstaller - renamed "mkdir" to "makedir" 24.09.18 - addonInstaller - "delete" without arguments now removes last downloaded file; wildcards will match folders 24.09.18 - addonInstaller - "rename" without arguments nwo removes last downloaded file; wildcards will match folders 08.10.18 - addonInstaller - finished code clean up 12.10.18 - addonInstaller - if can have comparison operators 13.10.18 - addonInstaller - implemented nested conditions 15.10.18 - addonInstaller - move/rename/delete doesn't match folders unless used /match_dir switch 15.10.18 - addonInstaller - move/rename/delete - added /match_dir switch which can be which can be passed in any order 15.10.18 - addonInstaller - makepbo - changed "no_delete" argument to /no_delete switch which can be passed in any order 17.10.18 - addonInstaller - auto installation removes file when finished 17.10.18 - addonInstaller - unpack/move/ask_run can now take url as an argument; download command now considered obsolete 18.10.18 - replaced makepbo 1.82 with makepbo 1.75, replaced extractpbo 1.85 with 1.80, replaced depbo dll 4.06 with 3.52 23.10.18 - addonInstaller - overhauled error messaging 01.11.18 - addonInstaller - creates mod identification file 24.10.18 - added :igse db command ws2_32.lib 25.10.18 - added functions for dynamically allocating string buffers 25.10.18 - :igse db - now saves missing key list and key/value list to the return array instead of saving them in local arrays 31.10.18 - :file modlist - returns error array with schedule info 29.12.18 - removed fwatchCWA.exe, added armaresistance.exe to executable list, added -run= parameter 23.01.19 - command line is used (instead of CreateProcess) to launch Steam 11.02.19 - :restart client, :exe addontest, :exe addoninstall now pass gameexexe name to the program 05.03.19 - :file modlist - detects modfolders with "worlds" subfolder 05.03.19 - fwatch.exe now generates fwatch_info.sqf 06.03.19 - finished overhauling gameRestart.exe 07.03.19 - finished working on addonInstaller.exe 10.03.19 - fwatch.exe - added another stringtable offset for wgl 10.03.19 - getExitCode.exe - removes temporary file after few seconds 10.03.19 - :file modlist - returns max custom file size when passed username 10.03.19 - addonInstaller - added password for unpack 10.03.19 - addonInstaller - added test mode 10.03.19 - gameRestart.exe - added random wait before scheduled connection 10.03.19 - gameRestart.exe - removes temp files when self-updating 11.03.18 - finished working on MainMenu.sqs, MainMenu_fnc.sqs 18.03.19 - addonInstaller - now id contains mod name 19.03.19 - addonInstaller - added begin_ver command 19.03.19 - addonInstaller - added testmodnewname parameter 19.03.19 - addonInstaller - move * /match_dir now moves modfolder 19.03.19 - fwatch.exe - fwatch_info.sqf parameters now as array instead of string 20.03.19 - fwatch.exe - added option to cancel changing ui settings through __fwatch_config file in the mod 20.03.19 - :file modlist - now checks if custom face was selected in options before testing it's size 20.03.19 - addonInstaller - "Ask_Get" – detects if the file already exists 20.03.19 - addonInstaller - "Ask_Get" – asks you to select download dir and saves its location 20.03.19 - addonInstaller - "Ask_Get" – now automatically moves file to fwatch\tmp\ instead of asking the user to do it 20.03.19 - addonInstaller - "Ask_Run" – now executes the file instead of opening folder with it 21.03.19 - addonInstaller - added "beginver" command 21.03.19 - addonInstaller - added "assignkeepname" parameter 21.03.19 - addonInstaller - saves mod name and force rename option to identification file 22.03.19 - addonInstaller - added "download_token" command 23.03.19 - addonInstaller - "download" command now forces output files to "fwatch\tmp" 23.03.19 - addonInstaller - "download_token" now handles as many links as specified (instead of just two) 23.03.19 - addonInstaller - improved wget log parsing 23.03.19 - updated wget.exe to 1.19.4 24.03.19 - addonInstaller - "ask_run" - makes a backup copy of "aspect_ratio.hpp" 24.03.19 - addonInstaller - downloaded file is removed if wget returned error 24.03.19 - added support for 2.01: master server, presence check, custom port with reporting listen server, error logging, hud align 24.03.19 - added support for 2.01: file modlist, mem getcursor, mem setcursor, mem masterserver, mem error, 24.03.19 - :info version extended - displays proper version number for 2.01 30.03.19 - addonInstaller - removed "download_token"; download links can now contain all the necessary arguments 30.03.19 - addonInstaller - move - added | (vertical bar) to separate download arguments from move arguments 30.03.19 - addonInstaller - "Download" - now cannot pass custom wget arguments anymore 31.03.19 - gameRestart - now can force original mod name per id file setting 31.03.19 - DateDifferenceInDays - fixed a bug where it would loop infinitely when comparing from 31st day of the month 01.03.19 - addonInstaller - implemented mirror switch 02.03.19 - addonInstaller - deletes progress file if restarting after installation 02.03.19 - addonInstaller - renamed parameter "testmodnewname" to "testdir" 02.03.19 - MainMenu.sqs - details of schedule downloading displayed in listbox 02.04.19 - fwatch.exe - removed dll files for old wget 04.04.19 - 2.01 doesn't require to use -run parameter anymore, also modified gameRestart and sortMissions for this 06.04.19 - addonInstaller - auto installation would treat "_extracted" directory as a mod in itself - fixed 06.04.19 - addonInstaller - auto installation wouldn't work with archives within archives - fixed 06.04.19 - addonInstaller - auto installation won't ignore modfolders if their name is contained in download file name 08.04.19 - addonInstaller - fixes to wget log parsing 09.04.19 - addonInstaller - fixes to unpack log parsing 10.04.19 - added command :mem hud 11.04.19 - fwatch.exe now reads file to modifies hud 11.04.19 - fwatch.exe modifies hud once, except chat which is updated every time it changes 19.04.19 - fwatch.exe, :mem hud - now hud colors can be changed 13.06.19 - fwatch.exe - fwatch arguments are not passed to the game (to fix the steam startup) 13.06.19 - fwatch.exe - doesn't modify ui if found the same game process id as last time 16.06.19 - fwatch.exe - -nomap is added on the beginning of the command line 18.06.19 - mem graphics - added current detail terrain 18.06.19 - gameRestart - reads arguments from fwatch_info.sqf and passes it when starting a new instance of Fwatch 21.06.19 - finished rewriting igse write 21.06.19 - igse commands now use new String buffer for path to the file 21.06.19 - added error 209 and 210 22.06.19 - fixed crashing when calling FWerror (was freeing unallocated memory) 22.06.19 - MainMenu.sqs - more detailed display when patch available 02.07.19 - MainMenu_fnc.sqf - couldn't install a mod if a mod with the same name but different id exists - fixed 03.07.19 - :class modtok - command was not adding semi-colon at the end when inserting new value - fixed 11.07.19 - MainMenu.sqs - installation script is now downloaded as a separate file to avoid crashing 11.07.19 - addonInstaller - fixed issue with renaming when two mods have the same name but different ids 11.07.19 - addonInstaller - removed endmod command, now cleaning is done between mods/versions, id file is saved after each version 11.07.19 - addonInstaller - added arguments installid, installdir for matching folder names with mod id tag 11.07.19 - addonInstaller - failed mirror link would signal end of entire installation to the game - fixed 11.07.19 - addonInstaller - Edit command - added /newfile switch 11.07.19 - addonInstaller - Edit command - /insert switch can now add new line at the end of the file 13.07.19 - addonInstaller - now changes modification date of edited files and created pbo to a value set by the install script 13.07.19 - addonInstaller - condition block wasn't affecting auto installation - fixed 13.07.19 - addonInstaller - code cleanup 13.07.19 - addonInstaller - added argument downloadscript; now downloads installation script from the website 13.07.19 - MainMenu.sqs - now writes url to installation script to a text file instead of downloading it 14.07.19 - gameRestart - now uses encrypted passwords and ip address 14.07.19 - :igse write - wasn't creating new lines properly - fixed 21.07.19 - exe commands - rewrite 21.07.19 - now more exe commands work on dedicated server (preprocess, wget, unpbo addoninstall) 21.07.19 - added :exe makepbo 28.07.19 - MainMenus.sqs - game schedule doesn't download logo if unchanged 28.07.19 - sortMissions.exe - rewritten, now works on dedicated server 28.07.19 - gameRestart.exe - now waits for sortMissions.exe to end before restarting 28.07.19 - :mem setcam - fixed for single player 29.07.19 - addonInstaller.exe - more detailed error message when makepbo failed 29.07.19 - MainMenu.sqs - cannot update mods when they are loaded 10.08.19 - removed sortMissions.exe, removed -sortmissions parameter; now mission transfer is always enabled and done through Fwatch.exe 11.08.19 - gameRestart.exe - connects to selected teamspeak3 server 31.08.19 - fwatch.exe - if transfering mission failed entry is now kept in the log file so that the transfer can be retried in the future 01.09.19 - MainMenu.sqs - schedule is now refreshed every time it is opened 17.09.19 - :exe restart - fixed crashing when not passing any arguments 21.09.19 - addonInstaller - fixed bug where extracted pbo wouldn't be moved from temp\_extractpbo to final destination 21.09.19 - addonInstaller - when moving specific directory that already exists its subfolders will be moved as well 22.09.19 - addonInstaller - added option to auto-connect to the voice server when done installing (switchable from game main menu) 22.09.19 - MainMenu.sqs, gameRestart.exe - supports Mumble as a voice server 22.09.19 - MainMenu.sqs, gameRestart.exe - added option to connect to the server with or without voice program 29.09.19 - MainMenu.sqs - simplified option for voice connect 29.09.19 - gameRestart - changed url for self update 03.10.19 - addonInstaller, gameRestart - fixed issue when program would be stuck when renaming folders 04.10.19 - :file modlist - now returns hash of modfolders with Game Schedule id 04.10.19 - :file modlist - includes modfolders with only Missions or MPMissions subfolders 04.10.19 - MainMenu.sqs - refreshes schedule when users modified his modfolders 04.10.19 - MainMenu.sqs - list of mods is refreshed every time you click on "Mods" button (instead of just once) 04.10.19 - addonInstaller - displays installation progress 08.10.19 - MainMenu.sqs - fixed a bug where "schedule" directory was not being created 08.10.19 - MainMenu.sqs - added a button to go visit voice program download page 08.10.19 - MainMenu.sqs - mods weren't refreshed when assigned id - fixed 08.10.19 - MainMenu.sqs - improved error display 08.10.19 - gameRestart - added error message if self updating failed 09.10.19 - MainMenu.sqs - added support for Discord/Steam invite links 09.10.19 - MainMenu.sqs - removed server short name 09.10.19 - MainMenu.sqs - minor tweaks 10.10.19 - gameRestart.exe - self-update: simplified process - downloading file to the game dir and unpacking it 10.10.19 - gameRestart.exe - self-update: added error messaging 10.10.19 - gameRestart.exe - self-update: works properly with -nolaunch 10.10.19 - gameRestart.exe - arguments weren't properly written in log - fixed 10.10.19 - gameRestart.exe - now separates arguments that have equality sign from those that don't to avoid argument bug 11.10.19 - MainMenu.sqs - fixed bug with error message when installing mod 11.10.19 - MainMenu.sqs - fixed issue with schedule not being refreshed when access code changed 11.10.19 - MainMenu.sqs - fixed issue with opening invite link when set to restart after installation 11.10.19 - MainMenu.sqs - voice download/invite link option is hidden until met requirements for connection 13.10.19 - :file modlist - wasn't working on dedicated server (since march) - fixed 13.10.19 - :string cut - added arguments startfind, endfind, matchword, casesensitive, startoffset, endoffset 19.10.19 - MainMenu.sqs - added option to view mod changelog 19.10.19 - gameRestart.exe - fixed bug where fwatch arguments would be duplicated 19.10.19 - fwatch.exe - transfering missions from modfolders is now done in reverse order 06.12.19 - addonInstaller - calculates number of installations steps and displays it as integer (rather than percentage) 06.12.19 - :file modlist - custom face above 100kb is ignored and sounds above 50kb are ignored 06.12.19 - MainMenu.sqs, MainMenu_fnc.sqf - added localization 08.12.19 - addonInstaller - added localization 09.12.19 - MainMenu.sqs, gameRestart - updated voice address encrypting 09.12.19 - MainMenu.sqs - optimized request for mod info 10.12.19 - ModifyDate.sqf - fixed bug with minutes being 60 instead of 00 11.12.19 - gameRestart - is now launched through fwatch.exe thread to avoid conflict with steam 12.12.19 - gameRestart.exe - auto resource.cpp update 12.12.19 - fwatch.exe - changed -nolaunch message 13.12.19 - MainMenu.sqs - added keyboard control with arrow keys 13.12.19 - fwatch.exe - restructured presence thread; now doing more general search for "Cheat 1" phrase 29.12.19 - MainMenu.sqs - added mod downloading from "Mods" section 30.12.19 - fixed issue with exe arguments when launching Steam 31.12.19 - addonInstaller.exe - fixed bug with auto installation when 7z archive had a dot in its name 31.12.19 - addonInstaller.exe - fixed bug with "Edit" command which wouldn't copy last line in the file if it was empty 01.01.20 - MainMenu.sqs - fixed bug where [Download Mods] option wasn't working when fwatch\tmp\schedule folder didn't exist 03.01.20 - addonInstaller.exe - auto install now moves missions to MPMissions folder by default 05.01.20 - addonInstaller.exe - added command "alias" 12.01.20 - added command :class read 16.01.20 - added command :class read2 22.01.20 - added command :class readsqm 28.01.20 - preproc.exe - sets path for including files to the location of the source file 01.02.20 - addonInstaller.exe - supports unicode in file names 05.02.20 - addonInstaller.exe - auto installation now checks if mission is SP or MP and copies to the right folder 05.02.20 - addonInstaller.exe - auto installation copies addons with dot in their name to addons folder instead of missions folder 06.02.20 - fwatch.exe - mission transfering supports unicode in file names; will transfer unpacked missions 10.02.10 - removed getMissionDir, isLeavingDir, isAllowedExternalPath functions; added VerifyPath function 10.02.10 - added "set-pos-in-game" folder to the list of allowed external locations 11.02.10 - modified class, exe, igse commands to use VerifyPath function 12.02.20 - modified clip commands to use VerifyPath function 12.02.20 - :clip fromfile, :clip tofile, :clip copyfile, :clip cutfile - optimized code 12.02.20 - :clip pastefile - optimized code; lifted restrictions for moving files outside of game dir 13.02.20 - :igse new mode:delete - now properly removes folders from fwatch\tmp directory 14.02.20 - addonInstaller - added /append switch to the edit command 14.02.20 - addonInstaller - makepbo command wasn't working with file with spaces - fixed 16.02.20 - addonInstaller - added custom delimeters for command arguments 16.02.20 - addonInstaller - installation progress number wasn't correct when going through mirrors - fixed 16.02.20 - MainMenu.sqs - shows error if _pid is undefined when launching installer 16.02.20 - fwatch stops execution of unsupported mem commands on 2.01 28.02.20 - :clip fromfile - wasn't working due to recent changes with VerifyPath - fixed 28.02.20 - :exe unpbo - added destination directory argument 28.02.20 - :igse write - wasn't returning anything when there weren't any errors - fixed 28.02.20 - :igse write - fixed crashing 28.02.20 - :clip tofile - append mode wasn't working - fixed; uses new argument system; added option to write custom text 01.03.20 - addonInstaller - added global alias for a mod name; command alias now works until end of the script 01.03.20 - addonInstaller - added alternative name "unpbo" for "unpackpbo" command 01.03.20 - :class readqm - case insensitive check for class names 04.03.20 - MainMenu.sqs - fixed issue with not being able to run installer 05.03.20 - Path to mission in Fwatch was incorrect when script name ended with init.sqs - fixed 22.03.20 - MainMenu.sqs - added tries=1 for downloading images 24.03.30 - :mem getnv - wasn't working in 1.99 in vehicles - fixed 25.03.20 - :class read, :class read2, :class readsqm - handles square brackets (rather than just curly) for value arrays 25.03.20 - :class read, :class read2, :class readsqm - removes trailing commas in value arrays 25.03.20 - :file modlist returns user name 26.03.20 - addonInstaller - added --tries=3 for downloads 27.03.20 - gameRestart - disables custom files if they're above server limit 27.03.20 - gameRestart - added download mirrors for self-update files 27.03.20 - MainMenu.sqs - implemented download mirrors for schedule 27.03.20 - MainMenu.sqs - passed server custom file limit and user name to gameRestart 11.06.20 - fwatch.exe - mission transfer now also works for Templates and SPTemplates 11.06.20 - fwatch.exe - mission transfer wasn't working when mod had dots in its name - fixed 11.06.20 - fwatch.exe - on startup if -gamespy parameter wasn't passed then reads ..\fwatch\idb\MasterServers.sqf and applies first address 11.06.20 - MainMenu.sqs - rewrites MasterServers.sqf when changing addresses; shows error message when current master server address is invalid 25.06.20 - in the middle of major code overhaul 12.07.20 - fixed bugs with mission transfer, steam launching, ui changing due to recent overhaul 14.08.20 - removed function listDirFiles (:file modlist and :igse list now have their own code for it) 14.08.20 - :file modlist - folder that contains "Templates" or "SPTeamplates" will now count as a modfolder 30.08.20 - exe commands uses mailslot to tell fwatch.exe to launch program instead of doing it directly 30.08.20 - exe commands now returns programs exit code 31.08.20 - fwatch.exe will now log scripting errors when error logging is enabled 31.08.20 - added Polish translation for MainMenu.sqs and addonInstaller 01.09.20 - removed program getExitCode.exe 01.09.20 - MainMenu.sqs doesn't close dialog when cursor is not over window 04.09.20 - fwatch.exe transfers error code if createprocess failed (when using :exe commands) 04.09.20 - :igse load - returns empty string if file doesn't exist 04.09.20 - fixed bug where Fwatch wasn't restoring hud position after using :mem hud 05.09.20 - renamed addonInstaller.exe to addonInstarrer.exe to avoid Windows heuristics 12.09.20 - :exe wget is run by default with --no-check-certificate parameter 12.09.20 - fixed crashing with :string compare, :string type, :string variable introduced in recent code cleanup 12.09.20 - Download.sqs - takes three params now (added filename); removes existing file before downloading 12.09.20 - :igse db - fixed data corruption when appending data 12.09.20 - :info data - fixed bug when normalizing date introduced in recent code cleanup 23.09.20 - :restart server now uses gameRestart.exe instead of FwatchPresence thread in fwatch.exe 23.09.20 - modified gameRestart.exe to handle dedicated servers 01.11.20 - fixed :igse write buffer issue that was introduced in the rewrite 11.11.20 - added :class verify command 19.12.20 - addonInstaller - wget tries reduced to 1, added useragent parameter, handles links in single quotation marks, will transfer POST arguments if link is in a form 21.12.20 - fixed :igse write mode:copy (bug introduced in the rewrite) 22.12.20 - removed :class verify; instead :class read2 now has verify mode 30.12.20 - fixed :igse write mode:moveup (bug introduced in the rewrite) 30.12.20 - :class read2 verify now checks for excess closing brackets 31.12.20 - :class commands - increased buffer for reading lines from 512 to 1024 bytes 11.01.21 - addonInstaller - rewritten parser to now use url blocks; move command errors are not ignored anymore and will stop installation 12.01.21 - addonInstaller - move command errors are not ignored anymore; alias command would use word "alias" itself - fixed 12.01.21 - MainMenu.sqs - added option to close window during installation 14.01.21 - fwatch.exe - now moves folders from mod\islandcutscenes to addons and from mod\islandcutscenesres to res\addons 15.01.21 - fwatch.exe - instead of mod\IslandCutscenesRes there's now mod\IslandCutscenes\_Res 15.01.21 - fwatch.exe - added mod\MissionsUsers and mod\MPMissionsUsers 16.01.21 - fwatch.exe - fixed bug with transfering islandcutscenes 16.01.21 - addonInstaller - fixed bug with move/copy where dot argument wasn't working 16.01.21 - addonInstaller - fixed bug with copy when trying to copy a folder and changing its name 16.01.21 - addonInstaller - brought back installation step count and proper command line number after rewrite 18.01.21 - addonInstaller - now corrects timestamps in a pbo file after using makepbo.exe 18.01.21 - addonInstaller - makepbo - makes a backup of a pbo and restores it in case of an error 24.01.21 - fwatch.exe - added security description for mailslot so that it will work without administrator rights 25.01.21 - gameRestart - fwatch self update - will download from the other domain when archive extraction failed 05.02.21 - addonInstaller - finished major restructuring; added proper error message for move/copy; rename/delete errors stop installation 11.02.21 - MainMenu.sqs - added silent mode for checking mod updates 11.02.21 - MainMenu.sqs - mod list is saved to local file instead of downloading it each time 11.02.21 - MainMenu.sqs - changed mod checking code from sqf to sqs so that it won't freeze the game 11.02.21 - MainMenu.sqs - fixed issue with mod install not being downloaded from the correct url 11.02.21 - MainMenu.sqs - when downloading required mods chagne string from "restart" to "connect" 11.02.21 - addonInstaller.exe - added install script version checking 11.02.21 - addonInstaller.exe - added filedate command 11.02.21 - addonInstaller.exe - error in changing file date will stop the installation 11.02.21 - addonInstaller.exe - fixed issue with installation progress number not showing up 12.02.21 - addonInstaller.exe - if unpacking failed will try another download url 12.02.21 - addonInstaller.exe - test mode wasn't working due to recent commit 11 feb 2021 12.02.21 - MainMenu.sqs - slowed down mod checking in silent mode because it was lagging the game 24.02.21 - fwatch.exe - fixed issue with not being able to create mailslot because of Steam inheriting the handle 24.02.21 - fwatch.exe - fixed issue with hanging console window after launching Steam 24.02.21 - MainMenu.sqs - added password input for private mods 24.02.21 - addonInstaller.exe - added exit command 24.02.21 - addonInstaller.exe - added /match_dir_only switch 24.02.21 - addonInstaller.exe - downloaded files are removed before the next download except with GET command 24.02.21 - addonInstaller.exe - intermediary urls may contain href=" and that phrase will be correctly ignored 25.02.21 - :exe makepbo - now will fix file dates after creating pbo 25.02.21 - :igse db - fixed issue where data was damaged when resizing buffer 25.02.21 - MainMenu.sqs - updated colors for options in the Mods menu 26.02.21 - MainMenu_fnc.sqf - hotfix: was building wrong installation arguments and installation wasn't working 28.02.21 - addonInstaller.exe - hotfix: move command wasn't moving modfolders to the game dir 01.03.21 - MainMenu.sqs - with "movetop" argument cursor will be moved to the top left corner instead of top middle 05.03.21 - addonInstaller.exe - fixed bug where auto install would copy extraction folder if it only contained missions 05.03.21 - addonInstaller.exe - subfolder inside "missions" folder is now only merged with "missions" in the modfolder if its name matches the mod name 06.03.21 - addonInstaller.exe - doesn't change user agent argument for wget when downloading installation script 29.04.21 - addonInstaller.exe - fixed progress counter going above the maximal value 29.04.21 - addonInstaller.exe - added /timestamp switch for MAKEPBO and EXE commands 29.04.21 - addonInstaller.exe - fixed issue with automatic installation not going to the next mirror when unpacking archive failed 29.04.21 - gameRestart.exe - fixed issue with self update archive being downloaded twice 29.04.21 - gameRestart.exe - log will not display exe parameters: password,port,connect 30.04.21 - restructuring custom string; added String_append_format function 30.04.21 - restructuring output writing; added QWritef function 06.05.21 - added QWritel functions; removed getAttributes function 06.05.21 - renamed function FormatTime to SystemTimeToChar and FormatFileTime to FileTimeToChar 06.05.21 - renamed PrintDoubleQ to QWriteDoubleQ; optimized 07.05.21 - implemented command name hashing 08.05.21 - removed a bunch of functions that are now unnecessary 08.05.21 - string commands are now handling hashed arguments 10.05.21 - class, clip, igse, mem are now handling hashed arguments 13.05.21 - output file handles are now global variables to reduce the number of arguments passed 14.05.21 - rewritten error handling - added functions fwerror2, fwerror_winapi, fwerror_errno 14.05.21 - added igse db2 - new version of the database 15.05.21 - changed fnv hashing algorithm to fnv-1a 15.05.21 - code cleanup; removed :file renamemissions 20.05.21 - functions fwerror_winapi, fwerror_errno removed and merged into fwerror2; renamed fwerror2 to qwrite_err 24.05.21 - fixed crashing due to unclosed outf stream 27.05.21 - restructuring mem commands 07.06.21 - fixed issue with quoted named arguments not working 07.06.21 - optimized :string replace (no buffer allocation) 08.06.21 - optimized :mem modlist (single pass parsing) 10.06.21 - added :igse load2 which is a rewrite of igse load; can now pass negative numbers to start: and range: arguments 11.06.21 - added two new error codes: 300, 301 for :igse db2 when file header is incorrect 11.06.21 - :igse db2 will return error if file doesn't exist when doing only reading operations 15.06.21 - fixed bugs in :igse db2 17.06.21 - optimized copytoclip function 17.06.21 - :igse load2 - added sqs_parallel mode 18.06.21 - modified code in order to adhere more to modern standards 18.06.21 - formatKey was changed to QWrite_formatKey; readJoystick was changed to QWrite_Joystick 19.06.21 - switched to using unsigned int; function shift_text_in_buffer changed to shift_buffer_chunk 21.06.21 - added :class write 22.06.21 - removed :igse db; renamed :igse db2 to :igse db; removed :igse load; renamed :igse load2 to :igse load 23.06.21 - added fwatch\data\Format.sqf 25.06.21 - rewritten :class readsqm so that it works if spacing is different 25.06.21 - added db error values for :igse db 26.06.21 - :igse db - values are now terminated with zeros 27.06.21 - finished deubgging :igse db, :class readsqm, :class write 27.06.21 - :igse load converts unit separator to record separator; fwatch converts record separator to unit separator 29.06.21 - function ConvertStringPos supports multiple minuses 29.06.21 - fixed issue with buffer size being calculated incorrectly in :class write, :igse write, :igse db 29.06.21 - :class read - added verify argument 29.06.21 - removed usage of FWERROR_FILE_READ (209) and FWERROR_FILE_WRITE (210) error codes 29.06.21 - removed :class read2 29.06.21 - :class write - fixed incorrect output data in case of error 29.06.21 - :igse db - fixed issue with values being appended after terminating zero 29.06.21 - :igse db - fixed issue with remove: working incorrectly 29.06.21 - :string join - fixed named arguments not working (introduced in recent change) 29.06.21 - rewritten :string join 29.06.21 - rewritten fwatch\data\Format.sqf 29.06.21 - MainMenu.sqs removes damaged databases 30.06.21 - removed function OutputNestedArray 30.06.21 - :class write - fixed issue with semicolon being inserted on the beginning when adding property to an empty file 30.06.21 - :igse db - database is verified when "list" argument is used 30.06.21 - :igse write - fixed crashing when using mode:new 01.07.21 - :igse db - added arguments "verify" and "unique" 02.07.21 - MainMenu_fnc.sqf - using "find" command on 1.99 and "foreach" on 1.96 for array search 04.07.21 - String was renamed to StringDynamic; added String struct, using it for strstr2 04.07.21 - :class write - was incorrectly matching class/property name (not comparing length) - fixed 04.07.21 - :class write - fixed incorrect error message when couldn't find class/properyt to delete 04.07.21 - function ConverStringPos - negative range end wasn't working due to a typo - fixed 04.07.21 - :strint cut - arguments startfind:, endfind:, startoffset:, endoffset: are working again 07.07.21 - restructured code to use string struct in most of the places 07.07.21 - number of maximum parameters increased to 62 09.07.21 - :clip pastefile working properly again; assuming last slash; correct error array 09.07.21 - :string size uses named arguments 11.07.21 - :string domain uses named arguments 15.07.21 - rewritten :string domain to handle all possible url components; returns more information; added options 15.07.21 - named arguments - if passed empty named argument then empty string is added to the list in order to keep even number of arguments 15.07.21 - named arguments - colon was ending argument instead of being included in the value - fixed 15.07.21 - :string isnumber - added "number" and "object" options 15.07.21 - :string find - added "findchar" option 15.07.21 - fwatch.exe - transfer mission fixes - mission wasn't moved if extension was uppercase 15.07.21 - fwatch.exe - transfer mission fixes - mission wasn't returned to the original location if it has utf8 characters 15.07.21 - fwatch.exe - transfer mission fixes - repeatedly tried to transfer if there was nothing to transfer 15.07.21 - fwatch.exe - remove mission from transfer list if the file doesn't exist anymore 17.07.21 - class commands were not finding array properties. Fixed by tokenizing list of input properties only by comma and adding option to String_tokenize() to trim square brackets 17.07.21 - :class readsqm - wasn't remvoing brackets from array names 17.07.21 - :class read - was crashing when couldn't find properties 17.07.21 - :class write - would incorrectly rewrite file 17.07.21 - :igse copy - would crash when failed 17.07.21 - :string domain - was truncating host name 17.07.21 - fwatch.exe - makes a copy of the command line string to deal with possible crashes 17.07.21 - fwatch.exe - was repeatedly reading hud config file when it wasn't necessary 19.07.21 - Revert - brought back functions that double the amount of quotation marks (I can't use brackets in the game because they can't be escaped) 19.07.21 - :class readsqm - wasn't dealing properly with empty groups 19.07.21 - exe commadns - stdout and stderr are saved as separate file and overwritten (instead of appending) 19.07.21 - :igse write - argument "escape" wasn't workign properly 19.07.21 - :exe unpbo - wasn't working 14.08.21 - :class readsqm - added argument "readsetpos" 16.08.21 - :file modlist - will now returns mods with "MissionsUsers" and "MPMissionsUsers" 18.08.21 - :class readsqm - argument "readsetpos" returns array 18.08.21 - :class write - added argument "setpos" 05.09.21 - :igse write - fixed bug with mode:copy 05.09.21 - :igse load - fixed bug with return incorrect offset of an empty line 16.09.21 - :file modlist - changed output structure; returns entire mod config info 16.09.21 - gameRestart.exe - force name wasn't working if value in __gs_id was numeric - fixed 17.09.21 - MainMenu.sqs - displays more detailed information when selected a mod from the list 17.09.21 - MainMenu.sqs - mod download size info depends on user's mod version (instead of showing size of the entire mod) 17.09.21 - MainMenu.sqs - added right-click options for mods 17.09.21 - MainMenu.sqs - added option to search through mods download list 17.09.21 - MainMenu.sqs - multiple mods can be downloaded at once 17.09.21 - MainMenu.sqs - option to start without mods only appears if there are mods loaded 17.09.21 - MainMenu.sqs - mod id file is updated when checking for updates 17.09.21 - MainMenu.sqs - images are downloaded to separate folders 17.09.21 - MainMenu.sqs - images are downloaded while viewing records instead of while checking for updates 17.09.21 - MainMenu.sqs - fixed issue where auto-update check was being run every time instead of once per game launch 17.09.21 - MainMenu.sqs - fixed issue where pressing enter in text input would go to the "mods" menu 17.09.21 - MainMenu.sqs - disabled user input trim because it would remove cyrillic characters 24.09.21 - fwatch.exe - doesn't create "res\addons" folder anymore 24.09.21 - fwatch.exe - will transfer island cutscenes from IslandCutscenes\_RES to addons\ (instead of res\addons\) 24.09.21 - fwatch.exe - on 1.99 fwatch will rename res\bin\resource.cpp to res\bin\resource_disabled.cpp 24.09.21 - fwatch.dll - on 1.99 fwatch redirects the game to read island cutscenes from addons\ instead of res\addons\ 06.10.21 - MainMenu.sqs - silent mode fix - notification informing about updates is shown every time user enters main menu (was shown only once) 06.10.21 - MainMenu.sqs - mods queue fix - list of mods queued for installation is kept after doing mod search (was cleared) 06.10.21 - MainMenu.sqs - when showing info for a mod that can be updated both user version and latest version are shown 09.10.21 - MainMenu.sqs - installation status display was blank after starting - fixed 09.10.21 - MainMenu.sqs - sometimes scripting error would appear - fixed 09.10.21 - addonInstaller - during extraction process percentage would be 00 instead of 100 - fixed 16.10.21 - :class readsqm can read items out of order 01.11.21 - :class read - added argument "trimdollar", "lowercase" 01.11.21 - :class read - wrap:nodouble now handles array items 12.12.21 - :exe preprocess - fixed bug with arguments not handled properly (introduced in rewrite) 12.12.21 - fwatch.exe - :exe commands console output is saved to fwatch\tmp\_exelog; they are removed when Fwatch ends 07.02.22 - :mem modlist - added argument "lowercase" 18.02.22 - :igse list - added arguments "lowercase", "limitto" 21.02.22 - :string compare - fixed bug where natural sort wasn't case insensitive by default 03.03.22 - MainMenu.sqs fixes - option [Add to Queue] wasn't working. Information window wasn't displayed when selected a mod added to the launch queue 20.03.22 - :class read - now handles arrays with empty values (inserts empty string) 20.03.22 - :class read - now handles strings that themselves aren't in quote but quotation mark inside 24.03.22 - reworked preproc.exe: can do multiple files at once; automatically generates new name; added parameter -addondir and -gamedir; changed fwatch error output; working directory is file source directory 25.03.22 - adapted fwatch.exe to the new preproc.exe 26.03.22 - fixed "limit" argument in "string find", "string split" 26.03.22 - :string tokenize - added "cut" and "revese" arguments 26.03.22 - function String_find can now search in reverse 27.03.22 - :exe preprocess - can now pass -addondir, -gamedir, -out 27.03.22 - added command :file pbo 27.03.22 - fixed issue with paths in preproc.exe 03.04.22 - :file pbo - fixed bug with nested output array 08.04.22 - :class read - argument find: ignores empty strings 08.04.22 - :class read - fixed issue when couldn't find properties and empty strings passed to the find: argument would cause syntax error 09.04.22 - :class read, :class write - fixed enum name not being handled properly 09.04.22 - :class read - added arugment "pick" (works the same as "find" but doesn't output error if nothing was find) 09.04.22 - :info version - incremented "_fwatch_test_version" variable 10.04.22 - preproc.exe - with fwatch if output path was not given then it would create files in the game dir - fixed 28.05.22 - gameRestart.exe - updated ReadStartupParams() so that it's compatible with the new :igse db format 28.05.22 - :class write - changed how "setpos" argument works: nwo it requires array with four elements and it writes position in full 07.06.22 - :mem getcam - fixed incorrect dir and pitch values (bug introduced in last rewrite) 12.06.22 - :class write - checks if user passed action argument on the beginning rather than end 12.06.22 - :class write - fixed issue when "setpos" argument was used after "merge" it would add property in the wrong place in class 12.06.22 - :class write - passing 0 in "setpos" argument will result in no action 14.06.22 - added 2.01 support for :mem getjoystick, :mem getcinemaborder, :mem getdaylight, :mem getnv, :mem isdialog :mem getspeedkey, :mem setspeedkey, :mem getgraphics, :mem setgraphics, :mem getplayeranim, :mem setplayeranim, :mem getplayeraim, :mem setplayeraim :mem getplayerhatch, :mem setplayerhatch, :mem getplayerview, :mem setplayerview, :mem getradiobox, :mem setradiobox 14.06.22 - added partial 2.01 support for :mem missioninfo, :mem bullets, :mem setweather, :mem getcam, :mem getweather 14.06.22 - optimized :mem getnv 19.06.22 - added 2.01 support for :mem getplayerladder, :mem setplayerladder, :mem setrespawntype 19.06.22 - added partial 2.01 support for :mem getrespawntype, :mem getresside, :mem getdifficulty, :mem setdifficulty 19.06.22 - improved 2.01 support for :mem missioninfo, :mem bullets 19.06.22 - fixed :mem getcinemaborder not working on 2.01 19.06.22 - changed mem settings will be restored when mission restarts on 2.01 for: :mem setgraphics, :mem bullets, :mem setdifficulty, :mem setweather 24.06.22 - :mem getrespawntype, :mem getresside, :mem getdaylight, :mem getdifficulty, :mem setdifficulty work on 2.01 dedicated server 24.06.22 - :mem missioninfo - value "mission name" will work on 2.01 dedicated server 10.07.22 - :mem missioninfo - fully supported on 2.01 dedicated server 10.07.22 - :mem bullets - works on 2.01 dedicated server 10.07.22 - :mem getweather, :mem setweather - works on 2.01 dedicated server; removed address for tide and wave for 2.01 client because it wasn't working 13.07.22 - :mem getdate - added dst value 13.07.22 - :mem getdate - wasn't working properly (bugged introduced in the rewrite) 13.07.22 - :mem getdate - added partial 2.01 support 17.07.22 - :igse find - rewrite; last position is now returned as an array with: offset being incremented by one and added last column number 17.07.22 - :igse find - argument "offset" input is now array with position in bytes, line number and column number 25.07.22 - :igse load - outputs parallel arrays by default; argument mode:separate changed to mode:cluster 25.07.22 - :igse load - added "output" argument where output data can be chosen; default is only text 25.07.22 - :igse load - ignores zero bytes in the file 25.07.22 - :clip pastefile - argument ?list splits filepath into path and name (just like 1.15) 31.07.22 - changed --user-agent argument for wget in :exe wget, gameRestart and addonInstaller 01.08.22 - gameRestart.exe - fixed bug with not disabling custom sounds; logs changes to a file 01.08.22 - fwatch.exe - brings back custom file disabled by gameRestart.exe 01.08.22 - :file modlist - fixed bug with not detecting custom sounds 07.08.22 - gameRestart.exe - added option -queryserver for downloading server information 07.08.22 - fwatch.exe - monitors gameRestart.exe exit code if it was launched with -queryserver parameter 07.08.22 - MainMenu.sqs - displays server status in Game Schedule menu 07.08.22 - MainMenu.sqs - fixed issue with string not being localized in the Master Server menu; fixed mod types names in English and Polish 14.08.22 - MainMenu.sqs - added "Persistent" servers in the Game Schedule 18.08.22 - MainMenu.sqs - fixed server display being reset while server status is updating 18.08.22 - MainMenu.sqs - while displaying server status now can scroll between other servers 18.08.22 - MainMenu.sqs - while server status is being updated entire "Schedule" button turns into "Receiving" 18.08.22 - MainMenu.sqs - fixed "persistent" string in PL localization 18.08.22 - MainMenu.sqs - fixed display being reset while server status was updating 17.09.22 - MainMenu.sqs - fixed info about mods not being updated properly in Game Schedule 14.10.22 - :input getjoystick - fixed crashing 11.12.22 - fixed float NaN (from :mem commands) causing scripting error 11.12.22 - gameRestart.exe - changed url for querying server status 11.12.22 - MainMenu.sqs - title is animated while querying for server status 25.02.23 - fixed issue with lines not being removed when a file doesn't exist in sortMissions.txt 18.03.23 - fwatch.exe, gameRestart.exe - now transfers face texture from mod to the user folder 08.04.23 - MainMenu.sqs, MainMenu_fnc.sqf - finished rewriting (calculations are done on the web server rather than on client) 16.04.23 - addonInstaller - will not modify \face.paa, \face.jpg, \_gs_id 01.06.23 - MainMenu.sqs - added mod launcher shortcuts 02.06.23 - :igse write - fixed text being truncated when duplicating last line in a file 02.06.23 - MainMenu.sqs - added option to edit shortcuts; mod preview is shown when picking mods for a shortcut 13.06.23 - addonInstaller, gameRestart code cleanup; removed "worlds" from list of mod directories 14.06.23 - addonInstaller, gameRestart, MainMenu - bugfixes 12.08.23 - added :restart schedule 12.09.23 - :restart schedule - added mode:list and mode:delete 13.09.23 - finished feature to schedule connecting to the server with Windows Task Scheduler 13.09.23 - released GUI version of addonInstaller 14.09.23 - addonInstaller - replaced dialog with window so that launching it doesn't steal focus 15.09.23 - :exe commands - fixed bug with not being able to close the application 15.09.23 - MainMenu.sqs - when installation was finished and installer was closed on the desktop then confirmation in the game is not required anymore 15.09.23 - addonInstaller - continuing interrupted downloads 16.09.23 - addonInstaller - ability to pause/resume installation 17.09.23 - gameRestart.exe, MainMenu.sqs - added Steam support for auto connection 17.09.23 - gameRestart.exe - fixed bug (introduced recently) where it wouldn't launch the game if fwatch was on -nolaunch 17.09.23 - gameRestart.exe - fixed bug (introduced recently) where mod argument would be duplicated 17.09.23 - addonInstaller.exe - Download() function reads filename from download arguments (-O) 24.09.23 - addonInstaller.exe - implemented rollback 24.09.23 - addonInstaller.exe - retry/abort choice appears for all errors 25.09.23 - addonInstaller.exe - fixed encoding issues for Polish/Russian (since moving to wide strings) 25.09.23 - addonInstaller.exe - fixed installer being stuck (from yesterday) 25.09.23 - :file modlist - fixed issue where it would detect all game folders as addons (recent bug) 25.09.23 - MainMenu.sqs - mod shortcuts now can have extra startup parameters 25.09.23 - gameRestart.exe - added -skipmemarg to don't read arguments from game memory