TeamUlysses / ulx4

The ULX addon for Garry's Mod

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ULX

Build Status

NOTE: This version of ULX is in early development, and is not currently a full replacement for ULX 3. Do not run this on your servers yet!

ULX is an addon for Garry's Mod. Insert some witty and concise description here.

ULX is licensed under the MIT license. For an easy-to-understand summary of the license, please check out tl;dr Legal.

Note that ULX is written primarily in MoonScript (described below). Even though Garry's Mod will be running the compiled version of the MoonScript, we ship ULX with both the original and the compiled source for your convenience.

Credits

Authors

Nayruden's Avatar Brett "Nayruden" Smith (Team Lead)

Stickly Man!'s Avatar Stickly Man! (GUI Expert)

JamminR's Avatar JamminR (Morale & Support)

MrPresident's Avatar MrPresident (Developer)

Timmy's Avatar Timmy (Developer)

Translations

The following amazing folks have contributed translations for ULX.

Dependencies

Runtime Dependencies (Included)

Besides the modified version of Garry's Mod's Lua 5.1, ULX needs the following dependencies to function. These dependencies are included with ULX.

tableshape - A Lua library for verifying the shape (schema, structure, etc.) of a table. This helps ULX verify the validity of data as it's being loaded or moved around.

Development Dependencies (Not Included)

ULX's codebase and documentation were built using the following tools. You do not need these dependencies installed for ULX to function.

MoonScript - A programmer friendly language that compiles to Lua. MoonScript was chosen for ULX in order to minimize typing, increase clarity of intent, and because it remains compatible with Garry's modified version of Lua 5.1.

Busted - Elegant Lua unit testing. Busted tests our core functionality to ensure that everything is working as advertised.

lua-cjson - A JSON library. JSON is the format of choice for ULX when writing to plain text files. This format was chosen over the existing Source KeyValues format because it's an accepted Internet standard (and thus easier to move the data around) in addition to being less prone to errors. Garry's Mod natively supports JSON, but we need to process JSON data in our unit tests.

LuaFileSystem - File System Library for the Lua Programming Language. This is necessary since vanilla Lua only implements very basic file I/O functionality.

Natural Docs - Documentation generator. Natural Docs generates ULX documentation from comments in the source code and is available online at https://ulyssesmod.net/ulx4-doc.

PlantUML - Generates Unified Modeling Language (UML) diagrams from plain-text descriptions. This allows us to quickly document ULX source structure without the hassle of a graphical UML editor.

Installation

Install ULX by placing the contents of this repository in addons\ulx such that addon.txt resides in addons\ulx\addon.txt. Your file structure should look like the following:

File structure

Usage

Type ulx help in your console for a list of available actions.

Development

If you want to change or add to ULX, please review the developer's read me.

About

The ULX addon for Garry's Mod

License:MIT License


Languages

Language:MoonScript 97.7%Language:Batchfile 1.8%Language:Makefile 0.5%