home *** CD-ROM | disk | FTP | other *** search
- Unreal: Version 220 Public Beta Patch
-
- Last Updated: 12/13/98
-
- Installation instructions
-
- To install a patch: Download it. Run WinZip to extract the files. Exract
- the files into your c:\Unreal\System directory, replacing the existing
- versions of the files. If you've installed Unreal into a directory other
- than c:\Unreal, then extract the files into the System subdirectory off of
- your custom Unreal directory.
-
- The first time you run the upgraded version of Unreal, you may be asked to
- put your Unreal CD in the drive. This step is required because files must
- be loaded off the CD during the patching process. Make sure you have your
- original Unreal retail CD handy before installing the patch.
-
- After installing the 220 patch, you will need to reconfigure your Unreal
- settings such as your keyboard configuration, 3D hardware, and resolution.
- However, your savegames will not be lost; savegames from previous versions
- will work properly.
-
- Warning: Patches designated as "Public Betas" have not undergone rigorous
- internal testing and are for enthusiasts who are comfortable using
- experimental software. After the patches have settled down into a stable
- new version, an official (non-beta) release will be made.
-
- Reporting Bugs
-
- Report bugs to: unreal220@epicgames.com. If you're experiencing a crash,
- please attach a copy of your log file: \Unreal\System\Unreal.log to help us
- troubleshoot. This is not a tech support email address; the Unreal team
- reads all bug reports and looks into them, but we can't guarantee an
- individual response.
-
- Download Sites
-
- * Epic Megagames US - USA: Download! HTTP, Slow (6424KB)
- * CDROM.com - Worldwide: Download! FTP (6424KB)
- * PlanetUnreal / PlanetQuake Network - Worldwide: Download! FTP (6424KB)
- * Unrealized - USA: Download! FTP (6424KB)
- * Unreal Resources - USA: Download! HTTP (6424KB)
- * BitchLips - USA: Download! FTP (6424KB)
- * BitchLips FTP - USA: Download! FTP (6424KB)
- * Kali Nexus - USA: Download! HTTP (6424KB)
- * The Tech Corner - Chile: Download! FTP (6424KB)
- * Nali City - North America: Download! HTTP (6424KB)
-
- Latest Hardware Drivers
-
- DirectX 6.0 and Direct3D driver downloads.
-
- Improvements for Gamers
-
- Multiplayer Improvements
-
- * Player movements are now compressed with a predictor-corrector scheme,
- allowing for smoother movement of enemies.
- * New multiplayer game styles, including Classic, Hardcore, and Turbo,
- can be selected from the game options menu.
- * Fixed player and spectator counts.
- * Fixed becoming ghost when killed while starting to feign death.
- * Spectators can now see the scoreboard.
- * Spectators can cycle through other player views by pressing fire, and
- return to their own view using the alt-fire button.
- * Spectators can go through portals.
- * Fixed support for multiple skin .int files (now can add user skins in
- new utx files without breaking compatibility).
- * Improved team scoreboard.
- * Skin and mesh selection always remembered.
- * Spectators not shown in the scoreboard.
- * Skaarj player swimming and dodge roll animations played correctly.
- * In team games, players properly start at appropriate playerstarts in
- levels where playerstarts are marked for specific teams.
- * Fixed King of the Hill gameplay bugs.
- * Fixed jumpboot respawning problem.
-
- Internet Play
-
- * Improved bandwidth usage for temporary effects like projectiles.
- * Player movements are now compressed with a predictor-corrector scheme,
- allowing for smoother movement of enemies.
- * Movers are simulated client-side, and players based on movers have
- their location updated by the server relative to the mover position.
- This allows smooth mover movement prediction on the client.
- * Optional game password can be set to limit access to a server.
- Clients can enter the administrator or game password from the player
- selection menu.
- * Fixed "little chess piece" cheat and some other security holes..
-
- Server
-
- * Fixed remote administration (see Server Tips for information).
- * Remote administrators can finally execute console commands on the
- server.
- * The "AllowAdmin" setting is no longer used. To make your server
- remotely manageable, just set the "AdminPassword" in "Advanced Options
- / Game Settings".
-
- Rendering
-
- * "TIMEDEMO 1" command provides frames-per-second statistics at any
- time. If started during the flyby sequence, it provides statistics for
- exactly one loop of the flyby, for comparison to other systems.
- "TIMEDEMO 0" turns it off. Thanks to Jack "Mek" Porter for integrating
- the code.
-
- Player Controls
-
- * bFreelook
- * FOV snaps back to modified value.
- * Optional mouse smoothing.
- * GetWeapon console command can be used to bind any key to a specific
- weapon.
- * Added weapon flash effects, and option to turn them off.
- * Fixed centerview problem.
-
- Single Player
-
- * Fixed problem where splashes didn't play on some levels.
- * Fixed problem where a healing zone reduced your health to 100 if it
- was above 100.
- * Fixed problem where pickups like the shieldbelt were de-activated
- after a level change.
- * Improved the "Advanced Options" screen.
- * Fixed problem with scuba gear interfering with armor.
- * Crucified nali is solid.
-
- BotMatch
-
- * Bots have greatly improved understanding of how to use lifts, and how
- to use triggered doors and lifts.
- * Bots never get frozen after dying.
- * Fixed bug where bots would disappear from the game.
- * Bots have a better understanding of how to do the ASMD combo move and
- other weapon special moves.
- * Improved navigation code for swimming, jumping up onto ledges.
-
- Coop games
-
- * Listen server player weapons travel from level to level.
- * Fixed weird movement problem in open areas on fast machines during
- coop play.
- * Translocator works properly in coop play, and everyone gets one.
-
- Improvements for Level Designers
-
- LevelInfo
-
- * Added bHumansOnly to specify whether only "human" player pawns are
- allowed in this level.
- * Added bNoCheating to specify whether certain client actions, like
- turning lighting off or using a non-standard console, are allowed.
-
- ZoneInfo
-
- * Added bNoInventory to specify whether inventory is allowed to exist in
- this zone. If true, then any inventory in this zone not being
- carried by a pawn is destroyed.
-
- AI
-
- * Added "LiftTrigger" variable to LiftCenter and LiftExit.
- * Added "ExtraCost" to NavigationPoint.
- * Added "bOneWayPath" to navigationpoint.
-
- Changes and Improvements for Script Programmers
-
- Script Compiler
-
- * When defining a class that contains configurable variables, you can
- now specify whether the configuration should be stored in Unreal.ini
- or User.ini:
- o class MyClass expands SuperClass config(System); // Class should
- use system configuration (Unreal.ini) -- the default.
- o class MyClass expands SuperClass config(User); // Class should
- use user configuration (User.ini).
- o class MyClass expands SuperClass config(MyMod); // Class should
- use a mod-specific configuration file named "MyMod.ini".
- o Default "System" variables are stored in Default.ini.
- o Default "User" variables are stored in the new file DefUser.ini.
- * You can now refer to literal objects by by their package name, for
- example texture'UnrealI.Skins.MySkin' -- this used to cause a compiler
- error.
-
- Networking
-
- * Added bNetTemporary for temporary, simulated actors like projectile:
- Improves bandwidth usage. If you set bNetTemporary=true for any of
- your projectiles or special-effects actors, you need to destroy the
- actor on the client side, either by setting a LifeSpan, or destroying
- it in a simulated function. In 219, all actors were destroyed
- automatically by the server. In 220, bNetTemporary=true actors must
- be destroyed by the client.
- * Use bNetOptional for purely gratuitous effects that can be skipped if
- not enough bandwidth is available, such as smoke puffs.
- bNetOptional=true actors are only sent to the client if there is spare
- bandwidth; they never suck bandwidth away from bNetOptional=false
- actors.
- * Use bAlwaysRelevent to force an actor to always be sent to the
- client. For example, we have bAlwaysRelevent=true on our
- PlayerReplicationInfo actors, so they are always replicated to the
- client.
- * Fixed PreLogin function being passed just the ?option=value strings
- rather than the full URL.
-
- Single-player
-
- * Fixed TravelPreAccept/TravelPostAccept not being called.
-
- Mods
-
- * You can now place "exec" functions in GameInfo subclasses, and
- Inventory subclasses. "exec" functions are searched for in the
- following order, with the first match called and the others ignored:
- The PlayerPawn actor itself, then all the items in the player's
- inventory, then Level.GameInfo. In addition, you can use GameInfo
- "exec" commands through the Unreal server console.
- * The menu lists for available game classes, player classes, bot
- classes, and weapon classes are now loaded each time the menu is
- opened from the .int files. To add new items to these lists,
- reference them in a .int file associated with your mod.
- * The GetNextInt() intrinsic function is used to read entries from the
- .int files.
- * Mod makers can now import Windows fonts for use in HUDs. This only
- works well for true-type fonts. Use an exec command with this syntax:
- #exec Font ImportTTF Name=MyFont Font="Arial" Height=12 . When the
- package file is rebuilt with Unreal -make, a new font Texture'MyFont'
- which is 12 pixels high will be available. The font is monochrome and
- can be set to any color when it is drawn on the HUD. Questions on this
- to jack@epicgames.com.
- * You can now have a custom .ini file for your mod's configuration; see
- the "Script Compiler" notes above.
-
- Separation of player and system configuration
-
- * The new User.ini now contains all user-specific Unreal settings such
- as the keyboard and mouse configuration.
- * Unreal.ini only contains system-wide options.
- * Default.ini contains default values for everything in both User.ini
- and Unreal.ini.
- * If you're going to a LAN party and want to bring your configuration
- with you, just bring User.ini.
-
- Heads Up Display
-
- * The HUD is now responsible for drawing its owner's weapon. A local
- player's HUD RenderOverlays() function is called every tick. It calls
- the RenderOverlays() function for its owner's weapon (and potentially
- other actors). RenderOverlays() is called before the view flash and
- fog is applied, unlike PostRender(). As a result, InvCalcView() was
- no longer needed and was removed from Inventory.
-
- Messages
-
- * ClientMessage has been rewritten to take an optional message type and
- optional message beep boolean. The message type can be used to
- determine how the message is displayed on the screen. See
- Engine.Console.PostRender for information.
- * Engine.Console.PostRender has been moved from C++ to UnrealScript.
- * The console now asks the gameinfo object to handle messages before it
- displays them. A GameInfo class can employ DisplayMessages(Canvas C)
- to paint messages instead of the default Console.
- * There are now weapon based death messages. Weapon deathmessages are
- coded strings that take the form:
-
- %k killed %v with the %w.
- * %k is replaced with the killer's name.
- * %o is replaced with the victim's name.
- * %w is replaced with the killer's weapons name.
- * The actual order of the % codes in the deathmessage is irrelevant.
-
- Scoreboard
-
- * The scoreboard has been rewritten to take advantage of
- PlayerReplicationInfo. It will now obtain score information as it is
- replicated by each client.
-
- Menus
-
- * Fixed several localization problems with menus, including support for
- localized yes/no characters.
- * The menus have been restructured to increase code reuse.
- * New functions for fading in strings of text are available in
- UnrealShortMenu.
-
- Artificial Intelligence
-
- * The VisNoReachPaths[] array in NavigationPoint provides a list of
- NavigationPoints which are visible but not directly reachable from the
- current NavigationPoint.
- * The NavigationPoint function DescribeSpec() is now a useful way of
- getting information about a reachspec ( which describes the conditions
- for movement between two actors).
- * The RouteCache[] array in Pawn provides a list of the NavigationPoints
- along the best path determined by the most recent FindPathTo() or
- FindPathToward() call. The first NavigationPoint is the one returned
- by the function call, followed by the successive waypoints toward the
- goal.
-
- Actor features
-
- * TransientSoundRadius is a new Actor attribute which specifies the
- default radius for sounds played by a given actor using PlaySound()
- * ConsoleCommand() intrinsic function implemented for Actor, allowing
- scripts to call console commands even when there is no local
- playerpawn (e.g. a dedicated server).
- * FellOutOfWorld() is a new event called by the physics if a falling
- actor's location becomes invalid (outside of the level).
- * intrinsic final function string[64] GetNextInt( string[64] ClassName,
- int Num);
- * Use bGameRelevant to specify if an actor class is always relevant for
- a given game.
- * When an actor becomes the ViewTarget of a player, its
- BecomeViewTarget() function is called.
- * The string representation of actors now includes their package prefix,
- i.e. "Engine.PlayerPawn" rather than "PlayerPawn". The GetItemName()
- function returns the a string with the package prefixes removed.
-
- GameInfo features
-
- * The localized GameInfo attribute GameName contains a human readable
- string representation of the game type's name.
- * The GameInfo function PlayerJumpZScaling() is used to modify the
- player's jumping ability for a specific game type.
- * The GameSpy protocol code now calls GameInfo GetRules() to ask for
- gametype specific rules that should be sent to the querying client.
- This will allow mod authors to add new fields to GameSpy. For more
- information, see GetRules() and the GameSpy Open Protocol guide.
- * GameInfo information that is regularly replicated to the client has
- been consolidated within a GameReplicationInfo class. This class
- contains information regarding the server's administrator, gamespy
- information, message of the day information, and so forth. Much of
- this information is configurable from Advanced Options.
-
- Pawn features
-
- * Pawn information that is regularly replicated to the client has been
- consolidated within PlayerReplicationInfo. All bots and human players
- have a related PlayerReplicationInfo class. This contains information
- such as the player's name, score and so forth. All
- PlayerReplicationInfo classes are bAlwaysRelevant to all clients.
- This means that each client in a netgame has a subset of information
- regarding all players in the game. (Used in scoreboard and enhanced
- HUDs.)
- * The bIsHuman attribute of pawns specifies whether a pawn class should
- be considered human (for game types which care about whether a pawn is
- human or not).
- * The localized Pawn attributes MenuName and NameArticle contain the
- human readable name of the pawn type.
- * The UpdateURL() function updates the current URL with the new option
- and value, and optionally also updates the saved DefaultPlayer config.
- * The ClientInstantFlash() can be used to cause a one frame screen
- flash.
- * The Sniper rifle zoom has been moved to PlayerPawn. StartZoom()
- begins a zoom, StopZoom() stops zooming, and EndZoom() unzooms.
- * The PlayerRestartState attribute specifies the initial state for
- players when they enter a level or restart after dying..
-
- Inventory features
-
- * The localized Inventory attributes ItemName and ItemArticle contain
- the human readable name of the inventory type.
- * The ProjectileClass and AltProjectileClass attributes are now
- configurable.
-
- C++ Changes And Improvements
-
- Localization Support
-
- I'm incrementally adding support for Unicode to the engine. The TCHAR
- definition is CHAR when compiling in ANSI mode, and WORD when compiling in
- Unicode mode. The TEXT("str") macro emits a string either in Unicode or
- ANSI depending on the compilation mode. See UnBuild.h for various
- Unicode-related definitions. Unreal doesn't yet run successfully under
- Unicode yet, because the string serialization needs improving, and Windows
- calls need to thunk down to ANSI on Win95/98, and UFont objects don't
- support multiple pages yet. We expect full Unicode support to come
- together over the coming months.
-
- Cleanup of Core
-
- I'm improving the portability of the code by more cleanly separating
- functions with dependencies on the ANSI C library (in UnFile.cpp) and
- Windows (in UnPlat.cpp).
-
- Multiple player configurations
-
- Separating User.ini out of Unreal.ini is the first step in evolving Unreal
- towards supporting multiple player configurations. The goal is to
- eventually allow storing mutiple users' settings by name.
-
- Archives: Obsolete Versions of Unreal
-