The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
Legacy:Deus Ex/Class Changes
- 1 About this Page
- 2 Analysis Process
- 3 Similar Classes
- 4 Class Difference Outline
- 5 UT Packages/Folders not in Deus Ex
- 6 DX Packages/Folders not in UT
- 7 Specific changes to classes in existing packages
- 8 Discussion/Comments
About this Page
This page will attempt to describe those differences.
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.
/** hour */ var(_Current Time)transient int Hour;
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.
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.
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
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
- BrushBuilder (DX)
- 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
- 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()
- 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.UdpBeacon (DX)]]
- IpServer.UdpServerQuery (DX)]]
- IpServer.UdpServerUplink (DX)]]
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.