Tribes:Vengeance is based on the Unreal Tournament Engine.
Here’s how it differs from normal UT scripting:
- When extending other base classes you have to specify the fully qualified name of the base class, e.g. instead of doing
class Foo extends Object;
you HAVE to doclass Foo extends Core.Object;
– this is naturally braindead but I guess IG may have had their reasons. - C-Style comments are broken. Don’t use /* or */ to delimit comments, or blocks of code. It breaks if there are any other slashes inside. This is pretty dumb.
- When attempting to use structs defined inside other classes in your own derived classes, you may have to use the dependson() directive like so:
class Foo extends Engine.Object dependson(~SomeClassWithStructsInIt);
Things you will need to do to make UCC work (For Beta/Demo)
Edit your UCC.ini, and ensure that you have the packages that you’re working on listed like in this following example:
~EditPackages=~Core ~EditPackages=~Engine ~EditPackages=~IGEffectsSystem ~EditPackages=~IGVisualEffectsSubsystem ~EditPackages=~IGSoundEffectsSubsystem ~EditPackages=~Editor ~EditPackages=~UWindow ~EditPackages=~GUI ~EditPackages=~UnrealEd ~EditPackages=~IpDrv ~EditPackages=~UWeb ~EditPackages=~UDebugMenu ~EditPackages=~MojoCore ~EditPackages=~MojoActions ~EditPackages=~PathFinding ~EditPackages=~Scripting ~EditPackages=~AICommon ~EditPackages=~Movement ~EditPackages=~Gameplay ;~EditPackages=~TribesGui ; these have to be commented out, crashes otherwise. ;~EditPackages=~Tyrion ; these have to be commented out, crashes otherwise. ~EditPackages=~Physics ~EditPackages=~TribesAdmin ~EditPackages=~TribesWebAdmin ~EditPackages=~TribesVoting ~EditPackages=~TribesTVClient ~EditPackages=~TribesTVServer ; my packages ~EditPackages=~FooPackage ; Add your packages at the bottom of the list, othwerise you’ll get undefined()s
- When compiling, you need to use “ucc make -NoBind” otherwise all the core packages will look for their associated headers/and dll’s to bind.
- You will need to edit StartupUCC.ini and include the path to the script source code.