The Forum is up for sale: XeNTaX Forum looking for new owner

Unreal 1998 beta (PC) .u [oldunreal.com beat me to it]

Read or post about compression. And decompression. Or ask questions how to decompress your files.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: Unreal 1998 beta (PC) .u

Post by Darkfox »

As for some beta UnrealI *.uc files (import parts)

Code: Select all

//=============================================================================
// PeaceBarrel.
//=============================================================================
class PeaceBarrel expands Projectile;

#exec MESH IMPORT MESH=peace ANIVFILE=MODELS\peace_a.3D DATAFILE=MODELS\peace_d.3D X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=peace X=0 Y=0 Z=0 YAW=-64 ROLL=0 PITCH=0
#exec MESH SEQUENCE MESH=peace SEQ=All       STARTFRAME=0   NUMFRAMES=33
#exec MESH SEQUENCE MESH=peace SEQ=UnFold    STARTFRAME=0   NUMFRAMES=29
#exec MESH SEQUENCE MESH=peace SEQ=Launch1   STARTFRAME=29  NUMFRAMES=1
#exec MESH SEQUENCE MESH=peace SEQ=Launch2   STARTFRAME=30  NUMFRAMES=1
#exec MESH SEQUENCE MESH=peace SEQ=Launch3   STARTFRAME=31  NUMFRAMES=1
#exec MESH SEQUENCE MESH=peace SEQ=Launch4   STARTFRAME=32  NUMFRAMES=1
#exec TEXTURE IMPORT NAME=Jpeace1 FILE=MODELS\peaceg.PCX
#exec MESHMAP SCALE MESHMAP=peace  X=0.08 Y=0.08 Z=0.16
#exec MESHMAP SETTEXTURE MESHMAP=peace NUM=1 TEXTURE=Jpeace1

Code: Select all

//=============================================================================
// Chameleon.
//=============================================================================
class Chameleon expands Pawn;

#exec MESH IMPORT MESH=ChameleonM ANIVFILE=MODELS\chamel_a.3D DATAFILE=MODELS\chamel_d.3D ZEROTEX=1
#exec MESH ORIGIN MESH=ChameleonM X=20 Y=-230 Z=40 YAW=64 ROLL=-64

#exec MESH SEQUENCE MESH=ChameleonM SEQ=All       STARTFRAME=0   NUMFRAMES=173
#exec MESH SEQUENCE MESH=ChameleonM SEQ=Crawl     STARTFRAME=0   NUMFRAMES=20
#exec MESH SEQUENCE MESH=ChameleonM SEQ=Dead1     STARTFRAME=20  NUMFRAMES=41
#exec MESH SEQUENCE MESH=ChameleonM SEQ=TakeHit   STARTFRAME=20  NUMFRAMES=1
#exec MESH SEQUENCE MESH=ChameleonM SEQ=Glide     STARTFRAME=61  NUMFRAMES=1
#exec MESH SEQUENCE MESH=ChameleonM SEQ=Hide      STARTFRAME=62  NUMFRAMES=30
#exec MESH SEQUENCE MESH=ChameleonM SEQ=Wait      STARTFRAME=92  NUMFRAMES=30
#exec MESH SEQUENCE MESH=ChameleonM SEQ=Land      STARTFRAME=122 NUMFRAMES=1
#exec MESH SEQUENCE MESH=ChameleonM SEQ=Run       STARTFRAME=123 NUMFRAMES=20
#exec MESH SEQUENCE MESH=ChameleonM SEQ=Walk      STARTFRAME=143 NUMFRAMES=30

#exec MESHMAP SCALE MESHMAP=ChameleonM X=0.032 Y=0.032 Z=0.064
#exec TEXTURE IMPORT NAME=Cham2 FILE=Models\CameLion2.PCX GROUP="Skins"
#exec MESHMAP SETTEXTURE MESHMAP=ChameleonM NUM=0 TEXTURE=Cham2 

Code: Select all

//=============================================================================
// Peacemaker.
//=============================================================================
class Peacemaker expands Weapon;

#exec MESH IMPORT MESH=peacehand ANIVFILE=MODELS\phand_a.3D DATAFILE=MODELS\phand_d.3D X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=peacehand X=0 Y=0 Z=0 YAW=-64 ROLL=0 PITCH=0
#exec MESH SEQUENCE MESH=peacehand SEQ=All       STARTFRAME=0   NUMFRAMES=54
#exec MESH SEQUENCE MESH=peacehand SEQ=Select    STARTFRAME=0   NUMFRAMES=20
#exec MESH SEQUENCE MESH=peacehand SEQ=Still     STARTFRAME=20  NUMFRAMES=1
#exec MESH SEQUENCE MESH=peacehand SEQ=Down      STARTFRAME=21  NUMFRAMES=12
#exec MESH SEQUENCE MESH=peacehand SEQ=Throw     STARTFRAME=33  NUMFRAMES=10
#exec MESH SEQUENCE MESH=peacehand SEQ=Count     STARTFRAME=43  NUMFRAMES=11
#exec TEXTURE IMPORT NAME=Jpeacehand1 FILE=MODELS\peaceh.PCX GROUP=Skins
#exec MESHMAP SCALE MESHMAP=peacehand  X=0.005 Y=0.005 Z=0.01
#exec MESHMAP SETTEXTURE MESHMAP=peacehand NUM=1 TEXTURE=Jpeacehand1

