Suggestion feasible helpful GMC additions using custom BB Code


The Laughing Rogue

Great to see this place alive and kicking. $:^ ]

As the topic title goes, I'd like this thread to present suggestions for feasible helpful additions to the GMC using XenForo's own built-in ability for admins to create custom BB Code. If mods believe this topic is too broad and should be limited to a single addition per thread, then by all means, put your foot down where need be. $:^ }

1. Linking Terms to the GM:S Documentation

Wouldn't it be nice (read: super awesome to the max) if we could quickly highlight any GML keyword, function, variable, etc. and have the forum link it to the proper docs page and format it to look pretty (read: consistent, conveying immediately what we're seeing)?

Type [DOCS]switch[/DOCS] into the editor -- or highlight switch and press a new "Documentation" button on the editor's toolbar. Results:

<a href=" language overview/401_12_switch.html" target="_blank" class="docs">switch</a>


The advantages should be obvious, especially for those using the Programming forum to request/give help, but also for those suggesting fixes for game issues in the WIP (or even Made with GameMaker) forum. The problems, however, become more and more apparent as I actually attempt to suggest this. $:^ \

  1. Due to the way the online manual is set up, there probably isn't any simple "search and replace" system here (using XF's built-in BB Code wizard thingy). There'd probably have to be a separate PHP callback to match the wrapped text to a long list of key terms.

  2. The good news is that the long list can probably be auto-generated when the docs get updated to simply use anything that shows up in the index, but then some bad news is some index entries go to multiple pages. Default-link to the first option in that case? What if the user really wants to link the second or third page?

  3. More bad news, using a PHP callback might make security an issue, especially since some key terms might be symbols (like --).

  4. Is the EA manual online? If so, I've lost the link to it. Also if so, one would think [DOCS=EA]switch[/DOCS] might suffice, but then we get into the next issue...

  5. Forward-compatibility becomes possible, which is great -- but accounting for it can complicate things. Eventually, GM:Next should land. If [DOCS]switch[/DOCS] is the default, then what happens when (bear with my conjecture here) GM:S 2.0 arrives along with GML 2.0 and a separate, concurrent manual? It would make sense for [DOCS]switch[/DOCS] to now point to the default new stuff -- except all the older posts would now point here, and there might be a syntax/functionality breakage. If the [DOCS] tag always requires an {option} (such as [DOCS=2] or [DOCS=GMS2]), then ... make the first default (assuming for a new toolbar button) something like [DOCS=1]switch[/DOCS] or [DOCS=GMS1]switch[/DOCS] and change the button's default later? What other options would/could make sense? I mentioned EA (Blue). I have a feeling YYG doesn't intend to put Red's manual online. $;^ J (Could be wrong of course, heh.) Or, maybe different bbcode altogether would be preferred to lumping the different docs into one DOCS code...

2. Displaying Action and Event Icons
(without emoticon piggybacking)

I found it quite odd that the actions and events didn't show up in the new GMC. Is the problem the emoticon system? I know it was often painful to use on the old GMC -- especially after the visual formatting changed from beautiful columns of order to a big, jumbled sty of can't-find-anything. And, y'know, :GM83: isn't exactly intuitive to remember, either, thus no shortcut there. Potential solution? New BB Code and toolbar button!

  • [GM]Reverse Horizontal[/GM]

    <img src="/styles/yoyo/gm/GMGreen/Reverse Horizontal.png" class="GM-icon" alt="Reverse Horizontal" title="GM icon: Reverse Horizontal">

  • [GM=GM8]Reverse Horizontal[/GMS]

    <img src="/styles/yoyo/gm/gm8/Reverse Horizontal.png" class="GM-icon" alt="Reverse Horizontal" title="GM icon: Reverse Horizontal">

  • [GM="GM8, text"]Reverse Horizontal[/GMS]

    <img src="/styles/yoyo/gm/gm8/Reverse Horizontal.png" class="GM-icon" alt="Reverse Horizontal" title="GM icon: Reverse Horizontal">&nbsp;Reverse Horizontal
This would amount to a pretty simple search-replace:
  • <img src="/styles/yoyo/gm/{option}/{text}.png" class="GM-icon" alt="{text}" title="GM icon: {text}">
...with optional second (merely Boolean?) option (typing the word "text") to get the &nbsp;{text} tacked onto the end. ... Awww, I'm not immediately seeing a way to add more than one option like how the built-in [QUOTE] tag operates. Hm. I guess one doesn't need an option to auto-add the icon's name after the icon.

I suppose the only drawback to this method (instead of a list of emoticon piggybackers) is you have to properly type the action's or event's name for it to show up (instead of seeing which one you want before intuitively selecting it). Another plus, on the other hand, is that you can actually pick your skin, right? Right?! $E^ D
  • green on dark - default (no option used), or GMGreen
  • orange on dark - GMHTML5
  • legacy, colorful on light - GM8
(My suggestion would use the terms in GM:S' skin picker. I just don't have the easiest access right now to get the options' names exactly right.)

Forward-compatibility might be an issue for when GM:Next hits the shelves, for one due to whatever might happen with skins' existence and names, and for two due to (once again) the question of what counts as default (although requiring an option might fix this, too).

Bob $:^ ]
Last edited:


šŸ§ *penguin noises*
GMC Elder
Liking these suggestions!

There's sort of a workaround for the documentation at the moment, though. Copying text with links from the docs and pasting them in the NewGMC text editor will also copy the links, which is kinda handy.


The Laughing Rogue
Thank you, @Yal (and @Aura and @guadalcanal). Fwiw, on #2, I proposed [GM] instead of [DND] because of actions and events.

Hmmmmm. That made me think of "Easy Linking to the Bug Tracker," but as I typed up the meat of it, it didn't really seem useful. A button that performs search-and-replace for a [BUG] tag doesn't seem any faster than just c/p'ing from the address bar or a from a link -- since I imagine it'd be more likely that a user would need to get to the bug page for its ID anyway -- and linking to a note wouldn't even be a mere search-and-replace since the URL still needs the bug's ID, meaning once again you might as well just c/p the note's URL from the bug's page anyway. Oh well, at least I mulled it over and ended it before trying to turn it into a real suggestion. $E^ J