<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
    <channel>
        <title>Kaioken's site</title>
        <link>http://www.byond.com/members/Kaioken</link>
        <description></description>
        <lastBuildDate>Fri, 10 Feb 2012 20:11:39 +0000</lastBuildDate>
        <language>en-us</language>
    
                <item>
            <title>Text procs renamed</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=132676</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=132676</guid>
            <pubDate>Fri, 08 Jan 2010 12:10:58 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=132676#comments</comments>
            
            <description>(http://www.byond.com/docs/notes/462.html)&lt;br&gt;
Only one word: &lt;b&gt;why?&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
&lt;small&gt;...Also, that page says &quot;A view text procs&quot;.&lt;/small&gt;</description>
        </item>
                <item>
            <title>Google Chrome OS</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=181694</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=181694</guid>
            <pubDate>Fri, 20 Nov 2009 01:47:48 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=181694#comments</comments>
            
            <description>&lt;a href=&quot;http://www.engadget.com/2009/11/19/live-from-googles-chrome-os-project-announcement/&quot;&gt;http://www.engadget.com/2009/11/19/ live-from-googles-chrome-os-project-announcement/&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://www.engadget.com/2009/11/19/googles-chrome-os-revealed/&quot;&gt;http://www.engadget.com/2009/11/19/ googles-chrome-os-revealed/&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://www.google.com/search?q=google+chrome+os&quot;&gt;[...]&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
So, details on Google's approaching OS are out. It's basically going to be an almost entirely web-based, browser-based OS (almost seemingly Google Chrome itself expanded into an OS) that's designed for internet use only, and only on notebooks, with specific, certified hardware, at that (they are considering making it for PCs as well in the future, though).&lt;br&gt;
Somehow, Google &quot;took&quot; the silly assumption that nowadays, all everyone does on their computer is surf the internet, and decided not to compete with Windows or any other OS at all. Even though I wasn't extremely interested in their coming OS, this is a big disappointment from it, to say the least.&lt;br&gt;
&lt;br&gt;
Discuss.</description>
        </item>
                <item>
            <title>Various suggestions</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=132775</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=132775</guid>
            <pubDate>Tue, 03 Nov 2009 02:22:39 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=132775#comments</comments>
            
            <description>Thought I'd throw in some new features that I had on my mind for a while now, to be added at the Staff's leisure, so, without further ado...&lt;br&gt;
&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Find Node&lt;/b&gt; feature: a new kind of Find feature (or more like 'Jump to...' or 'Go to...', if you will) that instead of just searching for text, parses the code tree and searches only in node definitions. Meaning e.g. I'd type in &lt;tt&gt;/mob/proc/DeathCheck&lt;/tt&gt;, and I'd be taken straight to the &lt;tt&gt;DeathCheck()&lt;/tt&gt; declaration (even if it was defined using indentation instead of with the / path operator). If I type &lt;tt&gt;/mob/player&lt;/tt&gt;, I'll be taken to the definition of that.&lt;br&gt;
This should have all the standard features of Find as well (Find Next takes you to the next occurrence of the node, if any), and there should also be a checkbox for &quot;Include overrides&quot;, which, when checked, would include overrides in the search (with the previous example, it could find the override nodes &lt;tt&gt;/mob/DeathCheck()&lt;/tt&gt;, &lt;tt&gt;/mob/player/DeathCheck()&lt;/tt&gt;, etc).&lt;br&gt;
Needless to say, the normal Find feature doesn't make finding node definitions and declarations so easy; you always tend to find instances of the proc is called or type path used instead.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;New procedure vars&lt;/b&gt; (like &lt;tt&gt;.&lt;/tt&gt; and &lt;tt&gt;usr&lt;/tt&gt;): a procedure var (or even special preprocessor macro) that contains the procedure's own type path would be handy to avoid manual work and increase manageability when you want to use that path.&lt;br&gt;
If an additional var that contains call stack data was added as well, that would be very nice.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;A way for &lt;tt&gt;client/AllowUpload()&lt;/tt&gt; to tell where the file request came from and the nature of it (e.g., a method to pass a &quot;reason&quot; argument to it). At the moment there's no actual built-in way to differentiate between different upload situations, and obviously you could want different restrictions for different situations. If call stack info accessibility is added, this could be automatically semi-satisfied.&lt;br&gt;
When using &lt;tt&gt;input()&lt;/tt&gt; to initiate a file upload, you can use workarounds to pull this off; so I guess it's more important to fix something up for verb-argument-initiated uploads.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Access resource files dynamically&lt;/b&gt;: at runtime, you should have the ability to access resource files by using dynamically-made names. This could be just added in the form of adding an argument to &lt;tt&gt;file()&lt;/tt&gt; that makes it look for the file in the RSC file(s) instead of the filesystem.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;A real option to manually include resource files&lt;/b&gt; in the RSC would be nice - including whole folders (and maybe wildcard file names?).&lt;br&gt;
For example, this could be done with a preprocessor directive:
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
&lt;span class=&quot;dmpreprocessor&quot;&gt;#includeRSC &amp;quot;myfont.ttf&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;dmpreprocessor&quot;&gt;#includeRSC &amp;quot;icon.dmi,script.js,help.txt&amp;quot; &lt;/span&gt;&lt;span class=&quot;dmcomment&quot;&gt;//easy syntax for multiple files&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;dmpreprocessor&quot;&gt;#includeRSC &amp;quot;extra resource files/&amp;quot; &lt;/span&gt;&lt;span class=&quot;dmcomment&quot;&gt;//include all the files in a folder (and subfolders)&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;dmpreprocessor&quot;&gt;#includeRSC &amp;quot;infopage_*.htm&amp;quot; &lt;/span&gt;&lt;span class=&quot;dmcomment&quot;&gt;//include all filenames conforming to the wildcard filename&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;
Of course, the main need for this is to have the ability to conveniently and flexibly mass-include resource files, by including folders or batch-including using * and ? wildcards.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Mouse control for interface controls&lt;/b&gt;, in the form of more on-event commands, similarly to JavaScript: e.g. &lt;tt&gt;onclick, onmouseover, onmouseexit&lt;/tt&gt; parameters for all controls.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Icon processing expansion&lt;/b&gt;&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Allow opening specific frames using /icon datums; IIRC you can already Insert() specific frames, but it seems you can't actually access/edit specific frames...?&lt;/li&gt;

&lt;li&gt;Allow editing (delays) and forming animations&lt;/li&gt;

&lt;li&gt;Add an /icon proc and a global proc that returns an animation's total duration in ticks. Something like this is a pretty fundamental feature that is long overdue.&lt;/li&gt;

&lt;li&gt;Give a parameter to icon datums that makes the icon they create NOT be added to the resource archive. I don't actually remember the original scenario where I needed this, but this could be useful when you're making temporary icons for some reason, icons that aren't intended to be viewed by players at all (for example, perhaps you're generating an image to be stored on the hard disk), or icons that are only needed to be sent to one or a handful of players (which might be using &lt;tt&gt;browse_rsc()&lt;/tt&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;flick() expansion&lt;/b&gt;&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Allow the flick()ing of areas.&lt;/li&gt;

&lt;li&gt;Fully allow flicking using objects (/atom, /image) instead of icons or state names, which would take into account all of the object's visual properties (&lt;tt&gt;dir,layer,text,pixel_*&lt;/tt&gt; and maybe more, such as &lt;tt&gt;name&lt;/tt&gt;).&lt;br&gt;
At the moment you can flick using objects, but all visual parameters except &lt;tt&gt;icon&lt;/tt&gt; and &lt;tt&gt;icon_state&lt;/tt&gt; are ignored. Supporting this would add functionality and flexibility to flick().&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Saving on mouse control bandwidth&lt;/b&gt;: presently, if one doesn't override a specific mouse control function in his project (e.g. &lt;tt&gt;MouseDrag()&lt;/tt&gt;), then the clients of that project don't bother flooding the server with mouse status messages about that event. Perhaps that could actually be expanded in an atom-specific manner? So if I've overridden only &lt;tt&gt;/obj/button/Click()&lt;/tt&gt;, the clients don't send any click messages for other objs and mobs, etc.&lt;br&gt;
This would require that either the /client versions of the procs automatically make all atoms generate the messages, or that they'd need to be modified so the usage of them doesn't do so; meaning that for &lt;tt&gt;client/Click()&lt;/tt&gt; to be called at all, even if you override it, you'd need to override &lt;tt&gt;atom/Click()&lt;/tt&gt; on the types you want it to be called for. Obviously that wouldn't be so backwards-compatible, but you could keep the old behavior for projects compiled in older versions, and any newer projects that want the old behavior can restore it very easily merely by including a few lines such as this in their project:
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
atom/Click() &lt;span class=&quot;dmcomment&quot;&gt;//we override this, meaning all atoms generate click messages&lt;/span&gt;&lt;br&gt;atom/DblClick() &lt;span class=&quot;dmcomment&quot;&gt;//same&lt;/span&gt;&lt;br&gt;atom/MouseDrop() &lt;span class=&quot;dmcomment&quot;&gt;//same&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;dmcomment&quot;&gt;//...&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;A procedure similar to &lt;tt&gt;client/Command()&lt;/tt&gt;, but one that is processed for ALL commands&lt;/b&gt;, irregardless of whether they correspond to verbs or not. If overridden, this procedure should be the first thing that is processed when a command of a player is retrieved by the server, and the command would only continue to be processed as normal by the server if this proc calls the default function.&lt;br&gt;
Back in the day I would have simply suggested for client/Command() to be modified to be like this, but that wouldn't be so good for backwards-compatability, especially now that the proc is documented and so used more.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;tt&gt;world/IsBanned()&lt;/tt&gt;should be called for the host as well&lt;/b&gt;&lt;br&gt;
Really, why is it not like this? &lt;tt&gt;world/IsBanned()&lt;/tt&gt; not being processed for the host isn't even documented, nor is there much sense in it when you think about it. The only advantage I can see it brings is that &quot;stupid&quot; hosts are protected in the case they &quot;accidentally&quot; pager-ban themselves.&lt;br&gt;
This would make testing IsBanned() implementations easier and would prevent confusion, as currently, if you test it by test-running the world you would get the initial impression that the proc is broken.&lt;br&gt;
Also, &lt;tt&gt;world/IsBanned()&lt;/tt&gt; can be used for things not only directly involving banning as well, such as multi-key prevention, that the host shouldn't be relieved of.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Using for()'s built in object filter using a dynamic type&lt;/b&gt;&lt;br&gt;
Self-explanatory. Perhaps currently the only limitation here making this impossible is the syntax to use? In that case, you guys just need to come up with a syntax that allows using a dynamic type (a variable or even a full expression) in this. Using the existing 'as' clause feels suitable, but it needs to be somehow differentiated from the hardcoded settings (e.g. as mob).&lt;br&gt;
Maybe a new keyword, &quot;of&quot; can be added for this, perhaps used in conjuction with 'as':
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/TypeVar = pick(/mob,/obj)&lt;br&gt;&lt;span class=&quot;dmkeyword&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/A &lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; of TypeVar [&lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; Container])
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Labels should support displaying atoms&lt;/b&gt; (preferably fully supporting pixel-offset under/overlays, as no other control presently does so, other than the map control(s)).&lt;br&gt;
First reaction to them not doing so is &quot;why the heck not?&quot;, though logic suggests you guys may have had a specific reason for doing that, perhaps that it's not feasible.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;In addition to any of the new suggestions suggested here that would be implemented, further &lt;b&gt;features that aren't currently documented (in the References) need to be&lt;/b&gt;. Some random undocumented features off the top of my head:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Using output() to execute JavaScript functions - Tom &quot;documented&quot; this in the release notes when it was added, but it's not anywhere else!&lt;/li&gt;

