Difference between revisions of "227 release notes"

From Oldunreal-Wiki
Jump to navigation Jump to search
Line 1,432: Line 1,432:
* Improved FluidSurfaceInfo to use a faster math algorithm and added a few extra features. Also added a FluidSurfaceOscillator class to generate constant waves at one spot. WARNING: Had to move FluidSurface from Engine to Fire due to dependencies the updates required and to clean up some things.There are not many maps out there using it yet, if at all, but now the performance is significantly improved it will be used more in future I hope. Just keep in mind that you need to redo 227h Fluids in your map if used.
* Improved FluidSurfaceInfo to use a faster math algorithm and added a few extra features. Also added a FluidSurfaceOscillator class to generate constant waves at one spot. WARNING: Had to move FluidSurface from Engine to Fire due to dependencies the updates required and to clean up some things.There are not many maps out there using it yet, if at all, but now the performance is significantly improved it will be used more in future I hope. Just keep in mind that you need to redo 227h Fluids in your map if used.


* Added OldClientCompatMode. This enables a hack which fixes the connection issues with 226f clients, meaning that every old version (224,225,226b,226f) can connect to 227 servers now. Epic and Legend broke the compatibility between classic Unreal 226f and UnrealGold, where both versions were conformed against 225, which made 225 the only server version for both these two and the following versions. 227 suffered all the time from this, but since the mistake happened long in the past there was no suitable fix for it yet.
The feature was tested intense and very carefully, it seems to work without any problems or side -effects. It is still a hack and will be globally enabled for all old clients once active, so it can be disabled if necessary.
Note that this will not fix any 226f specific bugs and mods that are already broken on 226f.
While I still can only encourage everyone to move on 227 nobody needs to feel forced to with this option and server admins can make use of the advantages of 227 without being afraid of losing players.




Line 1,512: Line 1,517:


* Fixed UED2: order of how things are build when doing "Build all", which seems to make a significant difference in reducing holes.
* Fixed UED2: order of how things are build when doing "Build all", which seems to make a significant difference in reducing holes.
* Fixed UED2: import for 32bpp pcx, crashed before (but still suggest using bmp instead for that).
* Fixed a bug with NavigationPoints
* Fixed bUseLitSprite on AlphaBlend sprites
* Fixed UED2.1: "Select Inside" was selecting static mesh movers outside.
* Fixed a couple of possible loopholes and security flaws in UCC Masterserver commandlet to make it more reliable and stable
* Fixed OpenAL may crash when trying to load crippled or truncated sound data
* Fixed a flaw in "Path=" parameter in Unreal.ini section [Core.System] so it is able now to read also .int files in custom directories, like: Paths=..\SystemInt\*.int
* Fixed PlayerCanSeeMe() function.
* Fixed Aura3.Luckshot not working anymore
* Fixed UED2: Transform permanently to keep U/V mapping perfectly intact.
* Fixed some problem in logging system which could cause a corruption in Security.ini
* Fixed some boulder decal issues which caused the decal to be displayed cut off.
* Fixed UED2: brush clipping resulted sometimes in brushes with vertex rounding errors.
* Fixed UED2: undo to work with vertex editing.
* Fixed -strict commandline parameter to cause crashes in critical functions only. This way it can be used by modders or serveradmins who prefer a crash instead of a log only, for debugging purposes


== Special Thanks & Credits==
== Special Thanks & Credits==

Revision as of 09:33, 13 September 2012

Oldunreal Patch Version 227

