Fallout Wiki
Fallout Wiki
No edit summary
Tag: sourceedit
No edit summary
Tag: sourceedit
(3 intermediate revisions by 2 users not shown)
Line 35: Line 35:
   
 
'''Name:''' "Deba2".<br>
 
'''Name:''' "Deba2".<br>
'''Completion:''' ~99%<br>
+
'''Completion:''' 100% (Final Testing)<br>
 
'''Features:'''<br>
 
'''Features:'''<br>
 
* Multi-select (shift & control modifiers)
 
* Multi-select (shift & control modifiers)
Line 48: Line 48:
 
* <s>Finish implementing user settings storage/loading.</s>
 
* <s>Finish implementing user settings storage/loading.</s>
 
* <s>Complete UI handling for "about" and double-click to open</s>
 
* <s>Complete UI handling for "about" and double-click to open</s>
* '''Test''' loading dlls from embedded resources, to avoid extra files. (code is implemented)
+
* <s>'''Test''' loading dlls from embedded resources, to avoid extra files. (code is implemented)</s>
 
* <s>Finishing touches (icon, name, etc.)</s>
 
* <s>Finishing touches (icon, name, etc.)</s>
* '''*new*''' Style replacement TreeView control
+
* <s>'''*new*''' Style replacement TreeView control</s>
  +
* <s>Taskbar Progress</s>
  +
  +
'''Requirements:'''<br>
  +
*.NET 4.5
  +
*Visual C++ 2013
  +
   
 
'''Background:'''<br>
 
'''Background:'''<br>
Line 61: Line 67:
 
Above control was the culprit of the hanging for large numbers, it's been replaced with [https://github.com/cmyksvoll/MultiSelectTreeView this] - a closer to stock TreeView implementation, that retains the original's performance.
 
Above control was the culprit of the hanging for large numbers, it's been replaced with [https://github.com/cmyksvoll/MultiSelectTreeView this] - a closer to stock TreeView implementation, that retains the original's performance.
 
[[file:Dulogo.png|25px]][http://fallout.wikia.com/wiki/User:Digital_Utopia Digital Utopia] ([http://fallout.wikia.com/wiki/User_talk:Digital_Utopia talk]) 00:11, November 23, 2015 (UTC)
 
[[file:Dulogo.png|25px]][http://fallout.wikia.com/wiki/User:Digital_Utopia Digital Utopia] ([http://fallout.wikia.com/wiki/User_talk:Digital_Utopia talk]) 00:11, November 23, 2015 (UTC)
  +
  +
----
  +
  +
===Game data findings===
  +
Just some observation since I had trouble finding the supersledge in the game data. Skyrim had two HAZD groups in the ESM as an oddity, but in Fallout4 duplicate groups became rampart, one has to be careful not to overwrite data here - probably merge the data. Duplicated groups are now: ALCH, AMMO, BNDS, FURN, GRAS, HAZD, IDLM, KEYM, LVLN, NOTE, NPC_, PROJ, TREE, WEAP.
  +
  +
--[[User:Alfwyn|Alfwyn]] ([[User talk:Alfwyn|talk]]) 00:38, November 25, 2015 (UTC)

Revision as of 12:19, 25 November 2015

Forums: Index > Wiki discussion > Fallout4.esm etc.


Alright - so, just to get everybody on the same page, the ESM file is basically what the GECK loads, as it contains all the actual game data (i.e. everything except textures, models, and sounds etc).

Anyway. I've done some digging around, because ain't nobody got time to wait for the GECK. Main goal right now, is to do a FormID/EditorID/Name dump. The format itself seems to be basically the same as previous games. Same structure, etc. The main new thing with Fallout 4, is that most text is now stored in STRINGS files. (Fallout 4/Data/Strings/) These files are basically, as the name implies, string tables. The top portion of the file, works as a directory of sorts - each string has a 4-byte ID, followed by a 4-byte offset. This offset is relative to the beginning of the bottom part, which just contains a straight dump of null-terminated text.

What this means, is that - in the ESM, where ordinarily, the full name of the object would appear (after the "FULL" tag), there now exists only a 4-byte ID. This ID, corresponds to the ID in the STRINGS file, and the accompanying offset, points to where that text is found in the text dump.

Personally, it's about damn time they did this, as it makes localization so much easier. This makes it so every language version has the same esm file, since they only have to distribute unique STRINGS files.

That being said, they did change the format of the bsa archives this time around. They're now ba2 files, and since I never got around to exploring the bsa format (just used a 3rd party tool), I can't say how much has changed. I'm assuming before too long, someone will make an explorer for that format (if they haven't already). DulogoDigital Utopia (talk) 13:57, November 14, 2015 (UTC)



Here's a dump, sorted by section tag, of the type, formid, and (if applicable) editor id and full name of everything except for world entries. I haven't quite figured those out yet. DulogoDigital Utopia (talk) 16:45, November 15, 2015 (UTC)


I don't know how you work or how Microsoft's webservices operate, but that link just gives me an error message stating that the documents contents exceed a 5MB limit and just shows me a nice shade of grey. Maybe uploading it somewhere else would be appreciated. Edit: Nevermind.

Also, here is a rough .b2a decompiler. Works as far as I tried. --SwoleRat (talk) 16:55, November 15, 2015 (UTC)

thanks, I'll give it a look later. Maybe play around with the source to give it a UI. I changed the hosting over to Google Drive, because of that. It will still show an error, but you'll at least be able to download it. :) DulogoDigital Utopia (talk) 17:35, November 15, 2015 (UTC)

