- Joined
- Jun 27, 2010
- Messages
- 4,208
1. I think sanity test must be made case-insensitive for names of attachment points.
2. Also to check an attachment point's name with ".StartsWith($"{name} ")" or even .Contains($" {name}"), because many models in the section have attachment
points of type "Head - Ref" (or another with dash) which works in-game but the sanity test flags it as warning.
If you have, for example, "Origin Head Overhead Chest Ref" the game can still use it.
3. because of that, check if two or more attachment points contain the same keywords (not exactly the same name) because that creates conflict
Attachment point names are conventions rather than strict requirements.. So if an attachment point contains a particular word, a trigger or the the game can attach to it,.
So I suggest to:
1. remove the warning "X is not a standard name for attachment"
and
2. make attachment name lowercase before checking if it's origin, for the warning "there is no origin attachment point"
Example pseudo func
2. Also to check an attachment point's name with ".StartsWith($"{name} ")" or even .Contains($" {name}"), because many models in the section have attachment
points of type "Head - Ref" (or another with dash) which works in-game but the sanity test flags it as warning.
If you have, for example, "Origin Head Overhead Chest Ref" the game can still use it.
3. because of that, check if two or more attachment points contain the same keywords (not exactly the same name) because that creates conflict
Attachment point names are conventions rather than strict requirements.. So if an attachment point contains a particular word, a trigger or the the game can attach to it,.
So I suggest to:
1. remove the warning "X is not a standard name for attachment"
and
2. make attachment name lowercase before checking if it's origin, for the warning "there is no origin attachment point"
Example pseudo func
C#:
bool hasString(string Nodename, string lookFor){
string lowerName = Nodename.ToLower();
string lowerPart = lookFor.ToLower();
if (lowerName == lowerPart) return true;
if (lowerName.startsWith($"{lowerPart} ") return true;
if (lowerName.Contains($" {lowerPart}") return true;
return false;
}
Last edited:

