Loading loose animation tables!

[V] IdolNinja

Volition Staff
Until now, the only way we could mod animation tables from misc_tables.vpp_pc like brute.xtbl, rollerblader.xtbl, cop.xtbl, etc was to edit and repack them back into misc_tables.vpp_pc. Mike Wilson from Volition took a look at this and figured out how we can load them loosely without having to repack.

Simply, create a new folder in your SRTT install off the root named:
tables

and put your animation table mods there. The engine will load them loosely.

tables_folder_location.jpg
 
This bodes the question, will the engine load all/most/some/few files loosely if placed in the correct directory structure?
Can we get a list of which ones we can use?
 
Name me a file we can't load currently. Vehicle files don't count because they need to be crunched into cvtf.
 
Is this case-sensitive?
ie. Does it make a difference if the folder is named "Tables" or "tables"?
 
Is this case-sensitive?
ie. Does it make a difference if the folder is named "Tables" or "tables"?

No idea. You saw my screenshot with it being lower case. If you're curious then why not try it instead of asking? :p
 
No idea. You saw my screenshot with it being lower case. If you're curious then why not try it instead of asking? :p
Turns out that case doesn't make a difference to the SR:TT engine, instead of "tables" try renaming "packfiles" to "Packfiles".
The game still loads fine, but if you try to "verify the integrity of game cache" steam will say that files are missing.
That concludes that SR:TT isn't case sensitive but steam is.
 
Turns out that case doesn't make a difference to the SR:TT engine, instead of "tables" try renaming "packfiles" to "Packfiles".
The game still loads fine, but if you try to "verify the integrity of game cache" steam will say that files are missing.
That concludes that SR:TT isn't case sensitive but steam is.

Good to know.
 
This bodes the question, will the engine load all/most/some/few files loosely if placed in the correct directory structure?
Can we get a list of which ones we can use?

The way our filesystem stuff works, we almost always just say open file.ext. We then have different systems to load those files. We search those systems in a specific order, which I believe is standard I/O, then patch packfiles, then packfiles. In development we have a few more. Really, it is a performance issue and probably a bug that standard I/O is first in line on a release build, but it also gives you the option to do all these mods, so I'm not too interested in changing it.

What this all means though is if code says open file items_3d.xtbl, it will look for it in the base folder on the hard drive and then try to find it in a special patch packfile and then search the packfiles that are loaded. Standard I/O assumes you know what you want and just takes the filename you give and looks for it. Packfile searches will nuke any path passed and then search for the filename. It just so happens that for some reason the animation library was initialized telling it that tables is the directory table files are in for game file reads. This results in the request tables\anim_files.xtbl being requested from standard I/O and produces the behavior you see. It is entirely possible that some other system is trying to open some\crazy\path\to\a\file.ext and you would have to mirror that path to get it to work, but typically speaking we don't do that stuff. If you find something like that just point it out and we can figure out what directory structure you would need to make.
 
Turns out that case doesn't make a difference to the SR:TT engine, instead of "tables" try renaming "packfiles" to "Packfiles".
The game still loads fine, but if you try to "verify the integrity of game cache" steam will say that files are missing.
That concludes that SR:TT isn't case sensitive but steam is.
That's probably actually because Windows isn't case sensitive, not SRTT.

Steam's probably generating a list of files and searching that, rather than directly looking to open a file.
 
Back
Top