Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • amagad/t-engine4
  • HirumaKai/t-engine4
  • Hogulus/t-engine4
  • Inkie/t-engine4
  • Liberty/t-engine4
  • Lokean/t-engine4
  • Mawootad/t-engine4
  • Michelle/t-engine4
  • MrFrog/t-engine4
  • Nagyhal/t-engine4
  • Recaiden/t-engine4
  • RootOfAllThings/t-engine4
  • Sebsebeleb/t-engine4
  • Sheila/t-engine4
  • Shibari/t-engine4
  • Stof/t-engine4
  • Umbral/t-engine4
  • tome/t-engine4
  • 0player/t-engine4
  • BreezyIdiot/t-engine4
  • Bunny/t-engine4
  • Effigy/t-engine4
  • Hachem_Muche/t-engine4
  • razakai/t-engine4
  • Zireael/t-engine4
  • cinornu/t-engine4
  • edge2054/t-engine4
  • gordaxx727/t-engine4
  • grayswandir/t-engine4
  • helminthauge/t-engine4
  • housepet/t-engine4
  • minqmay/t-engine4
  • nsrr/t-engine4
  • orange/t-engine4
  • otowakotori/t-engine4
  • purequestion/t-engine4
  • rexorcorum/t-engine4
  • rgeens/t-engine4
  • sageacrin/t-engine4
  • stuntofthelitter/t-engine4
  • tiger_eye/t-engine4
  • xelivous/t-engine4
  • yutio888/t-engine4
