Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Train Driver 2005 - .ja files (Complete archive attached)

Old posts about game archives and other formats.
Rahly
VVIP member
VVIP member
Posts: 411
Joined: Thu Aug 05, 2004 10:17 am
Been thanked: 1 time

Post by Rahly »

Sly wrote:Well, if you can't write your own code then try to find and RE my unpackers for Guild Wars, Blood Magic and StarForce protected games (Bet on Soldier, etc). :)
By your comment, thats a huge imply that you are REing those games as you specifically mention Starforce protection. So don't even say its your own code, I'm sure you ripped out the code for decompression as well. I just wrote up a pascal implementation of the assembly I saw. I didn't look any further, and I, unlike you, have no problems with giving that credit to you, because, I really don't care. I could also poke and prick your coding methods as well, and seeing that code in any production code, would be scary.

We only took the decompression method also, i didn't even look into anything else, MrMouse did all the file format jive, I'm not even sure how its structured except for the fact that we found out it errored because it had multiple blocks for decompression. Oh well though.
"By nature men are alike. Through practice they have become far apart." Confucius (Analect 17:2)
User avatar
Dinoguy1000
Site Admin
Posts: 786
Joined: Mon Sep 13, 2004 1:55 am
Has thanked: 154 times
Been thanked: 163 times

Post by Dinoguy1000 »

Mr.Mouse wrote:

Code: Select all

On Error GoTo Hell
Heh, nice humor... :D

@ Sly: Grow up, or jack off. Sorry to be so blunt, but that's honestly how I feel. :fu: (Finally, a (bad) excuse to use that... YES!!!!!)
Welcome to Xentax!

Rules | Requests | Wiki | Discord

If you run across a post that breaks the rules, please report the post - a mod or admin will handle it from there.
User avatar
aluigi
VVIP member
VVIP member
Posts: 1916
Joined: Thu Dec 08, 2005 12:26 pm
Location: www.ZENHAX.com
Has thanked: 4 times
Been thanked: 664 times
Contact:

Post by aluigi »

