Difference between revisions of "Sims 3:0x0166038C"
From SimsWiki
m |
(→Name Map) |
||
Line 10: | Line 10: | ||
DWORD NameLength | DWORD NameLength | ||
BYTE[NameLength] // name characters, plain ASCII | BYTE[NameLength] // name characters, plain ASCII | ||
+ | |||
+ | |||
+ | <hr/> | ||
+ | How to use: | ||
+ | Theese resources can be used to locate named references found in pattern complates. | ||
+ | For example: ($assetRoot)\\InGame\\Complates\\Materials\\Leather_Fur\\AnimalPrint\\leopard01Sml_3.tga | ||
+ | To get a match for that string remove the path components and the extension from it, leaving you with: | ||
+ | leopard01Sml_3 | ||
+ | If the string is longer than 19 chars remove the ones that exceeds 19 | ||
+ | Then you need to loop through all name entries and try to match the string against the beginning of the name strings, mathching the full string seldom works because an instance id is most of the time appended to it. | ||
+ | So you need to match for example the first 5 chars and then run another loop to find the best match out of those. | ||
+ | This doesn't feel like an ideal solution but it's the best we (TSR) have found so for for locating theese references. | ||
+ | |||
<hr/> | <hr/> | ||
[[Sims 3:Main Page]] -> [[Sims 3:PackedFileTypes]] | [[Sims 3:Main Page]] -> [[Sims 3:PackedFileTypes]] |
Revision as of 00:22, 26 July 2009
Sims 3:Main Page -> Sims 3:PackedFileTypes
Name Map
Lists instance ID/resource name pairs. A package can have multiple name maps.
DWORD Version // usually has value 0x00000001 DWORD NumberOfRecords --repetition NumberOfRecords: QWORD InstanceID // little-endian DWORD NameLength BYTE[NameLength] // name characters, plain ASCII
How to use:
Theese resources can be used to locate named references found in pattern complates. For example: ($assetRoot)\\InGame\\Complates\\Materials\\Leather_Fur\\AnimalPrint\\leopard01Sml_3.tga To get a match for that string remove the path components and the extension from it, leaving you with: leopard01Sml_3 If the string is longer than 19 chars remove the ones that exceeds 19 Then you need to loop through all name entries and try to match the string against the beginning of the name strings, mathching the full string seldom works because an instance id is most of the time appended to it. So you need to match for example the first 5 chars and then run another loop to find the best match out of those. This doesn't feel like an ideal solution but it's the best we (TSR) have found so for for locating theese references.