File I/O and resource initialization stuff#1782
Conversation
Haselnussbomber
left a comment
There was a problem hiding this comment.
I won't review this in-depth, because I don't know anything about graphics stuff, but I got a couple comments in regards to using InteropGenerator correctly.
wolfcomp
left a comment
There was a problem hiding this comment.
A few changes required due to bad signatures and offsets.
| public partial ulong GetLength(); | ||
|
|
||
| [VirtualFunction(19u)] | ||
| public partial ulong GetBlobAlignment(); // Seems nothing overrides the base ResourceHandle which returns 128 bytes |
There was a problem hiding this comment.
You could add that vf20 is a IMemorySpace* getter for most likely GetBlobMemorySpace
There was a problem hiding this comment.
From what I'm seeing, vf20 doesn't return an IMemorySpace but instead something allocated from it. See the end of CreateMemorySpaces where sub_14008FBB0 creates the object being returned from DefaultResourceHandle.vf20 by allocating 0x28 bytes from DefaultMemorySpace, and its vtable doesn't reference IMemorySpace at all despite it seeming to function as a memory allocator of a kind.
I mapped out what a few of the various vfuncs involved do but it doesn't seem to be super interesting IMO.
There was a problem hiding this comment.
When i looked at what vfs and everything used it lines up with what is the IMemorySpace but yeah it doesn't have the exact same vtable size
|
Thanks, I have addressed your feedback! |
This builds on my earlier PR #1780. I started based on Penumbra stuff but it ended up being mostly original research. This is in support of my plugin that loads modded resources from memory rather than from disk/sqpack.