BSL:BFW Scripting Language: Difference between revisions

m
OSL to BSL
(I'm getting tired of having to click twice to get here...)
m (OSL to BSL)
Line 1: Line 1:
== Oni Scripting Language (or OSL) ==
== Bungie Scripting Language (or BSL) ==
is what [[OSL:Scripts|Oni scripts]] are written in. It's a programming language akin to C with some shell-script features as well.
is what [[BSL:Scripts|Oni scripts]] are written in. It's a programming language akin to C with some shell-script features as well.


== Editing Scripts ==
== Editing Scripts ==
Line 23: Line 23:


===Knowledge database===
===Knowledge database===
For the theoretical minds, everything you'll ever need to know about OSL
For the theoretical minds, everything you'll ever need to know about BSL
*[[OSL:Statements|Statements]]
*[[BSL:Statements|Statements]]
*[[OSL:Variables|Variables]]
*[[BSL:Variables|Variables]]
*[[OSL:Functions|Functions]]
*[[BSL:Functions|Functions]]
*[[OSL:Operators|Operators]]
*[[BSL:Operators|Operators]]
*[[OSL:Data|Data types]]
*[[BSL:Data|Data types]]
More on modding basics
More on modding basics
*[[OSL:IGMD|IGMD folder]]
*[[BSL:IGMD|IGMD folder]]
*[[OSL:IGMD/global|global folder]]
*[[BSL:IGMD/global|global folder]]
And some random (so far) useful pages
And some random (so far) useful pages
*[[OSL:Inventory|Inventory management]]
*[[BSL:Inventory|Inventory management]]


===[[OSL:Tutorial|Tutorials]]===
===[[BSL:Tutorial|Tutorials]]===
For the practical minds who don't care (too much) about the theory.
For the practical minds who don't care (too much) about the theory.
*Wanna make minor (yet cool-looking) changes to the original level logic?
*Wanna make minor (yet cool-looking) changes to the original level logic?
*Wanna script a "patch" that's effective in every level but doesn't affect the original logic?
*Wanna script a "patch" that's effective in every level but doesn't affect the original logic?
*Wanna create completely new level logic from scratch? [[OSL:Tutorial/Scratch|Here you are]]
*Wanna create completely new level logic from scratch? [[BSL:Tutorial/Scratch|Here you are]]


==Overview==
==Overview==
{| border="1" cellpadding="5" cellspacing="0" align="center"
{| border="1" cellpadding="5" cellspacing="0" align="center"
|+'''OSL syntax overview table'''
|+'''BSL syntax overview table'''
|-
|-
| align="center" style="border-bottom:3px solid grey;"|
| align="center" style="border-bottom:3px solid grey;"|
{| border="0"
{| border="0"
|+''OSL separators''
|+''BSL separators''
|-
|-
| align="center" width="100px" | [[OSL:statements|<tt>;</tt>]]
| align="center" width="100px" | [[BSL:Statements|<tt>;</tt>]]
| align="center" width="100px" | [[OSL:functions|<tt>,</tt>]]
| align="center" width="100px" | [[BSL:Functions|<tt>,</tt>]]
| align="center" width="100px" | [[OSL:comments|<tt>#</tt>]]
| align="center" width="100px" | [[BSL:Comments|<tt>#</tt>]]
| align="center" width="100px" | [[OSL:data|<tt>"</tt>]]
| align="center" width="100px" | [[BSL:Data|<tt>"</tt>]]
|-
|-
| align="center" width="100px" | [[OSL:statements|<tt>{</tt>]]
| align="center" width="100px" | [[BSL:Statements|<tt>{</tt>]]
| align="center" width="100px" | [[OSL:statements|<tt>}</tt>]]
| align="center" width="100px" | [[BSL:Statements|<tt>}</tt>]]
| align="center" width="100px" | [[OSL:functions|<tt>(</tt>]]
| align="center" width="100px" | [[BSL:Functions|<tt>(</tt>]]
| align="center" width="100px" | [[OSL:functions|<tt>)</tt>]]
| align="center" width="100px" | [[BSL:Functions|<tt>)</tt>]]
|-
|-
| align="center" colspan="4" style="border-top:1px solid red; border-right:1px solid red; border-bottom:2px solid red; border-left:1px solid red;" |
| align="center" colspan="4" style="border-top:1px solid red; border-right:1px solid red; border-bottom:2px solid red; border-left:1px solid red;" |
Line 65: Line 65:
| align="center" style="border-bottom:3px solid grey;"|
| align="center" style="border-bottom:3px solid grey;"|
{| border="0"
{| border="0"
|+''OSL operators''
|+''BSL operators''
|-
|-
| align="center" width="100px" | [[OSL:operators|<tt>+</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt>+</tt>]]
| align="center" width="100px" | [[OSL:operators|<tt>-</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt>-</tt>]]
| align="center" width="100px" | [[OSL:variables|<tt>=</tt>]]
| align="center" width="100px" | [[BSL:Variables|<tt>=</tt>]]
| align="center" width="100px" | [[OSL:operators|<tt>!</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt>!</tt>]]
|-
|-
| align="center" width="100px" | [[OSL:operators|<tt>and</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt>and</tt>]]
| align="center" width="100px" | [[OSL:operators|<tt>or</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt>or</tt>]]
| align="center" width="100px" | [[OSL:operators|<tt>eq</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt>eq</tt>]]
| align="center" width="100px" | [[OSL:operators|<tt>ne</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt>ne</tt>]]
|-
|-
| align="center" width="100px" | [[OSL:operators|<tt><</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt><</tt>]]
| align="center" width="100px" | [[OSL:operators|<tt>></tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt>></tt>]]
| align="center" width="100px" | [[OSL:operators|<tt><=</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt><=</tt>]]
| align="center" width="100px" | [[OSL:operators|<tt>>=</tt>]]
| align="center" width="100px" | [[BSL:Operators|<tt>>=</tt>]]
|-
|-
| align="center" colspan="4" style="border-top:1px solid red; border-right:1px solid red; border-bottom:2px solid red; border-left:1px solid red;" |
| align="center" colspan="4" style="border-top:1px solid red; border-right:1px solid red; border-bottom:2px solid red; border-left:1px solid red;" |
Line 88: Line 88:
| align="center" style="border-bottom:3px solid grey;"|
| align="center" style="border-bottom:3px solid grey;"|
{| border="0"
{| border="0"
|+''OSL keywords''
|+''BSL keywords''
|-
|-
| align="center" width="75px" | [[OSL:keywords|<tt>at</tt>]]
| align="center" width="75px" | [[BSL:Keywords|<tt>at</tt>]]
| align="center" width="75px" | [[OSL:data|<tt>float</tt>]]
| align="center" width="75px" | [[BSL:Data|<tt>float</tt>]]
| align="center" width="75px" | [[OSL:statements|<tt>if</tt>]]
| align="center" width="75px" | [[BSL:Statements|<tt>if</tt>]]
| align="center" width="75px" | [[OSL:keywords|<tt>repeat</tt>]]
| align="center" width="75px" | [[BSL:Keywords|<tt>repeat</tt>]]
| align="center" width="75px" | [[OSL:data|<tt>string</tt>]]
| align="center" width="75px" | [[BSL:Data|<tt>string</tt>]]
|-
|-
| align="center" width="75px" | [[OSL:data|<tt>bool</tt>]]
| align="center" width="75px" | [[BSL:Data|<tt>bool</tt>]]
| align="center" width="75px" | [[OSL:keywords|<tt>for</tt>]]
| align="center" width="75px" | [[BSL:Keywords|<tt>for</tt>]]
| align="center" width="75px" | [[OSL:data|<tt>int</tt>]]
| align="center" width="75px" | [[BSL:Data|<tt>int</tt>]]
| align="center" width="75px" | [[OSL:functions|<tt>return</tt>]]
| align="center" width="75px" | [[BSL:Functions|<tt>return</tt>]]
| align="center" width="75px" | [[OSL:keywords|<tt>using</tt>]]
| align="center" width="75px" | [[BSL:Keywords|<tt>using</tt>]]
|-
|-
| align="center" width="75px" | [[OSL:statements|<tt>else</tt>]]
| align="center" width="75px" | [[BSL:Statements|<tt>else</tt>]]
| align="center" width="75px" | [[OSL:functions|<tt>fork</tt>]]
| align="center" width="75px" | [[BSL:Functions|<tt>fork</tt>]]
| align="center" width="75px" | [[OSL:keywords|<tt>iterate</tt>]]
| align="center" width="75px" | [[BSL:Keywords|<tt>iterate</tt>]]
| align="center" width="75px" | [[OSL:keywords|<tt>schedule</tt>]]
| align="center" width="75px" | [[BSL:Keywords|<tt>schedule</tt>]]
| align="center" width="75px" | [[OSL:variables|<tt>var</tt>]]
| align="center" width="75px" | [[BSL:Variables|<tt>var</tt>]]
|-
|-
| align="center" width="75px" | [[OSL:keywords|<tt>every</tt>]]
| align="center" width="75px" | [[BSL:Keywords|<tt>every</tt>]]
| align="center" width="75px" | [[OSL:functions|<tt>func</tt>]]
| align="center" width="75px" | [[BSL:Functions|<tt>func</tt>]]
| align="center" width="75px" | [[OSL:keywords|<tt>over</tt>]]
| align="center" width="75px" | [[BSL:Keywords|<tt>over</tt>]]
| align="center" width="75px" | [[OSL:keywords|<tt>sleep</tt>]]
| align="center" width="75px" | [[BSL:Keywords|<tt>sleep</tt>]]
| align="center" width="75px" | [[OSL:data|<tt>void</tt>]]
| align="center" width="75px" | [[BSL:Data|<tt>void</tt>]]
|-
|-
| align="center" colspan="5" style="border-top:1px solid red; border-right:1px solid red; border-bottom:2px solid red; border-left:1px solid red;" |
| align="center" colspan="5" style="border-top:1px solid red; border-right:1px solid red; border-bottom:2px solid red; border-left:1px solid red;" |
1,051

edits