Skip to content

The Lua language modified to behave like it does in Supreme Commander Forged Alliance

Notifications You must be signed in to change notification settings

FAForever/lua-lang

Repository files navigation

logo

Lua FAForever version

Build Status license

This is a modified version of Lua which imitates the changes made by Gas Powered Games (GPG) for the game Supreme Commander Forged Alliance (SCFA).

The most notable changes are:

  • Addition of a continue statement
  • Bash style single line # comments
  • Bitwise operators &, |, <<, and >>
  • Pow operator replaced by bitwise xor ^
  • String methods available on strings. i.e. str:sub(2)

See HISTORY for a full list of changes.

Versioning

Version numbers do not follow regular semantic versioning. Instead they use the Lua version that the modifications are based on followed by a release number. For example 5.0-1 would be release number 1 for changes based on Lua 5.0.

Objective

The purpose of this project is to provide SCFA modders with a version of Lua that has the same syntax and behavior as the GPG version integrated into SCFA. In particular it should help in testing SCFA mods without running the game itself, such as in Continuous Integration (CI) pipelines. However, this repo is only for changes to the Lua language itself, and not SCFA engine functionality.

A mock engine will be implemented in a separate project.

Installation

See INSTALL.

License

FAF Lua is distributed under the MIT license. See COPYRIGHT.