43 results
Show changes
Commits on Source (6481)
Showing
with 1092 additions and 12 deletions
......@@ -7,7 +7,35 @@ divx2pass.log
game/addons/**
game/dlcs/**
obj/**
/lib64
/t-engine64
/tmp
/diff.diff
out.avi
out.ogv
te4_log_web.txt
t-engine
tengine_doc
game/modules/pits/
game/modules/uaws/
game/modules/bare_minimum/
game/modules/bone/
game/modules/demo/
game/modules/unused/
game/modules/particles_editor/
steam_appid.txt
oprofile_data/
game/modules/tome/data/gfx/ts-gfx*
game/engines/default/modules/boot/data/gfx/ts-gfx*
debug-recompile.sh
profiling-recompile.sh
recompile.sh
*.exe
*.dll
/*.so
te4_log.txt
debug.log
/.idea/
/*.log
.vscode
__autosave__.pc
All the medias located in all the "/data/gfx" folders are granted to use with the Tales of Maj'Eyal game only.
Please contact darkgod@te4.org for more informations.
All the tiles located in all the "gfx/shockbolt", "gfx/lore" "gfx/achievements"
folders are granted to use with the Tales of Maj'Eyal game only.
Please contact darkgod@te4.org for more informations.
......@@ -38,6 +38,11 @@ Musics:
- "Anne_van_Schothorst_-_Passed_Tense.ogg" by Anne van Schothorst (http://freemusicarchive.org/music/Anne_van_Schothorst)
- Nearly every other songs by Celestial Aeon Project (http://www.jamendo.com/en/artist/celestial.aeon.project)
Sounds:
- Mike Koenig for 'breaking' sound effects
- Mark DiAngelo for 'whooshing' sound effects
- Marianne Gragnon for 'mystic chanting' sound effects
Fonts:
- Vera*: http://www.gnome.org/fonts/
- INSULA, USENET: http://www.dafont.com/fr/apostrophic-labs.d128
......@@ -47,6 +52,6 @@ Fonts:
Others:
- The good people at lua.org who made the world a better place
- J.R.R. Tolkien who made the (real) world an interresting place
- J.R.R. Tolkien who made the (real) world an interesting place
Also a big general thanks to the whole ToME community which is always very nice, polite, supporting, full of marvelous ideas and great people!
......@@ -2,6 +2,11 @@
-- It will be called before anything else is setup, including paths
-- Usualy it will be put inside a zip that is concatenated to the executable itself
--[[ Example to move the saves somewhere else
local old = fs.getHomePath()
function fs.getHomePath() return old:gsub("T%-Engine", "BoneToBeWild"):gsub("t%-engine", "bone-to-be-wild") end
]]
print("Booting T-Engine from: "..tostring(__SELFEXE))
-- Mount the engine, either from a path guessed from SELFEXE, or directly from current dir
......@@ -24,12 +29,19 @@ if __SELFEXE then
print("SelfExe gave us app directory of:", dir)
fs.mount(dir..fs.getPathSeparator().."game"..fs.getPathSeparator().."thirdparty", "/", true)
fs.mount(dir..fs.getPathSeparator().."game", "/", true)
fs.setPathAllowed(dir..fs.getPathSeparator().."game", false)
else
print("No SelfExe, using basic path")
fs.mount("game"..fs.getPathSeparator().."thirdparty", "/", true)
fs.mount("game", "/", true)
end
fs.setPathAllowed(fs.getRealPath("/engines/"), false)
fs.setPathAllowed(fs.getRealPath("/thirdparty/"), false)
fs.setPathAllowed(fs.getRealPath("/addons/"), true)
if fs.getRealPath("/dlcs/") then fs.setPathAllowed(fs.getRealPath("/dlcs/"), true) end
fs.setPathAllowed(fs.getRealPath("/modules/"), true)
-- Look for a core
function get_core(coretype, id)
coretype = coretype or "te4core"
......
......@@ -65,6 +65,16 @@ newoption {
description = "Steam integration"
}
newoption {
trigger = "discord",
description = "Discord integration"
}
newoption {
trigger = "discord-nolib",
description = "Dont build discord lib"
}
newoption {
trigger = "web-awesomium",
description = "Use awesomium embedded browser as the webcore"
......
......@@ -37,7 +37,8 @@ project "TEngine"
if _OPTIONS.steam then
files { "../steamworks/luasteam.c", }
end
links { "physfs", "lua".._OPTIONS.lua, "fov", "luasocket", "luaprofiler", "lpeg", "tcodimport", "lxp", "expatstatic", "luamd5", "luazlib", "luabitop", "te4-bzip" }
links { "physfs", "lua".._OPTIONS.lua, "fov", "luasocket", "luaprofiler", "lpeg", "tcodimport", "lxp", "expatstatic", "luamd5", "luazlib", "luabitop", "te4-bzip", "te4-wfc", "utf8proc" }
if _OPTIONS.discord then defines { "DISCORD_TE4" } end
defines { "_DEFAULT_VIDEOMODE_FLAGS_='SDL_HWSURFACE|SDL_DOUBLEBUF'" }
defines { [[TENGINE_HOME_PATH='".t-engine"']], "TE4CORE_VERSION="..TE4CORE_VERSION }
buildoptions { "-O3" }
......@@ -49,6 +50,8 @@ project "TEngine"
if _OPTIONS.relpath == "64" then defines{"TE4_RELPATH64"} end
links { "m" }
links { "stdc++" }
cppconfig()
if _OPTIONS.no_rwops_size then defines{"NO_RWOPS_SIZE"} end
......@@ -109,7 +112,7 @@ project "TEngine"
links { "mingw32", "SDL2main", "SDL2", "SDL2_ttf", "SDL2_image", "OpenAL32", "vorbisfile", "opengl32", "glu32", "wsock32", "png" }
defines { [[TENGINE_HOME_PATH='"T-Engine"']], 'SELFEXE_WINDOWS' }
if _OPTIONS.wincross then
prebuildcommands { "/usr/bin/i686-pc-mingw32-windres ../src/windows/icon.rc -O coff -o ../src/windows/icon.res" }
prebuildcommands { "i686-pc-mingw32-windres ../src/windows/icon.rc -O coff -o ../src/windows/icon.res" }
else
prebuildcommands { "windres ../src/windows/icon.rc -O coff -o ../src/windows/icon.res" }
end
......@@ -170,13 +173,14 @@ project "physfs"
files { "../src/physfs/platform/windows.c", }
configuration "macosx"
files { "../src/physfs/platform/macosx.c", "../src/physfs/platform/posix.c", }
includedirs { "/Library/Frameworks/SDL.framework/Headers" }
includedirs { "/Library/Frameworks/SDL2.framework/Headers" }
if _OPTIONS.lua == "default" then
project "luadefault"
kind "StaticLib"
language "C"
targetname "lua"
buildoptions{ "-O2" }
files { "../src/lua/*.c", }
elseif _OPTIONS.lua == "jit2" then
......@@ -358,6 +362,7 @@ elseif _OPTIONS.lua == "jit2" then
language "C"
targetname "lua"
links { "buildvm" }
buildoptions { "-O2", "-fomit-frame-pointer" }
files { "../src/luajit2/src/*.c", "../src/luajit2/src/*.s", "../src/luajit2/src/lj_vm.s", "../src/luajit2/src/lj_bcdef.h", "../src/luajit2/src/lj_ffdef.h", "../src/luajit2/src/lj_ffdef.h", "../src/luajit2/src/lj_libdef.h", "../src/luajit2/src/lj_recdef.h", "../src/luajit2/src/lj_folddef.h" }
excludes { "../src/luajit2/src/buildvm*.c", "../src/luajit2/src/luajit.c", "../src/luajit2/src/ljamalg.c" }
......@@ -422,6 +427,7 @@ project "luasocket"
kind "StaticLib"
language "C"
targetname "luasocket"
buildoptions { "-O2" }
configuration "not windows"
files {
......@@ -460,6 +466,7 @@ project "fov"
kind "StaticLib"
language "C"
targetname "fov"
buildoptions { "-O2" }
files { "../src/fov/*.c", }
......@@ -467,6 +474,7 @@ project "lpeg"
kind "StaticLib"
language "C"
targetname "lpeg"
buildoptions { "-O2" }
files { "../src/lpeg/*.c", }
......@@ -474,6 +482,7 @@ project "luaprofiler"
kind "StaticLib"
language "C"
targetname "luaprofiler"
buildoptions { "-O2" }
files { "../src/luaprofiler/*.c", }
......@@ -481,6 +490,7 @@ project "tcodimport"
kind "StaticLib"
language "C"
targetname "tcodimport"
buildoptions { "-O2" }
files { "../src/libtcod_import/*.c", }
......@@ -489,6 +499,7 @@ project "expatstatic"
language "C"
targetname "expatstatic"
defines{ "HAVE_MEMMOVE" }
buildoptions { "-O2" }
files { "../src/expat/*.c", }
......@@ -496,6 +507,7 @@ project "lxp"
kind "StaticLib"
language "C"
targetname "lxp"
buildoptions { "-O2" }
files { "../src/lxp/*.c", }
......@@ -503,6 +515,7 @@ project "luamd5"
kind "StaticLib"
language "C"
targetname "luamd5"
buildoptions { "-O2" }
files { "../src/luamd5/*.c", }
......@@ -510,6 +523,7 @@ project "luazlib"
kind "StaticLib"
language "C"
targetname "luazlib"
buildoptions { "-O2" }
files { "../src/lzlib/*.c", }
......@@ -517,6 +531,7 @@ project "luabitop"
kind "StaticLib"
language "C"
targetname "luabitop"
buildoptions { "-O2" }
files { "../src/luabitop/*.c", }
......@@ -524,9 +539,28 @@ project "te4-bzip"
kind "StaticLib"
language "C"
targetname "te4-bzip"
buildoptions { "-O2" }
files { "../src/bzip2/*.c", }
project "te4-wfc"
kind "StaticLib"
language "C++"
targetname "te4-wfc"
buildoptions { "-O3" }
buildoptions { "-std=c++11" }
cppconfig()
files { "../src/wfc/*.cpp", }
project "utf8proc"
kind "StaticLib"
language "C"
targetname "utf8proc"
buildoptions { "-O2" }
files { "../src/utf8proc/utf8proc.c", }
if _OPTIONS['web-awesomium'] and not _OPTIONS.wincross then
project "te4-web"
kind "SharedLib"
......@@ -546,6 +580,9 @@ project "te4-web"
language "C++"
targetname "te4-web"
buildoptions { "-O3", "-std=c++11" }
cppconfig("web")
if _OPTIONS.relpath=="32" then linkoptions{"-Wl,-rpath -Wl,\\\$\$ORIGIN "} end
if _OPTIONS.relpath=="64" then linkoptions{"-Wl,-rpath -Wl,\\\$\$ORIGIN "} end
......@@ -553,8 +590,8 @@ project "te4-web"
configuration "macosx"
defines { 'SELFEXE_MACOSX' }
libdirs {"/users/tomedev/downloads/cef_binary_3.1547.1597_macosx64/xcodebuild/Release/", "/users/tomedev/downloads/cef_binary_3.1547.1597_macosx64/Release/"}
includedirs {"/users/tomedev/downloads/cef_binary_3.1547.1597_macosx64/include/", "/users/tomedev/downloads/cef_binary_3.1547.1597_macosx64/"}
libdirs {"/Users/darkmac/libs/CEF/cef_binary_3.1547.1597_macosx64/xcodebuild/Release/", "/Users/darkmac/libs/CEF/cef_binary_3.1547.1597_macosx64/Release/"}
includedirs {"/Users/darkmac/libs/CEF/cef_binary_3.1547.1597_macosx64/include/", "/Users/darkmac/libs/CEF/cef_binary_3.1547.1597_macosx64/"}
links { "cef", "cef_dll_wrapper" }
configuration "windows"
......@@ -573,6 +610,10 @@ project "cef3spawn"
language "C++"
targetname "cef3spawn"
buildoptions { "-O3" }
buildoptions { "-std=c++11" }
cppconfig("web")
includedirs {"../src/web-cef3/", }
files {
"../src/web-cef3/spawn.cpp",
......@@ -580,8 +621,8 @@ project "cef3spawn"
configuration "macosx"
defines { 'SELFEXE_MACOSX' }
libdirs {"/users/tomedev/downloads/cef_binary_3.1547.1597_macosx64/xcodebuild/Release/", "/users/tomedev/downloads/cef_binary_3.1547.1597_macosx64/Release/"}
includedirs {"/users/tomedev/downloads/cef_binary_3.1547.1597_macosx64/include/", "/users/tomedev/downloads/cef_binary_3.1547.1597_macosx64/"}
libdirs {"/Users/darkmac/libs/CEF/cef_binary_3.1547.1597_macosx64/xcodebuild/Release/", "/Users/darkmac/libs/CEF/cef_binary_3.1547.1597_macosx64/Release/"}
includedirs {"/Users/darkmac/libs/CEF/cef_binary_3.1547.1597_macosx64/include/", "/Users/darkmac/libs/CEF/cef_binary_3.1547.1597_macosx64/"}
links { "cef", "cef_dll_wrapper" }
configuration "linux"
......@@ -597,3 +638,27 @@ end
if _OPTIONS.steam then
dofile("../steamworks/build/steam-code.lua")
end
if _OPTIONS.discord and not _OPTIONS['discord-nolib'] then
project "te4-discord"
configuration "linux"
kind "SharedLib"
language "C++"
targetname "discord-rpc"
buildoptions { "-std=gnu++11" }
includedirs { "../src/discord-rpc/include/", "../src/discord-rpc/rapidjson/", }
defines { "DISCORD_DYNAMIC_LIB" }
files { "../src/discord-rpc/src/discord-rpc.cpp", "../src/discord-rpc/src/rpc_connection.cpp", "../src/discord-rpc/src/serialization.cpp", }
files { "../src/discord-rpc/src/connection_unix.cpp", "../src/discord-rpc/src/discord_register_linux.cpp", }
configuration "windows"
kind "SharedLib"
-- Empty
configuration "macosx"
kind "SharedLib"
-- Empty
end
Building
========
Building the documentation requires [LDoc](https://github.com/stevedonovan/LDoc)
It has a dependency of [Penlight](https://github.com/stevedonovan/Penlight)
And optionally you can install [lua-discount](https://github.com/craigbarnes/lua-discount) for better markdown processing of comments
Both dependencies can be found with luarocks if you have that
Just point ldoc.lua at the directory this README file is contained in and it will handle the rest:
t-engine-source $ cd documentation
t-engine-source/documentation $ lua /path/to/ldoc.lua .
After building the documentation, it will output into `tengine_doc` one directory below
You can alter this path by including `-d path` when calling ldoc
\ No newline at end of file
project='T-Engine 4 v1.4.0'
title='TE4 1.4.0 Documentation'
description='Documentation for T-Engine 4 - version 1.4.0'
file={'../game/engines/default/engine', '../game/engines/default/data', 'readme_files'}
kind_names={topic='Manual'}
style='!fixed'
all=true
prettify_files=show
sort=false
package=engine
merge=true
format = 'discount'
readme={'readme_files'}
convert_opt=true
custom_tags={"inherit","Inherits"}
style='style'
template='style'
dir='../tengine_doc'
full_description=[[<a href="manual/index.md.html">View the Manual</a> | <a href="http://git.net-core.org/tome/t-engine4/">T-Engine Git Repository</a>
]]
# Colors
Implementation: @{engine.colors}
## Usage
T-Engine provides a number of predefined colors. There are two ways to refer to these:
<ul>
<li>In your Lua code. For example: <code>color.DARK_GREEN</code></li>
<li>Embedded within strings (using # signs to mark them). For example: <code>"Hello, #BLUE#world#LAST#!"</code></li>
</ul>
You can add your own colours to the list for your module by adding in a line like the following to the <code>/load.lua</code> file:
<pre>defineColor('MAUVE', 204, 153, 255)</pre>
References to "MAUVE" will then result in this colour. You can define as many colours with as many names as you like. It can sometimes to helpful to name the colours based on what they're used for rather than the colours themselves. Eg, a colour for lightning attacks could be called "LIGHTNING".
## Presets
The following colors are defined by T-Engine 4:
<!-- Useful with: http://regexr.com/
REGEX for table generation for HEX Values:
/defineColor\('(\S+)',\s*((?:0x)(\S+)),\s*((?:0x)(\S+)),\s*((?:0x)(\S+))\)/g
Substitution for HEX values:
<tr><td>$1</td><td>$2</td><td>$4</td><td>$6</td><td class="color" style="background: #$3$5$7;"></td></tr>
REGEX for table generation for RGB values:
/defineColor\('(\S+)',\s*(\d+),\s*(\d+),\s*(\d+)\)/g
Substitution for RGB values:
<tr><td>$1</td><td>$2</td><td>$3</td><td>$3</td><td class="color" style="background: rgb($2,$3,$4);"></td></tr>
-->
<table class="colortable">
<thead>
<tr><th>Name</th><th>Red</th><th>Green</th><th>Blue</th><th>Demo</th></tr>
</thead>
<tbody>
<tr><td>BLACK</td><td>0</td><td>0</td><td>0</td><td class="color" style="background: rgb(0,0,0);"></td></tr>
<tr><td>WHITE</td><td>0xFF</td><td>0xFF</td><td>0xFF</td><td class="color" style="background: #FFFFFF;"></td></tr>
<tr><td>SLATE</td><td>0x8C</td><td>0x8C</td><td>0x8C</td><td class="color" style="background: #8C8C8C;"></td></tr>
<tr><td>ORANGE</td><td>0xFF</td><td>0x77</td><td>0x00</td><td class="color" style="background: #FF7700;"></td></tr>
<tr><td>RED</td><td>0xC9</td><td>0x00</td><td>0x00</td><td class="color" style="background: #C90000;"></td></tr>
<tr><td>GREEN</td><td>0x00</td><td>0x86</td><td>0x45</td><td class="color" style="background: #008645;"></td></tr>
<tr><td>BLUE</td><td>0x00</td><td>0x00</td><td>0xE3</td><td class="color" style="background: #0000E3;"></td></tr>
<tr><td>UMBER</td><td>0x8E</td><td>0x45</td><td>0x00</td><td class="color" style="background: #8E4500;"></td></tr>
<tr><td>LIGHT_DARK</td><td>0x50</td><td>0x50</td><td>0x50</td><td class="color" style="background: #505050;"></td></tr>
<tr><td>LIGHT_SLATE</td><td>0xD1</td><td>0xD1</td><td>0xD1</td><td class="color" style="background: #D1D1D1;"></td></tr>
<tr><td>VIOLET</td><td>0xC0</td><td>0x00</td><td>0xAF</td><td class="color" style="background: #C000AF;"></td></tr>
<tr><td>YELLOW</td><td>0xFF</td><td>0xFF</td><td>0x00</td><td class="color" style="background: #FFFF00;"></td></tr>
<tr><td>LIGHT_RED</td><td>0xFF</td><td>0x00</td><td>0x68</td><td class="color" style="background: #FF0068;"></td></tr>
<tr><td>LIGHT_GREEN</td><td>0x00</td><td>0xFF</td><td>0x00</td><td class="color" style="background: #00FF00;"></td></tr>
<tr><td>LIGHT_BLUE</td><td>0x51</td><td>0xDD</td><td>0xFF</td><td class="color" style="background: #51DDFF;"></td></tr>
<tr><td>LIGHT_UMBER</td><td>0xD7</td><td>0x8E</td><td>0x45</td><td class="color" style="background: #D78E45;"></td></tr>
<tr><td>DARK_UMBER</td><td>0x57</td><td>0x5E</td><td>0x25</td><td class="color" style="background: #575E25;"></td></tr>
<tr><td>DARK_GREY</td><td>67</td><td>67</td><td>67</td><td class="color" style="background: rgb(67,67,67);"></td></tr>
<tr><td>GREY</td><td>127</td><td>127</td><td>127</td><td class="color" style="background: rgb(127,127,127);"></td></tr>
<tr><td>ROYAL_BLUE</td><td>65</td><td>105</td><td>105</td><td class="color" style="background: rgb(65,105,225);"></td></tr>
<tr><td>AQUAMARINE</td><td>127</td><td>255</td><td>255</td><td class="color" style="background: rgb(127,255,212);"></td></tr>
<tr><td>CADET_BLUE</td><td>95</td><td>158</td><td>158</td><td class="color" style="background: rgb(95,158,160);"></td></tr>
<tr><td>STEEL_BLUE</td><td>70</td><td>130</td><td>130</td><td class="color" style="background: rgb(70,130,180);"></td></tr>
<tr><td>TEAL</td><td>0</td><td>128</td><td>128</td><td class="color" style="background: rgb(0,128,128);"></td></tr>
<tr><td>LIGHT_STEEL_BLUE</td><td>176</td><td>196</td><td>196</td><td class="color" style="background: rgb(176,196,222);"></td></tr>
<tr><td>DARK_BLUE</td><td>0x00</td><td>0x00</td><td>0x93</td><td class="color" style="background: #000093;"></td></tr>
<tr><td>ROYAL_BLUE</td><td>0x00</td><td>0x6C</td><td>0xFF</td><td class="color" style="background: #006CFF;"></td></tr>
<tr><td>PINK</td><td>255</td><td>192</td><td>192</td><td class="color" style="background: rgb(255,192,203);"></td></tr>
<tr><td>GOLD</td><td>255</td><td>215</td><td>215</td><td class="color" style="background: rgb(255,215,0);"></td></tr>
<tr><td>FIREBRICK</td><td>178</td><td>34</td><td>34</td><td class="color" style="background: rgb(178,34,34);"></td></tr>
<tr><td>DARK_RED</td><td>100</td><td>0</td><td>0</td><td class="color" style="background: rgb(100,0,0);"></td></tr>
<tr><td>VERY_DARK_RED</td><td>50</td><td>0</td><td>0</td><td class="color" style="background: rgb(50,0,0);"></td></tr>
<tr><td>CRIMSON</td><td>220</td><td>20</td><td>20</td><td class="color" style="background: rgb(220,20,60);"></td></tr>
<tr><td>MOCCASIN</td><td>255</td><td>228</td><td>228</td><td class="color" style="background: rgb(255,228,181);"></td></tr>
<tr><td>KHAKI</td><td>240</td><td>230</td><td>230</td><td class="color" style="background: rgb(240,230,130);"></td></tr>
<tr><td>SANDY_BROWN</td><td>244</td><td>164</td><td>164</td><td class="color" style="background: rgb(244,164,96);"></td></tr>
<tr><td>SALMON</td><td>250</td><td>128</td><td>128</td><td class="color" style="background: rgb(250,128,114);"></td></tr>
<tr><td>DARK_ORCHID</td><td>153</td><td>50</td><td>50</td><td class="color" style="background: rgb(153,50,204);"></td></tr>
<tr><td>ORCHID</td><td>218</td><td>112</td><td>112</td><td class="color" style="background: rgb(218,112,214);"></td></tr>
<tr><td>PURPLE</td><td>128</td><td>0</td><td>0</td><td class="color" style="background: rgb(128,0,139);"></td></tr>
<tr><td>CHOCOLATE</td><td>210</td><td>105</td><td>105</td><td class="color" style="background: rgb(210,105,30);"></td></tr>
<tr><td>DARK_KHAKI</td><td>189</td><td>183</td><td>183</td><td class="color" style="background: rgb(189,183,107);"></td></tr>
<tr><td>TAN</td><td>210</td><td>180</td><td>180</td><td class="color" style="background: rgb(210,180,140);"></td></tr>
<tr><td>DARK_TAN</td><td>110</td><td>80</td><td>80</td><td class="color" style="background: rgb(110,80,40);"></td></tr>
<tr><td>HONEYDEW</td><td>240</td><td>255</td><td>255</td><td class="color" style="background: rgb(240,255,240);"></td></tr>
<tr><td>ANTIQUE_WHITE</td><td>250</td><td>235</td><td>235</td><td class="color" style="background: rgb(250,235,215);"></td></tr>
<tr><td>OLD_LACE</td><td>253</td><td>245</td><td>245</td><td class="color" style="background: rgb(253,245,230);"></td></tr>
<tr><td>DARK_SLATE_GRAY</td><td>47</td><td>79</td><td>79</td><td class="color" style="background: rgb(47,79,79);"></td></tr>
<tr><td>OLIVE_DRAB</td><td>107</td><td>142</td><td>142</td><td class="color" style="background: rgb(107,142,35);"></td></tr>
<tr><td>DARK_SEA_GREEN</td><td>143</td><td>188</td><td>188</td><td class="color" style="background: rgb(143,188,143);"></td></tr>
<tr><td>YELLOW_GREEN</td><td>154</td><td>205</td><td>205</td><td class="color" style="background: rgb(154,205,50);"></td></tr>
<tr><td>DARK_GREEN</td><td>50</td><td>77</td><td>77</td><td class="color" style="background: rgb(50,77,12);"></td></tr>
</tbody>
</table>
\ No newline at end of file
# T-Engine 4 Manual
## External Information
* <a href="http://www.lua.org/manual/5.1/index.html">Lua 5.1 manual</a>
* <a href="http://lua-users.org/wiki/LuaDirectory">Lua Users Wiki</a>
* <strong>IRC:</strong> <code>irc.rizon.net #tome</code>
## Topics
* @{colors.md|Understanding the COLOR System}
\ No newline at end of file
/* BEGIN RESET
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.8.2r1
*/
html {
color: #000;
background: #FFF;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td {
margin: 0;
padding: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
fieldset,img {
border: 0;
}
address,caption,cite,code,dfn,em,strong,th,var,optgroup {
font-style: inherit;
font-weight: inherit;
}
del,ins {
text-decoration: none;
}
li {
list-style: disc;
margin-left: 20px;
}
caption,th {
text-align: left;
}
h1,h2,h3,h4,h5,h6 {
font-size: 100%;
font-weight: bold;
}
q:before,q:after {
content: '';
}
abbr,acronym {
border: 0;
font-variant: normal;
}
sup {
vertical-align: baseline;
}
sub {
vertical-align: baseline;
}
legend {
color: #000;
}
input,button,textarea,select,optgroup,option {
font-family: inherit;
font-size: inherit;
font-style: inherit;
font-weight: inherit;
}
input,button,textarea,select {*font-size:100%;
}
/* END RESET */
/* MAIN STYLE */
body {
margin-left: 1em;
margin-right: 1em;
font-family: arial, helvetica, geneva, sans-serif;
background-color: #ffffff; margin: 0px;
}
code, tt { font-family: monospace; font-size: 1.1em; }
span.parameter { font-family:monospace; }
span.parameter:after { content:":"; }
span.types:before { content:"("; }
span.types:after { content:")"; }
.type { font-weight: bold; font-style:italic }
body, p, td, th { font-size: .95em; line-height: 1.2em;}
th { font-weight: bold; }
p, ul { margin: 10px 0 0 0px;}
strong { font-weight: bold;}
em { font-style: italic;}
h1 {
font-size: 1.5em;
margin: 0 0 20px 0;
}
h2, h3, h4 { margin: 15px 0 10px 0; }
h2 { font-size: 1.25em; }
h3 { font-size: 1.15em; }
h4 { font-size: 1.06em; }
a:link { font-weight: bold; color: #004080; text-decoration: none; }
a:visited { font-weight: bold; color: #006699; text-decoration: none; }
a:link:hover { text-decoration: underline; }
hr {
color:#cccccc;
background: #00007f;
height: 1px;
}
blockquote { margin-left: 3em; }
ul { list-style-type: disc; }
li { list-style: none; }
p.name {
font-family: "Andale Mono", monospace;
padding-top: 1em;
}
pre {
background-color: rgb(245, 245, 245);
border: 1px solid #C0C0C0; /* silver */
padding: 10px;
margin: 10px 0 10px 0;
overflow: auto;
font-family: "Andale Mono", monospace;
}
pre.example {
font-size: .85em;
}
table.index { border: 1px #00007f; }
table.index td { text-align: left; vertical-align: top; }
#container {
margin-left: 1em;
margin-right: 1em;
background-color: #ffffff;
}
#product {
text-align: center;
border-bottom: 1px solid #cccccc;
background-color: #ffffff;
}
#product big {
font-size: 2em;
}
#main {
background-color:#FFFFFF; // #f0f0f0;
border-left: 1px solid #cccccc;
}
#navigation {
position: fixed;
top: 0;
left: 0;
float: left;
width: 20em;
vertical-align: top;
background-color:#FFFFFF; // #f0f0f0;
border-right: 2px solid #cccccc;
overflow: visible;
overflow-y: scroll;
height: 100%;
padding-left: 1em;
}
#navigation h2 {
background-color:#FFFFFF;//:#e7e7e7;
font-size:1.1em;
color:#000000;
text-align: left;
padding:0.2em;
border-bottom:1px solid #dddddd;
}
#navigation ul
{
font-size:1em;
list-style-type: none;
margin: 1px 1px 10px 1px;
}
#navigation li {
text-indent: -1em;
display: block;
margin: 3px 0px 0px 22px;
}
#navigation li li a {
margin: 0px 3px 0px -1em;
}
#content {
margin-left: 20em;
padding: 1em;
padding-left: 2em;
width: 700px;
border-left: 2px solid #cccccc;
// border-right: 2px solid #cccccc;
background-color: #ffffff;
}
#about {
clear: both;
padding-left: 1em;
margin-left: 20em; // avoid the damn sidebar!
border-top: 2px solid #cccccc;
border-left: 2px solid #cccccc;
background-color: #ffffff;
}
@media print {
body {
font: 12pt "Times New Roman", "TimeNR", Times, serif;
}
a { font-weight: bold; color: #004080; text-decoration: underline; }
#main {
background-color: #ffffff;
border-left: 0px;
}
#container {
margin-left: 2%;
margin-right: 2%;
background-color: #ffffff;
}
#content {
padding: 1em;
background-color: #ffffff;
}
#navigation {
display: none;
}
pre.example {
font-family: "Andale Mono", monospace;
font-size: 10pt;
page-break-inside: avoid;
}
}
.module_list {
border-width: 1px;
border-style: solid;
border-color: #cccccc;
border-collapse: collapse;
}
.module_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #cccccc;
}
.module_list .name { background-color: #f0f0f0; ; min-width: 200px; }
.module_list .summary { width: 100%; }
.function_list {
margin-left: 1em;
font-size: 80%;
}
.function_list .name { background-color: #f6f6ff; ; min-width: 200px; margin-bottom: .2em; }
.function_list .summary { width: 100%; margin-top:.2em; margin-left: 1em;}
dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;}
dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;}
dl.table h3, dl.function h3 {font-size: .95em;}
ul.nowrap {
overflow:auto;
whitespace:nowrap;
}
/* stop sublists from having initial vertical space */
ul ul { margin-top: 0px; }
ol ul { margin-top: 0px; }
ol ol { margin-top: 0px; }
ul ol { margin-top: 0px; }
/* make the target distinct; helps when we're navigating to a function */
a:target + * {
background-color: #FF9;
}
/* styles for prettification of source */
pre .comment { color: #558817; }
pre .constant { color: #a8660d; }
pre .escape { color: #844631; }
pre .keyword { color: #aa5050; font-weight: bold; }
pre .library { color: #0e7c6b; }
pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; }
pre .string { color: #8080ff; }
pre .number { color: #f8660d; }
pre .operator { color: #2239a8; font-weight: bold; }
pre .preprocessor, pre .prepro { color: #a33243; }
pre .global { color: #800080; }
pre .user-keyword { color: #800080; }
pre .prompt { color: #558817; }
pre .url { color: #272fc2; text-decoration: underline; }
/* Extra stuff */
.colortable { margin: 1em; }
.colortable td { padding: .3em; }
.color { display:block; width: 1em; height: 1em; border: 1px solid #000; }
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=$(ldoc.doc_charset)"/>
<head>
<title>$(ldoc.title)</title>
<link rel="stylesheet" href="$(ldoc.css)" type="text/css" />
</head>
<body>
<div id="container">
<div id="main">
# local no_spaces = ldoc.no_spaces
# local use_li = ldoc.use_li
# local display_name = ldoc.display_name
# local iter = ldoc.modules.iter
# local function M(txt,item) return ldoc.markup(txt,item,ldoc.plain) end
# local nowrap = ldoc.wrap and '' or 'nowrap'
<!-- Menu -->
<div id="navigation">
<br/>
<h1>
# if not ldoc.single and module then -- reference back to project index
<a title="Index" href="../$(ldoc.output).html">
#end
$(ldoc.project)
# if not ldoc.single and module then
</a>
# end
</h1>
# --------- contents of module -------------
# if module and not ldoc.no_summary and #module.items > 0 then
<h2>Contents</h2>
<ul>
# for kind,items in module.kinds() do
<li><a href="#$(no_spaces(kind))">$(kind)</a></li>
# end
</ul>
# end
# if ldoc.no_summary and module and not ldoc.one then -- bang out the functions on the side
# for kind, items in module.kinds() do
<h2>$(kind)</h2>
<ul class="nowrap">
# for item in items() do
<li><a href="#$(item.name)">$(display_name(item))</a></li>
# end
</ul>
# end
# end
# -------- contents of project ----------
# local this_mod = module and module.name
# for kind, mods, type in ldoc.kinds() do
# if ldoc.allowed_in_contents(type,module) then
<h2>$(kind)</h2>
<ul class="$(kind=='Topics' and '' or 'nowrap')">
# for mod in mods() do local name = display_name(mod)
# if mod.name == this_mod then
<li><strong>$(name)</strong></li>
# else
<li><a href="$(ldoc.ref_to_module(mod))">$(name)</a></li>
# end
# end
# end
</ul>
# end
</div>
<div id="content">
# if ldoc.body then -- verbatim HTML as contents; 'non-code' entries'
# if (module.name ~= "index.md") then
<a title="Index" href="../manual/index.md.html">Return to Manual Index</a>
<hr>
# end
$(ldoc.body)
# elseif module then -- module documentation
<h1>$(ldoc.module_typename(module)) <code>$(module.name)</code></h1>
<p>$(M(module.summary,module))</p>
<p>$(M(module.description,module))</p>
# if module.tags.include then
$(M(ldoc.include_file(module.tags.include)))
# end
# if module.usage then
# local li,il = use_li(module.usage)
<h3>Usage:</h3>
<ul>
# for usage in iter(module.usage) do
$(li)<pre class="example">$(ldoc.escape(usage))</pre>$(il)
# end -- for
</ul>
# end -- if usage
# if module.info then
<h3>Info:</h3>
<ul>
# for tag, value in module.info:iter() do
<li><strong>$(tag)</strong>: $(M(value,module))</li>
# end
</ul>
# end -- if module.info
# if not ldoc.no_summary then
# -- bang out the tables of item types for this module (e.g Functions, Tables, etc)
# for kind,items in module.kinds() do
<h2><a href="#$(no_spaces(kind))">$(kind)</a></h2>
<div class="function_list">
# for item in items() do
<h3 class="name" $(nowrap)><a href="#$(item.name)">$(display_name(item))</a></h3>
<p class="summary">$(M(item.summary,item))</p>
# end -- for items
</div>
# end -- for kinds
<br/>
<br/>
#end -- if not no_summary
# --- currently works for both Functions and Tables. The params field either contains
# --- function parameters or table fields.
# local show_return = not ldoc.no_return_or_parms
# local show_parms = show_return
# for kind, items in module.kinds() do
# local kitem = module.kinds:get_item(kind)
# local has_description = kitem and ldoc.descript(kitem) ~= ""
<h2 class="section-header $(has_description and 'has-description')"><a name="$(no_spaces(kind))"></a>$(kind)</h2>
$(M(module.kinds:get_section_description(kind),nil))
# if kitem then
# if has_description then
<div class="section-description">
$(M(ldoc.descript(kitem),kitem))
</div>
# end
# if kitem.usage then
<h3>Usage:</h3>
<pre class="example">$(ldoc.prettify(kitem.usage[1]))</pre>
# end
# end
<dl class="function">
# for item in items() do
<dt>
<a name = "$(item.name)"></a>
<strong>$(display_name(item))
# if item.tags.static then
<small>STATIC</small>
# end
</strong>
# if ldoc.prettify_files then
<a style="float:right;" href="$(ldoc.source_ref(item))">line $(item.lineno)</a>
# end
</dt>
<dd>
$(M(ldoc.descript(item),item))
# if ldoc.custom_tags then
# for custom in iter(ldoc.custom_tags) do
# local tag = item.tags[custom[1]]
# if tag and not custom.hidden then
# local li,il = use_li(tag)
<h3>$(custom.title or custom[1]):</h3>
<ul>
# for value in iter(tag) do
$(li)$(custom.format and custom.format(value) or M(value))$(il)
# end -- for
# end -- if tag
</ul>
# end -- iter tags
# end
# if show_parms and item.params and #item.params > 0 then
# local subnames = module.kinds:type_of(item).subnames
# if subnames then
<h3>$(subnames):</h3>
# end
<ul>
# for parm in iter(item.params) do
# local param,sublist = item:subparam(parm)
# if sublist then
<li><span class="parameter">$(sublist)</span>$(M(item.params.map[sublist],item))
<ul>
# end
# for p in iter(param) do
# local name,tp,def = item:display_name_of(p), ldoc.typename(item:type_of_param(p)), item:default_of_param(p)
<li><span class="parameter">$(name)</span>
# if tp ~= '' then
<span class="types">$(tp)</span>
# end
$(M(item.params.map[p],item))
# if def == true then
(<em>optional</em>)
# elseif def then
(<em>default</em> $(def))
# end
# if item:readonly(p) then
<em>readonly</em>
# end
</li>
# end
# if sublist then
</li></ul>
# end
# end -- for
</ul>
# end -- if params
# if show_return and item.retgroups then local groups = item.retgroups
<h3>Returns:</h3>
# for i,group in ldoc.ipairs(groups) do local li,il = use_li(group)
<ol>
# for r in group:iter() do local type, ctypes = item:return_type(r); local rt = ldoc.typename(type)
$(li)
# if rt ~= '' then
<span class="types">$(rt)</span>
# end
$(M(r.text,item))$(il)
# if ctypes then
<ul>
# for c in ctypes:iter() do
<li><span class="parameter">$(c.name)</span>
<span class="types">$(ldoc.typename(c.type))</span>
$(M(c.comment,item))</li>
# end
</ul>
# end -- if ctypes
# end -- for r
</ol>
# if i < #groups then
<h3>Or</h3>
# end
# end -- for group
# end -- if returns
# if show_return and item.raise then
<h3>Raises:</h3>
$(M(item.raise,item))
# end
# if item.see then
# local li,il = use_li(item.see)
<h3>See also:</h3>
<ul>
# for see in iter(item.see) do
$(li)<a href="$(ldoc.href(see))">$(see.label)</a>$(il)
# end -- for
</ul>
# end -- if see
# if item.usage then
# local li,il = use_li(item.usage)
<h3>Usage:</h3>
<ul>
# for usage in iter(item.usage) do
$(li)<pre class="example">$(ldoc.prettify(usage))</pre>$(il)
# end -- for
</ul>
# end -- if usage
</dd>
# end -- for items
</dl>
# end -- for kinds
# else -- if module; project-level contents
# if ldoc.description then
<h2>$(M(ldoc.description,nil))</h2>
# end
# if ldoc.full_description then
<p>$(M(ldoc.full_description,nil))</p>
# end
# for kind, mods in ldoc.kinds() do
<h2>$(kind)</h2>
# kind = kind:lower()
<table class="module_list">
# for m in mods() do
<tr>
<td class="name" $(nowrap)><a href="$(no_spaces(kind))/$(m.name).html">$(m.name)</a></td>
<td class="summary">$(M(ldoc.strip_header(m.summary),m))</td>
</tr>
# end -- for modules
</table>
# end -- for kinds
# end -- if module
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.3</a></i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>
\ No newline at end of file
File added
File added
File added
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the
copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other
entities that control, are controlled by, or are under common control
with that entity. For the purposes of this definition, "control" means
(i) the power, direct or indirect, to cause the direction or
management of such entity, whether by contract or otherwise, or (ii)
ownership of fifty percent (50%) or more of the outstanding shares, or
(iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but not
limited to compiled object code, generated documentation, and
conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object
form, made available under the License, as indicated by a copyright
notice that is included in or attached to the work (an example is
provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the
purposes of this License, Derivative Works shall not include works
that remain separable from, or merely link (or bind by name) to the
interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the
original version of the Work and any modifications or additions to
that Work or Derivative Works thereof, that is intentionally submitted
to Licensor for inclusion in the Work by the copyright owner or by an
individual or Legal Entity authorized to submit on behalf of the
copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent to
the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf
of, the Licensor for the purpose of discussing and improving the Work,
but excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of, publicly
display, publicly perform, sublicense, and distribute the Work and
such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except
as stated in this section) patent license to make, have made, use,
offer to sell, sell, import, and otherwise transfer the Work, where
such license applies only to those patent claims licensable by such
Contributor that are necessarily infringed by their Contribution(s)
alone or by combination of their Contribution(s) with the Work to
which such Contribution(s) was submitted. If You institute patent
litigation against any entity (including a cross-claim or counterclaim
in a lawsuit) alleging that the Work or a Contribution incorporated
within the Work constitutes direct or contributory patent
infringement, then any patent licenses granted to You under this
License for that Work shall terminate as of the date such litigation
is filed.
4. Redistribution. You may reproduce and distribute copies of the Work
or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You meet
the following conditions:
You must give any other recipients of the Work or Derivative Works a
copy of this License; and
You must cause any modified files to carry prominent notices stating
that You changed the files; and
You must retain, in the Source form of any Derivative Works that You
distribute, all copyright, patent, trademark, and attribution notices
from the Source form of the Work, excluding those notices that do not
pertain to any part of the Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution,
then any Derivative Works that You distribute must include a readable
copy of the attribution notices contained within such NOTICE file,
excluding those notices that do not pertain to any part of the
Derivative Works, in at least one of the following places: within a
NOTICE text file distributed as part of the Derivative Works; within
the Source form or documentation, if provided along with the
Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The
contents of the NOTICE file are for informational purposes only and do
not modify the License. You may add Your own attribution notices
within Derivative Works that You distribute, alongside or as an
addendum to the NOTICE text from the Work, provided that such
additional attribution notices cannot be construed as modifying the
License.
You may add Your own copyright statement to Your modifications and may
provide additional or different license terms and conditions for use,
reproduction, or distribution of Your modifications, or for any such
Derivative Works as a whole, provided Your use, reproduction, and
distribution of the Work otherwise complies with the conditions stated
in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work by
You to the Licensor shall be under the terms and conditions of this
License, without any additional terms or conditions. Notwithstanding
the above, nothing herein shall supersede or modify the terms of any
separate license agreement you may have executed with Licensor
regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed
to in writing, Licensor provides the Work (and each Contributor
provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied, including, without
limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your
exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise, unless
required by applicable law (such as deliberate and grossly negligent
acts) or agreed to in writing, shall any Contributor be liable to You
for damages, including any direct, indirect, special, incidental, or
consequential damages of any character arising as a result of this
License or out of the use or inability to use the Work (including but
not limited to damages for loss of goodwill, work stoppage, computer
failure or malfunction, or any and all other commercial damages or
losses), even if such Contributor has been advised of the possibility
of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer, and
charge a fee for, acceptance of support, warranty, indemnity, or other
liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only on
Your own behalf and on Your sole responsibility, not on behalf of any
other Contributor, and only if You agree to indemnify, defend, and
hold each Contributor harmless for any liability incurred by, or
claims asserted against, such Contributor by reason of your accepting
any such warranty or additional liability.
M+ FONTS Copyright (C) 2002-2014 M+ FONTS PROJECT
-
LICENSE_E
These fonts are free software.
Unlimited permission is granted to use, copy, and distribute them, with
or without modification, either commercially or noncommercially.
THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY.
http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/
M+ FONTS Copyright (C) 2002-2014 M+ FONTS PROJECT
-
LICENSE_J
これらのフォントはフリー(自由な)ソフトウエアです。
あらゆる改変の有無に関わらず、また商業的な利用であっても、自由にご利用、
複製、再配布することができますが、全て無保証とさせていただきます。
http://mplus-fonts.sourceforge.jp/