[WIPz] Fallout 4 Script Extender (F4SE)

Post » Thu Nov 26, 2015 2:05 pm

You guys work fast :)
User avatar
lolli
 
Posts: 3485
Joined: Mon Jan 01, 2007 10:42 am

Post » Thu Nov 26, 2015 8:40 am

Could you guys open source it?
User avatar
Red Bevinz
 
Posts: 3318
Joined: Thu Sep 20, 2007 7:25 am

Post » Thu Nov 26, 2015 12:12 pm

You folks are doing Talos' work. Thanks for all you do!

User avatar
Enny Labinjo
 
Posts: 3480
Joined: Tue Aug 01, 2006 3:04 pm

Post » Thu Nov 26, 2015 2:21 pm

Well let's be clear that we haven't released the F4SE yet, we've only just begun that process. We have released a utility that will help the more dedicated modders and the NifSkope team start digging into the new release.

The F4SE team can't accept donations, but we do appreciate your appreciation.

Thanks SmkViper! We're always excited to see what you fine folks have brought us. We noticed a ton of new papyrus opcodes we are quite curious about. And we always like to see functionality we've released in an xSE get rolled into game. That validates our work.

We always release the source code for the script extenders. Even the BA2 Extractor we released yesterday has the main source code available.

Thanks for your interest everyone. We're quite excited to be back at work and will have more updates in the next few days I am sure.

User avatar
Charity Hughes
 
Posts: 3408
Joined: Sat Mar 17, 2007 3:22 pm

Post » Thu Nov 26, 2015 8:18 am

Thank you! You guys truly have class.
User avatar
Rhiannon Jones
 
Posts: 3423
Joined: Thu Sep 21, 2006 3:18 pm

Post » Thu Nov 26, 2015 5:45 am

Thanks for the quick release.

Is the game executable 32bit or 64bit? If I recall, one of you uses the free version of IDA and that doesn't support 64bit executables. Did you do all this work with Olly?

I haven't purchased the game yet, because I can't afford the $500 to upgrade my copy of IDA to the Pro version yet.

User avatar
Charlotte Lloyd-Jones
 
Posts: 3345
Joined: Fri Jun 30, 2006 4:53 pm

Post » Thu Nov 26, 2015 4:34 am

It is an x64 executable.
User avatar
Tinkerbells
 
Posts: 3432
Joined: Sat Jun 24, 2006 10:22 pm

Post » Thu Nov 26, 2015 2:39 am

I'm hoping to dig into this tonight as well.

If it's like Skyrim, there's a controlmap.txt file buried in the archives that controls all the keybinding, not just the ones that are exposed in the game menu. This means we can fix the hardcoded E functions to point to the assigned Activate key, free up the numberpad keys for reassignment, and hopefully separate Grenades from Bash, among other things.

User avatar
LuCY sCoTT
 
Posts: 3410
Joined: Sun Feb 04, 2007 8:29 am

Post » Thu Nov 26, 2015 5:03 am

Very grateful for your hard work!

User avatar
Jack Moves
 
Posts: 3367
Joined: Wed Jun 27, 2007 7:51 am

Post » Thu Nov 26, 2015 5:30 pm

I'm afraid it isn't that easy. There is a controlmap.txt, but it's encrypted. There is no controlmap.txt in any of the archive files however. It seems that any of the keyboard controls are baked into the .swf (flash) files. I found a solution by making use of my 16 button mouse, it's uncomfortable but should work for now. I'm also hoping for a day one patch that allows for fixed key binds and more keybinds possible in options (like rebinding menu keys aka E&TAB).

User avatar
kelly thomson
 
Posts: 3380
Joined: Thu Jun 22, 2006 12:18 pm

Post » Thu Nov 26, 2015 7:57 am

So theoretically (and in future) is there any chance that with the script extender modders can bring back visible holstered weapons? I am kinda assuming/hoping it isn't hardcoded.

User avatar
Roy Harris
 
Posts: 3463
Joined: Tue Sep 11, 2007 8:58 pm

Post » Thu Nov 26, 2015 5:20 am

Nice to see you guys already started :)

Btw I wrote dumper for the new version of pex http://www.gamesas.com/topic/1545094-wip-fallout-4-hook/

User avatar
Solène We
 
Posts: 3470
Joined: Tue Mar 27, 2007 7:04 am

Post » Thu Nov 26, 2015 7:59 am

+1

I really hope the modders can do something to fix this absolute failure of modern game design.

Edit - The next best thing would be to take advantage of the layered armor system, and make "closed" universal weapon holsters for the back, waist, thigh etc. Which is definitely do able.

Examples,

http://l7.alamy.com/zooms/c812b80b7ed542e1b0e7116d4a9af7b0/a-rigid-ex-artillery-pistol-holster-for-p08-modified-by-shortening-brf345.jpg

http://image.rakuten.co.jp/revolut1/cabinet/c34/1_co148003_600.jpg

User avatar
emily grieve
 
