History of Reverse Engineering Trespasser
Early in 1999 a group of people joined together to reverse engineer the Trespasser level formats. This first group was called the Trespasser Hacking Society (THS). Sometime in May 99 they gave up and published their notes and utilities.
When THS gave up I started working from where they left off. My first success was rewriting their utilities in Microsoft Access, and my second was figuring out the captions format for the audio. In August 1999 I created this website to make available whatever I felt was missing from the available websites, including keeping the THS information available. Around the same time THS2 was created and about a month later it was renamed THS - The Revolution. I should note that I was the only person in THS2 doing any work on reverse engineering the level formats.
Late in August 1999 I created the first Proof of Concept - changing Trespasser Audio. The second proof was soon to follow when I changed the default sound. Near the end of September I was convinced I could extract and create a 3d model. Some consulting work intervened and I was unable to continue working on reverse engineering the level formats until late November.
In late November Andres James sent me copies of work he had done. Using Java3D he had managed to extract and display a tree and a gun.
His continued work has led to significant breakthroughs in reverse engineering the Trespasser level formats. Ken saw this work and since then the three of us have been working together. In December 99 we were able to extract and texture simple models.
January 2000 rolled around with many more updates to our notes and breakthroughs that greatly increased our knowledge. Ken managed to spray some graffiti on the testscene in late January, and change a bumpmap texture. This can be seen as Proof of Concept #3.
In February 2000 Andres figured out the bump mapping bits and we've reverse engineered the valuetable format in the GRF files - this is a significant breakthrough because we now know the data which is the guts of the AI and physics for the game. We're currently trying decode the SCN block format and the WTD format. Once we have the SCN info we can change the physics and the AI behavior in the game. We still need information on the AI of course.
On 2/5/2000 I received copies of artwork and textures that Wei Ho did for Trespasser. These will be put to good use in comparing the output of our utilities to the original source so that we can perfect our tools. I just want to thank him again for his generousity and make sure he gets credit for the work he did. :)
On 3/19/2000 the first of the planned Trespasser Matrix GUI utilities, TLAe (Trespasser Level Audio editor), was released.
Hey, it's 7/23/2000, what's been going on? The three of us have been overwhelmed by real-life concerns so we haven't done a whole lot yet. I am currently working on a program to convert the GRF & SCN format into a text based format that anyone could edit. Why do this? The GRF contains all the information on all the objects in the game. This includes their physical properties (mass, mesh, mapping, velocity, etc) as well as their AI properties (Dino hungry, love, hate, hurt, etc). Changing a level would require access to these properties, and they're more easily accessed in text files than in a 3DS format or a database. (Caveat: They're actually better in a database, but it would take longer to write the database GUI than I want to take to provide the next Proof-of-Concept.) [P.S. the linked file formats have not been updated.]
September 9, 2000 almost two years since Trespasser was released. Andres created a new utility to extract the screen shot from saved games. I've managed to fully decode the GRF object properties and stick them in a database. Dreamworks left a lot of bugs in the GRFs so I've worked around them. I need to make some minor changes to my database so I can properly handle all the objects on a level, and then I should be ready to produce the first replacement GRF as a proof of concept. The only changes will be to remove errors and rewrite the GRF in a more consistent format. The next proof of concept which will follow will attempt to make larger changes. Look for the first proof by the end of this month, and the second by the end of October.
March 10, 2001 - Time flies. Andres is on vacation, Ken is quiet, and I'm busy working on more of the utilities needed to create new levels. Currently I'm creating the database which will hold all the assets. It is mostly completed, but the related programs (Trespasser assets loader, Level editor, and Level creator) still have a lot of work undone.
Theodore Gearhart recently discovered that the WTD file is not loaded when a savegame is loaded. This means that the WTD is stored in the savegame, something nobody had noticed before. It helps explain one of the unknown blocks in the savegame file.
Last updated Saturday, May 19, 2001 08:58 AM