Block file (.BLK)

From War Thunder Wiki
Revision as of 13:15, 1 August 2023 by umutcam56 (talk | contribs) (Structure)

Jump to: navigation, search

A block file (*.blk) is a file holding relatively small pieces of data for the game in text form and is used in various places where mostly power users and modders are encouraged to make changes or add content to the game. WarThunder itself also stores settings in the config.blk file in the game’s root directory.

While most data is stored in binary formats, which are faster to read by computer programs and usually smaller than text formats, the latter has the benefits of being human readable and editable with a basic text editing program instead of complex editing software. Every text file format such as HTML needs to provide enough structure for a computer program to recognize and itemize the contained data while giving the human editor a degree freedom to e.g. add comments or insert blank lines for better organization.

BLK Files are also compressed within War Thunder's .vromf.bin files at the game's local files.

Structure

The below excerpt from a config.blk illustrates the basic structure of a block file. There are assignments of values ("medium") to named items (cloudsQuality) of a specific data type indicated by a short code (t) and named groups such as "graphics" which provide some structure by wrapping other assignments and groups inside curly braces.

Logitech Gaming Software README File

(c) 2010 Logitech.  All rights reserved.  Logitech, the Logitech logo, and 
other Logitech marks are owned by Logitech and may be registered.  All other 
trademarks are the property of their respective owners.

README TABLE OF CONTENTS

1.  OVERVIEW

 1.1 SUPPORTED OPERATING SYSTEMS
 1.1.1 INTEL ITANIUM PROCESSORS
 1.2 UNSUPPORTED ANALOG GAMEPORT DEVICES
 1.3 SUPPORTED DEVICES 
 1.3.1 USB HID DEVICES
 1.3.2 UNSUPPORTED DEVICES
 1.4 WINXP/VISTA/WIN7 SUPPORTED DEVICES 

2.  INSTALLING AND REMOVING THE SOFTWARE

 2.1 INSTALLATION 
 2.2 UNINSTALL

3.  DEVICE-SPECIFIC NOTES

 3.1 GAMEPADS
 3.1.1 USING RUMBLEPAD WITH UNPOWERED (BUS POWERED) USB HUBS
 3.1.2 SWAP JOYSTICK MODE
 3.1.3 FLIGHT / SPORTS MODE
 3.2 CORDLESS DEVICES
 3.3 WINGMAN STRIKE FORCE 3D

4. GAME-SPECIFIC NOTES

 4.1 FORCE FEEDBACK GAMES
 4.2 USING A GAMEPAD/JOYSTICK IN FIRST PERSON SHOOTER GAMES

5.  TROUBLESHOOTING

 5.1 3RD-PARTY INSTALLATION PROGRAMS

6.  CONTACTING CUSTOMER SUPPORT

7.  THIRD-PARTY NOTICES
 7.1 OPEN SOURCE SOFTWARE USAGE

***************************************************************************************

1. WHAT'S IN THIS RELEASE

1.1 SUPPORTED OPERATING SYSTEMS

