Deploying to gh-pages from @ e8e0068531 🚀
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../../../"><link rel="stylesheet" href="dmdoc.css"><title>code/controllers/subsystem/chat.dm - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a></header><main><h1>code/controllers/subsystem/chat.dm <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/chat.dm0"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/chat.dm0"></a></h1><table class="summary" cellspacing="0"><tr><td colspan="2"><p>Copyright (c) 2020 Aleksej Komarov
|
||||
SPDX-License-Identifier: MIT</p></td></tr></table></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>
|
||||
@@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../../../"><link rel="stylesheet" href="dmdoc.css"><title>code/controllers/subsystem/garbage.dm - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a></header><main><h1>code/controllers/subsystem/garbage.dm <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/garbage.dm0"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/garbage.dm0"></a></h1><table class="summary" cellspacing="0"><tr><td colspan="2"><h2 id="debugging-gc-issues">Debugging GC issues</h2>
|
||||
<p>In order to debug <code>qdel()</code> failures, there are several tools available.
|
||||
To enable these tools, define <code>TESTING</code> in <a href="https://github.com/tgstation/-tg-station/blob/master/code/_compile_options.dm">_compile_options.dm</a>.</p>
|
||||
<p>First is a verb called "Find References", which lists <strong>every</strong> refererence to an object in the world. This allows you to track down any indirect or obfuscated references that you might have missed.</p>
|
||||
<p>Complementing this is another verb, "qdel() then Find References".
|
||||
This does exactly what you'd expect; it calls <code>qdel()</code> on the object and then it finds all references remaining.
|
||||
This is great, because it means that <code>Destroy()</code> will have been called before it starts to find references,
|
||||
so the only references you'll find will be the ones preventing the object from <code>qdel()</code>ing gracefully.</p>
|
||||
<p>If you have a datum or something you are not destroying directly (say via the singulo),
|
||||
the next tool is <code>QDEL_HINT_FINDREFERENCE</code>. You can return this in <code>Destroy()</code> (where you would normally <code>return ..()</code>),
|
||||
to print a list of references once it enters the GC queue.</p>
|
||||
<p>Finally is a verb, "Show qdel() Log", which shows the deletion log that the garbage subsystem keeps. This is helpful if you are having race conditions or need to review the order of deletions.</p>
|
||||
<p>Note that for any of these tools to work <code>TESTING</code> must be defined.
|
||||
By using these methods of finding references, you can make your life far, far easier when dealing with <code>qdel()</code> failures.</p></td></tr><tr><th><a href="datum/qdel_item.html">/datum/qdel_item</a></th><td>Qdel Item: Holds statistics on each type that passes thru qdel</td></tr><tr><th>/proc/<a href="global.html#proc/qdel">qdel</a></th><td>Should be treated as a replacement for the 'del' keyword.</td></tr></table></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../../../"><link rel="stylesheet" href="dmdoc.css"><title>code/controllers/subsystem/jukeboxes.dm - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a> — <a href="code/controllers/subsystem/jukeboxes.html#define">Define Details</a></header><main><h1>code/controllers/subsystem/jukeboxes.dm <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/jukeboxes.dm0"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/jukeboxes.dm0"></a></h1><table class="summary" cellspacing="0"><tr><th><a href="code/controllers/subsystem/jukeboxes.html#define/TRACK_NAME">TRACK_NAME</a></th><td>Name of the track</td></tr><tr><th><a href="code/controllers/subsystem/jukeboxes.html#define/TRACK_LENGTH">TRACK_LENGTH</a></th><td>Length of the track (in deciseconds)</td></tr><tr><th><a href="code/controllers/subsystem/jukeboxes.html#define/TRACK_BEAT">TRACK_BEAT</a></th><td>BPM of the track (in deciseconds)</td></tr><tr><th><a href="code/controllers/subsystem/jukeboxes.html#define/TRACK_ID">TRACK_ID</a></th><td>Unique code-facing identifier for this track</td></tr></table><h2 id="define">Define Details</h2><h3 id="define/TRACK_BEAT"><aside class="declaration">#define </aside>TRACK_BEAT <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/jukeboxes.dm#L22"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/jukeboxes.dm 22"></a></h3><p>BPM of the track (in deciseconds)</p><h3 id="define/TRACK_ID"><aside class="declaration">#define </aside>TRACK_ID <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/jukeboxes.dm#L24"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/jukeboxes.dm 24"></a></h3><p>Unique code-facing identifier for this track</p><h3 id="define/TRACK_LENGTH"><aside class="declaration">#define </aside>TRACK_LENGTH <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/jukeboxes.dm#L20"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/jukeboxes.dm 20"></a></h3><p>Length of the track (in deciseconds)</p><h3 id="define/TRACK_NAME"><aside class="declaration">#define </aside>TRACK_NAME <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/jukeboxes.dm#L18"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/jukeboxes.dm 18"></a></h3><p>Name of the track</p></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../../../"><link rel="stylesheet" href="dmdoc.css"><title>code/controllers/subsystem/materials.dm - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a></header><main><h1>code/controllers/subsystem/materials.dm <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/materials.dm0"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/materials.dm0"></a></h1><table class="summary" cellspacing="0"><tr><td colspan="2"><p>How material datums work
|
||||
Materials are now instanced datums, with an associative list of them being kept in SSmaterials. We only instance the materials once and then re-use these instances for everything.</p>
|
||||
<p>These materials call on_applied() on whatever item they are applied to, common effects are adding components, changing color and changing description. This allows us to differentiate items based on the material they are made out of.area</p></td></tr></table></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../../../"><link rel="stylesheet" href="dmdoc.css"><title>code/controllers/subsystem/overlays.dm - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a></header><main><h1>code/controllers/subsystem/overlays.dm <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/overlays.dm0"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/overlays.dm0"></a></h1><table class="summary" cellspacing="0"><tr><th>/proc/<a href="global.html#proc/overlays2text">overlays2text</a></th><td>Converts an overlay list into text for debug printing
|
||||
Of note: overlays aren't actually mutable appearances, they're just appearances
|
||||
Don't have access to that type tho, so this is the best you're gonna get</td></tr><tr><th>/proc/<a href="global.html#proc/realize_appearance_queue">realize_appearance_queue</a></th><td>Takes a list of appearnces, makes them mutable so they can be properly vv'd and inspected</td></tr><tr><th>/proc/<a href="global.html#proc/diff_appearances">diff_appearances</a></th><td>Takes two appearances as args, prints out, logs, and returns a text representation of their differences
|
||||
Including suboverlays</td></tr></table></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../../../../"><link rel="stylesheet" href="dmdoc.css"><title>code/controllers/subsystem/persistence/_persistence.dm - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a></header><main><h1>code/controllers/subsystem/persistence/_persistence.dm <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/persistence/_persistence.dm0"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/persistence/_persistence.dm0"></a></h1><table class="summary" cellspacing="0"><tr><th><a href="datum/controller/subsystem/persistence.html">/datum/controller/subsystem/persistence</a></th><td>Persistence for cleanable debris.</td></tr></table></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../../../"><link rel="stylesheet" href="dmdoc.css"><title>code/controllers/subsystem/runechat.dm - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a> — <a href="code/controllers/subsystem/runechat.html#define">Define Details</a></header><main><h1>code/controllers/subsystem/runechat.dm <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/runechat.dm0"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/runechat.dm0"></a></h1><table class="summary" cellspacing="0"><tr><th><a href="code/controllers/subsystem/runechat.html#define/BUCKET_LEN">BUCKET_LEN</a></th><td>Controls how many buckets should be kept, each representing a tick. (30 seconds worth)</td></tr><tr><th><a href="code/controllers/subsystem/runechat.html#define/BUCKET_POS">BUCKET_POS</a></th><td>Helper for getting the correct bucket for a given chatmessage</td></tr><tr><th><a href="code/controllers/subsystem/runechat.html#define/BUCKET_LIMIT">BUCKET_LIMIT</a></th><td>Gets the maximum time at which messages will be handled in buckets, used for deferring to secondary queue</td></tr><tr><th>/var/<a href="global.html#var/SSrunechat">SSrunechat</a></th><td></td></tr></table><h2 id="define">Define Details</h2><h3 id="define/BUCKET_LEN"><aside class="declaration">#define </aside>BUCKET_LEN <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/runechat.dm#L2"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/runechat.dm 2"></a></h3><p>Controls how many buckets should be kept, each representing a tick. (30 seconds worth)</p><h3 id="define/BUCKET_LIMIT"><aside class="declaration">#define </aside>BUCKET_LIMIT <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/runechat.dm#L6"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/runechat.dm 6"></a></h3><p>Gets the maximum time at which messages will be handled in buckets, used for deferring to secondary queue</p><h3 id="define/BUCKET_POS"><aside class="declaration">#define </aside>BUCKET_POS<aside>(scheduled_destruction)</aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/runechat.dm#L4"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/runechat.dm 4"></a></h3><p>Helper for getting the correct bucket for a given chatmessage</p></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../../../"><link rel="stylesheet" href="dmdoc.css"><title>code/controllers/subsystem/tgui.dm - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a></header><main><h1>code/controllers/subsystem/tgui.dm <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/tgui.dm0"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/tgui.dm0"></a></h1><table class="summary" cellspacing="0"><tr><td colspan="2"><p>Copyright (c) 2020 Aleksej Komarov
|
||||
SPDX-License-Identifier: MIT</p></td></tr><tr><th>/var/<a href="global.html#var/SStgui">SStgui</a></th><td>tgui subsystem</td></tr></table></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../../../"><link rel="stylesheet" href="dmdoc.css"><title>code/controllers/subsystem/timer.dm - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a> — <a href="code/controllers/subsystem/timer.html#define">Define Details</a></header><main><h1>code/controllers/subsystem/timer.dm <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/timer.dm0"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/timer.dm0"></a></h1><table class="summary" cellspacing="0"><tr><th><a href="code/controllers/subsystem/timer.html#define/BUCKET_LEN">BUCKET_LEN</a></th><td>Controls how many buckets should be kept, each representing a tick. (1 minutes worth)</td></tr><tr><th><a href="code/controllers/subsystem/timer.html#define/BUCKET_POS">BUCKET_POS</a></th><td>Helper for getting the correct bucket for a given timer</td></tr><tr><th><a href="code/controllers/subsystem/timer.html#define/TIMER_MAX">TIMER_MAX</a></th><td>Gets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue</td></tr><tr><th><a href="code/controllers/subsystem/timer.html#define/TIMER_ID_MAX">TIMER_ID_MAX</a></th><td>Max float with integer precision</td></tr><tr><th>/var/<a href="global.html#var/SStimer">SStimer</a></th><td></td></tr><tr><th><a href="datum/timedevent.html">/datum/timedevent</a></th><td>This is the actual timer, it contains the callback and necessary data to maintain
|
||||
the timer.</td></tr><tr><th>/proc/<a href="global.html#proc/_addtimer">_addtimer</a></th><td>Create a new timer and insert it in the queue.
|
||||
You should not call this directly, and should instead use the addtimer macro, which includes source information.</td></tr><tr><th>/proc/<a href="global.html#proc/deltimer">deltimer</a></th><td>Delete a timer</td></tr><tr><th>/proc/<a href="global.html#proc/timeleft">timeleft</a></th><td>Get the remaining deciseconds on a timer</td></tr></table><h2 id="define">Define Details</h2><h3 id="define/BUCKET_LEN"><aside class="declaration">#define </aside>BUCKET_LEN <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/timer.dm#L2"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/timer.dm 2"></a></h3><p>Controls how many buckets should be kept, each representing a tick. (1 minutes worth)</p><h3 id="define/BUCKET_POS"><aside class="declaration">#define </aside>BUCKET_POS<aside>(timer)</aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/timer.dm#L4"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/timer.dm 4"></a></h3><p>Helper for getting the correct bucket for a given timer</p><h3 id="define/TIMER_ID_MAX"><aside class="declaration">#define </aside>TIMER_ID_MAX <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/timer.dm#L8"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/timer.dm 8"></a></h3><p>Max float with integer precision</p><h3 id="define/TIMER_MAX"><aside class="declaration">#define </aside>TIMER_MAX <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/controllers/subsystem/timer.dm#L6"><img src="git.png" width="16" height="16" title="code/controllers/subsystem/timer.dm 6"></a></h3><p>Gets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue</p></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>
|
||||
Reference in New Issue
Block a user