Obsolete REZ files

Don't you hate it when you don't know where to go? Or the game keeps crashing? Post your questions here!
Post Reply
tronrose
Registered users
Registered users
Posts: 61
Joined: Mon Sep 21, 2009 8:38 am
Do you own a copy of Tron 2.0?: Yes
What is your favorite Tron character color?: Blue
What type of multiplayer do you like to play?: Disc Arena

Obsolete REZ files

Post by tronrose »

What makes these files such as gamep3 obsolete to the point where the Unofficial patch removes them? Are the contents in these files already in other rez files such as gamep4 and 5? Or is the content within these obsolete files not used in the game?

If one were to explorer this unused content like textures and stuff, it might come in handy for newer content!
User avatar
xistence
[LDSO] Site Admin
[LDSO] Site Admin
Posts: 848
Joined: Tue Jan 11, 2005 12:56 am
Location: Germany
Contact:

Re: Obsolete REZ files

Post by xistence »

REZ-Files are just a type of archive (like ZIP or RAR). So they containing a structure of folders and files, which are building a kind of 'hierarchy', organizing the games resources.
They different REZ-Files are loaded in a specific order, and those files, which already appeared in other REZ-Files before in the loading process, will be 'overwriten' as soon the game-engine access them. So the kind of REZ-Files and the loading order work as a sort of 'patch-system'.
These files would be obsolete as soon you would unpack them in the same order, in just one directory as they would be loaded by the engine and rebundle the content of all REZ's in one single REZ. Otherwise you need to keep them, because is just one REZ-File is missing in the giving loading process, the engine might crash.
Honestly i don't think this is the best way to handle game resources in an efficient way, tho using resources out of archive files is better then loading them as single files directly from the filesystem (reducing fileaccess and giving a better I/O speed). But at least this is the way is was done in the Jupiterengine. Hope this was able to light up things a bit on REZ-Files.
ldso:// - Living Dead System Operators
[2.0PD] - 2.0 Program Developers
blog
Image
User avatar
TronFAQ
[LDSO] Member
[LDSO] Member
Posts: 3021
Joined: Tue Jan 11, 2005 12:50 am
Do you own a copy of Tron 2.0?: Yes
What is your favorite Tron character color?: Cyan
What type of multiplayer do you like to play?: Deathmatch
Location: Ontario, Canada
Contact:

Re: Obsolete REZ files

Post by TronFAQ »

Xistence already answered this in great detail, but the short version is:

Yes, the content in the removed .REZ files is obsolete and redundant. The same content, in updated form, is contained in newer .REZ files that are added by the patch. No content goes missing.

Keeping those older .REZ files around is just wasting hard drive space and actually lowering your .REZ limit. The fewer .REZ files the game uses, the more available for custom maps.

Monolith just took the lazy way out with the Official patch. Adding more and more new content to override older content, without deleting that older content.
User avatar
xistence
[LDSO] Site Admin
[LDSO] Site Admin
Posts: 848
Joined: Tue Jan 11, 2005 12:56 am
Location: Germany
Contact:

Re: Obsolete REZ files

Post by xistence »

I think that the intention Monolith had, in using their resource-system that way, was not really a lazy then a secure one. Because unpacking/repacking archive-files is always tricky, especially as the complete content of Tron2.0 in an unpacked form is about > 3 GB. The user must have an additional of 3GB just to unpack everything, then the update of a few files, repacking (and if you want to stay on the safe side you would create a new archive, delete the old then rename the new to the old name, just to be sure that everything was correct) and creating a new archive.
So totally we would talk about an additional space of > 4.5 to 5 GB on your HD for every update/patch in the case of Tron2.0. So i think it was the best way with this technology of Jupiter, especially if you have to do several updates of few files in the first weeks after the release of a game. To run the described process everytime would frustrat a customer of a game.

For sure other game engines already proved that there are better ways to use archive-systems for gameresources, the first step could have been to pack the different content of the Tron2.0 in smaller packages and to increase the maximum amount of REZ-Files allowed.
ldso:// - Living Dead System Operators
[2.0PD] - 2.0 Program Developers
blog
Image
User avatar
TronFAQ
[LDSO] Member
[LDSO] Member
Posts: 3021
Joined: Tue Jan 11, 2005 12:50 am
Do you own a copy of Tron 2.0?: Yes
What is your favorite Tron character color?: Cyan
What type of multiplayer do you like to play?: Deathmatch
Location: Ontario, Canada
Contact:

Re: Obsolete REZ files

Post by TronFAQ »