This patch was made to offer all Unreal players a new, completely overworked and fixed version for our old "love". Although the main target was bugfixing, many improvements have been made and a lot of additions found their way into this new version. The general gameplay and the game itself was not touched and it should remain 100% compatible to old mods and maps. Also it is still possible to join older servers with this version (as long these servers are not using some kind of anticheat system which doesn't know 227 yet). 227 can be still used as Server for older Clients like 224, 225 and UnrealGold (more details can be found in the WIKI-FAQ: Oldunreal_227_FAQ).

New renderers like D3D8, D3D9 and a heavily improved OpenGL (all based on UTGLR with permission) and new sounddevices like OpenAL and FMod have been added but the "old" versions like D3D and Glide for graphics and Galaxy for sound have been kept.

Many security fixes have been implemented for both client and server. A new check was built in to detect hacks,bots and other cheats. Details about that can be found here: Integrity_(Anticheat).

A Linux port has been created supporting software rendering with SDLSoftDrv and hardware accelerated rendering with OpenGL for graphics output. It offers OpenAL and FMOD for sound and music. This version is completely native and supports to run Unreal as client and as server. Although advanced options are not available every setting can be made within the UnrealLinux.ini and Unreal is fully functional. There is no UED port for Linux and there is no UED port planned at the moment, but included UED2 is working with wine. Currently Linux users have to install the basic version and the patch with wine but once installed the game can be started and used completely native. A native Linux installer is maybe available soon but it needs permission from Epic first.

All other additions are optional, don't interfere with the older versions and may or may not be used in future maps and mods. Thats up to the community. All this should ensure that the game stays like we all know it and love it- just "fixed" and for those who want- enhanced.


If you like this patch you can help me to keep this project alive with a donation, even with very small sums you can help me to improve this patch, or to buy new hardware for testing purposes, it allows me to spend more time for development and to pay for the website.

This package was created with knowledge and permission of Epic MegaGames, Inc. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. These updates are made by Oldunreal, and are completely free. The package may be redistributed without the author's prior permission, and must remain unmodified, but if you offer them for download somewhere please refer to my page.

This package can be offered for download everywhere as long it is of no charge. This means especially those filesharing pages in which you have to register (and maybe pay) to get it. If you can't offer it for free don't put it on your page. The license for OpenAL (www.openal.org, made by Creative Labs, Inc, www.creativelabs.com) and the license for FMod (FMOD Sound System, copyright © Firelight Technologies Pty, Ltd., 1994-2005, www.fmod.org) which are used and shipped with these patches forbid a commercial use in any way too.

Related Topics:

OpenAL

Feature details and settings in OpenAL Sound

FMOD

Feature details and settings in FMOD Sound

OpenGL / D3D8 / D3D9

Feature details and settings in the included renderer

[26.12.2007 / 10.02.2008] Initial 227a and 227b release information

A native Linux port is now availible, which runs with OpenGL and SDLSoftDriver for grafix and FMOD for sound. Built in SuSE, works on LFS as well, but needs glibc2.3.

  • New renderers have been added:

OpenGL, D3D8 and D3D9 are completely reworked and heavily improved with the files from UTGLR: http://www.cwdohnal.com/utglr/ These renderers support S3TC Textures and make Unreal compatible with most recent grafix cards.

  • New Sounddrivers OpenAL and FMOD:
  • Added: OpenAL

Provides hardware support for recent soundcards (best for creative cards), EFX (EAX) reverb soundeffects and full support for multispeaker setups.

  • Added: FMOD

Provides hardware support for recent soundcards, original Unreal reverb soundeffects and full support full support for multispeaker setups.

  • Added: For ban and kickban there are the following commands:

uhelp: Prints the explanations below uplayers: shows for all players the name, ID, IP-Address, IdentNr and Identity ukickid: kicks a player with a given ID ubanid: kicks and bans a player with a given ID (full ban by IP and Name, even after a restart of the game/server) ubanlist: shows a list with all banned players uunban: unbans a player with the number X (see in banlist for the ban-number) utempbanid: kicks and bans a player until server is restarted utempbanlist: current list of temp-banned players utempunban: unbans a tempbanned player with the number X (see in tempbanlist for the ban-number) utempunbanall: unbans all tempbanned players

  • Added: Supports footstepsounds and footprints

but to use these new features, the texture properties need to be changed, there are now 4 slots for different sounds (FootStepSound) the texture produces when walking on, and one variable (Footprint) which defines if, or if not, the texture shows a footprint when walking on.

  • Added: UI-FX

Particle Emitters, Weather Simulator, Vegetation Generator and many things more. Details can be found in the forums.

  • Added: Supports skeletal meshes like in UT
  • Added: Supports HTTP-redirect for downloading maps (like in UT)
  • Added: Widescreen adjustment:

Widescreen users can now adjust the FOV to adjust Unreal better for their screens (Maybe some mods will override this setting).

  • Added: a new setting in NetDrv:

AllowOlderClients True/False If set to True, 224,225 and UGold Clients can join the server, if False, they will get the Upgrade Message. But either way, there is a problem. Since the upgrade URL is defined in UpgradeMenu.uc, old clients will be redirected to the old dead upgrade page, and there is nothing I can do about that.

  • Added: Coop options for easy configuration of Weapon, Items, Flares and Seeds spawn time:

bInstantWeaponRespawn bInstantItemRespawn bHighFlareAndSeedRespawn FlareAndSeedRespawnTime

  • Added: A new and fully working quadshot

replaces the old unusable and unfinished quadshot

  • Added: Decals have been added to all Unreal weapons (including the monster weapons):

Decals can be added to custom mods as well, but can be turned off if wanted All weapon decals{or subclasses of Scorch} will have a configurable variable called: DecalLifeSpan. This variable effects ONLY clients. Servers need not apply. Default is -1. -1 = default behavior, the effects will disappear upon not being rendered for some amount of time. 0 = infinite. Decals will NEVER disappear. use at your own risk. >0 = time in seconds, 1.1 is 1.1 seconds. 30 is 30 seconds. this is located under "Decal" then "Lifespan" in preferences

  • Added: Supports new difficulty levels (up to 6) for Coop & Singleplay:

Needs to be set with command-line parameter ?difficulty=X (X=4,5 or 6)

  • Added a new parameter for commandline: -timestamplog

which will force Unreal to put a Timestamp after the logfile name. So if you would simply startup unreal with -timestamplog, the logfile will be: UnrealYear_Month_Day_Hour_Minute_Second.log If you start it up with -log=server.log -timestamplog, the logfile will be: ServerYear_Month_Day_Hour_Minute_Second.log

  • Added: New Blood effects:

Gibs now have blood impact decals. If enabled on client and the server is 227, dynamic blood splatter will occur on all standard(and most mods) pawns/carcasses. If enabled on server, bleeding will occur, damage is optional. Blood pools will spawn for killed pawns.

  • Added: 2 new engine consolecommands:

GameInfo.ConsoleCommand "GetPreLoginAddress", can be used during Event Prelogin call for retreiving the connectioning client's IP PlayerPawn.ConsoleCommand "UGetIP", smilar to GetPing but returns instead the Client IP.

  • Added: Zoneinfos

If a new damage type and zoneDamageString is supplied in a damaging zone, players will now recieve that death message.

  • Added: Updated UBrowser Server browser:

Bigger default vertical size of that window to show full info of all servers (servername, players, ping, IP, port etc...), without having to resize it.

  • Added: server version number to appear on server list like in UT.
  • Added: a "Join with password" button option when you right click at a server from the list.

"Join with password" window has an ability to save the password so next time you normally connect to that server (through UBrowser) it automatly uses that password. When connecting to an "unknown" server (one where you havent desired any password for) it will join with a randomly generated password to protect you from password stealing.

  • Added: a "U227GameRules" class:

can enhance serverside mutator;s, such as modifing player spawn point, modifing damage, preventing deaths, blocking/modifing chat messages etc... But note that some of these functions may *not* work with some custom game types that modifies the game. Also using this class will force your mod to be for 227 use only, so try to keep it in use only on server (a nondownloadable package) so older clients can still join the server aswell.

  • Added: a new JumpPad class, UJumpPad
  • Added:a new setting for Mousehandling to enhance precission with high-resolution mice:

Mouse smoothing can be turned off.

  • Added: Now 2 menus are availible:

Unreal classic-style and new UMenu (Unreal Gold) style.

  • Added: Naliplayer can now be played ingame
  • Added: New implementation allows to use localized chars such as "ö,ä,ü" or other language specific symbols while using say
  • Added: uses UED2 for Map-Editing

[30.03.2008] 227c release

  • Fixed: quadshot accessed nones.
  • Fixed: Player "fell out of the world!" when walking over decorations.
  • Fixed: SoftwareRendering didnt work in fullscreen mode.
  • Fixed: coop server item respawn bug.
  • Fixed: Cant find ByteProperty'VoicePitch'.
  • Fixed: Vortex2 Bug (Playerstart).
  • Fixed: Sound pitch changes.
  • Fixed: ExtremeLab tubeportals (warpzones) are to slow .
  • Fixed: OldWeapons.u didnt make it into 227b although promised - (sorry for that one).
  • Fixed: The widescreen support is not being applied online.
  • Fixed: UMenu HUD no preview.
  • Fixed: Error handler not working.
  • Fixed: UMenu - Playersetup - Teamcolor wasn't read out of user settings.
  • Fixed: error not being able to see PreLogin error on Mid-Screen (just as server is at capacity).
  • Fixed: player spidering movement issues.
  • Fixed: player spidering animations to better one.
  • Fixed: NaliPlayer to use UT'99 NaliPlayer model (one which has weapon triangle).
  • Fixed Linux: shift key not working by default in (ini setting).
  • Fixed: possible coopgame server crash when monster is attacking a player while leaving.
  • Fixed: bug with skaarj not behaving correctly in vortex2.
  • Fixed Linux: SDLGLDrv for Linux. Although maybe a bad idea to use it for playing (it lacks many features and is really not very

far advanced), it may be useful for debugging or for some low-end systems. To use it, you need to start it with "./UnrealLinux.bin -noforcesdldrv".

  • Fixed Linux: UBrowser select input keys not working.
  • Fixed Linux and added SDLSoftDrv for - now there are OpenGL and Software rendering for Linux version.
  • Fixed: UWindow Win95 LookAndFeel some rendering errors (with menu backgrounds and buttons).
  • Fixed: some problems with older clients and mods.
  • Added: Never switch on pickup option, so client can chose whatever they automatly switch to best weapon on pickup.
  • Fixed: TraverseForm crash (on some maps).
  • Fixed: OpenAL some sounds not playing correctly.
  • Fixed: some weird warpzones crashing Unreal when playing online.
  • Added: EngineSubVer variable to LevelInfo to define version number (1=a, 2=b, 3=c).
  • Added: ServerQuery to add EngineSubVer for GameVersion number (227 + a/b/c/d etc..).
  • Added: that older 227 clients (227a, 227b) can't join newer 227 version servers (227c). Thats a precaution because this will crash the older client. Unfortunately there is no way to fix this problem without losing compatibility with older 224/225/UGold clients, so its out of question and
  • Fixed: Removed "SpawnPlayActor" and "Incoming travelling actor" logging.
  • Fixed: Console set to ";" key in Linux
  • Fixed: UMenu player class selection mesh scale - adjusted to work for naliplayer as well.
  • Fixed: another few server fixes for reported crashes (details of these wouldn't help anyone here :) )
  • Added: Enhanced the UWindow EditBox to make it possible to select text with mouse and Copy/Paste text in it.
  • Added: a Music Player Menu (now default key to open it on F8), which lets you listen to custom musics while playing. Be

aware that many anti-cheat mods may not like the custom musics!

  • Added: On UMenu.UnrealConsole, you can enable UWindow debug mode (Tools > Debug mode) to debug your own menus while making them.
  • Added: UMenu: Win 95 "LookAndFeel" as selectable GUI interface option now.

[05.04.2008] 227d release

  • Fixed: Slithprojectile not vanishing on dedicated servers.
  • Fixed: Spawning many Skaarj Player Bots may crash Unreal.
  • Fixed: Server wandering port - essential fix for server admin
  • Fixed: DmRetrospective not showing gibs
  • Fixed: Inventory HUD bug, charge being drawn from one side to another
  • Fixed: Quadshot pickup sound and switch to other weapon if 0 ammo. Not being able to select/deselect when 0 ammo but still ammo loaded in the barrels, size adjusted.
  • Fixed: Black screen bug caused by division by 0, an obscure bug, will help a few mods.
  • Fixed: Client not directly connecting after downloading a map
  • Added: Changed console behavior to display messages without calling it once first
  • Added: Translator message for hints

[19.07.2008] 227e release

  • Fixed: OpenAL in Linux version
  • Fixed: loading savegames in Linux version crashed game
  • Fixed: UBrowser Menu (classic) for Linux
  • Fixed: Galaxy reverb crashes.
  • Fixed: bleeding damage ignoring settings
  • Fixed: slow download speed for server without redirect.
  • Added: a new option AllowFastDownload:

True = Speed like older servers False = Reduced speed like pre 227e servers for low bandwidth connection Servers

  • Added: Built-in ban manager has been changed to save all bans in a new file called "Security.ini"
  • Fixed: so last jump dosent cause an "ghost" jump in online games.
  • Fixed: support with multiple jumpboots (custom mods).
  • Fixed: broken shield effect on online games.
  • Fixed UED2: crashed when using MyLevel
  • Fixed UED2: crashed when closing it
  • Fixed UED2: group browser checkbox was inverted
  • Fixed UED2: after you load script with longer name, with first letter of script with name you are trying to load you CANT load it (for example, you cant loading Male after loading MaleOne)
  • Added: support for playing special Nali/Male 1/Female 2 skins.
  • Added: support for importing and playing Ogg Vorbis music files (in editor on Music Browser or in game as map music). (For OpenAL and FMod use only!)
  • Added: FMod: ALAudio alike "AStat Audio" and "AStat Detail" commands.

Fixed the reveb issue with maps like QueenEnd.

  • Added: in a new option to enable Sound Attenuate (sounds that are played behind walls are heard in lower volume).
  • Added: IP/Name/ID playerlogger for Servers and messaging it for server admins/server log which will stored in Security.ini too if GameInfo bMessageAdminsAliases/bLogNewPlayerAliases are true. Like the banning system, this feature is only available for 227 clients.
  • Added Web-Administration support with administration page.

Features: Restart map - Restart currently playing map. Switch map - Switch map to selected map/game/mutators (note that maplists configure must be enabled to access maplist). Current game - You see list of players (ID/Name/Ping/Score/IP) and controls to Kick/Ban them. Server console - See a list of chat messages in server aswell a command line where you can chat with the players to execute a command on server. Banlist - See a full list of all banned clients, also lets you unban them. Defaults - Server configure page: Main Game config - Lets you configure basic game rules (such as max players/server packages/server actors/redirecting etc). ServerInfo config - Lets you configure public server rules (such as server name/admin name/MOTD). Maplists - lets you configure maplists (for DeathMatch based games, NOT for Coop). Mod Configures - Custom mods configures page (by default it contains configures for DeathMatch, TeamGame, Cooperative). Changed to little better interface and added a config option for the new 227e AllowFastDownload flag. Read the included UWebReadme.txt for more info.

  • Added in an "OverridePrelogin" function for GameRules to modify prelogin allowance or something (its called directly after GameInfo Prelogin).
  • Added in a new class 'PlayerClassManager' which allows custom mods to temporarly adding in to player settings some new player classes/skins for that game only.
  • Added: in Actor a new variable bNetNotify and a new event PostNetReceive, can be used by mod authors for notifing whenever a replicated variable has been changed on client (whenever bNetNotify is True).
  • Added: in Ubrowser a config option to set initial startup page (Advanced Options > Networking > UBrowser > InitialPage).
  • Added some new native functions to enhance Uscripting:

Object: native final function Object FindObject( Class ObjClass, string ObjectName ); Find an object based on object name/class.

native final function Class GetParentClass( Class ObjClass ); Get Parent class of a desired class.

native final iterator function AllObjects( class BaseClass, out Object Obj ); Iterate through all objects in game.

native final iterator function AllFiles( string FileExtension, string FilePrefix, out string FileName ); Iterate through all Unreal Package files (u, umx, utx, uax...).'

Actor: native final function Actor SpawnAct( Class ActClass, vector Loc, optional rotator Rota, optional name ActName, optional Actor Own, optional Pawn Instigat, optional Actor Template, optional bool bMayColFail ); Spawn an actor class with some additional parameters.

native(1722) final function bool CanReachPoint( vector Start, vector End, float ColRadius, float ColHeight, float JumpZ, float XYSpeed ); A point reachability function for AI use.

static native final function NativeExec( string Cmd ); Pretty much same as 'ConsoleCommand' except it's static function.

LevelInfo: static native final function byte GetConState( NetConnection Other ); Get connection state out of a net connection.

static native final function string GetConIP( NetConnection Other, out int Port ) Get net connection IP aswell as Port.

static native final function string GetConOpts( NetConnection Other );
Get net connection options (?Name=(Leader)-Dante?Class=UnrealShare.Male3?etc...).

native final function bool HasDownloaders(); Fast check if current game has some downloaders.

native final iterator function AllConnections( out NetConnection Connect ); Iterate through all connections currently on server.

native final iterator function AllDownloaders( out NetConnection Connect, out string File, out int Sent, out int TotalSz ); Iterate through all downloaders on server.

native final function PointRegion GetLocZone( vector Pos ); Get the zone out of a desired location.

native final function Object AllocateObj( Class ObjClass ); native final function FreeObject( Object Obj ); For storing temporarly objects/actors that can be reused later.

NavigationPoint: native final function int GenReachSpec( Actor Start, Actor End, int Dist, int ColR, int ColH, int RchFlgs, bool bPruned ); Generate reachspec for current map.

native final function bool EditReach( int Idx, optional Actor Start, optional Actor End, optional int Dist, optional ColR, optional int ColH, optional int RchFlgs, optional bool bPruned ); Edit an excisting reachspec in current map.

native final function bool RemoveReachSpec( int Idx ); Remove a reachspec from the current map.

Canvas: native final function Draw2DLine( Color Col, vector Start, vector End ); Draw a 2D line on the screen.

native final function Draw3DLine( Color Col, vector Start, vector End ); Draw a 3D line in world.

native final function vector WorldToScreen( vector WorldPos ); Convert world coordinates to screen coordinates.

native final function vector ScreenToWorld( vector ScreenPos ); Convert screen coordinates to world coordinates.

native final function DrawPathNetwork( bool bOnlyWalkable ); Render current map's path network (with 3D lines).

native final function coords GetCameraCoords(); Get the current camera location and rotation.

  • Added: a new command for server admins : admin UGetConnections it shows current connection ips, player names, and downloading status
  • Added: a new emitter particle system (Emitter.u/Emitter.dll) which is handeled 99 % in C++ scripts (giving a huge speed boost), with realtime preview support in Editor.

For full features list, check Particle Emitter page.

[14.05.2009] 227f release

  • Fixed: dynamic array accessing bug: Code: local array<string> SomeArr; SomeArr[0] = "Value 0";
  • Fixed: bugs in banning system and allowing IP-range banning.
  • Fixed: additional crashes from AI navigation on maps with broken path network.
  • Fixed: TeamChat messages to show sender player name aswell as show the message in yellow rather than white.
  • Fixed: Volumetric lighting to not mess up when being "overused" (as example with Aura weapons).
  • Fixed: a script warning that Fly and SinglePlayer(game) would sometimes cause.
  • Added: Changed GameRules to have different flags for different functions to be called on it (in order to save server resources).
  • Added: Upgraded banning/temp banning/client logger to be based on a dynamic array to support unlimited amount rather than some static amount (such as max 1024 log entires).
  • Fixed: banning so its possible to ban older clients by IP address aswell as it supports IP range banning (i.e: 1.2.0.0-1.3.255.255).
  • Added: Changed music menu musics list and favorites server list to be based on dynamic arrays as well for same reasons as above.
  • Added: Changed music menu file browser, when you double click music file it will automatly load the package and search for musics in them.
  • Fixed: a bug with player skin selection menus, when you have skeletal mesh skins and switch between 2 that have different animation sets, their animation sets could go wrong.
  • Fixed UED2: OpenGL selection problems and S3TC support
  • Fixed UED2: select surfaces by group in
  • Fixed UED2: red selection brush and movers can't be seen through walls in OpenGL
  • Fixed UED2: Tooltips not working
  • Fixed: if ghosting out of a mover (such as nali boat) you were still "bound" to it
  • Fixed: Linux bug: new resolution setting was not saved in ini when using ubrowser console or setres command
  • Fixed: some MasterServer issue with "Unknown Error Processing Port"
  • Fixed: old console causing "out of memory error".
  • Fixed: squid not attacking correctly
  • Fixed: UED2: D3D in does not show Zoning or BSPCuts
  • Fixed: ANIM NOTIFY for skeletal meshes
  • Fixed: Linux client crashing when disconnecting from server
  • Fixed: D3D8, D3D9 and OpenGL are not updating mover lighting (f.e. in Naliboat)
  • Fixed: OccludeBSP in-game crashes in very large maps
  • Fixed: feature: LightEffect LE_Spotlight and LE_StaticSpot lits up meshes correctly now
  • Fixed: WarpZones from generating odd errors in offline/online games when walking through them
  • Fixed Linux: lightmap bug
  • Fixed Linux: version crashing if wet/ice/scripted textures were made with S3TC textures.
  • Added new options for renderers:

FullMeshRendering (True/False) - This solves the problem with disappearing meshes (like Trees if you are very close) - could be a heavy performance drain on low end machines, so it's optional.

  • Dynamic Array support has been improved:

Added dynamic array length accessing functions: native(640) static final function int GetArraySize( ArrayProperty ArProp ); native(641) static final function bool InsertArrayIdx( ArrayProperty ArProp, int Offset, optional int Count ); native(642) static final function bool RemoveArrayIdx( ArrayProperty ArProp, int Offset, optional int Count );

  • Added: server downloaders info is automatically broadcasted to all admins (+ all other players if enabled).
  • Added: for GameRules modifier to desire whatever if client is allowed to download some file off server or not. Can be used like this:

function TestFunction() { local array<int> TestArr; Log(GetArraySize(ArrayProperty'MyMod.MyClass.TestFunction.TestArr')); }

  • Added: 3 new commandlets:

Editor.StripSource - strip the text buffers from script packages. Editor.DumpInt - generate a *.int file out of some desired package.

  • Added UED2: "OpenGL" into selection menu for rendering devices
  • Added: a new menu "Admin menu" which lets server admins get an easier control over kicking/banning/listing.
  • Added: "Grab", "AdminMenu" and "Toggle Behindview" keys in "configure keys" menus.
  • Added: that Servers now reports server OS on serverinfo (Windows/Linux).
  • Added: support for ALAudio/FMod to set Ogg music looping points.
  • Added: UWindow menu kick message support (using clientmessage and message type 'Networking').
  • Added: math functions for Coords (for advanced rotation support)
  • Added: UScript preprocessor:

In order to use preprocessor you have to call ucc with following parameters: ucc uengineppc.parse project=[<project_dir>/<project_file>] [-option...] [-globals...]
Details: UE1PreProcessorCommandlet

  • Added: distance fog support for mappers to use (you can simply define in ZoneInfo distance fog start/end distance and color).
  • Added: a new page to the setup wizard which allows to chose the sounddevice at first start (OpenAL/FMod/Galaxy)
  • Added: "Change audio device" button to Unreal recovery mode (for windows), just in case some audio device causes trouble.
  • Added: bSoundAttenuate [True/False]:Attenuate Soundsources which are behind walls etc. for OpenAL
  • Added: Dynamic Corona: a corona which can be spawned/moved/deleted in game aswell as has some additional properties (ideas from UT2004; such as directional corona, close/ranged distance colors, max size).
  • Added: Sunlight Corona: another corona but it renders as sunlight corona, the direction of actor defines sun position in sky (only renders when you have direct contact with the sky. As in addition you can add lensflares with it.
  • Added: ZoneInfo->ZoneTimeDilation: lets you slow down/speed up the actors locally within 1 zone only.
  • Added: A new query method has been implemented to speed up serverbrowsing when multiple masterservers are used.
  • Added: new admin command: uknownnames: prints out known and used names from players currently on server

since some string length limitation its not able to use it for ingame admin purposes (except directly on the server console), but for mods.

  • Added: a "Dynamic" ZoneInfo actor, which is basicly a zoneinfo actor which can be spawned/destroy/moved in game. It works using simple zone shapes. This will allow mod authors to make some summonable lava/water blocks or mappers to make some rising water effect easy.
  • Added "Master of the Woods" also known as Woodruff. Small addition to have some alternative for the bandage. Its a small and fast growing plant with +5 healing.
  • Added: New UnrealScript native functions

native(643) Final Function AppSeconds(Out Float OutTime); Returns how long the application has been running in seconds, ie 1.1 = 1.1 seconds. This can be useful f.e. for server uptime. Usage is as follows: AppSeconds

native(197) static final function float Acos ( float A ); The missing Acos function, also known as "ArcCos".

native(126) static final function int InStr ( coerce string S, coerce string t , optional int Start ); If Start is not defined, less or equal 0 or greater then number of characters in S, then standard InStr is performed (if the string T is found inside S, the number of characters in S before the first occurance of T is returned). If Start is greater then 0 and less then number of characters in S then function will try to find T in S after first Start characters. If function fails to find T in S, then -1 is returned. It will not break backward compatibility.

native(1718) final function bool AddToPackagesMap( optional string PackageName, optional bool bSkipSecurityCheck ); Adds some package to sandbox (server packages) temporarly for current map only (very much alike UT2004' one).

native(1719) final function bool IsInPackageMap( optional string PackageName ); Check if some package is current available in sandbox (server packages).

native(1720) final function vector GetVertexPos( int iVert, bool bAnimatedFrame ); Return world position of a single vertex on meshed actor.

native(1721) final function int GetVertexCount(); Return the amount of vertexes in single mesh actor.

native(1722) final iterator function AllFrameVerts( out vector iVertex, bool bAnimatedFrame );
Iterate through whole frame of vertexes in a mesh actor.

native(1723) final function int GetClosestVertex( vector CheckPos, bool bAnimatedFrame, out vector ResultVert ); Get the closest vertex to some point in world position.

native(1724) final function int GetBestTraceLineVertex( float MinDot, vector CheckPos, vector CheckDir, bool bAnimatedFrame, out vector ResultVert ); Check for best vertex result in line check

native(1725) final function bool MeshTrace( vector Start, vector End, out vector HitNormal, out vector HitLocation ); Perform a 3D mesh line check, returns False if did not hit.

native(636) static final iterator function AllLinkers( out name PackageName, out string FileName, out string GUID, out int NmCount, out int ImpCount, out int ExpCount, out int FileSize ); Iterate through all linkers and get some general information about the packages (very much alike 'Obj Linkers' but in a faster method).

native(637) static final function Object GetDefaultObject( Class<Object> ObjClass );
Get the default object of some object/actor.

native(635) static final function int Ceil( float f ); Returns f rounded off to the next higher whole number.

native static final function bool Divide( coerce string Src, string Divider, out string LeftPart, out string RightPart ); Divides a string and returns the two parts.

native static final function bool ExtractString(string Src, string LeftDivider, string RightDivider, out string MidString, optional bool bAdvanced); Returns a string from between Left and Right Divider: if bAdvanced is false: Src = string1(string2)string3 LeftDivide = (RightDivider = ) result MidString = string2 if bAdvanced is true it takes occurance of LeftDivider into account: Src = string1(string2(string3)string4)string5 LeftDivide = (RightDivider = ) result MidString = string2(string3)string4

native(257) static final function bool LoadPackageContents( string PackageName, Class<Object> ListType, out array<Object> PckContents ); Load an enitre package and give out the contents of it (returns false if package failed to load).

[05.04.2011] 227g release

  • Added: "Change audio device" button to unreal recovery mode (for windows), just in case some audio device causes trouble.
  • Added: Coords maths functions (for advanced rotations):

Code: native(330) static final operator(16) Coords * ( Coords A, Coords B ); // Rotate coords A by B native(331) static final operator(34) Coords *= ( out Coords A, Coords B ); native(332) static final operator(34) Coords *= ( out Coords A, rotator B ); // Rotate coords by rotator native(333) static final operator(34) Coords /= ( out Coords A, rotator B ); // Inverted rotate coords by rotator native(334) static final operator(34) Coords *= ( out vector A, Coords B ); // Rotate vector by coords native(335) static final function Coords GetUnitCoords(); // Get default forward direction coords.

  • Added:a flag for Actor to enable multiple "Enviroment mapped" textures on 1 mesh actor.
  • Added: enhanced SkeletalMesh support; caching skeletal pose, set/get custom bone rotation/offset scale, play multiple animations at once.
  • Added: better support for "Drop Detail FPS" to reduce FX count with specific effects.
  • Added: for all standard Unreal weapons third person recoil animation support.

Changed package loader so that it does not give "Package 'ABC' version missmatched" in online games that much anymore.

  • Added UED2: a new option into Editor section of Unreal ini:

"FreeMeshView" when enabled you can fly around in mesh viewer the same way like in 3D view (no fixed positioning anymore)

  • Added: to new menu items in context menu (Right Mouse Button):

Align to wall around X axis and Align to wall around Y axis to fix alignment problems.

  • Added: a search function so that Unreal can use Cache.ini to find in cache some specific files that are missing (like when trying to open some maps and ur missing some textures or whatever). This way files don't need to be anymore moved out of cache, renamed etc etc. if you want to load a for example a specific map which needs textures or sounds you have downloaded from a server.
  • Added: a new function to Actor:

function bool TraceSurfHitInfo( vector Start, vector End, optional out vector HitLocation, optional out vector HitNormal, optional out Texture HitTex, optional out int HitFlags ); Which can be used to get BSP surface information (was used as fix replacement for footstep textures).

  • Added UED2: a "remove script" function to classes browser

and changed this HIGHLY ANNOYING behavior that it shrinks the menu down to "actor" when adding a new class. It now stays where the new class was added.

  • Added UED2: Textures Clamp/Wrap option to avoid borders in corners of skyboxes when using Textures > 256. Works in D3D8/D3D9 and OpenGL.
  • Added: DXT3/DXT5 support and the necessary additions to UED2. Any format can be chosen during import of bmp files (32bpp) directly in UED now.
  • Added UED2: "Do you really want to compile all scripts?" dialog to avoid recompiling everything (which needs a lot of time) when clicking "Compile All" in class editor by accident.
  • Added:'flat shading' support for mesh rendering.
  • Added:'USECPU=' to startup command parameters. This way a server admin can chose which server runs on which cpu core (on multicore or multi processor systems) when having multiple server instances on one machine. Also maybe useful if running both client and server on one machine simultaneously.
  • Added: 'AttachActorToBone' and 'DeatachFromBone' functions to attach specific actors to bones on skeletal meshes.
  • Added: Re-implemented support for curvy meshes and made use of it in couple of default Unreal meshes (however theres still an option to disable this). For meshes to be Curvy, it no longer uses Actor.bMeshCurvy (to avoid unexpected results with mods) instead to enable it you need to set on Mesh import parms "Curvy=1".
  • Added: a new actor called "FluidSurfaceInfo" for creating a wavy water mesh for water surface.
  • Added: functionality for surface flag "Environment" on BSP surfaces to add an environment mapped texture overlay on the surface.
  • Added: couple new functions for Object:

static native(238) final function string Locs( string InStr ); native(239) static final function string ReplaceStr( string Text, string FindStr, string ReplaceWith, optional bool bCaseInsensitive ); native(240) static final function bool SortArray( ArrayProperty Prop, Function SortCode ); native(241) static final function bool SortStaticArray( Property Prop, Function SortCode, optional int SortSize ); Which does convert string to lower case, replace part of some string, sort dynamic and static arrays (in a very performance effective way).

  • Added UED2:a Texture property 'PaletteTransform' to allow change palette color range to that desired color (useful for changing FireTexture color instead of having to import some dummy palette texture).
  • Added: Changed screenshot names to: MapName-Timestamp.bmp to have a more useful name and information. This also removes the limit of max 1024 screenshots
  • Added: Improvement performance of "trace" code.
  • Added: a new actor flag "bWorldGeometry" to make actor be threated as part of world geometry (block visibility sight and stop explosion radius etc...).
  • Added: a shadow bitmap texture render, that projects some mesh actor in level (used in pawn shadow as an option).
  • Added: decals render as wires in wireframe mode (RMode 1).
  • Added UED2: Select All Actors and Select Inside Actors buttons.

These were buttons already available in UED1 but disappeared in UED2 for unknown reason.

  • Added: for mappers in LevelInfo:

var() bool bSupportsRealCrouching; // Support crouching f.e. through tunnels with half player height var() bool bEnhancedSightCheck; // If enabled, AI can see through transparent/masked BSP etc. Also faster.Enhanced check is enabled for new difficulty levels by default. Also for Pawns: var(AI) float SightDistanceMulti; // Multiply this AI's sight distance over the hardcoded limit with this. Useful for very big maps.

  • Added UED2: outof UED1 re-integrated "Small Diagonal" and Big Diagonal" to rotation.
  • Added a new commandlet: Editor.CompareInt <Int file> <Misc language file>

Used for comparing 2 language files to add/remove lines/groups that's missing from the other file.

  • Added 4 simple texture modifiers:

Texture scaler, simply rescale some other texture render scale. Texture panner, makes some texture panning. Texture oscillator, makes a texture wavy stretching or panning. Texture rotator, rotates a source texture. You should be able to dynamically create these in-game and switch their textures or values (however editor preview may act up when switching source textures).

  • Added UED2:

Added an AlphaBlend option in UED when importing 32bpp bmp's as DXT3/5. Notice that during import only AlphaBlend or Masked can be used. DXT1 and 256 color indexed textures can't use this feature for obvious reasons. Also added STY_AlphaBlend for usage f.e. in sprites to make them fade in / fade out.

  • Added: new class 'VisibilityNotify'. It is used for stuff like security cameras/portals etc... to make them work online so that you see stuff behind the other side. To use it, simply add 2 of those actors (one in each side of the portal), set a collision radius/height that covers a visible area around there and make sure they have the same Tag set.
  • Added: new functions for Actor:

native final function bool TraceThisActor ( vector TraceEnd, vector TraceStart, optional out vector HitLocation, optional out vector HitNormal, optional vector Extent ); Simply returns true and gives out hit information if a single trace did hit this actor only (will now be used by projectiles for performance).

native final iterator function IntDescIterator( string ClassName, optional out string EntryName, optional out string Desc, optional bool bSingleNames ); An iterator version of "GetNextIntDesc", which works a lot faster than other function and provides some extra features (will now be used by some menus).

  • Added Linux: case insensitive search for filenames during import when building with UCC.

This was added to make it possible to compile mods in Linux too which were mostly written in Windows which is case insensitive. Because of that most filenames are not correct and failed during import. This addition is only for IMPORT FILE="" in classes and does NOT include a case insensitive search for folder names, these have to be fixed manually, but compared to filenames this can be done very fast. This makes it possible to fully use UCC in linux, except font import, which is unfortunately an entirely windows based routine at the moment.

  • Added: Actor.PostNetBeginPlay event to notify client whenever actor has just been spawned and all initial variables has been replicated.
  • Added: support for multiple redirect websites, to use that add (in Unreal.ini):

DownloadManagers=IpDrv.HTTPDownload http://www.site1.com/redirect/ DownloadManagers=IpDrv.HTTPDownload http://www.site2.org/redirect/ DownloadManagers=IpDrv.HTTPDownload DownloadManagers=Engine.ChannelDownload

  • Added UED2: for Editor Mesh Browser to show mesh package name aswell.
  • Added: Moved headshot detection from weapons to Pawn.IsHeadshot to allow pawns themself decide whenever they got headshotted. This doesn't affect the original gameplay.
  • Added: a new config setting for OpenAL and FMod (mainly for Linux): "ProbeDevicesOnly"

which can be used to start up Unreal and let it detect only the available sounddevices instead of trying to use them directly. Since blocked or not correctly chmod'ed devices can cause a segfault directly this can be used to determine the devices in a failsafe way. The available devices depend on the chosen Output (see below). The device list can be read in Unreal.log/UnrealLinux.bin.log then

  • Added: a new configuration for preferred OpenAL Output.

Windows user can chose between: WINMM DSOUND A3D

Linux users can chose: OSS ALSA ESD

  • Added: FMOD device and output selection for OpenAL's music output (which is based on FMOD), this makes it more configurable and hopefully will fix some remaining problems, especially with some Linux systems.
  • Added: Color flags for FontImport. You now can set R / G / B during import to affect the color of the imported font.

new TrueTypeFontFactory PACKAGE="URedWindowFonts" Name=RedTahoma10 FontName="Tahoma" Height=10 AntiAlias=0 UseGlyphs=1 R=255 G=0 B=0 Valid values are between 0 and 255.

  • Added UED2: the brush manipulation buttons known from UED1:

Sheer, Scale and Stretch (while the in UED2 already existing Scale button was in UED1 "SnapScale" and to explain its function correctly it is renamed now accordingly like in UED1).

  • Added UED2: added AllTexturesInUse Button for TextureBrowser which makes the Browser show only the textures of a package which are used in a map
  • Added UED2: Added Next Frame and Previous Frame buttons in MeshBrowser to browse through the mesh frame by frame.
  • Added: Z sorting for meshes with AlphaBlend so that meshes can be used with DXT3/5 alpha blended textures. However, sorting can never be perfect so that gaps can appear with many overlapping objects. So its always a trade off with smooth blending or sharp edges when using masked instead.
  • Added UED2: added 5 customizable context menu entries (right mouse button) like "Add Light here". Those can be entered into UnrealED.ini:

[ContextMenuClassAdd] Custom1=Engine.Playerstart Custom2=Engine.Pathnode Custom3=... Custom4=... Custom5=...

  • Added: 'LadderTrigger' actor for making a climbable spot.
  • Added: to NavigationPoint "ForcedPaths" and "ProscribedPaths" to force add/remove path bindings while rebuilding paths (you input Name or Tag of the desired path nodes).
  • Added: MapLists use dynamic array (to support unlimited maps to be put on cylce).
  • Added: "Shuffle" option for maplists to play the maps in random order.
  • Added: Allowed ServerActors to modify ANY properties on spawn, rather than limited to 'config' variables.
  • Added: Moved Translator render code from UnrealHUD to Translator, allowing modified Translator classes to override the looks of it.
  • Added: support for additive BSP mapping.
  • Added: additional buttons for Music Menu:

An own Music volume slider. Play random music track. Music play time (once music played X amount of minutes, switch to next random music track).

  • Added: Made web links on UWindow console to be clickable with your mouse pointer.
  • Added: to Actor an option 'bUseMeshCollision'; putting this to true will make actor use mesh zero animation frame as collision shape.
  • Added: to Mover 'bUseGoodCollision', to use an alternative method for collision calculating (gets rid of invisible collision hull problems on complex movers). However a note for mod authors (if you use mesh collision): after modifing some values (drawscale, mesh or the flag itself), you MUST call "SetCollisionSize(CollisionHeight,CollisionRadius);" in order for it to update collision hash bounds for the actor.
  • Added: "CollisionPlane" actor for setting an simple easy collision rectangle for your map (for simple collision boundries).
  • Added: 2 options for servers inventory travelling system:

bDeleteTravelInvOnLoad = Delete player inventory data from travel actors list after player gets their inventory once (to prevent players from reconnecting in order to stock on inventory). bServerSaveInventory = Save/load Inventory data to an INI file (to keep inventory even after server crash).

  • Added: some UnrealScript events (to GameInfo) for server inventory travelling handling:

GetPlayerTravelID = Get player identification for travelling inventory (by default: player name). ModifyTravelList = Can modify the list of actors that's about to be exported for travelling. SpawnTravelActor = Spawn an incoming travelling actor to the level.

  • Added: PowerMac G5 PPC port
  • Added Mac: control for cpu affinity, implemented some platform specific stuff for integrity check, fixed some masking problem due to byte order and added some high resolution timer for more precise appSeconds.
  • Added Linux: added control for cpu affinity and added some high resolution timer for more precise appSeconds.
  • Added Windows: added control for cpu affinity and added some high resolution timer for more precise appSeconds.
  • Added: a flag for Actor to enable multiple "Enviroment mapped" textures on 1 mesh actor.
  • Added: enhanced SkeletalMesh support; caching skeletal pose, set/get custom bone rotation/offset/scale, play multiple animations at once.
  • Added: for all standard Unreal weapons third person recoil animation support.
  • Added UED2: 2 new menu items in context menu (Right Mouse Button)

Align to wall around X axis and Align to wall around Y axis

  • Added: a server option to disable third person recoil animations.
  • Added: changed weapon third person mesh render code to spawn a separate actor (a WeaponAttachment class) that updates location and rotation to weapon triangle/bone. So this fixes issues with: Having first person mesh and separate third person mesh while viewing yourself at mirror, makes game uncache/recache mesh render data every frame twice over and over...

Allows UnrealScript mod authors to add emitters or something on third person mesh position. Do basicly whatever you want with the third person mesh on weapons as its no longer as hardcoded as it used to be.

  • Added: a new option to manipulate music pan separation for FMOD and OpenAL because there were some complains about it would be separated to hard.
  • Added: better support for "Drop Detail FPS" to reduce FX count with specific effects.
  • Added UED2: for everyone's convenience I added now a switch for realtime preview also. So you can chose separate if you want to have backdrop for normal and for realtime preview or not.

Defaults are as it was before, settings are saved at exit.

  • Added option for StaticMeshActors 'bBuildStaticLights' which means editor will raytrace per vertex light data for it (so other objects in map can cast shadows on those static meshes) but it also means that their lightmap will be static (only dynamic lights can be applied on top of that).
  • Added UED2 the out of UED1 known check: "An Actor class named Example already exists! Do you want to replace it?" dialog for duplicate class names, to prevent messing up an existing class by accident.
  • Added UED2 ability to import meshes from .obj (Wavefront) files.
  • Added UED2 support for import multiple .obj files at once.
  • Added UED2 display Texture size 512 and 1024 (will only work if window size is big enough)
  • Added in PlayerPawn:

native(549) final function bool IsPressing( byte KeyNum ); - Returns true if player is holding down that key number.

  • Added in GameInfo:

native(920) final function bool LoadTravelInventory( PlayerPawn Other ); - (Servers only) Force to load travelling inventory for a client (returns true if inventory was found)

  • Updated network codes which prevents some client crashes as-well as improves server performance.
  • Added replication modifiers:

Actor: bSkipActorReplication - Do not replicate any actor properties. bRepAnimations - Do replicate animation updates. bRepAmbientSound - Do replicate ambient sound. bSimulatedPawnRep - Replicate physics like for Pawns. bRepMesh - Do replicate mesh + skins. Pawn: bRepHealth - Do replicate health to others than player himself. ZoneInfo: bRepZoneProperties - Do replicate all standard zoneinfo properties. Inventory: bRepMuzzleFlash - Do replicate muzzle flash. bRepPlayerView - Do replicate player view properties. (these replication modifiers are not visible in UScript replication blocks, only in C++ codes)

  • Added mesh import feature to define polygon flags upon mesh import by adding FLAGS=XXX after settexture exec lines.


  • Added to zoneinfo 'FadeTime' for distance fog, so distance fog blends smoothly to new fog properties.
  • Added new texture modifiers: MaterialSequence (good for screenshots), TexCombiner (to combine 2 textures in specific way), ScriptedTextureX (more advanced scriptedtexture).
  • Added UED2 editor "Copy defaultproperties" and "Paste defaultproperties" to copy/paste defaultproperties block in Class Browser.
  • Added network fix which should prevent specific network incompatibilities (namely from S3TC textures), but it only works with 227g+ clients on 227g+ servers.
  • Added UED2 "Load Entire Package" button in Texture, Sound and Meshbrowser
  • Added missing Open/Close Package button in Meshbrowser
  • Added MeshMover UED2 support in MoverMenu
  • Added UED2 "Lighting only" mode for 3D viewport.
  • Added UED2 "Export to bmp" which can export DXT Textures as 24bpp bmp as well.
  • Added UED2 "Are you sure you want to save new filesize kb, old filesize kb)" to save dialog to see and avoid map/package corruption if new filesize is smaller than old.
  • Added UED2 EXPORTFONT/IMPORTFONT commandlet for fontworks,available in command (log) window
  • Added UPAK (RTNP) decal support
  • Added UPAK (RTNP) UPakFix mutator to fix online RTNP Coop gaming issues. It's located in the helpfolder.
  • Updated MusicMenu to have play offset scrollbar (only works in FMod/ALAudio drivers).
  • Updated C++ definition for native functions 'Out' parameters to take less game performance.
  • Added new audio (FMod/ALAudio) consolecommands:

GetMusicOffset - Outputs currently playing music offset (Modules in currently playing row, Streaming tracks in MS).

SetMusicOffset <Row/MS> - Set currently playing music offset to.

GetMusicLen <Music name> - Get music length (Modules in number of rows, Streaming tracks in MS).

GetMusicType <Music name> - Get the type of music (IT/S3M/MIDI/STREAM).

  • Updated map T3D exporter to write less redundant data.
  • Updated T3D importer to load up necessary texture packages used by BSP rather than slapping default-texture all over them (if not currently loaded on editor).
  • Added to map rebuilder to cleanup small map errors that might been caused from copy/pasting/undo/redo to avoid editor from freezing during build.
  • Added whenever a package/map is saved in editor it asks if you are sure that you want to overwrite old version if new one is smaller in filesize.
  • Added UED2 whenever package/map saving failed, it pops up a window rather than showing it in log only.
  • Added UED2 export and batchexport for vertex meshes


  • Fixed: Reverted so that texture Specular value defines the 'glowing' of the mesh lighting (the way lighting behaves in pre 227f).
  • Fixed: non western European chars and that makes it now also possible to change the fontsize for the game. So if you play with a very high resolution you may want to increase fontsize.

The definition is language specific and can be found in the Engine.[localized] files.

  • Fixed: Improved performance of some UMenu menus.
  • Fixed: Made all transient objects have transient names in game (transient names as instead of: ActorChannel0, ActorChannel1, ActorChannel2, they get ActorChannel, ActorChannel, ActorChannel etc..) to save memory usage for server and clients.
  • Fixed: Changed so that coronas can be seen through invisible/masked/transperent BSP surfaces.
  • Fixed: Changed so that ServerPackages/ServerActors no longer crash the server if they fail to load or are not found.
  • Fixed: Replaced the 2 last Trace function parameters with BSPTraceFlags and bTraceBSP.
  • Fixed: bleeding.
  • Fixed: specialdamage not working correctly
  • Fixed: Changed package loader so that it does not give "Package 'ABC' version missmatched" in online games that much anymore.
  • Fixed: LevelInfo.GetClientPort to return client port instead of server port.
  • Fixed: a warning in ScriptedPawn.SetEnemy and Bots.Roaming.
  • Fixed: a coding error in SentryGun and Translocator.
  • Fixed: support for Decals to be visible/invisible on panning/unlit surfaces.
  • Fixed: Changed render DrawActor to handle RenderIterator. This way you can use Canvas DrawActor to render entire particle emitter on HUD instead of just the icon of it.
  • Fixed: the scoreboard to show for spectators "Press [Fire] to view from different player" instead of "You are dead, press [Fire] to respawn".
  • Fixed: Improved UMesh::GetFrame to avoid some specific errors.
  • Fixed: Reimplemented function BeginState for Bots GameEnded state to avoid conflict with mods thats compiled in 226.
  • Fixed: Canvas.DrawActor(None,,true); so it can be used to clear render Z without crashing the game.
  • Fixed: a crash with Emitter's trigger spawn particles.
  • Fixed: error where friendly creatures hate players who hurt themselves.
  • Fixed: PlayerPawn GameEnded state to not update actor rotation online for third person players.
  • Fixed: Changed so that bots behaviour with special shoot open doors (like in DMCurse) so that they don't spam projectiles while running into the doors.
  • Fixed: Warlord's from instantly disappearing when he should teleport out.
  • Fixed: problems with DEP (Data Execution Prevention) on newer OS.
  • Fixed: UED2 Framecount in Meshviewer
  • Fixed: "random wandering" glitch with scripted pawns
  • Fixed: the issue where when you dont have any other selectable inventory and toss final one you get messages in a bad order:

Seeds activated Seeds selected

  • Fixed: double expired messages bug (such as with flashlight when the batteries drain out).
  • Fixed: so player don't become visible when they type 'walk' cheat command when they are dead.
  • Fixed: issue with some specific inventory such as Amplifier, when it runs out it makes you select next item even when Amplifier is not selected.
  • Fixed: Brute rocket speed problem online
  • Fixed: ASMD Tazerproj becomes invisible when shooting against f.e. masked sheets
  • Fixed: another small security flaw for both server and client
  • Fixed: an error that happens when level contains an actor that had bStatic/bNoDelete false when in their defaults its true (such as the boulders in EndGame.unr).
  • Fixed: stalls during package download from server via Engine.ChannelDownload (connecting to a server without http redirect). Fixes this problem for all clients
  • Fixed UED2: can't delete Textures
  • Fixed: Trace for Footstepsounds not working correctly
  • Fixed: a crash that could sometimes happen on decal DeatachDecal
  • Fixed UED2: changed a crash to a warning message which happens in some rare occasions with tesselated cubes
  • Fixed UED2: crash when selecting "Export" in Texture Browser while no Texture is selected.
  • Fixed: water/iced/scripted textures not working with DXT textures
  • Fixed: monk statue push sound loops forever
  • Fixed: DXT compressed textures preview on editor to no longer show as garbage on software render (until you flush view).
  • Fixed: lighting issue with mirror viewed meshes (showing mirrored lighting).
  • Fixed: UMenu to use UMenu load game menu instead of classic load game menu.
  • Fixed: UMenu to share same saved games list as classic save/load game menu does (so you don't lose saved games when you switch console).
  • Fixed: a critical security leak for servers
  • Fixed UED2: Got ride of the annoying "Actor dosen't fit there" error in Editor when trying to add actor to level.
  • Fixed: Translocator Target from hitting triggers and other non-blocking stuff.
  • Fixed: an issue with mesh specular lighting where surfaces would get lit up by light sources behind the surface itself.
  • Fixed: another mesh lighting error where shadow/lit direction was mirrored on mirrors.
  • Fixed: rotation network replication error (which is clearly seen on pupaes that have been hanging on walls).
  • Fixed: Made RMode 1 render the world in geometry view as well in game (easier to check up on map errors).
  • Fixed: Improved mesh actor rendering even more so it surely doesn't disappear from sight when its clearly in front of you.
  • Fixed: network replication so that you can see actors through transperent/masked surfaces in online games (such as windows or grates).
  • Fixed: decals not rendering in mirror view.
  • Fixed UCC: Ctrl-C causes the appearance of windows crash-window (inkl. annoying blam! sound) during "ucc make" and exits smoothly now
  • Fixed: DXT support for Linux internal engine decompression and SDLSoftDrv
  • Fixed Linux UnrealXLinux.bin, XDrv and XMesaGLDrv for testing purposes, not many features, not very fast. But maybe for someone of (experimental) use.
  • Fixed: TTFImport and added some Texture replacement function which replaces Fonts regarding the language corresponding engine.[localized] file.

So it can be easily a font-texture created with TTFontImport to replace the ingame whitefont, medfont, largefont, bigfont with a fontset which supports the necessary chars. Also created a new UWindowFonts.utx which should contain most needed chars directly. Note, this is Windows only!

  • Fixed: "UCCLinux.bin make" segfault crash when finished compiling
  • Fixed: bmp import in Linux
  • Fixed Linux: most likely cause of mysterious segfaults when issues with MasterServer
  • Fixed: UMenu maplist from being empty all the time
  • Fixed Linux: a couple of reasons for segfaults caused by AudioDevices, all OS: code cleanup for FMOD and OpenAL
  • Fixed Linux: EFX support for ambient presets for OpenAL's EAXZoneInfo. So any ambient and reverb should now work in Linux also.
  • Fixed lighting/shadowmap bug in Linux for fully optimized builds. Increases overal Linux performance greatly
  • Fixed DXT3/5 compression size
  • Added UED2: missing "Texture Browser" to view menu
  • Fixed UED2: changes in Texture properties not automatically visible when using OpenGL or D3D8/9
  • Fixed UED2: crash on exit when using Menu->File->Exit
  • Fixed UED2: Replace Texture tool can't be re-opened anymore after one time usage.
  • Fixed UED2:

2D Shape Editor Buttons Revolved Shape Extruded Shape Extrude to Point Extrude to Bevel not accessible anymore after closing

  • Fixed UED2: shape vanishing after moving with right mouse button pressed over window borders.
  • Fixed UED2:"Extude" typo for to Point and to Bevel
  • Fixed UED2: display of fonts in TextureBrowser by group selection.
  • Fixed UED2: a rare crash with Mesh Browser that could happen on startup if the mesh that was going to be first on mesh list had same name as a class name.
  • Fixed UED2: SMPDev fixed selection in D3D9
  • Fixed Linux: changed logging so that it doesn't segfault anymore when starting fails due missing packages. Instead it prints the error now to console and closes nicely the logfile.

Also added some additional logging info for console which hopefully helps if segfaults happen because of c++ exceptions.

  • Fixed UED2: context menu -> View -> Show Coordinates to show current camera position
  • Fixed UED2: context menu -> View -> Show Backdrop to really show skyboxes without actually being in realtime mode
  • Fixed UED2: "If you select a light, go into its properties, LightColor, Color, try to access the 3D viewport, press OK - your viewports no longer respond, and when you try to close the editor, it crashes"
  • Fixed UED2: Merging vertices with vertex editing results in a "not enough vertices" crash, but that has already been reported before.

This is stupid to do, but if you create a new material, for example, TexPanner, and set it to pan itself, the editor crashes in the way that even the crash system fails (you get a Windows crash message and the log is cut off).

  • Fixed: Reduced the chance for crash failure at 'TouchTo', which should fix some errors with projectile spamming mods.
  • Fixed: ammo pickups, when you pick up 'child' ammo type it didn't show any pickup message unless the pickup will respawn (good example; clips).
  • Fixed: inventory pickup messages to always show the pickup's own pickupmessage, rather than the carried item pickupmessage (usually noticed when mappers have modified the pickup message for some items).
  • Fixed: Made 'UnrealShare.Suits' item to destroy themselves and throw a warning on log if added to the map (as they should never be used anyway).
  • Fixed: UnrealScript compiler to show properly 'error' count.
  • Fixed: the third person weapon mesh from sometimes having wrong display properties.
  • Fixed: HUD to show properly multi-lined messages (so that next message don't overleap the second line).
  • Fixed: HUD to render messages after the armor icons (so that event/death messages don't overleap armor icons).
  • Fixed: Changed HUD name identifier to show the name of the player in front of CAMERA location rather than PLAYER location (fixes spectator name identifier).
  • Fixed Linux: sometimes crashes at startup. Also speeds up start.
  • Fixed "Dirty Shadows" surface flag functional. Since never implemented it was of no use so far, although many mysteries came up to this, it never had any effect. (No, not in Unreal and no, not in UT)

Now it creates some random dark shadow spots if used. Maybe for virtually "uneven" surfaces. The factor can be set in LevelInfo with DirtyShadowLevel.

  • Fixed so that rolling/pitching movers properly update their attached actors location/rotation in relation to the delta rotation.
  • Fixed UED2 bsp building so that way less bsp holes arise. So far no known side effects (except slightly more polygons).
  • Fixed shadowing on meshes. Now decal/projector shadows work on meshes too.
  • Fixed execDrawPortal Sprite offset.
  • Fixed Decals can crash Client if Mirror is present.
  • Fixed disappearing Meshes in some rare view angles. Fixes also Playermodel vanishing in Mirror if to close.
  • Fixed rescaled Movers collision.
  • Fixed another security bug which can cause a server crash.
  • Fixed UED2 crash which happened if you clicked on a brush builder directly after a map import.
  • Fixed: Attitude_Follow.
  • Fixed a memory leak in FMod.
  • Fixed kraalbolt translucency to STY_Translucent
  • Fixed now (hopefully) the "vanishing mesh" bug completely (as addition there is now a bAlwaysRenderFlag to ensure it for problematic places.
  • Fixed Demorecording
  • Fixed movers from appearing at level origin when you just connected to a network server or in demorec playback.
  • Fixed "Admin" consolecommand to output each "line" from engine commands to output as own clientmessage, instead of output all in one long message. This includes "Admin Sockets", "Admin UHelp", etc...
  • Fixed a client mapswitch crash which could happen on servers with custom playerpawn classes (with function Destroyed/EndState).
  • Fixed Demo Recording to work on offline mode, as server host and as a client on server.
  • Fixed Unicode support for Linux.
  • Fixed/Updated network replication so bNoDelete/bStatic actors with replication do not re-replicate variables that are changed from actor default values by the mappers. This will reduce server bandwith usage a bit as-well as fix some obscure bugs such as that super fast spinning windmill in NaliBoat.
  • Fixed for Linux XMesaGLDrv in combination with XLaunch and XDrv. Although it stays unmaintained in general I found it reasonable to make it at least working, since new renderer versions can now be created with XDrv instead of SDLDrv also.
  • Fixed a memory leak in UnrealScript struct compare.
  • Fixed UED2 exporting Fire/Water/Ice Textures crashes UED. Now exporting a stillshot.
  • Fixed UED2 "Export to PCX..." only accepts now non DXT Textures instead exporting a 0x0 sized invalid texture/file.
  • Fixed Linux version could crash if some masterserver was failing (both Server and Client)
  • Fixed Linux version crash when trying to open an URL without any network cards available in system.
  • Fixed UPAK(RTNP) Grenadelauncher flies "through" wooden boxes etc.
  • Fixed some UPAK(RTNP) replication problems, but couldn't fix entirely because of backwards compatibility with UnrealGold.
  • Fixed UED2 "Reset Pivot" to really reset it when pressed and not later when Brush is reselected.
  • Fixed UED2 Surface Properties and Build Properties pages are not refreshed after hiding/closing.
  • Fixed Linux UCCLinux.bin didn't accept parameters correctly.
  • Fixed some very rare happening crash bug with crippled messages.
  • Fixed Galaxy to only log invalid sounds instead of crashing.
  • Fixed actors getting beginplay events twice if spawned while level is being brought up

[02.06.2011] 227h release

  • Added a scalable Translator for higher resolutions
  • Added "export selected package" for classes in UED
  • Added support for projector decals (bProjectorDecals) to fix decals not working on static meshes.
  • Added modified editor class browser to append star (*) after class name if the class is not placeable in level (marked abstract, nousercreate or transient).
  • Added support for DrawText color codes (similar to Unreal Engine 2).
  • Added 2 color code functions in GameInfo:

Code:

static native final function StripColorCodes( out string S ); // Strip color codes from a string

static native final function string MakeColorCode( color Color ); // Make a color code string




  • Fixed OpenGL doesn't reset gamma correctly on some system.
  • Fixed online some sounds not working online
  • Fixed movers glitch when player is pushed into ceiling
  • Fixed D3D8/9 startup freeze when using same fullscreen resolution as desktop resolution.
  • Fixed UPak Rocktlauncher secondary fire showed no decal online
  • Fixed Client didn't disconnect correctly on exit
  • Fixed UED2.1 frame disappearing when exiting game from inside UED started Map.
  • Fixed decals not fogged with distance fog
  • Fixed missing frameborder when switching to windowed mode in OpenGL
  • Fixed Titan weird behavior when running against cliffs.
  • Fixed UPak "Bounds of Foundry" trigger broken because of NaliC2 fix.
  • Fixed some cache crash when loading files (with dependencies) from cache
  • Fixed another mover bug and Linux save game blows with .rut translation
  • Fixed fragment program breaks fogging on meshes (such as gibs) if set to true in OpenGL.
  • Fixed Movers where triggered when leaving them (especially DM maps were affected)
  • Fixed bug with struct import text where it failed to import if struct contained static arrays. While at it made any property text imports show name of property on log upon import failure (instead of just ImportText: Failed because of blabla).
  • Fixed editor class browser to show display properly 2 classes with same name but different packages.
  • Fixed missing "Unreal" gui for UMenu from UGold
  • Fixed UPak intro to use the original "Papyrus" Font again.
  • Fixed decals not working on StaticMeshes. Requires to switch to projector decals (bProjectorDecals), which need more performance especially on StaticMeshes. Using projector decals fixes the very very rare decal crash bug too.

[not_yet_released] 227i release

  • Added RawHIDInput for mouse input to fix the problems with DirectInput
  • Added UED2: a reset button for the brush builders
  • Added UED2: real-time preview (for selected pathnodes) so that you can see how pathnodes will be bound with each other (it also draws a cylinder around selected pathnode so that you can see how far it can bind).
  • Added UED2: moved parts of path building code from hardcoded C++ codes into UnrealScript, that includes the special paths for LiftExit/LiftCenter/Teleporter/InventorySpot etc...
  • Added UED2: modified 227 JumpPad's to draw a yellow line preview of the throw trojectory also modified so AI paths won't get bound reverse up the jump pad path.
  • Added UED2: 2 variables to NavigationPoint; ForcedPathSize and MaxPathDistance.
  • Added UED2: ForcedPathSize will be the path "size" when using "ForcedPaths" list, so that mappers can limit smaller pawns to use them.
  • Added UED2: MaxPathDistance is the maximum distance the pathnode will seek for path around itself.
  • Added UED2: render device selection menu for TextureBrowser and MeshBrowser. Most people didn't know that it could be set up in Unreal.ini with "WindowedRenderDevice".

Softdrv is in many cases not sufficient (like AlphaBlend Textures or for StaticMeshes) to display everything correctly and now it can be easily switched between SoftDrv/D3D9 and OpenGL during runtime.

  • Added UED2: Added 2DShapeEditor GridSize 128/256, asks to save when creating or opening new shape.
  • Added New animation notify code. Just extend class AnimationNotify and define notify: AnimationNotify(0)= AnimName=RunSm,FunctionName=Testing,KeyFrame=4,NotifyEval=ANE_Greater,bOwnerCall=true,bCallOncePerLoop=true,bCalculatedFrame=true)
  • Added option which will make server compress normal server downloads (this will only work for 227i clients connecting to 227i servers!) before they are being sent, thus reducing the download times greatly. It can be set on Unreal.ini:

[Engine.ChannelDownload]

UseCompression=True

CompressDir="..\Compress\"

The files server compresses before being sent to client are saved in CompressDir, you can even use UCC.exe Compress commandlet and move the compressed files in to that folder to prevent hitches on server (for first time downloads to files).

  • Added option for AI strafing movement while moving along paths (AI: bDoAutoSerpentine, also in NavigationPoint: bNoStrafeTo to stop AI from walking to this node like that). Which means AI will strafe left/right while moving along paths making them harder to hit. This will be enabled on higher difficulty bots.
  • Added crawling option for Pawns (Movement: bIsCrawler), which means pawns like pupaes can actually roll and pitch according to the floor slopeness.
  • Added pathfinding option HuntOffDistance, which when combined with bHunting, AI will try to find closest path to a visible point to their enemy which is inside that distance, rather than trying to find path leading to the actual enemy (will also now be used by higher difficulty bots).
  • Added Meshes support all different LightEffects too now.
  • Added altered LightEffect LE_OmniBumpMap for a slower radial light which does some real-time light raytracing (meaning BSP can cast shadows around it).
  • Modified all dynamic light effects (except for LE_NonIndicence) to not lit up backfaces on BSP (looks more realistic that way).
  • Replaced the 227h variable bDayLight with LightEffect LE_Sunlight (and made Sunlight render slightly more optimized).
  • Added actor variable (Display: bUseSpriteLit) to make DrawType DT_Sprite to get lit up by lights like meshes.
  • Added UED2: Modified light actor icons to be rendered in editor in the color of their light source (to show a small preview of their light color like in UE2+).
  • Added Made Galaxy audio support Ogg/Midi and other audio music formats now like OpenAL/FMod (using FMod library to play them, but still uses original Galaxy for the old music formats).
  • Added UED2: for meshes an option "ShadowMesh" which is used for computing shadows instead of the original mesh, so it is possible use specific meshes for more detailed shadows (useful for trees for example).
  • Added UED2: auto disable realtime preview when test playing map.
  • Added UED2: confirmation, asks to save when opening/loading from MRU/ exiting UED and a map with unsaved changes is still open. Also added "Cancel" to those dialog windows.
  • Added throttle for downloading from servers DownloadSpeedLimit.
  • Updated security and anticheat system. Switched from MD5 to SHA256 for anticheat, added better support for older clients. Using a separate ini file:

Server installed packages can be included (whitelisted)and updated with:

"ucc engine.shaupdate" for 227 clients.

for older clients anticheat support there is now the commandlet:

"ucc engine.linkerupdate <directory>" which will add all checksum of the files within the directory automatically to the SHALinkerCache.ini. This way it should be very easy to secure and update the server also for custom packages such as textures.

If you want to whitelist a package in general you just need to update a line f.e. with:

"GenFluid="

Note that full anticheat protection is only possible with 227i clients due to technical limitations of the older versions. Only a basic protection can be guaranteed with 224,225 and 226 clients.

  • Added double Nodelimit
  • Added actor Lighting option bDarkLight, which will turn the light source into subtractive light instead of additive.
  • Added a new parameter for SetTimer function (optional name InFunc) where you can specify callback function which will also allow you to start multiple timers at once.
  • Added logging to see which file could be responsible in case of Bad name index -50/55 crashes. This crash can be caused by crippled cache files. To enable it, Suppress=DevLoad in [Core.System] needs to be removed or commented out.
  • Added new defaultproperties macros for dynamic arrays: Array.Add(Value), Array.Remove(Value), Array.Empty
  • Improved static mesh render performance by ~20 % for some hardware render drivers (OpenGL, D3D9).
  • Added support for static mesh lighting for dynamic (but yet static like TriggerLights or pulsing lights) light sources.
  • Added so all meshes with bShadowCast + bUseMeshCollision cast BSP shadows that can pass through masked parts of the texture surfaces (for more realistic tree leafs shadows).
  • Added support for localized female death messages in UnrealIGame (for languages like Polish or French).
  • Modified actors to use a dynamic array for Touching actors list (to prevent bugs with triggers touching too many actors), it will still sync up the dynamic array with the static Touching array list to keep mod compatibility.
  • Added screenshots preview for default Unreal maps for UMenu.
  • Added new emitter options:
   XParticleEmitter.EmVisibility.bNotOnPortals: Don't draw particles through portals or mirrors.
   XEmitter.EmVisibility.CullDistanceFadeDist: This will make particles 'fade out' based on camera distance to the particle (it is in relation to CullDistance value).
   XEmitter.EmVisuals.Scale3DRange: Particle 3D scale range.
   XWeatherEmitter.WallHitEmitter: When matched another Emitter's Tag it will spawn those particles upon wallhit.
   XWeatherEmitter.WaterHitEmitter: When matched another Emitter's Tag it will spawn those particles upon impact with water surface.


  • Added UED2: "Align Viewport Cameras to 3D viewport" as right mouse button menu selection and button on the left side (misc section)
  • Added UED2: "Rebuild BSP only", so people can build Maps like in UED1 with every step separately if wanted.
  • Added exit information to appRequestExit, if Unreal exited by unknown reason such as maybe mod failures. So it is possible to see at least where or why it did that.
  • Added SwFMOD, some new sounddevice like OpenAL or FMod, but unlike old FMod (FMOD 3) its based on FModEx (FMOD 4). Dots reworked some old code I found for DeusEX and updated it to newest version while also fixing a lot of bugs, also the ambient presets known out of OpenAL are supported. It's new and of course there is a good chance of new bugs, but it has a lot of potential, not only for Windows but also for Linux users.
  • Added UED2.1: "Batchexport to BMP from Package" and "Batchexport to PCX from Package" for textures
  • Added UED2.1: "Batchexport to WAV from Package" for sounds
  • Added UED2.1: for ActorBrowser "Find..." which prints out the location of a class (example "Inventory Pickup Health" for Bandages). Should safe some time especially if digging for some class in unknown mod packages. Also selects the class found, for use in ClassEditor or to place into map, but does not expand it in the browser itself.
  • Added editor option (AlwaysPermanentBrush=True/False) to always transform all brushes permanently every time you scale or rotate them (pretty much like in UnrealEd 3+) to minimize floating point transformation imprecision in BSP.
  • Added new canvas functions: native(1758) final function SetTile3DOffset( bool bEnable, optional vector Offset, optional rotator RotOffset, optional bool bFlatZ, optional float Scale );

native(477) final function DrawTileStretched( Texture Tex, int X1, int Y1, int X2, int Y2 );

SetTile3DOffset - You can set all canvas DrawTile (or text) calls to have a 3D coordinates off screen. This allows you to create a HUD with a slight angle and depth like in most modern games.

DrawTileStretched - You can draw a stretched tile which works like the one in UnrealEngine 2.

  • Added new factories (to be used with BatchExport commandlet):
   Mesh txt/uc factory: Can be used to write #exec import lines for the meshes and skeletal meshes.
   SkeletalMesh psk/psa factories: Can export skeletal meshes and animations from package
  • Added for UED2.1: export for all classes in MyLevel
  • Improved FluidSurfaceInfo to use a faster math algorithm and added a few extra features. Also added a FluidSurfaceOscillator class to generate constant waves at one spot. WARNING: Had to move FluidSurface from Engine to Fire due to dependencies the updates required and to clean up some things.There are not many maps out there using it yet, if at all, but now the performance is significantly improved it will be used more in future I hope. Just keep in mind that you need to redo 227h Fluids in your map if used.
  • Added OldClientCompatMode. This enables a hack which fixes the connection issues with 226f clients, meaning that every old version (224,225,226b,226f) can connect to 227 servers now. Epic and Legend broke the compatibility between classic Unreal 226f and UnrealGold, where both versions were conformed against 225, which made 225 the only server version for both these two and the following versions. 227 suffered all the time from this, but since the mistake happened long in the past there was no suitable fix for it yet.

The feature was tested intense and very carefully, it seems to work without any problems or side -effects. It is still a hack and will be globally enabled for all old clients once active, so it can be disabled if necessary.

Note that this will not fix any 226f specific bugs and mods that are already broken on 226f. While I still can only encourage everyone to move on 227 nobody needs to feel forced to with this option and server admins can make use of the advantages of 227 without being afraid of losing players.



  • Fixed: the "famous" execClientHearSound crashbug. Only very rarely happening (while some gametypes like MonsterHunt trigger it, but in a usual game it almost never happens). Seems to be some ancient bug and you can find reports for Unreal, UT, Unreal2 and UT2k3.
  • Fixed: Bots intelligence set to BRAINS_HUMAN
  • Changed: Removed UltraResShadow option. Can be still set manually in ini, but caused to many trouble because it just eats a lot performance, even on nowadays machines and people disregard the warnings about it.
  • Fixed: Playermodels fit in Player Setup Window in UMenu
  • Fixed: "Sockets" command trigger a crash mostly on Servers. 227 provides newer commands and make it obsolete, so Servers with updated mods are not affected, but some older mods still use it.

Note: Even with this fix it can still trigger crashes, but the chances are lowered drastically. Nevertheless, updating older mods is recommended.

  • Fixed "Ending Symbol" not showing up in coop mods (f.e. JCoopz)
  • Fixed some outputs in Linux build (f.e. obj list).
  • Fixed umod install
  • Fixed a small flaw in the setting of the BufferSize for Music output in both OpenAL and FModAudio. Mostly Linux users should benefit from this fix. Windows users usually don't need to change this value manually.
  • Fixed download redirect where if one file failed on redirect it would download rest of the files off server (instead of proceeding with the redirect download).
  • Fixed FMod and ALAudio audiodrivers to loop correctly sounds with looping points.
  • Fixed actor reachability checks to function correctly with smaller pawns (such as Pupaes) so that they can use pathnodes if their AI flags allow that.
  • Fixed UED 2: snapped brush scaling sometimes not snapping anymore with changed pivot
  • Fixed UED 2: snapped brush scaling overflow when scaling "smaller than possible"
  • Fixed UED 2: actors visible in level through wall when used in skybox (and not only in fakebackdrop)
  • Fixed UED 2: "Save Brush as" / "Open Brush" (NOT import/export) function. Stores position of the brush as well as texture information.
  • Fixed UED 2: StaticMesh behavior in front of FakeBackdrop surfaces (Z issue).
  • Fixed UED 2: RightMouseButton on Surface -> Reset (was entirely nonfunctional in UED2 and 2.1, UT and Unreal version).
  • Fixed download redirect where if one file failed on redirect it would download rest of the files off server (instead of proceeding with the redirect download).
  • Fixed FMod and ALAudio audiodrivers not looping correctly sounds with loop points.
  • Fixed actor reachability checks to function correctly with smaller pawns (such as Pupaes) so that they can use pathnodes if their AI flags allow that.
  • Fixed pathfinding to work with pawn that is on PHYS_Falling too.
  • Fixed UED2: 2DShapeEditor shows the selected GridSize in Menu.
  • Fixed Cannon, now it even really shots! (optional)
  • Fixed UED2 importing sounds didn't accept spaces in pathname.
  • Fixed UED2 "Replace with..." was setting bRemoteOwned flag causing some actors behaving strange.
  • Fixed some mover bug which caused movers to hang when standing below it (online only issue).
  • Fixed the final issues with meshes disappearing in some cases, this also made FullMeshRendering obsolete.
  • Fixed Pawn.MoveToward where if the Pawn is moving along PathNodes and if the Pawn misses the origin of the pathnode (due to curving path) it wont turn around to touch the origin before proceeding.
  • Fixed pathfinding to support smaller and larger pawns (like Pupaes and Titans).
  • Fixed higher difficulty levels stick with Actor filter option bDifficulty3.
  • Fixed Linux client some Emitters not working correctly.
  • Fixed Emitter crashing when doing undo after delete
  • Fixed Ban IP Addresses in Security.ini for older clients got overwritten always by latest client IP
  • moved by heavy request on UnrealSP the bEnhancedSightCheck to pawn and removed it to be automatically enabled if difficulty >3
  • Fixed UMenu match setup Friendly Fire scale slider from not working.
  • Fixed EndGame level travel to FlyBy map instead of bringing up Unreal main menu.
  • Fixed UED2: order of how things are build when doing "Build all", which seems to make a significant difference in reducing holes.
  • Fixed UED2: import for 32bpp pcx, crashed before (but still suggest using bmp instead for that).
  • Fixed a bug with NavigationPoints
  • Fixed bUseLitSprite on AlphaBlend sprites
  • Fixed UED2.1: "Select Inside" was selecting static mesh movers outside.
  • Fixed a couple of possible loopholes and security flaws in UCC Masterserver commandlet to make it more reliable and stable
  • Fixed OpenAL may crash when trying to load crippled or truncated sound data
  • Fixed a flaw in "Path=" parameter in Unreal.ini section [Core.System] so it is able now to read also .int files in custom directories, like: Paths=..\SystemInt\*.int
  • Fixed PlayerCanSeeMe() function.
  • Fixed Aura3.Luckshot not working anymore
  • Fixed UED2: Transform permanently to keep U/V mapping perfectly intact.
  • Fixed some problem in logging system which could cause a corruption in Security.ini
  • Fixed some boulder decal issues which caused the decal to be displayed cut off.
  • Fixed UED2: brush clipping resulted sometimes in brushes with vertex rounding errors.
  • Fixed UED2: undo to work with vertex editing.
  • Fixed -strict commandline parameter to cause crashes in critical functions only. This way it can be used by modders or serveradmins who prefer a crash instead of a log only, for debugging purposes

Special Thanks & Credits

Here is a small list with people that helped me in this project (no special order, without any single person of them It would have been much harder if not impossible). Please forgive me and gimme a notice if I missed someone, but over all the time my tortured brain is maybe failing...

  • Epic for giving me this chance!
  • .:..: Working out native functions, maths and routines as well as coding additions(such as in native Particle-Emitter, Octree hashing, static meshes), bug hunting, script-fixes.
  • UTPG for their work in UT which helped me very much
  • Shambler - native coding, anti-cheat, many things more and being patient with my stupid questions :)
  • Wolf - anti-cheat and help in UScript, help in adding features, advices and being there for me and this project anytime
  • Chris Dohnal aka UTGLR for his great OpenGL, D3D8 and D3D9, and advices in native coding.
  • Kerilk for FMOD and helping me with OpenAL and being patient with my stupid questions also :)
  • Asgard12000 for tons of script fixes
  • Zombie for script-fixes, security issues
  • []KAOS[]Casey Script fixes, blood Effects, testing, bug hunting
  • Bozo, for tons of fixed meshes- maybe not that obvious as other things, but must have been a hell a lot of work, and can be seen if you watch all the lovely details.
  • Raven for some nice add-on and new features like script based ParticleEmitter and UE1PreProcessorCommandlet
  • Krull for his 227 maps DMRetrospective, DMBeyondTheSun and EntryII
  • Creavion for his very intense UED2 bug testing, UED2 feature advices and for being annoying like hell while bothering me to fix any bug he finds.
  • SA-Digimes and {KDS}Rewind for hosting my Oldunreal-Serpentine server, which I needed badly for testing
  • DieHard for his great High-Resolution Textures (URP), which make 227 more beautiful than ever
  • HyperNL for his Enhanced ServerBrowser and for his very intense server testing
  • Turboman for his skeletal mesh testing and UMenu background, feature testing.
  • Shivaxi for bug hunting, creating new decals and some footstep sounds
  • Pitbull for a nice chat in the night and being a friend
  • Henry00³ ( de Jongh ) for finding especially UED bugs, initial work on UED help and final quality checks.
  • Hellkeeper,who made a real good helpfile for UED2.1 help
  • Leo_T_C_K for bug hunting,suggestions, some script fixes
  • SKW for his OldWeapons mod
  • All friends who offered me mirroring
  • The community here which helps me to find and fix the bugs
  • And of course all I may forgot now and all who donated to Oldunreal, helping me to pay and maintain Oldunreal
  • Noob Kraew aka (Leader)-Dante for his unconventional way to report bugs by annoying people with random insults ;)
  • LibSquish http://code.google.com/p/libsquish/ for DXT Compressing/Decompressing
  • Zlib http://www.zlib.net the lossless data-compression library for use on virtually any computer hardware and operating system for our new compression system.

Report Bugs:

Report bugs and add comments in the Oldunreal forums