Logitech Gaming Software is designed to work with the Windows XP/Vista/7 operating systems 
only. Windows 2000, Windows 95, Windows 98, Windows ME, Windows 3.x and true DOS (6.22 or 
lower) are not supported.

 1.1.1 INTEL ITANIUM PROCESSORS

 Intel Itanium processors are not supported.

 1.2 UNSUPPORTED ANALOG GAMEPORT DEVICES

 Analog gameport devices should be used with operating system supplied generic 
 gameport drivers. Refer to the product documentation for installation instructions 
 for these devices. There is no support in the software for these devices.

       WingMan Extreme
       WingMan Light
       WingMan Attack
       WingMan Precision
       WingMan Formula GP
       Thunderpad

 1.3 SUPPORTED DEVICES

 1.3.1 USB HID DEVICES

       WingMan Cordless Gamepad
       WingMan Rumblepad
       WingMan Formula GP USB
       WingMan Precision USB
       WingMan Force 3D
       WingMan Strike Force 3D
       WingMan Formula Force GP
       WingMan Attack 2
       WingMan ActionPad
       WingMan Formula (yellow wheel)
       WingMan Gamepad (black pad)
       WingMan Gamepad Extreme
       WingMan Extreme Digital 3D
       Logitech Attack 3
       Logitech Driving Force
       Logitech Dual Action
       Logitech Extreme 3D Pro
       Logitech Freedom 2.4
       Logitech MOMO Force
       Logitech MOMO Racing
       Logitech RumblePad 2
       Logitech Cordless RumblePad 2
       Logitech Precision Gamepad
       Logitech Racing Wheel
       Logitech Driving Force Pro
       Logitech Force 3D Pro
       Logitech Formula Force EX
       Logitech G25 Racing Wheel
       Logitech Driving Force GT
       Logitech Flight System G940
       Logitech G27 Racing Wheel


 1.3.2 UNSUPPORTED DEVICES

   There is no support for gameport or serial port products. In addition, 
 these older USB products are not supported:

       WingMan Force
       WingMan Formula Force


 1.4 WINXP/VISTA/WIN7 SUPPORTED DEVICES 

 The software for WinXP/Vista/Win7 only supports USB HID products. See section 1.3.1 
 for the complete list of supported devices. Gameport, serial port and 
 legacy USB devices are not supported in this release. 

 You must have administrator privileges to use the software under Windows 
 XP/Vista/7. When you try to install a gaming device on your WinXP/Vista/Win7 based 
 computer, you may be unable to do so. This issue can occur if you are not 
 logged on with an account that has administrator privileges. See the Microsoft 
 support web site for more details.

***************************************************************************************

2. INSTALLING AND REMOVING THE SOFTWARE UNDER WINDOWS XP/Vista/7

2.1 QUICK INSTALLATION

Windows may be restarted during the installation process. We recommend saving
any work and closing any open programs before beginning the installation.

It is not necessary to uninstall previous versions of the software
prior to installation. The installer will check for previous versions 
and remove or update files as necessary.

To begin the installation place the CD 
in your CD-ROM drive. The Setup window appears in a few seconds (if AutoPlay is 
enabled on your system), then follow the directions that appear on the setup 
screens.

If the AutoPlay feature of Windows XP/Vista/7 is not enabled, then simply go to the 
Start menu, choose "Run", click "Browse" to select the CD-ROM drive, 
double-click the "SETUP.EXE" program on the CD, then follow the 
directions that appear on the setup screens.

2.2 UNINSTALL

The software can be removed from Windows XP/Vista/7 by clicking the
Add/Remove Programs icon in the Windows XP/Vista/7 Control Panel. Select
"Logitech Gaming Software" and click the "Add/Remove..." button. Then follow the on
screen instructions for completing the uninstall. 


***************************************************************************************

3.0 DEVICE SPECIFIC NOTES

This section describes specific issues encountered when installing the software
with certain Logitech game controllers.

3.1 GAMEPADS

 3.1.1 USING RUMBLEPAD WITH UNPOWERED (BUS POWERED) USB HUBS

 Because of the power requirements of the WingMan RumblePad they will not 
 function on unpowered USB hubs. Powered hubs require the use of an 
 external power supply such as an AC adapter to provide power for the 
 USB hub. Unpowered hubs draw their power from the USB port on the computer.

 3.1.2 SWAP JOYSTICK MODE

 The software allows the swapping of the functions for the left and 
 right joysticks. To swap the functions of the joysticks do the following:

 1. Click "Start", "Settings", "Control Panel".
 2. Double-click "Game Controllers".
 3. Select "WingMan RumblePad" and click "Properties".
 4. Click "Settings" and check the box marked "Enable Swap Mode".
 5. Click "OK" to save the settings.

 3.1.3 FLIGHT / SPORTS MODE

 Some gamepads have a mode button to switch between Flight Simulation Mode and 
 Sports Action mode.

 Flight Simulation Mode (mode LED is on/green) :-

    - movement is controlled by the left joystick in X and Y axis directions
    - the D-Pad controls an eight way POV view from the cockpit
    - the throttle controls the engine speed

 Sports/Action Mode (mode LED is off/red) :-

    - cursor movement is controlled by the D-Pad
    - the left joystick controls the POV

