Jump to content

SCM Language: Difference between revisions

m
no edit summary
(contributions from gta.bullet, LINK2012, Seemann, and Wesser)
 
mNo edit summary
 
Line 271: Line 271:
!rowspan=2|++
!rowspan=2|++
|align=center rowspan=2|Increment
|align=center rowspan=2|Increment
|align=center|Pre{{ref|preinc|[*]}}
|align=center|Pre<ref name="preinc"></ref>
|align=center|<code>'''++''' expr0</code>
|align=center|<code>'''++''' expr0</code>
|rowspan=2|Increment ''expr0'' by 1 and store the result to ''expr0''
|rowspan=2|Increment ''expr0'' by 1 and store the result to ''expr0''
Line 280: Line 280:
!rowspan=2|--
!rowspan=2|--
|align=center rowspan=2|Decrement
|align=center rowspan=2|Decrement
|align=center|Pre{{ref|preinc|[*]}}
|align=center|Pre<ref name="preinc"></ref>
|align=center|<code>'''--''' expr0</code>
|align=center|<code>'''--''' expr0</code>
|rowspan=2|Decrement ''expr0'' by 1 and store the result to ''expr0''
|rowspan=2|Decrement ''expr0'' by 1 and store the result to ''expr0''
Line 289: Line 289:


;Note
;Note
:{{note|preinc}} Pre and post increments have no difference unlike what you would expect.
<references>
<ref name="preinc">Pre and post increments have no difference unlike what you would expect.</ref>
</references>


Yet, you can put the ''assignment'' and ''algebric'' operators together inline as follows:
Yet, you can put the ''assignment'' and ''algebraic'' operators together inline as follows:


{|class=wikitable
{|class=wikitable
Line 301: Line 303:
!= +
!= +
|align=center|Addition and assignment
|align=center|Addition and assignment
|align=center|<code>expr0 '''=''' expr1{{ref|expr01|[*]}} '''+''' expr2</code>
|align=center|<code>expr0 '''=''' expr1<ref name="expr01"></ref> '''+''' expr2</code>
|Add ''expr2'' to ''expr1'' and store the result to ''expr0''
|Add ''expr2'' to ''expr1'' and store the result to ''expr0''
|-
|-
!= -
!= -
|align=center|Subtraction and assignment
|align=center|Subtraction and assignment
|align=center|<code>expr0 '''=''' expr1{{ref|expr01|[*]}} '''-''' expr2</code>
|align=center|<code>expr0 '''=''' expr1<ref name="expr01"></ref> '''-''' expr2</code>
|Subtract ''expr2'' from ''expr1'' and store the result to ''expr0''
|Subtract ''expr2'' from ''expr1'' and store the result to ''expr0''
|-
|-
!= *
!= *
|align=center|Multiplication and assignment
|align=center|Multiplication and assignment
|align=center|<code>expr0 '''=''' expr1{{ref|expr01|[*]}} '''*''' expr2</code>
|align=center|<code>expr0 '''=''' expr1<ref name="expr01"></ref> '''*''' expr2</code>
|Multiply ''expr1'' by ''expr2'' and store the result to ''expr0''
|Multiply ''expr1'' by ''expr2'' and store the result to ''expr0''
|-
|-
!= /
!= /
|align=center|Division and assignment
|align=center|Division and assignment
|align=center|<code>expr0 '''=''' expr1{{ref|expr01|[*]}} '''/''' expr2</code>
|align=center|<code>expr0 '''=''' expr1<ref name="expr01"></ref> '''/''' expr2</code>
|Divide ''expr1'' by ''expr2'' and store the result to ''expr0''
|Divide ''expr1'' by ''expr2'' and store the result to ''expr0''
|-
|-
!= +@
!= +@
|align=center|Timed addition and assignment
|align=center|Timed addition and assignment
|align=center|<code>expr0 '''=''' expr1{{ref|expr01|[*]}} '''+@''' expr2</code>
|align=center|<code>expr0 '''=''' expr1<ref name="expr01"></ref> '''+@''' expr2</code>
|Multiply ''expr2'' by delta time, add the result to ''expr1'' and store everything to ''expr0''
|Multiply ''expr2'' by delta time, add the result to ''expr1'' and store everything to ''expr0''
|-
|-
!= -@
!= -@
|align=center|Timed subtraction and assignment
|align=center|Timed subtraction and assignment
|align=center|<code>expr0 '''=''' expr1{{ref|expr01|[*]}} '''-@''' expr2</code>
|align=center|<code>expr0 '''=''' expr1<ref name="expr01"></ref> '''-@''' expr2</code>
|Multiply ''expr2'' by delta time, subtract the result from ''expr1'' and store everything to ''expr0''
|Multiply ''expr2'' by delta time, subtract the result from ''expr1'' and store everything to ''expr0''
|}
|}


;Note
;Note
:{{note|expr01}} ''expr1'' can represent ''expr0'' too.
<references>
<ref name="expr01">''expr1'' can represent ''expr0'' too.</ref>
</references>


;Limit
;Limit
Line 442: Line 446:
|Test if ''expr0'' is greater than ''expr1''
|Test if ''expr0'' is greater than ''expr1''
|-
|-
!<{{ref|inverr|[*]}}
!<<ref name="inverr"></ref>
|align=center|Lesser than
|align=center|Lesser than
|align=center|<code>IF expr0 '''<''' expr1</code>
|align=center|<code>IF expr0 '''<''' expr1</code>
Line 452: Line 456:
|Test if ''expr0'' is greater than or equal to ''expr1''
|Test if ''expr0'' is greater than or equal to ''expr1''
|-
|-
!<={{ref|inverr|[*]}}
!<=<ref name="inverr"></ref>
|align=center|Lesser than or equal to
|align=center|Lesser than or equal to
|align=center|<code>IF expr0 '''<=''' expr1</code>
|align=center|<code>IF expr0 '''<=''' expr1</code>
Line 459: Line 463:


;Note
;Note
:{{note|inverr}} As a result of a critical bug, R* compiler mistakenly applies the operator inversion.
<references>
<ref name="inverr">As a result of a critical bug, R* compiler mistakenly applies the operator inversion.</ref>
</references>


==Commands==
==Commands==
Line 469: Line 475:
===Alternators===
===Alternators===


