Unreal Wiki
Advertisement
Meta article
The following is a meta-article, which explains a concept which usually falls out of one of the wiki's categorizations, yet it's still important to explain something.

Here's the changelog of the different versions of Unreal Tournament.

Contents

Patch ver. 402[]

Release date: December 9, 1999[1]

Known issues[]

If you are using D3D and Unreal Tournament did not automatically detect D3D when you first installed (so you had to manually select it), you should change your video driver to D3D again after installing this patch. This will allow Unreal Tournament to optimize its settings for your video card. To reset your D3D driver, go to the Options->Preferences menu and select the Video tab. Then click on the change driver button to re-select D3D.

Bug fixes[]

- D3D detection works properly.
- removed log warnings for players ghosting out of the level
- fixed saving last start spot for players
- timemessage sounds play correctly if viewing another player
- don't allow spaces in names when using console name or setname commands
- suicide can now end overtime of tied game
- fixed stuck animation if killed while coming out of feign death
- no connect time on team scoreboards in single player
- attach decals in post begin play when zone is properly set
- fixed player sounds appearing to change location when using 3d sound
- turn fog off by default for D3D - was causing texture thrashing w/ D3D drivers
- fixed CTF-coret alternate path problems
- fixed guided warhead blowing up if no client response with 300 msec after spawning
- players can no longer switch to illegal team if server is full and force team balance set
- fixed bots not always playing take hit sounds
- don't kill spectators in the pressure chamber!!!

Server performance improvements[]

- Don't replicate actor properties of GameReplicationInfo
- Don't replicate actor properties of ZoneInfo
- Less frequent visibility checks for currently relevant actors
- don't keep checking visibility of optional effects
- less frequent checks for temporary actors after 0.2 seconds
- reduced playerreplicationinfo update frequency from 5/sec to 4/sec
- inventory class-specific scripted replication only done if bNetOwner
- native replication for weapon, pickup, levelinfo, and ammo classes
- don't spawn decals on dedicated server
- don't spawn non-replicated effects actors on dedicated server
- sort static actors so can ignore non-replicated static actors when testing for replication

New features[]

- added flesh hit sound to bullets
- automatic path builder (documented in updated UT_AI.htm)
- postnetbeginplay() called for actors spawned on network clients
- Pawns use PostNetBeginPlay() to make sure they have a valid skin and mesh
- improved D3D texture pool allocation when world and actor texture detail is medium
- Pawns add momentum to velocity after effects of damage mutator
- Optional package downloading implemented. 

Patch ver. 405b[]

Release date: January 11, 2000[2]

Known issues[]

If you are using D3D and Unreal Tournament did not automatically detect D3D when you first installed (so you had to manually select it), you should change your video driver to D3D again after installing this patch. This will allow Unreal Tournament to optimize its settings for your video card. To reset your D3D driver, go to the Options->Preferences menu and select the Video tab. Then click on the change driver button to re-select D3D.

Bug fixes[]

- destroy the "winch", not the "wench" in AS-Rook description :)
- fixed problem with landing bob damping on slow systems with high time dilations
- fixed problem where client health gets set to zero (health was still correct on the server)
- fixed spectators drowning in water outside of galleon
- fixed problem with one of the 402 server optimizations causing pickups to be shown when they should be hidden if high packet loss
- fixed fog rendering in software
- fixed assertion line 714 network crash on slow connections
- fixed PlayerReplicationInfos losing owner on client - symptom was teammate health not correctly shown on team huds
- fixed bad poly on Ripper weapon model
- fixed flag not dropped if killed by team cannon in CTF games
- fixed server browser changing highlighted server bug
- fixed gold players showing up in CTF
- added BossSkins.int
- fixed clients hearing ambient sound on dropped weapons in some cases
- fixed picking up additional shieldbelt screwed up armor total if also had other armor types
- fixed teamtriggers
- fixed deathsounds and hit sounds from other players not being heard in net games
- fixed demo playback crash 

New features[]

- much louder warhead explosion
- don't allow Turbo mode with assault
- bigger blood cloud when gibbed
- Menu and text formatting changes to support Japanese text
- Added "AddIni" command for umods to add lines to ini files
- Changed occurances of class'DeathMatchMessage' to DMMessageClass. Allows mod authors to use their own DMMessageClass in all situations.
- Made ngWorldSecret a private variable. So you can't read it from GetPropertyText anymore.
- Added CRT's query packet send improvements. Should improve grabbing server lists from master server.
- Added ProcessKeyEvent to HUD. Allows mod authors to work with key input directly.
- Moved hardcoded SPRITE_PROJECTION_FORWARD from UnSprite.cpp to Actor property SpriteProjForward.
- Set Actor's default SpriteProjForward to 32.0
- Checked in RegisterHUDMutator functions in Mutator. Allows mod authors to make mutators that self register as HUD mutators.
- Integrated Enhanced Actor Rendering Interface. Allows programmers to render actors in just about any way they can think of.
- Enabled RCI. (Except ClearScreen and RecomputeLighting) Allows programmers more control over what's rendered from a player's point of view. Search for Render Control Interface in headers for information.
- F4 brings the server browser up.

Performance Improvements[]

- downloads from server are now rate controlled
- Servers can deny auto-downloading of content by setting AllowDownLoads=false in the [IpDrv.TcpNetDriver] section of the Unrealtournament.ini file.
- reduced how long carcasses hang around on servers
- Improved bit packing for network packets (server performance improvement)
- Ability to turn fractal texture animation off
- Admins can control downloading of packages from their server by editing the [IpDrv.TcpNetDriver] section of unrealtournament.ini

NoFractalAnim notes[]

Added the NoFractalAnim switch. When true, fractal textures are never updated and the texture's bRealTime is set to false. This takes effect at a package's loading/init time, so you'll have to restart a level to see it take effect.

The NoFractalAnim variable sits at the [WinDrv.WindowsClient] section in the .ini files, and under 'display' in the advanced options.

It's meant for troubleshooting texture generation crashes as well as a speedup tweak for those cards that slow down too much with per-frame texture uploads.

Try it if you see the "anomalous singularity" error message."

Package download notes[]

Admins can control downloading of packages from their server by editing the [IpDrv.TcpNetDriver] section of unrealtournament.ini:

[IpDrv.TcpNetDriver]
AllowDownloads=True
MaxDownloadSize=0

AllowDownloads disables all autodownloads. MaxDownloadSize=0 means allow autodownload of any sized file. Otherwise the value is in BYTES. We recommend that rather than disabling all downloads, you set the MaxDownload size to an appropriate value. For example, MaxDownloadSize=100000 will allow mutators and other small packages to be downloaded, but will not allow large files such as maps to be downloaded. Turning off all downloads may make it hard for clients to get on your server if you are using a lot of custom maps, mutators or other custom packages.

Patch ver. 413[]

Release date: March 27, 2000 (PC) April 16, 2000 (Linux)[3]

Version 413 is completely network compatible with all previous public releases of UT (versions 400, 402, and 405b).

Known issues[]

If you are using D3D and Unreal Tournament did not automatically detect D3D when you first installed (so you had to manually select it), you should change your video driver to D3D again after installing this patch. This will allow Unreal Tournament to optimize its settings for your video card. To reset your D3D driver, go to the Options->Preferences menu and select the Video tab. Then click on the change driver button to re-select D3D.

We have seen an instance of a GeForce 256 displaying many world polygons flashing and flickering. If this happens for you, press TAB type "preferences" to bring up the advanced options menu. Then set UseVideoMemoryVB to True in the Direct3D Render Device options.

Bug fixes[]

- Fixed occasional green skins on players.
- Eliminated most common cause of crashing on startup for GeForces in D3D mode.
- fixed slow client occasional assertion in UnChan.cpp (last part of the problem that first showed up in 402)
- fixed clients continuing to get data from servers after disconnecting
- fixed problem causing !Bunch->IsError() assertion which was causing some server crashes
- fixed last man standing late entry cheat
- fixed head gib not replicated on headshot in network play
- fixed die at start of feign death and can't respawn in network game
- The detail textures now work correctly in D3D and are reasonably fast (still disabled by default)
- Eliminated squares showing around decals and other modulated textures in 16-bit mode D3D.
- fixed death message when killed in pressure chamber
- fixed keyboard key sticking problem (thanks Chris Norden from Ion Storm/Deus Ex)
- fixed actors getting beginplay events twice if spawned while level is being brought up
- Custom crosshairs > 9 now show up.
- Fixed speech menu bug with mouse staying active.
- Fixed speech menu text positions.
- Fixed bug in bot Assault AI for dealing with team cannons

New features (Gameplay)[]

