Skip to content

Layout instance struct work - #1913

Open
redstrate wants to merge 3 commits into
aers:mainfrom
redstrate:work/redstrate/layout-pt1
Open

Layout instance struct work#1913
redstrate wants to merge 3 commits into
aers:mainfrom
redstrate:work/redstrate/layout-pt1

Conversation

@redstrate

Copy link
Copy Markdown
Contributor

See individual commits, I'll add more objects in a future commit as I left out a bunch of the range and path objects for now :/

I also dug into VolumetricCloud a bit more, although I have no idea where/if it's used yet (@Haselnussbomber you added it to InstanceType so maybe you know? :D)

This is what it's used for I guess.
These are read in another init function (not SetProperties) and are all
booleans, although I have no idea what they do yet.
These are all read by the client - although some, especially the
server-side/development ones - don't do much but still show up in the
disassembly and have vtables.

There's a lot more instance objects to go, but I got tired...
@Haselnussbomber

Copy link
Copy Markdown
Collaborator

VolumetricCloud is not implemented yet, that's a coming Evercold feature.
@pmgr found it working on some more hexpats over at https://github.com/xivdev/file-formats/tree/main/imhex
It's the .cldb files, iirc.
I just added the name. :)

@redstrate

Copy link
Copy Markdown
Contributor Author

VolumetricCloud is not implemented yet, that's a coming Evercold feature. @pmgr found it working on some more hexpats over at https://github.com/xivdev/file-formats/tree/main/imhex It's the .cldb files, iirc. I just added the name. :)

Yeah I saw that but then couldn't figure out where the cldb files were xD but that's more of a question for them.

@pmgr

pmgr commented Aug 8, 2026

Copy link
Copy Markdown

It's not 100% in the code yet, -I think-; there's a bunch of places where the machinery is in place, but I don't think the code that produces a DrawObject out of it is in yet, or the shader (assuming it doesn't use the vfx one).

If you find that stuff out, give me a poke, 'cause it'd be fun to look into!

The only cldb I am aware of at the time I looked into it was in bgcommon/world/common/vcloud/vmodel/test.cldb

@redstrate

redstrate commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author

Whoop, thanks! I can start parsing that ahead of EC, as for the code hookup I can attempt it but yeah I doubt its actually all here. The LGB code at least does read an asset path ala what it does for other drawables like BgParts. Along with some properties like color(?) as seen in the commit :)

Edit: Spent a little time hacking but to no avail: VC's CreatePrimary looks like garbage in Ghidra (which is typical Ghidra but the other CreatePrimarys do look fine) and I can't seem to find a DrawObject for it - the only unmapped one seems to be CullingBox-related. It also doesn't appear to do anything when added to a level, oh well.

@pmgr

pmgr commented Aug 8, 2026

Copy link
Copy Markdown

It also doesn't appear to do anything when added to a level, oh well.

If it's useful, their test SGBs for this specific feat. are bgcommon/world/vfx_vcloud/shared/for_vcloud/sgvc_9999_01.sgb and bgcommon/world/vfx_vcloud/shared/for_vcloud/sgvc_9999_02.sgb; for the record, they were byte-equal last I checked.

@redstrate

redstrate commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author

That is useful, I didn't notice those SGBs until now either. I also did try spawning those, but they are off by default but I'm too lazy to actually try playing their animations. It's probably not worth poking until we have our hands on the benchmark, because I also couldn't find any relevant SHPKs/SHCDs :/

Oh but this is a good chance to thank you for the various file format patterns :D I always wanted to peek inside the .amb file especially, and it was nice to know I was on track with the ENV stuff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants