RayDevWiki

Rayman Developer Community Wiki

User Tools

Site Tools


jade:scripting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
jade:scripting [2023/02/09 10:23] – created hogsyjade:scripting [2024/03/11 15:12] (current) yeg_g
Line 1: Line 1:
 ====== Scripting ====== ====== Scripting ======
  
-[[https://raydev.wiki/cpa:scripting|Like it's predecessor, CPA]], Jade uses a C-like proprietary scripting language for implementing game, object and world specific behaviours.+[[https://raydev.wiki/cpa: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 [[jade:scripting:getting-started|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 ===== ===== Basic Concepts =====
  
 //FIXME TODO: Explain the basic concepts of the language// //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 ===== ===== Syntax =====
Line 16: Line 100:
 ===== Conditions ===== ===== Conditions =====
 //FIXME TODO: List all the conditions of the language// //FIXME TODO: List all the conditions of the language//
- 
-===== Functions ===== 
-//FIXME TODO: List all the functions of the language// 
- 
-===== Procedures ===== 
-//FIXME TODO: List all the functions of the language// 
jade/scripting.1675938193.txt.gz · Last modified: 2023/02/09 10:23 by hogsy