Page 1 of 1

Clearing up file types

Posted: Fri Aug 27, 2010 8:02 pm
by joel96
The file structure of Unreal Gold/Unreal anthology is confusing to a n00b since there are multiple files with the same name but different extensions, so here's my idea of what each one is or does. Unreal.exe is the boot strap for starting up the game, and is what starts up the main engines. The Unreal engines have a .u extension; the original ones include but are not limited to UnrealI.u, Ubrowser.u, Engine.u, and UMenu.u. The "I" in UnrealI.u probably stands for "Integrity," which is the same thing that .int stands for. The engine is then modified by mutator files ending with .int like Unreal.int and UnrealI.int (I don't know what the difference between these two is). The .int files and .u files are then configured by a small .ini file. Unreal.log logs in-game configuration changes and other events.

Until the release of RTNP, Unreal classic did not contain UPak.dll. The whole point of this file is to bind RTNP to Unreal Classic, to prevent end users from being able to play RTNP independently of Unreal 1. There are .u and .int files for RTNP, these are called UPak files, probably because it is an expansion pack to Unreal. Since it is just an expansion pack, albeit with its own additional code and mutators, it does not have a .ini configuration file or a .exe application boot shortcut. There is an actual file folder called UPak, and it contains the RTNP maps. Unreal maps end with the extension .unr; within the maps folder is a file called UPack.unr. Notice the "c" in there--it isn't UPak, it is UPack. I have no idea what this map file does, unless it serves as some kind of hub to other maps.

The 227f patch only works with the classic Unreal engine (UnrealI.u I think), code, and mutators because patches must be written for each set of code. Thus, UPak.u requires a separate patch from UnrealI.u. The last patch that was written to work with UPak.u was 225. The UPak files can be modified to be compatible with patches--I think the way they do this is by putting code closely in line with the original Unreal engine, or possibly by process of bug elimination due to incompatibility. There is in fact a version of UPak.u that has been modified in this way, but I don't know where to find it. 227g will actually be two different patches, one optimized for compatibility with the classic and the expansion pack.

Re: Clearing up file types

Posted: Fri Aug 27, 2010 9:03 pm
by スマイル・ドラゴン
"I" stands for "1" in my opinion... The reason why "UnrealShare" exists is probably due to the fact they planned to release a shareware game, and if you want the full version, you simply install UnrealI after that, kinda like how Quake 1 worked.

In the retail unpatched Unreal 1 game, there's only a "UnrealI" file, no UnrealShare.

.INT is "International" localization files, which basically in general refers to English, United States\United Kingdom\Canada.

Re: Clearing up file types

Posted: Fri Aug 27, 2010 9:51 pm
by Pravin
The file structure of Unreal Gold/Unreal anthology is confusing to a n00b since there are multiple files with the same name but different extensions, so here's my idea of what each one is or does. Unreal.exe is the boot strap for starting up the game, and is what starts up the main engines. The Unreal engines have a .u extension; the original ones include but are not limited to UnrealI.u, Ubrowser.u, Engine.u, and UMenu.u. The "I" in UnrealI.u probably stands for "Integrity," which is the same thing that .int stands for. The engine is then modified by mutator files ending with .int like Unreal.int and UnrealI.int (I don't know what the difference between these two is). The .int files and .u files are then configured by a small .ini file. Unreal.log logs in-game configuration changes and other events.

Until the release of RTNP, Unreal classic did not contain UPak.dll. The whole point of this file is to bind RTNP to Unreal Classic, to prevent end users from being able to play RTNP independently of Unreal 1. There are .u and .int files for RTNP, these are called UPak files, probably because it is an expansion pack to Unreal. Since it is just an expansion pack, albeit with its own additional code and mutators, it does not have a .ini configuration file or a .exe application boot shortcut. There is an actual file folder called UPak, and it contains the RTNP maps. Unreal maps end with the extension .unr; within the maps folder is a file called UPack.unr. Notice the "c" in there--it isn't UPak, it is UPack. I have no idea what this map file does, unless it serves as some kind of hub to other maps.