&lt;li&gt;&lt;tt&gt;waitfor&lt;/tt&gt; procedure setting&lt;/li&gt;

&lt;li&gt;'to' syntax in if() statements, 'to' syntax in for(), 'step' syntax in for()&lt;/li&gt;

&lt;li&gt;eval(), perhaps it should be documented, saying it's incomplete but can do some things well (like basic arithmetic)&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;atom.alpha&lt;/b&gt; (and image.alpha) (&lt;a href=&quot;http://www.byond.com/forum/?post=722402&quot;&gt;ID:722402&lt;/a&gt;)&lt;br&gt;
I already mentioned why I think this should be added in that topic, and I've ran into situations where this would be useful. It would also be nice if this was fully incorporated, for example you could add atoms with modified alpha vars to &lt;tt&gt;overlays&lt;/tt&gt; and have them transparent.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;More control over atom drawing&lt;/b&gt; is often needed in certain projects, and could be done by expanding the concept of &lt;tt&gt;invisibility&lt;/tt&gt; and /images.&lt;br&gt;
With &lt;tt&gt;invisibillity&lt;/tt&gt;, a finer control over who can see which invisible objects is really needed and was requested many times.&lt;br&gt;
With /images, it would be nice if the ability was added to make an image attached to an atom completely replace that atom's natural appearance, instead of being tacked on to it as an under/overlay. Meaning you'll be able to make an atom appear completely differently to different players.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;The receiving of topic messages sent to worlds should be changed so a dummy &quot;ghost client&quot; doesn't appear in the process, if a loop through /client objects happens to occur during that time.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;In hub entries, the &quot;hosted by [world.host]&quot; part shouldn't appear on the server entry if world.host is blank - that just looks bad.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Modifier keys status sent with verb commands to the server&lt;/b&gt;&lt;br&gt;
It would be nice if a way was added to let a verb know if modifier keys were held down when the player activated it (in whatever method, input control, macro, info control). For example, my verb should be able to know if SHIFT was held down when the player activated it, so if so, it could behave a little differently. This could be implemented in the form of a new procedure var, &lt;tt&gt;modifier_keys&lt;/tt&gt; or &lt;tt&gt;modifiers&lt;/tt&gt; or something of the sort, that includes a list or a string that contains which modifier keys were held, if any. Another option is to implement it as a special verb argument type, meaning the keys are only sent to verbs that actually use them - possible syntax and use example:
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
mob/&lt;span class=&quot;dmkeyword&quot;&gt;verb&lt;/span&gt;/Heal_Spell(list/K &lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; keys)&lt;br&gt;   &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/mob/target&lt;br&gt;   &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/mob/mob_in_front = locate() &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; get_step(src,src.dir)&lt;br&gt;   &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;shift&amp;quot;&lt;/span&gt; &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; K) target = src&lt;br&gt;   &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;dmkeyword&quot;&gt;if&lt;/span&gt;(mob_in_front &amp;amp;&amp;amp; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;alt&amp;quot;&lt;/span&gt; &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; K)&lt;br&gt;      target = mob_in_front&lt;br&gt;   &lt;span class=&quot;dmkeyword&quot;&gt;else&lt;/span&gt; target = input(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;Heal whom?&amp;quot;&lt;/span&gt;) &lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; mob &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; view(src,3)&lt;br&gt;   src.Heal(target)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;
As you can see, this feature could be very convenient for developers and players and has many possible uses.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Reference entry for /world fix: although there isn't much benefit in doing so, you CAN declare procs on it, unlike what it says.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;A &lt;tt&gt;hasvar()&lt;/tt&gt; procedure&lt;/b&gt;, which would be similar to &lt;tt&gt;hascall()&lt;/tt&gt;, would be nice. It should support taking a type path instead of object reference, and while we're at it so should &lt;b&gt;&lt;tt&gt;hascall()&lt;/tt&gt;&lt;/b&gt; (even though the procs available to an object can change at runtime, by means of the &lt;tt&gt;verbs&lt;/tt&gt; list). This was requested before once.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Reference entry change for icon arithmetic operators; we all know they're not actually being &quot;phased out&quot;; we figured that out by now, since that was written there for years. Rather, the entry should just include that bit about how /icon objects are the the newer, more flexible option and that; people shouldn't be wary of using icon arithmetic in cases where they only need to do a quick, single icon operation, where using /icon is a little superfluous.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;'&lt;b&gt;Resource libraries&lt;/b&gt;'; there should be the ability to psuedo-#include folders outside of the project's folder, in which files could be conveniently used as resource files, as if they were in the project's folder.&lt;br&gt;
For example, instead of having every project of mine include duplicate copies of resource files such as black.dmi, white.dmi, kaioken_logo.png, myscript.js, etc, I could have single copies of those files in a central location on my drive, for example D:\BYONDresources, then simply put #use_resources &quot;D:/BYONDresources&quot; in my DME (or a .DM) - then whenever I use a file in single quotes and Dream Maker goes to look for it when I compile, it would check not&lt;br&gt;
only the project's folder and subfolders (according to FILE_DIR settings), but also that extra&lt;br&gt;
folder I designated for it.&lt;br&gt;
For this to be flexible and supported in actual libraries, the path taken should be flexible,&lt;br&gt;
of course: it could be either an absolute path, relative path, or the #include 'library path' (which automatically finds the library inside the BYOND folder), e.g. &quot;&quot;.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Give the &lt;tt&gt;/world&lt;/tt&gt; object a &lt;tt&gt;vars&lt;/tt&gt; list&lt;/b&gt;: this would simply behave like any other object's built-in &lt;tt&gt;vars&lt;/tt&gt; list.&lt;br&gt;
This could be useful in certain cases, even though most of them would likely be logging and generating debug output.&lt;br&gt;
Like with other &lt;tt&gt;vars&lt;/tt&gt; lists, one of the possible applications could be to robustly and conveniently save and load all/certain vars [of the object].&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Make a &lt;tt&gt;vars&lt;/tt&gt; list that contains the global vars&lt;/b&gt;: this would behave as any other &lt;tt&gt;vars&lt;/tt&gt; list too, except it would be unique in that instead of storing all of an object's vars, it would store all of the project's global/top-level vars (I suppose that this most probably shouldn't include global vars defined on objects using the &lt;tt&gt;global&lt;/tt&gt; modifier).&lt;br&gt;
The applications for this would be mostly similar to those of the above suggestion. At the moment, I and at the very least several others work around the lack of this feature/ability by declaring global vars on a dummy datum instead, which is stored in a global var:
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
vartracker&lt;br&gt;   &lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;&lt;br&gt;      gamemode&lt;br&gt;      current_round&lt;br&gt;      player_count&lt;br&gt;&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/vartracker/Glb = &lt;span class=&quot;dmkeyword&quot;&gt;new&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;dmcomment&quot;&gt;//then using Glb.vars&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;
But seeing as this approach is less clean (in several ways), I would prefer it not to be necessary.&lt;br&gt;
This could be in the form of &lt;tt&gt;world.global_vars&lt;/tt&gt;.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Free-form object type filter in the built-in object selections&lt;/b&gt;&lt;br&gt;
... meaning you can limit verb arguments' and input()'s choices' object-type to e.g. /mob/player or /obj/item instead of just /mob or /obj.&lt;br&gt;
This is a pretty common-sense-ish feature that must have been already suggested many times, so this is just a friendly reminder, because if you implement this, it could share the syntax with feature #12. Also, if the client isn't currently aware of atoms' full type path, if you add #9 then it will be, enabling this feature. &amp;gt;:P&lt;br&gt;
Another trial at suggesting random possible syntaxes for this is to include the word 'type' itself in it, making it clear. It might look like any of these different options (demonstrating different contexts as well):
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
input() &lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; type:/mob/player&lt;br&gt;mob/&lt;span class=&quot;dmkeyword&quot;&gt;verb&lt;/span&gt;/destroy(o &lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; of type:/obj/item &lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; contents) &lt;span class=&quot;dmcomment&quot;&gt;//(or obj/item/o in contents)&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;dmkeyword&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/A of type:TypeVar [&lt;span class=&quot;dmkeyword&quot;&gt;in&lt;/span&gt; Container])&lt;br&gt;&lt;span class=&quot;dmcomment&quot;&gt;//and maybe&lt;/span&gt;&lt;br&gt;input() oftype /mob &lt;span class=&quot;dmcomment&quot;&gt;//or astype:/mob&lt;/span&gt;&lt;br&gt;input() astype /mob &lt;span class=&quot;dmcomment&quot;&gt;//or astype:/mob&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Reference entries should include all the possible usages of whatever they're explaining&lt;/b&gt;&lt;br&gt;
At the moment this is not always the case, and various usages are undocumented, for example:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;missile()'s Reference entry doesn't mention the fact that it can be used with an object reference instead of a type path.&lt;/li&gt;

&lt;li&gt;The entry for the &lt;tt&gt;src&lt;/tt&gt; setting lacks various other possible settings for it, for example using &lt;tt&gt;client.screen&lt;/tt&gt; or &lt;tt&gt;mob.group&lt;/tt&gt;.&lt;/li&gt;

&lt;li&gt;&lt;tt&gt;image()&lt;/tt&gt;'s entry fails to mention that some of the arguments it takes (at least those named &lt;tt&gt;pixel_x&lt;/tt&gt; and &lt;tt&gt;pixel_y&lt;/tt&gt;).&lt;/li&gt;

&lt;li&gt;The reference entry of &lt;tt&gt;new()&lt;/tt&gt; should include a list of the different built-in object types it can be used with at the bottom, including info about using &lt;tt&gt;new()&lt;/tt&gt; with each one. Mainly, that info should be what arguments it takes for each of those types (in some cases, that should just be a link to a parallel entry, e.g. &lt;tt&gt;image(),icon()&lt;/tt&gt;). Currently, it covers the atom types only, and you have to go elsewhere for other types - which could be an impediment in certain situations (for example, a newbie may not know to which other entry he should go). Then there's also the basic idea that the reference entry for &lt;tt&gt;new()&lt;/tt&gt; should (fully) explain how to use &lt;tt&gt;new()&lt;/tt&gt;. :P&lt;/li&gt;

&lt;li&gt;A lot of the &quot;vars (X)&quot; entries don't actually contain a full list of the vars X has. Often, some vars that you're less likely to use on that type are omitted - but for the sake of documentation, they should be included, perhaps as an appendix.&lt;br&gt;
Examples of missing vars in the documentation: lists and clients also have a &lt;tt&gt;tag&lt;/tt&gt; var, images have all (IIRC) the vars objs have, /sound has all the vars of /datum, all the non-datum objects except /world have &lt;tt&gt;type&lt;/tt&gt; and &lt;tt&gt;parent_type&lt;/tt&gt; vars (and those vars are sometimes not included in the ref even for datums), etc.&lt;br&gt;
&lt;br&gt;
Also, a reference entry about the &quot;Appearance&quot; object (the object inside &lt;tt&gt;overlays&lt;/tt&gt;) would be nice, detailing what vars it has and any other info that could be useful.&lt;/li&gt;

&lt;li&gt;The reference entries for the &lt;tt&gt;verbs&lt;/tt&gt; list and &lt;tt&gt;typesof()&lt;/tt&gt; don't mention that in addition to receiving types as type paths, they also support receiving them as text strings; a useful ability.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Being able to access the input type bitflags&lt;/b&gt; and dynamically feed them into &lt;tt&gt;input()&lt;/tt&gt; would be nice. It would be useful for those situations when you need to provide a wrapper procedure for &lt;tt&gt;input()&lt;/tt&gt; (examples: making a wrapper proc set a global variable that lets &lt;tt&gt;AllowUpload()&lt;/tt&gt; know for what it was called, making timed inputs). Currently, when doing so you'd need to manually cover all the input type combinations yourself, which is, needless to say, unclean, unrobust, unflexible... you get the point.&lt;br&gt;
Not sure what the syntax for this should be... maybe using 'as' once more:
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
mob/&lt;span class=&quot;dmkeyword&quot;&gt;verb&lt;/span&gt;/input_number()&lt;br&gt;   MyInput(src,&lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; num)&lt;br&gt;   &lt;span class=&quot;dmcomment&quot;&gt;//or&lt;/span&gt;&lt;br&gt;   MyInput(src,&lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; null|num)&lt;br&gt;&lt;br&gt;   &lt;span class=&quot;dmcomment&quot;&gt;//or, using a dummy proc for this could look better&lt;/span&gt;&lt;br&gt;   MyInput(src,INPUT(null|num))&lt;br&gt;   &lt;span class=&quot;dmcomment&quot;&gt;//or&lt;/span&gt;&lt;br&gt;   INPUT(&lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; null|num)&lt;br&gt;   &lt;span class=&quot;dmcomment&quot;&gt;//or&lt;/span&gt;&lt;br&gt;   input_type(&lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; null|num) &lt;span class=&quot;dmcomment&quot;&gt;//...&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;dmkeyword&quot;&gt;proc&lt;/span&gt;/MyInput(target,input_type,list,...)&lt;br&gt;   world.log &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;input of type &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[input_type]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt; started for &lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[target]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;&lt;/span&gt;&lt;br&gt;   &lt;span class=&quot;dmcomment&quot;&gt;//(^embedding in text would give the number, I suppose)&lt;/span&gt;&lt;br&gt;   input(target,...) &lt;span class=&quot;dmkeyword&quot;&gt;as&lt;/span&gt; input_type &lt;span class=&quot;dmcomment&quot;&gt;//... could use similar syntax to those in #26, I guess&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Being able to modify &lt;tt&gt;world.host&lt;/tt&gt;&lt;/b&gt;: the purpose of this is twofold: being able to change what appears in server entries after &quot;hosted by&quot; (e.g., &quot;hosted by Main Server&quot;,&quot;hosted by Supernatural Productions&quot; or whatever) and being able to change who your code (and libraries', etc) treats as the host, by setting it into a different key.&lt;br&gt;
If manually set, it shouldn't automatically reset when the host logs in/out. However, manually setting it to &lt;tt&gt;null&lt;/tt&gt; (or maybe 0) should immediately restore that behavior.&lt;br&gt;
Now that I think about it, a potential exploit with this could be that if you set it to say &quot;Main Server&quot;, someone with the key &quot;Main Server&quot; could log in and accidentally be regarded as the host... so that usage should be pulled off differently, by adding a new var that overrides &lt;tt&gt;world.host&lt;/tt&gt; in the hub display, so it's similar to &lt;tt&gt;status&lt;/tt&gt;... perhaps &quot;&lt;tt&gt;world.host_status&lt;/tt&gt;&quot;. While we're adding this, that var should also replace the hardcoded &quot;hosted by&quot; part on the hub page, so you're able to use different wording or grammar if you want.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Either make the path procs&lt;/b&gt; (ispath(), text2path()) &lt;b&gt;support procedure type paths&lt;/b&gt; (/mob/proc/Attack) &lt;b&gt;and 'procedure declaration paths'&lt;/b&gt; (/mob/proc,/mob/verb), which &lt;tt&gt;typesof()&lt;/tt&gt; supports, &lt;b&gt;or document the fact that they're not supported&lt;/b&gt;.&lt;br&gt;
(All of the following return either 0 or null:)
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
ispath(/mob/&lt;span class=&quot;dmkeyword&quot;&gt;verb&lt;/span&gt;)&lt;br&gt;ispath(/mob/&lt;span class=&quot;dmkeyword&quot;&gt;verb&lt;/span&gt;/Test)&lt;br&gt;text2path(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;/mob/verb&amp;quot;&lt;/span&gt;)&lt;br&gt;&lt;span class=&quot;dmcomment&quot;&gt;//( text2path(&amp;quot;/mob/verb/Test&amp;quot;) works fine)&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Add the ability to designate a .dm file to always load first&lt;/b&gt;, by a compiler preference (stored in the DME). This file should always be compiled first (before libraries as well), and should appear at the top of the file list (if it's in a folder, it might be better to make it only the first inside that folder, then) irregardless of name, and have a marked display (e.g. name underlined or in bold). Why this would be useful is obvious, and it would also add the ability to intuitively include a file before libraries are, which is sometimes needed (for example, in the case where you can enable features or change the behavior of a library by #defining something before it's compiled).&lt;br&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;br&gt;
Some ideas are more fleshed out, and others are a little more at the 'brainstorm level', so I'd value any constructive input you may have. Discussions of the features should probably be kept concise though, seeing as this thread would quickly become a garbage dump if ~20 separate verbose discussions were to start.</description>
        </item>
                <item>
            <title>Special &lt;IMG&gt; tag in browsers</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=132894</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=132894</guid>
            <pubDate>Mon, 17 Aug 2009 21:48:10 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=132894#comments</comments>
            
            <description>Could browser controls (and popups) be made to support the special DM-based &amp;lt;IMG&amp;gt; tag properties (the iconstate, icondir etc attributes)? They're supported by seemingly every HTML-supporting control (output, grid, info) but not actually by the browser itself, funnily enough (oversight, perhaps?).&lt;br&gt;
Just earlier I answered a newbie that could use this feature in browsers, and thought why shouldn't the browser have it as well, like the other controls. If not for misc usefulness, then it should be added at least for completeness' sake. =P If possible.</description>
        </item>
                <item>
            <title>Server communications client (aka 'Export()/Topic() client'</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133028</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133028</guid>
            <pubDate>Sat, 06 Jun 2009 08:31:12 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=133028#comments</comments>
            
            <description>Could the dummy temporary client (discussed in &lt;a href=&quot;http://www.byond.com/forum/?post=701868&quot;&gt;ID:701868&lt;/a&gt;) used to transmit server topic messages be made DM-inaccessible? Namely by means of a &lt;tt&gt;for()&lt;/tt&gt; loop (&lt;tt&gt;for(var/client/C)&lt;/tt&gt;), since it's otherwise properly inaccessible (AFAIK). Since it's not exactly even a whole or proper client and is only used for internal stuff, we should have no business accessing it; I suggest the ability to do that to be removed, since it could only cause problems when this client isn't taken into consideration (which should currently be the case for a lot of projects and programmers), since it doesn't behave like one would expect a client to, and requires validating every client ever being looped through in order to completely prevent potential (though not necessarily common) problems (normally AFAIK, you don't have to bother with validating clients/their mobs if you don't mess with &lt;tt&gt;client/New()&lt;/tt&gt; in the project).&lt;br&gt;
So yeah... this isn't a very important suggestion, but I feel it should be implemented, which hopefully should be simple and pretty quick to do. :P&lt;br&gt;
Note: The minority of this isn't worth adding on to the back-burner! &amp;gt;_&amp;gt;&lt;br&gt;
&lt;br&gt;
(Quick and easy clarification for people that haven't read the other topic: this code-
&lt;div class=&quot;dmcode&quot;&gt;
&lt;table width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre class=&quot;dmcode&quot;&gt;
world/Topic()&lt;br&gt;    &lt;span class=&quot;dmkeyword&quot;&gt;for&lt;/span&gt;(&lt;span class=&quot;dmkeyword&quot;&gt;var&lt;/span&gt;/client/C)&lt;br&gt;        world &amp;lt;&amp;lt; &lt;span class=&quot;dmstring&quot;&gt;&amp;quot;Found client: (&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[C]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;) key (&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[C.key]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;) mob (&lt;/span&gt;&lt;span class=&quot;dmbrace&quot;&gt;[C.mob]&lt;/span&gt;&lt;span class=&quot;dmstring&quot;&gt;)&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;br&gt;mob/&lt;span class=&quot;dmkeyword&quot;&gt;verb&lt;/span&gt;&lt;br&gt;    Communicate()&lt;br&gt;        world.Export(&lt;span class=&quot;dmstring&quot;&gt;&amp;quot;127.0.0.1:111?abc&amp;quot;&lt;/span&gt;)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;
...gives this output after &lt;tt&gt;Communicate()&lt;/tt&gt; is ran:&lt;br&gt;
&lt;pre&gt;
Found client: (Kaioken) key (Kaioken) mob (Kaioken)
Found client: () key () mob ()
&lt;/pre&gt;
&lt;br&gt;
I'd like not to get that 2nd client.)</description>
        </item>
                <item>
            <title>world/IsBanned() modification</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133201</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133201</guid>
            <pubDate>Sat, 31 Jan 2009 02:13:01 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=133201#comments</comments>
            
            <description>Could &lt;tt&gt;world/IsBanned()&lt;/tt&gt; be changed so it's always called for a logging-in player? Currently it isn't called when the host logs in, which is inconvenient as it makes it more annoying to test-run &lt;tt&gt;IsBanned()&lt;/tt&gt; overrides (it even often confuses newbies into thinking their code doesn't work, when it normally would) and that functionality could also be useful for cases like preventing players (&lt;b&gt;including&lt;/b&gt; the host) from multi-keying through &lt;tt&gt;IsBanned()&lt;/tt&gt;.&lt;br&gt;
&lt;br&gt;
Also, (if and) while you're going about implementing that, you could also spice up &lt;tt&gt;world/IsBanned()&lt;/tt&gt; a bit. I leave you the thinking.&lt;br&gt;
Yeah well, I do have some things in mind. :P&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Maybe it could include additional useful info in its arguments that is unavailable in the phase of &lt;tt&gt;IsBanned()&lt;/tt&gt;-callage, such as the connecting player's BYOND version (this would alternatively let you if the player connected from telnet), gender, OS, and maybe as a complement or shout-off to &lt;tt&gt;control_freak&lt;/tt&gt;, if that player is using a custom (or altered) interface of the world &lt;small&gt;(this is already available in the mentioned var, but you could for example discriminate and do this dynamically in this way, by allowing 'kool' people like staff and the owner custom skins but not the other players)&lt;/small&gt;, and maybe even if that player is using some altered snazzy DMS scripts or something, or a DMS script from the BYOND site (ok, I ran out of things to list).&lt;br&gt;
&lt;br&gt;
This would conveniently grant you the ability to, for example, quickly ban all females, or all *nix users. xD Joking of course... so maybe it wouldn't be as useful for rational people (other than the byond_version), but for the sake of completion perhaps? (but one may still do want to ban all neuters, for instance)&lt;/li&gt;

&lt;li&gt;Could the result of &lt;tt&gt;IsBanned()&lt;/tt&gt; be somehow forwarded on to &lt;tt&gt;client/New()&lt;/tt&gt; if the player is granted connection, so it can be known without calling &lt;tt&gt;IsBanned()&lt;/tt&gt; again? I cite this from the Reference as the clarification:&lt;br&gt;
&lt;br&gt;
&lt;font face='Times New Roman'&gt;&lt;b&gt;[...] Tom was banned through some other means, and he has been allowed to login, even though he is banned. (Code in client/New() might then check IsBanned() and somehow limit his activities in the game.)&lt;/b&gt;&lt;/font&gt;&lt;br&gt;
&lt;br&gt;
This is potentially a pretty good idea, but you can't actually do this without manually re-calling &lt;tt&gt;IsBanned()&lt;/tt&gt; with the right arguments for the player (which is kinda silly), or other methods consisting of more-roundabout-than-it-should-be silliness. If possible, &lt;tt&gt;client/New()&lt;/tt&gt; should have an argument that is in practice what &lt;tt&gt;IsBanned()&lt;/tt&gt; returned for that player (which could be a list with a bunch of info, or just a value like 0). Or if this is tricky for some reason, then at least a flag that is set to one value if the &lt;tt&gt;&quot;Login&quot; = 1&lt;/tt&gt; parameter was set (to allow a banned player to login), and to another if it was set because of a pager-ban, for completeness.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;br&gt;
Thank you for reading kind sir, and have a great day.&lt;br&gt;
&lt;br&gt;
&lt;code&gt;&lt;small&gt;&lt;font size=&quot;0.1337&quot; color=&quot;blue&quot;&gt;Disclaimer: I wrote this up at 4 AM. This is without sleeping of course, since I'm a kool guy.&lt;/font&gt;&lt;/small&gt;&lt;/code&gt;</description>
        </item>
                <item>
            <title>Quick suggestion: Use default interface as template</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133429</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133429</guid>
            <pubDate>Fri, 29 Aug 2008 03:25:40 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=133429#comments</comments>
            
            <description>Well, when creating a new interface file in Dream Maker through File-&amp;gt;New, if possible, it would be handy to have a checkbox appear when 'Interface File' is selected (&quot;Use default interface as template&quot; or something to that extent) that will cause the default skin file to be copied from the BYOND directory to the project's, and be renamed to the given name, instead of a new file to be created.&lt;br&gt;
This is useful as it's handier than digging for it in the BYOND folder, copying it, clicking Refresh etc, and could be a common action to do in projects where you don't really use a custom interface, but you just need to tweak a few controls/parameters. While presently not too difficult, this feature would both make it easier to do for newbies and cause them to be aware of the ability to do so (copying the default interface) more obviously and have it integrated into the program. Well, I just thought this would be nice to have after copying it for like the 5th time or so. =P</description>
        </item>
                <item>
            <title>Firefox screwup?</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=182354</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=182354</guid>
            <pubDate>Fri, 08 Aug 2008 00:55:36 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=182354#comments</comments>
            
            <description>So, I finally got around to installing Firefox 3, and now I noticed I have this (&lt;a href=&quot;http://www.byond.com/forum/?post=642434&quot;&gt;ID:642434&lt;/a&gt;) problem: code boxes on the forums stretch the whole page itself instead of having scrollbars and not stretching anything. This didn't happen with Firefox 2, did Mozilla up? Or did the site break just when I happened to install it (=P), or do other FF3 users not experience this? It's quite annoying, like someone is posting a huge image on every developer topic. =(</description>
        </item>
                <item>
            <title>Hiding atoms' names</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133523</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133523</guid>
            <pubDate>Sun, 13 Jul 2008 13:07:16 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=133523#comments</comments>
            
            <description>I thought it could be nice if we had a var like &lt;tt&gt;mouse_opacity&lt;/tt&gt;, but that only accounts for the atom's name display when the mouse is hovered over it (or have this implemented as flags into the existing var), meaning when it is set to 0, the &lt;tt&gt;name&lt;/tt&gt; is not displayed*, but mouse actions (right-clicking, Click()) still work. Just a quick, not essential suggestion to add to the List if you guys like it.&lt;br&gt;
&lt;br&gt;
*: As per &lt;tt&gt;mouse_opacity&lt;/tt&gt;, the name of the object under that atom will be displayed instead, if any.</description>
        </item>
                <item>
            <title>True/false values in the DM Reference mistake</title>
            <link>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133534</link>
            <guid>http://www.byond.com/members/Kaioken?command=view_post&amp;post=133534</guid>
            <pubDate>Tue, 01 Jul 2008 02:52:29 +0000</pubDate>
            
            <comments>http://www.byond.com/members/Kaioken?command=view_comments&amp;post=133534#comments</comments>
            
            <description>I noticed that in the DM Reference, apparently all entries (except for the one on &lt;tt&gt;null&lt;/tt&gt;) regard false values as equal to 0, or more commonly, regard true values as &quot;non-zero&quot;; CTRL-F for this &quot;true (non-zero)&quot; in the DM Reference. Basically all entries that have this or similar, are misleading and should be fixed. This may be a big factor in the &quot;== operator abusage&quot; in checking for 0/1 values.&lt;br&gt;
Most importantly, this is also wrong in the entries for things like the &lt;b&gt;if statement&lt;/b&gt; and the &lt;b&gt;! operator&lt;/b&gt;.&lt;br&gt;
I'm not sure if this was left unupdated or not or is there for some other reason, but the reference should be more accurate for the sake of DM-newbies that don't know what true/false values in DM are.</description>
        </item>
            
    </channel>
</rss>


