Table of Contents

Scripting

Like it's predecessor, CPA, Jade uses a C-like proprietary scripting language for implementing game, object and world specific behaviours.

This language appears to be only typically used for development purposes, and instead as when a title is shipped, the scripting language will usually be converted into C/C++ and compiled natively for the target platform for better performance.

A basic guide on getting started with scripting in Jade is available here.

Functions

FIXME TODO: List all the functions of the language

With some of these, if you have an object variable, you can preface the function with @objectVariable to specify what the function is for.

OBJ_Me() : A reference to the object the script is attached to.

Position

OBJ_PosGet() : Returns a vector of the position of an object

OBJ_PosSet(VECTOR) : Sets object position to vector

Rotation

OBJ_RotateLocalZ(FLOAT): Rotates an object locally around the z axis

OBJ_RotateLocalX(FLOAT): Rotates an object locally around the x axis

OBJ_RotateLocalY(FLOAT): Rotates an object locally around the y axis

Flag

OBJ_FlagInvisibleSet(INT): Disables the AI of an object with hiding it

OBJ_FlagInactiveSet(INT): Disables the AI of an object without hiding it

OBJ_FlagsIdentityTest(INT) : returns int

Sight

OBJ_SightGet(): Returns vector of forward vector of the object

Misc.

OBJ_Duplicate(VECTOR) : Duplicates current object to location (?)

OBJ_Rotate_FromTo(VECTOR, VECTOR) : Rotates an object from one rotation to another.

OBJ_Destroy(): Destroys object

OBJ_MorphProgSet(INT, FLOAT) : Determines the current frame of a shapekey/morph animation

OBJ_SqrDist(OBJECT) : returns float, also gets the distance between objects?

Procedures

FIXME TODO: List all the functions of the language

Basic Concepts

FIXME TODO: Explain the basic concepts of the language

ETAT/States

Certain characters are laid out with multiple states and execs, which handles different parts of the character’s movement.

The function AI_TrackCurChangeNow()changes the state.

AI_Execute() executes other scripts, usually used for those with EXEC in the title. Rayman’s States

Rayman's ETATs/States

raym_ETAT_main: rayman’s default state, handles code on whether or not rayman should switch to another state.

raym_ETAT_accroch: Rayman attached to something

raym_ETAT_cheat: Cheat mode, for devs

raym_ETAT_danse: Dancing

raym_ETAT_mort_AHahah: Rayman’s death

raym_ETAT_paf: Taking Damage

raym_ETAT_void: Blank state, does nothing

Syntax

FIXME TODO: Explain the syntax of the language

Keywords

FIXME TODO: List all the keywords of the language

Conditions

FIXME TODO: List all the conditions of the language