3.2 CORDLESS DEVICES

 This Logitech 2.4GHz products uses sophisticated channel- and 
 frequency-hopping technology to avoid interference with other cordless 
 devices. We have conducted extensive testing of this product with other 
 2.4GHz devices and rf- (radio frequency) emitting devices (cordless phones, 
 cordless headsets, wireless networks, cordless cameras, a/v sender/receivers, 
 etc.). In the majority of circumstances, users will not experience any rf 
 interference between this Logitech 2.4GHz product and those devices. 
 However, it is possible that in some cases interference may occur. This 
 interference could result in  erratic behavior of the devices or complete 
 loss of signal. If you notice this behavior, or static, clicking, or 
 humming of other devices, then there are a few simple actions you can 
 take to reduce or eliminate the interference.

 a. Increase the distance between the Logitech 2.4GHz receiver and 
    the other cordless devices/receivers.

 b. Turn off other cordless devices that are in close proximity when 
    using the Logitech Cordless 2.4GHz Product.

 c. To verify that your Logitech 2.4GHz Product is connected and working 
    properly, check it through the Game Controller Control Panel.

3.3 WINGMAN STRIKE FORCE 3D

 This wheel button is a unique feature that provides an 
 alternative method to perform button presses. The wheel button is 
 configured to have the functionality of three separate and 
 independent joystick buttons. The three button functions are labeled 
 as buttons 7, 8, and 9 on the joystick. 

 - Button 7 is activated by pressing down on the wheel button.
 - Button 8 is activated by rotating the wheel forward by 
   one notch movement.
 - Button 9 is activated by rotating the wheel backward by 
   one notch movement.

 Please note that each wheel notch movement corresponds to a press 
 and release button activation. Therefore, if the wheel is rotated 
 forward by two notch movements, this would act as two Button 8 
 activations. If the wheel is rotated forward by ten notch movements, 
 this would act as ten Button 8 activations.

 Changes in wheel rotation direction are quickly acted upon as a 
 different button activation. This will cause any previous button 
 activations that may be in the queue to be cleared out. For example, if 
 the wheel had been rotated forward by ten notch movements and then 
 rotated backward by one notch movement, the ten Button 8 activations 
 would start to get processed until the backward movement was detected. 
 Once the backward movement was detected, a Button 9 activation would be 
 processed and any remaining Button 8 activations would be cleared out. 

 Below are some suggested uses of the wheel button:

 - Quickly select and fire weapons. 
 - Rotate the wheel forward and backward to select weapons and 
   then press down to fire.
 - Target next enemy aircraft, previous enemy aircraft, and closest 
   enemy aircraft. Rotate the wheel forward for next enemy,  rotate backward 
   for previous enemy, and press down to target closest enemy.
 - Change gears in racing games. Rotate the wheel forward one notch to 
   shift up and rotate backward one notch to shift down.

 Hat switch number 2 (labeled "H2" on the joystick) is configured to report as 
 eight independent buttons. 

   Button 10  H2 north
   Button 11  H2 east
   Button 12  H2 south
   Button 13  H2 west
   Button 14  H2 north east
   Button 15  H2 south east
   Button 16  H2 south west
   Button 17  H2 north west



**************************************************************************************

4. GAME-SPECIFIC NOTES

 4.1 FORCE FEEDBACK GAMES

Many games that support force feedback have this option disabled by default. The 
reason for this is that currently the majority of joysticks on the market do not 
support force feedback. Having force feedback enabled with a non-force feedback 
controller connected is unnecessary and could possibly cause errors or 
conflicts. Refer to the documentation that came with the game for details on how
to enable and configure force feedback in the game.


 4.2 USING A GAMEPAD/JOYSTICK IN FIRST PERSON SHOOTER GAMES

All games do not support input from a joystick or gamepad. Many of the first
person shooter games, role playing games, strategy games, and golf games are
designed for use with a "mouse + keyboard". Please check in game documentation
to determine if your game supports a joystick/gamepad, and for details on how
to configure such a device within the game.


***************************************************************************************

5. TROUBLESHOOTING

This section describes solutions to specific problems you may have. 
Also, you may refer to the Troubleshooting section of the LGS Online Help.

5.1 3RD-PARTY INSTALLATION PROGRAMS

It is suggested that the Windows uninstaller be used rather than 3rd party 
uninstall programs. If during LGS installation, there are any 
conflicts with an installation monitoring program, quit the installation, then 
turn off the installation monitoring program and re-install LGS.


***************************************************************************************

