Skip to content

Releases: OpenMud/OpenMud

v2.12.0

04 Dec 07:11
Compare
Choose a tag to compare

2.12.0 (2023-12-04)

Bug Fixes

  • compiler: Added support for parameter types with a rooted path. I.e "my_function(/atom/example_param)" (792f38d)
  • compiler: Resolved error with lazy evaluation causing the compile step to get stuck into a loop. (95446d3)
  • compiler: Resolved issue with newline not being handled properly within the curly braces. (ba45e86)
  • compiler: Resolved some edge cases with variable declaration sets. (75e40fa)

Features

  • compiler: Added support for discard parameters using the null keyword. (3505c7b)
  • compiler: Added support for exceptions & exception handling. (139de86)
  • compiler: Added support for variable list declarations. I.e 'var/x = ..., var/y = ..., etc' Works with both local, global and class level variables. (127b3fc)
  • compiler: Enabled the user to use the pre-return variable "." similarly to variables. I.e allowing indexing, new operator etc. (ba17ccc)
  • compiler: Polishing various features (better range support, macro / string processing, support more settings etc.) OpenMud now successfully parses the GoonStation variant of Space Station 13. (e2669f7)
  • weavifier: Introducing a code weavifier to analyze and systematically de-tangle features in DML projects. (00df9d2)

v2.11.0

26 Nov 18:36
Compare
Choose a tag to compare

2.11.0 (2023-11-26)

Bug Fixes

  • compiler: Added 'group' to identifier_name group in parser, enabling it to be used for variables names etc (i.e. not an exclusive / reserved keyword.) (34ec97b)
  • compiler: Parser now permits semi-colons optionally terminating single statement code-suites. (08711f9)

Features

  • compiler: Added compile-time support for "in clients" argument constraint. (7370cdd)
  • compiler: Added compiler support constraining respect to a variable. I.e '/proc/myproc(x in someVariable)' (9a31183)
  • compiler: Added support for do-while loops. (febae54)
  • compiler: Added support for parameter declaration with the array hint. ex: '/proc/my_proc(arg0[]) { ... }' While accepted by the parser, this is currently ignored. (d471952)
  • compiler: Added support for string argument name expressions. For example 'my_call("x"= 10)', or 'my_call("[some_var]"=10)', also supports more complex expressions such as 'my_call("hello" + "world" = 123)' or 'my_call(text()=20)' (5e00ce4)
  • compiler: For in loop can also use for-equals syntax. I.e 'for(var/x in 1 to 10)' is the same as the newly supported syntax of 'for(var/x = 1 to 10)' (9c2744c)
  • compiler: For loop initializer, expression and step can be delimited by a semi-colon instead of a comma (or a mix.) (46ae178)

v2.10.0

25 Nov 20:17
Compare
Choose a tag to compare

2.10.0 (2023-11-25)

Features

  • compiler: Added support for field initializers adjacent to new statements. I.e "var x = new {x = 20; y = 30} () (0ff267a)
  • compiler: Added support to omit arguments by leaving them blank: i.e "mycall(a,,c,d,,f)" (585b64f)
  • compiler: Changed switch to support all kinds of expressions with an if-clause, not just integers. (f42a344)

v2.9.0

24 Nov 23:38
Compare
Choose a tag to compare

2.9.0 (2023-11-24)

Bug Fixes

  • compiler: Added necessary support for "for loops" with useless expressions as initializers. For example "for(my_var, ..., ...)", in this case the initializer has no effect, but standard DreamMaker grammer will compile it anyways. (36e5a22)

Features

  • compiler: Added support for complex default argument expressions which require an execution context. For example "/proc/myproc(var/x = testglobal(14) + 13) { ... }" (f13f195)

v2.8.0

23 Nov 08:01
Compare
Choose a tag to compare

2.8.0 (2023-11-23)

Bug Fixes

  • compiler: Added test case for "as null" assertion & resolved associated issues (fc03d91)
  • compiler: Changed casting semantics to type assertion semantics. The proper application of 'as' in an expression is as type assertion, not casting. (fadfa40)
  • compiler: Object declarations are permitted to have a hanging forward slash (i.e '/mob/test/' in an object declaration is treated the same as '/mob/test') (21cc5ca)

Features

  • compiler: Added basic casing between primitives (with as keyword) support. (6b5eadb)
  • compiler: Added compile support for setting proc "background" setting. (f7c7df5)
  • compiler: Added support for "instant" setting. (d4cd650)
  • compiler: Added support for break / continue keywords. (ec8b9c5)
  • compiler: Added support for scientific notation (i.e 2e10) numeric literals. (3792656)
  • compiler: Added support for the "hidden" setting. (d360e96)
  • compiler: Added support for unary assignment operations (++ / --) on lists. I.e allowing for "myarray[2]++" or "++myarray[2]" expressions. Additionally, added associated test cases. (59642be)
  • compiler: Allow hanging forward slash in type name expressions (i.e "istype(x, /mob/example/)" ) (58c1b4e)
  • compiler: Better istype support (now supports expressions such as "istype(.field_name)", i.e where type hint resolution must occur at runtime. ) (bda5fd4)

v2.7.0

13 Nov 20:15
Compare
Choose a tag to compare

2.7.0 (2023-11-13)

Bug Fixes

  • compiler: Better handling for variatons to asset file format. (587026d)
  • compiler: Resolved issue with preprocessor transforming literal/constant strings into complex expressions that weren't supported by compiler in the specific context (namely, field initializer escape sequences were resulting in addtext expressions.) (675d6da)
  • compiler: Support embedded (and unescaped) single/double quote character in multiline strings. (d59a7f8)

Features

  • compiler: Optimized preprocessing, added support for complex string colacing, multiline string etc. (4316e85)
  • compiler: Proper handling of text macros. (1db6f66)

v2.6.0

29 Oct 01:34
Compare
Choose a tag to compare

2.6.0 (2023-10-29)

Features

  • compiler: Optimized preprocessing. (8921c77)

v2.5.1

23 Oct 06:50
Compare
Choose a tag to compare

2.5.1 (2023-10-23)

Bug Fixes

  • compiler: Fixed issue where default parameter values were not being respected. Added test cases for coverage. (70dcf8a)

v2.5.0

22 Oct 02:56
Compare
Choose a tag to compare

2.5.0 (2023-10-22)

Bug Fixes

  • core: AsText DmlEnv helper function now supports processing EnvObjectReference types. (577545d)
  • core: Proper escape sequence in command strings. (4a8e6d4)

Features

  • compiler: Added support for manipulating & evaluating the pre-return assignment (f039031)
  • core: Added string interpolation support & test cases. Added 'text' utility function implementation. (50122f5)
  • networking: Added ECS Message synchronization support. Added entity/world echo & sound configure message synchronization. (33d97c0)

v2.4.0

18 Oct 07:08
Compare
Choose a tag to compare

2.4.0 (2023-10-18)

Bug Fixes

  • core: Fixed unhandled null reference. (b2c25d2)

Features

  • core: Added basic audio support to framework + ecs, also included some test cases. (51bd8ae)