mirror of
https://github.com/celisej567/wiki.git
synced 2025-12-31 01:49:32 +03:00
467 lines
16 KiB
HTML
467 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<title>SourceBox Wiki</title>
|
|
<script>
|
|
documentlist = ['/wiki/index.html', '/wiki/QScript/Introduction.html', '/wiki/QScript/Private_Members.html', '/wiki/QScript/Contributing/Contributing.html', '/wiki/QScript/Contributing/API/qscript.html', '/wiki/QScript/Contributing/API/Structs/QCFunc.html', '/wiki/QScript/Contributing/API/Structs/QModuleDefFunc.html', '/wiki/QScript/Contributing/API/Structs/QReturn.html', '/wiki/QScript/Contributing/API/Structs/QScriptArgs.html', '/wiki/QScript/Contributing/API/Structs/QScriptCallback.html', '/wiki/QScript/Contributing/API/Structs/QScriptClass.html', '/wiki/QScript/Contributing/API/Structs/QScriptClassCreator.html', '/wiki/QScript/Contributing/API/Structs/QScriptFunction.html', '/wiki/QScript/Contributing/API/Structs/QScriptObject.html', '/wiki/QScript/Contributing/API/Structs/QType.html', '/wiki/QScript/Contributing/API/Structs/QValue.html', '/wiki/QScript/Lua/Classes.html', '/wiki/QScript/Lua/Exports.html', '/wiki/QScript/Lua/Imports.html', '/wiki/QScript/Lua/Intro.html', '/wiki/QScript/Lua/Objects.html', '/wiki/QScript/Squirrel/Exports_And_Imports.html', '/wiki/QScript/Squirrel/Intro.html', '/wiki/QScript/Tutorial/Chapter1.html', '/wiki/QScript/Tutorial/Chapter2.html'];
|
|
namelist = ['Wiki Intro', 'QScript Intro', 'Private Members', 'Contributing', 'QScript API', 'QCFunc', 'QModuleDefFunc', 'QReturn', 'QScriptArgs', 'QScriptCallback', 'QScriptClass', 'QScriptClassCreator', 'QScriptFunction', 'QScriptObject', 'QType', 'QValue', 'Lua Classes', 'Lua Exports', 'Lua Imports', 'Lua Intro', 'Lua Objects', 'Squirrel Exports and Imports', 'Squirrel Intro', 'QScript Tutorial Page 1: Mods', 'QScript Tutorial Page 2: Getting to work'];
|
|
|
|
function toggleTree(element)
|
|
{
|
|
nested = element.parentNode.childNodes[3];
|
|
if(nested.className.indexOf("active",0) != -1)
|
|
{
|
|
nested.className = "sidebar nested";
|
|
element.parentNode.childNodes[0].innerHTML = "+";
|
|
}
|
|
else
|
|
{
|
|
nested.className = "sidebar nested active";
|
|
element.parentNode.childNodes[0].innerHTML = "-";
|
|
}
|
|
if(element.className.indexOf("active",0) != -1)
|
|
{
|
|
element.className = "spanactive"
|
|
}
|
|
else
|
|
{
|
|
element.className = "spanactive active"
|
|
}
|
|
}
|
|
|
|
function Press(element)
|
|
{
|
|
if(element.className.indexOf("active",0) != -1)
|
|
{
|
|
element.className = "spanactive active"
|
|
}
|
|
else
|
|
{
|
|
element.className = "spanactive"
|
|
}
|
|
}
|
|
|
|
function unPress(element)
|
|
{
|
|
if(element.className.indexOf("active",0) != -1)
|
|
{
|
|
element.className = "active"
|
|
}
|
|
else
|
|
{
|
|
element.className = ""
|
|
}
|
|
}
|
|
|
|
function updateSearch()
|
|
{
|
|
searchtext = document.getElementById("searchbox").value.toLowerCase();
|
|
var res = [];
|
|
var searchresults = document.getElementById("searchresults")
|
|
searchresults.innerHTML = ""
|
|
if(searchtext === "")
|
|
{
|
|
document.getElementById("filetree").style.display = "block"
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
document.getElementById("filetree").style.display = "none"
|
|
}
|
|
for (var i = 0; i < namelist.length; i++)
|
|
{
|
|
if(namelist[i].toLowerCase().indexOf(searchtext) == -1) continue;
|
|
var searchelement = document.createElement("li");
|
|
searchelement.className = "sidebar"
|
|
var link = document.createElement("a");
|
|
searchelement.appendChild(link);
|
|
link.setAttribute("href", documentlist[i]);
|
|
link.innerHTML = namelist[i];
|
|
searchresults.appendChild(searchelement);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
</script>
|
|
<link rel="stylesheet" href="/wiki/default.css">
|
|
<style>
|
|
|
|
hr
|
|
{
|
|
color: #463c2a;
|
|
}
|
|
|
|
code {
|
|
background-color: #383022;
|
|
border-color: #322b1e;
|
|
border-style:solid;
|
|
border-width:1px;
|
|
}
|
|
|
|
pre
|
|
{
|
|
margin-left:16px;
|
|
background-color: #383022;
|
|
border-color: #322b1e;
|
|
border-style:solid;
|
|
border-width:1px;
|
|
padding: 4px;
|
|
display:flex;
|
|
}
|
|
|
|
pre code
|
|
{
|
|
border: none !important;
|
|
}
|
|
|
|
td code {
|
|
background-color: #312A1D;
|
|
border-color: #2b2519;
|
|
}
|
|
|
|
.nested
|
|
{
|
|
display: none;
|
|
}
|
|
|
|
ul.sidebar.active
|
|
{
|
|
display: block !important;
|
|
}
|
|
|
|
ul.sidebar
|
|
{
|
|
padding-left: 0px;
|
|
}
|
|
|
|
li.sidebar ::marker
|
|
{
|
|
color:#00000000;
|
|
display:none;
|
|
}
|
|
|
|
li.sidebar
|
|
{
|
|
list-style-type: none !important;
|
|
background-color:#4A3F2C;
|
|
border-bottom: #312A1D 1px solid;
|
|
border-right: #312A1D 1px solid;
|
|
border-left: 1px solid #8d8881;
|
|
border-top: 1px solid #8d8881;
|
|
padding-left: 2px;
|
|
padding-bottom:2px;
|
|
padding-top:2px;
|
|
}
|
|
|
|
li ul li
|
|
{
|
|
margin-right:-1px;
|
|
}
|
|
|
|
li.sidebar span
|
|
{
|
|
-moz-user-select: none;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
z-index: 1;
|
|
cursor: pointer;
|
|
display: inline-block;
|
|
border: black 1px solid;
|
|
border-left-color: white;
|
|
border-top-color: white;
|
|
margin: 2px;
|
|
}
|
|
|
|
li.sidebar span span
|
|
{
|
|
-moz-user-select: none;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
z-index: 0;
|
|
border: #463c2a 1px solid;
|
|
background-color: #63553b;
|
|
color: white;
|
|
border-left-color: #8d8881;
|
|
border-top-color: #8d8881;
|
|
margin: 0px;
|
|
padding-left: 4px;
|
|
padding-right: 4px;
|
|
}
|
|
|
|
li.sidebar .spanactive
|
|
{
|
|
border-left-color: black;
|
|
border-top-color: black;
|
|
border-right-color: white;
|
|
border-bottom-color: white;
|
|
}
|
|
|
|
li.sidebar span .spanactive
|
|
{
|
|
border: #463c2a 1px solid;
|
|
border-right-color: #8d8881;
|
|
border-bottom-color: #8d8881;
|
|
}
|
|
|
|
|
|
.liicon
|
|
{
|
|
display:inline-block;
|
|
width:12px;
|
|
height:100%;
|
|
font-family: monospace;
|
|
font-size: 16px;
|
|
color: white;
|
|
}
|
|
|
|
nav
|
|
{
|
|
height: 100%;
|
|
}
|
|
|
|
a
|
|
{
|
|
color: #f79b08;
|
|
}
|
|
|
|
a:visited
|
|
{
|
|
color: #f79b08;
|
|
}
|
|
|
|
body
|
|
{
|
|
background-color: #4b402d;
|
|
color:white;
|
|
font-family:"Tahoma", sans-serif;
|
|
font-size:9pt;
|
|
}
|
|
|
|
.searchbox
|
|
{
|
|
background-color: #473c29;
|
|
border: #403624 1px solid;
|
|
border-bottom-color: #837f7a;
|
|
border-right-color: #837f7a;
|
|
color: white;
|
|
padding: 0px;
|
|
width:196px;
|
|
height:16px;
|
|
position: relative;
|
|
}
|
|
|
|
input:focus {
|
|
outline: none;
|
|
}
|
|
|
|
.searchboxcontainer
|
|
{
|
|
background-color: #473c29;
|
|
border: black 1px solid;
|
|
border-bottom-color: white;
|
|
border-right-color: white;
|
|
position:relative;
|
|
margin-left:auto;
|
|
margin-right:auto;
|
|
height:18px;
|
|
width:198px;
|
|
display: inline-block;
|
|
}
|
|
|
|
.sidebarcontainer
|
|
{
|
|
float:right;
|
|
display:block;
|
|
top: -16px;
|
|
right: -8px;
|
|
margin-left: 8px;
|
|
margin-top: 8px;
|
|
margin-right: 8px;
|
|
width:200px;
|
|
border-color: black;
|
|
border-width: 1px;
|
|
border-style:solid;
|
|
position:relative;
|
|
overflow:auto;
|
|
padding:0px;
|
|
}
|
|
|
|
table
|
|
{
|
|
border: #312a1d 1px solid;
|
|
border-top-color: #837f7a;
|
|
border-left-color: #837f7a;
|
|
background-color: #423827;
|
|
}
|
|
|
|
th, td
|
|
{
|
|
border: #2b2519 1px solid;
|
|
border-right-color: #837f7a;
|
|
border-bottom-color: #837f7a;
|
|
background-color: #3a3122;
|
|
}
|
|
|
|
.sidebarroot
|
|
{
|
|
padding-left:0px !important;
|
|
margin:0px;
|
|
overflow:hidden;
|
|
}
|
|
|
|
.framed
|
|
{
|
|
border: #312a1d 1px solid;
|
|
border-top-color: #837f7a;
|
|
border-left-color: #837f7a;
|
|
background-color: #423827;
|
|
display: flow-root;
|
|
}
|
|
|
|
.framed .framed
|
|
{
|
|
border: #2b2519 1px solid;
|
|
border-right-color: #837f7a;
|
|
border-bottom-color: #837f7a;
|
|
background-color: #3a3122;
|
|
margin:4px;
|
|
padding:2px;
|
|
text-align: center;
|
|
}
|
|
|
|
|
|
</style>
|
|
<div>
|
|
<div class="sidebarcontainer">
|
|
<span class="searchboxcontainer" onkeyup="updateSearch();"><input type="text" placeholder="search..." autocomplete="off" id="searchbox" oninput="updateSearch();" class="searchbox"></span>
|
|
<nav>
|
|
<ul class="sidebar sidebarroot" id="searchresults">
|
|
</ul>
|
|
<ul class="sidebar sidebarroot" id="filetree">
|
|
<li class="sidebar"><a href="/wiki/index.html">Wiki Intro</a></li>
|
|
<li class="sidebar"><small class="liicon">-</small><span onmousedown="toggleTree(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);"><span onmousedown="Press(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);">QScript</span></span>
|
|
<ul class="sidebar nested active">
|
|
<li class="sidebar"><a href="/wiki/QScript/Introduction.html">QScript Intro</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Private_Members.html">Private Members</a></li>
|
|
<li class="sidebar"><small class="liicon">-</small><span onmousedown="toggleTree(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);"><span onmousedown="Press(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);">Contributing</span></span>
|
|
<ul class="sidebar nested active">
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/Contributing.html">Contributing</a></li>
|
|
<li class="sidebar"><small class="liicon">-</small><span onmousedown="toggleTree(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);"><span onmousedown="Press(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);">API</span></span>
|
|
<ul class="sidebar nested active">
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/qscript.html">QScript API</a></li>
|
|
<li class="sidebar"><small class="liicon">-</small><span onmousedown="toggleTree(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);"><span onmousedown="Press(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);">Structs</span></span>
|
|
<ul class="sidebar nested active">
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QCFunc.html">QCFunc</a></li>
|
|
<li class="sidebar"><b>QModuleDefFunc</b></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QReturn.html">QReturn</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QScriptArgs.html">QScriptArgs</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QScriptCallback.html">QScriptCallback</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QScriptClass.html">QScriptClass</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QScriptClassCreator.html">QScriptClassCreator</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QScriptFunction.html">QScriptFunction</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QScriptObject.html">QScriptObject</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QType.html">QType</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Contributing/API/Structs/QValue.html">QValue</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="sidebar"><small class="liicon">+</small><span onmousedown="toggleTree(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);"><span onmousedown="Press(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);">Lua</span></span>
|
|
<ul class="sidebar nested">
|
|
<li class="sidebar"><a href="/wiki/QScript/Lua/Classes.html">Lua Classes</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Lua/Exports.html">Lua Exports</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Lua/Imports.html">Lua Imports</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Lua/Intro.html">Lua Intro</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Lua/Objects.html">Lua Objects</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="sidebar"><small class="liicon">+</small><span onmousedown="toggleTree(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);"><span onmousedown="Press(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);">Squirrel</span></span>
|
|
<ul class="sidebar nested">
|
|
<li class="sidebar"><a href="/wiki/QScript/Squirrel/Exports_And_Imports.html">Squirrel Exports and Imports</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Squirrel/Intro.html">Squirrel Intro</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="sidebar"><small class="liicon">+</small><span onmousedown="toggleTree(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);"><span onmousedown="Press(this);" onmouseleave="unPress(this);" onmouseup="unPress(this);">Tutorial</span></span>
|
|
<ul class="sidebar nested">
|
|
<li class="sidebar"><a href="/wiki/QScript/Tutorial/Chapter1.html">QScript Tutorial Page 1: Mods</a></li>
|
|
<li class="sidebar"><a href="/wiki/QScript/Tutorial/Chapter2.html">QScript Tutorial Page 2: Getting to work</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
<h1>QModuleDefFunc</h1>
|
|
|
|
<div class="codehilite">
|
|
<pre><span></span><code><span class="k">struct</span><span class="w"> </span><span class="nc">QModuleDefFunc</span>
|
|
<span class="p">{</span>
|
|
<span class="w"> </span><span class="n">QCFunc</span><span class="w"> </span><span class="n">func</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="o">*</span><span class="w"> </span><span class="n">name</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="nc">QType</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="o">*</span><span class="w"> </span><span class="n">types</span><span class="p">;</span>
|
|
<span class="p">};</span>
|
|
</code></pre>
|
|
</div>
|
|
|
|
<p>QModuleDefFunc is used for defining functions that QScript will bind to the scripting languages.</p>
|
|
|
|
<p><code>types</code> is a string of characters that represent the types of parameters which the function accepts. QScript will automatically check the types for you, so do not worry about checking them yourself.</p>
|
|
|
|
<p>Here is a list of all the types and their characters:</p>
|
|
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>char</th>
|
|
<th><a href="/wiki/QScript/Contributing/API/Structs/QType.html">QType</a></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>s</code></td>
|
|
<td><code>QType_String</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>i</code></td>
|
|
<td><code>QType_Int</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>f</code></td>
|
|
<td><code>QType_Float</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>o</code></td>
|
|
<td><code>QType_Object</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>b</code></td>
|
|
<td><code>QType_Bool</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>p</code></td>
|
|
<td><code>QType_Function</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<p><code>ret</code> is what the function will return.</p>
|
|
|
|
<p><code>func</code> is a <a href="/wiki/QScript/Contributing/API/Structs/QCFunc.html">QCFunc</a> which will be called when a scripting langauge calls your function.</p>
|
|
|
|
<p>Here is an example list of QModuleDefFuncs which you pass to <a href="/wiki/QScript/Contributing/API/qscript.html">CreateModule</a></p>
|
|
|
|
<div class="codehilite">
|
|
<pre><span></span><code><span class="k">static</span><span class="w"> </span><span class="n">QModuleDefFunc</span><span class="w"> </span><span class="n">sourcebox_client</span><span class="p">[]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="p">{</span><span class="n">QScriptClientMsg</span><span class="p">,</span><span class="s">"Msg"</span><span class="p">,</span><span class="n">QType_None</span><span class="p">,</span><span class="s">"s"</span><span class="p">},</span>
|
|
<span class="w"> </span><span class="p">{</span><span class="n">RegisterCmd</span><span class="p">,</span><span class="s">"RegisterCmd"</span><span class="p">,</span><span class="n">QType_None</span><span class="p">,</span><span class="s">"sp"</span><span class="p">},</span>
|
|
<span class="w"> </span><span class="p">{</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">QType_None</span><span class="p">,</span><span class="mi">0</span><span class="p">}</span>
|
|
<span class="w"> </span><span class="c1">//{RegisterCmd,"RegisterCmd",QType_None,"sp"},</span>
|
|
<span class="p">};</span>
|
|
</code></pre>
|
|
</div>
|
|
|
|
</div> |