#Fallout New Vegas

1 messages · Page 3 of 1

keen niche
#

Though I don't think Remix is working here. 🤔

hearty crane
#

Vault 21 has 0 direct lights, had to use emissives to navigate,the lobby has maybe 5 (1 stoollamp, 3 overhead lamps, 1 for the mimicing of exterior light/window light seeping | near the windows on the left of entrance)

brazen oyster
keen niche
#

The colors are debug shaders, telling you how many lights are hitting an object.

brazen oyster
#

Red is 10+

hearty crane
#

at least raul's shack has one "properly" Placed 😄

brazen oyster
#

Obsidian placed 2 lights for every wall light

#

because ????

hearty crane
#

wait a minute ...there are 2 ,didnt see this one seems smaller 😄

brazen oyster
#

I really wonder...

keen niche
#

"It must be those skeletons with every limb! Cut them in half and replace them all in the game"

brazen oyster
#

also let's add water to the strip

keen niche
#

And then take it away, but not fix the reflection code to only run when it would be visible, so it still dies!

#

Y'know what would be nice with the Remix UI? If you could right-click a texture to apply the same properties that you did for the last one.
That would make bulk assignment so much quicker, than having to navigate to the context menu which changes location every time.

#

Oh, also, Remix breaks VATS.
All percentages are just 0.

hearty crane
#

The only direct light here comes from "outside" .sun directional seeping through the culling cracks.most of the light here is still from emissives.

#

Thats the sunlight/moonlight

keen niche
#

How'd you get it to that state?
I'm still here, going through textures. And constantly getting flashbanged by this red and yellow stuff.

hearty crane
#

feeling a little bit light headed...

#

@keen niche that looks like some texture/s is selected as "add light to texture"

keen niche
hearty crane
keen niche
#

I've been turning them off as I see them in the list.

hearty crane
keen niche
jagged chasm
keen niche
#

It did, but I keep finding more and shutting them off.

jagged chasm
#

Gotcha, I do know there’s some that slip through. Just didn’t want you have to tag all of them manually cause there’s thousands.

dusty pivot
#

try vault 21

#

there are interiors with waayyy more than 8. Probably remix only gets the ones currently used for lighting? Since that's always 8 at most

#

ha didn't see you were already checking it out haha

#

that place is a christmas tree

jagged chasm
#

I get more than 8 light sources all the time peepoG

dusty pivot
#

NVR has an overlay shader that lets you visualise up to 24 of them as dots on the screen

jagged chasm
#

That’s the limit of the shader being able to only load that many right?

keen niche
#

I don't think so, it's just a visualization.

brazen oyster
#

ILS bumps that to 13

#

game counts waaay more lights internally

brazen oyster
keen niche
#

Of course, that's per-object, but still really low.

brazen oyster
#

per geo

keen niche
#

Yeah, per strips/quads/whatever.

jagged chasm
#

Ah so the pipeline used now can use up as many lights as the game loads since it isn’t being culled with the SM2 limit.

hearty crane
jagged chasm
#

If you turn on the DXVK rtx hud you can see the light count entering the rtx pipeline.

#

I typically see something around 12-28

north sequoia
#

Just caught up on the chat here -- this is so cool, props to you all for getting it working

jagged chasm
#

That guide is a work in progress. I was having difficulty with the ini’s verySadge

#

Updated it 👍

keen niche
#

It feels pretty close to functional. There's definitely a lot to do, but it's remarkably stable. I played for maybe half an hour to an hour in my normal save.
Granted, at ~10 fps, but still impressive.

jagged chasm
#

> 10 fps
Just as Todd intended

keen niche
#

The FPS is a struggle. I'm not entirely sure what could be done about that, besides disabling as many base game effects as possible.

jagged chasm
#

I think it’s from transparent textures. They get a different material that is harder to calculate from my understanding.

keen niche
#

Hmm.

jagged chasm
#

The normals get treated as those so

keen niche
#

Most of the transparent textures didn't work, I had to flag them as 'legacy cutout'.

#

Heh, this is a funny comparison. RTX Off (Left) vs On (Right):

#

Y'know, the right oddly reminds me of Fallout 4.

jagged chasm
#

Need that yellow filter back, can’t tell what game it is KEKW

summer cargo
#

Actually it wouldn't be hard to restore that.

#

That's as simple as setting up the Color Grading in post-processing.

keen niche
#

Oh, I found that, somehow, IMODs work with this!

jagged chasm
jagged chasm
keen niche
#

Even with the performance as it is, it's still cool to see areas lit properly-ish.

#

Even though the gun's not being RTX'd for whatever reason.

summer cargo
#

I would also add that performance always nose dives when Remix is dealing with unexpected textures that don't make sense. Having a stable image increases performance by a long shot.

keen niche
#

You mean standing in one place, or getting all assets replaced/marked?

summer cargo
#

I mostly mean just removing assets that shouldn't be there, and of course rendering improvements.

keen niche
#

I even had a little firefight in RTX:

#

Those lines seem to be from bullets. Tracers, maybe?

jagged chasm
#

Even though there’s no PBR materials, it looks surprisingly well. I’m really excited to get those in and see how this game will look with them.

keen niche
#

Heck, even if we can just get the game's base textures converted, it could be a huge improvement.
It's already sort of got roughness and shininess maps.

#

It would likely need a specialized program/script to deal with this game's unusual methods, though. 😔

#

For example, the alpha layer in the normal map is the specular texture, basically how shiny it is in places.

summer cargo
#

ChaiNNer lets you do this.

#

One sec, drafting a chain.

#

Assuming it's DX format otherwise it should be simple.

keen niche
#

Would it help to know that the game has mostly-standardized texture naming?
Where you have basetexturename_n for normals, then _g for glow, etc?

summer cargo
#

I think so yeah, in that case I would probably use a really simple batch script to get all the normals into a folder of their own before processing them.

keen niche
#

I've already done that, it's really simple with BSA Browser.

summer cargo
#

I know PBROven already lets you change the markers on textures so we can reuse the names as is and just change suffixes to hook up mats as long as hashes are consistent.

#

If not, we'll just have to match them by hand. 🥹

keen niche
jagged chasm
keen niche
#

The texture hashes do seem consistent, from what I've seen, at least.

jagged chasm
#

Lemme John madden up diagram of how to do so

summer cargo
keen niche
jagged chasm
jagged chasm
summer cargo
#

Obviously this would be an iterator node for the sake of our patience.

keen niche
summer cargo
#

The chain you see here does have speculars as _n_s but we could always batch-rename them right after.

summer cargo
#

Once we match hash to game name for diffuse then it sounds like we're all set.

keen niche
keen niche
summer cargo
#

Wait so are glow and emissive map both properties?

#

But yeah the chain I just made will convert _n to octahedral format and split off the alpha channel into a separate_n_s

keen niche
#

Uh... I'm not 100% certain what _em is for. Maybe the environment map mask? Which would mean that equates to reflectivity roughness, since the envmap is a cubemap meant to approximate a reflection.

summer cargo
#

ChaiNNer has a CLI mode but it's not really documented yet, I'll have to go bug people about it.

summer cargo
jagged chasm
keen niche
#

Okay, yeah, it's an environment map mask.

north sequoia
#

Would it be useful for chaiNNer to be able to generate the remix hashes from the images?

#

Or would that be better done via the external stuff

jagged chasm
#

I have the Python script that calculates them on my repo if that’s useful

north sequoia
#

Yeah send me a link

jagged chasm
north sequoia
#

We already have a generate hash node, we could just add an option for whatever type of hash this is

#

Thanks

jagged chasm
#

It’s xxhash3_64

summer cargo
#

Well that's that. 😁

#

I think the one node we could really use that ChaiNNer (to my knowledge) doesn't have is a branch condition.

#

I'd love to be able to parse the file name to determine which chain goes forwards.

north sequoia
#

Yeah trust me i wanna do that it's just tricky

summer cargo
#

And by support I mean just having like eight different chn files on a switch statement in Unity.

jagged chasm
#

Those were the magical lines that BlueAmulet figured out

north sequoia
#

I mean, that would work i guess 😂

keen niche
#

Oh dang, could this also be used to automatically generate a list of textures to ignore? Just get everything with _n or something, generate its hash, and output a text file to use.

jagged chasm
summer cargo
#

And I think AdamPlayer has a solution 100% done too right?

jagged chasm
keen niche
#

Oh cool, is that the method you used to make that file?

summer cargo
#

#1106553248590090351 message

jagged chasm
#

No that one was a bit simpler than what I just John maddened.

#

That’s just generating a list of all textures with _n, hash them, replace a string in a template, and assemble it into a usda.

#

It uses the two Python scripts in my repo

#

The one I scribbled today is to get the original normals to match up with the original games textures via file names.

#

Originally I was going to use perceptual hashes but I think file names will be a tad bit easier.

jagged chasm
#

Or at least add it into the process as a flag.

keen niche
#

Would a 'perceptual hash' be trying to figure out what diffuse a normal belongs to by 'sight'?

jagged chasm
#

But since we have the ability to generate the hashes now, no need for that level of CS. YEP

summer cargo
summer cargo
jagged chasm
#

Isn’t there a Python snippet that has the conversion floating around somewhere?

summer cargo
#

Yeah, let me go grab it again

#

I'm working on a C# binding of it, but got a little sidetracked.

short scaffold
#

this thread is like great Greek scholars talking about philosophy

hearty crane
summer cargo
#

As far as I know the octahedral conversion tool here doesn't touch alpha channels, but the chain makes sure to remove alpha before the octahedral conversion just in case.

jagged chasm
summer cargo
#

It's Python so I doubt it cares. This is the implementation ChaiNNer is based on if I understand correctly.

north sequoia
#

That's why putting it into chaiNNer made sense to me -- you already could load a ton of formats so it was easy to just throw that in as a node

north sequoia
#

He didn't like what they were doing by assuming stuff with the blue channel

summer cargo
#

