That's the biggie, but the data model has evolved. Trainz 1.x-UTC expected everything to be in a certain way in a certain suffixed subfolder, '-body', '-art', '_shadow' and so forth, and had very few containers if any in their construction; and further had no tolerance for the raw tga files PEVs tools strip out and make accessible. As aometimes catches me, TRS2006 will take one or the other, but not both. TS09 and up will tolerate both. If you open an asset for edit, you see
*.texuture files (binaries), but no raw files. Run PEV's IM2TGA tool and they and the texture.txt files come where we can fix stuff
INFO: For those unfamiliar, trainz-builds (TBs or v#.#) go in sequence:
v1.3, 1.5 (UTC), 2.0-2.4 (TRS2004), Trainz 1.0, and SP1 and SP2 had no trainz-build codes,
v1.4 was used for Paintshed.
v2.5-2.8 (TRS2006,SP1, TC1&2, TC3) then N3V developed version's:
v2.9--3.3 (TS2009+4 SPs), v3.2--3.7 TS10+4 SPs and TS12+SP1; one TS10 SP pair used same version as it's predecessor, and that an another overlap some of the TS09 versions trainz-build numbers. .
In TRS2004, most of the same data structures (containers with '{' and '}' wrappers) now necessary to TS09--TS12 were introduced, but at the same time the way things were processed honored the old system and compensated for various data model formats. TRS2006 and the TCs were just as tolerant, but started warnings of tags they'd (N3V) decided were to be eliminated. The TCs mainly advanced Loco modeling, their data definitions and container structures and tags as well as script capabilities, and interactivity, so only those sorts of things created new intolerance's
or give trouble retrograding an asset from TS09 & TS10.
In TS09 N3V put what they considered as 'bad things' out as errors since
they were too lazy to deal with stripping a line out when parsing the file. I guess retirees using Trainz time was valueless.
Why they found it so difficult to just ignore many previously legal keywords is a mystery. Stubbornness, immaturity, and inexperience is the best Jcitron and I can figure--none of the N3V programmers have worked in a large project environment where changes have to be negotiated, or there are formal reviews of proposals and engineering reviews of interim implementations where a dozen or more other brains think critically about the ramifications and implications of said changes.
In a nutshell, they don't think of the Content Creators and User community in general as part of the team and generally ignore such feedback. TANE may be a step a way from it, but if so, they need to prove it to me. (God knows I've hammered them a few times over this nonsense!)
N3V under Windwalkr's questionable decision making, decided to force the 'obsolescent tags' issue and instead of ignoring old tags (name, name-XX, type, region, asset-filename, thumbnail, REM, or leading '//' or ';' which all meant comments are common 'obsoleted' tags causing unnecessary errors--lines the software could just strip out in a few microseconds!) decided to skipped the older way of looking in the folders for certain things entirely, so in fact, many errors are false. The assets are perfectly valid in the older Trainz. Their parsers were smart enough to ignore invalid keywords (DUH! Is it a keyword if it's the first non-whitespace on a line?)
Worse, many FIXES, if the old trainz-build tags are kept are in fact broken. Put a container in a Trainz 1.3 asset, and it won't work in Trainz 1.3! Conversely, on point, to retrograde newer assets to V1.3--v2.4 those same tags will need be created when apropos, especially name and asset-filename.
Trivia: NAME and USERNAME if different show up in different modules with their respective strings. Name will show in Surveyor! Not sure what shows in Railyard.
Further, there is a subset of errors where the textures are in the main folder or body, etc. and the night sub-folder needs it too, but cannot find it and so forth.
Those are the can't locate texture errors one sees most often. Bottom line, N3V's programmer's decided that it was their way or the highway and instead of introducing a translation stage then processing an intermediate file when committing, said it must be this way or we're going to call it an error. It is frankly, an flagrant lack of consideration for the user base as all of us have been forced to spend many hours of leisure time getting frustrated and manually patch stuff that a few days of software back-compatibility programming (
using code that had been around for years!) could have prevented--and still can. Their behaviors seem to demonstrate they think someone has a perpetual contract to maintain the asset they once made (as a favor to someone else) in the community, such that content creators are perpetual slaves, and
never die nor feel exploited and victimized, nor get pissed off nor bored with Trainz. Clearly, keeping the DLS sound and stable has been a low priority, else why create unnecessary error situations?
TANE had better have better parsing or we all need take action--say refusing to submit assets to the DLS until such nonsense is fixed. The dirty little secret is Trainz has never had the best graphics, but the sheer richness of assets made by a willing user community made Trainz the survivor while other simulators failed. Their wealth AND FUTURE is intimately tied to our good will and willingness to feed the free content library. WE DO HAVE power to make them manage better, we just need will to hold off letting them host the free content while letting them know the embargo will continue until such and such is fixed.
Many, even most, v1.3--v2-6 assets can be fixed simply by installing a mesh-table, or fixing the path in the config, or the texture.txt file
so the dumber newer software can find the right files. Hence, if you "FIX" these non-errors (now called faults--
the thing which is broken is the file processing, and the attitude of N3V--these things if downloaded today generally still work in older Trainz releases forsooth, and I have each installed and active to back test!), the 'repaired' asset will likely NOT work in it's native Trainz release anymore. Nice job, N3V, you created a situation where the DLS is incompatible with your own self-adopted role as keeper of the communities shared assets.
TRS2004 & TRS2006 were tolerant of mixing data models, hence bogey0, bogey1, bogey2 etc. could co-exist with a more modern mesh-table and thumbnails, queues, etc. and smart enough to find a texture used in the same asset in another folder, so given the de facto breaking of the asset, I promote such fixed older assets to a trainz-build (+1 usually, 1.3 to v2.3 and 1.5 to v2.5 respectively--and the relative rarity of those two versions in asset populations helps me see fixed assets in CM!) where the container is understood. Note the N3V programming, in effect, created the majority of errors we see on the DLS and cost us all any time we spend fixing such! Hanging Windwalkr and Hilliam is too good a fate. Drawing and quartering, or other medieval punishments are likely too lenient given the inconsiderate cost to others. I don't know how either sleeps at night! I guess in this modern age the hit to their bottom line and reputation is the best we can do,or hope for. I just wish they'd all grow up a bit.
The wonder is the knowledgeable content creators didn't put a stop to it back in 2009... I gather N3V stonewalled, but also note they finally caved in on screenshots and made the error a warning again! It did take a long while though, N3V has 'deaf ears' and passive aggressive behavior perfected. POLITICS is in everything, I'm afraid and the community should have demanded better from them in TS2009--certainly by SP4! I'm confident it's stupid programmer's first, community second design philosophy has cost N3V a ton-a-bunch of customers too, and worse Tony Hilliam seems ignorant of how severely Windwalkr and company have screwed that particular pooch and how simple and easy it would have been to have fixed it without creating the time waste penalties on us users.
(Continued)