Mr.Mouse wrote:Thanks to Rahly's excellent reverse engineering of Sly's attachment (hello Sly, Pespin doesn't protect enough!), we now have the .ja compression solved for the most part.
I can't believe, now we must do also double work!!!
That's really absurd... I think this Sly is totally useless to the community.
mambox
mega-veteran
mega-veteran
Posts: 190
Joined: Wed Mar 24, 2004 2:06 pm
Has thanked: 5 times
Been thanked: 4 times

Post by mambox »

[quote=]"I think this Sly is totally useless to the community.[/quote]

not useless but if he dont want to share his tools and knowledges,the work is done twice as he already reversed the schemes.
User avatar
aluigi
VVIP member
VVIP member
Posts: 1916
Joined: Thu Dec 08, 2005 12:26 pm
Location: www.ZENHAX.com
Has thanked: 4 times
Been thanked: 664 times
Contact:

Post by aluigi »

mambox wrote: not useless but if he dont want to share his tools and knowledges,the work is done twice as he already reversed the schemes.
Uhmmmm what part of "try to find" is not clear in what Sly said before?
(try to find is not a synonim of share)

If he wants really to help he should say something like "guys I have found and extracted the instructions which do the decryption/decompression work and have merged them in a tool available here (link), feel free to reverse the code I have ripped since I don't have time or desire to do it".
That means half work not double like now.
Rahly
VVIP member
VVIP member
Posts: 411
Joined: Thu Aug 05, 2004 10:17 am
Been thanked: 1 time

Post by Rahly »

Ok, thats enough guys.
"By nature men are alike. Through practice they have become far apart." Confucius (Analect 17:2)
JDD
ultra-n00b
Posts: 3
Joined: Tue Nov 28, 2006 9:18 pm

TrainDriver ja files

Post by JDD »

The ja file format is used by TRS2004 and TRS2006 by Auran.
I think some of the files use lzss compression. I can't get Mexcom to work with Trainz ja files though. I must be doing something wrong.

JDD :wink:
Marlboro
ultra-n00b
Posts: 3
Joined: Wed Dec 06, 2006 7:25 pm

Post by Marlboro »

First of all a big Thanks!

Whoever came up with this marvel is in my book a genius.
I do 3d and some hex but this stuff is way beyond me.

The plug-in works like a charm with Trainz06 but not 04 (no biggy - one can work around that)

The question I have is:
Is there a way to re-pack/compress .ja back using the original format?

Though the game works by substituting .ja with the unpacked folder structure, load times suffer somewhat.

And while I'm at it...Is .ja a proprietary format linked to the game-developer or is it a more widespread compression format like .zip or .rar
(in case one wants to distribute own content based on this format)?

Thanks for your time
Have fun - Marl
User avatar
Dinoguy1000
Site Admin
Posts: 786
Joined: Mon Sep 13, 2004 1:55 am
Has thanked: 154 times
Been thanked: 163 times

Post by Dinoguy1000 »

.ja, I believe, is a proprietary format, as are most archive formats that games use.
Welcome to Xentax!

Rules | Requests | Wiki | Discord

If you run across a post that breaks the rules, please report the post - a mod or admin will handle it from there.
JDD
ultra-n00b
Posts: 3
Joined: Tue Nov 28, 2006 9:18 pm

ja archive format

Post by JDD »

I believe the ja archive format is a propietary format. I have only seen it used in Auran games. On the Auran Jet website there is some information on the formats used with the Auran Jet engine, which is used in TRS2004.
Marlboro
ultra-n00b
Posts: 3
Joined: Wed Dec 06, 2006 7:25 pm

Post by Marlboro »

ok, thanks for the quick and comprehensive answer.
I'll dig into the Jet pages as suggested.

My immediate conclusion would be: no distribution of 3rd party .ja without official permission - right?

But back to the core question...as the file-structure (unpacked)
seems to be documented, how difficult would it be to find a tool to pack again to recover load-times?

Auran provided that kind of tool (ways back) for both (unpack/pack)
alas, it is not suitable for the recent releases.

(since this is the "completed" part of the forum should I better ask in the open section?)

thanks - have fun - Marl
Xanax
n00b
Posts: 10
Joined: Sat Jan 13, 2007 4:32 am
Been thanked: 1 time

Post by Xanax »

Hello, I'm new here and have worked with Trainz files previously. I've written a file and animation viewer for Train IM and PM 3d graphics files previously.

I stumbled across this thread while trying to figure out how to extract Trainz ja files.

I downloaded and installed MultiEx commander (which now comes with the ja file dll mentioned in this thread). As noted above, it does not work with Trainz 2004 ja files. I do not have any Trainz 2006 files and the original link to the file mentioned in this thread no longer seems to work.

I can provide some background information. There was a non-commercial version of the Auran Jet engine -1.0 (Auran Jet engine is the basis for Trainz) , which I worked with for a couple of years. Current versions of Trainz run on the 2.0 engine. There was an extraction tool - Jarchive - which came with the 1.0 engine but not with Trainz. I could kind of get the old extractor to work with Trainz files, but, in short, clearly the version had changed and either the input file and/or output file length had changed. I know that the number following the header information (after ARCHINFO and OCRA) was almost certainly a version number.

If I could get the copy of the TRS2006 file I might be able to supply additional details on the differences in the formats, or I would be willing to help someone with more knowledge in compression formats by supplying any helpful information that I can.

The JArchive.exe program is dependent on DLLs that ship with the various versions of the Auran Jet engine, and I get different results depending on whether I run with the 1.0 or 2.0 versions of those DLLs, though neither method will completely successfully extract the trainz .ja files. Typically the extraction is correct to a certain point but 'comes up short.'
Xanax
n00b
Posts: 10
Joined: Sat Jan 13, 2007 4:32 am
Been thanked: 1 time

Post by Xanax »

Some additional information and a correction:

There are 4 different versions of Trainz released by the Auran company: Original Trainz, Ultimate Trainz, TRS2004 and TRS2006. All are based on some version of the Jet engine. Train Driver 2005 is based on some version of the Jet engine, but I'm not sure which. Plus I have the original Jet 1.0 engine installed.

The Trainz .ja files that I have are from Ultimate Trainz, not TRS2004.

The Jaunp exe that was posted by sly works for the .ja files from the original Jet 1.0 engine (I could already do those with the supplied Jarchive program). The extracted files appear to be correct, as I can view them with my Jet file viewer. That strikes me as odd, as it implies that Trainz 2006 has reverted to the 1.0 engine version of the ja files or something similar enough to be recognized. It could also imply that Train Driver 2005 was actually written with the commercial version of the old 1.0 engine, rather than with the 2006 engine.

Jaunp run against Ultimate Trainz .ja files will create the first file, but no data is written and no other files are created.

MultiEx commander will not work with either the old 1.0 ja files or the Ultimate Trainz ja files. I get a message box saying "PGN not valid" and pointing to the Traindriver2005.dll.

I'm not very knowledgeable about compression. I also don't know VB. I'm just a C++ programmer. Does the VB program that was posted reflect the complete algorithm for extracting these files? If so, I could probably learn enough VB to figure out what's happening and convert it to C++ and see if I can modify it for different versions of the .ja files.

If there is any interest in pursuing this, let me know what I can provide that would be helpful.

Thanks
Xanax
n00b
Posts: 10
Joined: Sat Jan 13, 2007 4:32 am
Been thanked: 1 time

Post by Xanax »

DO NOT POST GAME REQUESTS HERE!!! Any new game requests should be posted in the Game Requests forum, not here. Requests for updated support for a game already in this forum should be made in that topic.
I hope I didn't post in the wrong place. I understand the last sentence above to mean that I should continue in the existing topic in this forum. If I was wrong, please let me know.

Anyway, I can supply (nearly) complete documentation for the Jet/Trainz IM (Indexed Mesh) and PM (Progressive Mesh) 3D files, if you would like to have them. There was already documentation for the original files in the 1.0 version of Jet; all I have added is the layout of subsequent versions of those files. It will take me a few days as they exist programmatically, but not formally at the moment. Let me know.
Xanax
n00b
Posts: 10
Joined: Sat Jan 13, 2007 4:32 am
Been thanked: 1 time

Post by Xanax »

Well, I guess there's not much interest in this, so I'll drop my requests.

I figured out how to extract the new Trainz .ja files by switching around a few fields and making them look like the original Jet. 1.0 ja files and then running the supplied jarchive program against them, but that still doesn't tell me anything about the actual compression method internally.

I've learned a few more things about the files and how they are set up, and I could very easily supply a source .ja file AND the extracted files if anyone wants to look at them, but I think first I better ask on the Trainz forums and see if this is allowable. I have a feeling it may not be and I don't want to violate anyone's licensing restrictions.
Post Reply