I honestly feel an emptiness every time I see how forgiving Python is before going back to C#. YOU'RE GIVING ME A WHAT? TYPE! GIVE ME A TYPE!

jagged chasm
#

I’m just going to do it in chainner, I don’t want to mess with converting things in Python.

north sequoia
#

Python can use type hints

hearty crane
summer cargo
#

Yeah that's rasterization. 😔

north sequoia
#

Btw, doing the hashes in chaiNNer is probably a no-go. The hashing script does it based off of the bytes of the image, not the image data. So we'd need to have a node to load the raw bytes of a file rather than the image data. Which isn't entirely out of the question but it wouldn't be useful for anything other than this

jagged chasm
jagged chasm
summer cargo
jagged chasm
#

Remix hashes it directly off of the memory in the gpu, so it’s not something trivial to copy.

north sequoia
#

We might go ahead and add a load bytes node just for this

#

Maybe

summer cargo
#

I probably will need to bug you for some CLI stuff soon, just need to debug a few things first. @north sequoia
I'd also love to contribute by helping out with documentation for CLI mode if you'd like.

jagged chasm
# jagged chasm

My goal for today is to get this working and implement it as another hashToMod template so we can have any PBR materials added back to this game easily. PeepoPlotting

north sequoia
jagged chasm
#

Wonder how far we are ahead of Marks and the Nvidia teams expectations for remix PepeC

#

|| Lemme summon him to ask. Mark Mark Mark ||

summer cargo
jagged chasm
#

@keen niche is there an article that lists out all the layers for the materials that fnv uses? I know you said the alpha of the normal got used as a specular.

keen niche
#

It's mostly about actually making full nifs, but includes a lot of material properties and stuff.

#

Looks like these would be the most relevant:

#

Is there an equivalent to parallax in RTX Remix?

#

Oh, this could be important to note:

north sequoia
#

I think we're just gonna add a node to calculate a hash specifically for RTX remix, which we'll probably just move to an external plugin once we have support for those. But for now i wanna make things convenient for you all

jagged chasm
keen niche
#

It would be easier to ask Wall to stop the game from loading them in-engine.

jagged chasm
#

Wall pls

keen niche
#

@brazen oyster pls bud
make engine accommodate the awful things we're doing to it

brazen oyster
#

?

keen niche
#

It would be appreciated if you could prevent the game from loading any texture in a nif except the diffuse.

brazen oyster
#

doable

jagged chasm
# brazen oyster ?

|| Can you make the graphic pipeline become a graphics slide for me please? The pipe scares me. Sadge ||

summer cargo
#

||I prefer the graphics slippery slope if I'm being perfectly honest.||

dusty lynx
#

yes

keen niche
#

What do you have planned for that?

dusty lynx
#

uhh, asking Wall what the change was, and then adding it to the plugin, along with any other remix specific hacks

keen niche
#

So you exported it just for testing?

dusty lynx
#

yeah

keen niche
#

👌

brazen oyster
#

all of this, rendered...

keen niche
#

But... Maybe Remix will cast shadows from distant mountains/objects that cover the entire world? 🤞

brazen oyster
#

why is LOD so scuffy?

keen niche
dusty lynx
#

honestly though it's mainly just the alpha blended stuff that's hurting my fps the most, but turning it off removes most of the vegetation and also various meshes that probably wrongly have alpha blending enabled I'm guessing

keen niche
keen niche
dusty lynx
#

bad near clip in blender

summer cargo
#

I want to say using the command tdr (toggle decal rendering) was a huge performance gain for my FO3 test, compromises aside.

dusty lynx
#

still yeah, no normals but it's not that bad

dusty lynx
brazen oyster
#

by returning true on every bound check

#

one sec I'll grab the code

brazen oyster
#

pepe_rock oh great OneDrive failed to sync

#

brb

#
void __fastcall BSCullingProcess_ProcessEx(BSCullingProcess* apThis, void*, NiAVObject* apObject) {
        apThis->pCompoundFrustum = 0;
        apObject->OnVisible(apThis);
    }
    bool __fastcall BSOcclusionPlane__WithinFrustumEx(
        BSOcclusionPlane* apThis, void*,
        NiFrustumPlanes* aPlanes,
        bool abViewHitPlane,
        NiPoint3 akViewIntersection) {
        return true;
    }

    bool __fastcall CompletelyWithinFrustum(void*, void*, void*) {
        return true;
    }
    
    bool __fastcall WithinFrustumDistFirst(void*, void*, void*, void*) {
        return true;
    }

    void __fastcall BSCullingProcess_SetCullModeEx(BSCullingProcess* apThis, void*, BSCullingProcess::BSCPCullingType eType) {
        apThis->kCullMode = 1; // CULL_ALLPASS
    }

    void __fastcall BSCullingProcess_PushCullModeEx(BSCullingProcess* apThis, void*, BSCullingProcess::BSCPCullingType eType) {
        apThis->eTypeStack[apThis->uiStackIndex++] = 1;
        apThis->kCullMode = 1;
    }

    void __fastcall MTRenderManager__AddTaskEx(void*, void*, NiCamera* apCamera, BSCompoundFrustum* apFrustum, NiNode* apNode, NiTPointerListBase<NiNode*>* apGeometryList1, NiTPointerListBase<NiNode*>* apGeometryList2, BSShaderAccumulator* apShaderAccum, UInt32 aeCullMode, UInt32, UInt32) {
        ThisStdCall(0xBA3390, 0, 0, apCamera, apFrustum, apNode, apGeometryList1, apGeometryList2, apShaderAccum, 1, 0, 0);
    }

        for (int callAddr : {0x8014F7, 0x80182E, 0x874260, 0x8742F0, 0x874316, 0x8743A6, 0x876233, 0x8767FD, }) {
            ReplaceCall(callAddr, BSCullingProcess_SetCullModeEx);
        }

        for (int callAddr : {0x54EB4E, 0x54EB91, 0x7134DF, 0x73354D, 0x740F7D, 0x77F188, 0x78E820, 0x794939, 0x7BBD3D, 0x7C1A0D, 0x7C9D09, 0x7E480E, 0x7FBD02, 0x7FE3D1, 0x8753CA, 0x875C45, }) {
            ReplaceCall(callAddr, BSCullingProcess_PushCullModeEx);
        }
        
        for (int callAddr : {0x4EA815, 0x4EAF18, 0x4EB1D7, 0x4EC769, 0x713F97, 0x874037, 0x87509C, 0xB9E6CB, }) {
            ReplaceCall(callAddr, MTRenderManager__AddTaskEx);
        }
        
        for (int callAddr : {0x549CCF, 0xB5AD64, 0xC347B7, 0xC4965C, }) {
            ReplaceCall(callAddr, BSOcclusionPlane__WithinFrustumEx);
        }
        
        for (int callAddr : {0xB5F25E, 0xB5F33A, 0xC49596, }) {
            ReplaceCall(callAddr, WithinFrustumDistFirst);
        }

        ReplaceCall(0xC49690, CompletelyWithinFrustum);
        SafeWrite32(0x101EA44, (UInt32)CompletelyWithinFrustum);
        SafeWrite32(0x101E984, (UInt32)CompletelyWithinFrustum);
        SafeWrite32(0x101E330, (UInt32)BSCullingProcess_ProcessEx);
#

ReplaceCall is just WriteRelCall without writing the CALL opcode

#

you can stub the classes in arguments

#

I suppose you could skip replacing stuff that's not important to the main view like water Thonk No need to uncull shit for that

#

by you I obv mean me

summer cargo
#

Copying and pasting what MSchmidt told me about ChaiNNer CLI in case someone else gets to it before me:

Firstly, all of these things are possible.
The basic idea behind CLI mode is that you give chainner a .chn file to run a list of input overwrites. So if you e.g. want to set a number input to a specific value, you would use an input overwrite to do so. In the case of Load Image and Load Model, you would use an input overwrite to set the path of the file these nodes load.
The command for running a chain is this: chainner.exe run your-chain.chn --override path/to/overrides.json
overrides.json has the format

