Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Extracting .dag from .grp files [War Thunder]

Featured Replies

  • Author
  • Localization

dimis9138, posted Wed Jun 30, 2021 1:38 am (64983)


This is about war thunder, I was wondering if there's any tools available that extract dag files from .grp files that come with the game? Looked around but couldn't find anything.

Sample files: https://mega.nz/file/othiGCaQ#6DnSsI3fn ... ALjXr1bXE0
  • Author
  • Localization

grandshot, posted Fri Jul 02, 2021 11:32 pm (65007)


It's regular Dagor Engine GRP2 archive and can be successfully extracted with script below. But filenames exclude extensions, so identifying of file types may be a bit hardly.

Code:
# Dagor Engine GRP2 Archives: War Thunder, Crossout
# script for QuickBMS http://quickbms.aluigi.org

Comtype ZSTD
IDString "GRP2"

Get grp2Size Asize

Get dataHeaderSize Long
Get dataHeaderSize Long
Get dataSize Long

Get offsetStrings Long
Get numStrings Long
Get unknown Long
Get unknown Long

Get offsetTables Long
Get numTables Long
Get unknown Long
Get unknown Long

Get offsetTables2 Long
Get numTables2 Long
Get unknown Long
Get unknown Long

For I = 1 to numStrings
   GoTo offsetStrings
   Get offsetName Long
   SavePos offsetStrings
   
   GoTo offsetName
   Get nameFile String
   PutArray 0 I nameFile
Next I

GoTo offsetTables
For I = 1 to numTables
   Get unknown Short
   Get unknown Short
   Get offset Long
   Get nameId Short
   Get unknown Short
   
   Math nameId 1
   PutArray 1 I offset
   PutArray 2 I nameId
Next I

For I = 1 to numTables
   GetArray offset 1 I
   GetArray nameId 2 I
   GetArray nameFile 0 nameId
   
   if I < numTables
      XMath nextTableId "I 1"
      GetArray nextOffset 1 nextTableId
      XMath size "nextOffset - offset"
   else
      XMath size "grp2Size - offset"
   endif
   
   Log MEMORY_FILE offset size
   
   Get sign Long MEMORY_FILE
   if sign == 0xFD2FB528
      Clog nameFile 0 size 1000000000 MEMORY_FILE
   else
      Log nameFile 0 size MEMORY_FILE
   endif
Next I

DagorEngine_GRP2.bms

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.