mirror of
https://github.com/Reuh/ubiquitousse.git
synced 2025-10-27 17:19:31 +00:00
Add make script and precompile Candran files
This commit is contained in:
parent
bfa73f6dd0
commit
bfbe236e58
18 changed files with 1307 additions and 80 deletions
94
init.lua
94
init.lua
|
|
@ -1,49 +1,53 @@
|
|||
-- ubiquitousse
|
||||
--[[-- Ubiquitousse main module.
|
||||
|
||||
--- Ubiquitousse main module.
|
||||
-- Set of various Lua libraries to make game development easier, mainly made to be used alongside the [LÖVE](https://love2d.org/) game framework.
|
||||
-- Nothing that hasn't been done before, but these are tailored to what I need. They can be used independently too, and are relatively portable, even without LÖVE.
|
||||
--
|
||||
-- This is the main module, which will try to load every other Ubiquitousse module when required and may even provide a few convenience functions.
|
||||
--
|
||||
-- This also perform a quick LÖVE version check and show a warning in case of potential incompatibility.
|
||||
--
|
||||
-- **Regarding Ubiquitousse's organization**
|
||||
--
|
||||
-- Ubiquitousse may or may not be used in its totality. You can delete the modules directories you don't need and Ubiquitousse
|
||||
-- should adapt accordingly. You can also simply copy the modules directories you need and use them directly, without using this
|
||||
-- file at all.
|
||||
-- However, some modules may provide more feature when other modules are available.
|
||||
-- These dependencies are written at the top of every main module file.
|
||||
--
|
||||
-- Ubiquitousse's original goal was to run everywhere with the least porting effort possible, so while the current version now mainly focus LÖVE, it
|
||||
-- should still be easily modifiable to work with something else. Ubiquitousse is mainly tested on LuaJIT and Lua 5.3 but should also support Lua 5.1 and 5.2.
|
||||
-- In order to keep a good idea of how portable this all is, other dependencies, including LÖVE, are explicited at the top of every module file and in specific
|
||||
-- functions definition using the `@require` tag (e.g., `-- @require love` for LÖVE).
|
||||
--
|
||||
-- Some modules are developped in [Candran](https://github.com/Reuh/candran) (.can files), but can easily be compiled into regular Lua code.
|
||||
--
|
||||
-- Units used in the API documentation, unless written otherwise:
|
||||
--
|
||||
-- * All distances are expressed in pixels (px)
|
||||
-- * All durations are expressed in seconds (s)
|
||||
--
|
||||
-- These units are only used to make writing documentation easier; you can use other units if you want, as long as you're consistent.
|
||||
--
|
||||
-- Style:
|
||||
--
|
||||
-- * tabs for indentation, spaces for esthetic whitespace (notably in comments)
|
||||
-- * no globals
|
||||
-- * UPPERCASE for constants (or maybe not).
|
||||
-- * CamelCase for class names.
|
||||
-- * lowerCamelCase is expected for everything else.
|
||||
--
|
||||
-- Regarding the documentation: Ubiquitousse uses LDoc/LuaDoc styled-comments, but since LDoc hates me and my code, the
|
||||
-- generated result is mostly garbage, so to generate the documentation you will need to use my [LDoc fork](https://github.com/Reuh/LDoc)
|
||||
-- which I modified to force LDoc to like me.
|
||||
--
|
||||
-- @module ubiquitousse
|
||||
-- @usage local ubiquitousse = require("ubiquitousse")
|
||||
Set of various Lua libraries to make game development easier, mainly made to be used alongside the [LÖVE](https://love2d.org/) game framework.
|
||||
Nothing that hasn't been done before, but these are tailored to what I need. They can be used independently too, and are relatively portable, even without LÖVE.
|
||||
|
||||
This is the main module, which will try to load every other Ubiquitousse module when required,
|
||||
and also perform a quick LÖVE version check and show a warning in case of potential incompatibility.
|
||||
|
||||
**Regarding Ubiquitousse's organization**
|
||||
|
||||
Ubiquitousse may or may not be used in its totality. You can delete the modules directories you don't need and Ubiquitousse
|
||||
should adapt accordingly. You can also simply copy the modules directories you need and use them directly, without using this
|
||||
file at all.
|
||||
However, some modules may provide more feature when other modules are available.
|
||||
These dependencies are written at the top of every main module file.
|
||||
|
||||
Ubiquitousse's original goal was to run everywhere with the least porting effort possible, so while the current version now mainly focus LÖVE, it
|
||||
should still be easily modifiable to work with something else. Ubiquitousse is mainly tested on LuaJIT and Lua 5.3 but should also support Lua 5.1 and 5.2.
|
||||
In order to keep a good idea of how portable this all is, other dependencies, including LÖVE, are explicited at the top of every module file and in specific
|
||||
functions definition using the `@require` tag (e.g., `-- @require love` for LÖVE).
|
||||
|
||||
Some modules are developped in [Candran](https://github.com/Reuh/candran) (`.can` files), but can easily be compiled into regular Lua code. In fact,
|
||||
you will find precompiled Lua files in the ubiquitousse repository alongside the Candran files, so you don't have to install Candran yourself and everything
|
||||
should be pretty much plug and play.
|
||||
|
||||
Regarding the documentation: Ubiquitousse uses LDoc/LuaDoc styled-comments, but since LDoc hates me and my code, the
|
||||
generated result is mostly garbage, so to generate the documentation you will need to use my [LDoc fork](https://github.com/Reuh/LDoc)
|
||||
which I modified to force LDoc to like me.
|
||||
|
||||
If you want to recompile the Candran files or the documentation yourself, there's a build script `make` available at the root of
|
||||
the repository to save you a few seconds.
|
||||
|
||||
Units used in the API documentation, unless written otherwise:
|
||||
|
||||
* All distances are expressed in pixels (px)
|
||||
* All durations are expressed in seconds (s)
|
||||
|
||||
These units are only used to make writing documentation easier; you can use other units if you want, as long as you're consistent.
|
||||
|
||||
Style:
|
||||
|
||||
* tabs for indentation, spaces for esthetic whitespace (notably in comments)
|
||||
* no globals
|
||||
* UPPERCASE for constants (or maybe not).
|
||||
* CamelCase for class names.
|
||||
* lowerCamelCase is expected for everything else.
|
||||
|
||||
@module ubiquitousse
|
||||
@usage local ubiquitousse = require("ubiquitousse")
|
||||
--]]
|
||||
|
||||
local p = ... -- require path
|
||||
local ubiquitousse
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue