Difference between revisions of "227 release notes/v227f"

From Oldunreal-Wiki
Jump to navigation Jump to search
Line 94: Line 94:
result MidString = string2(string3)string4</pre>
result MidString = string2(string3)string4</pre>
** <tt>native(257) static final function bool LoadPackageContents( string PackageName, Class<Object> ListType, out array<Object> PckContents );</tt><br />Load an enitre package and give out the contents of it (returns false if package failed to load).
** <tt>native(257) static final function bool LoadPackageContents( string PackageName, Class<Object> ListType, out array<Object> PckContents );</tt><br />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):
** <tt>native(330) static final operator(16) Coords * ( Coords A, Coords B );</tt><br />Rotate coords A by B
** <tt>native(331) static final operator(34) Coords *= ( out Coords A, Coords B );</tt>
** <tt>native(332) static final operator(34) Coords *= ( out Coords A, rotator B );</tt><br />Rotate coords by rotator
** <tt>native(333) static final operator(34) Coords /= ( out Coords A, rotator B );</tt><br />Inverted rotate coords by rotator
** <tt>native(334) static final operator(34) Coords *= ( out vector A, Coords B );</tt><br />Rotate vector by coords
** <tt>native(335) static final function Coords GetUnitCoords();</tt><br />Get default forward direction coords.
* Added 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 third person recoil animation support for all standard Unreal weapons. Changed package loader so that it does not give <tt>"Package 'ABC' version mismatched"</tt> in online games that much anymore.
* Added UED2: ew 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 new menu items in context menu (Right Mouse Button) '''Align to wall around X axis''' and '''Align to wall around Y axis''' in order to fix alignment problems.
* Added 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 you are missing some textures or whatever). This way, files don't need anymore to be moved out of cache, renamed, etc, etc if you want to load, for example, a specific map which needs textures or sounds you have downloaded from a server.
* Added new function to Actor: <tt>function bool TraceSurfHitInfo( vector Start, vector End, optional out vector HitLocation, optional out vector HitNormal, optional out Texture HitTex, optional out int HitFlags );</tt><br />Can be used to get BSP surface information (was used as fix replacement for footstep textures).
* Added UED2: "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 choose which server runs on which CPU core (on multicore or multiprocessor systems) when having multiple server instances on one machine. Also maybe useful if running both client and server on one machine simultaneously.
* Added functions '''AttachActorToBone''' and '''DetachFromBone''' to attach specific actors to bones on skeletal meshes.
* Re-implemented support for curvy meshes and made use of it in a couple of default Unreal meshes (however, there's still an option to disable this). In order for meshes to be Curvy, it no longer uses '''Actor.bMeshCurvy''' (in order to avoid unexpected results with mods); instead, in order to enable it, you need to set on Mesh import parms '''Curvy=1'''.
* Added new actor called '''FluidSurfaceInfo''' for creating a wavy water mesh for water surface.
* Added functionality for surface flag "Environment" on BSP surfaces, in order to add an environment mapped texture overlay on the surface.
* Added a couple new functions for Object. Convert string to lower case, replace part of some string, sort dynamic and static arrays (in a very performance effective way):
** <tt>static native(238) final function string Locs( string InStr );</tt>
** <tt>native(239) static final function string ReplaceStr( string Text, string FindStr, string ReplaceWith, optional bool bCaseInsensitive );</tt>
** <tt>native(240) static final function bool SortArray( ArrayProperty Prop, Function SortCode );</tt>
** <tt>native(241) static final function bool SortStaticArray( Property Prop, Function SortCode, optional int SortSize );</tt>
* Added UED2: Texture property '''PaletteTransform''' in order to allow change palette color range to that desired color (useful for changing FireTexture color instead of having to import some dummy palette texture).
* Changed screenshot names to '''MapName-Timestamp.bmp''' in order to have a more useful name and information. This also removes the limit of max 1024 screenshots.
* Improvement performance of "trace" code.
* Added new actor flag '''bWorldGeometry''' in order to make the actor be treated 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:
** LevelInfo:
*** <tt>var() bool bSupportsRealCrouching;</tt><br />Support crouching f.e. through tunnels with half player height
*** <tt>var() bool bEnhancedSightCheck;</tt><br />If enabled, AI can see through transparent/masked BSP etc. Also faster. Enhanced check is enabled for new difficulty levels by default.
** Pawns:
*** <tt>var(AI) float SightDistanceMulti;</tt><br />Multiply this AI's sight distance over the hardcoded limit with this. Useful for very big maps.
* Reintegrated '''Small Diagonal''' and '''Big Diagonal''' rotations from UED1.
* Added Preprocessor commandlet updated to version 0.5.296 - complete list of changes [http://wiki.beyondunreal.com/UE1:UE1PreProcessorCommandlet here]
* Added 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. 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):
** 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.
* Added UED2: '''AlphaBlend''' option 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's used for stuff like security cameras/portals etc... in order to make them work online so that you see stuff behind the other side. In order 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:
<pre>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).
** <tt>native final iterator function IntDescIterator( string ClassName, optional out string EntryName, optional out string Desc, optional bool bSingleNames );</tt><br />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 in order to make it possible to compile mods in Linux 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):
<pre>DownloadManagers=IpDrv.HTTPDownload http://www.site1.com/redirect/
DownloadManagers=IpDrv.HTTPDownload http://www.site2.org/redirect/
* Added UED2: Editor Mesh Browser shows mesh package name as well.
* Added Moved headshot detection from weapons to Pawn.IsHeadshot in order to allow pawns themselves decide whenever they got headshotted. This doesn't affect the original gameplay.
* Added 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 <tt>Unreal.log/UnrealLinux.bin.log</tt>.
* Added new configuration for preferred OpenAL Output.
** Windows user can choose between WINMM, DSOUND, A3D
** Linux users can choose 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 (<tt>new TrueTypeFontFactory  PACKAGE="URedWindowFonts" Name=RedTahoma10 FontName="Tahoma" Height=10 AntiAlias=0 UseGlyphs=1 R=255 G=0 B=0</tt>). You can now set R / G / B during import to affect the color of the imported font. Valid values are between 0 and 255.
* Added UED2: 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: '''All Textures In Use''' 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: 5 customizable context menu entries (right mouse button) like '''Add Light Here'''. Those can be entered into UnrealED.ini:
* Added: '''LadderTrigger''' actor for making a climbable spot.
* Added: '''ForcedPaths''' and '''ProscribedPaths''' to NavigationPoint, in order 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 cycle).
* 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 [[Universal Translator|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: option '''bUseMeshCollision''' to Actor; putting this to true will make actor use mesh zero animation frame as collision shape.
* Added: option '''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 <tt>SetCollisionSize(CollisionHeight,CollisionRadius);</tt> 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''', deletes 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''', gets 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''', spawns 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: 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 third person recoil animation support for all standard Unreal weapons.
* 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 server option to disable third person recoil animations.
* Changed weapon third person mesh render code to spawn a separate actor (a WeaponAttachment class) that updates location and rotation to weapon triangle/bone. 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 it's no longer as hardcoded as it used to be.
* Added 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: switch for realtime preview also. So you can choose 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, in order 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:
** <tt>native(549) final function bool IsPressing( byte KeyNum );</tt><br />Returns true if player is holding down that key number.
* Added in GameInfo:
** <tt>native(920) final function bool LoadTravelInventory( PlayerPawn Other );</tt><br />(Servers only) Force to load travelling inventory for a client (returns true if inventory was found)
* Updated network codes, prevents some client crashes as well as improves server performance.
* Added replication modifiers. These replication modifiers are not visible in UScript replication blocks, only in C++ codes:
** 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.
* 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 [[Unreal Mission Pack: Return to Na Pali|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
* 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..) in order 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 mismatched" in online games that much anymore.
* Fixed: LevelInfo.GetClientPort to return client port instead of server port.
* Fixed: Warning in ScriptedPawn.SetEnemy and Bots.Roaming.
* Fixed: 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: <tt>Canvas.DrawActor(None,,true);</tt> 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 they 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 issue where when you don't have any other selectable inventory and toss final one you get messages in a bad order.
* 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 the [[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 DeattachDecal.
* 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 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).
* 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 (incl. 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 some 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: <tt>UCCLinux.bin make</tt> 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: 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 [[Krall]]bolt 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) [[UMS Grenade Launcher|Grenade Launcher]] flies "through" wooden boxes etc.
* Fixed some UPAK (RTNP) replication problems, but couldn't fix entirely because of backwards compatibility with Unreal Gold.
* 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.

Revision as of 14:56, 28 March 2021

Release date

  • May 14, 2009


  • 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: Script warning that Fly and SinglePlayer(game) would sometimes cause.
  • Changed GameRules to have different flags for different functions to be called on it (in order to save server resources).
  • 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 it's possible to ban older clients by IP address aswell as it supports IP range banning (i.e:
  • Changed music menu musics list and favorites server list in order to be based on dynamic arrays, as well for same reasons as above.
  • Added: Changed music menu file browser; when you double click the music file, it will automatly load the package and search for musics in them.
  • Fixed 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 option 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 downloader's 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;
  • Added 2 new commandlets:
    • Editor.StripSource - strips the text buffers from script packages.
    • Editor.DumpInt - generates a *.int file out of some desired package.
  • Added UED2: "OpenGL" into selection menu for rendering devices.
  • Added: 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: Servers now report 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 (Details: UE1PreProcessorCommandlet) In order to use preprocessor you have to call ucc with following parameters: ucc uengineppc.parse project=[<project_dir>/<project_file>] [-option...] [-globals...]
  • Added: distance fog support for mappers to use (you can simply define in ZoneInfo distance fog start/end distance and color).
  • Added: new page to the setup wizard which allows to chose the sound device 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 DynamicZoneInfo actor, a zoneinfo actor which can be spawned/destroyed/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. It's a small and fast growing plant with +5 healing.
  • Added new UnrealScript native function AppSeconds, usage is as follows:
    • 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.
    • 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 ObjLinkers 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).