Difference between revisions of "Virtual ROM file system (.vromfs.bin)"

From War Thunder Wiki
Jump to: navigation, search
(Virtual ROM file system / *.vromfs.bin page)
 
(Changes per discoussion with DnaGonite)
Line 3: Line 3:
 
While most data is stored in binary formats, which are faster for computer programs to read and generally smaller than text formats, the latter offers the advantage of being human-readable and editable with a basic text editing programme instead of complex editing software. The format uses either zlib or Zstandard compression algorithms to significantly reduce the file size; for example, a 9.9 MB aces.vromfs.bin file will unpack to 100 MB of content.
 
While most data is stored in binary formats, which are faster for computer programs to read and generally smaller than text formats, the latter offers the advantage of being human-readable and editable with a basic text editing programme instead of complex editing software. The format uses either zlib or Zstandard compression algorithms to significantly reduce the file size; for example, a 9.9 MB aces.vromfs.bin file will unpack to 100 MB of content.
  
While the [https://github.com/GaijinEntertainment/DagorEngine source code of Dagor Engine] was made public by Gaijin Entertainment in September 2023, giving further insights into the file format, the tool for extracting vromfs.bin files was independently released already in January 2015 by a community member nicknamed [https://github.com/klensy/wt-tools/ klensy on GitHub], with the maintenance being taken over since August 2021 by [https://github.com/kotiq/wt-tools kotiq]. A tool named <code>vromfs_unpacker</code> is a part of the broader <code>wt-tools</code> package, and remains the easiest way of unpacking *.vromfs.bin files for personal data mining or investigation – the tool can be [https://github.com/kotiq/wt-tools/tree/new-format downloaded on GitHub from the wt-tools repository].
+
Gaijin does not provide any official tooling for extracting the *.vromfs.bin files. Majority of the War Thunder [[Block file (.BLK)|*.blk files]] are stored within *.vromfs.bin, similarly a lot of tools withing the [[War Thunder CDK|Content Development Kit]] read the contents of the *.vromfs.bin.
 
 
Note that the files frequently contain multiple [[Block file (.BLK)|blk files]] that need to be unpacked separately.
 
 
 
== Structure of the War Thunder *.vromfs.bin files ==
 
{{notice|This list, much like the article itself, is created and maintained by the community members, without any input from Gaijin Entertainment or its employees. [[Help:Creating articles|You can contribute]] as well.}}
 
===aces.vromfs.bin===
 
* config - this directory contains text files listing various configurations, such as avatars, naval flags, defaults for the damage model, repair or crew replacement times (including maximum repair time for each vehicle)
 
* gamedata
 
** areafx - configuration of some smoke and splash effects
 
** attachables - contains some properties of the decorations, one file per decoration
 
** countermeasures - contains properties of the IRCM countermeasures, such as AN/ALQ-144
 
** damage_model - contains some shared properties of shells and bullets, such as ricochet, stability, normalisation, shattering, and armour break. Nothing specific to an individual weapon/unit.
 
** environments - various weather-related configurations
 
** flightmodels - Air units - files contain damage model, configuration of the pilot model, cockpit gauges, links to secondary weapons loadouts (which are stored in the weaponPresets folder), weapon slots, special effects, StatCards (wiki), etc.
 
*** dm - certain, generic, details of the damage model
 
*** fm - flight model for aeroplanes and helicopters
 
*** performance - contains the characteristic of the effect of altitude on the performance of the aeroplane
 
*** weaponpresets - secondary weapons loadouts for aeroplanes and helicopters (totalling over 6000 files)
 
** objectgroups - items used on maps or in hangars
 
** paratroopers - properties of the paratroopers and ejection seats seen after ejecting from the aeroplane
 
** sensors - properties of radars, IR, FLIR, TV, laser warning systems, laser designators, and other sensors
 
*** naval - properties of naval radars
 
** units - various surface units, including AI-controlled ones, such as AA emplacements and bunkers
 
*** tankmodels - Ground units
 
**** weaponpresets - currently unused, all files are empty
 
*** ships - Naval units
 
**** weaponpresets - Secondary weapons loadout configuration
 
**** debris - configuration of flotsam left after the vessel sinks
 
** weapons - characteristics of various weapons, main folder contains aeroplane weapons
 
*** bombguns - aerial bombs, depth charges, mortars, decoy launchers (e.g. [[PG 02#Additional armament|Mark 36 SRBOC]])
 
*** containers - aerial bombs, rockets, and missiles on pylons
 
*** drop_tank - drop tanks (containing fuel)
 
*** equipment - targeting pods
 
*** groundmodels_weapons - guns of ground vehicles
 
*** navalmodels_weapons - guns of naval vessels
 
*** mines - naval mines
 
*** payloadguns - rocket-assisted take-off boosters
 
*** rocketguns - flare & chaff launchers, missile and rocket pods
 
*** torpedoes - naval torpedoes
 
** levels - various configurations specific to maps
 
 
 
===char.vromfs.bin===
 
* config - over 20 configuration files related to various configurations and unlockable items in the game, such as items, decals, ranks, shops
 
 
 
===game.vromfs.bin===
 
* assetsimport - configuration related to shaders/rendering
 
* config - configuration related to user interface and controls
 
* danetlibs - various game engine configuration files
 
* das - various game engine configuration files, "das" stands for [https://daslang.io/ Daslang (formerly daScript, Data-Oriented Script)], a faster alternative to LUA Script
 
* daslib - various game engine configuration files
 
* dasproject - various game engine configuration files
 
* game - two scripts related to the initialisation of the game
 
* gamecommon - miscellaneous scripts
 
* gamedata - AI, map objects, and some event-related configurations
 
* templates - configuration templates for various entities, such as lighting objects, sand worms, ammo boxes, etc.
 
* wtlibs - further configurations related to events, missions, special effects, repair mechanics, etc.
 
 
 
===gui.vromfs.bin===
 
* config - primarily HUD presets
 
* daeditor - various scripts related to the [[Creating locations|map editor]]
 
* darg - various scripts related to the user interface, DARG stands for DAgor Reactive GUI, .nut files are written in the [[wikipedia:Squirrel (programming language)|Squirrel language]]
 
* globals - definitions of several scripts written in the Squirrel programming language
 
* globalscripts - further collections of scripts, highlights below:
 
** dirtywords - folder containing the configuration of the global, built-in chat censor
 
** countrysymbols.nut - collection of Unicode character codes that translate to national symbols within the in-game font
 
* gui - templates for various pieces of the user interface. Note that this folder does not contain any images.
 
* idx
 
** ui - contains a few .vromfs.bin files that store collections of references to image files (see the top-level [[#ui/atlases.vromfs.bin|ui/atlases.vromfs.bin]], [[#ui/fonts.vromfs.bin|ui/fonts.vromfs.bin]], etc. series of files)
 
* reactivegui - numerous Squirrel scripts controlling the position of elements as screen resolution changes
 
* scripts - over 1000 Squirrel scripts controlling various game aspects, e.g. caching, captcha, in-game tutorials, events, in-game shop, etc.
 
* sonylib - functions for the integration with the PlayStation™ Store
 
* sqdagui - utility functions running the interface
 
* sqstdlibs - additional helpers for the standard library of the Squirrel programming language
 
* std - War Thunder's standard library, a collection of various utility scripts
 
* ui - minor scripts for the user interface
 
* ui_editor - hook for the user interface editor
 
* xboxlib - functions for the integration with the Xbox Store™
 
 
 
===lang.vromfs.bin===
 
The file stores various texts in all supported language versions. Files like unlocks_attachables, unlocks_decals, or unlocks_skins can be helpful for finding specific in-game items by name in the interface.
 
 
 
===mis.vromfs.bin===
 
The file stores single-player missions
 
 
 
===webUi.vromfs.bin===
 
HTML and JavaScript files responsible for rendering pieces of the user interface
 
 
 
===ui/===
 
Directory contains images and fonts displayed in the game, compressed in a separate *.vromfs.bin files listed below
 
 
 
====ui/atlases.vromfs.bin====
 
* gameuiskin - icons used for the kill feed
 
* medals - DDS files compressed to DDSX, can be unpacked with ddsx_unpack.py
 
* units - miniatures used in the tech tree
 
 
 
====ui/fonts.vromfs.bin====
 
Contains definitions of fonts used in the game
 
 
 
====ui/images.vromfs.bin====
 
* bkg - loading screens, split into individual layers
 
* chapters - images for the single-player campaign
 
* images - images for modals related to premium vessels, tutorials, world war mode, tournaments
 
** attachables - thumbnails of decorations
 
** avatars - user avatars
 
** battle_tasks - images used in single-player mode
 
** chests - images of openable boxes
 
** chests_wnd - backgrounds for events related to opening SL chests
 
** controller - images of controllers
 
** controls - images used for key bindings
 
** cross_promo - images for cross-promotion (as of 2024-11 contains only images related to War Thunder Mobile)
 
** flags/unit_tooltip - background flags displayed on StatCards
 
** game_modes_tiles - tiles for game modes
 
** help - help images
 
** joystick - promotional images of joysticks
 
** missions_tutorial - help images displayed in tutorials
 
** offer - images used for personalised promo offers
 
** profile - images used for the profile page
 
** researches - images displayed when all modifications of a given rank are researched, providing bonus XP for the currently researched unit
 
** settings - previews of the effects of changing graphical settings in the game
 
** sight_menu_bg - images used in the sights editor
 
** tickets - tickets used for entering tournaments/events
 
** tutorial - pieces of the game interface used in tutorials
 
** wizard - images used for the controls wizard
 
* trophies_icons - Steam achievements
 
* worldwar_bkg - loading screens, split into individual layers, specifically for World War mode
 
 
 
====ui/slides.vromfs.bin====
 
Slides used in single-player campaigns, events, and dynamic missions
 
 
 
====ui/tex.vromfs.bin====
 
Main folder contains various logos
 
* aircrafts - foreground aircraft displayed on StatCards
 
* bkg - loading screens
 
* first_choice - images used in the onboarding process for new users
 
* images - fillers used when there is no image to display
 
* onlineshop - in-game currencies
 
* ships - foreground ships and boats displayed on StatCards
 
* tanks - foreground ground vehicles displayed on StatCards
 
  
 
==See also==
 
==See also==

Revision as of 09:59, 16 November 2024

Introducing Wiki 3.0

Virtual ROM file system (*.vromfs.bin) is a type of container file that holds a highly compressed structure of text, images, or video, used by the game engine on which War Thunder was built - the Dagor Engine. War Thunder typically stores these files in the game's root directory.

While most data is stored in binary formats, which are faster for computer programs to read and generally smaller than text formats, the latter offers the advantage of being human-readable and editable with a basic text editing programme instead of complex editing software. The format uses either zlib or Zstandard compression algorithms to significantly reduce the file size; for example, a 9.9 MB aces.vromfs.bin file will unpack to 100 MB of content.

Gaijin does not provide any official tooling for extracting the *.vromfs.bin files. Majority of the War Thunder *.blk files are stored within *.vromfs.bin, similarly a lot of tools withing the Content Development Kit read the contents of the *.vromfs.bin.

See also