An ''alternator'' is a set of alternative and akin commands chosen specifically during the compilation on the basis of the multiple implementations of the commands binded to the reference set, according to the different argument data types but NOT the [http://en.wikipedia.org/wiki/Arity arity]. The aforementioned sets are listed below:
An ''alternator'' is a set of alternative and akin commands chosen specifically during the compilation on the basis of the multiple implementations of the commands binded to the reference set, according to the different argument data types but NOT the [[wikipedia:Arity|arity]]. The aforementioned sets are listed below:


* {{icon|t}} {{icon|lcs}} {{icon|vcs}}:
* {{icon|t}} {{icon|lcs}} {{icon|vcs}}:
Line 522: Line 528:
** '''SAVE_VAR_INT'''
** '''SAVE_VAR_INT'''
** '''SAVE_VAR_FLOAT'''
** '''SAVE_VAR_FLOAT'''
** '''START_CUTSCENE'''{{ref|depcnt|[*]}}
** '''START_CUTSCENE'''<ref name="depcnt"></ref>
** '''PLAYER_MADE_PROGRESS'''
** '''PLAYER_MADE_PROGRESS'''
** '''SET_PROGRESS_TOTAL'''{{ref|thgtot|[*]}}
** '''SET_PROGRESS_TOTAL'''<ref name="thgtot"></ref>
** '''REGISTER_MISSION_GIVEN'''{{ref|depcnt|[*]}}
** '''REGISTER_MISSION_GIVEN'''<ref name="depcnt"></ref>
** '''REGISTER_MISSION_PASSED'''
** '''REGISTER_MISSION_PASSED'''
** '''SCRIPT_NAME'''
** '''SCRIPT_NAME'''
** '''LOAD_AND_LAUNCH_MISSION'''
** '''LOAD_AND_LAUNCH_MISSION'''
** '''LOAD_AND_LAUNCH_MISSION_INTERNAL'''
** '''LOAD_AND_LAUNCH_MISSION_INTERNAL'''
** '''SET_TOTAL_NUMBER_OF_MISSIONS'''{{ref|thgtot|[*]}}
** '''SET_TOTAL_NUMBER_OF_MISSIONS'''<ref name="thgtot"></ref>
** '''VAR_TEXT_LABEL'''
** '''VAR_TEXT_LABEL'''
** '''LVAR_TEXT_LABEL'''
** '''LVAR_TEXT_LABEL'''
Line 540: Line 546:
* {{icon|3}} {{icon|vc}}:
* {{icon|3}} {{icon|vc}}:
** '''CREATE_COLLECTABLE1'''
** '''CREATE_COLLECTABLE1'''
** '''SET_COLLECTABLE1_TOTAL'''{{ref|thgtot|[*]}}
** '''SET_COLLECTABLE1_TOTAL'''<ref name="thgtot"></ref>
* {{icon|vc}} {{icon|sa}}:
* {{icon|vc}} {{icon|sa}}:
** '''LOAD_AND_LAUNCH_MISSION_EXCLUSIVE'''
** '''LOAD_AND_LAUNCH_MISSION_EXCLUSIVE'''
Line 557: Line 563:
** '''SWITCH_CONTINUED'''
** '''SWITCH_CONTINUED'''
* {{icon|vcs}}:
* {{icon|vcs}}:
** '''SAVE_VAR_TEXT_LABEL'''{{ref|thgtot|[*]}}
** '''SAVE_VAR_TEXT_LABEL'''<ref name="thgtot"></ref>
** '''SET_COLLECTABLE2_TOTAL'''
** '''SET_COLLECTABLE2_TOTAL'''


;Notes
;Notes
:{{note|thgtot}} The argument of these commands must be set respectively according to:
<references>
:* The sum of '''PLAYER_MADE_PROGRESS''' values;
<ref name="thgtot">The argument of these commands must be set respectively according to:
:* The amount of '''REGISTER_MISSION_PASSED''' (those that don't have an immediate value are excluded) and '''REGISTER_ODDJOB_MISSION_PASSED''';
* The sum of '''PLAYER_MADE_PROGRESS''' values;
:* The amount of '''CREATE_COLLECTABLE1'''.
* The amount of '''REGISTER_MISSION_PASSED''' (those that don't have an immediate value are excluded) and '''REGISTER_ODDJOB_MISSION_PASSED''';
:If the argument of the listed commands differs from what expected, a 0-value must be passed;
* The amount of '''CREATE_COLLECTABLE1'''.
:{{note|depcnt}} This command was intended to be counted originally but its counter got deprecated.
If the argument of the listed commands differs from what expected, a 0-value must be passed;</ref>
<ref name="depcnt">This command was intended to be counted originally but its counter got deprecated.</ref>
</references>


{{incomplete}}
{{incomplete}}
Line 624: Line 632:
==Constants==
==Constants==


A ''constant'' is a ''symbolic name'' associated to a specific [[#Value|value]]. When compiling, their caption is converted to the assigned value. Since {{icon|vc}}, names and identifiers of objects within [[OBJS]] and [[TOBJ]] blocks are loaded from every ''IDE'' file defined into [[gta.dat|gta_vc.dat]], then those of vehicles and pedestrians within [[PEDS]] and [[CARS]] blocks are retrieved from [[default.ide]]. In {{icon|sa}}, they are listed into ''TXT'' files, whose name follows the [[Wikipedia:CamelCase|Pascal Case]] (eg. ''AudioEvents.txt''). These files respect the syntax below:
A ''constant'' is a ''symbolic name'' associated to a specific [[#Value|value]]. When compiling, their caption is converted to the assigned value. Since {{icon|vc}}, names and identifiers of objects within <code>[[OBJS|objs]]</code> and <code>[[TOBJ|tobj]]</code> blocks are loaded from every ''IDE'' file defined into [[gta.dat|gta_vc.dat]], then those of vehicles and pedestrians within <code>[[PEDS|peds]]</code> and <code>[[CARS (IDE Section)|cars]]</code> blocks are retrieved from [[default.ide]]. In {{icon|sa}}, they are listed into ''TXT'' files, whose name follows the [[Wikipedia:CamelCase|Pascal Case]] (eg. ''AudioEvents.txt''). These files respect the syntax below:


  {constname0} {constvalue0}
  {constname0} {constvalue0}
Line 1,048: Line 1,056:
==Command ID==
==Command ID==


A ''command ID'' is a ''16-bit signed integer'' internal and progressive identifier, somehow referred to as part of the hexadecimal representation of an [http://en.wikipedia.org/wiki/Opcode opcode], which identifies the command to execute at runtime, forming the game's script [http://en.wikipedia.org/wiki/Bytecode bytecode]. The maximum number of available commands is ''32767'' (''0x7FFF''), since the least significant bit (''0x8000'') is set whenever they are used as ''negative conditions'' (those with the '''NOT''' [[#Logical|logical operator]], just to clear things up).
A ''command ID'' is a ''16-bit signed integer'' internal and progressive identifier, somehow referred to as part of the hexadecimal representation of an [[wikipedia:Opcode|opcode]], which identifies the command to execute at runtime, forming the game's script [[wikipedia:Bytecode|bytecode]]. The maximum number of available commands is ''32767'' (''0x7FFF''), since the least significant bit (''0x8000'') is set whenever they are used as ''negative conditions'' (those with the '''NOT''' [[#Logical|logical operator]], just to clear things up).


==Command arguments==
==Command arguments==


The limitation of the amount of arguments a [http://en.wikipedia.org/wiki/Variadic_function variadic] command can pass is game specific:
The limitation of the amount of arguments a [[wikipedia:Variadic_function|variadic]] command can pass is game specific:


* 16 for {{icon|3}} and {{icon|vc}};
* 16 for {{icon|3}} and {{icon|vc}};
Line 1,108: Line 1,116:
|colspan=12|{{icon|t}} {{icon|lcs}} {{icon|vcs}}
|colspan=12|{{icon|t}} {{icon|lcs}} {{icon|vcs}}
|-
|-
!colspan=2|MISSION_START{{ref|misdef|[*]}}
!colspan=2|MISSION_START<ref name="misdef"></ref>
|
|
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|GOTO{{ref|statem|[*]}}
!colspan=2|GOTO<ref name="statem"></ref>
|[[0002|2]]
|[[0002|2]]
!1
!1
Line 1,475: Line 1,483:
|[[004B|75]]||VF||LF||colspan=6|
|[[004B|75]]||VF||LF||colspan=6|
|-
|-
!colspan=2|GOTO_IF_FALSE{{ref|statem|[*]}}
!colspan=2|GOTO_IF_FALSE<ref name="statem"></ref>
|[[004D|77]]
|[[004D|77]]
!1
!1
Line 1,487: Line 1,495:
!colspan=2|MISSION_END
!colspan=2|MISSION_END
|-
|-
!colspan=2|START_NEW_SCRIPT{{ref|undarg|[*]}}
!colspan=2|START_NEW_SCRIPT<ref name="undarg"></ref>
|[[004F|79]]
|[[004F|79]]
!1+l
!1+l
Line 1,582: Line 1,590:
|[[0097|151]]||LF||colspan=7|
|[[0097|151]]||LF||colspan=7|
|-
|-
!colspan=2|VAR_INT{{ref|defvar|[*]}}
!colspan=2|VAR_INT<ref name="defvar"></ref>
|[[00C7|199]]
|[[00C7|199]]
!n
!n
|VI||colspan=7|VIO
|VI||colspan=7|VIO
|-
|-
!colspan=2|VAR_FLOAT{{ref|defvar|[*]}}
!colspan=2|VAR_FLOAT<ref name="defvar"></ref>
|[[00C8|200]]
|[[00C8|200]]
!n
!n
|VF||colspan=7|VFO
|VF||colspan=7|VFO
|-
|-
!colspan=2|LVAR_INT{{ref|defvar|[*]}}
!colspan=2|LVAR_INT<ref name="defvar"></ref>
|[[00C9|201]]
|[[00C9|201]]
!n
!n
|LI||colspan=7|LIO
|LI||colspan=7|LIO
|-
|-
!colspan=2|LVAR_FLOAT{{ref|defvar|[*]}}
!colspan=2|LVAR_FLOAT<ref name="defvar"></ref>
|[[00CA|202]]
|[[00CA|202]]
!n
!n
|LF||colspan=7|LFO
|LF||colspan=7|LFO
|-
|-
!colspan=2|{{{ref|embdsc|[*]}}
!colspan=2|{<ref name="embdsc"></ref>
|[[00CB|203]]
|[[00CB|203]]
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|}{{ref|embdsc|[*]}}
!colspan=2|}<ref name="embdsc"></ref>
|[[00CC|204]]
|[[00CC|204]]
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|IF{{ref|statem|[*]}}
!colspan=2|IF<ref name="statem"></ref>
|[[00CF|207]]
|[[00CF|207]]
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|ELSE{{ref|statem|[*]}}
!colspan=2|ELSE<ref name="statem"></ref>
|[[00D1|209]]
|[[00D1|209]]
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|ENDIF{{ref|statem|[*]}}
!colspan=2|ENDIF<ref name="statem"></ref>
|[[00D2|210]]
|[[00D2|210]]
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|WHILE{{ref|statem|[*]}}
!colspan=2|WHILE<ref name="statem"></ref>
|[[00D3|211]]
|[[00D3|211]]
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|ENDWHILE{{ref|statem|[*]}}
!colspan=2|ENDWHILE<ref name="statem"></ref>
|[[00D5|213]]
|[[00D5|213]]
!0
!0
Line 1,639: Line 1,647:
|colspan=12|{{icon|t}}
|colspan=12|{{icon|t}}
|-
|-
!colspan=2|ANDOR{{ref|statem|[*]}}
!colspan=2|ANDOR<ref name="statem"></ref>
|[[00D6|214]]
|[[00D6|214]]
!1
!1
Line 1,701: Line 1,709:
|colspan=12|{{icon|vc}} {{icon|sa}} {{icon|lcs}}
|colspan=12|{{icon|vc}} {{icon|sa}} {{icon|lcs}}
|-
|-
!colspan=2|REPEAT{{ref|statem|[*]}}
!colspan=2|REPEAT<ref name="statem"></ref>
|[[00CD|205]]
|[[00CD|205]]
!2
!2
|I||VLI||colspan=6|
|I||VLI||colspan=6|
|-
|-
!colspan=2|ENDREPEAT{{ref|statem|[*]}}
!colspan=2|ENDREPEAT<ref name="statem"></ref>
|[[00CE|206]]
|[[00CE|206]]
!0
!0
Line 1,725: Line 1,733:
|colspan=12|{{icon|3}} {{icon|lcs}}
|colspan=12|{{icon|3}} {{icon|lcs}}
|-
|-
!colspan=2|GOTO_IF_TRUE{{ref|statem|[*]}}
!colspan=2|GOTO_IF_TRUE<ref name="statem"></ref>
|[[004C|76]]
|[[004C|76]]
!1
!1
Line 1,783: Line 1,791:
|colspan=12|{{icon|3}}
|colspan=12|{{icon|3}}
|-
|-
!colspan=2|IFNOT{{ref|statem|[*]}}
!colspan=2|IFNOT<ref name="statem"></ref>
|[[00D0|208]]
|[[00D0|208]]
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|WHILENOT{{ref|statem|[*]}}
!colspan=2|WHILENOT<ref name="statem"></ref>
|[[00D4|212]]
|[[00D4|212]]
!1
!1
Line 1,808: Line 1,816:
|[[05AA|1450]]||LT||AT||colspan=6|
|[[05AA|1450]]||LT||AT||colspan=6|
|-
|-
!colspan=2|VAR_TEXT_LABEL{{ref|defvar|[*]}}
!colspan=2|VAR_TEXT_LABEL<ref name="defvar"></ref>
|[[05AB|1451]]
|[[05AB|1451]]
!n
!n
|VT||colspan=7|VTO
|VT||colspan=7|VTO
|-
|-
!colspan=2|LVAR_TEXT_LABEL{{ref|defvar|[*]}}
!colspan=2|LVAR_TEXT_LABEL<ref name="defvar"></ref>
|[[05AC|1452]]
|[[05AC|1452]]
!n
!n
Line 1,834: Line 1,842:
|[[06D2|1476]]||LT16||AT16||colspan=6|
|[[06D2|1476]]||LT16||AT16||colspan=6|
|-
|-
!colspan=2|VAR_TEXT_LABEL16{{ref|defvar|[*]}}
!colspan=2|VAR_TEXT_LABEL16<ref name="defvar"></ref>
|[[06D3|1477]]
|[[06D3|1477]]
!n
!n
|VT16||colspan=7|VT16O
|VT16||colspan=7|VT16O
|-
|-
!colspan=2|LVAR_TEXT_LABEL16{{ref|defvar|[*]}}
!colspan=2|LVAR_TEXT_LABEL16<ref name="defvar"></ref>
|[[06D4|1478]]
|[[06D4|1478]]
!n
!n
Line 1,852: Line 1,860:
|[[07D7|2007]]||LF||VF||colspan=6|
|[[07D7|2007]]||LF||VF||colspan=6|
|-
|-
!rowspan=4|IS_EMPTY{{ref|likely|[*]}}!!IS_VAR_TEXT_LABEL_EMPTY
!rowspan=4|IS_EMPTY<ref name="likely"></ref>!!IS_VAR_TEXT_LABEL_EMPTY
|[[0844|2116]]
|[[0844|2116]]
!rowspan=4|1
!rowspan=4|1
Line 1,866: Line 1,874:
|[[0847|2119]]||LT16||colspan=7|
|[[0847|2119]]||LT16||colspan=7|
|-
|-
!colspan=2|SWITCH{{ref|statem|[*]}}
!colspan=2|SWITCH<ref name="statem"></ref>
|[[0848|2120]]
|[[0848|2120]]
!1
!1
|VLI||colspan=7|
|VLI||colspan=7|
|-
|-
!colspan=2|ENDSWITCH{{ref|statem|[*]}}
!colspan=2|ENDSWITCH<ref name="statem"></ref>
|[[0849|2121]]
|[[0849|2121]]
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|CASE{{ref|statem|[*]}}
!colspan=2|CASE<ref name="statem"></ref>
|[[084A|2122]]
|[[084A|2122]]
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|DEFAULT{{ref|statem|[*]}}
!colspan=2|DEFAULT<ref name="statem"></ref>
|[[084B|2123]]
|[[084B|2123]]
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|BREAK{{ref|statem|[*]}}
!colspan=2|BREAK<ref name="statem"></ref>
|[[084C|2124]]
|[[084C|2124]]
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!rowspan=4 colspan=2|SWITCH_START{{ref|statem|[*]}}
!rowspan=4 colspan=2|SWITCH_START<ref name="statem"></ref>
|rowspan=4|[[0871|2161]]
|rowspan=4|[[0871|2161]]
!rowspan=4|18
!rowspan=4|18
Line 1,910: Line 1,918:
|colspan=2|R||colspan=2|
|colspan=2|R||colspan=2|
|-
|-
!rowspan=2 colspan=2|SWITCH_CONTINUED{{ref|statem|[*]}}
!rowspan=2 colspan=2|SWITCH_CONTINUED<ref name="statem"></ref>
|rowspan=2|[[0872|2162]]
|rowspan=2|[[0872|2162]]
!rowspan=2|18
!rowspan=2|18
Line 1,919: Line 1,927:
|colspan=2|
|colspan=2|
|-
|-
!rowspan=6|IS_BIT_SET{{ref|likely|[*]}}!!IS_GLOBAL_VAR_BIT_SET_CONST
!rowspan=6|IS_BIT_SET<ref name="likely"></ref>!!IS_GLOBAL_VAR_BIT_SET_CONST
|[[08B4|2228]]
|[[08B4|2228]]
!rowspan=6|2
!rowspan=6|2
Line 1,939: Line 1,947:
|[[08B9|2233]]||LI||LI||colspan=6|
|[[08B9|2233]]||LI||LI||colspan=6|
|-
|-
!rowspan=6|SET_BIT{{ref|likely|[*]}}!!SET_GLOBAL_VAR_BIT_CONST
!rowspan=6|SET_BIT<ref name="likely"></ref>!!SET_GLOBAL_VAR_BIT_CONST
|[[08BA|2234]]
|[[08BA|2234]]
!rowspan=6|2
!rowspan=6|2
Line 1,959: Line 1,967:
|[[08BF|2239]]||LI||LI||colspan=6|
|[[08BF|2239]]||LI||LI||colspan=6|
|-
|-
!rowspan=6|CLEAR_BIT{{ref|likely|[*]}}!!CLEAR_GLOBAL_VAR_BIT_CONST
!rowspan=6|CLEAR_BIT<ref name="likely"></ref>!!CLEAR_GLOBAL_VAR_BIT_CONST
|[[08C0|2240]]
|[[08C0|2240]]
!rowspan=6|2
!rowspan=6|2
Line 1,987: Line 1,995:
|[[08FA|2298]]||LT16||AT16||colspan=6|
|[[08FA|2298]]||LT16||AT16||colspan=6|
|-
|-
!rowspan=2|STRING_CAT{{ref|likely|[*]}}!!STRING_CAT16
!rowspan=2|STRING_CAT<ref name="likely"></ref>!!STRING_CAT16
|[[098B|2443]]
|[[098B|2443]]
!rowspan=2|3
!rowspan=2|3
Line 2,007: Line 2,015:
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|SWITCH{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|SWITCH<ref name="statem"></ref><ref name="posngs"></ref>
|214
|214
!1
!1
|VLI||colspan=7|
|VLI||colspan=7|
|-
|-
!colspan=2|ENDSWITCH{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|ENDSWITCH<ref name="statem"></ref><ref name="posngs"></ref>
|215
|215
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|CASE{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|CASE<ref name="statem"></ref><ref name="posngs"></ref>
|216
|216
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|DEFAULT{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|DEFAULT<ref name="statem"></ref><ref name="posngs"></ref>
|217
|217
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|BREAK{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|BREAK<ref name="statem"></ref><ref name="posngs"></ref>
|218
|218
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|ANDOR{{ref|statem|[*]}}
!colspan=2|ANDOR<ref name="statem"></ref>
|219
|219
!1
!1
Line 2,042: Line 2,050:
|R||colspan=7|
|R||colspan=7|
|-
|-
!colspan=2|SAVE_VAR_INT{{ref|defvar|[*]}}
!colspan=2|SAVE_VAR_INT<ref name="defvar"></ref>
|502
|502
!l
!l
|VI||colspan=7|VIO
|VI||colspan=7|VIO
|-
|-
!colspan=2|SAVE_VAR_FLOAT{{ref|defvar|[*]}}
!colspan=2|SAVE_VAR_FLOAT<ref name="defvar"></ref>
|503
|503
!l
!l
Line 2,151: Line 2,159:
|colspan=8|
|colspan=8|
|-
|-
!rowspan=2 colspan=2|CALL{{ref|undarg|[*]}}{{ref|argvar|[*]}}{{ref|likely|[*]}}
!rowspan=2 colspan=2|CALL<ref name="undarg"></ref><ref name="argvar"></ref><ref name="likely"></ref>
|rowspan=2|1454
|rowspan=2|1454
!rowspan=2|1+i+o
!rowspan=2|1+i+o
Line 2,159: Line 2,167:
|colspan=7|VLM
|colspan=7|VLM
|-
|-
!rowspan=2 colspan=2|CALLNOT{{ref|undarg|[*]}}{{ref|argvar|[*]}}{{ref|likely|[*]}}
!rowspan=2 colspan=2|CALLNOT<ref name="undarg"></ref><ref name="argvar"></ref><ref name="likely"></ref>
|rowspan=2|1455
|rowspan=2|1455
!rowspan=2|1+i+o
!rowspan=2|1+i+o
Line 2,169: Line 2,177:
|colspan=12|{{icon|vcs}}
|colspan=12|{{icon|vcs}}
|-
|-
!rowspan=7|=<br/>SET!!SET_INT{{ref|likely|[*]}}
!rowspan=7|=<br/>SET!!SET_INT<ref name="likely"></ref>
|4
|4


Line 2,175: Line 2,183:
|VLI||I||colspan=6|
|VLI||I||colspan=6|
|-
|-
!SET_FLOAT{{ref|likely|[*]}}
!SET_FLOAT<ref name="likely"></ref>
|5||VLF||F||colspan=6|
|5||VLF||F||colspan=6|
|-
|-
!SET_TEXT_LABEL{{ref|likely|[*]}}
!SET_TEXT_LABEL<ref name="likely"></ref>
|6||VLT||T||colspan=6|
|6||VLT||T||colspan=6|
|-
|-
!SET_INT_TO_INT{{ref|likely|[*]}}
!SET_INT_TO_INT<ref name="likely"></ref>
|53||VLI||VLI||colspan=6|
|53||VLI||VLI||colspan=6|
|-
|-
!SET_FLOAT_TO_FLOAT{{ref|likely|[*]}}
!SET_FLOAT_TO_FLOAT<ref name="likely"></ref>
|54||VLF||VLF||colspan=6|
|54||VLF||VLF||colspan=6|
|-
|-
!SET_TEXT_LABEL_TO_TEXT_LABEL{{ref|likely|[*]}}
!SET_TEXT_LABEL_TO_TEXT_LABEL<ref name="likely"></ref>
|55||VLT||VLT||colspan=6|
|55||VLT||VLT||colspan=6|
|-
|-
!SET_INT_TO_CONSTANT{{ref|likely|[*]}}
!SET_INT_TO_CONSTANT<ref name="likely"></ref>
|738||VLI||C||colspan=6|
|738||VLI||C||colspan=6|
|-
|-
!rowspan=4|+=<br/>+<br/>ADD_THING_TO_THING!!ADD_VAL_TO_INT{{ref|likely|[*]}}
!rowspan=4|+=<br/>+<br/>ADD_THING_TO_THING!!ADD_VAL_TO_INT<ref name="likely"></ref>
|7
|7
!rowspan=4|2
!rowspan=4|2
|VLI||I||colspan=6|
|VLI||I||colspan=6|
|-
|-
!ADD_VAL_TO_FLOAT{{ref|likely|[*]}}
!ADD_VAL_TO_FLOAT<ref name="likely"></ref>
|8||VLF||F||colspan=6|
|8||VLF||F||colspan=6|
|-
|-
!ADD_INT_TO_INT{{ref|likely|[*]}}
!ADD_INT_TO_INT<ref name="likely"></ref>
|41||VLI||VLI||colspan=6|
|41||VLI||VLI||colspan=6|
|-
|-
!ADD_FLOAT_TO_FLOAT{{ref|likely|[*]}}
!ADD_FLOAT_TO_FLOAT<ref name="likely"></ref>
|42||VLF||VLF||colspan=6|
|42||VLF||VLF||colspan=6|
|-
|-
!rowspan=4|-=<br/>-<br/>SUB_THING_FROM_THING!!SUB_VAL_FROM_INT{{ref|likely|[*]}}
!rowspan=4|-=<br/>-<br/>SUB_THING_FROM_THING!!SUB_VAL_FROM_INT<ref name="likely"></ref>
|9
|9
!rowspan=4|2
!rowspan=4|2
|VLI||I||colspan=6|
|VLI||I||colspan=6|
|-
|-
!SUB_VAL_FROM_FLOAT{{ref|likely|[*]}}
!SUB_VAL_FROM_FLOAT<ref name="likely"></ref>
|10||VLF||F||colspan=6|
|10||VLF||F||colspan=6|
|-
|-
!SUB_INT_FROM_INT{{ref|likely|[*]}}
!SUB_INT_FROM_INT<ref name="likely"></ref>
|43||VLI||VLI||colspan=6|
|43||VLI||VLI||colspan=6|
|-
|-
!SUB_FLOAT_FROM_FLOAT{{ref|likely|[*]}}
!SUB_FLOAT_FROM_FLOAT<ref name="likely"></ref>
|44||VLF||VLF||colspan=6|
|44||VLF||VLF||colspan=6|
|-
|-
!rowspan=4|*=<br/>*<br/>MULT_THING_BY_THING!!MULT_INT_BY_VAL{{ref|likely|[*]}}
!rowspan=4|*=<br/>*<br/>MULT_THING_BY_THING!!MULT_INT_BY_VAL<ref name="likely"></ref>
|11
|11
!rowspan=4|2
!rowspan=4|2
|VLI||I||colspan=6|
|VLI||I||colspan=6|
|-
|-
!MULT_FLOAT_BY_VAL{{ref|likely|[*]}}
!MULT_FLOAT_BY_VAL<ref name="likely"></ref>
|12||VLF||F||colspan=6|
|12||VLF||F||colspan=6|
|-
|-
!MULT_INT_BY_INT{{ref|likely|[*]}}
!MULT_INT_BY_INT<ref name="likely"></ref>
|45||VLI||VLI||colspan=6|
|45||VLI||VLI||colspan=6|
|-
|-
!|MULT_FLOAT_BY_FLOAT{{ref|likely|[*]}}
!|MULT_FLOAT_BY_FLOAT<ref name="likely"></ref>
|46||VLF||VLF||colspan=6|
|46||VLF||VLF||colspan=6|
|-
|-
!rowspan=4|/=<br/>/<br/>DIV_THING_BY_THING!!DIV_INT_BY_VAL{{ref|likely|[*]}}
!rowspan=4|/=<br/>/<br/>DIV_THING_BY_THING!!DIV_INT_BY_VAL<ref name="likely"></ref>
|13
|13
!rowspan=4|2
!rowspan=4|2
|VLI||I||colspan=6|
|VLI||I||colspan=6|
|-
|-
!DIV_FLOAT_BY_VAL{{ref|likely|[*]}}
!DIV_FLOAT_BY_VAL<ref name="likely"></ref>
|14||VLF||F||colspan=6|
|14||VLF||F||colspan=6|
|-
|-
!DIV_INT_BY_INT{{ref|likely|[*]}}
!DIV_INT_BY_INT<ref name="likely"></ref>
|47||VLI||VLI||colspan=6|
|47||VLI||VLI||colspan=6|
|-
|-
!DIV_FLOAT_BY_FLOAT{{ref|likely|[*]}}
!DIV_FLOAT_BY_FLOAT<ref name="likely"></ref>
|48||VLF||VLF||colspan=6|
|48||VLF||VLF||colspan=6|
|-
|-
!rowspan=8|><br/><=<br/>IS_THING_GREATER_THAN_THING!!IS_INT_GREATER_THAN_NUMBER{{ref|likely|[*]}}
!rowspan=8|><br/><=<br/>IS_THING_GREATER_THAN_THING!!IS_INT_GREATER_THAN_NUMBER<ref name="likely"></ref>
|15
|15
!rowspan=8|2
!rowspan=8|2
|VLI||I||colspan=6|
|VLI||I||colspan=6|
|-
|-
!IS_NUMBER_GREATER_THAN_INT{{ref|likely|[*]}}
!IS_NUMBER_GREATER_THAN_INT<ref name="likely"></ref>
|16||I||VLI||colspan=6|
|16||I||VLI||colspan=6|
|-
|-
!IS_INT_GREATER_THAN_INT{{ref|likely|[*]}}
!IS_INT_GREATER_THAN_INT<ref name="likely"></ref>
|17||VLI||VLI||colspan=6|
|17||VLI||VLI||colspan=6|
|-
|-
!IS_FLOAT_GREATER_THAN_NUMBER{{ref|likely|[*]}}
!IS_FLOAT_GREATER_THAN_NUMBER<ref name="likely"></ref>
|18||VLF||F||colspan=6|
|18||VLF||F||colspan=6|
|-
|-
!IS_NUMBER_GREATER_THAN_FLOAT{{ref|likely|[*]}}
!IS_NUMBER_GREATER_THAN_FLOAT<ref name="likely"></ref>
|19||F||VLF||colspan=6|
|19||F||VLF||colspan=6|
|-
|-
!IS_FLOAT_GREATER_THAN_FLOAT{{ref|likely|[*]}}
!IS_FLOAT_GREATER_THAN_FLOAT<ref name="likely"></ref>
|20||VLF||VLF||colspan=6|
|20||VLF||VLF||colspan=6|
|-
|-
!IS_INT_GREATER_THAN_CONSTANT{{ref|likely|[*]}}
!IS_INT_GREATER_THAN_CONSTANT<ref name="likely"></ref>
|739||VLI||C||colspan=6|
|739||VLI||C||colspan=6|
|-
|-
!IS_CONSTANT_GREATER_THAN_INT{{ref|likely|[*]}}
!IS_CONSTANT_GREATER_THAN_INT<ref name="likely"></ref>
|740||C||VLI||colspan=6|
|740||C||VLI||colspan=6|
|-
|-
!rowspan=8|>=<br/><<br/>IS_THING_GREATER_OR_EQUAL_TO_THING!!IS_INT_GREATER_OR_EQUAL_TO_NUMBER{{ref|likely|[*]}}
!rowspan=8|>=<br/><<br/>IS_THING_GREATER_OR_EQUAL_TO_THING!!IS_INT_GREATER_OR_EQUAL_TO_NUMBER<ref name="likely"></ref>
|21
|21
!rowspan=8|2
!rowspan=8|2
|VLI||I||colspan=6|
|VLI||I||colspan=6|
|-
|-
!IS_NUMBER_GREATER_OR_EQUAL_TO_INT{{ref|likely|[*]}}
!IS_NUMBER_GREATER_OR_EQUAL_TO_INT<ref name="likely"></ref>
|22||I||VLI||colspan=6|
|22||I||VLI||colspan=6|
|-
|-
!IS_INT_GREATER_OR_EQUAL_TO_INT{{ref|likely|[*]}}
!IS_INT_GREATER_OR_EQUAL_TO_INT<ref name="likely"></ref>
|23||VLI||VLI||colspan=6|
|23||VLI||VLI||colspan=6|
|-
|-
!IS_FLOAT_GREATER_OR_EQUAL_TO_NUMBER{{ref|likely|[*]}}
!IS_FLOAT_GREATER_OR_EQUAL_TO_NUMBER<ref name="likely"></ref>
|24||VLF||F||colspan=6|
|24||VLF||F||colspan=6|
|-
|-
!IS_NUMBER_GREATER_OR_EQUAL_TO_FLOAT{{ref|likely|[*]}}
!IS_NUMBER_GREATER_OR_EQUAL_TO_FLOAT<ref name="likely"></ref>
|25||F||VLF||colspan=6|
|25||F||VLF||colspan=6|
|-
|-
!IS_FLOAT_GREATER_OR_EQUAL_TO_FLOAT{{ref|likely|[*]}}
!IS_FLOAT_GREATER_OR_EQUAL_TO_FLOAT<ref name="likely"></ref>
|26||VLF||VLF||colspan=6|
|26||VLF||VLF||colspan=6|
|-
|-
!IS_INT_GREATER_OR_EQUAL_TO_CONSTANT{{ref|likely|[*]}}
!IS_INT_GREATER_OR_EQUAL_TO_CONSTANT<ref name="likely"></ref>
|741||VLI||C||colspan=6|
|741||VLI||C||colspan=6|
|-
|-
!IS_CONSTANT_GREATER_OR_EQUAL_TO_INT{{ref|likely|[*]}}
!IS_CONSTANT_GREATER_OR_EQUAL_TO_INT<ref name="likely"></ref>
|742||C||VLI||colspan=6|
|742||C||VLI||colspan=6|
|-
|-
!rowspan=7|=<br/>IS_THING_EQUAL_TO_THING!!IS_INT_EQUAL_TO_NUMBER{{ref|likely|[*]}}
!rowspan=7|=<br/>IS_THING_EQUAL_TO_THING!!IS_INT_EQUAL_TO_NUMBER<ref name="likely"></ref>
|27
|27
!rowspan=7|2
!rowspan=7|2
|VLI||I||colspan=6|
|VLI||I||colspan=6|
|-
|-
!IS_INT_EQUAL_TO_INT{{ref|likely|[*]}}
!IS_INT_EQUAL_TO_INT<ref name="likely"></ref>
|28||VLI||VLI||colspan=6|
|28||VLI||VLI||colspan=6|
|-
|-
!IS_FLOAT_EQUAL_TO_NUMBER{{ref|likely|[*]}}
!IS_FLOAT_EQUAL_TO_NUMBER<ref name="likely"></ref>
|29||VLF||F||colspan=6|
|29||VLF||F||colspan=6|
|-
|-
!IS_FLOAT_EQUAL_TO_FLOAT{{ref|likely|[*]}}
!IS_FLOAT_EQUAL_TO_FLOAT<ref name="likely"></ref>
|30||VLF||VLF||colspan=6|
|30||VLF||VLF||colspan=6|
|-
|-
!IS_TEXT_LABEL_EQUAL_TO_STRING{{ref|likely|[*]}}
!IS_TEXT_LABEL_EQUAL_TO_STRING<ref name="likely"></ref>
|31||VLT||T||colspan=6|
|31||VLT||T||colspan=6|
|-
|-
!IS_TEXT_LABEL_EQUAL_TO_TEXT_LABEL{{ref|likely|[*]}}
!IS_TEXT_LABEL_EQUAL_TO_TEXT_LABEL<ref name="likely"></ref>
|32||VLT||VLT||colspan=6|
|32||VLT||VLT||colspan=6|
|-
|-
!IS_INT_EQUAL_TO_CONSTANT{{ref|likely|[*]}}
!IS_INT_EQUAL_TO_CONSTANT<ref name="likely"></ref>
|731||VLI||C||colspan=6|
|731||VLI||C||colspan=6|
|-
|-
!colspan=2|GOTO_IF_TRUE{{ref|statem|[*]}}
!colspan=2|GOTO_IF_TRUE<ref name="statem"></ref>
|33
|33
!1
!1
|R||colspan=7|
|R||colspan=7|
|-
|-
!colspan=2|GOTO_IF_FALSE{{ref|statem|[*]}}
!colspan=2|GOTO_IF_FALSE<ref name="statem"></ref>
|34
|34
!1
!1
Line 2,341: Line 2,349:
!colspan=2|MISSION_END
!colspan=2|MISSION_END
|-
|-
!colspan=2|START_NEW_SCRIPT{{ref|undarg|[*]}}
!colspan=2|START_NEW_SCRIPT<ref name="undarg"></ref>
|36
|36
!1+l
!1+l
Line 2,356: Line 2,364:
|colspan=8|
|colspan=8|
|-
|-
!rowspan=2|+=@<br/>+@<br/>ADD_THING_TO_THING_TIMED!!ADD_TIMED_VAL_TO_FLOAT{{ref|likely|[*]}}
!rowspan=2|+=@<br/>+@<br/>ADD_THING_TO_THING_TIMED!!ADD_TIMED_VAL_TO_FLOAT<ref name="likely"></ref>
|49
|49
!rowspan=2|2
!rowspan=2|2
|VLF||F||colspan=6|
|VLF||F||colspan=6|
|-
|-
!ADD_TIMED_FLOAT_TO_FLOAT{{ref|likely|[*]}}
!ADD_TIMED_FLOAT_TO_FLOAT<ref name="likely"></ref>
|50||VLF||VLF||colspan=6|
|50||VLF||VLF||colspan=6|
|-
|-
!rowspan=2|-=@<br/>-@<br/>SUB_THING_FROM_THING_TIMED!!SUB_TIMED_VAL_FROM_FLOAT{{ref|likely|[*]}}
!rowspan=2|-=@<br/>-@<br/>SUB_THING_FROM_THING_TIMED!!SUB_TIMED_VAL_FROM_FLOAT<ref name="likely"></ref>
|51
|51
!rowspan=2|2
!rowspan=2|2
|VLF||F||colspan=6|
|VLF||F||colspan=6|
|-
|-
!SUB_TIMED_FLOAT_FROM_FLOAT{{ref|likely|[*]}}
!SUB_TIMED_FLOAT_FROM_FLOAT<ref name="likely"></ref>
|52||VLF||VLF||colspan=6|
|52||VLF||VLF||colspan=6|
|-
|-
!rowspan=2|=#<br/>CSET!!CSET_INT_TO_FLOAT{{ref|likely|[*]}}
!rowspan=2|=#<br/>CSET!!CSET_INT_TO_FLOAT<ref name="likely"></ref>
|56
|56
!rowspan=2|2
!rowspan=2|2
|VLI||VLF||colspan=6|
|VLI||VLF||colspan=6|
|-
|-
!CSET_FLOAT_TO_INT{{ref|likely|[*]}}
!CSET_FLOAT_TO_INT<ref name="likely"></ref>
|57||VLF||VLI||colspan=6|
|57||VLF||VLI||colspan=6|
|-
|-
!rowspan=2|ABS!!ABS_INT{{ref|likely|[*]}}
!rowspan=2|ABS!!ABS_INT<ref name="likely"></ref>
|58
|58
!rowspan=2|1
!rowspan=2|1
|VLI||colspan=7|
|VLI||colspan=7|
|-
|-
!ABS_FLOAT{{ref|likely|[*]}}
!ABS_FLOAT<ref name="likely"></ref>
|59||VLF||colspan=7|
|59||VLF||colspan=7|
|-
|-
Line 2,398: Line 2,406:
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|VAR_INT{{ref|defvar|[*]}}{{ref|posngs|[*]}}
!colspan=2|VAR_INT<ref name="defvar"></ref><ref name="posngs"></ref>
|96
|96
!n
!n
|VI||colspan=7|VIO
|VI||colspan=7|VIO
|-
|-
!colspan=2|VAR_FLOAT{{ref|defvar|[*]}}{{ref|posngs|[*]}}
!colspan=2|VAR_FLOAT<ref name="defvar"></ref><ref name="posngs"></ref>
|97
|97
!n
!n
|VF||colspan=7|VFO
|VF||colspan=7|VFO
|-
|-
!colspan=2|LVAR_INT{{ref|defvar|[*]}}{{ref|posngs|[*]}}
!colspan=2|LVAR_INT<ref name="defvar"></ref><ref name="posngs"></ref>
|98
|98
!n
!n
|LI||colspan=7|LIO
|LI||colspan=7|LIO
|-
|-
!colspan=2|LVAR_FLOAT{{ref|defvar|[*]}}{{ref|posngs|[*]}}
!colspan=2|LVAR_FLOAT<ref name="defvar"></ref><ref name="posngs"></ref>
|99
|99
!n
!n
|LF||colspan=7|LFO
|LF||colspan=7|LFO
|-
|-
!colspan=2|VAR_TEXT_LABEL{{ref|defvar|[*]}}{{ref|posngs|[*]}}
!colspan=2|VAR_TEXT_LABEL<ref name="defvar"></ref><ref name="posngs"></ref>
|100
|100
!n
!n
|VT||colspan=7|VTO
|VT||colspan=7|VTO
|-
|-
!colspan=2|LVAR_TEXT_LABEL{{ref|defvar|[*]}}{{ref|posngs|[*]}}
!colspan=2|LVAR_TEXT_LABEL<ref name="defvar"></ref><ref name="posngs"></ref>
|101
|101
!n
!n
|LT||colspan=7|LTO
|LT||colspan=7|LTO
|-
|-
!colspan=2|{{{ref|embdsc|[*]}}{{ref|posngs|[*]}}
!colspan=2|{<ref name="embdsc"></ref><ref name="posngs"></ref>
|102
|102
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|}{{ref|embdsc|[*]}}{{ref|posngs|[*]}}
!colspan=2|}<ref name="embdsc"></ref><ref name="posngs"></ref>
|103
|103
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|IF{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|IF<ref name="statem"></ref><ref name="posngs"></ref>
|104
|104
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|IFNOT{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|IFNOT<ref name="statem"></ref><ref name="posngs"></ref>
|105
|105
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|ELSE{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|ELSE<ref name="statem"></ref><ref name="posngs"></ref>
|106
|106
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|ENDIF{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|ENDIF<ref name="statem"></ref><ref name="posngs"></ref>
|107
|107
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|WHILE{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|WHILE<ref name="statem"></ref><ref name="posngs"></ref>
|108
|108
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|WHILENOT{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|WHILENOT<ref name="statem"></ref><ref name="posngs"></ref>
|109
|109
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|ENDWHILE{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|ENDWHILE<ref name="statem"></ref><ref name="posngs"></ref>
|110
|110
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|REPEAT{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|REPEAT<ref name="statem"></ref><ref name="posngs"></ref>
|111
|111
!2
!2
|I||VLI||colspan=6|
|I||VLI||colspan=6|
|-
|-
!colspan=2|ENDREPEAT{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|ENDREPEAT<ref name="statem"></ref><ref name="posngs"></ref>
|112
|112
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|SWITCH{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|SWITCH<ref name="statem"></ref><ref name="posngs"></ref>
|113
|113
!1
!1
|VLI||colspan=7|
|VLI||colspan=7|
|-
|-
!colspan=2|ENDSWITCH{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|ENDSWITCH<ref name="statem"></ref><ref name="posngs"></ref>
|114
|114
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|CASE{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|CASE<ref name="statem"></ref><ref name="posngs"></ref>
|115
|115
!1
!1
|I||colspan=7|
|I||colspan=7|
|-
|-
!colspan=2|DEFAULT{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|DEFAULT<ref name="statem"></ref><ref name="posngs"></ref>
|116
|116
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|BREAK{{ref|statem|[*]}}{{ref|posngs|[*]}}
!colspan=2|BREAK<ref name="statem"></ref><ref name="posngs"></ref>
|117
|117
!0
!0
|colspan=8|
|colspan=8|
|-
|-
!colspan=2|ANDOR{{ref|statem|[*]}}
!colspan=2|ANDOR<ref name="statem"></ref>
|120
|120
!1
!1
Line 2,518: Line 2,526:
|R||colspan=7|
|R||colspan=7|
|-
|-
!colspan=2|SAVE_VAR_INT{{ref|defvar|[*]}}
!colspan=2|SAVE_VAR_INT<ref name="defvar"></ref>
|297
|297
!l
!l
|VI||colspan=7|VIO
|VI||colspan=7|VIO
|-
|-
!colspan=2|SAVE_VAR_FLOAT{{ref|defvar|[*]}}
!colspan=2|SAVE_VAR_FLOAT<ref name="defvar"></ref>
|298
|298
!l
!l
|VF||colspan=7|VFO
|VF||colspan=7|VFO
|-
|-
!colspan=2|SAVE_VAR_TEXT_LABEL{{ref|defvar|[*]}}
!colspan=2|SAVE_VAR_TEXT_LABEL<ref name="defvar"></ref>
|299
|299
!l
!l
Line 2,583: Line 2,591:
|colspan=8|
|colspan=8|
|-
|-
!rowspan=2 colspan=2|CALL{{ref|undarg|[*]}}{{ref|argvar|[*]}}{{ref|likely|[*]}}
!rowspan=2 colspan=2|CALL<ref name="undarg"></ref><ref name="argvar"></ref><ref name="likely"></ref>
|rowspan=2|890
|rowspan=2|890
!rowspan=2|1+i+o
!rowspan=2|1+i+o
Line 2,591: Line 2,599:
|colspan=7|VLM
|colspan=7|VLM
|-
|-
!rowspan=2 colspan=2|CALLNOT{{ref|undarg|[*]}}{{ref|argvar|[*]}}{{ref|likely|[*]}}
!rowspan=2 colspan=2|CALLNOT<ref name="undarg"></ref><ref name="argvar"></ref><ref name="likely"></ref>
|rowspan=2|891
|rowspan=2|891
!rowspan=2|1+i+o
!rowspan=2|1+i+o
Line 2,607: Line 2,615:


;Notes
;Notes
:{{note|misdef}} A special [[#Mission scripts|mission]] directive which is never compiled;
<references>
:{{note|statem}} It is used to build the various [[#Control flows|control flows]] internally;
<ref name="misdef">A special [[#Mission scripts|mission]] directive which is never compiled;</ref>
:{{note|defvar}} It is used to declare one or more variables;
<ref name="statem">It is used to build the various [[#Control flows|control flows]] internally;</ref>
:{{note|embdsc}} It embeds a variable scope;
<ref name="defvar">It is used to declare one or more variables;</ref>
:{{note|undarg}} It has an undefined amount of arguments;
<ref name="embdsc">It embeds a variable scope;</ref>
:{{note|likely}} It is a likely definition of the standard command;
<ref name="undarg">It has an undefined amount of arguments;</ref>
:{{note|posngs}} It should exist but its position is purely guessed;
<ref name="likely">It is a likely definition of the standard command;</ref>
:{{note|argvar}} Arguments amount varies when compiling.
<ref name="posngs">It should exist but its position is purely guessed;</ref>
<ref name="argvar">Arguments amount varies when compiling.</ref>
</references>


{{incomplete}}
{{incomplete}}
Line 3,139: Line 3,149:
=Tools=
=Tools=


* [[SCRambl]] - an open-source tool provided by {{U|Deji}}
* [[SCRambl]] - an open-source tool provided by Deji
* [[Mission Scripting Tools]]
* [[Mission Scripting Tools]]


Line 3,149: Line 3,159:
*{{icon|2}} [http://gtamp.com/GTA2/gta2script.7z DMA's official GTA2script Compiler V9.6], [http://projectcerbera.com/gta/2/tutorials/scripting DMA's official GTA2script information] - found into the game copy
*{{icon|2}} [http://gtamp.com/GTA2/gta2script.7z DMA's official GTA2script Compiler V9.6], [http://projectcerbera.com/gta/2/tutorials/scripting DMA's official GTA2script information] - found into the game copy
*{{icon|3}} [https://www.dropbox.com/s/bwxqe33c8ownfc8/gta3ta_source.rar GTA III 10th Anniversary source] - found into the ''iOS'' game copy
*{{icon|3}} [https://www.dropbox.com/s/bwxqe33c8ownfc8/gta3ta_source.rar GTA III 10th Anniversary source] - found into the ''iOS'' game copy
*{{icon|3}} [http://pastebin.com/Pfwscpeh GTA III unofficial main.sc] - Reconstruction of main.sc, missing from the iOS source code, by {{U|Link2012}}
*{{icon|3}} [http://pastebin.com/Pfwscpeh GTA III unofficial main.sc] - Reconstruction of main.sc, missing from the iOS source code, by Link2012
*{{icon|3}} {{icon|vc}} [http://pastebin.com/raw.php?i=T73rCdDd GTA III/VC unavailable script commands (possibly NOP'd)] - some sort of information by {{U|Wesser}} as a result of the reverse-engineering applied to the [http://www.rockstargames.com/ Rockstar Games]' official '''GTA3 Script Compiler V413'''
*{{icon|3}} {{icon|vc}} [http://pastebin.com/raw.php?i=T73rCdDd GTA III/VC unavailable script commands (possibly NOP'd)] - some sort of information by Wesser as a result of the reverse-engineering applied to the [http://www.rockstargames.com/ Rockstar Games]' official '''GTA3 Script Compiler V413'''
*{{icon|3}} {{icon|vc}} [https://www.dropbox.com/s/7xgvqo8b9u1qw02/gta3sc_v413.rar Official GTA3 Script Compiler V413] - found into the ''GTA VC 10th Anniversary'' copy
*{{icon|3}} {{icon|vc}} [https://www.dropbox.com/s/7xgvqo8b9u1qw02/gta3sc_v413.rar Official GTA3 Script Compiler V413] - found into the ''GTA VC 10th Anniversary'' copy
*{{icon|3}} {{icon|vc}} [http://pastebin.com/raw.php?i=Pjb0Ezkx GTA3 Script Compiler V413 Compilation Strings] - a list by {{U|Wesser}} of all the error messages the compiler can throw and more
*{{icon|3}} {{icon|vc}} [http://pastebin.com/raw.php?i=Pjb0Ezkx GTA3 Script Compiler V413 Compilation Strings] - a list by Wesser of all the error messages the compiler can throw and more
*{{icon|sa}} [http://pastebin.com/raw.php?i=Ra9JLLeN GTA SA PC/PS2/XBOX script commands], [http://pastebin.com/raw.php?i=kCwS6rdG GTA SA Mobile script commands] - taken directly from the ''Android'' application and rearranged by {{U|Wesser}}
*{{icon|sa}} [http://pastebin.com/raw.php?i=Ra9JLLeN GTA SA PC/PS2/XBOX script commands], [http://pastebin.com/raw.php?i=kCwS6rdG GTA SA Mobile script commands] - taken directly from the ''Android'' application and rearranged by Wesser
*{{GTAF|441362|Reconstructing the III .sc language}} &ndash; a post by {{U|NTAuthority}}
*[http://www.gtaforums.com/index.php?showtopic=441362 Reconstructing the III .sc language], a post by NTAuthority


{{3-navi}}
{{3-navi}}
{{VC-navi}}
{{VC-navi}}
[[Category:Mission Script]]
[[Category:Mission Script]]
12,236

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.