- Fixed Raptor camera from clipping into the world
- fixed collision hole in Goliath
- vehicle splash rings
- fixed daredevil message to only show the stats that made you a daredevil
- Manta water spray effect
- If two nodes are an equal number of links away from the enemy powercore, the autospawn system will now select the one physically closer to the core instead of randomly picking one.
- Optimized some effects to improve client performance
Onslaught AI:
- greatly improved AI control of flying vehicles
- fixed bot getting out of vehicle and instantly killed causing AI problems
- bots in mantas and scorpions may jump out if about to be hit by avril
- Improved Leviathan AI
- improve Raptor firemode selection AI
- bots like jumppads more in Onslaught
- improved AI initial node rush
- bots better at comboing with PRV side gun
- improve AI vehicle route following (less backing up)
- high skill bots jump out of mantas that have web projectile stuck to them
- fixed occasional bot in vehicle getting stuck on inventoryspot
- fixed bot avril locks when bot can't see target
- fixed bots trying to heal node from too far away
- fixed defenders staying in vehicle too long when node unpowered
- PowerCores now block paths through them (need to rebuild paths for this to work)
- bot Mantas more aggressive against foot enemies
- bots smarter about navigationpoints blocked by vehicles
- move as close as possible in vehicle if no path to dest (until currentpath isn't useable)
- bots pick best side of vehicle to get out
- Entering a vehicle turns off a pawn's and a pawn's weapon's AmbientSounds
- bots keep manning tanks (and other "important" vehicles) when possible
- bots do multiple dodges toward road pathnodes
- improved bots staying focused on enemy attacking power core
- if bot can't get out of vehicle turret, he tries to switch to driving vehicle if there's no driver
- bots understand they can't shoot through powernode shields
- bots don't toss spidermines into powernode shields
- fixed bots in vehicles trying to use teleporters
- improved bot use of handbraking for steering
General game play:
- removed log warnings when damagetype is none
- fix for getplayerstart log spam in invasion
- Fixed the single player not going to the SP_Main menu after showing the intro
- fixed script warnings
- Only allow suicides once every 10 seconds
- fixed Xan torso w/ invisibility
- have "?" portrait show up if no valid portrait on HUD
Demo Recording:
- Added a hack so that demorecdrivers always convince the server that it's UTX files are Gen=1
(fixes CTF flags not showing in demos recorded on dedicated server installs)
Networking:
- UT2K4 works with WinXP SP2 firewall
- speed hack detection improvements (less problems for people with just bad connections)
- Fixed Linux server crash when Master Server drops connection unexpectedly. (in 3270.1)
- increased default ConnectionTimeout to 30 seconds
- fixed cases where non-replicated emitters were being spawned server side (performance improvement)
- Fix for server travel crash bug.
- fixed destroyed vehicles disappearing so much on saturated connections
- Properly handle the FailCode command coming from the server. This was what would cause a client to appear "locked solid" when 2 clients were trying to join the last slot.
- "Only Official Maps" toggle in server browser now becomes disabled when mods are loaded.
- Fixed the server browser Filters description overlap.
- Fixed Classic Translocator Setting in net games.
- The "Press F10 to" Connection Message makes it's return.
- Fixed vehicles looking flipped over on clients when they aren't
- Servers recover if connection to master server fails during receive
- Fixed HandleStream crash on server with some user Assault levels on connections with packet loss
- Server performance improvement (don't copy structs in NEQ replication comparisons)
Editor:
- added per layer detail settings for terrain deco layers
- fixed particle editor crash
Engine/General:
- fix for processhitwall crash
- fixed script assignment bug (assignment of deleted actors resulted in no change from the current value).
- Added bSmoothKarmaStateUpdates to Actor to control whether Karma interpolates between states
- Added bRepulseWater to KRepulsors and enabled this for Hovercraft
- Added bFlyingKarma to Pawn to indicate PHYS_Karma is active but pawn rotation should still be handled like PHYS_Flying
- SVehicleFactories now store a reference to their marker as MyMarker
- Added bCanHover to Vehicle to indicate a vehicle that can use HoverPathNodes to fly over water.
- Added water damage support to Vehicle so that vehicles will take damage when under water.
- Karma now collides correctly with inverted terrain - courtesy James Golding ;-)
- Increased the extra linear dampening for Karma in water from 0.8 to 2.5 and angular dampening from 0.1 to 0.4
- Moved RepulsorsShouldHit function to ONSVehicle where it should be.
- Added support for PowerCores and PowerNodes triggering events when created and destroyed.
- Cleaned up PowerCore energy beam effect when PowerCores are not present in the map.
- Added bDriverCannotLeaveVehicle flag in ONSVehicle for vehicles you can't get out of but instead will try to flip you upright when you press USE if the vehicle is flipped.
- Added bNeverActivate to ONSVehicleFactory that can be set by mods that want to use Onslaught maps but not factories.
- Fixed a bug in ONSWeapon that used the primary fire projectile class for alt-fire instead of the alt-fire version.
- Moved daredevil code server-side to avoid horrible cheating and the ability to mod/mutate features based on daredevil tricks.
- Reversable vehicle factories will work correctly when sides are swapped.
- Fixed midgame menu popping up when watching an Onslaught demo if the viewed player dies
- Fixed camera rotation being changed when switching between first and third person view in a manta
- Fixed target/ion painter ammo issues
- Fixed bug in stunt mutator where vehicles would be accelerated in their local downward Z when holding the jump warmup while in air.
- Onslaught turrets cannot damage PowerCores or PowerNodes
- Onslaught vehicles take a very small amount of damage over time when on fire and there is no driver
- Fixed players always spawning at own PowerCore after sides are swapped.
- Fixed problem where bots weren't spawning at the nodes they are defending.
General Game play:
- More script warning fixes
- Fixed armor loop in GameInfo.ReduceDamage() properly handling armor getting destroyed while absorbing damage
- Invasion monsters never use default character mesh
- Fixed CTFSquadAI.FindHidePathFor()
- Make sure always add armor using Pawn.AddShieldStrength()
- Fixed ShieldAbsorb() armor damage absorption to produce consistent results in all situations
- Fixed spawning of physicsvolume entry and exit actors, as well as splash sounds, and made them client side.
- Added WaterSplash, used for projectiles and pawns
- Added SplashEffect property and CheckForSplash() function to WeaponAttachment, so instant hit weapons can cause splashes
- Added BulletSplash, used for trace weapons
- Landing sounds no longer stomp on splash sounds
- Added WaterRing - spawned while pawn is walking in water, or center of pawn enters water (new PawnEntryActor property in PhysicsVolume)
- Fixed pawn visible rotation lagging too far behind actual rotation (because of head/torso twist support)
- Fixed bots going after nearby dropped inventory that they couldn't pick up
- Fixed some dynamic uploads (which could cause occasional hitching during gameplay)
- Fixed getting proper ammo count when picking up dropped weapon and already have ammo but no weapon of that type
- Fixed SquadLeader getting set to none if everyone in squad is in a turret
- HUD weapon bar bShowMissingWeaponInfo now config, so is properly saved
- Fixed CTFSquadAI finding flagholder when holder is in vehicle
- Fixed "Use Map Defaults" for bots can result in uneven teams in some maps
- [USE] will only bring up the mid-game menu in ONS games
- Fix for custom models crashing the single player game.
- Fixed TracerProjectile location setting after near miss sound effect
- Fixed BR bomb trail position in multiplayer
- Added Instagib CTF as standalone gametype
- Allow chatting when the game is paused.
- No longer catch own weapon when thrown while running forward
- Fixed weapons checking if they were out of ammo when they weren't the active weapon (which was causing undesired switching to best weapon)
Menus:
- Server browser filters have been reworked to be easier to use.
- Localized "New News" message
- Added localized IRC channels for French and German.
- Added a flashing messages when there is new community news.
- Movie Panel.
Networking Related:
- Various Web Admin style fixes
- Don't load non-default voicepacks on dedicated server
- Fixed server enforcement of maxresponsetime, and make sure clients don't trip it accidentally
- Fixed speedhack detection false positives
- Increased NetPriority of controlled ONSWeaponPawns
- Fixed client-side game time getting screwed up
- Improved jumping/dodging/etc. not getting lost when there's significant packet loss
- Fixed Cheat protect to view most voicepacks as ok
- Fixed *hopefully* the ServerBrowser locking packages and tripping cheat protection.
- Don't spawn votinghandler and votingreplicationinfos for servers which don't have voting enabled (slight performance improvement for those servers)
- TeamInfo and SquadAI have lower netupdatefrequency (for server performance). Set NetUpdateTime whenever a replicated property is updated to get it replicated immediately.
- Make sure that mutators are properly reported to master server
- Made ServerShortTimeout() replicated function reliable
- MasterServerUplink now caches calls to GetServerInfo and GetServerDetails.
- Onslaught server performance improvements:
- vehicle packed state struct updates don't set bNetDirty
- don't update vehicle SoundPitch on dedicated servers
- improved WebProjectile net performance
- added bIsAwake and bHasBeenAwake flags to ONSVehicle, used for packed state replication
- Fixed replication conditions for a bunch of vehicle/projectile properties, changed from bNetDirty to bNetInitial
- Fixed NetworkStatusMessages once and for all
- Reenabled temp. MD5 database generation for loaded packages on a server
- Fixed "flying player" exploit.
- Fixed keeping high translocator trajectory persistent across online level changes.
Mod Author Related:
- Fix for the UCL not exporting bug.
- Fix for .INT files in mod hierarchy, Removed Temp MD5 Warning Message.
- Call PostRender2D() on own pawn as well (mod authors can decide not to render custom beacon)
- Added LevelInfo native function GetPhysicsVolume() - returns the physics volume at a specified location
- Added actor property bTraceWater. If true, trace() by this actor returns collisions with water volumes
- Added support for strafing while on ladders, if the LadderVolume property bAllowLadderStrafing is set true (still false by default)
- Fix for log files and -MOD= switch
- Fix for cache manager exporting ucl files when it shouldn't
- Fixed LoadDecoText
- Use CrouchedPct instead of WalkingPct for crouched pawns
- Vehicle function NumPassengers() now simulated so it can be called on clients
- Made Destroy() function call in ONSVehicle state code indirect (for debugger)
- Fixed localization for mod support
- Now support multiple music directories
- Save Games fixed, with the following limitations:
- ragdolls aren't serialized
- animations aren't serialized (but uses simanim to save channel 0)
- must run UT2004 with -makenames option, or set bSupportSaveGames true in LevelInfo
- added Actor events PreSaveGame() and PostLoadSavedGame()
- Render hud overlays[] on DM_Low clients also
Editor:
3D Buzz Editor Enhancements (Thanks to our friends at www.3dbuzz.com ! Check out their UT2004 mod author video tutorials at
http://sv3.3dbuzz.com/vbforum/unr_main.php )
- Maximize Viewports fixed
- Static Mesh Create From Selected added
- Splitter bar between Viewport and props in SM viewer fixed.
- Button to snap view to frame the current mesh added
- Option to auto-snap view on mesh change
- Added realtime preview to the SM browser.
- New Array tool for quickly adding actors.
Engine/General:
- Fogging is based on camera position rather than pawn head position (important for third person camera while pawn is submerged)
- Removed D3D9Drv.dll and default.ini from patch
- Fixed bug reporting address for Italian, Spanish, and French localized versions.
- Fixed "Intersect Function" crash from first patch.
- Fixed mousewheel input on Win64.
- Removed some pre-release debugging that was still enabled
- Fixed bugs in SortedStringArray sorting (affects bots / admins / groups pages in webadmin)
- New map & mutator packages no longer require server restart to appear in webadmin mutator/map lists.
- fixed webadmin and menu idle kick time range
- added MaxTimeMargin, MinTimeMargin, TimeMarginSlack configurable properties for tweaking speedhack detection to [Engin.LevelInfo] section of UT2004.ini
- admins don't get kicked for idling
- To prevent DDOS attacks by UT2004 servers against subnets, added LimitConnPerIPRangePerMinute property to [IpDrv.TcpNetDriver].
- pkg_official packages can be downloaded, and guid must be matched for them
- Added bKickLiveIdlers to [Engine.LevelInfo]. If set true, players with pawns can also be kicked for idling.
Mod Author Related
- Impersonator support integrated (see http://www.oc3ent.com/home.htm for details). Provides support lip synching to spoken phrases, with UnrealEd integration.
Tools and examples to come soon!
- Reorganized placement of webadmin functions to be more linear, easier to follow
- Added more comments to webadmin code
- Fixed crash in BatchExport commandlet when attempting to export .uc for packages which contain purely native classes
- Properties marked as 'noexport' will no longer be ignored when batchexporting .uc's
- Added Vehicle.Bulldog to CacheManager default packages (cacheexempt), and marked Bulldog cache exempt so that it isn't exported to .ucl file
- Fixed bug in classname matching which caused two classes that began with the same name (such as ClassBase & ClassBaseDerived) to be interpreted as the same class
- Automatically export to .ucl file when package is compiled.
- Automatically export to .ucl file when map is saved.
- Custom webadmin skins no longer required to provide every .inc file that webadmin uses
- Webadmin now searches main /ServerAdmin directory for .inc & .htm files that cannot be found in skin path
- GUIController now correctly cleans up custom styles that use the same keyname as default styles
- if .upl files exist in mod directory, ignores the .upl files in the system directory.
- INT files no longer have to be in UT2004\System\.
- UCC no longer gives an error when using -mod= switch with 'dumpint' and 'exportcache'.
- Can specify a Paths= for music (.ogg) and karma data (.ka) files, so they can be included in the mod's directory structure.
- Config variables properly save to UT2004\ModName\System\Whatever.ini instead of UT2004\System\Whatever.ini.
- No longer get "ERROR: Could not open whatever.u for reading!" in UT2004.log for mod packages.
- Gracefully handle lack of tooltips in mod menus.
- fixed USoundExporterWAV to not try to export procedural sounds and sound groups
- Added AddToPackageMap() native function to Actor. This function adds PackageName to the packagemap (as if it was in GameEngine's ServerPackages list),
or, if omitted, adds the package of the actor it was called on. This function is only valid during initialization (between GameInfo::InitGame() and
GameInfo::SetInitialState()) If called outside of that window, or anytime on a client, the function returns without doing anything.
- Fixed bAddToServerPackages mutator flag
- Mutator config menus:
-Fixed handling of arrays
-Support for advanced and multiplayer only options
- Fixed config class properties not being saved to .ini properly