- D3D uses vertex buffers for all drawing operations - gives overall performance boost.
- Can now use number and arrow keys to navigate voice menu
- Random bots picks from all 32 (not first 16) - including the specially configured ones
- Can summon specific bots: 'AddBotNamed Alarik' adds the bot with the name Alarik (if he's in the list of configured bots)
- Now shows waiting players on team scoreboards before start of game (players who aren't ready are greyed out)
- Improved bot AI about triggering pressure zone when player is in it
- Changed xDSL and cable modem clientspeed to 10000 (and added separate category in netspeed selection)
- No longer need to type 'iamtheone' for cheats in single player
- Demos can now play looping - demoplay demofile?loop
- Turbo/hardcore mode is now shown in UBrowser for team games

New features (for Mod Authors)[]

- Unreal monsters will now fight UT bots
- Fixed Mutator RegisterHUDMutator() - only sets bHUDMutator if successful registration
- Added a call in DeathMatchPlus.RestartGame() to allow mutators to modify the map progression (or change what mutators, etc. are loaded for each map)
- Added a call in Pawn.Died() to allow mutators to prevent deaths
- Added a call in GameInfo.EndGame() to allow mutators to modify the game ending conditions
- Added a call in GameInfo.Login() to allow mutators to modify the spawnclass, and login options
- Added a call in GameInfo.PickupQuery() to allow mutators to modify whether inventory items get picked up
- F3 brings up objectives menu for subclasses of Assault.
- Call voicepack in player setup menu rather than just playing voice to allow effects to be heard in setup menu.
- AttachDecal() now returns the texture the decal was attached to
- UTExtraKeyBindings class to allow modmakers to add to Customize Controls menu
- Mod menu organization - mod menu class is adjustable with [UMenu.UMenuMenuBar] ModMenuClass
- manifest.ini correctly reports version number so mods can require UT version beyond 400 for installation
- Mod authors can add UBrowser tabs, see http://unreal.epicgames.com/files/SampleUBrowserPage.zip for an example of how to set this up
- "stat anim" command displays a list of all visible animating actors with the names of their animations and current frame positions, shows the animation modes - lerping, static, looping back, tweening, and gives individual cpu time and poly count stats. This should be really useful for debugging and tweaking complex model animation repertoires.

New features (for Servers)[]

- Support for server only download version
- Servers can adjust the minimum compatible version number reported to clients using: [IpServer.UdpServerQuery] MinNetVer=405.  This can be used to prevent older clients from seeing your server if you are running a mod which requires a UT version newer than 400.
- ngWorldStats version 1.5.5 is included in the patch.
- The UT server now queries ngWorldStats log batcher to determine if it is correctly processing stats logs.   413 servers report this information to UBrowser, and shows both whether ngWorldStats is enabled on the server, and whether it is actually working correctly.
- Server admins can now redirect auto-downloads to a remote HTTP (WWW) server.  Custom content such as maps, skins and texture packages can be stored on the remote website either uncompressed or in a compressed file format (.uz) for faster downloads. The settings to control downloads are in the server's UnrealTournament.ini file.  These are the settings for downloads sent directly from the UT server.

Server Redirection notes[]

Server admins can now redirect auto-downloads to a remote HTTP (WWW) server. Custom content such as maps, skins and texture packages can be stored on the remote website either uncompressed or in a compressed file format (.uz) for faster downloads. The settings to control downloads are in the server's UnrealTournament.ini file. These are the settings for downloads sent directly from the UT server.

[IpDrv.TcpNetDriver]
AllowDownloads=True
MaxDownloadSize=0
DownloadManagers=IpDrv.HTTPDownload
DownloadManagers=Engine.ChannelDownload

Setting AllowDownloads to False disables all autodownloads sent directly from the UT server. This setting has no effect on redirected downloads. MaxDownloadSize=0 means allow autodownload of any sized file directly from the UT server. Otherwise the value is in BYTES. We recommend that rather than disabling all downloads, you set the MaxDownload size to an appropriate value. For example, MaxDownloadSize=100000 will allow mutators and other small packages to be downloaded, but will not allow large files such as maps to be downloaded. Turning off all downloads may make it hard for older clients to get on your server if you are using a lot of custom maps, mutators or other custom packages. This setting also has no effect on redirected downloads.

These are the settings for redirecting downloads to a remote website site:

[IpDrv.HTTPDownload]
RedirectToURL=http://www.website.com/full/path/to/directory/
UseCompression=True
ProxyServerPort=3128
ProxyServerHost=

To enable redirected downloads, you need to set the RedirectToURL variable to point to the website where the files will be autodownloaded from. If a client running 405b or earlier connects to your server, it will ignore the redirection and attempt to download the file directly from the server, so it is important to configure the non-redirected download options even if you intend use redirected downloads. If UseCompression is set to True, the files must be stored on the remote website as compressed .uz files. You can create a compressed .uz file by using the command ucc compress from the DOS prompt in the UnrealTournament\System directory. Typing ucc help compress will give you a list of supported options (currently this is only a list of filenames or wildcards to compress). If UseCompression is set to False, the custom package files should be put on the website as they are. Here are some examples of ucc compress:

C:\UnrealTournament\System> ucc compress ..\maps\dk*.unr
C:\UnrealTournament\System> ucc compress ..\textures\customskins1.utx ..\textures\customskins1.utx ..\maps\as-bridge.unr

Patch ver. 413a (Linux)[]

Release date: April 17, 2000[4]

"I had a bad makefile when I built the release version of 413 for Linux, which caused it to build in a null interface for the IP driver. This means you won't be able to run servers or connect to network games with it. You can get a fixed IpDrv.so by clicking on that link. Put it in your System directory to fix the problem.

I've also put together a new version of the patch for people who haven't downloaded it yet. This is version 413a (...) I'm not having a very good weekend and now its pouring over into the week. /me buckles down for a mess of a week."
Brandon Reinhart


Patch ver. 420[]

Release date: May 22, 2000[5]

Version 420 is completely network compatible with all previous public releases of UT (versions 400, 402, 405b, and 413).

Bug fixes[]

- fixed actorlinecheck() crash
- fixed findrandomdest()
- fixed D3D driver - combined best performance with widest compatibility of previous iterations, improved Voodoo 4 D3D support
- fixed installer problem with certain directory structures
- fixed security holes with ServerRestartGame() SwitchLevel() and SwitchCoopLevel()
- removed ability to use bad skins
- fixed ADDINI for editing .ini files for patch and umod installation

New features (thanks to Legend)[]

- New editor! (see editor notes below) - note that the editor is still called unrealed.exe
- various other under the covers features and fixes merged in by Mark Poesch of Legend

New Editor Notes[]

Something to be aware of is that this version replaces the old UnrealEd.exe ... It is STRONGLY recommended that you make a backup of your system directory so you can still run the old editor should you need to do something that the new editor doesn't, or that is broken in the new editor.

The editor included with this patch is the current version of the C++ UnrealEd. You'll find it as "unrealed.exe". This is an *EXPERIMENTAL* version ... If you want to use it, you can, but be aware that certain things are broken or lacking. If you click on something and it doesn't work, it's probably not implemented yet.

A quick list that I know of ...

  • Vertex editing will sometimes do weird things with drag distances and brush clipping
  • Finding/Replacing text in the UnrealScript editor is broken
  • Clicking on tabs in some windows doesn't seem to work right. The wrong tab will come up or no tab at all. To fix it, click on the first tab, and then each one in order until you get to the one you wanted.

This version has a mix of the old and new UI ... so if it looks weird, that's why. :)

If you want to send me feedback on this version ... requests for features you want, things you like, things you don't, etc., send them to unrealed2@epicgames.com ... I may or may not respond depending on the volume of email I get ... so don't get offended if I don't. ;)

A quick rundown of the new features and how to use them follows. Thanks to Scott Dalton at Legend for his help in compiling the majority of this! Bear in mind, the editor is still very heavily under development and these features -should- work ... but you'll run into weird situations and stuff. Be prepared.

Configurable Viewports[]

To add new viewports go to the View -> Viewport -> New Viewport menu option. Up to 8 editing viewports are allowed, and the size and positioning will be saved upon exiting the editor. Floating Browsers are equally resizable and all viewports can be used with dual monitor support. You can also use the "Config" option to choose from preset configurations. In this release, this is your best bet. There are also options for having viewports as "floating" or "fixed". "Floating" means you have a caption bar and resizing bars. "Fixed" means ... you don't!

Drag Box Selection[]

A group of brushes/actors can be selected in any 2d viewport using this dragbox command. Hold Control and Alt and left-click-drag the mouse to create a red drag box. Any brush or actor whose pivot point is within this box will be selected.

Brush Clipping[]

Brush clipping creates a 2d or 3d clipping plane using 2 or 3 definition points to establish the position and angle. Certain commands will need to be bound to keys to properly use this feature. This feature can be used both on the active brush and on previously placed brushes. NOTE : Brushes MUST be transformed permanently in order to be clipped properly. To place clipping points hold control and right-click within a 2d editing viewport. This will place one control point. Click again to place a second point. With 2 points, you can perform a 2d clip. A red line will be drawn between the points indicating the plane of the clip, with the normal of the clip (the red perpendicular line to the clip plane) indicating the part of the brush that will be clipped away (destroyed) by the clip. Focus must be in the desired 2d viewport for the 2d clipping to work correctly. 3d clipping works in the same way, but an additional point must be added. These points must then be aligned using either 2d or 3d viewports to create the proper 3d plane. Adding a 4th clipping point will reset the clipper and destroy all clip markers. There are UI controls for brush clipping, but if you are more comfortable using hot keys, you can bind -

BRUSHCLIP - performs the brush clipping operation BRUSHCLIP FLIP - flips the normal of the cutting plane BRUSHCLIP SPLIT - retains the clipped off portion as a second brush (will not work on the builder brush) BRUSHCLIP DELETE - removes all current clipping points from the world

Multiple Vertex Editing[]

This command allows multiple vertices to be selected and moved. This allows face/edge manipulation and other vertex editing operations. Some caution must be exercised with multiple vertex editing (as with single vertex manipulation which is still available) to avoid creating invalid shapes by moving a vertex from a 4+ vertex face off plane with the other vertices on that face. These situations are easily avoidable if you understand what you are doing, but if you are confused by that concept, you may be better off avoiding this feature. To use multiple vertex editing, turn on the "Vertex Editing" button under "Modes" on the button bar. This will highlight the vertices on the selected brush/es. (Note : you can change the color of the vertices to your preference by changing your editor Advanced Options->Editor->Color->C_BrushVertex Color. It is best to set it to something bright like pure white.) Multiple vertices may then be selected, as other actors would be, by using control and clicking or by using Drag Box Selection. Selected vertices may then be dragged to the desired position in any 2d viewport. The following commands may be bound to keyboard keys for vertex editing - MODE SHOWVERTICES -1 : This will toggle "Vertex Editing" button on and off.

New Brush Factory Options[]

Several new brush factory options are available. These can be combined with other new features (Read - Vertex editing) to create new shapes.

  • Tessellated Cube Builder: Under Cube options, turning Tessellated to True will create the cube out of triangles instead of quads. As triangles can be freely vertex edited into a variety of shapes, this is handy for quickly creating simple rock-like structures or the like.
  • Terrain Builder: This is *NOT* in any way related to Epic's new terrain engine under development. This will create a cube with a single highly tessellated face. The desired number of width and depth segments can be defined within the builder. This brush may then be edited via multiple vertex editing to create terrain or other similar brushes.

UnrealScript Editing Support[]

To quickly switch between open scripts by using a listbox - double click the name to switch to a new script. Exporting packages works from a multiple selection listbox in the actor browser - select the packages you want, and with one mouse click, they are all saved to disk (easier than saving each on separately using a that old combobox).

Misc/Convenience Features[]

There are a variety of small features which have been added for editing convenience.

  • Actor Search/Align: To search for actors, select "Search for Actors" under the edit menu. You can search by name, tag, or event. Double clicking on an actor in the search window will center all viewports on that actor. Alternatively, you can bind a key using the command "CAMERA ALIGN" ... this will align all viewport cameras on the selected actor. This is VERY nice for finding an area in one view, clicking something there, and aligning all views on it. Fast navigation.
  • Texture Relative Scaling: Textures may be scaled by either absolute or relative values. To turn on relative scaling, click on the "relative?" checkbox.
  • Texture Browser Filter: To use a text-string filter on textures in the browser, simply enter the string to filter in the "Filter" dialog at the bottom of the window
  • Light Color Selection: To select a light color using the standard windows color picker, click on the "color" button the actor’s LightColor preferences.
  • Light Brightness Scaling: Selected lights can be scaled by absolute or relative values. To use this option, select "Scale Lights" under the edit window. Good for lightening or darkening an area that has lights of different brightness values.
  • Make Selected Actor the Current Actor: This command takes the currently selected in-level actor, and sets the actor browser to the same type of actor. To use this command, right click on the actor in any viewport and select "Make Current." So if you want to place more pathnodes in a level, you can right click one of the existing ones, choose "Make Current" and start placing them without using the actor browser window.

Again, this version is under development and this release is mainly to gather feedback. To reiterate ... If you want to send me feedback on this version ... requests for features you want, things you like, things you don't, etc., send them to unrealed2@epicgames.com ... I may or may not respond depending on the volume of email I get ... so don't get offended if I don't.

Have fun! =)

Patch ver. 425[]

Release date: August 1, 2000 (PC). August 2, 2000 (Linux).[6][7]

Version 425 is completely network compatible with all previous public releases of UT (versions 400, 402, 405b, 413, and 420). Note that with the new version, when you are connecting to a passworded server, you will see a "Connection Failed" message, and then successfully connect. The client first tries to connect without using a password, and then tries again with the password.

Bug fixes[]

- fixed another mixed skin cheat
- fixed creeping pings problem - especially prevalent with passworded servers
- fixed problems with passwords with spaces
- improved server CPU utilization
- improved prioritization of network traffic for low bandwidth users
- fixed ActorLineCheck() crash again - no really this time
- fixed clearing base on client in netplay - thanks Mongo
- fixed suicide spamming
- Last Man Standing now can have time limit
- fixed spriteballexplosion sounds playing client side
- faster translocation effect in software mode
- fixed collision bug which cropped up in 420 (overlord)
- fixed D3D 32 bit zbuffer allocation
- lowered NGStats thread priority on dedicated servers, so NGStats doesn't hold up level changes - Added bExternalBatcher configuration option to [Engine.GameInfo]. If true, the game doesn't try to run the NGStats world log batch process. - The 'Use32BitZBuffer' switch in the advanced Direct3D options, which is disabled by default, will force the use of a 32-bit Z buffer even in 16-bit color display modes. This can be used to fix flickering world surfaces and similar visual corruption when running in 16-bit mode on several cards, like the Matrox G400.

Editor[]

* Forced code to compile to oldest possible version of COMCTL32.DLL ... should eliminate surface properties dialog not showing up, and actor browser being empty
* Editor is now able to handle pathnames with spaces in them
* fixed "Can't find 'ini:Engine.Engine.EditorEngine' in configuration file" error - code now uses unrealtournament.ini instead of unreal.ini
* added "reset" menu to main brush menu
* when importing textures, the texture browser would jump back the first package/group instead of to the newly created ones
* GUI updated with changes to get it closer to final design
* Editor viewports can now be put into "Direct3D" rendering mode (right click on viewport toolbar and select from menu options)
* importing textures/sounds will now allow for empty group names
* exporting all/changed scripts will now work correctly
* controls on bottom bar are left justified now, instead of right
* the surface properties dialog will now show the complete name of the texture that appears on the selected poly (package/group/name)
* when creating a new texture, the browser will now select the correct package/group and automatically call up the new texture for editing.
* 2D shape editor now has the ability to "extrude to bevel" and "extrude to point"
* edit controls can accept formulas again (precede formula with an "=" sign. i.e. "=256+128")
* the "add special" dialog will now remember it's settings if you close it, and re-open it. It will also stay on the screen until you manually close it.
* music browser will now properly import/export files
* added a new button on left hand bar for changing camera speed
* the combobox on the bottom bar will now keep an MRU list of recently entered commands
* editor shouldn't crash or give weird messages when shutting down anymore
* on the alignment tab, the scaling combobox is now able to have values typed directly into it
* on the alignment tab, there are seperate "apply" buttons for each set of scaling values (one for the edit controls and one for the combobox)
* the left hand toolbar now has sections so you can hide/show the commands you want
* the left hand toolbar will now allow scrolling if the screen gets too small to hold all the buttons
* at the bottom of the lefthand toolbar is a section for user defined buttons. These are defined through the unrealed.ini file.
* texture browser will no longer crash if it is resized to be smaller than the width of one texture

Patch ver. 428[]

Release date: August 13, 2000.[8]

Version 428 is completely network compatible with all previous public releases of UT (versions 400, 402, 405b, 413, 420, and 425). A "full server-only version", weighing 72 MB, was made available for download on August 14, 2000.

Bug fixes[]

- fixed 425's D3D problems
- improved client prediction of other players on slopes
- fixed 'killall bot' working on servers even if not admin
- fixed Unrealed2 problems with DirectInput (by disabling DirectInput when using Unrealed2).
- fixed picked up weapons occasionally looping firing anim.
- fixed another case where server would keep sending data to client after disconnect.
- fixed Unrealed2 mesh viewer problem.
- fixed Owner being passed to new actor in Mutator.ReplaceWith().
- fixed creeping ping problem with Win2K. - fix for occasional accidental port changes on servers using NGStats: These ini files are used: [IpServer.UdpServerQuery] OldQueryPortNumber=0 bRestartServerOnPortSwap=True OldQueryPortNumber will get saved to the current value of the query port number. If the port number changes, the server will quit - and restart automatically if you are using an appropriate batch file (see http:\\unreal.epicgames.com\utservers.htm). Setting OldQueryPortNumber to 0 will cause it to save the current port number again, so you should set this value to 0 when you want to change the port number deliberately (ie you're running a second server on the same machine).

Users of S3 Savage 4 chipset and Viper II/Savage2000 cards should try using the latest S3 MeTaL drivers specific to their card to obtain the best performance. New Metal .dlls are available from S3's support site. Note: after applying our latest UT patch, you should only need to put the appropriate Metal.DLL file for your particular S3 card into your UnrealTournament\system folder, while keeping the MetalDrv.dll that comes with the UT patch.

Patch ver. 432[]

Release date: October 5, 2000. (Windows)[9]

Version 432 is completely network compatible with all previous public releases of UT (versions 400, 402, 405b, 413, 420, 425, and 428).

Bug fixes[]

- faster server browser initial pinging of servers. Added a new default property to [UBrowserServerPing], MaxSimBroadbandPing, which defines the max number of servers to simultaneously ping if your netspeed > 6000.
- team scoreboard holds more players (no more names dropping off the bottom for 32 player games).
- fixed grenade smoke in OpenGL - fixed some D3D compatibility issues - faster server ping response for servers with mutators.
- admins lose cheats and die when they log out as admins.
- fixed bug causing player team choice to be overriden (also cause maxteamsize not to work when 2)
- fixed thrown weapons sinking into ground in net play
- fixed listen server crashing with too many serverpackages
- fixed server still sending data on disconnect
- fixed server not allowing custom skins because of skin cheat fix
- servers are now prioritized by version on the master server
- improved map decompression time.
- slight improvement to server CPU utilization.
- prevent message spamming in net play.
- centered admin messages - if logged in as an admin, start your message with a # to have it centered.
- voice autotaunts not printed in net games.
- fix for CTF AI.
- limit translocator firing rate (max 2/sec) to prevent translocator spamming bind cheats.
- suicides are counted as deaths.
- admin spectators can use # to center print messages.
- disallow setting of actor properties using the "set" command on clients. Prevents a whole class of cheats.
- faster menu loading with mods.

Mod Menu Loading Notes[]

Modmakers to make a small change to the way they add items to the Mod menu. Previously, mod menu items were created with an .int file entry something like this:

Object=(Name=ChaosUT.ChaosUTModMenuItem,Class=Class,MetaClass=UMenu.UMenuModMenuItem)

To make your mod load quicker when UT starts up, you need to add a Description field on the end.

Object=(Name=ChaosUT.ChaosUTModMenuItem,Class=Class,MetaClass=UMenu.UMenuModMenuItem,Description="ChaosUT Config,Configure ChaosUT")

The stuff after the comma is the text that appears on the help bar at the bottom of the screen. If you don't make the change to your int file, your mod will still work with the next UT patch, but it won't load any faster - so please make the change for the next release of your mod.

Editor enhancements[]

2D Shaper[]

The 2D shaper can now handle multiple shapes, like the old one did. But the coolest thing is that it can now handle bezier segments (you can have as many as you want). You select a side, turn it into a bezier segment and you get 2 control points that you can use to control the shape of the segment. The segment has multiple detail levels so you can control how smooth the curves are. It also allows you to create whatever kind of shape you want, and it will triangulate the shape automatically when the time comes to create a brush from it.

The file format has changed, so any shapes you've currently saved won't be usable in this new one ... so print them out or something. :P

Movers[]

When you right click a mover there is a new menu option called "Show Polys". What this will do is add the movers polygons into the current BSP. You can then change the texturing, surface flags, etc of those polys and those changes will be reflected on the mover itself. So you don't have to recreate movers anymore to change the way they look. The only drawback to this is that the polys it stuffs into the BSP -- they're just temporary, but you will have to rebuild your map to get rid of them. But I think that's a more than reasonable trade off. :)

Modes[]

"Brush Clipping" has been made into it's own mode ("MODE BRUSHCLIP"). This allowed several good things to happen ..

  • You can place clipping markers anywhere you want to now. On top of brushes, actors, etc ...
  • Placing clipping markers will no longer deselect the currently selected brushes
  • Many bugs have been fixed, including the ever nasty "can't clip a brush that you've vertex manipulated"
    • NOTE : this mainly applies to any NEW brushes you create after getting this version. Old brushes may work OK if you transform them permanently before trying the clip though ...
  • If you attempt to clip a brush and it doesn't work properly, undo the clip, transform the brush permanently and try again. This will make it work 99% of the time.

"Vertex Editing" is also it's own mode now ("MODE VERTEXEDIT"). Mainly for ease of use reasons. It's also got all of the dragging weirdness worked out of it. It will still crash if you drag vertices on top of other vertices on the same brush. This is by design. It will be handled in a future version through an option to weld vertices.

Misc[]

Some of these might be repeats from above, so if you see any that are, just pretend you didn't see them ...

* Actor grouping (like vis groups in Worldcraft)
* made all browsers dockable inside of a master browser window (individually configured)
  * you can have a mix using this system ... have some browsers docked, others floating
* added ability in texture browser to rename textures
* all browser windows will fill in a default filename when saving packages or exporting items
* 2D shape editor
  * you can build shapes however you want - no more worrying about triangles
  * shapes will auto-triangulate when you create a brush
  * now supports multiple shapes
  * supports bezier segments
  * had problems with beziers on the left hand side of the shape
  * would have problems with tons of polys in the shape
  * now has the ability to scale shapes up or down
  * brush pivot point should now be in the correct place after creating a brush
* "Radii view" will now work in the 3D window by rendering the collision cylinder as an 8-sided wire cylinder
* "Radii view" will also show the radius of things like lights in the 3D window
* made the "snap vertex" graphic on the bottom bar larger
* various vertex editing fixes/improvements
* Brush Clipping
  * changed the marker to a little push pin
  * clip markers are now numbered as you add them in - like QER
  * clip markers have a circle drawn around them that doesn't scale with zoom distance
    * you can select clip markers by clicking the circle as well as the actor itself
* fixed MeshBrowser not playing individual animations
* changed vertex editing color to always be white
* may have fixed the way the tabs would overlap each in the "surface properties" and "build options" dialogs
* turned the mesh viewer into a regular browser window - it can be docked and is treated the same as the other browser windows
* cleaned up the UI on all the browsers - things are much more consistent and cleaner now
* when an image is loaded into the 2D shaper, the lines should be dark gray instead of black
  * the image also shifts around when you move the origin.  It shouldn't - lock it at the origin.
* box selection mode will no longer occasionally leave the box sitting there until you move the camera again
* fixed the "can't clip brush after using vertex manipulation on it" bug. If something goofy DOES happen with the brush clipping it can be fixed 99% of the time by transforming the brush permanently, and trying the clip again.
* CTRL+E hotkey for "Save As"
* SHIFT+LCLICK on a BSP surface will select the brush that belongs to it.  This works like QER.  The brushes wireframe will render on top of the brushes surfaces.  You can move the brush around, rotate it, etc without ever going into wireframe mode.
* opening/importing lots of filenames, in any browser, will work now
* adjusted the label text in the texture browser so that it's much more readable (smaller font, white, always centered properly)
* Added a button to the toolbar to do a complete build based on whatever the current build settings are
* made the font in mesh viewer render much brighter
* Brush Builders
  * added the "add to first step" field back into linear and curved staircases
  * group browser should have the ability to select/deselect the actors in the selected groups
  * texture browser can now be put into "variable size" mode in which it packs the textures in as close together as it can while preventing their labels from wrapping. The scaling is adjustable. This works very much like the QER/Worldcraft texture browers. The old display mode IS still available.
* new Brush Builder : Volumetric. Creates sets of intersecting sheets for torches, chains, etc...
* added an option to the rebuild dialog to only build visible actors - so working on a subsection of a level is much quicker
* added button to build dialog for "Create New Path Network" option  This option will delete all current pathnodes and create a new network on it's own.  This is sometimes good for a first pass which you can then tweak later.
* made the skybox visible when viewport is put into realtime preview mode
* double clicking a classname in the actor browser will bring up the script editor
* added MRU (most recently used) lists to all browsers
* added a dialog to replace one texture with another over the entire level
* changed master browser to use tabs to show the list of docked browsers instead of a combobox
* UnrealScript editor
  * fixed find dialog to work 100%
* added zoom buttons to the 2D shape editor
* dialogs will now warn you when you are writing over an existing file

Patch ver. 432 (fix)[]

Release date: October 9, 2000. (Windows)[10]

"A few people have reported a weird crash with the dockable browsers in the new UnrealEd included in the 432 patch. I believe I have a fix for that, and a few other things I noticed. Here is a quick list of what is included ...

- the "TextureLock" option should work 100% now
- fixed the crash that some people were getting when docking a browser and getting a crash when trying to restart the editor
- rewrote "UEditorEngine::polySelectMatchingBrush" because SHIFT+B was crashing at random times. Should be stable now.
- brush clipping was merging faces on the resulting brush
- may have fixed the random "WinMain/message pump" crash

The first item may raise an eyebrow or two. :) TextureLock is something I put in a while ago, but just haven't made a UI button for it. What it will do is stop the editor from resetting texture alignment on brushes that you manipulate vertices on. To access it, go into Advanced Options, open up "Editor", then "Grid", and you'll see the option there called "TextureLock". Change that to TRUE and restart the editor. It should work for you now."
Warren Marshall


Patch ver. 436[]

Release date: November 7, 2000.[11]

This is the last official patch.

Version 436 clients are network compatible with all previous public releases of UT (versions 400, 402, 405b, 413, 420, 425, 428, and 432). Version 436 servers support only 432 and above clients.

Bug fixes[]

- fixed joystick button handling code (thanks Chris Carollo).
- hack fix for bad playerstart in CTF-Coret.
- fixed crash for servers with more than 255 characters worth of server packages.
- fixed problems with single player ladder than cropped up in 432.
- Server now report to clients whether or not they are password protected.
- Fixed incompatibility in ChallengeHUD that caused problem for some mods.
- In the editor, the "TextureLock" option should work 100% now.
- Fixed the editor crash that some people were getting when docking a browser and getting a crash when trying to restart the editor.
- Rewrote "UEditorEngine::polySelectMatchingBrush" because SHIFT+B was crashing at random times in the editor. Should be stable now.
- Brush clipping was merging faces on the resulting brush in the editor.
- May have fixed the random "WinMain/message pump" crash in the editor.
- Pre-432 spectators not allowed to join 436 servers (because of incompatibility). 

Patch ver. 440[]

Release date: February 17, 2003[12]

This is the first UTPG patch.

Version 440 is completely network compatible with all previous public releases of UT (versions 400, 402, 405b, 413, 420, 425, 428, 432 and 436). Server requires clients to be at least version 432.

Bug fixes[]

- Implemented fixes provided by Epic to resolve exploit holes in UT Core files.
   * Resource "lunch" bug fixed
   * DoS bug fixed
   * Fake Player bug fixed
   * GameSpy Query loop
- Added Team information to query protocol
- Fixed backslahes in status query replies
- Fixed mutator listing in status query replies
- Fixed ucc buffer overflow

Patch ver. 451[]

Release date: May 12, 2003.[13]

Version 450 is completely network compatible with all previous public releases of UT. Server requires clients to be at least version 432.

Bug fixes[]

* WebAdmin fixed, linux server should have a working webadmin again
* Package code execution exploit fixed
* LogMaxConnPerIPPerMin defaults to false
* IRC chat client fixes
** \n bug fixed
** long lines are wrapped
** wrapped lines are indented for better readability
* Added protection against brute forcing the admin login:

[Engine.GameInfo]
LoginDelaySeconds=0.0   Number of seconds after an incorrect login before login is allowed again.
MaxLoginAttempts=0      Maximum number of login attempts before an action is taken
ActionToTake=           What to do when the maximum number of login attempts has been reached

Values for ActionToTake:
DO_Nothing
DO_Log                  Will log the player's name, IP, and number of attempted logins to server's log
DO_DisableLogin         Player will be unable to perform adminlogin for remainder of match
DO_KickPlayer           Player will be kicked from server
DO_KickBanPlayer        Player will be banned from the server

ex: ActionToTake=DO_DisableLogin

* Added a caching system to the webadmin to reduce the impact on the running game
* Added -logprefix option to `ucc`. Enabled preflush log prefixes
* Extended IP ban list to allow 256 entires
* Fixed several bugs which allowed malicious clients to lag the server
* Clamped DefaultFow to values between 80 ~ 130
* Added bLogAdminActions to [Engine.GameInfo] - provides information about kick/bans/logins
* Fixed chat messages not appearing when game is paused
* Limit in-game name changes to 10 per map
* Fixed player details server query response
* Fixed mutators not appearing in server browser
* Added additional console commands for admins - kicklist, kickid, and kickbanid
* Added current map name to all pages in "Current" section of webadmin
* Added time remaining to pages in "Current" section of webadmin for timed matches
* Fixed LoginSeconds display in web admin to only show max number of allowed characters in textbox
* Added 'AdminAction' prefix to all log entries written by admin actions
* Improved the console functions 'get' and 'set' to allow editing of array config variables

Usage: to get an value of an array item use the following command:

get Engine.GameInfo IPPolicies #
Where # is the number starting from 0, if you omit the number the first element is returned

set Engine.GameInfo IPPolicies # new value
Where # is the number starting from 0, you must specify the number

* Items in the open location box are moved up in the list when reused
* Fixed the scroll whell when using Logitec drivers (EM_EXEC)
* The download percentage for compressed redirects is displayed correctly now (the real percentage)
* Fixed spaces in redirected package names (note: you should NOT use spaces in package names)
* Fixed incorrect F6 details
* Added IRC half-ops support
* Netspeed command is limited to once every 15 seconds (as with UT2003)
* Fixed server lag exploit from chatting. Added a config variable "bLogTypingEvents" to the Engine.StatLog class. If the server does not wish to be vulnerable to this exploit, setting this variable to false will cause the resulting ngStats logs (both world and local) to not record player chatting events.
* Fixed lag exploit possible through replication statement error
* Fixed lag exploit with ShowInventory command
* Fixed lag exploit in the ShowPath command, only admins can use this command
* Server lag exploit possible from viewing players fixed
* Added refering game server to HTTP redirect request with the form: Referer: server-IP:port

Patch ver. 451b[]

Release date: March 13, 2004.[14]

Version 451b is completely network compatible with all previous public releases of UT. Server requires clients to be at least version 432.

Bug fixes[]

* UnrealEd has been fixed
* Fixed various bugs that could bring down the server (and client) when invalid classes where used 

Patch ver. 469a[]

Release date: September 22, 2020.[15]

Version 469 is completely network compatible with all previous public releases of UT (down to 432). The UTPG and OldUnreal teams worked hard to maintain binary compatibility with older native mods. Most of these mods will continue to work in version 469. However, some mods may need some trivial updates. If you are a native mod author, and you are having trouble updating your mod for version 469, then please reach out to us at the OldUnreal forums. Note: This patch disables older versions of ACE. Server admins should upgrade ACE to version 1.1e or later to check 469 clients.

Stability improvements[]

Unreal Editor[]

* Fixed an issue that caused UnrealEd to crash if the EditPackages list did not contain any packages with meshes in them.
* Fixed an issue that caused UnrealEd to crash when opening large UnrealScript files.
* Fixed an issue that caused UnrealEd to crash when opening packages with array variables in them.
* Fixed an issue that caused UnrealEd to crash during shutdown. This issue likely only affected Windows 10 users.
* Fixed an issue that caused UnrealEd to crash when reloading a map after rebuilding several packages.
* Fixed an issue that caused UnrealEd to crash while editing maps with lots of dynamic lights.
* Fixed an issue that caused UnrealEd to crash when docking/undocking one of the browser windows.
* Fixed an issue that caused certain commandlets to crash because the garbage collector decided to destroy them while they were still running.
* Fixed an issue that caused the ucc batchexport commandlet to crash when exporting textures from a package containing scripted textures.

Game Client[]

* Fixed an issue that caused the game to crash when running the "GET" consolecommand to read an array property.
* Fixed an issue that caused the game to occasionally crash on shutdown.
* Fixed an issue that caused the game to crash when calling certain canvas functions with an invalid font or texture argument.
* Fixed an issue that caused the game to crash if the player deleted the [Engine.GameEngine] group from the UT.ini file.
* Fixed an issue that caused the game to crash when resetting properties to their default values in the preferences window.
* Fixed an issue that caused the game to crash when attempting to call an unrealscript function that has the same name as a global variable within the same class.
* Fixed dozens of issues that caused the game to crash when exporting properties in textual format (e.g., through GetPropertyText).
* Fixed various issues that caused the game to crash after destroying objects containing dynamic arrays.
* Fixed various issues that caused the game to crash when rendering scenes with lots of actors/dynamic sprites in them.
* Fixed an infinite recursion crash bug triggered when picking up an invisibility powerup while already invisible.
* Fixed an issue that caused certain maps to crash the game due to duplicate actors in the map.
* The game now properly nullifies references to all destroyed actors. This change fixes the garbage collector crashes that triggered when an Actor was referred to by an Actor in a different level, or when a non-Actor object kept an implicit or explicit reference to a destroyed Actor.
* Fixed a bug that caused the game to crash when using the "QUIT" or "EXIT" command during demo playback.
* Fixed a bug that could cause the game to crash while recording a demo on a server that generates excessive amounts of traffic on single actor channels. One of the mods that often triggers this bug is Nexgen.
* Fixed a bug that caused the game to crash when calling an iterator function in a null context.
* Fixed a bug that caused the game to crash in maps that had brushes with bStatic and bNoDelete set to false.

Game Server[]

* Fixed aluigi's unrealfp Remote Server DoS bug.
* Fixed an issue that caused the server to crash in AActor::execPlayerCanSeeMe in games with bots in them.

Bug Fixes[]

Unreal Editor[]

* Fixed an UnrealEd issue that caused vertices/brushes to become invisible while zooming in in vertex edit mode.
* Fixed an UnrealEd issue that caused brush clips to snap to the nearest grid location when clicking a vertex.
* Fixed an UnrealEd issue where Actors could not be placed/deleted/edited if an Actor with the same name already existed elsewhere in the class hierarchy.
* Fixed an UnrealEd issue where the 3D viewports used incorrect lightmaps after rebuilding lighting/bsps.
* Fixed an issue that caused incorrect brush stretching/scaling on non-builder brushes.
* Fixed an issue that caused UnrealEd to show all textures in the game when selecting a font group in the Texture Browser.
* Fixed an issue that caused erratic mouse cursor behavior when dragging in an orthogonal zoom viewport.
* Fixed an issue that caused MyLevel resources to become corrupted after loading a new map in UnrealEd.
* Fixed an bug that caused the texture browser scrollbar to reset when scrolling down a long list of textures.
* Fixed various text clipping bugs in the texture browser window.
* Fixed a bug that caused v436-v451 to crash when rendering LOD meshes imported with UT v440 or later.
* Fixed a bug that made UnrealEd truncate large files in the code editor window.

Physics and Player Movement[]

* Fixed an issue where the game would speed up dramatically when rendering more than 200 frames per second.
* Fixed a bug that could cause dodge moves to be delayed.
* Fixed a bug that caused the server to constantly and incorrectly adjust the client's in-game position. This caused choppy movement when rendering more than 90 frames per second.
* Fixed a bug that caused players to get stuck in walls or slopes when playing with high frame rates. This bugfix will only work on v469 servers.
* Fixed a bug that caused extremely large position adjustments when walking sideways into sloped brushes. This bugfix will only work on v469 servers.
* Fixed several bugs that allowed certain projectiles to ignore collision with level geometry.

Input and Windowing[]

* Fixed a bug that caused the scrolling animation in the preferences window to play in the opposite direction.
* Fixed an issue where you could not select property values containing spaces in the preferences menu.
* Fixed an issue where the mouse would get stuck in the middle of the game window on Linux and Mac.
* Fixed an issue where the in-game windowing system would sometimes show a wait cursor instead of a west-east window resizing cursor.

Networking and Netcode[]

* Fixed a bug that could cause carried weapons and flags to become invisible in online games.
* Fixed a bug that caused XC_Engine servers to reject connections from players who had just watched a demo.
* Fixed several issues that caused network connections to be terminated unexpectedly on Linux and Mac.

Audio and 3D Recording[]

* Fixed an issue where the game would only show part of the player model in the player setup menu.
* Fixed an issue where the game would shut down when a non-fatal rendering anomaly occurred.
* Fixed a bug that caused the game viewport to have the wrong dimensions after resizing the game window on Linux or Mac.
* Fixed several bugs that caused sounds not to update or to play from the wrong location.
* Fixed a bug that caused the game to crash at extremely high resolutions (such as 8K).
* Fixed an issue where the game would not update stale actor lighting data in the engine cache. As a result, many actors would be renderered in pitch black even when they should be lit. This issue especially affected people playing with large cache sizes or high frame rates.
* Fixed a bug that caused CTF Flags to become dark after being returned to their flag base.
* Fixed an issue where certain sounds would play at double the intended volume while recording a demo.
* Fixed an issue where screenshots would not get rendered correctly if you had your vertical screen resolution set to an odd number of pixels.
* Fixed a bug that caused all decorations in skyboxes to be invisible.
* Fixed a bug that caused the game to stop rendering after changing your FOV in a game type that had its MinFOV and MaxFOV settings set to 0.

Miscellaneous[]

* Fixed an issue where the game would hang for a long time (and sometimes even crash) when opening a maplist with lots of maps.	
* Restored the ability to kick players and bots from local games.
* Fixed an issue where bots considered human players invisible even after their invisibility pickup had expired.
* Fixed several bugs that could cause weapons to instantly switch between fire and alt fire animations.
* Fixed a bug that allowed players to interact with the level and pick up items before the match started after giving up admin privileges via AdminLogout command.
* Team games now properly end when one of the teams scores in overtime.
* The 1024 character limit on conversions between ANSI and Unicode strings is gone.
* Fixed an engine bug that could cause Demo Manager to freeze the game after using the seekto command.
* Eliminated many "Accessed None" warnings.
* Pawns that get destroyed while they have the Destroyed probe function disabled should now get unlinked from the Level Pawnlist.

Enhancements[]

Unreal Editor[]

* Merged most of Unreal 227's Unreal Editor enhancements.
* UnrealEd's viewport window allows you to select any of your renderdevices now (not just SoftDrv and D3DDrv).
* UnrealEd's button bar and texture browser now have mouse wheel support.
* UnrealEd's 2D Shape Editor now properly calculates the vertex positions while dragging at zoom levels other than 100 pct.
* UnrealEd now supports mouse wheel scrolling in the 2D viewports.
* UnrealEd now has an "Add PlayerStart" item in the surface popup menu. This item only shows if your level does not have a PlayerStart yet.
* UnrealEd viewports can now render up to 200 frames per second. This framerate was previously capped at 30.
* UnrealEd's vertex editor now properly accumulates small vertex adjustments. Previously, small adjustments could get discarded due to grid snapping.
* Added texture format conversion support to the texture browser.
* Added an option to remove the compressed mips from a texture in the texture browser.
* All UnrealEd viewports now support renderdevice switching.
* Added texture import support for various new image formats.
* The ucc make commandlet now works on Linux and Mac.
* The ucc compress commandlet can now skip compression if an up-to-date .uz file already exists. To use this new feature, add the "update" command line parameter to your ucc compress invocation.
* S3TC/DXT1 texture compression should now be available in the ucc tools for Linux and Mac (though obviously not in UnrealEd).

High Resolution Support[]

* UnrealEd, Setup, and the game client are now high-DPI aware on Windows. This eliminates the bluriness a lot of people with big monitors were seeing. It also improves input precision in the game and the editor.
* Added automatic scaling of the game menu. The scaling factor and behavior can be controlled using the new settings in the menu.
* Added crosshair scaling to the standard HUD. You can configure the crosshair scaling settings in the menu. NOTE: A lot of mods will likely ignore the crosshair scaling. Mod authors should update their mods so they call the regular ChallengeHUD.DrawCrosshair function.
* Added in-game font scaling. When enabled, fonts scale automatically with your desktop DPI. Scaling can be turned on and off in the in-game menu.
* UWindow now supports higher resolution textures for LookAndFeels. This enables LookAndFeels to scale better for people playing at higher resolutions and higher GUI scales. The UMenu LookAndFeels have been (partially) updated to use this new feature.

Input and Windowing[]

* Fixed mouse acceleration issues for players using DirectInput on Windows 10.
* Added raw mouse input support. This feature can be enabled by setting the UseRawHIDInput to true in the WinDrv.WindowsClient section of the game ini.
* Added enhanced pointer precision control. By default, the game enables enhanced pointer precision while in the menu and restores the old precision settings when in game. However, you can now set the NoEnhancedPointerPrecision option in the WinDrv.WindowsClient section to true if you do not want the game to change the system pointer precision settings at all.
* Added new menu options to control the mouse input and smoothing behavior.
* Improved support for mouse side buttons.
* Added mouse wheel scrolling support to the in-game windowing system.
* Added clipboard paste support to the quick console.
* The Linux and Mac clients now have clipboard support.

UnrealScript[]

* Console commands that are over 1024 bytes in length, or that return over 1024 bytes of data should now be safe to use.
* Added a new primitive type called "pointer". Pointer variables automatically adjust to the word width on the target platform. Native mod authors should use pointer variables to mirror a pointer type in C++.
* Added new Canvas functions to create arbitrarily-sized fonts on the fly. Please do not use these functions directly as they will cause your mod to be incompatible with earlier versions of UT. Instead, use the BotPack.FontInfo class to retrieve fonts that are appropriate for the client's screen size.
* Added the "TEXTURE MERGECOMPRESSED NAME=MergeWith FILE=HiResFile.PNG GROUP= " exec command. This command allows you to import and compress hi-res textures and merge them into an existing texture's compressed mipmaps.
* Added HandlePauseRequest to the mutator system, allows modders to modify the behaviour of players' pause button in servers.

Security[]

* Fixed several arbitrary code execution vulnerabilities.
* The Windows version of the game now has several security enhancements including (but not limited to) Data Execution Prevention (can be disabled with the -nodep command line parameter), SafeSEH, and ASLR support.

Anti-Cheat[]

* Revamped the UT v468 MD5 code. Older clients can connect to v469 servers now even if they don't support the MD5 extension. The server now also marks which files it wants MD5 checks for.
* MD5 checking is now disabled by default. To enable, set MD5Enable to True under [Engine.GameEngine] in the server's ini file.
* Added an auto-updater for the Packages.md5 list. The auto-updater will check for list updates once an hour if you have MD5Enable and MD5AutoUpdate both set to true under [Engine.GameEngine].

Networking and Netcode[]

* Restored demo compatibility with UT v436.
* Added workarounds for bugs that could cause player animations to break in demos or online play after installing high-resolution S3TC textures.
* Made improvements to the networking code to eliminate the infamous texture skating problem (in nearly all cases).
* The game no longer disables Download Managers if they encounter a non-critical error while attempting to download a file from the server. Previously, the game would stop attempting to download from redirect servers after encountering an HTTP error (such as HTTP 404).
* The game now shows the number of remaining packages while downloading from a server.
* Clients are far less likely to encounter package mismatch errors when connecting to servers, now a UT client can have multiple packages with the same name and the loader will select the right one (if present).
* Added bandwidth control for file downloads from the gameserver. The bandwidth control option overrides the MaxClientRate. It can be controlled in the server.ini file as follows:

[IpDrv.TcpNetDriver]
MaxFileDownloadRate=0   Maximum download speed in bytes per second

; Possible values for MaxFileDownloadRate:
; -1                    Send files at the maximum speed possible
;  0                    Limit the file download speed to MaxClientRate bytes per second. This is what UT did by default in versions 468 and below
;  any positive number  Allow download speeds of up to this amount of bytes per second.

Audio and 3D Rendering[]

* Screenshots now get stored in the "System/Screenshots" folder. UT will automatically create this folder if it does not already exist. We also removed the limit on the number of screenshots you can have in this folder and we now save screenshots in PNG format rather than BMP.
* Decals are now visible in fog zones.
* Integrated Cluster, a new FMOD-based audio driver with superior sound quality and hyper-realistic sound effects (Thanks han!).
* Integrated enhanced versions of Chris Dohnal's UTGLR OpenGLDrv and D3D9Drv. 
* Integrated OldUnreal's latest XOpenGLDrv. 
* Galaxy Audio is now considered deprecated. On Windows Vista and later, the game launcher will do an automatic one-time upgrade your audio subsystem to the latest version of the OldUnreal Cluster driver.
* Revamped the underlying audio code for sounds played using TournamentPlayer.ClientPlaySound. The revamped code should make playback volumes more consistent and should eliminate audio glitches such as crackling and screeching.

Miscellaneous[]

* UnrealEd and the game client are now large address aware on Windows. This means it is far less likely that you'll run out of virtual memory.
* Removed some outdated items from the in-game menu (e.g., ngWorldStats, mplayer, heat, won, ...)
* Rewrote some of the core timing routines so the game runs more smoothly (and with less glitching) on multicore CPUs and in long-running games.
* The Linux and Mac clients finally support unicode! The most visible consequence is that player names with non-ascii characters in them will now display correctly when playing on Linux servers (provided that you use font textures with the proper unicode glyphs).
* The game now uses UTF-8 as the prefered file encoding (unless a UTF-16LE BOM is found at the start of the file).
* Added selectedcursor support to the Linux and Mac clients.
* Added the -FORCELOGFLUSH command line option. This option makes the game/server flush the log file every time it is written to.
* Added the -SETHOMEDIR= command line option. Normally, the game looks for the UnrealTournament.ini and User.ini files in \~/.utpg/System (on Linux), \~/Library/Application Support/Unreal Tournament/System (on Mac), or in UnrealTournament\System (on Windows). With this option, you can override the preferences path (e.g., ./ut-bin-x86 -sethomedir=\~/.loki/ut/System).
* Added a menu option to control the Translocator's weapon switching behavior when pressing fire and alt-fire simultaneously.
* Made pulsegun and minigun lockdown a configurable option that is disabled by default.
* UnrealI and UnrealShare decorations can no longer be destroyed if they have bStatic set.
* Merged Unreal 227's UnrealI and UnrealShare AI fixes.

Patch ver. 469b[]

Release date: March 11, 2021.[16]

Version 469b is completely network compatible with all previous public releases of UT (down to 432). The UTPG and OldUnreal teams worked hard to maintain binary compatibility with older native mods. Most of these mods will continue to work in version 469b. However, some mods may need some trivial updates. If you are a native mod author, and you are having trouble updating your mod for version 469b, then please reach out to us at the OldUnreal forums. Note: This patch disables older versions of ACE. Server admins should upgrade ACE to version 1.1e or later to check 469b clients.

Patch Distribution[]

* The Windows and Mac packages are now digitally signed. This should significantly reduce the amount of false-positive malware warnings.
* Updated the included OpenAL Soft binary for Windows to version 1.21.1
* Updated the included FMOD Engine binaries for all clients to version 2.1.08
* Updated the included libcurl binary for Windows to version 7.72.0_3 (this version will hopefully generate fewer false positive detections by malware scanners)
* Updated the included SDL2 binaries for Linux and macOS to version 2.12

Stability Improvements[]

Unreal Editor[]

* Fixed a bug that caused ucc batchexport to crash while exporting native classes
* Fixed bugs that crashed Unreal Editor when attempting to import non-power-of-two (NPOT) textures
* Fixed a bug that caused Unreal Editor to crash when editing certain actor properties in the editactor window
* Fixed a bug that caused Unreal Editor to crash after undoing a transaction that had caused an actor to be renamed (e.g., a duplicate or copy/paste operation)
* Fixed a bug that caused Unreal Editor to crash after editing a combo value in the actor browser
* Fixed a bug that caused Unreal Editor to crash when rebuilding brushes with invalid brush links

Physics and Player Movement[]

* Fixed several FCollisionHash stability problems, including the infamous FCollisionHash::ActorLineCheck crash (thanks Eternity/Feralidragon!)

Game Client[]

* Fixed a bug that caused the game client to crash when resetting configuration options in the preferences window
* Fixed a bug that caused the game to crash when preloading very large textures
* Fixed a bug that caused the garbage collector to crash when loading maps with very long names

Audio and 3D Rendering[]

* Fixed a bug that caused Galaxy to crash during mapswitches if you had UseDigitalMusic set to false
* Fixed a bug that caused Galaxy to crash when playing a mono sound and a stereo/compressed sound simultaneously
* Fixed a bug that caused the game client to crash in scenes with lots of lights in them
* Fixed a bug that caused the game to crash in ProcessDrawCalls when attempting to render a ScriptedTexture with a high-resolution source texture
* Fixed a bug that caused D3D9Drv to crash when attempting to render textures with empty compressed mipmaps
* Fixed a directdraw initialization bug that caused SoftDrv to crash in fullscreen mode

Networking and Netcode[]

* Removed the NumInRec<=RELIABLE_BUFFER assertion which could still be reached by certain server crash tools

Bug Fixes[]

Unreal Editor[]

* Fixed a bug that caused the 3D viewport camera to jump when clicking and holding down a mouse button without moving the mouse
* Fixed texture compression artifacts in textures whose width or height were not multiples of 4
* Fixed a problem that caused constant idle CPU usage when using UEd with audio enabled
* Fixed an UnrealEd bug that made it impossible to assign songs to MusicEvents
* Pressing cancel in the file saving dialog now works as expected
* The mover node count check that happens during map saving now works as expected
* Fixed a bug that made UnrealEd's cleanup tool remove original actors too when trying to clean up their duplicates
* Fixed a bug that caused file saving failures for packages that generated compatibility warnings
* Fixed a bug that caused certain actor duplication operations to silently fail

Physics and Player Movement[]

* Restored actor touch behavior for older (<v469) clients and servers
* Fixed a bug that caused collisions with invisible level geometry when playing at extremely high frame rates

Networking and Netcode[]

* Fixed a bug that made the server stop responding to in-game browser queries if there were players in PlayerWaiting or PlayerSpectating state on the server
* Removed the file size check from the HTTP file downloader. This size check prevented players from joining servers when the redirect server sent them a file of a different generation than the one the game server was using
* Fixed a bug that caused certain actor properties not to update after becoming relevant to clients again
* Fixed a bug that made it impossible to play demos recorded on servers running very old versions of UTPure
* Fixed a bug that caused hidden viewtarget actors not to be replicated. This bug broke bunnytrack maps such as BT-OcarinaOfTime

Audio and 3D Rendering[]

* Fixed a bug that caused scriptedtextures (such as the ammo counters on the minigun, rocket launcher, and flak cannon) not to update properly
* Fixed a bug that caused the VSync menu option not to work for XOpenGLDrv
* Fixed a bug that made XOpenGLDrv render complex meshes incorrectly
* Fixed a bug that caused masked textures to render incorrectly in XOpenGLDrv
* Fixed XOpenGLDrv texture decompression for small textures and NPOT textures
* Fixed an ALAudio bug that caused sounds to play from the wrong location
* Fixed a Galaxy bug that broke sound spatialization
* Fixed a bug that caused Cluster to play interface sounds (such as voice taunts) with the wrong pitch
* Fixed a bug that could cause ALAudio music playback to stop randomly
* Fixed an XOpenGLDrv bug that caused smallwave textures to be rendered as unmasked textures
* Fixed an XOpenGLDrv bug that caused part of the viewport to be invisible when going into fullscreen mode from a max-sized window
* Fixed a bug that caused D3DDrv screenshots to be blank when using windowed mode
* Fixed a bug that caused D3D10Drv and D3D11Drv to change the windowed mode resolution when going into fullscreen mode using ALT+ENTER
* Fixed a bug that caused objects behind mirrors to be visible in OpenGLDrv and XOpenGLDrv
* Fixed a bug that made the shield belt effect visible while spectating a player with behindview 0
* Fixed a bug that caused unlit meshes in fog zones to be rendered without texturing
* Fixed a bug that caused the pulsegun to be rendered in the wrong position when holding it in your left or right hand
* Fixed a bug that made announcer sounds (such as CTF events) too quiet when using Galaxy
* Fixed an XOpenGLDrv bug that caused decals to render incorrectly
* Fixed a bug that caused textures to render with the wrong PolyFlags when setting UsePrecache to true in the renderer settings
* Restored the old sound culling behavior for older clients connected to 469 servers
* Fixed a bug that could cause sounds produced by moving actors to be culled despite being in range of the listener

UnrealScript[]

* Fixed a bug that made it possible to cycle through AnnouncerSpectators (which UTv469 uses to play announcersounds) using F5 or Viewclass binds
* Fixed bugs that made it impossible to load mods that imported color palettes from the original Botpack, UnrealI, or UnrealShare packages
* Fixed the broken polygon in the ripper gun
* Fixed a bug that made the ammo bar in the HUD not to scale properly at high resolutions
* Fixed a bug that caused the in-game voice menu to have large black borders under certain conditions
* Teleporting with the translocator no longer causes you to start falling if you were flying at the start of the teleport
* ViewShake now allows the camera roll to reset to 0 at high framerates (Thanks Deaod!)
* SendServerMove now sends the correct viewrotation to the server (Thanks Deaod!)
* The rocket launcher lock-on crosshair now scales correctly with custom crosshair scaling options (Thanks Deaod!)

Miscellaneous[]

* Fixed a bug that caused the game to parse commandline parameters incorrectly when the game was launched from a folder containing spaces
* Added the missing TTF fonts to the Linux patch package
* Fixed a bug that made Setup.exe not read the Manifest.int file in a umod if you already had a Manifest in your System folder
* Fixed bugs that broke savegame saving and loading on Linux and macOS

Enhancements[]

Unreal Editor[]

* Added a new package verification routine that can detect and fix up packages that are incompatible with previous versions of UT. This routine automatically runs while compiling/saving a package.
* Made the font size for the game/UEd log windows configurable in the ini
* Optimized bulk actor deletion
* Oversized textures in the texture browser now get clipped rather than ignored
* Added "Import CompMips" button to the texture browser. This allows you to import and compress hi-res image data and add it to an existing texture
* Made BC3/DXT5 the default compressed texture format for textures whose source image has alpha channel data
* The model points count is now visible on the build sheet

Game Client[]

* Made the game client automatically load the default viewport manager when the configured viewport manager fails to load (e.g., when trying to load SDLDrv on Windows)
* Made the driver and preference caching system filter out duplicates. This fixes the duplicate entries some Linux and macOS players were seeing in the game menus (e.g., in the list of game types or skins)
* The top right corner of the in-game menu bar now includes additional version information
* The renderer no longer gets destroyed when switching between windowed mode and fullscreen mode
* The Linux client now has an (experimental) wxWidgets-based launcher (wx-ut-bin-). This launcher adds support for the "preferences" console command. It requires wxWidgets 3.14 or later. (Thanks Buggie!)
* The client now retains the INI, USERINI, LOG, LANPLAY, and NEWWINDOW command line options when relaunching

UnrealScript[]

* Restored compatibility with a couple of older mods that replace the game menu
* Added new crosshair rendering options to the in-game menu
* Merged several improvements to the in-game voice menu, including numbered labels, larger lists, and scrolling in larger steps. (Thanks Buggie!)
* CTF flags now automatically respawn and get returned to their flag base if they get destroyed. This allows CTF flags to work on maps with CloudZones or TriggeredDeath triggers. The fix is enabled by default but can be disabled by setting Botpack.CTFGame.bAutoRespawnFlags to false. (Thanks Buggie!)
* The pulse beam no longer despawns if you hold the pulsegun altfire button for more than 60 seconds

Audio and 3D Rendering[]

* Restored distance culling and sound dampening for occluded sound sources in Galaxy and Cluster
* Made Cluster reset all music channels when looping tracker music
* Increased the draw distance in D3D9Drv
* Restored compatibility with legacy audio drivers from earlier windows patches (although you may have to use the -nodep commandline switch)
* Improved XOpenGLDrv performance (particularly for people with older GPUs)
* Revamped OpenGLDrv shader code
* Enabled Ogg Vorbis support in all audio drivers and in the UnrealEd music browser
* Added more VSync control options to the in-game menu
* Added audio output selection options to the in-game menu (supported by ALAudio and Cluster)
* Increased the size of the vertex selection markers when using OpenGLDrv or D3D9Drv

Miscellaneous[]

* Added a menu option to control the Translocator's weapon switching behavior when pressing fire and alt-fire simultaneously. This option will only affect local games or games on 469b (and later) servers.
* The garbage collector now tracks and cleans up actor references stored in object default properties

External links and references[]

  1. Rein, Mark (December 9, 1999). "Unreal Tournament Version 402 Patch Now Available". UnrealTournament.com. Archived from the original on July 7, 2000. Retrieved May 23, 2019.
  2. Gibson, Steve (January 11, 2000). "UT 405b Patch Released". Shacknews. Archived from the original on June 15, 2018. Retrieved February 20, 2020.
  3. Polge, Steven (March 27, 2000). "New Version of Unreal Tournament". Epic Games. Archived from the original on June 20, 2000. Retrieved May 22, 2019.
  4. Polge, Steven (April 17, 2000). "IpDrv.so Update for Linux 413". Epic Games. Archived from the original on June 20, 2000. Retrieved May 22, 2019.
  5. Polge, Steven (May 22, 2000). "Unreal Tournament Patch v420 Released!". Epic Games. Archived from the original on June 20, 2000. Retrieved May 22, 2019.
  6. Polge, Steven (August 1, 2000). "Unreal Tournament Patch v425 Released!". Epic Games. Archived from the original on August 15, 2000. Retrieved May 22, 2019.
  7. Polge, Steven (August 2, 2000). "Epic partners with Loki for Unreal Tournament Linux support". Epic Games. Archived from the original on August 15, 2000. Retrieved May 22, 2019.
  8. Polge, Steven (August 13, 2000). "Unreal Tournament Patch v428 Released!". Epic Games. Archived from the original on August 15, 2000. Retrieved May 22, 2019.
  9. Polge, Steven (October 5, 2000). "Unreal Tournament Patch v432 Released!". Epic Games. Archived from the original on December 3, 2000. Retrieved May 22, 2019.
  10. Marshall, Warren (October 9, 2000). "UnrealEd v432 Fix". Epic Games. Archived from the original on December 3, 2000. Retrieved May 22, 2019.
  11. Polge, Steven (November 7, 2000). "Unreal Tournament Patch version 436 released!". Epic Games. Archived from the original on December 3, 2000. Retrieved May 22, 2019.
  12. "UTPG Patch 440 Released". Unreal Tournament Preservation Group (february 17, 2003). Archived from the original on November 30, 2004. Retrieved May 22, 2019.
  13. "Patch 451 Released". Unreal Tournament Preservation Group (May 12, 2003). Archived from the original on November 30, 2004. Retrieved May 22, 2019.
  14. "UTPG 451B released". Unreal Tournament Preservation Group (May 12, 2003). Archived from the original on November 30, 2004. Retrieved May 22, 2019.
  15. AnthraX (September 23, 2020). "Unreal Tournament v469a Patch Release". OldUnreal. Retrieved Mar 11, 2021.
  16. AnthraX (March 11, 2021). "Unreal Tournament v469b Patch Release". OldUnreal. Retrieved Mar 11, 2021.

See also[]

Advertisement