Move docs to luacs-docs/{lua,cs,landing-page}

luacs-docs/cs also has a proper http server for testing locally
This commit is contained in:
peelz
2022-08-03 21:34:42 -04:00
parent 53ea2b8973
commit 1bb7843811
136 changed files with 2208 additions and 2113 deletions
+4
View File
@@ -0,0 +1,4 @@
html
*/html
*/*.tag
build
File diff suppressed because it is too large Load Diff
+8
View File
@@ -0,0 +1,8 @@
<doxygenlayout version="1.0">
<navindex>
<tab type="user" url="./index.html" title="Documentation introduction"/>
<tab type="user" url="../baro-server/html/index.html" title="Server class documentation"/>
<tab type="user" url="../baro-client/html/index.html" title="Client class documentation"/>
<tab type="mainpage" visible="yes" title=""/>
</navindex>
</doxygenlayout>
File diff suppressed because it is too large Load Diff
+243
View File
@@ -0,0 +1,243 @@
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.9.4 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="user" url="../../html/index.html" title="Documentation introduction"/>
<tab type="user" url="../../baro-server/html/index.html" title="Server class documentation"/>
<tab type="user" url="./index.html" title="Client class documentation"/>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="concepts" visible="yes" title="">
</tab>
<tab type="interfaces" visible="yes" title="">
<tab type="interfacelist" visible="yes" title="" intro=""/>
<tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="interfacehierarchy" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="structs" visible="yes" title="">
<tab type="structlist" visible="yes" title="" intro=""/>
<tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
</tab>
<tab type="exceptions" visible="yes" title="">
<tab type="exceptionlist" visible="yes" title="" intro=""/>
<tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_HEADERFILE"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<services title=""/>
<interfaces title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
<protectedtypes title=""/>
<protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
<packageattributes title=""/>
<packagestaticattributes title=""/>
<properties title=""/>
<events title=""/>
<privatetypes title=""/>
<privateslots title=""/>
<privatemethods title=""/>
<privatestaticmethods title=""/>
<privateattributes title=""/>
<privatestaticattributes title=""/>
<friends title=""/>
<related title="" subtitle=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<services title=""/>
<interfaces title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
</memberdef>
<allmemberslink visible="yes"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<concepts visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a concept page -->
<concept>
<briefdescription visible="yes"/>
<includes visible="$SHOW_HEADERFILE"/>
<definition visible="yes" title=""/>
<detaileddescription title=""/>
<authorsection visible="yes"/>
</concept>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
<sourcelink visible="yes"/>
<memberdecl>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<concepts visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection/>
</file>
<!-- Layout definition for a group page -->
<group>
<briefdescription visible="yes"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
<nestedgroups visible="yes" title=""/>
<dirs visible="yes" title=""/>
<files visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<concepts visible="yes" title=""/>
<classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
</memberdef>
<authorsection visible="yes"/>
</group>
<!-- Layout definition for a directory page -->
<directory>
<briefdescription visible="yes"/>
<directorygraph visible="yes"/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
</directory>
</doxygenlayout>
File diff suppressed because it is too large Load Diff
+243
View File
@@ -0,0 +1,243 @@
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.9.4 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="user" url="../../html/index.html" title="Documentation introduction"/>
<tab type="user" url="./index.html" title="Server class documentation"/>
<tab type="user" url="../../baro-client/html/index.html" title="Client class documentation"/>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="concepts" visible="yes" title="">
</tab>
<tab type="interfaces" visible="yes" title="">
<tab type="interfacelist" visible="yes" title="" intro=""/>
<tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="interfacehierarchy" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="structs" visible="yes" title="">
<tab type="structlist" visible="yes" title="" intro=""/>
<tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
</tab>
<tab type="exceptions" visible="yes" title="">
<tab type="exceptionlist" visible="yes" title="" intro=""/>
<tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_HEADERFILE"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<services title=""/>
<interfaces title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
<protectedtypes title=""/>
<protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
<packageattributes title=""/>
<packagestaticattributes title=""/>
<properties title=""/>
<events title=""/>
<privatetypes title=""/>
<privateslots title=""/>
<privatemethods title=""/>
<privatestaticmethods title=""/>
<privateattributes title=""/>
<privatestaticattributes title=""/>
<friends title=""/>
<related title="" subtitle=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<services title=""/>
<interfaces title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
</memberdef>
<allmemberslink visible="yes"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<concepts visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a concept page -->
<concept>
<briefdescription visible="yes"/>
<includes visible="$SHOW_HEADERFILE"/>
<definition visible="yes" title=""/>
<detaileddescription title=""/>
<authorsection visible="yes"/>
</concept>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
<sourcelink visible="yes"/>
<memberdecl>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<concepts visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection/>
</file>
<!-- Layout definition for a group page -->
<group>
<briefdescription visible="yes"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
<nestedgroups visible="yes" title=""/>
<dirs visible="yes" title=""/>
<files visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<concepts visible="yes" title=""/>
<classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
</memberdef>
<authorsection visible="yes"/>
</group>
<!-- Layout definition for a directory page -->
<directory>
<briefdescription visible="yes"/>
<directorygraph visible="yes"/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
</directory>
</doxygenlayout>
+512
View File
@@ -0,0 +1,512 @@
@namespace url(http://www.w3.org/1999/xhtml);
/* i really want this to be global */
/* @-moz-document url-prefix("file:///") { */
code {
font-family: monospace, fixed !important;
background-color: #3f3f3f;
color: #999;
border-radius: 5px;
padding-left: 3px;
padding-right: 3px;
}
div.fragment {
border-radius: 5px;
padding-left: 3px;
padding-right: 3px;
}
body {
background-color: #333333;
/** for docs **/
color: #a1a1a1;
}
#page-content {
background-color: #333333;
color: #bcbcbc;
}
pre, pre.fragment {
background-color: #282828;
}
.icon {
color: #333;
background-color: #2f436b;
/* from orig #728DC1; */;
}
.arrow {
color: #324872;
/* from orig #9CAFD4; */;
}
/* to make keyword visible for above 'pre' */
.highlight .nf {
color: #00adee;
}
img {
background-color: #333333;
}
/** Note/Message boxes **/
div.admonition, div.warning {
background-color: #474747;
}
div.admonition p.admonition-title, div.warning p.admonition-title {
background-color: #707070;
}
/**** News ***/
#content-outer {
background-color: #333333;
}
.postmeta {
background-color: #474747;
border-color: #595959;
}
/**** Blog ****/
div.blogpost {
background-color: #333;
}
div.blogpost-header {
background-color: #333;
}
div.blogbody {
background-color: #474747;
}
/**** Jobs ****/
.dataTable tbody .even {
background-color: #474747;
}
.dataTable thead th {
background-color: #6b6b6b;
}
/* Job Post Overlay */
#fancybox-outer {
color: #bcbcbc;
background-color: #282828;
}
/***** Search box *****/
#MSearchBox {
background-color: #333333;
}
#MSearchBox .left {
filter: invert(80%);
}
#MSearchSelect {
background-color: transparent;
}
.MSearchBoxActive #MSearchField {
color: #333333;
/* this is inverted */
}
#MSearchBox .right {
filter: invert(80%);
}
#MSearchCloseImg {
background-color: transparent;
}
/** Magnifying glass dropdown list **/
#MSearchSelectWindow {
background-color: #333333;
border-color: #404040;
}
a.SelectItem, a.SelectItem:focus, a.SelectItem:active {
color: #999;
}
a.SelectItem:hover {
color: #bcbcbc;
}
/** Query Results dropdown list **/
#MSearchResultsWindow {
/* left: !important; / * from orig 992px; * / dynamically generated value */
border-color: #404040;
}
/* iframe#MSearchResults {
width: !important; / * from orig 60ex; * /
height: !important; / * from orig 15em; * /
} */
/* #MSearchCloseImg {
} */
.SRPage .SREntry {
font-size: 80%;
}
.SRResult:hover {
background-color: #404040;
}
.SRSymbol:hover {
color: #4a69a9;
/* from orig #425E97; */;
}
/***** For Docs *****/
div.header {
background-color: #333333;
border-bottom-color: #001;
background-image: none;
}
div.directory {
border-top-color: #404040;
border-bottom-color: #404040;
}
td.memItemLeft,
td.memItemRight,
.mdescLeft,
.mdescRight,
.memdoc,
.memTemplParams,
.memTemplItemLeft,
.memTemplItemRight {
background-color: #282828;
}
.memSeparator {
border-bottom-color: #333333;
}
.memtitle {
background-color: #333333;
background-image: none;
border-top-color: #404040;
border-left-color: #404040;
border-right-color: #404040;
}
.memproto, dl.reflist dt {
/* 2nd for ToDo List */
color: #949b8c;
/* #878f7e; */
background-color: #333333;
text-shadow: unset;
background-image: none;
border-top-color: #404040;
border-left-color: #404040;
border-right-color: #404040;
}
.memname {
background-color: #333333;
}
a {
color: #adb8a1;
}
a.el, a.el:visited {
color: #6f8b4c;
/* #6d7c5d; */;
}
.memdoc {
background-image: none;
}
.memdoc, dl.reflist dd {
/* 2nd for ToDo List */
background-color: #282828;
border-bottom-color: #404040;
border-left-color: #404040;
border-right-color: #404040;
}
.paramname {
color: #8f6262;
}
img.formulaInl {
filter: invert(84%);
background-color: #fff;
}
/* Template box headers */
.memtemplate {
color: #607fbb;
/* from orignial #4665A2; */;
}
/* Labels - protected, static, virtual */
span.mlabel {
background-color: #282828;
border-color: #333;
color: #aaa;
/* font-size: 80%; */;
}
/* Header */
h2.groupheader {
color: #4c6db0;
/* from orig. #354C7B; */
border-bottom-color: #333333;
}
.inherit_header img {
background-color: #333333;
}
/* To make comments visible */
span.comment {
color: #7b7b7b;
}
/* Even rows of lists */
.directory tr.even {
background-color: #303030;
}
/* Tables */
table.fieldtable {
border-color: #404040;
}
.fieldtable th {
color: #aaa;
background-color: #333333;
border-bottom-color: #404040;
background-image: none;
}
.fieldtable td.fieldtype, .fieldtable td.fieldname {
border-right-color: #404040;
border-bottom-color: #404040;
}
.fieldtable td.fielddoc {
border-bottom-color: #404040;
}
div.center > img {
background-color: #cccccc;
filter: invert(100%);
}
/**** Source Code View ****/
div.fragment {
background-color: #282828;
border-color: #333333;
}
.navpath li.navelem a {
color: #d1d1d1;
text-shadow: none;
}
.navpath li.navelem a:hover {
color: #f1f1f1;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
}
span.lineno {
background-color: #333333;
border-right-color: #333333;
color: #666;
}
span.line {
background-color: #3f3f3f;
}
span.lineno a {
background-color: #333333;
}
span.lineno a:hover {
background-color: #444444;
}
a.code, a.code:visited, a.line, a.line:visited {
color: #4fa2b3;
}
span.keyword {
color: #00b300;
}
span.keywordtype {
color: #ac7339;
}
span.stringliteral {
color: #0140ff;
}
#powerTip {
background-color: #282828;
}
#powerTip div {
background-color: #282828;
}
/**** Navigation ****/
#nav-tree {
background-color: #282828;
background-image: none;
}
#nav-tree img {
background-color: #282828;
}
#nav-tree .selected a {
color: #bcbcbc;
}
/** Split bar **/
.ui-resizable-e {
filter: invert(70%);
opacity: 0.2;
}
/**** Top Tab ****/
/*** Type 1 e.g. https://dartsim.github.io/api/ ***/
.tabs, .tabs2, .tabs3 {
background-image: none;
}
.tablist li {
background-image: none;
}
.tablist li.current a {
color: #aaa;
background-image: none;
background-color: #444;
}
.tablist a {
color: #bcbcbc;
text-shadow: none;
background-image: none;
}
.tablist a:hover {
color: #bcbcbc;
background-color: #444444;
background-image: none;
}
/*** Type 2 e.g. https://clang.llvm.org/doxygen/ ***/
.sm-dox {
background-image: none;
}
.sm-dox a, .sm-dox a.highlighted {
color: #bcbcbc;
text-shadow: none;
background-image: none;
}
.sm-dox a:focus, .sm-dox a:active, .sm-dox a:hover {
color: #bcbcbc;
background-color: #444444;
background-image: none;
}
/** Pop-Pane **/
.sm-dox ul {
background-color: #333333;
border-color: #666;
}
.sm-dox ul a, .sm-dox ul a:focus, .sm-dox ul a:hover, .sm-dox ul a:active {
background-color: #333333;
}
.sm-dox span.scroll-up, .sm-dox span.scroll-down {
background-color: #333333;
}
.sm-dox span.scroll-up:hover, .sm-dox span.scroll-down:hover {
background-color: #444444;
}
.sm-dox a span.sub-arrow {
border-top-color: #bcbcbc;
}
.sm-dox a:hover span.sub-arrow {
border-top-color: #cccccc;
}
.sm-dox ul a, .sm-dox ul a:hover, .sm-dox ul a:focus, .sm-dox ul a:active, .sm-dox ul a.highlighted {
color: #bcbcbc;
}
.sm-dox > li > ul::before, .sm-dox > li > ul::after {
border-bottom-color: #333333;
}
/* Top menu-item highlighted only, for contrast with arrow */
.sm-dox a.highlighted {
background-color: #444444;
}
.sm-dox ul a.highlighted {
background-color: #333333;
}
/**** Bottom Tab ****/
.navpath ul {
background-image: none;
border-color: #666;
}
img.footer {
background-color: #333333;
opacity: 0.1;
}
/**** Navigation Tab ****/ /* e.g. nlohmann.github.io/json */
div.navtab {
background-color: #333333;
}
/**** Classes ****/
/*** Class List, Member List ***/
td.indexkey, td.indexvalue, tr.memlist {
background-color: #333333;
}
/* } */
+131
View File
@@ -0,0 +1,131 @@
# Barotrauma C# modding guide
## Introduction
C# modding for Barotrauma is a subset of modding for **[Lua For Barotrauma](https://github.com/evilfactory/Barotrauma-lua-attempt)** mod,
that requires a mod package with the name `CsForBarotrauma` to be turned on (e.g. [steam workshop](https://steamcommunity.com/sharedfiles/filedetails/?id=2795927223))
This modding requires strict source structure, but comes with the benefits of being handled natively by game engine, witch removes many hurdles with type casting or similar issues.
## Starting a new mod
The main star of the show is Barotrauma::ACsMod class. It is what **all** your mods will use to hook game methods, and execute custom code.
### Important features
- All utility classes can be accessed either by their type (i.e that have name that starts with `LuaCs...`) or through `GameMain.LuaCs` property (refer to [class documentation](#ltcd)).
- All C# code files must be located in `<mod_root>/CSharp/*` otherwise they won't be compiled
- To configure **server / client** execution behaviour create `RunConfig.xml` in `CSharp` directory, like is shown below (run types are `Standard`, `Forced` and `None`)
- Additionally you can specify what code runs where by either ***filepath*** or ***pre-processor statements***
- In case of filepath, your files must be located in either `CSharp/Shared/*`, `CSharp/Server/*` or `CSharp/Client/*`, for *shared* code, *server-side* code or *client-side* code respectively (in any other case, the code is assumed to be shared)
- I case of pre-processor, you can use `SERVER` or `CLIENT` definitions to separate code into *server-side* code and *client-side* code respectively
- Some classes *(e.g. almost all System.IO)* is prohibited to thwart malicious mods, although current white-listing prohibits reflection, so no mod can be considered inherently safe
- In above case one must use `LuaCs...` classes to get access to system resources or similar things, if any
- If you want for your mod to inherently be turned on *client-side* when it is enabled, you must create a dummy `.xml` file.
### Code example
A generic C# mod boilerplate:
File-tree:
```
<mod_root>/
├─ CSharp/
│ ├─ RunConfig.xml
│ ├─ Shared/ExampleMod.cs
│ ├─ Server/ExampleMod.cs
│ └─ Client/ExampleMod.cs
└─ dummyitem.xml
```
____
`<mod_root>/CSharp/RunConfig.xml`
```xml
<?xml version="1.0" encoding="utf-8"?>
<RunConfig>
<Server>Standard</Server>
<Client>Forced</Client>
</RunConfig>
```
____
`<mod_root>/CSharp/Shared/ExampleMod.cs`
```csharp
using System;
using Barotrauma;
namespace ExampleNamespace {
partial class ExampleMod: ACsMod {
public ExampleMod() {
// shared code
...
#if SERVER
InitServer();
#elif CLIENT
InitClient();
#endif
}
public override void Stop() {
// stopping code, e.g. save custom data
#if SERVER
// server-side code
...
#elif CLIENT
// client-side code
...
#endif
}
}
}
```
____
`<mod_root>/CSharp/Server/ExampleMod.cs`
```csharp
using System;
using Barotrauma;
namespace ExampleNamespace {
partial class ExampleMod {
public void InitServer() {
// server-side initialization
...
}
}
}
```
____
`<mod_root>/CSharp/Client/ExampleMod.cs`
```csharp
using System;
using Barotrauma;
namespace ExampleNamespace {
partial class ExampleMod {
public void InitClient() {
// client-side initialization
...
}
}
}
```
____
`<mod_root>/dummyitem.xml`
```xml
<Items></Items>
```
## Links to class documentation {#ltcd}
- [Server documentation](../baro-server/html/index.html)
- [Client documentation](../baro-client/html/index.html)
+36
View File
@@ -0,0 +1,36 @@
Import-Module $PSScriptRoot/../../scripts/location.ps1
try {
Change-Location $PSScriptRoot/..
if ((Get-Command "doxgen" -ErrorAction SilentlyContinue) -eq $null) {
echo "doxygen not found"
exit 1
}
Remove-Item -Force -Recurse ./build | Out-Null
New-Item -ItemType Directory ./build | Out-Null
New-Item -ItemType Directory ./build/baro-server | Out-Null
New-Item -ItemType Directory ./build/baro-client | Out-Null
echo "Building server docs"
try {
Change-Location ./baro-server
doxygen ./Doxyfile
} finally {
Restore-Location
}
echo "Building client docs"
try {
Change-Location ./baro-client
doxygen ./Doxyfile
} finally {
Restore-Location
}
echo "Building shared docs"
doxygen ./Doxyfile
} finally {
Restore-Location
}
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
cd "$DIR/.."
if ! command -v "doxygen" &> /dev/null; then
echo "doxygen not found"
exit 1
fi
rm -rf ./build
mkdir -p ./build
mkdir -p ./build/baro-server
mkdir -p ./build/baro-client
echo "Building server docs"
(
cd ./baro-server
doxygen ./Doxyfile
)
echo "Building client docs"
(
cd ./baro-client
doxygen ./Doxyfile
)
echo "Building shared docs"
doxygen ./Doxyfile
+18
View File
@@ -0,0 +1,18 @@
Import-Module $PSScriptRoot/../../scripts/location.ps1
try {
Change-Location $PSScriptRoot/..
if ((Get-Command "python3" -ErrorAction SilentlyContinue) -eq $null) {
echo "python3 not found"
exit 1
}
python3 ../scripts/http_server.py ./build `
--port 8001 `
--route /:html `
--route /baro-client:baro-client `
--route /baro-server:baro-server
} finally {
Restore-Location
}
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
cd "$DIR/.."
if ! command -v "python3" &> /dev/null; then
echo "python3 not found"
exit 1
fi
python3 ../scripts/http_server.py ./build \
--port 8001 \
--route /:html \
--route /baro-client:baro-client \
--route /baro-server:baro-server
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<add>
<doc>
<field name="type">page</field>
<field name="name">index</field>
<field name="tag">MAIN</field>
<field name="url">index.html</field>
<field name="keywords"></field>
<field name="text">Barotrauma C modding guide C modding for Barotrauma is a subset of modding for Lua For Barotrauma mod that requires a mod package with the name CsForBarotrauma to be turned on e.g steam workshop This modding requires strict source structure but comes with the benefits of being handled natively by game engine witch removes many hurdles with type casting or similar issues The main star of the show is Barotrauma::ACsMod class It is what all your mods will use to hook game methods and execute custom code All utility classes can be accessed either by their type i.e that have name that starts with LuaCs or through GameMain.LuaCs property refer to class documentation All C code files must be located in mod_root otherwise they won t be compiled Additionally you can specify what code runs where by either filepath or pre-processor statements In case of filepath your files must be located in either CSharp/Shared/* CSharp/Server/* or CSharp/Client/* for shared code server-side code or client-side code respectively in any other case the code is assumed to be shared I case of pre-processor you can use SERVER or CLIENT definitions to separate code into server-side code and client-side code respectively Some classes e.g almost all System.IO is prohibited to thwart malicious mods although current white-listing prohibits reflection so no mod can be considered inherently safe In above case one must use LuaCs classes to get access to system resources or similar things if any If you want for your mod to inherently be turned on client-side when it is enabled you must create a dummy xml file A generic C mod boilerplate File-tree mod_root cs mod_root cs mod_root cs mod_root xml Server documentation Client documentation</field>
</doc>
</add>