Cosmic Tools

Copyright (C) 2000 - Chris "kloc13" Stewart

www.planetunreal/Cosmic

kloc13@canada.com

This is a beta piece of software only for personal testing. I hold no responsibility for what it does to your computer, system, or installation of Unreal Tournament.  You may use this program freely for your own personal use.  This program can be freely distributed as long as no money is charged and the program is not changed.

 

This program is designed to assist developers of Cosmic Unreal and any other mods for Unreal Tournament. It replaces the normal UT console with a special "debug" version allowing you to  access, watch, and change information on actor objects.

To Install

Edit your unrealtournament.ini file.  Find the entry under the [Engine.Engine] header.  Replace the " Console=UTMenu.UTConsole" line with " Console=CUTools.CUToolConsole".  Instead of deleting the original line you can comment it out using a !.  This way you can easily change the console back to the original. 

Now when you bring up the console it will be replaced with the CUTools console. 

To Uninstall

Do the opposite of the above.  Edit your unrealtournament.ini file.  Find the entry under the [Engine.Engine] header.  Replace the  " Console=CUTools.CUToolConsole"line with " Console=UTMenu.UTConsole" .

Usage

View the screenshot for a general understanding of the layout of the controls.

 Here's a very quick explanation:

There are three levels of controls. 

The first level is for Class names and contains a package listbox and a class name edit box.  Look in CUTools.ini to add additional packages to the package listbox.  It also contains the following buttons: "All", "Visible", "Type", and "Create".  The "All" button will populate the second level with all the actors in the level.  The "Visible" button will populate the second level with all the visible actors from your current position.  The "Type" button with fill the second level with all the objects that are of the type sepcified in the first.  So if the first line is Engine.Pawn then after you press the "Type" button the second level will be filled with all the Pawn actors in the level.  The "Create" button creates an actor of the type specified in the first level.  If an object is specified in the second level then the "Create" button will use that object for the owner, location, and rotation of the newly created object.

The second level is a drop down listbox containing a list of objects.  It originally starts empty, and you'll have to fill it using one of the other buttons.  The only button on this level is the trace button.  This will fill the Object list with a list of objects traced out from your location outwards (a tracer bullet?). 

The third level is where you can access and change an objects properties.  All actions at this level, refer to the object selected in the second level.  The first edit box is for the property name.  The second box is for the property value.  Then there are 3 buttons at this level.  The "Get" button will fill in the Property Value edit box with the property value.  There is one special reserved property name called "state" that returns the state the object is in as if it was a variable.  The "Set" will set the property to the value specified in the property value box.  You can not set const values.  However, I did put a small work around for setting location, rotation, and physics by calling the appropriate functions, so you should be able to modify these as if they were variables.  Unfortunaly, I found no way to set the state of an object from the window.  The "Watch" button will add a watch to the open area below these controls.  It can watch 10 variables, and it will loop back around to 1 when adding more than 10 watches. 

There are also a few checkboxes that can control some important attributes.  "HLight" will highlight the currently selected object by putting a "UT_Shieldbelteffect" around the object (it uses a sphere if the object has no mesh).  "Hidden" will show all the hidden actors if you turn it on. For example: lights, pathnodes, InventoryMarkers etc.  "Trans" will make the background of the CUToolConsole transparent.  This way it doesn't take up much screen space and you can see behind the window.

Finally

This is a constantly evolving product that I used for my own testing and playing.  It's easier to play around with an actors properties and watch what happens in a game situation.  And it gives a good understanding on how things are working inside the Unreal engine.  This product is far from perfect.  There's lots of bugs.  Please don't tell me about them.  I don't really care that much.  This is only meant for trying things out, and it is not to be used in a game situation or for wide release to a general audience.

One Last Thing

Look in the CUTools.ini file to add addition packages to the Package drop down window.  There's also an entry called strStartString.  This specifies a console command to run when the console window is first brought up (example behindview 1).  And last but not least - if you hit the ScrollLock button on your keyboard while the console is up, it'll allow you to take control of your character again.  This way you can run around, attack, dodge etc while the watch window is still visible.