User Tools

Site Tools


crpl:crplreference

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
crpl:crplreference [2015/03/19 13:25] – comments warrencrpl:crplreference [2023/02/17 17:54] (current) – Added link to unit images Karsten75
Line 1: Line 1:
 ~~NOTOC~~ ~~NOTOC~~
- 
-<html><!--In order to align tables in the two columns, I used a hack. 
-          I placed only one table in a column, created a column break, placed the opposing table and then  
-          ended the column formatting. Rinse/repeat. Essentially two tables are paired in a set of columns  
-          and this pattern is then repeated.  --></html> 
 <-[[cw3:creeper_world_3|CW3 Home]]<- [[crpl:start|CRPL Home]]\\ <-[[cw3:creeper_world_3|CW3 Home]]<- [[crpl:start|CRPL Home]]\\
 ====== CRPL Reference ====== ====== CRPL Reference ======
 +
 +<WRAP round  todo>
 +There is a slow and ongoing process to convert entries in this wiki to the more user-friendly format of the 4RPL wiki. Contributors are welcome.  Note that the process may never complete. 
 +
 +See [[crpl:new_format|here]] for the old/new format.
 +</WRAP>
  
 This reference is divided into two major sections with many subsections in each of those.  The purpose of this reference is to provide an index to all commands in the language, and define the input required and the output produced by each command. In many instances a short example of the use of the command is provided. This reference is divided into two major sections with many subsections in each of those.  The purpose of this reference is to provide an index to all commands in the language, and define the input required and the output produced by each command. In many instances a short example of the use of the command is provided.
Line 14: Line 15:
 The rest of CRPL is contained in the Platform API and is CW3-specific. These govern the behavior of objects in the CW3 game. The rest of CRPL is contained in the Platform API and is CW3-specific. These govern the behavior of objects in the CW3 game.
  
-To get started, review the [[crpl:overview|CRPL overview]] and the [[crpl:crpltutorial|programming tutorial]].+To get started, review the [[crpl:overview|CRPL overview]] and the [[crpl:crpltutorial|programming tutorial]]. If you seek to write neater code, read the [[crpl:styleguide|style guide]].
  
 There is also an [[alphabetic list of commands]] in the language. In addition, you can [[examine map resources]] from other maps and missions from the game. There is also an [[alphabetic list of commands]] in the language. In addition, you can [[examine map resources]] from other maps and missions from the game.
 +
 +<WRAP round info>If you are looking for the in-game images (and some that was never used), then look no further than the [[cw3:Units]] page!. </WRAP>  
  
  
 ==== Table of Contents ==== ==== Table of Contents ====
  
-<columns 10050050% ->+<columns 9545- 45% >
  
 === Language API === === Language API ===