I agree with what you said, X. But I still consider it laziness. :D

Placing content in smaller packages would have been a good strategy, for sure. But since the .REZ files aren't compressed or encrypted in any way - merely adding one file after the other into a bundle - they could have designed the patch in such a way as to insert or modify bytes in a .REZ, without needing to go through an extraction process. Just provide the minimum information needed to describe the modifications, and patch that directly into the .REZ files.

I think the main advantage to Monolith's approach is that you can easily roll back to a previous version by removing the update files. But I don't believe that benefit outweighs the remaining disadvantages, from the end-user's perspective. I imagine it's great for development purposes, though.

For the KA mod I'm going to use a halfway-between approach. Rather than always including whole files for replacement this time, some files will get extracted and then patched to become newly updated files. (For the purpose of reducing download size, mainly. If I can get it to work as intended, that is.)
tronrose
Registered users
Registered users
Posts: 61
Joined: Mon Sep 21, 2009 8:38 am
Do you own a copy of Tron 2.0?: Yes
What is your favorite Tron character color?: Blue
What type of multiplayer do you like to play?: Disc Arena

Re: Obsolete REZ files

Post by tronrose »

I guess Monolith's patch system goes for every game they make such as NOLF and Fear?

So, the "patch" REZ files, that... say are not loaded by default(Like they are update rez files), then gamep5 and 6 can be combined into one? Or does the engine actually look for "gamep5.rez" and "gamep6.rez"? If so, then the command line string text file and the registry shouldn't be necessary. If it is then it does nothing more than help FAQ's opinion of Monolith's patch system.
User avatar
xistence
[LDSO] Site Admin
[LDSO] Site Admin
Posts: 848
Joined: Tue Jan 11, 2005 12:56 am
Location: Germany
Contact:

Re: Obsolete REZ files

Post by xistence »

The engine does look for the REZ-Files, this is set in two different locations: the registry and a TXT-File containing the same order. The weird point is, that the TXT is writen each time before the engine is started, and filled with the information from the registry. Don't ask me why they don't just access the registry directly, it is as it is.
For sure, as long you modify the registry order, you can have an influence which REZ's should be loaded or not, might it be a patch or a customized REZ. So if you pack the content of several REZ-Files into one, and you adapt this new order in the registry, things will go on.
According to your question that means: no the engine is not looking in a way that it just use a 'counter', the names can be whatever you like. The order is set in the registry so this is need. And the engine uses the TXT anyway, so this is needed as well. And yes, this system is used in any other games using this jupiter-engine, so at least in NOLF2, Tron2.0, Contract Jack and some others.
ldso:// - Living Dead System Operators
[2.0PD] - 2.0 Program Developers
blog
Image
User avatar
TronFAQ
[LDSO] Member
[LDSO] Member
Posts: 3021
Joined: Tue Jan 11, 2005 12:50 am
Do you own a copy of Tron 2.0?: Yes
What is your favorite Tron character color?: Cyan
What type of multiplayer do you like to play?: Deathmatch
Location: Ontario, Canada
Contact:

Re: Obsolete REZ files

Post by TronFAQ »

tronrose wrote:I guess Monolith's patch system goes for every game they make such as NOLF and Fear?
It was an identical system for all their games up until FEAR. Then they overhauled the engine (renaming it from Jupiter to Jupiter EX), and they likely have changed the process somewhat.

When it comes to what files the game looks for and how the process works, it's more or less done in two steps.

The launcher expects certain files to always be there. They're hard-coded into the executable. But in case of any updates, it goes looking for them in the registry. Then the launcher dumps out the list of .REZ files the game executable should load (the hard-coded ones, plus the ones it finds in the registry) into a text file. The game then reads the text file and loads what's listed there.

The order the updates are listed in the registry is the order they're loaded into the game after the hard-coded files. The latest file to be listed is the latest to be loaded, and it overrides all previous ones if it contains updated content.

How many update .REZ files there are, what they contain, and what they're named, is pretty arbitrary. But fewer files is better, because it means you can load more of your own custom ones.

It's not exactly an elegant system.
tronrose
Registered users
Registered users
Posts: 61
Joined: Mon Sep 21, 2009 8:38 am
Do you own a copy of Tron 2.0?: Yes
What is your favorite Tron character color?: Blue
What type of multiplayer do you like to play?: Disc Arena

Re: Obsolete REZ files

Post by tronrose »

Okay, that clears things up for me. I guess when you're on a budget and work for a game is not truly "dedicated", things like this happen.

Thanks for posting, guys!
Post Reply