Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Quick Reply
Search this Thread
Instructor
Original Poster
#1 Old 14th Apr 2008 at 10:49 AM
Default Recolors Not Showing up on Custom Object
Hey there! About a month or so ago I cloned a table lamp and borrowed the dragon mesh from the dragon statue, combined the dragon and the lamp mesh to make a dragon table lamp. It looks really cool in game but I can't seem to get the recolors to show up - they show in catalog view.

My subsets are set up correctly as far as I can tell and when I recolor it I get both subsets to choose from. But when I place the item in the game, I only see the original color. In catalog it shows my recolors, but not when placed. Any ideas what could be causing this? I have attached my lamp and a couple of recolors for testing.
Attached files:
File Type: zip  wndy26_SculptedDragonLamp.zip (363.0 KB, 13 downloads) - View custom content
Advertisement
The ModFather
retired moderator
#2 Old 4th Jun 2008 at 11:41 AM
You probably have either abandoned this project or solved the problem, but I stumbled into your post only now, and I think it's an interesting one.

Multi-state recolourable parts need to have a MMAT carefully set up. In particular, you have to preserve the relationships between the MMAT and the Text List 0x88 (Material Names).
Into each MMAT, in the field labelled "objectStateIndex" you have to put the line number of the Text List 0x88 corresponding to the subset/state.

For example, let's take you lamp. Among the several MMATs (most of them useless, but it's Maxis fault, not yours ) select the one:
##0x1C050000!wndy26.sculpteddragonlamp-lightingfloorquaint_shade_pink_lit.
This is the MMAT used for the subset shade, for the state [/b]lit[/b].
Now look into the Text List 0x88: which line is related to the shade/lit material? Line 0x09. Back to the MMAT, the filed "objectStateIndex" must be set to 0x00000009 (but it's currently set to 0x00000006).

Same way, you have to check and modify the MMAT for the shade/unlit material: the correct line in the TL88 is 0x0A, and therefore you have to set the objectStateIndex to 0x0000000A.

Just out of curiosity, let's comment the other MMATs in the package.
The two "bulb" ones are useless, because the MMATs are only needed for recolourable subsets (the objectStateIndex is set correctly btw, but as said the entire MMAT is never used).
The MMAT for the groundlightpattern/lit is useless too, for the same reason (and btw the "unlit" one is totally missing: the game doesn't have problems because, as said, the subset groundlightpattern is not recolourable, and the related MMATs are ignored).

The last MMAT is the one for the lamp base (subset name: lightingfloorquaint_base). This MMAT *is* required because the base is recolourable (CEP required), but the objectStateIndex is set to 0xFFFFFFFF, because the base is not multi-state, and therefore you don't need to look in the Text List 88 to spot the right line.

That said, you should be able to solve your problem fixing the objectStateIndex value in both the "shade" MMATs, in the main package AND in all the recolours.
Please note that this problem happened only because you "merged" two lamps with different Text Lists: usually, you clone a lamp and don't touch the MMATs nor the TL, so the relationship between the two is automatically preserved.

I've finally started my Journal. Information only, no questions.

My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)


I *DON'T* accept requests, sorry.
Instructor
Original Poster
#3 Old 10th Jun 2008 at 12:16 AM
Thanks Numenor! I was hoping someone would find my post! It has been a while since I worked on that lamp but I do want to finish it.
Back to top