More actions
Line 2: | Line 2: | ||
==== 2004 ==== | ==== 2004 ==== | ||
September | (September) Weak queues get added with the introduction of Make-X. | ||
Enums get created | |||
==== 2005 ==== | ==== 2005 ==== | ||
Strong queues get added. | |||
Region commands get added to create and manipulate instances. | |||
The <code>p_loaddelay</code> command gets added. | |||
==== 2006 ==== | |||
Procs get added by a FunOrb developer. Macros are replaced with procs, #multi dialogue was translated into @multi and ~p_choice was created as an alternate method for dialogue flow. | |||
==== 2009 ==== | |||
Structs get added - Ash convinced Andrew it was better than creating objects and putting data on them. | |||
=== Our Implementation === | === Our Implementation === |
Revision as of 04:51, 17 March 2025
History
2004
(September) Weak queues get added with the introduction of Make-X.
Enums get created
2005
Strong queues get added.
Region commands get added to create and manipulate instances.
The p_loaddelay
command gets added.
2006
Procs get added by a FunOrb developer. Macros are replaced with procs, #multi dialogue was translated into @multi and ~p_choice was created as an alternate method for dialogue flow.
2009
Structs get added - Ash convinced Andrew it was better than creating objects and putting data on them.
Our Implementation
Our RuneScript implementation deviates in a few ways. This is because we continued to learn history during the project's development. We want to support the original language behaviors 100%.
- We support some language features that were introduced later: local variables, procs, booleans, structs, enums, dbtables, and debugprocs. Macros are not supported currently.
- Our pointer checking supports inversions:
if (p_finduid(uid) = false) { return; }
is valid code, and code following it will have the pointer set. - We support local variable declarations at any scope. Traditionally the real game must have them at the top level.
- We split strings on the pipe
|
character to continue text on newlines if we need a manual break to match screenshots.