| Home Page | Recent Changes | Preferences

Deus Ex/Class Changes

About this Page

Deus Ex was built with a modified version of the Unreal Tournament engine. Modifications included changes to the base classes as well as new classes to support the game.

This page will attempt to describe those differences.

Analysis Process

Generally, go through and comment the class files so UncodeX can use the Class Wikifier add-in.

UncodeX comments have to be surrounded with /** */, and above the thing they're describing.

Many classes separate members into "sections" with horizontal bars in the comments. UncodeX orders everything alphabetically by section, so this is lost. For these, I change the declaration as if exposing the value to UnrealED, but with a prefix so I know that it's really not.

Like this:

/** hour */
var(_Current Time)transient int   Hour;

I use BeyondCompare to find "interesting" classes and members. That is, things that don't behave the way Unreal Tournament does, or things new to Deus Ex.

For now, I'm just commenting everything - I don't know enough about UT to do triage. I'll weed out the obvious stuff later.

Similar Classes

Some classes have differences that aren't important, like spacing, precision of default variables, etc. The differences may be significant if you're using UnrealED 2.0 for Deus Ex, but I'm not sure.

Here they are:

AmbientSound, Ambushpoint, Camera, Carcass, Counter, Dispatcher, HomeBase, Keypoint, LiftCenter, Light, MusicEvent, PathNode

Class Difference Outline

Here are all the classes that are somehow different from UT. This could mean:

  • Stuff added to Deus Ex,
  • Stuff added to UT after Ion Storm started messing with the engine
  • Stuff Ion Storm took out for Deus Ex.

It's hard to tell the difference, since we don't have the same version of the code Ion Storm started with.

All comparisons are to Unreal Tournament build 437

Common to all Packages

Changes in Unreal Tournament

  • Many float? defaultproperties are given to six digits of precision in Unreal Tournament, two in Deus Ex.
  • Textures and other resources tend to be referenced by their package name. In Deus Ex, just the resource name is given most of the time.
  • Several defaultproperties that are raw numbers in Deus Ex are Enums in Unreal Tournament.
    • FixMe? Can you give default values for enums as the enum name instead of a number in Deus Ex? Note: try this
    • Some changes in the classes suggest that axis directions are different in Unreal Tournament. Can anyone confirm this?

T1: Note, I think these changes are just changes in the Deus Ex version of UCC, or laziness on the part of the programmer.

UT Packages/Folders not in Deus Ex

  • Botpack
  • Logs
  • NetGamesUSA.com
  • UMenu
  • UnrealShare
  • UTBrowser
  • UTMenu
  • UTServerAdmin
  • UWeb
  • Web

DX Packages/Folders not in UT

  • ConSys - Conversation system
  • ConvEdit - Conversation system
  • DeusEx - actual gameplay code
  • DeusExCharacters - no code, just import execs.
  • DeusExConversations - no code, just import execs.
  • DeusExConText - no code, just importated text from ConEdit
  • DeusExDeco - no code, just import execs.
  • DeusExItems - no code, just import execs.
  • DeusExSounds - no code, just import execs.
  • DeusExText - no code, just import execs.
  • DeusExUI - no code, just import execs.
  • Extension - contains code for UI, input system, several other things.
  • MPCharacters - no code, just import execs.

Specific changes to classes in existing packages

Core package

Editor package

Engine package

  • Actor (DX)
  • Ammo (DX)
  • Bitmap (DX)
  • [Brush (DX)]?
  • [Canvas (DX)]?
    • DX uses a "FontFactory" to import the large font, UT just uses a regular #exec function?
  • Console (DX)
  • Decal (DX)
  • Decoration (DX)
  • Fragment (DX)
  • GameInfo (DX)
  • [GameReplicationInfo (DX)]?
    • replication section changed
  • [HUD (DX)]?
    • no ProcessKeyEvent() function in DX
  • [InterpolationPoint (DX)]?
    • function InterpolateEnd() changed
  • Inventory (DX)
    • Lots of new stuff
  • LevelInfo (DX)
  • [MapList (DX)]?
    • Maps() and MapNum() properties are globalconfig in DX, config in UT
  • [Mover (DX)]?
    • function FinishedClosing() uses different PlaySound() function in DX'
    • so does FinishedOpening()
    • and DoOpen()
    • and DoClose()
    • function EncroachingOn() changed
    • state TriggerToggle() has new features in DX
  • [Mutator (DX)]?
    • DX has much less in here than UT. Nothing new.
  • [NavigationPoint (DX)]?
    • two new properties in UT
    • default CollisionRadius smaller in DX, unles using different metrics
  • [PatrolPoint (DX)]?
    • DX has bugfix in PreBeginPlay()
  • Pawn (DX)
  • [Pickup (DX)]?
  • [Player (DX)]?
  • [PlayerPawn (DX)]?
  • [PlayerReplicationInfo (DX)]?
  • [PlayerStart (DX)]?
  • [Projectile (DX)]?
  • [RenderIterator (DX)]?
  • [ScaledSprite (DX)]?
  • [Scout (DX)]?
  • [SkyZoneInfo (DX)]?
  • [SpawnNotify (DX)]?
  • [SpecialEvent (DX)]?
  • [Spectator (DX)]?
  • [Spotlight (DX)]?
  • [StatLog (DX)]?
  • [Teleporter (DX)]?
  • [TestInfo (DX)]?
  • [Texture (DX)]?
  • [Trigger (DX)]?
  • [TriggerLight (DX)]?
  • [Triggers (DX)]?
  • [VoicePack (DX)]?
  • [WarpZoneMarker (DX)]?
  • [WayBeacon (DX)]?
  • [Weapon (DX)]?
  • [ZoneInfo (DX)]?

IpDrv package

  • IpDrv.UdpBeacon (DX)]]

IpServer package

  • IpServer.UdpServerQuery (DX)]]
  • IpServer.UdpServerUplink (DX)]]

Discussion/Comments

Xhiris: I've changed my process for several reasons. For now, I'm ignoring any differences between UT and Deus Ex, since modders are more likely to work within DX than try to port things over to-from UT. For now, I'm going through and commenting up the class files to let UncodeX work with them. When that's done, I'll go back through each one andpretty it up, adding info specific to DX where needed.

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In