I guess a better approach to figuring this out is I know where
PIN_DATA is declared. Looking at various keys,
MAP_PIN_TYPE_FAST_TRAVEL_WAYSHRINE takes a function for the texture and tint and
MAP_PIN_TYPE_FAST_TRAVEL_WAYSHRINE takes its level as a function (which I didn't realize was possible but I now have the level being set per player working). But from the looks of it nothing takes a function for size and if I try to do so myself, I get an error. As for the PIN_DATA structure, how can I determine where its being told which fields can and cannot accept a function, and where the parameters are being passed? If I can figure out where that is, I then know where the pin object is coming from