#exec MESH IMPORT MESH=peacepick ANIVFILE=MODELS\peacpi_a.3D DATAFILE=MODELS\phand_d.3D X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=peacepick X=0 Y=0 Z=10 YAW=-64 ROLL=0 PITCH=0
#exec MESH SEQUENCE MESH=peacepick SEQ=All       STARTFRAME=0   NUMFRAMES=1
#exec MESH SEQUENCE MESH=peacepick SEQ=Still     STARTFRAME=0   NUMFRAMES=1
#exec TEXTURE IMPORT NAME=Jpeacehand1 FILE=MODELS\peaceh.PCX GROUP=Skins
#exec MESHMAP SCALE MESHMAP=peacepick  X=0.08 Y=0.08 Z=0.16
#exec MESHMAP SETTEXTURE MESHMAP=peacepick NUM=1 TEXTURE=Jpeacehand1

Code: Select all

//=============================================================================
// hawk.
//=============================================================================
class Hawk expands ScriptedPawn;

#exec MESH IMPORT MESH=Hawk ANIVFILE=MODELS\hawk_a.3D DATAFILE=MODELS\hawk_d.3D X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=Hawk X=0 Y=0 Z=0 YAW=64

#exec MESH SEQUENCE MESH=Hawk SEQ=All    STARTFRAME=0   NUMFRAMES=1
#exec MESH SEQUENCE MESH=Hawk SEQ=Still  STARTFRAME=0   NUMFRAMES=1

#exec TEXTURE IMPORT NAME=JHawk1 FILE=MODELS\hawk.PCX GROUP=Skins FLAGS=2
#exec MESHMAP SCALE MESHMAP=hawk X=0.1 Y=0.1 Z=0.2
#exec MESHMAP SETTEXTURE MESHMAP=hawk NUM=1 TEXTURE=Jhawk1

Code: Select all

//=============================================================================
// MiniGunSentry.
//=============================================================================
class MiniGunSentry expands Pickup;

#exec MESH IMPORT MESH=Sentry ANIVFILE=MODELS\sentry_a.3D DATAFILE=MODELS\sentry_d.3D X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=Sentry X=-90 Y=90 Z=-80 YAW=64
#exec MESH SEQUENCE MESH=Sentry SEQ=All    STARTFRAME=0  NUMFRAMES=46
#exec MESH SEQUENCE MESH=Sentry SEQ=Up     STARTFRAME=0  NUMFRAMES=5
#exec MESH SEQUENCE MESH=Sentry SEQ=Still  STARTFRAME=5  NUMFRAMES=1
#exec MESH SEQUENCE MESH=Sentry SEQ=WarmUp STARTFRAME=6  NUMFRAMES=14
#exec MESH SEQUENCE MESH=Sentry SEQ=Fire   STARTFRAME=20 NUMFRAMES=4
#exec MESH SEQUENCE MESH=Sentry SEQ=Down   STARTFRAME=24  NUMFRAMES=21
#exec TEXTURE IMPORT NAME=Ainv1 FILE=MODELS\sentry.PCX GROUP="Skins"
#exec MESHMAP SCALE MESHMAP=Sentry X=0.06 Y=0.06 Z=0.12
#exec MESHMAP SETTEXTURE MESHMAP=Sentry NUM=1 TEXTURE=Ainv1

#exec MESH NOTIFY MESH=Sentry SEQ=Fire TIME=0.3 FUNCTION=GenerateBullet
#exec MESH NOTIFY MESH=Sentry SEQ=Fire TIME=0.8 FUNCTION=GenerateBullet
The beta U1 *.u files and the final *.u files should still contain a file index table. That is, tell where each file is and identify them. As to what they are and where they are at. Even for the beta *.u files this rule must be followed for the beta Unreal to locate each file and make the proper display of the data. This means that it may not be neccesary to run a hex rip of the files but identify the way it locates files. Making exporting the data easier. :)
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: Unreal 1998 beta (PC) .u

Post by Darkfox »

There's definitely a structure to it but each .U file uses different headers for formats. It must be defined somewhere. But I'll give a bit of help here.

This link is to an archive containing decompiled LODMeshes and the raw extractions from the .u file (compiled). Note that for each package the header data is different even though it's the same version of Unreal but also note what is the same. Each raw mesh ends with 9A 99 99 3E then nine pairs of 0. This is specific to LODMeshes of Unreal (not in the beta so much, though some finds were made).

http://www.sendspace.com/file/8q1llg
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: Unreal 1998 beta (PC) .u [complete]

Post by Darkfox »

Nevermind this, http://oldunreal.com/ has already cracked it and included the beta stuff in their latest patch except the stuff that I got which makes it complete.
Post Reply