In order to make the TA menu scripting system more versatile some changes have been made to the source code. These changes slightly modify some existing features or add new features that are needed. Only a few changes will break compatibility with the stock TA menu scripts and these will be pointed out in the following change list.
- Added the ability to change the graphics used by , and the sizes of, the scroll bar and the slider. Also added the ability to define a different background for both vertical and horizontal scroll bars. By default the regular graphic files and sizes are used.
- Changed the slider so it no longer changes to the focus color when it receives the focus. Also added a selected slider thumb definition so you can display a different graphic when clicking on the slider thumb.
- Added new script commands to allow changing the default names of certain menus. The standard TA scripted menu system has hard coded certain menu names, such as main and ingame, and forces you to use these names for those menus. The new commands allow you to change those names to anything you wish.
- Added script commands to change the names of the fx graphics required by the scripting system. By default, a number of graphics are loaded using hard coded file names and these new commands allow you to use different file names for those graphics.
- Added script commands to change the default leg and torso animations used by the player model when it is displayed in the menu. Also added a script command to change the weapon model shown when the player model is displayed. The stock TA system uses hard coded leg and torso animations and weapon model.
- Added script commands to change the view and move angles of the player model so it can be displayed looking and moving in different directions than the hard coded values.
- Changed the action of the uiScript closeJoin command. This breaks compatiblity with the TA menu scripts. In the standard TA system this command finishes by closing the joinserver menu and opening the main menu. This does not happen in this version and you must specifically close the current menu and open the main menu. See below for more details.
- Changed the text displayed by the ownerdraw UI_NETSOURCE command. This breaks compatiblity with the TA menu scripts. In the standard TA system this command displays the text "Source:" before the actual net source text. In this version that text has been deleted. You must add the command text "Source:" to the item definition to maintain compatibilty. See below for more details.
- Added the setcvarfloat command to allow setting a cvar to a negative value. The normal setcvar command will not accept a negative value.
- Added the clearcvar command to allow setting a cvar to the empty string.
- Fixed a bug in the drawing of gradient borders that caused the bottom border to be incorrectly drawn.
- Added a new feeder for list boxes that supplies a list of the saved games avalible. Also added new cvars to hold the names of the selected saved game and uiScript commands to manipulate these cvars. These are used in a single player game.
- Added a new cvar to hold the host name of the selected server and a uiScript command to transfer that name from the server list to the cvar.
- Modified the uiScript controls command so it no longer automatically opens the menu named controls but instead opens the menu whose name is supplied in the command.
- Changed the columns command so a max chars of 0 will cause that column to not be displayed.
- Added the ui_SpecialGame cvar which, if not the empty string, is used when loading arena files to filter the maps by game type. This is used to specify the type of map to be loaded for viewing by the map feeders.
- Added an "all" parameter to the close command to close all open menus.
- Increased the maximum number of itemDefs to 128.
- Changed the uiScript commands updateSpMenu, loadArenas and nextSkirmish so they can be used in menus with different names than what was hard coded into the program.
- Changed ownerdraw UI_GAMETYPE to display the FFA and Single Player game types.
- Corrected the uiScript loadArenas command to accept the Team DM game type.
- Changed the maps section of gameinfo.txt so the maps are no longer required to include a game type of 2 before they will appear in a List box using the feeder FEEDER_MAPS command.
- Changed ownerdraw UI_CLANNAME so, if you select a clan name the same as the opponents clan name, the opponents clan name changes to another name to avoid having both teams with the same name.
- Added uiScript commands to create a mask for ownerdraw UI_GAMETYPE and ownerdraw UI_NETGAMETYPE to remove selected game types from the list.
To make the TA scripts compatible with this version of the ui program you must make some changes to one script file. In the joinserver.menu file change the onEsc command to the following :
onEsc { uiScript closeJoin; close joinserver; open main }
Also, right below the ownerdraw UI_NETSOURCE line, farther down the file, add the following line :
text "Source:"