The 227f patch only works with the classic Unreal engine (UnrealI.u I think), code, and mutators because patches must be written for each set of code. Thus, UPak.u requires a separate patch from UnrealI.u. The last patch that was written to work with UPak.u was 225. The UPak files can be modified to be compatible with patches--I think the way they do this is by putting code closely in line with the original Unreal engine, or possibly by process of bug elimination due to incompatibility. There is in fact a version of UPak.u that has been modified in this way, but I don't know where to find it. 227g will actually be two different patches, one optimized for compatibility with the classic and the expansion pack.
Okay, I've seen enough. What the hell is this shit? I can't tell if the person posting this is a bot or not.
Most of the "facts" you've listed here are complete lies. UnrealI is Unreal 1, I is the roman numeral for "1". UnrealShare is called Share because the initial idea was for that package to be freely usable by other Unreal 1 licensees. Int files are localization files, "int" standing for "international." Unreal.log does NOT by default log any config changes or anything like that, just random shit that's explicitly told to log to it, including, but not limited to, networking, bootup, in-game chat, and whatever. By default, if you change a variable (with set or whatever), unreal.log will say nothing of the change. Also, the last patch to provide compatibility with UPak was... 225?! What?? Don't you mean 226b? What was the point of this topic, anyways? Just to blather on about some Unreal naming conventions you have no idea about? This reminds me of some useless drivel I've seen on wikipedia.

Re: Clearing up file types

Posted: Fri Aug 27, 2010 11:11 pm
by GreatEmerald
Pcube, you're totally missing the first sentence of the post: "The file structure of Unreal Gold/Unreal anthology is confusing to a n00b since there are multiple files with the same name but different extensions, so here's my idea of what each one is or does."
He does not know, thus he is asking for help.

So, in addition to what has already been said:
*.u files are Unreal Packages. They can contain every type of files - sounds, textures, code, meshes etc.
*.dll files are Dynamic Link Library files that are used by the native engine of Unreal. They contain the binary code of Unreal, compiled from the C++ source.
*.int files are localisation files, "int" standing for "international English". In Unreal, Int files also back as configuration files (only the "[Public]" section); in later games that functionality will be moved to other file types such as UPL.
*.ini files are configuration files. They are basically lists of property names and values which you can change.
*.unr are in fact Unreal maps. Other games use other names to show that the maps are not compatible with other games, for example, .ut2 are UT2003/UT2004 maps and .un2 are Unreal II maps.
Other files are named with special naming conventions.
*.u*x - Specialised Unreal packages. The middle letter shows the type of the package. T is for Texture (.utx), M is for Music (.umx), A for Audio or Sounds (.uax). In later games there are also S for Static Meshes (.usx) and K for SKeletal meshes (.ukx).
*.**t - other language localisation files. The first two letters are chosen by the ISO 3166-1 Alpha-2 specification, so .frt is French localisation, .det is German localisation etc. .ltt would be Lithuanian localisation.

UnrealShare holds half of Unreal content (like it was mentioned, that's because it was planned as a shareware version or for use for licensees), UnrealI hold the second half. Each .u package has associated .int files for localisation.

UPak.dll is like other DLLs - it contains native C++ code. Only Smirftsch knows what it does. UPak is called UPak because it is, as you said, Unreal Expansion Pack. Mutators written for Return to Na Pali (RTNP) are not necessarily incompatible with Unreal. If they use content from UPak.u, then yes; otherwise, it works just fine in normal Unreal. The UPak folder in the Maps section is not really required - the developers somehow just felt the need to separate RTNP maps from Unreal maps. You will see in your Unreal.ini that there is a line Paths=../Maps/UPak/*.unr - this line tells the Unreal Engine to look into the UPak folder for the UPak maps. UPack.unr is the intro castle map for RTNP if I remember it correctly. It has the 'c' for the same reason Vortex2.unr has the '2', and the same reason why you should never name two packages the same way - the Unreal Engine doesn't care about extensions, it takes only the name, so if there were two resources named UPak, the engine would get confused and would refuse to load the map.

227f doesn't work with UPak yet because you need to update UPak.dll with 227-compatible code. So far 227 didn't work with it since it both makes sense to finish the Unreal version so the devs wouldn't have to do twice the work maintaining two patches at the same time, and because earlier on there were legal issues about that.
Two patches will be there because some have the expansion pack and some don't. Including UPak.dll with the patch for Unreal only clients would be useless to them since they don't have the U file to begin with and it's also against Epic Games policies.