- Site Map >
- Modding and Creation >
- Sims 4 Creation >
- Tutorials >
- Objects - Re-texturing in game objects (Texture overrides) with s4pe
- Site Map >
- Modding and Creation >
- Sims 4 Creation >
- Tutorials >
- Objects - Re-texturing in game objects (Texture overrides) with s4pe
Posts: 11,006
Thanks: 423175 in 1121 Posts
Looking to know how to re-texture in game objects like Plasticbox has done for the toilet doors HERE . Thanks in advance! :p |
Thanks for posting here =)
The actual retexturing is dead simple: open the texture, change it to your liking, save, and then import into a new package with S4PE making sure it retains the same TGI (type, group, and instance) as the original. Every override works like this: when the game finds something in the /Mods folder that has the same TGI as one of the internal resources, it will use the one in /Mods instead.
However, the part that is not so simple at this point is *finding* the texture you need to override -- I actually scrolled through most of ClientFullBuild0, 6, 7, and 8 looking for textures I'd want to use/replace. You can make this a little bit easier by using the search/filter features in S4PE; some tips:
- Always check the deltabuilds first, those contain the stuff that has changed in a patch (there were no doors in these, so I didn't need them)
- filter for _IMG only (filter boxes at the bottom) after loading the package
- once you find something that is roughly the same size as the thing you want, sort the resource list by file size and check the "neighbouring" textures
- EA resources often have consecutive numbers but not always (these doors for instance are 0x7BC24A105E481840, 41, 42 and 47).
- once you found one texture of something that has more than one, you can search for its instance number (top menu, Tools > Search), that should turn up the MLOD resources which refer to that resource and all of the other ones too (notably also the normal/bump/specular maps which are hard to see in the preview). Note that right now, S4PE looks buggy to me in that respect: of the 5 MLODs for that door, three are apparently cut off at some point (so make sure you check all of them). Also, turn on the "Text fallback preview" (somewhere in the top menu, I believe in Settings but not sure) so you can easily see them without having to go through "Grid" each time.
Also, make sure you export the textures you found with Resource > Export DDS, not Resource > Export > To File. Make sure you include the TGI in the file name (when using "Export DDS", S4PE doesn't do that automatically).
That's how I did mine. Note that those are just texture replacements, not full-on recolours (including custom swatch and description and all) -- but since they have the same colours anyway, that's all that was needed in this case.
Once there are tools available for cloning objects, this will become a lot simpler of course. But right now, there are none (that I know of).
ETA: also make sure you have plenty of RAM available. S4PE rather unceremonuously stops working when it runs out.
ETA2: you may also want to take a look at this: http://modthesims.info/showthread.php?t=535380 -- script / object list, it may make searching much more straightforward
ETA3: actually my search fu has (been) improved considerably since I wrote the above -- as of right now, the most straightforward way to find textures that I'm aware of would be to make note of the in-game name, look up the hash in the STBL (or here), then search for that in S4PE (COBJ only) and look in the OBJD with the same instance as that COBJ for the DiffuseMap / spec / bumpmap entries. Every OBJD seems to list all of the default recolours too, so you only need to do this once to be able to export all of the textures in one go.
Instead of going via the hash, you can also try searching the OBJDs for a string that seems likely to be contained in the internal name (note that it would be a Unicode string, i.e. search for U"string" -- also, the internal names are all US English and case sensitive).
Thanks
Posts: 583
Thanks: 5496 in 19 Posts
I thought I found all the files I needed to do an override for one of the regular wood doors, the one with two squares at the top. Unfortunately, it turns out, half the files I found were actually for the exact same door but with the window openings. Some of the files were in Build 6 and some were in Build 7.
Could you explain in a bit more dumbed down way as to how I can search more easily for the associated files? I can do the creative stuff in Photoshop all day long for walls and clothes since S4S does all the technical work for me but when I have to get in to S4PE and do the technical stuff it makes my head want to explode after a while.
Here's what I did get. I got one side of both of these doors. Now I need to find the other side. At least on the sides I did find I was able to find everything and edit them the way I wanted and get them to show up in game properly. (I took out all the dumb knicks and dings that are in the door.)
The other side which I still need to find.
Posts: 11,006
Thanks: 423175 in 1121 Posts
Regarding searching, did you read my post above to the end? I edited a couple of days ago – traversing the img files was also what I used to do, but for objects in particular it’s more straightforward to to search by name. Since you didn't mention the door you were after, I’ll just use a random one as an example (and make it a more general “How to find stuff with s4pe” post too, I know you already know some of this but others may not):
How to find stuff with s4pe: Textures / Objects
Say you want to override the texture for the door called “Marine Biologist’s Choice”. This is the in-game name for the US English game, which is stored in Strings_ENG_US.package – that’s where the game looks up all the strings the player will see, using an eight digit hexadecimal number that’s also in the COBJ (catalogue entry) of the object as a key. So we can do the reverse thing: since we know the value (we’ve seen it in game), can search the same dictionary for the key and then ask s4pe in which object this key appears.
1. Note down the name in game (i.e. Marine Biologist's Choice)
2. Open your Strings_ENG_US.package or go here (jadgirl has converted that to XML and posted it online)
3. Searching the online version I get <Text Key="D0C2CB5A">Marine Biologist's Choice</Text>
4. Open ClientFullBuild0 in s4pe
5. Tools > Search: enter 0xD0C2CB5A in the top field (the 0x tells s4pe that this is a hex number), check “Filter” and enter COBJ there, click Search, my result is 0x319E4F1D-0x00000000-0x00000000000048E3, click Go To
6. If you sorted by instance you will see there is an OBJD with the same instance; in the TGIBlockList in there is an entry for “Model” (0x01661233-0x00000000-0xC55EAAC449607A5F in this case).
7. C+P that instance number in the “Instance” filter box at the bottom, tick the checkbox before that, click “Set”, check “Filter active”
8. This will list a bunch of resources, what we need is the MLOD with group 0x00000000: scroll down in the ChunkEntries to where you see long lists with “Shader: Phong” near the top, like this:
--- 0x01D0E75D-0x00000000-0xE6533683BD1BE2BE - MATD ---
Version: 0x00000103
MaterialNameHash: 0x358DCBBE
Shader: 0xB9105A6D (Phong)
--- MTRL: Mtrl ---
MTRLUnknown1: 0x00000000
MTRLUnknown2: 0x00B8
MTRLUnknown3: 0x0000
--- ShaderDataList: SData (0x16) ---
[00]: Field: 0x6A05ED6A (1778773354); Data: 1.0000
[01]: Field: 0xF2EEA6EC (UVScrollSpeed); Data0: 0.0000; Data1: 0.0000
[02]: Field: 0x521AA100 (1377476864); Data: 0x00000000
[03]: Field: 0xB95C43EB (3109831659); Data0: 0.0000; Data1: 0.0000
[04]: Field: 0xC45A5F41 (DiffuseMapUVChannel); Data: 0.0000
[05]: Field: 0x2CE11842 (Specular); Data0: 0.5000; Data1: 0.5000; Data2: 0.5000
[06]: Field: 0x4992BFD0 (1234354128); Data: 0x00000000
[07]: Field: 0xA0BCBE31 (2696724017); Data: 0x00000000
[08]: Field: 0xE77A2B60 (AlphaMaskThreshold); Data: 0.0000
[09]: Field: 0xCEBA7E8A (3468328586); Data: 0x00B2D882-0x00000000-0xC2FC984141B37185
[0A]: Field: 0x420520E9 (UVScales); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[0B]: Field: 0x05D22FD3 (Transparency); Data: 1.0000
[0C]: Field: 0xF755F7FF (Shininess); Data: 20.0000
[0D]: Field: 0x6CC0FD85 (DiffuseMap); Key: 0x00B2D882-0x00000000-0x7A6DA196252911B7
[0E]: Field: 0x449A3A67 (AverageColor); Data: 0x00000000
[0F]: Field: 0x415368B4 (NormalMapUVSelector); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000
[10]: Field: 0x1B9D3AC5 (463289029); Data: 0x00000000
[11]: Field: 0x0950E7D4 (156297172); Data: 0x00000000
[12]: Field: 0x79C44C9B (2042907803); Data: 0x00B2D882-0x00000000-0x024D61A8BB6F8A35
[13]: Field: 0x583DF357 (TextureSpeedScale); Data: 1.0000
[14]: Field: 0x6E56548A (NormalMap); Data: 0x00B2D882-0x00000000-0xC2FC984141B37198
[15]: Field: 0x637DAA05 (Diffuse); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
---
0x00B2D882-0x00000000-0x7A6DA196252911B7 is the texture we want.
Edit, also:
--- 0x01D0E75D-0x00000000-0xE67C4083BD3EF8A8 - MATD ---
Version: 0x00000103
MaterialNameHash: 0x3FABF0E8
Shader: 0xB9105A6D (Phong)
--- MTRL: Mtrl ---
MTRLUnknown1: 0x00000000
MTRLUnknown2: 0x00B8
MTRLUnknown3: 0x0000
--- ShaderDataList: SData (0x16) ---
[00]: Field: 0x6A05ED6A (1778773354); Data: 1.0000
[01]: Field: 0xF2EEA6EC (UVScrollSpeed); Data0: 0.0000; Data1: 0.0000
[02]: Field: 0x521AA100 (1377476864); Data: 0x00000000
[03]: Field: 0xB95C43EB (3109831659); Data0: 0.0000; Data1: 0.0000
[04]: Field: 0xC45A5F41 (DiffuseMapUVChannel); Data: 0.0000
[05]: Field: 0x2CE11842 (Specular); Data0: 0.5000; Data1: 0.5000; Data2: 0.5000
[06]: Field: 0x4992BFD0 (1234354128); Data: 0x00000000
[07]: Field: 0xA0BCBE31 (2696724017); Data: 0x00000000
[08]: Field: 0xE77A2B60 (AlphaMaskThreshold); Data: 0.0000
[09]: Field: 0xCEBA7E8A (3468328586); Data: 0x00B2D882-0x00000000-0xC2FC984141B37185
[0A]: Field: 0x420520E9 (UVScales); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[0B]: Field: 0x05D22FD3 (Transparency); Data: 1.0000
[0C]: Field: 0xF755F7FF (Shininess); Data: 20.0000
[0D]: Field: 0x6CC0FD85 (DiffuseMap); Key: 0x00B2D882-0x00000000-0x419F73C694ECE469
[0E]: Field: 0x449A3A67 (AverageColor); Data: 0x00000000
[0F]: Field: 0x415368B4 (NormalMapUVSelector); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000
[10]: Field: 0x1B9D3AC5 (463289029); Data: 0x00000000
[11]: Field: 0x0950E7D4 (156297172); Data: 0x00000000
[12]: Field: 0x79C44C9B (2042907803); Data: 0x00B2D882-0x00000000-0x024D61A8BB6F8A35
[13]: Field: 0x583DF357 (TextureSpeedScale); Data: 1.0000
[14]: Field: 0x6E56548A (NormalMap); Data: 0x00B2D882-0x00000000-0xC2FC984141B37198
[15]: Field: 0x637DAA05 (Diffuse); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
---
So I'd guess that would be the other side. They look the same, same size and all, but they are two different resources.
Resource > Save DDS and there you go. Note that this export option does not work for me right now in s4pe0.2d (yesterday’s update), not sure yet why this is (maybe just a setting I need to re-tick), so if you also don’t have that option you may want to use the previous version for exporting.
This door also has an entry in the MODL for DiffuseMap 0x00B2D882-0x00000000-0x1ED85DD186545957 – I believe this is some low-res version, so should export that too and change it in the same way as the large one. I never tested this but it might be that otherwise your door will suddenly change colour when zooming in/out =P
--
If you want to change the catalogue price or swatch something like that, that’s all in the COBJ. For custom descriptions you'd need to make a custom STBL and change the hash for the text/desc in the COBJ; for custom thumbs I can’t remember right now what the instance would have to be (but look at my rug overrides, that is where I would also look it up =P – it was something very obvious like last four digits from COBJ and the rest is 1, 2, 3 or something along those lines).
If you poke at the rest of the TGIs you will also see fun stuff like wall masks, dropshadows, how to stretch/squeeze your textures and so on. Can learn a lot from that =).
I recommend using Inge's wrappers by the way for all things s4pe, she’s updating them often so they usually contain most of the latest finds.
--
In case this seems terribly roundabout: for some reason that apparently nobody really understands at this point, objects all seem to reference the textures for all recolours – so when you want to do overrides for something with 24 texture options, the s4pe way is actually quite efficient. All you need is one starting point and from there you can export everything in one go (this also goes for walls, by the way, with their three texture sets each).
In cases where you already happen to know the internal name of an object (“doorSingleGEN1x1x3_08_set1” in this case), you can start with the objd of course (don't need to find the hash etc first).
Hope this helps? Let me know if you have questions!
Edit: now that I can actually see your pictures, I get what you meant about the sides .. so I checked again and see above, in different ChunkEntries there are different textures referenced (which look the same but I guess that is what you were looking for).
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 11,006
Thanks: 423175 in 1121 Posts
0x024D61A8BB6F8A35 is some sort of specular .. env .. cube .. thing that goes a little over my head (you probably won't need it for overrides though)
0xC2FC984141B37198 labeled as NormalMap is definitely not a normal map (it's the bump or the spec, has a wrong label, known issue that apparently wasn't fixed).
Also, Inge just told me about a MUCH cooler way to search for textures:
1. Get the Name field out of the OBJD (the internal name, doorSingleGEN1x1x3_08_set1)
2. Hash it using Tools > Hasher in s4pe -- which gives me:
FNV64: 0x94B45E786F5E755F which would normally be the instance of the default diffusemap texture.
But unfortunately, this doesn't work in THIS case (notably with the s4pe and wrappers I currently have -- 0.2d out of box plus Ingewrappers). Although there is also something not working in the newest s4pe distro wrappers so stay tuned I guess .. she also says "it's possible it has an old style MTST".
But in theory this is how the game references stuff:
[Inge] yes the definitive reference is in the MATDs
[Inge] if they are not the same you have to obey the MATD
[Inge] but in all the ones I have seen EA have used that convention
[Inge] so while it can be a quicker and useful way to locate them, it's not the end of the story
--
Another thing I ran into, with the door in my example, was that the texture [10]: Field: 0x6CC0FD85 (DiffuseMap); Key: 0x00B2D882-0x00000000-0x1ED85DD186545957 referenced in the MODL was completely unfindable, I looked in all of the fullbuilds. Not sure what's up with that but Inge says she will look into it.
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 583
Thanks: 5496 in 19 Posts
I have it done now and already submitted it to the uploads!
I also now have a whole long list of items that I want to do overrides for like fixing these marks on all the doors, getting those kinds of marks off some of the furniture like dressers and tables, and just recoloring some others. So, thank you for making finding these things easier and also curse you because now that I know how to do it easier I won't limit myself or give up and am now about to spend every free moment recoloring objects! lol
Posts: 11,006
Thanks: 423175 in 1121 Posts
Say can you attach the pics in your first post directly to your post, please? They make it easier to understand what you were asking about, and now only one of them showed up .. dunno what is p with that.
Also, re. filtering in s4pe (since you say "I wasn't looking in FullBuild0 and I wasn't using the filter to COBJ so I was basically stuck at the point") -- the filter is really only to speed things up; searching an 1GB package would take a while otherwise. But when one doesn't know what type to look for, can just leave the filter off and go make a coffee instead =P.
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 583
Thanks: 5496 in 19 Posts
I thought I'd share all this too. I copied down a few extra map files to see what they were. Here's the info from from MODL. (I also found info in two of the MLODs that I needed.)
PublicChunks: 0x00000002
Unused: 0x00000000
--- CountedTGIBlockList: Resources (0x5) ---
[0]: 0x01D10F34-0x00000000-0xC55EAAC449607A54
[1]: 0x01D10F34-0x00000001-0xC55EAAC449607A54
[2]: 0x01D10F34-0x00010000-0xC55EAAC449607A54
[3]: 0x01D10F34-0x00010001-0xC55EAAC449607A54
[4]: 0x01D10F34-0x00010002-0xC55EAAC449607A54
---
--- ChunkEntryList: ChunkEntries (0x1A) ---
--- ChunkEntries[00] ---
--- 0x01661233-0x00000000-0xC55EAAC449607A54 - MODL ---
Version: 0x00000300
Bounds: [ Min: { -0.5812; 0.0000; -0.1053 } | Max: { 0.5812; 2.3307; 0.1080 } ]
--- BoundingBoxList: ExtraBounds (0x0) ---
---
FadeType: 0x00000000
CustomFadeDistance: 0.0000
--- LODEntryList: Entries (0x6) ---
--- Entries[0] ---
ModelLodIndex: (unset)
Flags: 0x00000000 (0)
Id: 0x30000001 (805306369)
MinZValue: 0.0000
MaxZValue: 0.0000
--- Entries[1] ---
ModelLodIndex: (unset)
Flags: 0x419C6051 (1100767313)
Id: 0x30000002 (805306370)
MinZValue: 0.0000
MaxZValue: 0.0000
--- Entries[2] ---
ModelLodIndex: 0x018E2903 (0x04 (4))
Flags: 0x421C6051 (1109155921)
Id: 0x00000002 (LowDetail)
MinZValue: 0.0000
MaxZValue: 0.0000
--- Entries[3] ---
ModelLodIndex: 0x020E2903 (0x04 (4))
Flags: 0x7F7FFFFF (2139095039)
Id: 0x30000003 (805306371)
MinZValue: 0.0000
MaxZValue: 0.0000
--- Entries[4] ---
ModelLodIndex: 0x0F7FFFFE (0x07 (7))
Flags: 0x7F7FFFFF (2139095039)
Id: 0x30000004 (805306372)
MinZValue: 0.0000
MaxZValue: 0.0000
--- Entries[5] ---
ModelLodIndex: 0x0F7FFFFE (0x07 (7))
Flags: 0x7F7FFFFF (2139095039)
Id: 0x30000005 (805306373)
MinZValue: 0.0000
MaxZValue: 0.0000
---
----
--- ChunkEntries[01] ---
--- 0x01D10F34-0x00000002-0xC55EAAC449607A54 - MLOD ---
Version: 0x00000204
--- MeshList: Meshes (0x4) ---
--- Meshes[0] ---
Name: 0x54E1DA0A
MaterialIndex: 0x00000000 (0x01 (Private))
VertexFormatIndex: 0x00000001 (0x01 (Private))
VertexBufferIndex: 0x00000002 (0x01 (Private))
IndexBufferIndex: 0x00000003 (0x01 (Private))
PrimitiveType: 0x00000003 (TriangleList)
Flags: 0x00000854 (2132)
StreamOffset: 0x00000000
StartVertex: 0x00000000
StartIndex: 0x00000000
MinVertexIndex: 0x00000000
VertexCount: 0x00000014
PrimitiveCount: 0x0000000A
Bounds: [ Min: { -0.5000; 0.0000; 0.0000 } | Max: { 0.5000; 2.2500; 0.1080 } ]
SkinControllerIndex: 0x00000004 (0x01 (Private))
ScaleOffsetIndex: 0x00000005 (0x01 (Private))
--- UIntList: JointReferences (0x1) ---
[0]: 0xCD68F001
---
--- GeometryStateList: GeometryStates (0x0) ---
---
ParentName: 0x00000000
MirrorPlane: X: 0.0000; Y: 0.0000; Z: 1.0000; W: 0.0000
Unknown1: 0x00000000
--- Meshes[1] ---
Name: 0xDD483368
MaterialIndex: 0x00000006 (0x01 (Private))
VertexFormatIndex: 0x00000007 (0x01 (Private))
VertexBufferIndex: 0x00000002 (0x01 (Private))
IndexBufferIndex: 0x00000003 (0x01 (Private))
PrimitiveType: 0x00000003 (TriangleList)
Flags: 0x00000850 (2128)
StreamOffset: 0x00000230
StartVertex: 0x00000000
StartIndex: 0x0000001E
MinVertexIndex: 0x00000000
VertexCount: 0x00000014
PrimitiveCount: 0x0000000A
Bounds: [ Min: { -0.5000; 0.0000; -0.0950 } | Max: { 0.5000; 2.2500; 0.0000 } ]
SkinControllerIndex: 0x00000008 (0x01 (Private))
ScaleOffsetIndex: 0x00000009 (0x01 (Private))
--- UIntList: JointReferences (0x1) ---
[0]: 0xCD68F001
---
--- GeometryStateList: GeometryStates (0x0) ---
---
ParentName: 0x00000000
MirrorPlane: X: 0.0000; Y: 0.0000; Z: 1.0000; W: 0.0000
Unknown1: 0x00000000
--- Meshes[2] ---
Name: 0xCD6E88DC
MaterialIndex: 0x0000000A (0x01 (Private))
VertexFormatIndex: (unset)
VertexBufferIndex: 0x0000000B (0x01 (Private))
IndexBufferIndex: 0x0000000C (0x01 (Private))
PrimitiveType: 0x00000003 (TriangleList)
Flags: 0x00000848 (2120)
StreamOffset: 0x00000000
StartVertex: 0x00000000
StartIndex: 0x00000000
MinVertexIndex: 0x00000000
VertexCount: 0x0000000C
PrimitiveCount: 0x0000000A
Bounds: [ Min: { -0.5812; 0.0000; -0.0802 } | Max: { 0.5812; 2.3307; -0.0802 } ]
SkinControllerIndex: (unset)
ScaleOffsetIndex: 0x0000000D (0x01 (Private))
--- UIntList: JointReferences (0x0) ---
---
--- GeometryStateList: GeometryStates (0x0) ---
---
ParentName: 0x00000000
MirrorPlane: X: 0.0000; Y: 0.0000; Z: 1.0000; W: 0.0000
Unknown1: 0x00000000
--- Meshes[3] ---
Name: 0xBB8C8112
MaterialIndex: 0x0000000A (0x01 (Private))
VertexFormatIndex: (unset)
VertexBufferIndex: 0x0000000E (0x01 (Private))
IndexBufferIndex: 0x0000000F (0x01 (Private))
PrimitiveType: 0x00000003 (TriangleList)
Flags: 0x0000084C (2124)
StreamOffset: 0x00000000
StartVertex: 0x00000000
StartIndex: 0x00000000
MinVertexIndex: 0x00000000
VertexCount: 0x0000000C
PrimitiveCount: 0x0000000A
Bounds: [ Min: { -0.5812; 0.0000; 0.0802 } | Max: { 0.5812; 2.3307; 0.0802 } ]
SkinControllerIndex: (unset)
ScaleOffsetIndex: 0x00000010 (0x01 (Private))
--- UIntList: JointReferences (0x0) ---
---
--- GeometryStateList: GeometryStates (0x0) ---
---
ParentName: 0x00000000
MirrorPlane: X: 0.0000; Y: 0.0000; Z: 1.0000; W: 0.0000
Unknown1: 0x00000000
---
----
--- ChunkEntries[02] ---
--- 0x02019972-0x002E3956-0xC55EAAC449607A54 - MTST ---
Version: 0x00000200
NameHash: 0xC1F1C34D
Index: (unset)
--- EntryList: Entries (0x2) ---
[0]: Index: 0x00000011 (0x01 (Private)); MaterialState: 0x00000000 (0)
[1]: Index: (unset); MaterialState: 0x10000013 (268435475)
---
----
--- ChunkEntries[03] ---
--- 0x01D0E723-0x00000000-0x0000000000000000 - VRTF ---
Version: 0x00000002
Stride: 0x0000001C
ExtendedFormat: False
--- VertexElementLayoutList: Layouts (0x6) ---
--- Layouts[0] ---
Usage: 0x00 (Position)
UsageIndex: 0x00
Format: 0x07 (Short4)
Offset: 0x00
--- Layouts[1] ---
Usage: 0x01 (Normal)
UsageIndex: 0x00
Format: 0x08 (UByte4N)
Offset: 0x08
--- Layouts[2] ---
Usage: 0x02 (UV)
UsageIndex: 0x00
Format: 0x06 (Short2)
Offset: 0x0C
--- Layouts[3] ---
Usage: 0x03 (BlendIndex)
UsageIndex: 0x00
Format: 0x04 (UByte4)
Offset: 0x10
--- Layouts[4] ---
Usage: 0x04 (BlendWeight)
UsageIndex: 0x00
Format: 0x08 (UByte4N)
Offset: 0x14
--- Layouts[5] ---
Usage: 0x05 (Tangent)
UsageIndex: 0x00
Format: 0x08 (UByte4N)
Offset: 0x18
---
----
--- ChunkEntries[04] ---
--- 0x01D0E6FB-0x00000000-0xC55EAAC449607A54 - VBUF ---
Version: 0x00000101
Flags: 0x00000000 (None)
SwizzleInfo: 0x00000013 (0x01 (Private))
----
--- ChunkEntries[05] ---
--- 0x01D0E70F-0x00000000-0xC55EAAC449607A54 - IBUF ---
Version: 0x00000002
Flags: 0x00000001 (DifferencedIndices)
DisplayListUsage: 0x00000000
----
--- ChunkEntries[06] ---
--- 0x01D0E76B-0x00000000-0x0000000000000000 - SKIN ---
Version: 0x00000001
--- BoneList: Bones (0x1) ---
--- Bones[0] ---
NameHash: 0xCD68F001
--- Matrix43: InverseBindPose ---
[ 1.00000, 0.00000, 0.00000]
[ 0.00000, 1.00000, 0.00000]
[ 0.00000, 0.00000, 1.00000]
[ 0.00000, 0.00000, 0.00000]
---
---
----
--- ChunkEntries[07] ---
--- 0x01D0E75D-0x00000000-0x0000000000000000 - MATD ---
Version: 0x00000103
MaterialNameHash: 0x00000000
Shader: 0x00000000 (None)
IsVideoSurface: False
IsPaintingSurface: False
--- MTNF: Mtnf ---
MTNFUnknown1: 0x00000000
--- ShaderDataList: SData (0x4) ---
[0]: Field: 0x159BA53E (UVScale); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
[1]: Field: 0x487648E5 (PosScale); Data0: 0.0001; Data1: 0.0001; Data2: 0.0001; Data3: 1.0000
[2]: Field: 0x57582869 (UVOffset); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[3]: Field: 0x790EBF2C (PosOffset); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
---
---
----
--- ChunkEntries[08] ---
--- 0x02019972-0x00EF4600-0xC55EAAC449607A54 - MTST ---
Version: 0x00000200
NameHash: 0x5615D783
Index: (unset)
--- EntryList: Entries (0x2) ---
[0]: Index: 0x00000014 (0x01 (Private)); MaterialState: 0x00000000 (0)
[1]: Index: (unset); MaterialState: 0x10000016 (268435478)
---
----
--- ChunkEntries[09] ---
--- 0x01D0E723-0x00000000-0x0000000000000000 - VRTF ---
Version: 0x00000002
Stride: 0x0000001C
ExtendedFormat: False
--- VertexElementLayoutList: Layouts (0x6) ---
--- Layouts[0] ---
Usage: 0x00 (Position)
UsageIndex: 0x00
Format: 0x07 (Short4)
Offset: 0x00
--- Layouts[1] ---
Usage: 0x01 (Normal)
UsageIndex: 0x00
Format: 0x08 (UByte4N)
Offset: 0x08
--- Layouts[2] ---
Usage: 0x02 (UV)
UsageIndex: 0x00
Format: 0x06 (Short2)
Offset: 0x0C
--- Layouts[3] ---
Usage: 0x03 (BlendIndex)
UsageIndex: 0x00
Format: 0x04 (UByte4)
Offset: 0x10
--- Layouts[4] ---
Usage: 0x04 (BlendWeight)
UsageIndex: 0x00
Format: 0x08 (UByte4N)
Offset: 0x14
--- Layouts[5] ---
Usage: 0x05 (Tangent)
UsageIndex: 0x00
Format: 0x08 (UByte4N)
Offset: 0x18
---
----
--- ChunkEntries[0A] ---
--- 0x01D0E76B-0x00000000-0x0000000000000000 - SKIN ---
Version: 0x00000001
--- BoneList: Bones (0x1) ---
--- Bones[0] ---
NameHash: 0xCD68F001
--- Matrix43: InverseBindPose ---
[ 1.00000, 0.00000, 0.00000]
[ 0.00000, 1.00000, 0.00000]
[ 0.00000, 0.00000, 1.00000]
[ 0.00000, 0.00000, 0.00000]
---
---
----
--- ChunkEntries[0B] ---
--- 0x01D0E75D-0x00000000-0x0000000000000000 - MATD ---
Version: 0x00000103
MaterialNameHash: 0x00000000
Shader: 0x00000000 (None)
IsVideoSurface: False
IsPaintingSurface: False
--- MTNF: Mtnf ---
MTNFUnknown1: 0x00000000
--- ShaderDataList: SData (0x4) ---
[0]: Field: 0x159BA53E (UVScale); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
[1]: Field: 0x487648E5 (PosScale); Data0: 0.0001; Data1: 0.0001; Data2: 0.0001; Data3: 1.0000
[2]: Field: 0x57582869 (UVOffset); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[3]: Field: 0x790EBF2C (PosOffset); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
---
---
----
--- ChunkEntries[0C] ---
--- 0x01D0E75D-0x00000000-0x00DCC747D216F7B1 - MATD ---
Version: 0x00000103
MaterialNameHash: 0x4B398151
Shader: 0xC09C7582 (DropShadow)
IsVideoSurface: False
IsPaintingSurface: False
--- MTNF: Mtnf ---
MTNFUnknown1: 0x00000000
--- ShaderDataList: SData (0x6) ---
[0]: Field: 0x1B1AB4D5 (DropShadowStrength); Data: 0.0000
[1]: Field: 0x2CE11842 (Specular); Data0: 0.5000; Data1: 0.5000; Data2: 0.5000
[2]: Field: 0xF755F7FF (Shininess); Data: 20.0000
[3]: Field: 0x6CC0FD85 (DiffuseMap); Key: 0x00B2D882-0x00000000-0x937C71E144222C2C
[4]: Field: 0x05D22FD3 (Transparency); Data: 1.0000
[5]: Field: 0x22AD8507 (DropShadowAtlas); Key: 0x00B2D882-0x00000000-0x937C71E144222C2C
---
---
----
--- ChunkEntries[0D] ---
--- 0x0229684B-0x00000000-0x0000000000000000 - VBUF ---
Version: 0x00000101
Flags: 0x00000000 (None)
SwizzleInfo: 0x00000016 (0x01 (Private))
----
--- ChunkEntries[0E] ---
--- 0x0229684F-0x00000000-0x0000000000000000 - IBUF ---
Version: 0x00000002
Flags: 0x00000001 (DifferencedIndices)
DisplayListUsage: 0x00000000
----
--- ChunkEntries[0F] ---
--- 0x01D0E75D-0x00000000-0x0000000000000000 - MATD ---
Version: 0x00000103
MaterialNameHash: 0x00000000
Shader: 0x00000000 (None)
IsVideoSurface: False
IsPaintingSurface: False
--- MTNF: Mtnf ---
MTNFUnknown1: 0x00000000
--- ShaderDataList: SData (0x4) ---
[0]: Field: 0x159BA53E (UVScale); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
[1]: Field: 0x487648E5 (PosScale); Data0: 0.0020; Data1: 0.0020; Data2: 0.0020; Data3: 1.0000
[2]: Field: 0x57582869 (UVOffset); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[3]: Field: 0x790EBF2C (PosOffset); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
---
---
----
--- ChunkEntries[10] ---
--- 0x0229684B-0x00000000-0x0000000000000000 - VBUF ---
Version: 0x00000101
Flags: 0x00000000 (None)
SwizzleInfo: 0x00000017 (0x01 (Private))
----
--- ChunkEntries[11] ---
--- 0x0229684F-0x00000000-0x0000000000000000 - IBUF ---
Version: 0x00000002
Flags: 0x00000001 (DifferencedIndices)
DisplayListUsage: 0x00000000
----
--- ChunkEntries[12] ---
--- 0x01D0E75D-0x00000000-0x0000000000000000 - MATD ---
Version: 0x00000103
MaterialNameHash: 0x00000000
Shader: 0x00000000 (None)
IsVideoSurface: False
IsPaintingSurface: False
--- MTNF: Mtnf ---
MTNFUnknown1: 0x00000000
--- ShaderDataList: SData (0x4) ---
[0]: Field: 0x159BA53E (UVScale); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
[1]: Field: 0x487648E5 (PosScale); Data0: 0.0020; Data1: 0.0020; Data2: 0.0020; Data3: 1.0000
[2]: Field: 0x57582869 (UVOffset); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[3]: Field: 0x790EBF2C (PosOffset); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
---
---
----
--- ChunkEntries[13] ---
--- 0x01D0E75D-0x00000000-0x21D6EFDB1B77EFDA - MATD ---
Version: 0x00000103
MaterialNameHash: 0x4A83149A
Shader: 0xCC873F28 (3431415592)
IsVideoSurface: False
IsPaintingSurface: False
--- MTNF: Mtnf ---
MTNFUnknown1: 0x00000000
--- ShaderDataList: SData (0x12) ---
[00]: Field: 0x6A05ED6A (1778773354); Data: 1.0000
[01]: Field: 0xC45A5F41 (DiffuseMapUVChannel); Data: 0.0000
[02]: Field: 0xFEB1F9CB (ShadowAlphaTest); Data: 1.0000
[03]: Field: 0x4992BFD0 (1234354128); Data: 0x00000000
[04]: Field: 0xE77A2B60 (AlphaMaskThreshold); Data: 0.0000
[05]: Field: 0x420520E9 (UVScales); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[06]: Field: 0x05D22FD3 (Transparency); Data: 1.0000
[07]: Field: 0x888AA83B (2290788411); Data: 0x00000000
[08]: Field: 0x9962C278 (2573386360); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
[09]: Field: 0x3C45E334 (NormalMapScale); Data: 1.0000
[0A]: Field: 0xF755F7FF (Shininess); Data: 20.0000
[0B]: Field: 0x6CC0FD85 (DiffuseMap); Key: 0x00B2D882-0x00000000-0x0AB689857060CE8E
[0C]: Field: 0x449A3A67 (AverageColor); Data: 0x00000000
[0D]: Field: 0x1B9D3AC5 (463289029); Data: 0x00000000
[0E]: Field: 0x0950E7D4 (156297172); Data: 0x00000000
[0F]: Field: 0x2CE11842 (Specular); Data0: 0.5000; Data1: 0.5000; Data2: 0.5000
[10]: Field: 0xF519B57F (4112102783); Data: 0.0000
[11]: Field: 0x637DAA05 (Diffuse); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
---
---
----
--- ChunkEntries[14] ---
--- 0x01D0E75D-0x00000000-0x4BCC472EACE21260 - MATD ---
Version: 0x00000103
MaterialNameHash: 0x14511D40
Shader: 0xCC873F28 (3431415592)
IsVideoSurface: False
IsPaintingSurface: False
--- MTNF: Mtnf ---
MTNFUnknown1: 0x00000000
--- ShaderDataList: SData (0x12) ---
[00]: Field: 0x6A05ED6A (1778773354); Data: 1.0000
[01]: Field: 0xC45A5F41 (DiffuseMapUVChannel); Data: 0.0000
[02]: Field: 0xFEB1F9CB (ShadowAlphaTest); Data: 1.0000
[03]: Field: 0x4992BFD0 (1234354128); Data: 0x00000000
[04]: Field: 0xE77A2B60 (AlphaMaskThreshold); Data: 0.0000
[05]: Field: 0x420520E9 (UVScales); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[06]: Field: 0x05D22FD3 (Transparency); Data: 1.0000
[07]: Field: 0x888AA83B (2290788411); Data: 0x00000000
[08]: Field: 0x9962C278 (2573386360); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
[09]: Field: 0x3C45E334 (NormalMapScale); Data: 1.0000
[0A]: Field: 0xF755F7FF (Shininess); Data: 20.0000
[0B]: Field: 0x6CC0FD85 (DiffuseMap); Key: 0x00B2D882-0x00000000-0x0AB689857060CE8E
[0C]: Field: 0x449A3A67 (AverageColor); Data: 0x00000000
[0D]: Field: 0x1B9D3AC5 (463289029); Data: 0x00000000
[0E]: Field: 0x0950E7D4 (156297172); Data: 0x00000000
[0F]: Field: 0x2CE11842 (Specular); Data0: 0.5000; Data1: 0.5000; Data2: 0.5000
[10]: Field: 0xF519B57F (4112102783); Data: 0.0000
[11]: Field: 0x637DAA05 (Diffuse); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
---
---
----
--- ChunkEntries[15] ---
--- 0x00000000-0x00000000-0x0000000000000000 - * ---
Tag:
Length: 84
----
--- ChunkEntries[16] ---
--- 0x01D0E75D-0x00000000-0x21E4E1DB1B841534 - MATD ---
Version: 0x00000103
MaterialNameHash: 0x3C8D8C34
Shader: 0xCC873F28 (3431415592)
IsVideoSurface: False
IsPaintingSurface: False
--- MTNF: Mtnf ---
MTNFUnknown1: 0x00000000
--- ShaderDataList: SData (0x12) ---
[00]: Field: 0x6A05ED6A (1778773354); Data: 1.0000
[01]: Field: 0xC45A5F41 (DiffuseMapUVChannel); Data: 0.0000
[02]: Field: 0xFEB1F9CB (ShadowAlphaTest); Data: 1.0000
[03]: Field: 0x4992BFD0 (1234354128); Data: 0x00000000
[04]: Field: 0xE77A2B60 (AlphaMaskThreshold); Data: 0.0000
[05]: Field: 0x420520E9 (UVScales); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[06]: Field: 0x05D22FD3 (Transparency); Data: 1.0000
[07]: Field: 0x888AA83B (2290788411); Data: 0x00000000
[08]: Field: 0x9962C278 (2573386360); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
[09]: Field: 0x3C45E334 (NormalMapScale); Data: 1.0000
[0A]: Field: 0xF755F7FF (Shininess); Data: 20.0000
[0B]: Field: 0x6CC0FD85 (DiffuseMap); Key: 0x00B2D882-0x00000000-0x0AB689857060CE8E
[0C]: Field: 0x449A3A67 (AverageColor); Data: 0x00000000
[0D]: Field: 0x1B9D3AC5 (463289029); Data: 0x00000000
[0E]: Field: 0x0950E7D4 (156297172); Data: 0x00000000
[0F]: Field: 0x2CE11842 (Specular); Data0: 0.5000; Data1: 0.5000; Data2: 0.5000
[10]: Field: 0xF519B57F (4112102783); Data: 0.0000
[11]: Field: 0x637DAA05 (Diffuse); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
---
---
----
--- ChunkEntries[17] ---
--- 0x01D0E75D-0x00000000-0x4BA4352EACC0A11E - MATD ---
Version: 0x00000103
MaterialNameHash: 0x0232EBBE
Shader: 0xCC873F28 (3431415592)
IsVideoSurface: False
IsPaintingSurface: False
--- MTNF: Mtnf ---
MTNFUnknown1: 0x00000000
--- ShaderDataList: SData (0x12) ---
[00]: Field: 0x6A05ED6A (1778773354); Data: 1.0000
[01]: Field: 0xC45A5F41 (DiffuseMapUVChannel); Data: 0.0000
[02]: Field: 0xFEB1F9CB (ShadowAlphaTest); Data: 1.0000
[03]: Field: 0x4992BFD0 (1234354128); Data: 0x00000000
[04]: Field: 0xE77A2B60 (AlphaMaskThreshold); Data: 0.0000
[05]: Field: 0x420520E9 (UVScales); Data0: 0.0000; Data1: 0.0000; Data2: 0.0000; Data3: 0.0000
[06]: Field: 0x05D22FD3 (Transparency); Data: 1.0000
[07]: Field: 0x888AA83B (2290788411); Data: 0x00000000
[08]: Field: 0x9962C278 (2573386360); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
[09]: Field: 0x3C45E334 (NormalMapScale); Data: 1.0000
[0A]: Field: 0xF755F7FF (Shininess); Data: 20.0000
[0B]: Field: 0x6CC0FD85 (DiffuseMap); Key: 0x00B2D882-0x00000000-0x0AB689857060CE8E
[0C]: Field: 0x449A3A67 (AverageColor); Data: 0x00000000
[0D]: Field: 0x1B9D3AC5 (463289029); Data: 0x00000000
[0E]: Field: 0x0950E7D4 (156297172); Data: 0x00000000
[0F]: Field: 0x2CE11842 (Specular); Data0: 0.5000; Data1: 0.5000; Data2: 0.5000
[10]: Field: 0xF519B57F (4112102783); Data: 0.0000
[11]: Field: 0x637DAA05 (Diffuse); Data0: 1.0000; Data1: 1.0000; Data2: 1.0000; Data3: 1.0000
---
---
----
--- ChunkEntries[18] ---
--- 0x00000000-0x00000000-0x0000000000000000 - * ---
Tag:
Length: 32
----
--- ChunkEntries[19] ---
--- 0x00000000-0x00000000-0x0000000000000000 - * ---
Tag:
Length: 32
----
---
0x024D61A8BB6F8A35 and 0x937C71E144222C2C were shadow related and just had different shapes and sizes of shadows on the img so I didn't even bother exporting them.
0x3D290B32410A3FC4 and 0x96AC646ABC7213DA are the two that are identical and are the texture/color img.
0x0AB689857060CE8E is that really small version you had mentioned seeing.
0xC2D79841419455D7 is from the Normal Map line in one of the MLODs.
The alpha basically looks the same as this but seems more detailed. I had to edit the regular RGB layer and the Alpha layer (or at least I did both because I didn't want to have to redo anything later on.)
0xC2D79841419455CA is from Field 09 ([09]: Field: 0xCEBA7E8A (3468328586); Data: 0x00B2D882-0x00000000-0xC2D79841419455CA), also in the MLOD.
(The two MLOD files that had the info are the ones with Chunkoffset 0x013E651F and 0x013E7643.)
When you see the preview for this one in S4PE and also when you first open it up in PS it looks like this:
But then the alpha looks like this:
I'm not really sure what the point of this one was condsidering the alpha basically looks identical to the textures and the alpha layer and the Green layer are the only two with any details. I still edited it though.
These are what they look like after I edited them (I saved instead of save as so I wouldn't mess up the save name which was the instance id.)The only difference being that I removed the nicks and dings. As I mentioned earlier, I edited the alpha and the main layer on pretty much all of these. If they had the markings I went ahead and edited them.
Oh and just a sidenote: the file I was originally missing was 0x3D290B32410A3FC4. The rest I found from hitting the down arrow approximately 243,578 times. lol
ETA: I went ahead and exported one of the originals again to show as a reference.
Posts: 11,006
Thanks: 423175 in 1121 Posts
(You could try Aorta as an alternative http://sourceforge.net/projects/aorta/ -- I’ve only used the OS X version but it does a good job at converting PNG <-> DDS)
Re. specs see also here
FYI - our spec maps are fairly complicated, a quick overview how its set up (for Characters) is as follows: R = cube map blur control G = cube map strength control B = specular falloff Alpha = specular strength |
Not sure whether objects work the same as characters, but looking at your alpha it would make sense -- the metal doorknob surely is meant to be more shiny than the wood.
And good job editing the bumpmap too I wasn’t sure whether I should have mentioned that but then I thought you’d probably be aware of it already.
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 583
Thanks: 5496 in 19 Posts
0xCEBA7E8A (3468328586) could be the specular -- I never experienced this personally but people seem to have issues with some Photoshop import/export procedure mixing up the order of channels (ARGB vs RGBA or somesuch). That would explain the colours being off. (You could try Aorta as an alternative http://sourceforge.net/projects/aorta/ -- I’ve only used the OS X version but it does a good job at converting PNG <-> DDS) --- And good job editing the bumpmap too I wasn’t sure whether I should have mentioned that but then I thought you’d probably be aware of it already. |
I'll check out Aorta and see if it comes up different.
About the bumpmap. I had no idea it was a bumpmap when I saved it. The only ones I was absolutely sure of were the regular texture images that I'm used to seeing like with walls and clothes. Once I opened everything up in PS though I started to realize what it all was and how it went together. I got lucky on that one. I had literally no experience with any of this (except ps I have plenty of experience with ps, I'll make or edit random things just to kill time lol) before S4. I was 12 when S1 came out so I just downloaded stuff and it was all new so I couldn't exactly complain about missing things. In S2 we had the tools provided for us by Maxis. Then in S3 we had CASt which basically changed my gaming life. Now with losing that in S4 I have no choice but to learn all this and get close to the edge of breaking my brain just so things can look the way I want them!
The OCD and control freak in me is very thankful for people like you and snaitf and the people who made Sims 4 Studio and S4PE.
Posts: 11,006
Thanks: 423175 in 1121 Posts
http://wiki.blender.org/index.php/D...Bump_and_Normal
Can be quite useful even when you're not actually doing anything in blender .. since they do a lot of explaining of all the terms (seeing as blender is free and thus also used by many non-professional people who need to learn the basics first).
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 11,006
Thanks: 423175 in 1121 Posts
I'll check out Aorta and see if it comes up different. |
Bumping to make sure you don't misunderstand me: from your in-game screens I see nothing wrong with your specular! (if they are taken with your edited version, I mean -- don't think one would notice a dfiference from that distance ..) So I didn't mean to say there is something off, just that from what the Maxis guy said the channels might be used in some rather special way which makes them look odd when they are displayed in PS.
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 583
Thanks: 5496 in 19 Posts
Bumping to make sure you don't misunderstand me: from your in-game screens I see nothing wrong with your specular! (if they are taken with your edited version, I mean -- don't think one would notice a difference from that distance ..) So I didn't mean to say there is something off, just that from what the Maxis guy said the channels might be used in some rather special way which makes them look odd when they are displayed in PS. |
Right. I get that. Those were taken with my edited ones. I will check out that link you include in your previous post though. I played around with Blender when I first got the game and kinda got the hang of making some small changes to the mesh files (like removing the flowers from the strap of the bridesmaid dress) but that took so long that I literally started naming my folders things like "Kill Me Now" and "Make This End". I would like to learn more and try again with some more knowledge ahead of time rather than going in blind like I did so that I could really edit meshes rather than just small little tweaks.
Thanks!
Posts: 664
btw: hey mel :P
Posts: 11,006
Thanks: 423175 in 1121 Posts
It's probably useful to think up some sort of easy-to-remember naming scheme for your stuff that is reliably unique, so that you don't end up colliding with yourself at some point .. like "missgothika_<EA internal name of object>_override_<rgb colour code>" or something. Not just "table1" I mean.
Also, I usually make just one STBL for US English at first, keep editing that (like when I find typos, add new stuff etc), and only when an item is completely done I copy + paste it 21 times and change the language digits for the other languages. That avoids having to fix the same error 22 times =P.
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 664
edit: wait.. there's something i dont. hash it. but what type should i copy?32.. 64.. ? and i'm seeing your override rug and there's 4 more other that start with 0A, 0B, 0C,. e .f.. what are those?
Posts: 11,006
Thanks: 423175 in 1121 Posts
Did you read the Maxis Cc guide? It actually covers all this stuff ..
I don' know which language is which prefix .. maybe that's also listed in the CC guide. But I guess for most people it wouldn't matter as they woudn't actually provide translations into all those languages -- it's still a good idea to have these resources (even just with the English text), because when they don't exist people get "***DEBUG***" instead.
E: also, I forgot to say, the entries within your dictionary also need individual hashes (these are what goes in the "NameHash" and "DescriptionHash" fields). I use FNV32 + High Bit for that.
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 664
FNV64 with high bit (which does not really matter here as you're replacing the first two anyway). Did you read the Maxis Cc guide? It actually covers all this stuff .. I don' know which language is which prefix .. maybe that's also listed in the CC guide. But I guess for most people it wouldn't matter as they woudn't actually provide translations into all those languages -- it's still a good idea to have these resources (even just with the English text), because when they don't exist people get "***DEBUG***" instead. E: also, I forgot to say, the entries within your dictionary also need individual hashes (these are what goes in the "NameHash" and "DescriptionHash" fields). I use FNV32 + High Bit for that. |
No, i didn't. But i'm reading it right now. As far as i know.. it's intended for those who know how to mod or have any knowledge about it. I don't.. that is why i came here in search for a tutorial or help. The only bit that talks what we are discussing is referring to another part of modding.. that, yes.. it is what i needed, but only now that i know it i understand it.. but if i was looking for it.. i wouldn't find it.
Also, i still don't understand those four strings a ,b c. and so on i mentioned before.
Posts: 11,006
Thanks: 423175 in 1121 Posts
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Posts: 11,006
Thanks: 423175 in 1121 Posts
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
I thought I read something about this a while back (might have been about CAS) but I can't find it again.
Posts: 11,006
Thanks: 423175 in 1121 Posts
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
I looked at another one and it's the exact same texture. Like I said, I haven't looked at the other 5 curtains I want to default (I've no use for those 2 toned textures! If they made sense to me that would be a different story, lol.) but I do think they probably have the exact same texture.
in any case, yes, you can simply reference whatever texture you want in the material definition |
Guess I'll try to figure out how to do that. It's worth a try.
Posts: 11,006
Thanks: 423175 in 1121 Posts
1. Override each _IMG with the one you want (that way you could also have different curtains look slightly different if you want)
2. Override each MODL/MLOD with one that references the same diffuse map, and overriding only that IMG (that way you'd only need one IMG and the curtains would be guaranteed to look identical)
Stuff for TS2 · TS3 · TS4 | Please do not PM me with technical questions – we have Create forums for that.
In the kingdom of the blind, do as the Romans do.
Who Posted
|