227 release notes/v227i

From Oldunreal-Wiki
Jump to navigation Jump to search

Release date

  • November 11, 2012

Changelog

  • Added RawHIDInput for most precise mouse input and 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. 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). It can be set on Unreal.ini:
[Engine.ChannelDownload]
UseCompression=True
CompressDir="..\Compress\"
  • 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+).
  • 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 );
      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.
    • native(477) final function DrawTileStretched( Texture Tex, int X1, int Y1, int X2, int Y2 );
      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.
  • UED2.1: Added a switch to disable "Are you sure you want to save new filesize kb, old filesize kb)" save dialog. [Editor.EditorEngine] AskSave=True
  • UED2.1: Added RightMouseButton on Surface -> Tesselate Surface (3D view surface context menu)
  • 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.
  • Fixed interpolation point end in water.
  • Fixed UPak cloak jump bug.
  • Fixed Automag decal and ricochet sound.
  • Fixed IPDrv on Server could cause problems with older clients using Nephthys.