NML:Testing for other NewGRFs
See the builtin functions for the functions grf_XXX. Additionally - when the presence of a NewGRF is established - their parameters can be of interest and queried. The general syntax is
identifier = param[<grfID>, <param#>]
other_newgrfs_param0 = param["NML\01", 0]; other_newgrf_no_high_cost = param["NML\01", 1] < 5;
reads parameter 1 (the first one, counting starts at 0) from the NewGRF with the grfID "NML\01".
There's a special parameter, 254: That reports back the version of that NewGRF as set in its grf definition (e.g. via the version property in the grf block)