Aggressive Inline Levels

Skeletons, animations, shaders, texturing, converting, fixing and anything else related to read game models
g00dman
Posts: 19
Joined: Mon Sep 03, 2018 9:15 am

Aggressive Inline Levels

Post by g00dman »

I posted this in the Game Archives section as well, let me know if I should just have that thread moved instead...

Basically I'd like to be able to open the levels from Aggressive Inline in Blender. I'd like to port them for use in THUG Pro, a mod for Tony Hawk's Underground 2. There's also some unused stuff on the disc that I'd like to look at.

Here's a link to the levels folders for each version of the game: https://mega.nz/folder/kA02iSRb#jJpv4dU5SJsBIM3x7zVPFA

"MOTIONS.ZAL" I think contains information for in-level cutscenes.
.BIN file contains all the text strings (for challenges, etc.)
.GEO file contains geometry pieces.
.INS file contains information on where to place these pieces within the level.
.TXR file contains textures.
I'm not sure what's in the .DAT file but it seems to be important.

There's also an export log file (.TXT) and a .LOG file that seems to log all the text strings and challenge data.

If it helps there's a program that can do part of what I'm asking (it exports the levels to an .OBJ), but it misses out a lot of stuff - there are missing objects, textures, no vertex colours, etc. I've attached it if you wanna have a look. It also only works with the Gamecube/Xbox versions.

Thanks! :mrgreen:
Last edited by g00dman on Sun Feb 14, 2021 1:19 pm, edited 2 times in total.
g00dman
Posts: 19
Joined: Mon Sep 03, 2018 9:15 am

Re: Aggressive Inline Levels

Post by g00dman »

Bump...?

I've uploaded the full contents of the level folders of each version of the game to Mega: https://mega.nz/#F!ZcsVVCxS!SERX_B9eMnq2U3nL6tPuwQ

The PS2 version has the most unused stuff in it, so would prefer to be able to extract those. BMS script attached to this post can extract models from the .GEO file.

The tool attached to the OP will export from the GC and Xbox versions, but Xbox levels wont export textures. (Xbox version has an exclusive level which is actually also present on the PS2 disc but PS2 version doesn't have any textures)

Thanks!
Acewell
Posts: 706
Joined: Fri Aug 08, 2014 1:06 am

Re: Aggressive Inline Levels

Post by Acewell »

g00dman wrote:.TXR file contains textures.

here is Noesis python script to open your xbox txr samples. :D
tex_AggressiveInline_Xbox_txr.zip

supports dxt3
g00dman
Posts: 19
Joined: Mon Sep 03, 2018 9:15 am

Re: Aggressive Inline Levels

Post by g00dman »

Sweet, thanks! These textures seem to be higher resolution than both the PS2 and Gamecube textures (explains the much bigger fle size, ha), cool :D
g00dman
Posts: 19
Joined: Mon Sep 03, 2018 9:15 am

Re: Aggressive Inline Levels

Post by g00dman »

I think I've figured out what makes the tool attached to the OP miss out some objects on import. Several types of objects are defined with a 'def' in the name, like GlassDef, PropDef, CarDef, etc. in the .GEO file, but in the .INS file the 'def' is dropped.
g00dman
Posts: 19
Joined: Mon Sep 03, 2018 9:15 am

Re: Aggressive Inline Levels

Post by g00dman »

Sorry to necro the thread but one of the THUG Pro devs has written up some documentation for the level formats:

https://github.com/Morten1337/io_thps_s ... _notes.txt
https://github.com/Morten1337/io_thps_s ... t_zaxis.py
g00dman
Posts: 19
Joined: Mon Sep 03, 2018 9:15 am

Re: Aggressive Inline Levels

Post by g00dman »

g00dman wrote:I think I've figured out what makes the tool attached to the OP miss out some objects on import. Several types of objects are defined with a 'def' in the name, like GlassDef, PropDef, CarDef, etc. in the .GEO file, but in the .INS file the 'def' is dropped.


I learned a little more about the files since I made this post. I'm not a coder by any means, this is stuff I observed by looking through files with a hex editor.

First off the .GEO file simply contains all the models for objects placed around the level. The .INS is a 'geometry instances' file which contains information of where each of these models should be placed in the level.

As I mentioned in the above post, almost every object that appears multiple times in the level is defined only once in the .GEO file, for example under the name 'propdef_treesmall'. In the .INS file however each instance drops the 'def' and are instead defined by 'prop_treesmall01', 'prop_treesmall02' and so on. Using a hex editor, and manually changing the names of each of these instances to the 'propdef_treesmall' defined in the .GEO file, I was able to get the Z-Axis Level Tool (attached to the first post) to include these objects in the exported .OBJ file, which was incredible to me. However, every instance of the object will be rotated the same way, so I'm assuming the orientation of each of these instances is stored somewhere else, perhaps in the .DAT file, but I don't really know. Maybe they are moved around by some code in the game when the level loads, who knows.
g00dman
Posts: 19
Joined: Mon Sep 03, 2018 9:15 am

Re: Aggressive Inline Levels

Post by g00dman »

https://github.com/Morten1337/ZAxisLevelTool Morten has released documentation for the Z-Axis Level Tool attached to the first post.