Posts: 3408
Joined: Thu Jun 22, 2006 11:55 pm

Post » Thu Nov 26, 2015 5:02 pm

ok.. im not familiar with a lot of these terms, but i think i understand the general idea of what youre saying. Do we need to do anything different with the photoshop plugin, or can we unpack the normals using the -atifourcc switch, and they should then open properly in photoshop plugin? If so, can we then keep using the same dxt1/3/5 compressed formats and the various uncompressed formats to save new/edited normals, or do we need to do something different with textures we save?

Thank you!

User avatar
Roddy
 
Posts: 3564
Joined: Fri Jun 15, 2007 11:50 pm

Post » Thu Nov 26, 2015 4:39 am

That's unfortunate. I'm getting by with Auto Hotkey, but I had hoped that it would only be a temporary fix until the controlmap file could be sorted out. I don't know why they would encrypt that. It's such a simple matter to sort out the keybind problems and inconsistencies if we can just get into that file.

User avatar
CRuzIta LUVz grlz
 
Posts: 3388
Joined: Fri Aug 24, 2007 11:44 am

Post » Thu Nov 26, 2015 6:07 am

ok so the normal maps are now being extracted properly and are opening in photoshop perfectly!! Everything looks wonderful! Now, the question is, what formats do we need to select when we are saving the normals? can we use the old dxt5 with alpha, dxt1 no alpha, or uncompressed 8888 argb/888 rgb formats?

I guess i could test them all out individually to see if they are rendered in-game.. let me know what you have found so far, thx

EDIT: it looks like selecting the 3Dc option in the nvidia plugin may be the same format as is exported from the ba2 archive using the new switch you implemented. I am still curious though if the game is capable of using uncompressed argb and/or DXTx

User avatar
Maria Garcia
 
Posts: 3358
Joined: Sat Jul 01, 2006 6:59 am

Post » Thu Nov 26, 2015 7:17 am

*Dang forums aren't loading today. Double Post*

User avatar
(G-yen)
 
Posts: 3385
Joined: Thu Oct 11, 2007 11:10 pm

Post » Thu Nov 26, 2015 3:18 pm

My only wish is that somehow it would work on consoles, but I highly doubt it. I don't really have any knowledge with modding outside of screwing around with Halo Custom Edition modding and the GECK/Creation Kit, so I dunno if it's even a possibility.

Although I will say thanks to the creator of the script extenders!

User avatar
Prue
 
Posts: 3425
Joined: Sun Feb 11, 2007 4:27 am

Post » Thu Nov 26, 2015 10:27 am

is it possible to write a script that would infinitely augument the game's name list so Codsworth can recognize any name you enter? i.e. instead of maintaining an impossible to maintain list of names, store the PC's name in memory bank and have Codsworth's script dialogue access this? This would be helpful for PC loving robot role play where the PC prefers keeping Codsworth as a companion.

User avatar
:)Colleenn
 
Posts: 3461
Joined: Thu Aug 31, 2006 9:03 am

Post » Thu Nov 26, 2015 11:25 am

Thanks for all your hard work. SE team absolutely set the foundation for some of the best mods that get created.

User avatar
Tania Bunic
 
Posts: 3392
Joined: Sun Jun 18, 2006 9:26 am

Post » Thu Nov 26, 2015 8:38 am

Now that the engine natively supports the DX11 surface types and is designed to handle packed normal maps, we can get a lot more quality per byte out of each texture. I need to test all of this out, but it appears that any DXGI format can work as long as you write a DX10-style DDS file. That sentence may not make much sense, but it basically means that our textures can now look much better.

First, let's introduce some new names to clear up some of the mess that was DX9 texture compression. Vendors made their own formats and ended up with a bunch of different names that are now simplified in to one of seven "block compression" formats:
DXT1 -> BC1.
DXT2 -> BC2.
DXT3 -> BC2.
DXT4 -> BC3.
DXT5 -> BC3.
ATI1 -> BC4.
ATI2 -> BC5.
3Dc -> BC5.

BC6 is an HDR format which probably isn't relevant for this discussion. BC7 is a high quality color compression format. There are some details https://msdn.microsoft.com/en-us/library/windows/desktop/hh308955(v=vs.85).aspx if you are interested.

Here are format suggestions for each type of texture:
- Color: BC7. It is much slower to compress than the older formats, but the quality difference is huge. There is almost never a reason to use a full RGBA8888 format. This is an 8bpp format, so it's the same size as DXT5.
- Normal: BC5. This is just two DXT5-style alpha blocks being used to encode two channels of information, which is ideal for normals. Also 8bpp, same size as DXT5.
- Specular: BC5 again. The image is two channels of uncorrelated data, so this is still the perfect format. Again 8bpp, same as DXT5.

It should go without saying that you should always generate mipmaps for your textures.