{ 
  "inputs": { 
     "<input id>": string | number | null 
  } 
}```
>  You can get the input id from chainner. Open the chain you want to run in CLI, and right click the input you want to overwrite. Inputs that support overrides will have an option to copy their ID.
> Finally, the return code will be 0 if all goes well, and non-zero otherwise.
#

I'll get my FNV normal converter hooked up to this about nine hours from now.

#

After that it'll be as simple as plugging in the directories as an override by writing and editing a json between edits. I won't use PBROven for this, I'll hack together something that'll turn up a result.

keen niche
simple gazelle
#

if you haven't had a chance to file a github for this yet, can you upload a copy of your rtx.conf file with all the texture hashes?

jagged chasm
dusty lynx
#

@brazen oyster I'm thinking the vtable for NiAVObject in NVR is not right, I just checked the disassembly between your template and my plugin and the offset differs

summer cargo
dusty lynx
#

Alright, culling's gone

ornate marlin
#

Btw has anyone tried a no pause menu mod to see if it stops pitboy raster fallback?

#

Eh thought I saw one for NV now can't find it

#

When I get home I can see about digging name up sure it exist

dusty lynx
ornate marlin
#

Might be possible to make a mod that keeps game running in menus by taking a look at those plugins if game keeps running then pip boy may not fall back to raster

dusty pivot
#

No it's a rendering optimisation. Can only be fixed by modding the renderer

hearty crane
#

https://www.youtube.com/watch?v=ukpMFCX33O8
NVSE crashes the game with no specifics now(its not the latest plugin rtx-v0.0.3) Right before the level appears.Its not the runtime error that we had before(creating multiple bridge instances).Dont know whats the issue

  • Dxvk remix release #75 (there is option in this release to remove the "wobbliness")
  • Hack from BlueAmulet (Rtx remix disc-rod server)that keeps et from crashing(remix was creating multiple bridge command instances)
    no Mods, except some of the textures are HD.
▶ Play video
#

This is plain FNV with Some HD textures for Fo3

ornate marlin
#

A game with strippers

#

"gotta teach them young"

jagged chasm
hearty crane
jagged chasm
#

Confirmed that the no cull modification works KEK

jagged chasm
keen niche
keen niche
dusty lynx
summer cargo
#

Okay, I'm about to make some hackery.

#

Here's the workflow:

  • Look for textures that contain "_n."
  • For every normal texture, create a _no. and _nor. file
  • After all normals are processed, move _no and _nr files into a folder and rename all nr to r
  • Write materials based on diffuse name
    Here's what I'll need:
  • A list of diffuses and their associated hashes
  • Can't think of anything else right now but I'm sure I will when something goes wrong
keen niche
#

Oh, I remember something about normal maps in NV not quite following convention? Needing to flip some color channel so they 'face' the right way.

summer cargo
#

Oh really?

keen niche
#

I can't remember exactly what it was, but I know it was a thing.

summer cargo
#

I know that we need to separate Alpha.

#

Is that it?

#

For STALKER there is a weird color channel switch involved. Speaking of which, this app will support that too.

keen niche
#

Not that, you needed to actually invert one of the RGB color channels.

summer cargo
#

I'm doing this as a standalone first then I'll integrate the functionality into PBROven when it's more complete.

north sequoia
summer cargo
#

Oh is it OpenGL format?

#

I mean at the end of the day this is trivial, a single click in the chain to fix it.

keen niche
#

Or maybe whatever I was using to make normal maps needed to do that to translate it to DX?

summer cargo
#

Once we have the workflow for making mats the actual texture operation is a walk in the park because everything is done for us.

keen niche
summer cargo
#

Exactly yeah, if someone wants to test the chain I sent earlier in this chat first it's exactly what I plan to use in a bit.

dusty lynx
#

DX and GL normal maps are roughly the same, except for the green channel

keen niche
#

I'll need to figure out how to use chaiNNer first.

dusty lynx
#

to convert between the two you just invert the channel

keen niche
#

In that case there would likely be no problem.

summer cargo
#

This just runs through everything in a folder and does the operation we need for NV, which is splitting off alpha into roughness and converting the normal before saving the new normal.

keen niche
#

Do I need to install Python for it, and some neural network? I saw them mentioned in the readme.

summer cargo
#

But it's entirely portable.

keen niche
#

Oh, cool!

dusk rock
keen niche
#

Speaking of upscaling and NN stuff, is that Remix tool NVidia showed off ages ago out yet?

summer cargo
#

Nope. 😂

dusk rock
#

sadly no

dusty lynx
#

I thought about using helix mod to skip over the shaders that have normal maps in sampler 0, it did not work, it made everything worse

summer cargo
#

Wait did ignore material not work for these?

dusk rock
#

well, it makes it look more interesting

keen niche
#

I still think Wall will be the best shot at that, because he can just prevent the game from loading anything more than diffuse engine-side.

summer cargo
#

If someone can walk me through how to dump the textures and hash them in bulk I can generate a USDA for it.

dusty lynx
#

that ignore normal maps usda works, but it also just replaces it with a dull gray covering instead of actually hiding the call

summer cargo
#

Wait really? That's weird

dusty lynx
keen niche
dusty lynx
#

also maybe dumb question but, BAE or BSA Browser?

keen niche
#

Don't worry that it's for Special Edition, the format is mostly the same across these games and it has support for them.

dusk rock
#

i ran into it in another game too

#

strange

keen niche
dusty lynx
#

yeah

keen niche
#

Nah, that's old old. BSA Browser is what I use, and is much more intuitive.

dusty lynx
#

Also, Looking through the game in Intel GPA (nsight's confusing tbh), I can see that various meshes get drawn like 4 times, and some of the shaders used are normal map only shaders, so remix probably sees that, sees that the normal maps have alpha, and treats it as a bright alpha blend

#

ideally, yeah making the game not draw stuff multiple times, and making it only draw with the diffuse in texture slot 0 would help compatibility

keen niche
#

Yeah, the game has separate shaders for lots of stuff, and some effects in the .nifs are separate draw calls, even in the same geometry.

#

I wonder if Remix could be modified directly to be able to categorize things as normals, and use them as part of its own RTX rendering?

dusty lynx
#

iirc I think they said maybe but not a high priority. Since the texture tagging system already exist it should be possible to add support for add tags to normal maps, but also the fixed function games they're targeting likely don't have normals anyway

#

and also remix wants a special format for it's normal maps

keen niche
#

yeah, the octahedral thing...

summer cargo
#

Okay I'm thinking there may be a really easy way to handle this without much scripting. All we really need is to rename the normals to the same as the diffuse hash.

keen niche
#

Wait, that's how it works?

#

I mean, I guess that makes sense.

summer cargo
#

So I'm extracting both the diffuses and the normals, and I'll use the python script to get the diffuse hashes.

#

Once we have them all renamed I'll just run the folder iterator on normals manually, then we'll have a material in bulk.

#

It's not pretty but it'll get results fast.

#

I can even just use PBROven on the folder if I throw it into my captures folder.

#

Note to self: stop assuming where folders belong in my apps. 😅

dusty lynx
summer cargo
#

But yes, I could absolutely just use the original names and it'd be smarter too.

#

Probably just gonna focus this down and try to have it done soon but I'll be in streaming while I work on it.

#

I think I may be using this script incorrectly, my output file turned up blank. 😵‍💫

#
Hashes stored in Hash.txt```
dusty lynx
#

it takes a folder

#

hmm ... putting every normal as an rtx.ignoreTexture works, no solid gray things, but the usda leads to solid gray stuff

summer cargo
#

I get those all the time with Anachronox when I haven't updated my output textures folder.

dusty lynx
#

I'm using the one from AdamPlayer that just does

        over "mat_2F6B08234982561E"
        {
            over "Shader"
            {
                bool inputs:ignore_material = 0
            }
        }
summer cargo
#

I guess we'll just have to make them all opacity 0.0. 😂

dusty lynx
#

I also tried the token visibility = "invisible" but was still gray

summer cargo
#

Yeah token invisibility does nothing sadly.

dusty lynx
#

I mean, it wasn't a bright normal map anymore at least

#

it did also work for when I was trying to hide meshes

keen niche
#

I don't know why, but all the options in that RTX Light plugin just... go back to 0.

summer cargo
#

I'm having trouble with the python script, has anyone else gotten it working? I have a feeling I'm doing something incredibly dumb and silly.

dusty lynx
summer cargo
#

Oh is that just all the hashes done?

dusty lynx
#

I'm guessing the dlc packs also have textures, didn't do those

summer cargo
#

Oh wow.

keen niche
summer cargo
#

Yeah in that case... this... simplifies things... 😂

#

We can get to that later, once we have the pipeline done the process will be a couple of clicks.

#

Nice, so in this case I'm just gonna hop into Unity and make some materials.

#

I won't need to rename the mats either.

dusty lynx
#

oh btw, that list has an extra folder on it, texout and texout2, it's simply where I had extracted the bsa's, can just strip that off

summer cargo
#

No worries, I'm just going to point to my own file and strip to the last \ anyway

#

But... we should probably keep the directory intact. For now I'm just writing the materials for a flattened directory but I can fix it later.

dusty lynx
#

well off to reading dxvk-remix code again, see if I can figure out how ignoreTextures works and how to replicate it in the usda

summer cargo
#

So for now I'm going to just handle ignoring em and m. Later on I can make a new chain so that the existing roughness layer gets em and m added on as a mask, I am admittedly rushing through this tonight to get a proof of concept done so I can wrap up some other non-Remix stuff.

#

The tool won't be ready but I should have an output for a flattened directory stored in mods/gameReadyAssets soon.

north sequoia
#

em and m when ignored

summer cargo
jagged chasm
summer cargo
#

I'm not seeing any mention of metallic in the docs at all (which, by the way, amazing documentation, love it).

#

So I'm going to assume we'll worry about that later and try to ship this ASAP.

#

Alphas are dealt with already in the diffuse which is good because IIRC Remix doesn't support opacity maps.

keen niche
#

Certain alpha textures do need to be marked as 'legacy cutout' in Remix, though, or you get planes of flat textures where there should be holes.

#

I'm not sure what makes it fail or work otherwise, though, because some alpha textures are already fine.

jagged chasm
#

No updates on getting a usda with all the original material properties today, got too busy. Will have time tomorrow though Bedge

summer cargo
#

Wait I can never remember, what texture format is best for these?

#

Eh, I'll get a better chain set up tomorrow, for now I'll just get stuff working

jagged chasm
#

I change between all of them till it looks right in OV sometimes KEK

dusty lynx
dusty lynx
#

@simple gazelle marking a material in a usda as ignore_material doesn't quite seem to have the same effect as using rtx.ignoreTextures, ignoreTextures skips the call entirely, but ignore_material is leaving a gray version of the mesh behind

fresh belfry
keen niche
summer cargo
keen niche
#

Remix also breaks the local map, which is another separate render with a specific shader applied.

summer cargo
#

Cool, will give it a look after scripting hell is over.

#

I'll worry about the core write today, ChaiNNer integration probably tomorrow.

simple gazelle
summer cargo
#

#1106553248590090351 message

dusty lynx
#

with ignoreTextures

#

with the usda linked above

simple gazelle
#