Line 63: Line 66:
  
  
-=== Unit Attribute Constants === +=== Unit Values === 
-[[crpl:docs:getunitattribute#unit_constants|Constants]]\\+[[crpl:docs:getunitattribute#unit_constants|Unit Attribute Constants]]\\ 
 +[[crpl:docs:getunittype#unit_types|Unit Types]]\\ 
 +[[crpl:docs:settechlimit#tech_names|Tech Limit Types]]\\ 
 +[[crpl:docs:setscriptvar#list_of_vars|Default Unit Script Vars]]
 </columns> </columns>
  
 ==== Language API ====  ==== Language API ==== 
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="vars_and_functions"></span></html>+=== Vars and Functions ===
 |< 100% >| |< 100% >|
 ^ Vars and Functions ^^^ ^ Vars and Functions ^^^
Line 75: Line 81:
 | [[crpl:docs:read|<-VARNAME]]  | [[crpl:docs:write|->VARNAME]] | [[crpl:docs:exists|-?VARNAME]]          | | [[crpl:docs:read|<-VARNAME]]  | [[crpl:docs:write|->VARNAME]] | [[crpl:docs:exists|-?VARNAME]]          |
 | [[crpl:docs:refread|<-!]]     | [[crpl:docs:refwrite|->!]]   | [[crpl:docs:refexists|-?!]]             | | [[crpl:docs:refread|<-!]]     | [[crpl:docs:refwrite|->!]]   | [[crpl:docs:refexists|-?!]]             |
-| [[crpl:docs:refdelete|--?]] | |  |+| [[crpl:docs:refdelete|--!]] | |  |
 | [[crpl:docs:call|@FUNC_NAME]] | [[crpl:docs:func|:FUNC_NAME]] |  | | [[crpl:docs:call|@FUNC_NAME]] | [[crpl:docs:func|:FUNC_NAME]] |  |
  
Line 85: Line 91:
 <newcolumn> <newcolumn>
  
-<html><span id="comparators"></span></html>+=== Comparators ===
 |< 100% >| |< 100% >|
 ^ Comparators ^^^^ ^ Comparators ^^^^
Line 92: Line 98:
 | [[crpl:docs:TRUE]] | [[crpl:docs:FALSE]] |                                      | | [[crpl:docs:TRUE]] | [[crpl:docs:FALSE]] |                                      |
  
-<html><span id="special"></span></html>+=== Special ===
 |< 100% >| |< 100% >|
 ^ Special ^^^^ ^ Special ^^^^
Line 99: Line 105:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="logical_operators"></span></html>+=== Logical Operators ===
 |< 100% >| |< 100% >|
 ^ Logical Operators ^^^^ ^ Logical Operators ^^^^
Line 106: Line 112:
 <newcolumn> <newcolumn>
  
-<html><span id="stack_manipulation"></span></html>+=== Stack Manipulation ===
 |< 100% >| |< 100% >|
 ^ Stack Manipulation ^^^ ^ Stack Manipulation ^^^
Line 114: Line 120:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="math_commands"></span></html>+=== Math Commands ===
 |< 100% >| |< 100% >|
 ^ Math Commands ^^^^ ^ Math Commands ^^^^
 | [[ crpl:docs:abs]]   | [[ crpl:docs:acos]]    | [[ crpl:docs:add]]    | [[ crpl:docs:approximately]] | | [[ crpl:docs:abs]]   | [[ crpl:docs:acos]]    | [[ crpl:docs:add]]    | [[ crpl:docs:approximately]] |
 | [[ crpl:docs:asfloat]] | [[ crpl:docs:asin]]  | [[ crpl:docs:asint]]  | [[ crpl:docs:atan]]          | | [[ crpl:docs:asfloat]] | [[ crpl:docs:asin]]  | [[ crpl:docs:asint]]  | [[ crpl:docs:atan]]          |
-| [[ crpl:docs:atan2]] | [[ crpl:docs:ceil]]    | [[ crpl:docs:cos]]    | [[ crpl:docs:Deg2Rad]]       +| [[ crpl:docs:atan2]] | [[ crpl:docs:ceil]]    | [[ crpl:docs:cos]]    | [[ crpl:docs:div]]           
-| [[ crpl:docs:div]]   | [[ crpl:docs:E]]       | [[ crpl:docs:floor]]  | [[ crpl:docs:ln]]            | +| [[ crpl:docs:E]]     | [[ crpl:docs:floor]]   | [[ crpl:docs:ln]]     | [[ crpl:docs:log]]           | 
-| [[ crpl:docs:log]]   | [[ crpl:docs:log10]]   | [[ crpl:docs:max]]    | [[ crpl:docs:min]]           | +| [[ crpl:docs:log10]] | [[ crpl:docs:max]]     | [[ crpl:docs:min]]    | [[ crpl:docs:mod]]           | 
-| [[ crpl:docs:mod]]   | [[ crpl:docs:mul]]     | [[ crpl:docs:neg]]    | [[ crpl:docs:PI]]            | +| [[ crpl:docs:mul]]   | [[ crpl:docs:neg]]     | [[ crpl:docs:PI]]     | [[ crpl:docs:pow]]           | 
-| [[ crpl:docs:pow]]   [[ crpl:docs:Rad2Deg]] | [[ crpl:docs:round]]  | [[ crpl:docs:ShortestAngle]] +| [[ crpl:docs:round]] | [[ crpl:docs:ShortestAngle]] | [[ crpl:docs:sin]]  | [[ crpl:docs:sqrt]]      | 
-| [[ crpl:docs:sin]]   | [[ crpl:docs:sqrt]]    | [[ crpl:docs:sub]]    | [[ crpl:docs:tan]]           |+| [[ crpl:docs:sub]]   | [[ crpl:docs:tan]]     |                                                    |
  
  
 <newcolumn> <newcolumn>
  
-<html><span id="flow_control"></span></html>+=== Flow Control ===
 |< 100% >| |< 100% >|
 ^ Program Flow Control ^^^ ^ Program Flow Control ^^^
Line 141: Line 147:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="timers"></span></html>+=== Timers ===
 |< 100% >| |< 100% >|
 ^ Timers ^^^^ ^ Timers ^^^^
Line 148: Line 154:
 <newcolumn> <newcolumn>
  
-<html><span id="string_commands"></span></html>+=== String Commands ===
 |< 100% >| |< 100% >|
 ^ String Commands ^^^ ^ String Commands ^^^
Line 159: Line 165:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="input_commands"></span></html>+=== Input Commands ===
 |< 100% >| |< 100% >|
 ^ Input Commands ^^ ^ Input Commands ^^
Line 171: Line 177:
 | [[crpl:docs:EnableNormalMouse]] | [[crpl:docs:EnableNormalKeyInput]] | | [[crpl:docs:EnableNormalMouse]] | [[crpl:docs:EnableNormalKeyInput]] |
 <newcolumn> <newcolumn>
-<html><span id="lists"></span></html>+=== Lists ===
 |< 100% >| |< 100% >|
 ^ Lists ^^ ^ Lists ^^
Line 186: Line 192:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="movement_commands"></span></html>+=== Movement Commands ===
 |< 100% >| |< 100% >|
 ^ Movement Commands ^^^ ^ Movement Commands ^^^
Line 197: Line 203:
  
 <newcolumn> <newcolumn>
-<html><span id="terrain_and_wall_commands"></span></html>+=== Terrain and Wall Commands ===
 |< 100% >| |< 100% >|
 ^ Terrain and Wall Commands^^ ^ Terrain and Wall Commands^^
Line 210: Line 216:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="score_commands"></span></html>+=== Score Commands ===
 |< 100% >| |< 100% >|
 ^ Score Commands^^ ^ Score Commands^^
Line 217: Line 223:
 | [[crpl:docs:AddAdditionalScore]]                            |          | [[crpl:docs:AddAdditionalScore]]                            |         
  
-<html><span id="script_commands"></span></html>+=== Script Commands ===
 |< 100% >| |< 100% >|
 ^ Script Commands ^^^ ^ Script Commands ^^^
Line 223: Line 229:
  
  
-<html><span id="digitalis_commands"></span></html>+=== Digitalis Commands ===
 |< 100% >| |< 100% >|
 ^ Digitalis Commands^^^ ^ Digitalis Commands^^^
Line 232: Line 238:
  
 <newcolumn>  <newcolumn> 
-<html><span id="unit_commands"></span></html>+=== Unit Commands ===
 |< 100% >| |< 100% >|
 ^ Unit Commands ^^^ ^ Unit Commands ^^^
Line 239: Line 245:
 | [[crpl:docs:SetCurrentCoords]]    | [[crpl:docs:SetCurrentX]]         | [[crpl:docs:SetCurrentY]]     | | [[crpl:docs:SetCurrentCoords]]    | [[crpl:docs:SetCurrentX]]         | [[crpl:docs:SetCurrentY]]     |
 | [[crpl:docs:CurrentPixelCoords]]     |                       |  | [[crpl:docs:CurrentPixelCoords]]     |                       |
-| [[crpl:docs:GetUnitCountInRange]] | [[crpl:docs:GetCommandNodeCount]] | [[crpl:docs:RandUnitCoords]] +| [[crpl:docs:GetUnitCountInRange]] | [[crpl:docs:GetCommandNodeCount]] | [[crpl:docs:GetInhibitorCount]] | 
 +| [[crpl:docs:RandUnitCoords]] 
 | [[crpl:docs:GetUnitsInRange]]     | [[crpl:docs:GetEnemyUnitsInRange]]| [[crpl:docs:GetAllUnitsInRange]]  | [[crpl:docs:GetUnitsInRange]]     | [[crpl:docs:GetEnemyUnitsInRange]]| [[crpl:docs:GetAllUnitsInRange]] 
 | [[crpl:docs:GetNearestGroundEnemy]] | [[crpl:docs:GetCoresWithVar]]                                  | | [[crpl:docs:GetNearestGroundEnemy]] | [[crpl:docs:GetCoresWithVar]]                                  |
Line 255: Line 262:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="image_commands"></span></html>+=== Image Commands ===
 |< 100% >| |< 100% >|
 ^ Image Commands ^^^ ^ Image Commands ^^^
Line 268: Line 275:
 | [[crpl:docs:RemoveImages]]      |                                                                         | | [[crpl:docs:RemoveImages]]      |                                                                         |
  
-<html><span id="sound_commands"></span></html>+=== Sound Commands ===
 |< 100% >| |< 100% >|
 ^ Sound Commands ^ ^ Sound Commands ^
Line 274: Line 281:
 <newcolumn> <newcolumn>
  
-<html><span id="creeper_commands"></span></html>+=== Creeper Commands ===
 |< 100% >| |< 100% >|
 ^ Creeper Commands^^ ^ Creeper Commands^^
Line 296: Line 303:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="conversation_commands"></span></html>+=== Conversation Commands ===
 |< 100% >| |< 100% >|
 ^ Conversation Commands^^ ^ Conversation Commands^^
Line 306: Line 313:
 <newcolumn> <newcolumn>
  
-<html><span id="spore_commands"></span></html>+=== Spore Commands ===
 |< 100% >| |< 100% >|
 ^ Spore Commands^ ^ Spore Commands^
Line 314: Line 321:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="runner_commands"></span></html>+=== Runner Commands ===
 |< 100% >| |< 100% >|
 ^ Runner Commands^^^ ^ Runner Commands^^^
Line 320: Line 327:
 <newcolumn> <newcolumn>
  
-<html><span id="debugging"></span></html>+=== Debugging ===
 |< 100% >| |< 100% >|
 ^ Debugging ^^^    ^ Debugging ^^^   
Line 329: Line 336:
  
 <columns 100% 50% 0% 50% -> <columns 100% 50% 0% 50% ->
-<html><span id="utility_commands"></span></html>+=== Utility Commands ===
 ^ Utility Commands ^^^ ^ Utility Commands ^^^
 | [[crpl:docs:MapHeight]]         | [[crpl:docs:MapWidth]]                  | | | [[crpl:docs:MapHeight]]         | [[crpl:docs:MapWidth]]                  | |
Line 338: Line 345:
 | [[crpl:docs:ElapsedTime]]   | [[crpl:docs:ResetGameTime]]             | [[crpl:docs:InvocationCount]] | | [[crpl:docs:ElapsedTime]]   | [[crpl:docs:ResetGameTime]]             | [[crpl:docs:InvocationCount]] |
 | [[crpl:docs:SetGameTime]]   | [[crpl:docs:GetGameTimeFrames]]        | [[crpl:docs:SetGameTimeFrames]] | | [[crpl:docs:SetGameTime]]   | [[crpl:docs:GetGameTimeFrames]]        | [[crpl:docs:SetGameTimeFrames]] |
-| [[crpl:docs:FailMission]]       | [[crpl:docs:DestroyAllEnemyUnits]] | |+| [[crpl:docs:FailMission]]       | [[crpl:docs:DestroyAllEnemyUnits]] | [[crpl:docs:GetMissionMode]] |
 | [[crpl:docs:PauseGame]]         | [[crpl:docs:UnpauseGame]]      | [[crpl:docs:NotPersist]] | | [[crpl:docs:PauseGame]]         | [[crpl:docs:UnpauseGame]]      | [[crpl:docs:NotPersist]] |
 | [[crpl:docs:SetSystemInhibited]] | [[crpl:docs:GetCurrentBuildTab]] |  | | [[crpl:docs:SetSystemInhibited]] | [[crpl:docs:GetCurrentBuildTab]] |  |
-| [[crpl:docs:IsPaused]] | [[crpl:docs:OperateWhilePaused]] |  |+| [[crpl:docs:IsPaused]] | [[crpl:docs:OperateWhilePaused]] | [[crpl:docs:UserCancel]] |
 | [[crpl:docs:CreateIndicatorArrow]] | [[crpl:docs:DestroyIndicatorArrow]] | [[crpl:docs:ShowGameEventTag]] | | [[crpl:docs:CreateIndicatorArrow]] | [[crpl:docs:DestroyIndicatorArrow]] | [[crpl:docs:ShowGameEventTag]] |
 <newcolumn> <newcolumn>
  
  
-<html><span id="screen_commands"></span></html>+=== Screen Commands ===
 |< 100% >| |< 100% >|
 ^ Screen Commands ^^ ^ Screen Commands ^^
Line 363: Line 370:
 | [[crpl:docs:EnableNormalZoomControl]] |                               | | [[crpl:docs:EnableNormalZoomControl]] |                               |
  
-<html><span id="text_commands"></span></html>+=== Text Commands ===
 |< 100% >| |< 100% >|
 ^ Text Commands ^^ ^ Text Commands ^^
 | [[crpl:docs:SetPopupText]]           | [[crpl:docs:SetPopupTextAlwaysVisible]] |                                   | [[crpl:docs:SetPopupText]]           | [[crpl:docs:SetPopupTextAlwaysVisible]] |                                  
 | [[crpl:docs:SetPopupTextX]]          | [[crpl:docs:SetPopupTextY]]          | | [[crpl:docs:SetPopupTextX]]          | [[crpl:docs:SetPopupTextY]]          |
-| [[crpl:docs:SetText]]                | [[crpl:docs:SetTextAnchor]]          +| [[crpl:docs:SetText]]                | [[crpl:docs:SetTextAlignment]]       
-| [[crpl:docs:SetTextColor]]           | [[crpl:docs:SetTextSize]]            |+| [[crpl:docs:SetTextAnchor]]          | [[crpl:docs:SetTextColor]]           
 +| [[crpl:docs:SetTextRotation]]        | [[crpl:docs:SetTextSize]]            |
 | [[crpl:docs:SetTextX]]               | [[crpl:docs:SetTextY]]               | | [[crpl:docs:SetTextX]]               | [[crpl:docs:SetTextY]]               |
 +| [[crpl:docs:SetTextZ]]                                                    |
 </columns> </columns>
crpl/crplreference.1426785902.txt.gz · Last modified: 2015/03/19 13:25 by warren