Look at the raildef files in the rd folder in the ted-editor, they come from the TPE and they contain a lot of info about the road and deco items, you find a railUnit xml element for each uuid, and a railDictionary where each uuid has an index and there are 63 items per track -- i haven't tested it yet but i suspect the railDictionary for each track can be used to map uuids for different tracks -- just use the uuid at the same index in the dictionary.
Okay, let me take a crack at understanding the raildef file. I'm especially curious if this file is used by the TPE to help it display things, or if it uses this file to create data to send to GT6. Any thoughts?
First let me examine the 'railDictionary" (stranely placed in the middle of the file) that lists all the uuid codes for a scenery area and seems to pair each code to a "slot." This pairing is a reasonable assumption based on a couple of facts: first, they are the only two things found within the railDictionary, and second, there are the same number of uuids as there are slots. Still, I find this to be very strange because there is no need to store the slot values if the values read out of the file can be assigned based on the order they are listed. Also, the uuids and slots are not structured together the same way everything else in the file is, but are simply two separate lists. Still, I see no other option than to assume they are supposed to be paired together. But honestly, what is the point of the slot? If it is paired to the uuid like we think it is, it does nothing but give us a shorter handle to the uuid. Maybe, like you said, the slots organize the uuids in some way, but my gut tells me otherwise. I do not think that we will be able to use the slots to convert from scenery area to another because, although there are 64 slots in total (ranging from 0-63) in Andalusia, there are only 55 (0-54) in Death Valley, Eifel, and Eifel Flat. When I get time I will try to extract all of this data in a way that will help me look for patterns that may help us.
Next let me examime the "RailUnit" structures. I counted them (roughly) and there appears to be one RailUnit for each uuid. I haven't checked to make sure that there is one and only one RailUnit for each uuid, though I suspect it is so. Assuming this to be true, the RailUnit pairs each uuid with a bunch of data, though we apparently only know what one of them is for. The "unitLength" appears to be the "recommended" length of the object represented by the uuid. I'm wondering if the TPE could use this value to graphically show how far the object extends when we are designing a track. This may make sense for DECORATIONS, but the TPE doesn't graphically show ROAD items (does it?), so this seems unlikely to me. Therefore I think that this file is used strictly to create data to sent to GT6 to help with track creation. Which leads me to wonder what all of the other values are for. In each RailUnit there are four "width" values, two "modelWidth" values, a "type," a "flag," a "checkpoint," a "floorheight," a "dispositionA", a "dispositionB," a "decoratedRailType," two "dispositionType" values, two "decoratedRailRot" values, and a "crowdCount" value. Anyone know what these might be for? Those are a lot of values! What would be the point of them if they didn't do anything interesting? Lots of experimenting to do!
Next, let me examine the "RailGroup" structures. These appear to group certain uuids together. I haven't looked at this much yet, but I suspect we will find the multi-component start and finish line ROAD segments here, among other things. Each RailGroup has a "name" and an "attr," and then each uuid in the group is listed under a structure heading that appears (to me) to determine its "behavior" in the group. Every possibly behavior seems to be listed for each RailGroup, but if the behavior is not used a special format for the structure heading is used to indicate this. There appear to be six different behaviors. They are: Transition, Loop, Random, Right, Left, and TransitionDeco. A "RailGroupItem" is listed for each uuid under the behavior heading it "belongs" to. The RailGroupItem contains a "name," the uuid, an "appearance" value, and a "flag." I find it very strange that each uuid is paired with a name so deeply inside a structure like this. Why aren't they named in the railDictionary? This means, however, that a single uuid can have different names depending upon which RailGroup it is in. I haven't checked to see if any uuids actually do have more than one name, but it wouldn't be terribly difficult to determine this - not that the names do us much good. In fact, the RailGroup names are pretty obscure, for example: "GT_CRSMK_normal." This particular RailGroup consists of the following:
"loop" behavior (maybe these repeat?)
GT_RAIL_OBJS_NORMAL
"right" behavior (probably meaning they appear on the right side of the track?)
GT_RAIL_OBJS_DECO_FLOWER01_R
GT_RAIL_OBJS_DECO_FOREST01_R
GT_RAIL_OBJS_DECO_TENT
GT_RAIL_OBJS_DECO_STAND01_L
GT_RAIL_OBJS_DECO_CURVESTONE_R
GT_RAIL_OBJS_DECO_BB
GT_RAIL_OBJS_DECO_BIGTREE
GT_RAIL_OBJS_DECO_GATE01
GT_RAIL_OBJS_DECO_GATE02
GT_RAIL_OBJS_DECO_FOREST02
"left" behavior
GT_RAIL_OBJS_DECO_FOREST01_L
GT_RAIL_OBJS_DECO_FLOWER01_L
GT_RAIL_OBJS_DECO_TENT
GT_RAIL_OBJS_DECO_STAND01_L
GT_RAIL_OBJS_DECO_CURVESTONE_L
GT_RAIL_OBJS_DECO_BB
GT_RAIL_OBJS_DECO_BIGTREE
GT_RAIL_OBJS_DECO_FOREST02
Are these RailGroups what the TPE uses when it places decorations? This seems like an awfully large grouping of objects, and it doesn't look like a grouping I'm familiar with from within the TPE or within GT6. Anyone have any ideas?
Finally, at the end of the raildef file is a set of min/max/limit/default values under "railDetail," a list of incoherent (to me as least) "railTypeNames" (maybe these are in Japanese?), and a list of apparently random small-magnitude numbers listed in increasing order under a structure titled "usage." No clue what these are.
You know, there are people out there who know exactly what this all means. Someone wrote this stuff! I don't suppose anyone has written to Kazunori Yamauchi to ask for his help?