hmmm...

  uint64_t SceneManager::processDrawCallState(Rc<DxvkContext> ctx, Rc<DxvkCommandList> cmd, const DrawCallState& drawCallState, const MaterialData* overrideMaterialData) {
    ScopedCpuProfileZone();
    const MaterialData& renderMaterialData = overrideMaterialData != nullptr ? *overrideMaterialData : drawCallState.getMaterialData();
    if (renderMaterialData.getIgnored()) {
      return UINT64_MAX;
    }

That's where the value is read and should prevent the draw. The replacement material should come in as the overrideMaterialData, unless the mesh being drawn is a replacement mesh

#

Why are you ignoring all these materials?

jagged chasm
#

They’re normals

summer cargo
#

Normals, emissives, and masks.

dusty lynx
#

New Vegas does some draws that have normal maps as sampler 0, so remix ends up drawing bright normal maps if it's not ignored

simple gazelle
#

Ah, these are shader draw calls? I don't know how those interact with the rest of the system

#

is it possible the same mesh is drawn multiple times?

dusty lynx
#

it is, those windows are drawn 4 times from what I've seen

jagged chasm
#

Yes

dusty lynx
#

couple times using the diffuse (and other textures), and then also twice with just the normal map

simple gazelle
#

so are the grey draws you're seeing just what's left still being drawn?

summer cargo
#

It's probably being drawn twice with normals to account for both specular and normal.

dusty lynx
#

and I can't capture with replacements to identify what's still there

#

even in blender though I see the 4 meshes, 2 are the diffuse and 2 are the normals

simple gazelle
#

huh... the ignoreTextures list is applied earlier, in rtx_context.cpp

    if (RtxOptions::Get()->shouldIgnoreTexture(originalMaterialData.getHash()))
      return RtxGeometryStatus::Ignored;

There may actually be a bug there - we change a bunch of properties on the material but don't update the cache hash, then ignore materials based on that cached hash. Whereas the usd material replacement is much later, so maybe the hash has been updated before then.

#

Could you file a github issue about the two flags behaving differently? We should look into this further

dusty lynx
#

on dxvk-remix or rtx-remix?

simple gazelle
#

prefer tickets on rtx-remix

#

hmmm, actually it looks like the cached hash is purely from the m_colorTexture, which doesn't get changed... so not my first instinct, but there's still a difference in behavior here, so still file that ticket

#

We should really just unify the code for both systems

fresh belfry
fresh belfry
#

Im on the toot at work, can someone send me the [Display] section of the .ini on here right quick? 😂

summer cargo
#

What you say to yourself when you realize you messed up the iterator and feel disappointed in yourself:

dusty lynx
#

oh

summer cargo
#

o.

fresh belfry
#

Wait i found a copy on my phone, gimme a sec 😂

summer cargo
#

Oh nice.

fresh belfry
#

Leave bDoTexturePass=1, its the albedo 👍 (but still set the other 3 passes to Zero)

#

Ignore all the other changes, this is from Remix 0.1.0 testing

summer cargo
#

So when this is done I expect the tool to take a directory (flattened or not, it doesn't really matter since GetFiles is recursive) and output a folder called output that contains roughness, octahedral normals, diffuse, and glow.

#

I'll leave the chat at that but I think this'll be done pretty soon.

fresh belfry
#

Its possible also that disabling these passes might mean that Wall may not have to tweak the Renderer manually either, altho the is visible? Return true culling hack is fukin gr8 😂💖

dusty lynx
#

somehow even more of the map is now normal

#

oh I messed up did bDoTexturePass=0 and bDoDiffusePass=1, now it works fine and doesn't need the normal map ignore usda

summer cargo
#

Nice, so in that case I'll just leave that part out and focus on the mappings. Almost done here.

#

My assumptions are that you'll basically use ChaiNNer to have a folder called Normal and a folder called Roughness included in your mods\gameReadyAssets directory, it'll be more flexible with another day to work on it.

keen niche
dusty lynx
#

one of those pass options did actually break the game's rendering, even without rtx

keen niche
#

Maybe the diffuse pass?

dusty lynx
#

parts of the terrain lod are drawing over the ground

keen niche
#

Maybe it's the random texture swapping thing if nothing else is available? And it just so happened to pick the general area?

dusty lynx
#

turning bDoAmbientPass or bDoDiffusePass breaks the ground, but bDoSpecularPass can be turned off

#

and bDoDiffusePass is what seems to make the normals draw, so I guess Wall is still needed

#

for reference since it is visible in that broken screenshot above, the motorcycles, truck, and deck of the saloon are being buried in some terrain lod
I sleep.

summer cargo
#

Don't program when you're tired. Instructions are as follows for now:

  • I'll provide the USDA in this thread soon-ish.
  • Extract all _n's to a folder called Normals.
  • Run chaiNNer on said folder which will spit out the textures in the subdirectories Octahedral and Roughness.
  • Remove all files that end in _n.dds.
  • Extract all _g textures to a folder called Emissives. (USDA will support these tomorrow)
    All of these go together in your gameReadyAssets folder. Demonstration soon.
#

I'll need a little more time to clean this up so it's actually usable.

north sequoia
#

Are you kidding? I do my best programming when I'm tired

summer cargo
#

I don't think I'm tired enough.

north sequoia
#

I've done so much dumb stuff while tiredly programming, but the impending bedtime deadline is a fantastic motivator for getting stuff done

dusk rock
summer cargo
#

My programming when tired is essentially a collaboration between Dr. Jekyll and Mr. Anonymous Contracted Freelancer communicating only through XML summaries.

summer cargo
#

After throwing out all the garbage I made earlier it took about ten minutes to get this done. Heh.

#

I now have a massive USDA and I'm just waiting for it to open so I can see if it actually works or not-- it's taking a long time.

#

Okay the file looks fine. I haven't implemented glow yet, part of why this was so much more aggravating than expected was because I kept getting tossed an illegal file path error that I don't usually see and I'm still figuring out why.

summer cargo
#

So it did work. I'm really quickly redoing the logic the way I should have.

#

When this is done it'll take a flattened directory and separate it into six subfolders for you.

summer cargo
#

It worked. 🤯

#

I'm just gonna add basic safety checks to make sure you do it on a real directory, there's no input validation whatsoever here

#

But you point it to a directory and specify your file extensions and it sorts the entire folder for you in a gameReadyAssets folder as "Diffuse", "LegacyNormals","Octahedral","Roughness","Emissives","Diffuse".

#

Tomorrow I'll worry about respecting the original folder structure on top of the directory which shouldn't be too much of a shift from the current system.

summer cargo
#

I'm basically just fighting System.IO right now to figure out one or two bugs standing in the way of completion. Had no idea this would take so long, and it really shouldn't.

#

I think I need to call it quits. I'll force it to true for now and get glows in next time.

#

Oh. So my checks were fine, and I had a \n in the middle of the file name. Yeah. That checks out.

#

🥹

#

That seems to have fixed it...

#

So in short, here's how you use it:

  • Dump the textures into a folder with no subdirectories
  • Take all the normals (search for _n) and move them into a subdirectory
  • Use the chaiNNer chain provided, set the directory to the folder, and run a folder iteration which will separate the _n files into _no and _nr
  • Use the text file attached, which is both hashfile lists combined into one
  • Input the folder's directory into RemixNVNormalRemap as the working directory, and set the path to the text file as well; please be careful, I don't want you messing up all the DDS's in your remix directory with this
  • The application will sort all your DDS's into a directory structure of Diffuse / LegacyNormal (can be safely deleted) / Octahedral / Roughness / Emissives with an attached hashes.usda, all included inside a gameReadyAssets folder ready to drop in.
#

As far as I can tell all materials are hooked up properly through this.

#

I can clean up and automate this tomorrow, for now... 🛏️

summer cargo
#

I forgot something really important. For the chainner script i need to emphasize that your normals need to start in a separate directory. The chainner script runs through every texture and you'll end up with a lot of extra unusable clutter in your folder if you aren't careful.

keen niche
#

This thing seems to be working!

#

Although... how do I know when it's done?

hearty crane
#

pip boy screen as Sky tex. 😁 .
as UI you can see he screen but you turn around and the sky reverts to raster...

#

Dont worry , he is not armed

#

@dusty lynx Is et possible to connect the pipboy light with the Fallbacklight/Sphere?
Fallbacklight is not used with your latest files( i think).

keen niche
#

It also doesn't seem to fully respect the game's flags, so lights normally hidden during the day will still show up.

#

But yeah, having the Pip-Boy shown in RTX will look great.

#

Especially with Wall's mod to make the light follow the actual Pip-Boy, so it animates with your arm.

#

Okay, I think chaiNNer finished, but I still have a folder full of all the original normals.

hearty crane
#

Solution:select the pipboy screen as UI texture(not worldspace) AND Sky tex. @lavish isle

short scaffold
keen niche
#

Wait, it looks like the Unity project might want the emissives in a separate folder?
It also wants the normals in a different folder... do I point it to the octahedral, or the or the original normals?

#

Oh, it says 'subdirectory'?
Do I need to move things around so they're all in the same main folder now?

#

By default, it wants a 'Normals' directory, but the chaiNNer thing generated an 'Octahedral' folder.
Do I point it to that instead, or the original game's normals?

#

Uhh... I took a guess and pressed 'Generate', but I got no feedback. Did... did it work?

summer cargo
#

Hey sorry, just got up.

keen niche
#

I really don't know if anything's happening, or if I set it up right...

summer cargo
#

So, if you're not seeing anything, that's an error because I didn't add the text file input box until the very last minute and didn't check for errors.

keen niche
#

I tried making a copy of hashes.usda and renaming it hashes.txt to see if that helped, but nothing.

summer cargo
#

The first input box is supposed to be a direct file path to the text file that I received yesterday which I hope I shared.

#

It's the output of the python script.

keen niche
jagged chasm
summer cargo
#

This is the two texhashes.txt files blueamulet sent me yesterday taped together.

#

Before you get into the UI you need to basically just extract the normals, and run ChaiNNer on them. The reason you need to do this separately is because it's just going to parse the entire folder, which means if you have it in a folder full of emissives and diffuse textures it'll try to split those up into multiple textures and make them octahedral too.

summer cargo
#

Nice nice. So in that case if you have that and your other textures extracted to a folder (subdirectories are okay) you're ready to go once you have a text file full of hashes.

keen niche
#

But I'm slightly confused by how exactly it will work.
Does it navigate folders itself and try to find all matching things, or do I need to lay them out in the set Diffuse, Normal, Roughness, etc subdirectories in the Unity project?

summer cargo
#

It just does a recursive search for DDS files.

#

It's supposed to run into a 1280x720 window like PBROven, but you know, lazy devs 😛

keen niche
#

Where will the output be? In the main folder? Does it move things, or make a copy?
Is 'working' the folder with everything in it?

summer cargo
#

Yeah exactly, it's the path you extracted your textures to.

keen niche
#

Okay, so 'Working' would be here:

summer cargo
#

I don't know about you, I think my UI looks
fine.

#

I think so yeah. It should have your diffuse, emissives, and normals, everything.

#

Yeah that looks right.

keen niche
#

I still got no feedback from it after pointing it to the new .txt file.

summer cargo
#

Anyway put the path to that in Working Directory and the path to the hashes lookup text file, and leave the other stuff because it's working and I really don't want to debug anything else. 😅 I'm fairly sure changing the folder names won't hurt though.

#

...hm.

keen niche
#

Maybe it's a weird thing where it doesn't like spaces or other characters in the file path?

summer cargo
#

I may have honestly just broken it too.

#

I don't think spaces should be a problem but I didn't test.

keen niche
summer cargo
#

Lazy dev shipped a broken build.

#

I can't get it working either.

#

I probably broke it at the very last second trying to un-hardcode the texhashes lookup sheet.

#

Ah yeah that took about two seconds to find.

#

It originally looked up the texture sheet on Awake to grab the files while I was testing, then of course I have a nonsense placeholder in the field so it would look for that, error out, and shut off the script.

#

Fixed, building.

#

The counter number is broken but save for a huge stutter right after it finishes organizing and pulls the textures list from that file, feedback is pretty constant with the app.

#

Never mind it broke again. Changing the paths broke everything.

#

Good thing I tested this before releasing it as a working app, right?

#

Oh wait no it works fine lol I was reading the wrong hashes.usda from earlier in testing last night.

#

Shipping.

keen niche
summer cargo
#

Sorry, stopped to write some documentation.

#

It should open in a 1600x900 window now, if it opens in 1024x768 I'm a silly goose. Either way it should work.

keen niche
#

Wait, it was meant to be in a window? I thought it just went fullscreen on me.

summer cargo
#

I forgot to hit the option the first time.

#

Alt Enter will work either way and this window should be resizable, I think.

keen niche
#

Did that hashes file also deal with the DLCs? Because I extracted those textures, as well.

#

Okay, I now have a gameReadyAssets folder!
Do I just... toss that in the remix mods folder?

summer cargo
#

Pretty much yeah.

keen niche
#

And I guess get rid of the last one?

summer cargo
#

You'll need to include a mod.usda file that links to hashes.usda as a sublayer.

keen niche
#

The ignoreTextures_mod?

summer cargo
#

Not necessarily, you can just not use it.

#

You can still use ignoreTextures but I think this mod should cover the same purpose, I don't think they'll conflict.

#

If you did this, you would load hashes.usda then ignoreTextures would override it.

#

I don't know if the DLC hashes will work because while the textures were definitely sorted I didn't actually run the python script on the DLC.

keen niche
#

Do I just toss mod.usda in the rtx-remix/mods folder, next to gameReadyAssets?

summer cargo
#

Yup.

#

No wait no it goes in gameReadyAssets.

keen niche
#

So like this?

summer cargo
#

Yup, ideally I should probably pack that in a folder 😅

keen niche
#

And now... moment of truth, or anything else?

summer cargo
#

Moment of truth.

keen niche
#

🤞

#

Hmm, I still see the corner message saying 'not production ready, layer data missing' or whatever.

summer cargo
#

Oh yeah that will always be there.

#

It just means there's no info saying the layer is production ready.

#

It's an asset quality control thing for when Nvidia was working on Portal.

keen niche
#

I have... no idea if this worked.

summer cargo
#

Did you see loading enhancements or did it finish up quickly?

#

If it was a quick load it probably didn't work.

#

You'll also be able to see the Enhancements menu won't let you capture if it's working.

keen niche
#

Nothing happens when I toggle the enhanced assets in the RTX menu.

#

This should be right, right?

summer cargo
#

There's errors coming up in Omniverse, the file isn't usable.

keen niche
#

😢

summer cargo
#

It says it doesn't like the way I wrote ignore_material?

#

Oh yeah I wrote the wrong phrase... heh.

#

Give me two minutes to upload the new build and you'll be set, this error is silly.

hearty crane
#

Fallback light/sphere mimicing pipboy light

keen niche
keen niche
summer cargo
#

I saw in Fallout 3 that it rendered as a bright white disk.

keen niche
#

I suppose I'll need to re-run the Unity thing? Good thing I made a backup of the extracted textures folder before doing this!

summer cargo
#

It should just reshuffle them again.

keen niche
#

Oh, so just run it on that folder again?

summer cargo
#

In fact you can just run the script and pull the script itself.

#

You don't need to move the textures, I just changed one of hte USDA things.

#

I'm just letting the script run to the end so I can make sure Omniverse doesn't hit another error.

keen niche
#

Reckon I could just run it straight on the copy in rtx-remix/mods?

summer cargo
#

You could, but I wouldn't necessarily recommend it.

#

I haven't tested it at all.

#

I don't think anything should break but... well count how many times I've said that in the last three hours. 😂

keen niche
#

Wait, so where will I run it? Because that's just a straight copy.

summer cargo
#

Honestly I think I'm just going to edit my USDA and send it, it should be 100% compatible.

keen niche
#

I extracted the DLCs, so as long as you also did that, it should be fine.

summer cargo
#

I think I may just let the DLC sit for after I wake up, the main thing is apparently I'm getting duplicate materials so I'm not sure where that's happening or why.

jagged chasm
#

Just gotta make sure to sanitize your list before out puting it to a usda.

summer cargo
#

Yeah you know what that is actually a much easier operation. Just really out of it 😅

#

Thanks, I'll get right on that

keen niche
signal wave
#

how are things going with new vegas? i haven't been keeping up

keen niche
#

It's going.

#

This is entirely not right, but I think it still looks cool.

signal wave
#

what the heck is going on in the corner with the flag?

keen niche
#

The normals are glowing.

#

👻

signal wave
#

not the normals

#

the shadows by the flag

keen niche
#

What shadows?

#

These?

signal wave
#

yes 😂

keen niche
#

🤷‍♀️

#

Just Remix not working with smoothed normals, I guess, just treating them as flat.

signal wave
#

hopefully it's a easy fix

#

also thanks for releasing True Scopes. it makes the game more fun using Scoped weapons

keen niche
#

A shame that it probably won't work with RTX Remix, though. 😔

#

Unless they've retained the Portal functionality which can teleport rays, because then I could do it pretty nicely.

signal wave
#

nooooo 😭

summer cargo
#

It's under Parameter Tuning.

keen niche
#

That wouldn't be the same thing, though, would it?

summer cargo
#

I know it has something to do with rendering a view model separately from the rest of the world, but beyond that I know next to nothing about it.

keen niche
#

Isn't that just referring to the actual held view model, the weapons and hands and stuff?

summer cargo
#

I think so? 😓

#

I haven't had much luck with it yet.

keen niche
#

What I'd like to see is the functionality from Portal with RTX, because light and the view actually goes straight through portals, teleporting between them.

#

I don't know if that was built specifically for Portal and not kept around, but it would be amazingly useful and cool.

#

It's also something I've long thought raytracing could be used for, to have infinite* 'cameras', and full-ish resolution through them, because the normal view rays are just being translated directly to the endpoint once they hit the special surface.
Meaning, the closer you get, the more resolution a particular camera has, and you're not rendering multiple views, it's still part of the main view.

dusty lynx
summer cargo
#

I think it may have actually been the emissive map texture reference in the USDA not having a \n at the end.

#

💀

#

I have a fixed USDA with no ignores, hopefully a fixed with ignores, and a new version to ship.

#

Okay the one that includes ignores works too.

keen niche
#

So, do I need to re-run it, or just replace the hashes file?

summer cargo
#

The hashes are based on the doc so if you get hashes for the DLCs that aren't in there, you'll need to run it again.

keen niche
summer cargo
#

That said I did add a toggle to skip the texture sorting.

#

I could probably save the working directory and texture hash to player prefs and load it on startup.

#

Yeah if it takes a year to load that's a great sign.

#

Hopefully tonight I'll be coherent enough to actually implement the whole chain with a single click.

keen niche
#

I think it crashed. 😅

summer cargo
#

Oh it definitely works then.

#

It usually takes me a load or two to actually finish loading a mod.

hearty crane
#

Dont know what i did but seems like the sky tint effects the world.Actualy seems stuck on that same blue/purpleish tint

keen niche
#

Alright, this is weird: The entire game is black.
No HUD, no Remix menu, nothing.

#

I can hear it, so I know it's working, but I'm blind.

summer cargo
keen niche
#

If I disable the mod again, it works.

summer cargo
#

Will disabling enhanced materials fix it?

#

Hm... I guess in that case we need a way to make sure particles stay transparent.

keen niche
summer cargo
#

Yeah renaming the USDA will also do the trick.

#

I'll probably just finish setting up NV on my end and get some sleep, but after work I'll take another look at this to figure out what went wrong. If I had to guess it's the sky dome getting fully rendered giving us trouble, but it'll be hard to tell what exactly is happening until I can look at it through Omniverse.

jagged chasm
#

We're starting to cook chefkiss

keen niche
jagged chasm
#

|| By the way, fuck using the click package. That thing is so gd confusing.||

summer cargo
#

The fact that it blocks the UI too is... weird.

dusty lynx
#

I really wish IDA's sig files were cleaner

summer cargo
#

I'm going to go ahead and call it here, I'm hoping by tonight I can have my own NV installation running to try and experiment more with it locally.

keen niche
#

Uhh... has it just stalled? It's been here for a few minutes, now.

#

Also hasn't generated the new hash files. This is on a new copy of the folder with the sorted normals.

summer cargo
#

It stalls when reading the list. If I make a few adjustments it'll have a normal progress bar like the rest of the program.

#

As for the USDA, it usually doesn't print out until the very end.

summer cargo
#

As long as this is just using a preset text file I'm just going to leave the generator as-is and keep working at it until it actually supports the features it needs, I'm working on a fix for the mega-hitch on calling the file as well.

dusk rock
#

sadly though i believe it's the same version as microsoft store, and as a result the exe isn't compatible with NVSE

#

i don't have the space to download and find out

#

actually i do

#

it's only 8 GB. Microsoft Store version was a whopping 47 because they included separate copies of the game for each localization

#

so it may be different now.

#

Fallout 3 was the MS version before. i recall checking. maybe they fixed that one too

dusty lynx
dusk rock
#

yeah

#

i'm not sure which versions have that patch applied though

#

microsoft store version is separate from xbox live if that wasn't clear

dusty lynx
#

Am curious in what ways they're different then, didn't know about that

dusk rock
#

by MS version, i mean the version they include with game pass and sell on their store. it's DRM free, but the exe is different from all of the other versions. afaik NVSE doesn't support it

#

yeah

#

xNVSE is compatible with the Steam and GOG versions of the game. German No Gore, Xbox Gamepass and Bethesda.net versions are not supported.

#

i'm not sure what they changed, but it sucks that it breaks compatibility

#

mm that's not a good sign

#

it has the same file structure as the microsoft store version

#

similar error happens with FOSE for FO3 on Epic:

#

so yeah, these are likely the microsoft store versions. very sad

brazen oyster
#

Epic is new actually

#

we are checking it out rn

#

and it's the only version of FNV with compiler optimizations enabled

dusk rock
#

that's interesting

#

i wonder why it has the same file structure as microsoft's version then?

#

and i wonder then if FO3 is also a separate version from MS store

brazen oyster
#

MS Store and Beth versions are the same

#

Epic FO3 is the same too

#

Epic FNV is new

dusk rock
#

hm

brazen oyster
#

GOG FNV and Steam are the same too

#

same for GOG FO3 and Steam

#

GOG just has steamapi shims

dusk rock
#

well, i hope that somehow NVSE will eventually support it (or that it becomes possible to patch the Epic copy)

brazen oyster
#

we are working on a patch

#

no way we are moving all mods to new code lmao

#

pepe_rock beth please give us PDBs

dusk rock
#

who is "we" btw?

#

i haven't been keeping track of this channel really

brazen oyster
#

xNVSE team

summer cargo
#

I think this is referring to NVSE?

dusk rock
#

that's what i thought, but i wanted to be sure

#

nice, looking forward to the patch

jagged chasm
summer cargo
#

Okay I'm just gonna focus on ChaiNNer integration since AdamPlayer's solution will blow mine out of the water 😂

#

I'm glad I went on this little experiment because I think I could probably keep refining the code and use it to work on Stalker but yeah, oof, this code is bad.

jagged chasm
#

It's not that optimized yet, I'm sure it could even faster if I put in a search tree

#

Still gotta rewrite the mod.usda writer to be accept the 2D array

summer cargo
#

I'm sure it's better than mine... 😅 that duplicates check is complete spaghetti and I'm embarrassed by it. But I got a USDA out of so eh.

jagged chasm
#

Oh I forgot about dupes monkaW

summer cargo
#

Just bounce an error saying that the user needs to clean their data 😂

#

But seriously I can't believe I didn't do that.

jagged chasm
#

Nah, it's easy in python

summer cargo
#

C# has Linq too, but I was too brainfried last night to really understand why it wasn't working. I did some very not Big O things.

#

I am really excited about PBROven though, once I have this Chainner integration done I'll basically use CLI mode to do upscaling with biased roughness.

jagged chasm
#
diffuse_second_elements = [elem[1] for elem in diffusehash]
normal_second_elements = [elem[1] for elem in normalhash]

# Removing duplicates based on the second elements
diffusehash_filtered = [list(x) for x in set(tuple(x) for x in diffusehash)]
normalhash_filtered = [list(x) for x in set(tuple(x) for x in normalhash)] ```
jagged chasm
#

It doesn't work. Stack overflow has embarrassed me Sadge

dusty lynx
#

what is diffusehash containing, just strings, or tuples?

jagged chasm
#

Strings

dusty lynx
#

list(set(diffusehash))

#

or just have it be a set to begin with

#

I guess I'm also going to throw my hat in the ring for usda creator, IDA crashed on me while I was gone

summer cargo
#

I can post my spaghetti when I'm off work for the Unity based tool. It's 90% of the way there feature wise.

#

I'm pretty sure the version I posted right after whining about \n works: #1106553248590090351 message

#

But I think the black screen points to a new replacements issue we didn't know about yet, my guess being UI that's being path traced is losing transparency.

#

Also this:

Note that you can toggle "rtx.skipDrawCallsPostRTXInjection = True" at runtime via RTX Remix GUI. It's in Developer Menu -> Dev Settings -> Developer Options

opal crystal
#

I really need to finish scrolling down before replying....

jagged chasm
#

Many hours later, I finally got it to prune out the duplicate diffuse hashes.

jagged chasm
#

I think I got it peepoG

mighty topaz
#

So this doesn't work with mods

jagged chasm
#

Depends on the mod

jagged chasm
dusty lynx
#

@brazen oyster What function is b67be0?

summer cargo
#

I have my own PBROven mods with the same glitch and my theory is it's transparency.

jagged chasm
#

I’ll mess with it later. Burnt out from getting that new Python setup working.

jagged chasm
#

It does allow for different types of override creations now tho, so I can make emissive and metallic ones easily.

jagged chasm
dusty lynx
#

I didn't start on mine yet, decided to try and look into the rendering bug with either bDoDiffusePass or bDoAmbientPass = 0

summer cargo
#

I need to figure out how to make replacement particles render like they're supposed to and I have a feeling all we need to do is enable opacity if the alpha of the diffuse isn't 100% 1.0.

jagged chasm
#

I wonder what’s causing the gray nonsense with our replacements.

summer cargo
#

I'm going to continue my install now, I think I'm about 1/5 of the way through the Viva New Vegas instructions. So many mods... 😵‍💫

dusty lynx
#

I didn't end up install much of them

summer cargo
#

I've only got the utilities so far.

#

So maybe I ought to just make sure my configs are set up.

opal crystal
#

There is a wabbajack version that is quicker.

hearty crane
#

I dont know which one ,DXVK remix #75 or the Hack from BlueAmulet did this but textures are no longer being"corrupted" after a while/those with symbols on them, tyou cant select them or deselect. That issue is gone now. Tested in fallout and Operation flashpoint(im sure it did that in OFP)

jagged chasm
jagged chasm
summer cargo
#

So I never realized this but New Vegas has a bBackground Mouse=1 that can be applied as well. Not sure if it actually impacts anything or not.

jagged chasm
#

It keeps the mouse in the window

#

Would leave background mouse alone, it’ll lose focus constantly.

summer cargo
#

Well that's the opposite of the mouse interacting with the background. 😅

#

Ohhh I see.

#

I thought it was similar to background Keyboard where it would block input.

jagged chasm
#

I forget the default value, I think it’s 1

#

But ya wanna keep it at the default.

summer cargo
#

The default is 0 for me but I have no idea what mods have been applied to this doc.

#

But yeah I'm still just not getting this game to budge. What would you say the most essential changes are?

jagged chasm
#

Did you run it without remix ?

summer cargo
#

At this point I'm running all of the VNV utilities and most of the bug fixes, and I've disabled everything shader related in the INIs as well as turned cell loading on exteriors down to 3.

#

Good question.

#

Whatever the answer is, it'll be yes either way in a second 😂

#

Okay, got it. I think setting preloadIntro to 0 might have been the last thing I needed?

#

That or bUseWaterReflectionBlur.

#

bBackground Keyboard is enabled in every INI I see but I can't use the Remix menu... any ideas?

#

Oh, you have to set it to 0...

#

Okay, gonna give this another spin.

keen niche
summer cargo
#

I guess that could also be a crash if your bridge is set to fall back to server on crash though, right?

dusk rock
#

that does sound like a bridge crash

#

can you send logs?

summer cargo
#

That's how Hitman: Codename 47 works for me, it just makes sound and I have a bridge dump waiting for me in the trex folder.

keen niche
#

And it still works as it did before if I disable that mod.

summer cargo
#

My other theory is that somehow UI elements being replaced just made it freak out but Remix reliably renders on top of the screen.

#

Part of me wonders if it's because of how hard we're pushing it.

#

There's what, 17000 materials being loaded in one mod?

#

The most I've ever done is about 3400 for Anachronox and 3200 for Red Faction 2.

#

Even then I usually get a game crash the first time it finishes loading, and back in the Remix 0.1.1 days it used to crash three or four times before fully loading.

keen niche
#

If I check this with the last run of the Unity project, where it didn't finish generating because of whatever, this is the gameReadyAssets folder:

summer cargo
#

Oh yeah in this case I mean materials, so just the ones that are actually written as mat_23490232 or whatever.

#

Most of those will just be ignore materials which won't be as heavy as the PBR replacements where it has to load anywhere between 1 and 4 textures.

keen niche
#

Uhh...?

summer cargo
#

Oh yeah and any n's in the game are entirely unused.

#

I was going to set it up to autodelete the n afterwards but ran out of time.

keen niche
#

Ah, is that what this is for?

summer cargo
#

Exactly, yep.

#

I just shoved them all out of the way so you can easily delete them because I didn't want to commit to that behavior until I offered the ability to not remove them.

#

I think there's an infinite loop in the last build that has a skip sorting button, the good build is the one before that.

#

I was pushing my luck pulling an all nighter on this as is, but getting up an hour later like "aight it's coding time..." what was I thinking?

#

Then again that's right when I put out the working build so I guess I was onto something 😅

keen niche
#

The hashes.usda that version generated doesn't seem to work, unfortunately.

summer cargo
#

I don't think it was the one from 6, it was whichever version caused the grey screen.

#

That one, I went through Omniverse to properly debug and got a duplicate hash filter in place.

#

And it seems from one of the conversations like we may have hit a DXVK bug.

keen niche
#

So, I'd want 0.0.11?

summer cargo
#

I have no clue, you should probably ask whoever wrote it.

#

Gonna quickly check 😅

keen niche
#

Oh, I mean of the Unity project.

summer cargo
#

Yeah that's what I meant... that was a different person with an entirely different set of logic. 😅

summer cargo
#

I think it's 0.0.12.

#

#1106553248590090351 message

keen niche
#

If it works with the rtx.conf but not the actual replacements, maybe you could try outputting to that?

keen niche
summer cargo
#

From what I heard you can actually overload.

#

The dxvk.conf has some kind of limit introducing instability.

#

As for the infinite loop, I think I may have shared one version afterwards? It's weird because I know one of these works for a fact.

keen niche
#

🤷‍♀️

summer cargo
#

Hm yeah you're right, for now maybe just use the premade 0.0.12 hash and run through the texture sorting system.

#

I can also get you a build with the USDA writing disabled, it's not working at the moment and apparently last night I reverted to an uncivilized state of mind with no source control.

#

Yeah so I just cannot under any circumstances get bBackground Keyboard=0 to work.

#

I'm getting a crash with the mod manager and the original game launches but marks my Fallout.ini file as read only and resets the value of that one.

jagged chasm
#

I’ll post my setup here in a bit. I had the same thing happen.

#

Drove me absolutely insane

summer cargo
#

This'll actually be my first time playing non vanilla NV, who knows, maybe I might actually enjoy it this time 😅

dusk rock
#

no amount of mods made me enjoy NV unfortunately. hopefully it does for you though

summer cargo
#

It won't if Fallout 3 compatibility improves. 😅

#

On that note-- I'd love to go make a replacement mod for that game as well, so I'll probably take another stab at the xxhash later.

#

I did get basic chainner commands working but I have a little more restructuring to do before I can call it per material.

dusk rock
#

TTW seems like the best bet right now

jagged chasm
#

My xxhash mod is almost universal now Pog

summer cargo
#

So the last time I was messing with Fallout 3, compatibility was really good.

dusk rock
#

BlueAmulet said there's no alternative to NVSE's functions for the light stuff?

summer cargo
#

I was having some dome issues but htat was kind of it.

#

Ah yeah, that makes sense.

jagged chasm
dusk rock
#

i wanna set up TTW and see how it goes

jagged chasm
#

It’s still messing up mine.

summer cargo
#

I did manage to remove compass domes, just not vertical domes.

summer cargo
#

Got it!

#

For any mods to Fallout.ini, you need to first go to the game directory and modify FalloutDefault.ini, then you can take the read only tag off of Fallout.ini in Documents\My Games\ and edit it. It'll probably reset but it'll use your new preferences.

jagged chasm
#

You should probably modify it in the Mod Organizer, it overwrites the ones in the folder

summer cargo
#

I tried modifying those but it had no effect. 😔

jagged chasm
#

Ah, you're at where I was when I wrote the guide and said to use FalloutNV.exe instead of the mod organizer

summer cargo
#

My Mod Organizer version of the game is still crashing for some odd reason.

jagged chasm
dusk rock
#

so i know in the future, what exactly does that script do?

jagged chasm
#

TextureRemix.py -o overrides.usda "Path/to/Texutre/Dump" -t normal -f "_n"

#

So give it a folder of textures ideally dumped from a games archives or something

#

Generates all the hashes for the diffuse textures, of which is based off of the filters variable.

#

Then, get all the "special" textures that you specify. I only have normals working right now.

#

Compare the names of the files, so if you have door.dds and door_n.dds it'll match those up.

#

Then it creates an override usda using the diffuse texture hashes and the path to the normal texture

lavish isle
dusk rock
#

@jagged chasm wow, that's great

#

nice work

lavish isle
#

yes theres a vertex shader thing in nifscope meshes

#

nifs *

#

extract the pip boy one and has a looks

#

with nifscope

jagged chasm
#

Omniverse is crashing with how many overrides I have in mod.usda

lavish isle
#

er

#

cpu overload?

#

or gpu

jagged chasm
#

Dunno, getting a bit too sleepy to wanna troubleshoot ngl

#

BedgeP Might just take my W of getting that script setup and take a bit more sleep tonight

jagged chasm
summer cargo
#

I could probably make a small tweak to my current system to accomplish this.

#

I just need to undo the stupid sleep deprived validator changes.

#

My material writing is an iteration of strings so I can just save each string to a USDA in a subfolder instead.

dusty lynx
#

normals are gone

#

but like on an engine level

#

without breaking the terrain lod and the pipboy

hearty crane
dusty lynx
#

For me I wasn't able to use lStewieAl's Tweaks mod, having it enable was crashing my game

#

yeah as soon as I enabled that again I crash before main menu fully loads

dusty lynx
dusty lynx
#

also uhh ... yeah I tried making my own usda to load normal maps, didn't work for whatever reason, not only that but the flash legacy red option flashes everything as if my usda's ignored.

summer cargo
dusty lynx
#

I can't even figure out how to download omniverse, the page for it says Industry and Job Title but no fields are selectable from both

summer cargo
#

With the hash sheet before, the two that got us were this:

  • Duplicate hash entries
  • Invisible formatting characters in the strings
summer cargo
dusty lynx
#

except I can't select anything for both of those

#

ah, duplicates

fresh belfry
# keen niche _Unless_ they've retained the Portal functionality which can teleport rays, beca...

Oh wait, you made True Scopes?
...
I mean if you were feeling spicy, and if they're 3D models...
If you cooked up a .bsa with a unique material for the lenses we could actually set them to be replaced with the Translucent Remix material type with correct IOR and everything.

Ideally we'd be able to get Remix to replace the model with everything set up appropriately in Remix, but I guess we're stuck on waiting for Godot Stable Hashes 😂

keen niche
#

That's why I was hoping Portal with RTX's ray teleportation is still in, because then I could make a 'camera' with the RTX stuff, by teleporting light from one side of the scope to the other.

dusty lynx
summer cargo
#

By the way, the new DXVK Remix added a ton of development and debug tools to the GUI.

#

Tons of stuff that were only in debug builds, like free camera controls or skipping all rasterized content.

fresh belfry
#

Ive definitely seem some bits of Remix referring to portals and teleporting Rays, but Ill c9nfess I dont know either how to utilise them or if they work in the non-portal build 🤷‍♀️

keen niche
fresh belfry
#

Oh, Im just thinking about Remix solutions, sorry I misunderstood.

keen niche
#

Unless... you're saying some weird Remix thing lets you make a material that causes stuff behind it to be transparent, too?

#

If we can get the ray portals working, then we could have the proper lens refraction to A) Get the rays on the other side of the scope, and B) Zoom them in.
It wouldn't be controllable, unless we could do some weird stuff where we have double-layer ray refraction, because I can control the distance between 'lenses' via script.
I guess how a normal, real scope works, huh?

#

Imagine that, the first mod with a Remix-specific version, using RTX features in a game which didn't originally support it?

dusk rock
summer cargo
#

Honestly yeah I'm seeing that more and more with Remix. The fix for rendering glitches is to basically toss out the hacks and just make a real thing. Kind of like when you're dealing with UE1 or other old games that have light corona sprites, the only way to make your fake lighting look good is to remove the texture and have a physical light show up.

#

I wish there was more docs on how the shader capture works in Remix because I'd love to really dive into that. Hitman Blood Money especially feels like it's just waiting to get cracked open, especially as the game has undocumented fixed-function shaders.

#

If I could disable RT in release builds I could actually look at how it tries to render in fixed-function.

dusk rock
#

the debug builds are miserably slow. i've needed that toggle so many times now but i can't use it

#

there's at least 3 games i'm interested in where it'd help a ton

summer cargo
#

I think having the toggle for skipping all non-pathtraced content is a great start.

#

But yeah... hopefully soon.

#

I want to start committing to the source but I still haven't even been able to build it... soon, I guess.

fresh belfry
#

Its the tiniest thing, but a toggle would be amazing for Before / After comparisons, and for development to match the original artistic v i s i o n of a scene and for testing, to get past bits that crash, or comparing oddities to the Rasterised Scene to help ID issues with Remix etc.

Unfortunately my brain is Very Smooth and I do not have VS setup nor the build chain.

dusty lynx
fresh belfry
#

#general-remix message
Wait hang on 👀

dusk rock
#

did this get linked yet?

brazen oyster
dusty lynx
#

ah, I ended up hooking 0xBA9EE0 and just blocking various render pass numbers

#

306, 318, 334. Prevents normals and weird black transparent mesh from drawing. the bDoThingPass options in the ini had some bad side effects

brazen oyster
#

you have the pass enum right?

#

it should be in NVR

dusty lynx
#

not that I can see?

brazen oyster
#

k, sec

#

at 0xB4F9D0 you have a function to convert numbers into strings

dusty lynx
#

heh nice

brazen oyster
#

also, another thing that could be useful for you, sec

#

Thonk it's possible NVR already hooks there

#

        for (int callAddr : {0xB74000, 0xB740B3, 0xB7419F, 0xB8019D, 0xB80221, 0xB828BA, 0xB82981, 0xB82A4A, 0xB87584, 0xB8764E, 0xB8772E, 0xB8780E, 0xB878D8, 0xB879B4, 0xB87AC2, 0xB87FC3, 0xB880AF, 0xB88179, 0xBA51B1, 0xBABC8B, 0xBABD9B, 0xBB02F7, 0xBB1590, 0xBB615F, 0xBBA4FA, 0xBBA52E, 0xBBA555, 0xBC0A31, 0xBC4701, 0xBC5131, 0xBC638E, 0xBCA1D0, 0xBCB59E, 0xBCB683, 0xBCCD9B, 0xBCF2A0, 0xBD09A4, 0xBD0A6B, 0xBD178C, 0xBD28F0, 0xBD3B00, 0xBD3BEA, 0xBD50DB, 0xBD521B, 0xC03B61 }) {
            ReplaceCall(callAddr, CreateVertexShader);
        }
        for (int callAddr : {0xB78720, 0xB78907, 0xB802A5, 0xB80323, 0xB83D45, 0xB87B7E, 0xB87C4C, 0xB87D2C, 0xB87E15, 0xB87EE3, 0xB88269, 0xB8836B, 0xB8844B, 0xBA5255, 0xBABF67, 0xBAC0AA, 0xBB041C, 0xBB1707, 0xBB17DD, 0xBB18C5, 0xBB61E3, 0xBB6261, 0xBBB5A5, 0xBBB5E5, 0xBBB687, 0xBBB6C0, 0xBBB717, 0xBC0ADB, 0xBC47AB, 0xBC5280, 0xBC6590, 0xBC661E, 0xBC66A6, 0xBC672E, 0xBC67BC, 0xBC684A, 0xBC68D8, 0xBCA350, 0xBCB75C, 0xBCE3BA, 0xBCE48A, 0xBCF745, 0xBD182F, 0xBD18E1, 0xBD29E4, 0xBD2AB2, 0xBD3EE5, 0xBD517F, 0xBD52BF, 0xC03BED }) {
            ReplaceCall(callAddr, CreatePixelShader);
        }```
#
    NiD3DVertexShader* __stdcall CreateVertexShader(const char* path,
        const void* Size,
        const char* a3,
        const char* compiledShaderName) {
        NiD3DVertexShader* shader = StdCall<NiD3DVertexShader*>(0xBE0FE0, path, Size, a3, compiledShaderName);
        shader->SetName(compiledShaderName);

        return shader;
    }

    NiD3DPixelShader* __stdcall CreatePixelShader(char* path,
        const void* Size,
        const char* a3,
        const char* compiledShaderName) {
        NiD3DPixelShader* shader = StdCall<NiD3DPixelShader*>(0xBE1750, path, Size, a3, compiledShaderName);
        shader->SetName(compiledShaderName);
        return shader;
    }
#

In NiObjectNET

void SetName(const char* newName) { m_kName.m_kHandle = newName; };
dusty lynx
#

yeah those hooks already are in nvr

brazen oyster
#

this will allow you to see shader names if you ever grab them at runtime from the pass

dusty lynx
#

@brazen oyster oh right, what's the vtable for NiAVObject supposed to look like, cause where you have OnVisible is not where NVR has it

brazen oyster
#
    virtual void            UpdateControllers(float arg);
    virtual void            ApplyTransform(void);
    virtual void            Unk_25(void);
    virtual NiAVObject*        GetObject_(BSFixedString* kName);
    virtual NiAVObject*        GetObjectByName(BSFixedString* kName);
    virtual void            SetSelectiveUpdateFlags(float arg, bool updateProperties);
    virtual void            UpdateDownwardPass(const NiUpdateData* arData, UInt32 uFlags);
    virtual void            UpdateSelectedDownwardPass(NiUpdateData* arData, UInt32 uFlags);
    virtual void            UpdateRigidDownwardPass(NiUpdateData* arData, UInt32 uFlags);
    virtual void            UpdateWorldBound(void* arg);
    virtual void            UpdateTransform(void);
    virtual void            UpdateWorldData(void);
    virtual void            Unk_2F(NiCullingProcess* tgt);
    virtual void            UpdateBounds(NiUpdateData* arData);
    virtual void            Unk_31(void* arg);
    virtual void            Unk_32(void* arg);
    virtual void            DetachParent(void* arg);
    virtual void            Unk_34(void* arg);
    virtual void            OnVisible(NiCullingProcess* kCuller);
    virtual void            PurgeRendererData(void* arg);
dusty lynx
#

yeah, NVR had it on 2F

brazen oyster
#

NiObject:

virtual const NiRTTI* GetRTTI(void);
    virtual NiNode* IsNiNode(void);
    virtual BSFadeNode* IsFadeNode(void);
    virtual BSMultiBoundNode* IsMultiBoundNode(void);
    virtual NiGeometryData* IsGeometry(void);
    virtual NiTriBasedGeom* IsTriBasedGeometry(void);
    virtual NiTriStrips* IsTriStrips(void);
    virtual NiTriShape* IsTriShape(void);
    virtual BSSegmentedTriShape* IsSegmentedTriShape(void);
    virtual BSResizableTriShape* IsResizableTriShape(void);
    virtual NiParticles* IsParticlesGeom(void);
    virtual NiLines* IsLinesGeom(void);
    virtual bhkCollisionObject* IsBhkNiCollisionObject(void);
    virtual bhkBlendCollisionObject* IsBhkBlendCollisionObject(void);
    virtual bhkRigidBody* IsBhkRigidBody(void);
    virtual bhkLimitedHingeConstraint* IsBhkLimitedHingeConstraint(void);
    virtual NiObject* CreateClone(NiCloningProcess* kCloning);
    virtual void LoadBinary(NiStream* kStream);
    virtual void LinkObject(NiStream* kStream);
    virtual void RegisterStreamables(NiStream* kStream);
    virtual void SaveBinary(NiStream* kStream);
    virtual bool IsEqual(NiObject* pkObject);
    virtual void GetViewerStrings(NiTArray<char*>* pkStrings);
    virtual void AddViewerStrings(NiTArray<char*>* pkStrings);
    virtual void ProcessClone(NiCloningProcess* kCloning);
    virtual void PostLinkObject(NiStream* kStream);
    virtual bool StreamCanSkip(void);
    virtual const NiRTTI* GetStreamableRTTI(void);
    virtual void SetBound(NiBound* pNewBound);
    virtual void GetBlockAllocationSize(void);
    virtual UInt32* GetGroup(void);
    virtual void SetGroup(void* pkGroup);
    virtual void Unk_22(void);
#

NiRefObject

    virtual void Destroy(bool bFreeThis);
    virtual void DeleteThis();
little wave
opal crystal
#

Depends on your definition.

little wave
dusty lynx
#

doesn't crash (needs custom bridge) and doesn't shake violently (needs newer dxvk-remix)

#

also uh, if the alpha of a normal map is supposed to be it's reflectiveness, then what are these _m files?

brazen oyster
#

masks

#

for env mapping

#

diffuse color = diffuse pepebigbrain
diffuse alpha = alpha pepebigbrain

  1. _n
    normal color = normal
    normal alpha = specularity

  2. _g
    glow mask/ fake skin SSS/ hair layer

  3. _p
    parallax

  4. _e
    cube map

  5. _em / _m
    cube map mask

dusty lynx
#

alright, got diffuse, normals, specularity, glowing (doesn't work but I did try), and cube map masks supported in my usda writer

#

pretty happy too, only takes 8 seconds to parse through all the textures, split alpha off the normals, and write the usda

jagged chasm
#

What’s your usda writer method? peepoG

hearty crane
hearty crane
hearty crane
jagged chasm
#

How are you using BlueAmulets mod without xnvse? monkaW

hearty crane
#

This hack(for remix )not the the dlls for ingame-lights @jagged chasm
Btw,this is pined/Main post , for those who need et.

jagged chasm
#

Would it be helpful to post my whole game setup, without game files ofc?

hearty crane
#

@jagged chasm dont worry, i need to test the FNV 4gb first, i was using from oblivion.

hearty crane
#

Still same crash split second when entering the game.

#

Latest JIP hinted me that im using older version.Also nvse is older | 6_2_4 needs 6.2.6.We shall see if thats the problem

hearty crane
dusty lynx
#

I believe the oblivion and ntcore patchers are just generic patchers in that all they do is set the 4GB LAA flag. The New Vegas one is actually specific to FNV as it additionally forces the game to automatically load xNVSE. You can simulate the same thing by using the Force load libraries option in Mod Organizer 2 with nvse_1_4.dll

dusty lynx
hearty crane
#

Ye , i see that i downloaded 6.3.0 . Problem with remix loading to the menu was the Reloaded intro. but still.Loading a save crashes when i see the game load for a split second ,w/pathtracing.Might be rtx.conf issue actualy

#

Hmm...doesnt even create rtx.conf. My mistake appears only when we save changes.

summer cargo
#

While looking through FO3's textures I realized that I made a mistake.

#

I wrote my USDA system for FNV based on the assumption that all normalswould be marked as _n. But I forgot another tag for normals... (1)

#

Most of these terrain related normals are just using the original names as duplicates instead of being renamed.

jagged chasm
summer cargo
#

I wonder if this would cause some of the problems we've seen sofar.

jagged chasm
summer cargo
#

This is in my Diffuse folder from the F:NV replacements packer I made.

#

So if I just fix the validation loop to what it was doing before stutter and all, and make (1) output to normals as well, it should be fine.

#

That's the weirdest part, it's consistent.

#

Wait, never mind, there's other (1)'s as well.

#

😔 TODD!

hearty crane
#

Howard?

#

Far as i see , only mentioned in special thanks. He didnt made FNV. But if he's reponsible for gamebryo ...🤷‍♂️
😁

summer cargo
#

This is the case for both FO3 and New Vegas.

jagged chasm
#

I should update my python script to recreate the whole material based off the exported textures. I think that’d fix the gray material issue peepoG

summer cargo
#

I think this adds way more extra design complications.

#

I was using EndsWith to parse most of the materials.

#

We have normals that end in _n (1), diffuse AND normals that end with no extension but (1)...

#

This thought crossed my mind but I thought "Nah, it's a AAA title, they have standards." And I knew I was lying to myself, but I was too scared to know.

#

I'll probably just hardcode it. 😂

#

Not sure how useful it is but looking through FO3, it looks like legacy normals are consistently called x<integer coord>y<integer coord> (1) while the associated diffuse has no (1).