Sims 3:0x0166038C

From SimsWiki
Revision as of 19:47, 25 July 2009 by Delphy (Talk | contribs)

Jump to: navigation, search

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. 
 In this case the corresponding name entry is leopard01Lrg_3_0xda129de723a4c2b8
 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 far for locating theese references.
Re: the above. This seems like a very inefficient way of doing it, becuase you can just hash64 the filename without the path or extension, and you get the instance ID, which you can check on much more quickly than a string. Delphy 18:47, 25 July 2009 (CDT)

Sims 3:Main Page -> Sims 3:PackedFileTypes

Personal tools
Namespaces

Variants
Actions
Navigation
game select
Toolbox