Where would be a good place to gather documentation about the file formats? Vault-Tec Labs? I'm looking for something like this Skyrim record info. That already had the seperate string files btw, and I expect other things like the XXXX oversize fields to carry over. --Alfwyn (talk) 12:11, November 20, 2015 (UTC)

Vault-Tec Labs *should* be a good place for it, but they seemed to have stopped giving solid info on formats for the Gamebryo+ era. In that case, Uesp.net gives more info. I really should make an entry for the ba2 format, since it's likely going to be a while before a TES game starts using it. DulogoDigital Utopia (talk) 00:11, November 23, 2015 (UTC)

BA2 Extractor

Name: "Deba2".
Completion: 100% (Final Testing)
Features:

  • Multi-select (shift & control modifiers)
  • Double-click/Context Menu to save file to temp directory, and open with default application
  • Makes use of file association data in registry to retrieve file icons.
    Kk9eDcv-1-

    Ba2 Extractor in progress

  • Options to set "root" extraction folder, as well as to preserve/ignore ba2 paths
  • Context menu options for Open, Extract Selected, and Extract All.
  • Selecting a folder and extracting selected, will extract all sub-files/sub-folders

ToDo:

  • Prevent app hanging on expanding a folder with a large number of files (i.e. the scripts folder in Fallout4-Misc.bsa) (see below)
  • Finish implementing user settings storage/loading.
  • Complete UI handling for "about" and double-click to open
  • Test loading dlls from embedded resources, to avoid extra files. (code is implemented)
  • Finishing touches (icon, name, etc.)
  • *new* Style replacement TreeView control
  • Taskbar Progress

Requirements:

  • .NET 4.5
  • Visual C++ 2013


Background:
The main source of inspiration for the UI design was from the Java-based app "Fallout 3 Archive Utility". So this app will behave similarly, yet I've made changes where I felt improvements could be made. It's certainly a 'lot' quicker than said app, the current issue with the large number of files not withstanding. Though, I can't say if it's due to the Java app itself, or the old .bsa format.

Technical Details:
Written in C++ with a CLI wrapper, using C#/WPF for the UI. C++ code is based on the ba2extract application written by the F4SE team, with some parts copied over (most of the texture structs), but most was rewritten using standard C/C++ methods, to avoid having 5 billion includes. On the C# side, it makes use of this Multi-select treeview control, modified to better suit my needs. Above control was the culprit of the hanging for large numbers, it's been replaced with this - a closer to stock TreeView implementation, that retains the original's performance. DulogoDigital Utopia (talk) 00:11, November 23, 2015 (UTC)


Game data findings

Just some observation since I had trouble finding the supersledge in the game data. Skyrim had two HAZD groups in the ESM as an oddity, but in Fallout4 duplicate groups became rampart, one has to be careful not to overwrite data here - probably merge the data. Duplicated groups are now: ALCH, AMMO, BNDS, FURN, GRAS, HAZD, IDLM, KEYM, LVLN, NOTE, NPC_, PROJ, TREE, WEAP.

--Alfwyn (talk) 00:38, November 25, 2015 (UTC)