You said to post if we found any resources whose group ID wouldn't allow forcing the top bit to 1. I've found that the swatch images (you call them the 'variant thumb' in the documentation) will not work with group ID 0x80000000.
Ya know.. I've been around these forums since the orginals (for The Sims 1), and resigned up in 2009... I've got over 64 comments, which is minor compared to some, but I don't comment a lot, especially not "me too" posts.. so this limit of features thing really is annoying..
Post edited by CyberSurfer on
The One, The Only, The Original..
CyberSurfer
The Ghost in the World's Virtual Machine
And you set the top bit in the instance ID to match the group, when you were trying with the top bit set? I have reaosn to believe the bit either has to be set in both or neither.... though how you can accomplish that when you have to hash something to make the IID I have no idea. For that good reason you may well be right. I am beginning to wonder whether it's not best to simply set the bit for the catalog resources and just do what we normally would do for the others.
(I use my own FNV hash class in case it looks unfamiliar.)
For all other CAS-related resources so far setting the high bit on in both the group and instance IDs works fine. Only the swatch images can't be found by the game with the group ID high bit set on - I really think there's a 0x00000000 group ID hardcoded in there. But the Instance ID high bit set on works fine.
Comments
CyberSurfer
The Ghost in the World's Virtual Machine
Kuree: Yes, that's what I was reporting - the game seems hardcoded to expect a 0x00000000 group ID. :)
ulong customInstance = FNVhash.FNV64(whatever text) | 0x8000000000000000;
Same for the group ID for all other resources:
uint customGroup = FNVhash.FNV16(whatever text) | 0x80000000;
(I use my own FNV hash class in case it looks unfamiliar.)
For all other CAS-related resources so far setting the high bit on in both the group and instance IDs works fine. Only the swatch images can't be found by the game with the group ID high bit set on - I really think there's a 0x00000000 group ID hardcoded in there. But the Instance ID high bit set on works fine.