6. CONTACTING CUSTOMER SUPPORT

Web Site: http://www.logitech.com
The Logitech web site contains interactive customer support, patches, product 
information and more.

FTP Site: ftp://ftp.logitech.com
The FTP site contains patches and driver updates for our products.

Electronic Support: http://www.logitech.globalsupport.com
Email our professional staff with your customer support questions through our 
web based service. 

Customer Support Hotline: (702) 269-3457, U.S. and Canada,  7:30 AM-3:30 PM 
Pacific Time, Mon. - Fri. (Note: Hours are subject to change)
The Customer Support Group will answer any technical or service related 
questions regarding Logitech products.


***************************************************************************************

7.  THIRD-PARTY NOTICES

This software includes Ogg Vorbis playback routines based on libogg-1.1
and libvorbis-1.0.1, which carry the following license:

  Copyright (c) 2006, Xiph.org Foundation

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:

  - Redistributions of source code must retain the above copyright
  notice, this list of conditions and the following disclaimer.

  - Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.

  - Neither the name of the Xiph.org Foundation nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION
  OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 7.1  OPEN SOURCE SOFTWARE USAGE

 Logitech Gaming Software makes use of the libpng and zlib Software.

--------------------------------------------------------------------------------
(c) 2010 Logitech.  All rights reserved.  Logitech, the Logitech logo, and 
other Logitech marks are owned by Logitech and may be registered.  All other 
trademarks are the property of their respective owners.

Assignments

The names of data items and groups are implied by the game. There are usually either example files highlighting the available options or pages in this Wiki about them. Their exact spelling and casing is important or the game will silently ignore the provided values and resort to defaults. Speaking of which, the default values are usually sensible and if they suit you, allow you to omit some lines from your block file to keep it slim. Some block files expect you to mention a name multiple times to create an array of values, like the line drawing block in user-made sighting reticles: <code>

 drawLines{
   line{ line:p4=0.35, -1, 0.35, 0; move:b=no; }
   line{ line:p4=115, +10000, 117, 0; move:b=no; thousandth:b=yes; }
 }

The name is followed by a colon ":" and a short code for the expected data type.

Designator Example Explanation
t example:t="Hello world!"; Text: Accepts any string of characters encapsulated by quotation marks.
b example:b=true; Boolean: A binary state value, accepts either yes / no or true / false.
i example:i=50; Integer: An integral number, accepts only true positive or negative values (5, -2, 0, etc.).
r example:r=12.7; Real: A real number, accepts any integral values in addition to fractions (5, -2, 0, 7.62, -3.33333, etc.).
p2 example:p2=0.5,20; Point, 2-dimensional: A point defined on a 2-dimensional space. Accepts comma separated list of two real numbers.
p3 example:p3=0.5,20,-10; Point, 3-dimensional: A point defined on a 3-dimensional space. Accepts comma separated list of three real numbers.
p4 example:p4=0.5,20,-10,9; Point, 4-dimensional: A point defined on a 4-dimensional space. Accepts comma separated list of four real numbers.
c example:c=51,204,51,100; Color: An RGBA (red green blue alpha) color value represented by four comma separated integers from 0 to 255 for the three color channels and opacity values respectively.

Assignments may be terminated by a semicolon (;) and they have to be if the line does not end after the assignment. Two examples:

 x:r=3; y:r=5
 person { name:t="John Doe"; age:r=50; }

While you can put several assignments on one line you may not break up a single assignment into multiple lines. Line breaks are allowed around curly braces and assignments. Additional white-space is allowed between all elements, but not between parts of a number (i.e. + 5).

Comments

Block files allow two types of comments, line end comments and block comments known from many programming and scripting languages. A line comment is placed at the end of a line of text and starts with two slashes (//). A block comment can span multiple lines or be interspersed into a line and is enclosed in a slash and asterisk combination like so: /* comment */. The game will for the most part interpret a block file as if the comments were cut out. Some valid comments:

 drawTexts{
   text { text:t="X"; pos:p2=0./*works*/35,0 /* position in screen units */; align:i=0; } // draws an X
 }

The game is not be able to digest coordinate lists on multiple lines though. Neither with nor without comments:

 pos:p3=3, /* x
 */     4, /* y
 */     5; /* z */

Game aspects dealing with block files