Virtual ROM file system (.vromfs.bin)

From War Thunder Wiki
Revision as of 14:03, 2 November 2024 by Jareel_Skaj (talk | contribs) (Virtual ROM file system / *.vromfs.bin page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
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.

While the 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 klensy on GitHub, with the maintenance being taken over since August 2021 by kotiq. A tool named vromfs_unpacker is a part of the broader wt-tools package, and remains the easiest way of unpacking *.vromfs.bin files for personal data mining or investigation – the tool can be downloaded on GitHub from the wt-tools repository.

Note that the files frequently contain multiple blk files that need to be unpacked separately.

Structure of the War Thunder *.vromfs.bin files

Msg-info.png This list, much like the article itself, is created and maintained by the community members, without any input from Gaijin Entertainment or its employees. 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. 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 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 map editor
  • darg - various scripts related to the user interface, DARG stands for DAgor Reactive GUI, .nut files are written in the 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
  • 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