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.
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.
OBJ_PosGet() : Returns a vector of the position of an object
OBJ_PosSet(VECTOR) : Sets object position to vector
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
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
OBJ_SightGet(): Returns vector of forward vector of the object
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?
TODO: List all the functions of the language
TODO: Explain the basic concepts of the language
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
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
TODO: Explain the syntax of the language
TODO: List all the keywords of the language
TODO: List all the conditions of the language