Bethesda stored the color textures in the game as DXT1 rather than BC7. This may be due to the compression speed, or the doubled file size (and memory footprint). Not sure; the quality loss is unfortunate, but I am sure that people will be making all sorts of "HD Texture" mods in the future.

If you've read this far, you're probably wondering what tools to use to compress your files and how your workflow pipeline should look. The current state of Photoshop export plugins is pretty sad. The only plugin that I've seen online that even says it offers support for BC7 is https://software.intel.com/en-us/articles/intel-texture-compression-plugin-for-photoshop that you need to sign up for. Nvidia's exporter doesn't support any of the new formats. AMD offers a http://developer.amd.com/tools-and-sdks/graphics-development/amdcompress/ and code libraries that could be used to build a Photoshop plugin, but it isn't all tied together. Microsoft offers https://github.com/Microsoft/DirectXTex and the 'texconvex' tool included with the DirectX SDK that handles conversion. I've looked at DirectXTex and it appears to compress BC7 pretty well, not sure what texconvex uses or how fast it is.

Due to this mess, I suggest writing out your files in a lossless format (png maybe), then using one of the above tools to perform the conversion from the command line. I'm sure that at some point someone will make a way to automate this.

Finally, texture streaming. BA2 archives can be one of two formats: general, or texture. General can store any type of file; you can basically think of it as a .zip archive. Texture archives are specifically optimized to allow textures to be streamed in starting with the smaller mip levels in one chunk, then the larger mip levels one by one as needed. DDS files are stored in the opposite order that you will generally see a texture, starting with the large mips and going all the way down to the 1x1. Since you need to decompress everything in a file up to the point that you want to read it, this is bad for streaming.

There isn't a tool for repacking BA2 archives yet, but all of the information is out there to create one.

Finally, please note that I haven't actually tested most of this stuff yet, so some assumptions I am making about the engine may be incorrect.
User avatar
Maya Maya
 
Posts: 3511
Joined: Wed Jul 05, 2006 7:35 pm

Post » Thu Nov 26, 2015 1:18 am

As an addendum to Ian's post I just wanted to talk about the current state of _n and _s files. Ian added a command line option to treat BC5 like ATI2 in the second version. For http://www.nexusmods.com/fallout4/mods/78/ v0.02 I went ahead and made this the default for now because here is why:

Nvidia Plugin (DXT5) - bloatfly_n

Color: https://i.imgur.com/vnrp4a9.png ... Corrupted garbage

Alpha: https://i.imgur.com/XiQwyLK.png... I am pretty sure this is just one of the color channels.

Nvidia Plugin (ATI2) - bloatfly_n

Color: https://i.imgur.com/9p9dk4N.png... Washed out. Still incorrect. But see below.

Alpha: Absent. I am going to guess this is correct because they are instead using all the bytes for normals.

WTV - DDS file viewer (ATI2) - bloatfly_n

Color: https://i.imgur.com/3mrYJ50.png... Correct.

Alpha: Absent.

----

So, if you're using the Nvidia plugin and getting washed out normals, you can add a black layer over the texture and put it on Overlay mode. This makes the file look identical to the above correct version.

When looking at bloatfly_s, same thing. DXT5 is unusable. After you apply the black overlay trick, the 3 channels look like they may be correct.... but they're not:

Nvidia (ATI2) Corrected: https://i.imgur.com/MJ6sqmh.png

WTV (ATI2) : https://i.imgur.com/dzKbYVz.png

Since WTV is the only thing that showed the _n correctly I'm going to assume that it has the _s correct too.

----

So, given that the Nvidia plugin is pretty much the only tool anyone can use to view ATI2 and it's still not treating them correctly says a lot about the state of texture modding right now.

I still have to look into https://github.com/Microsoft/DirectXTex but hopefully I will be able to use it to decompress BC5/7 and then write this out in an uncompressed format during the BA2 extraction. Either alongside the correct files or in place of them. A tool would also need to be made to turn the uncompressed version back into BC5/7 like Ian said.

User avatar
Shannon Lockwood
 
Posts: 3373
Joined: Wed Aug 08, 2007 12:38 pm

Post » Thu Nov 26, 2015 2:20 am

Thank all the gods in the sky for you guys. Cause we need you bad. The rest of us eagerly wait you and Beth.

User avatar
laila hassan
 
Posts: 3476
Joined: Mon Oct 09, 2006 2:53 pm

Post » Thu Nov 26, 2015 1:49 pm

Yay!

User avatar
Talitha Kukk
 
Posts: 3477
Joined: Sun Oct 08, 2006 1:14 am

Post » Thu Nov 26, 2015 1:35 pm

Thank you guys for your excellent work!

I'm holding my thumbs that in FO4 it will be possible to dynamically alter item prices depending on who's buying and what (i.e. a trader that pays more for food items, or pays less for coffee cups, but normal prices for veerything else), and also terminals that you can actually type on!

User avatar
Rinceoir
 
Posts: 3407
Joined: Thu Jun 29, 2006 1:54 am

PreviousNext

Return to Fallout 4