As the original author of the shield generator, allow me to provide some clarity:
There is a cache on the site, which I manually clear out each time updated code or svg files come in. I'll do that again now just to be safe. It would be nice to add some code that automatically regenerates shields if the PHP code or any svg template has been changed.
The php function used to generate the shield has a force_reload parameter, which regenerates the cached version if set to true. It's used in low-volume applications (i.e. the Highway Browser, where you only need to display one shield)
--
The "easy" (code-wise) way to accomplish systems with alternate / multiple shieldstyles would be to simply create separate systems for the portions using the alternate shields (ie FL Toll routes, TN secondary routes). However, that (and just straight checking against a list of route numbers) would take a large amount of work. My proposed solution for this would involve adding a tags field (allowing OSM-like tags) to each system .csv file and storing it as a new column in the "routes" table in the database. Take usafl.csv, for example:
system;region;route;banner;city;abbrev;root;tags;
(tags separated by commas)
...
usafl;FL;FL397;;;;fl.fl397;;
usafl;FL;FL400;;;;fl.fl400;;
usafl;FL;FL401;;;;fl.fl401;;
usafl;FL;FL404;;;;fl.fl404;;
usafl;FL;FL405;;;;fl.fl405;;
usafl;FL;FL406;;;;fl.fl406;;
usafl;FL;FL407;;;;fl.fl407;;
usafl;FL;FL408;;;;fl.fl408;toll=yes;
usafl;FL;FL408;Spr;;;fl.fl408spr;
usafl;FL;FL414;;;;fl.fl414;toll=yes;
usafl;FL;FL415;;;;fl.fl415;;
usafl;FL;FL416;;;;fl.fl416;;
usafl;FL;FL417;;;;fl.fl417;toll=yes;
usafl;FL;FL419;;;;fl.fl419;;
usafl;FL;FL421;;;;fl.fl421;;
usafl;FL;FL423;;;;fl.fl423;;
usafl;FL;FL424;;;;fl.fl424;;
usafl;FL;FL426;;;;fl.fl426;;
usafl;FL;FL429;;;;fl.fl429;toll=yes;
usafl;FL;FL430;;;;fl.fl430;;
usafl;FL;FL434;;;;fl.fl434;;
usafl;FL;FL435;;;;fl.fl435;;
usafl;FL;FL436;;;;fl.fl436;;
usafl;FL;FL437;;;;fl.fl437;;
...
The shield generator would then be able to give the routes marked with "toll=yes" the toll shield. This seems like the most straightforward way and would minimize the amount of duplication needed.
--
The most foolproof method I've found for making shields is:
1. Download shield SVG from Wikimedia commons;
2. Edit shield in inkscape to turn into a template, with ***NUMBER*** in place of the route number;
3. Save as "Optimized SVG" with the name "template_{system name}(_wide, _wide4).svg";
4. Copy to /Web/shields;
5. Wash, rinse, repeat.