Difference between revisions of "Block file (.BLK)"

From War Thunder Wiki
Jump to: navigation, search
m (Reverted edits by U148909069 (talk) to last revision by Inceptor57)
Line 1: Line 1:
Logitech Gaming Software README File
+
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.
  
(c) 2010 Logitech.  All rights reserved.  Logitech, the Logitech logo, and
+
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.
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
+
BLK Files are also compressed within War Thunder's .vromf.bin files at the game's local files.
  
1.  OVERVIEW
+
==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.
 +
<code>
 +
  cloudsQuality:t="medium"
 +
  use_gamepad_cursor_control:b=no
 +
  use_gamepad_interface:b=no
 +
  hdClient:b=no
 +
  clientType:t="32bit"
 +
 
 +
  graphics{
 +
    enableSuspensionAnimation:b=no
 +
    rendinstDistMul:r=0.5
 +
    grassRadiusMul:r=0.1
 +
    shadowQuality:t="ultralow"
 +
    tireTracksQuality:i=0
 +
    skyQuality:i=2
 +
    cloudsQuality:i=2
 +
  }</code>
  
1.1 SUPPORTED OPERATING SYSTEMS
+
===Assignments===
1.1.1 INTEL ITANIUM PROCESSORS
+
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]]:
1.2 UNSUPPORTED ANALOG GAMEPORT DEVICES
+
<code>
1.3 SUPPORTED DEVICES
+
  drawLines{
1.3.1 USB HID DEVICES
+
    line{ line:p4=0.35, -1, 0.35, 0; move:b=no; }
1.3.2 UNSUPPORTED DEVICES
+
    line{ line:p4=115, +10000, 117, 0; move:b=no; thousandth:b=yes; }
1.4 WINXP/VISTA/WIN7 SUPPORTED DEVICES
+
  }
 +
</code>
  
2. INSTALLING AND REMOVING THE SOFTWARE
+
The name is followed by a colon ":" and a short code for the expected data type.
 +
{| class="wikitable"
 +
|-
 +
! Designator !! Example !! Explanation
 +
|-
 +
|align="center"| '''t''' || example:t="Hello world!"; || '''Text:''' Accepts any string of characters encapsulated by quotation marks.
 +
|-
 +
|align="center"| '''b''' || example:b=true; ||'''Boolean:''' A binary state value, accepts either '''yes''' / '''no''' or '''true''' / '''false'''.
 +
|-
 +
|align="center"| '''i''' || example:i=50; ||'''Integer:''' An integral number, accepts only true positive or negative values ('''5''', '''-2''', '''0''', etc.).
 +
|-
 +
|align="center"| '''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.).
 +
|-
 +
|align="center"| '''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.
 +
|-
 +
|align="center"| '''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.
 +
|-
 +
|align="center"| '''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.
 +
|-
 +
|align="center"| '''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.
 +
|}
  
2.1 INSTALLATION
+
Assignments may be terminated by a semicolon (<code>;</code>) and they have to be if the line does not end after the assignment. Two examples:
2.2 UNINSTALL
+
<code>
 +
  x:r=3; y:r=5
 +
  person { name:t="John Doe"; age:r=50; }
 +
</code>
 +
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. <code>+ 5</code>).
  
3.  DEVICE-SPECIFIC NOTES
+
===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 (<code>//</code>). A block comment can span multiple lines or be interspersed into a line and is enclosed in a slash and asterisk combination like so: <code>/* comment */</code>. The game will for the most part interpret a block file as if the comments were cut out. Some valid comments:
 +
<code>
 +
  drawTexts{
 +
    text { text:t="X"; pos:p2=0./*works*/35,0 /* position in screen units */; align:i=0; } // draws an X
 +
  }
 +
</code>
 +
The game is not be able to digest coordinate lists on multiple lines though. Neither with nor without comments:
 +
<code>
 +
  pos:p3=3, /* x
 +
  */    4, /* y
 +
  */    5; /* z */
 +
</code>
  
3.1 GAMEPADS
+
==Game aspects dealing with block files==
3.1.1 USING RUMBLEPAD WITH UNPOWERED (BUS POWERED) USB HUBS
+
* [[Custom skins]]
3.1.2 SWAP JOYSTICK MODE
+
* [[Custom hangars]]
3.1.3 FLIGHT / SPORTS MODE
+
* [[Mission creation basics]]
3.2 CORDLESS DEVICES
+
* [[User-made sighting reticles]]
3.3 WINGMAN STRIKE FORCE 3D
+
* [[Basic information about creating models for Dagor Engine]]
  
4. GAME-SPECIFIC NOTES
+
[[Category:War Thunder CDK]]
 
 
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.
 

Revision as of 13:29, 1 August 2023

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.

 cloudsQuality:t="medium"
 use_gamepad_cursor_control:b=no
 use_gamepad_interface:b=no
 hdClient:b=no
 clientType:t="32bit"
 
 graphics{
   enableSuspensionAnimation:b=no
   rendinstDistMul:r=0.5
   grassRadiusMul:r=0.1
   shadowQuality:t="ultralow"
   tireTracksQuality:i=0
   skyQuality:i=2
   cloudsQuality:i=2
 }

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:

 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