About Vadym

Thanks for reading!
[dinosaur peeking in from the right] Hey! I now have a newsletter! Come take a look.
You can also follow me on Twitter or Tumblr.

Userstyle: Green fix for GameMaker Community forums

Userstyle for GameMaker Community forums, fixing theme colours back to loved green ones.

If you've been visiting GameMaker Community lately, you might've noticed that forum software update has switched the light theme to new default IPB blue theme.
That is going to be fixed soon (hopefully!), but until then, there's a small solution if you're not too keen of mixed standard blue-green-pink(?!) palette.

First, ensure that you have a browser plugin to add support for userstyle. Seems that a commonly used one is Stylish, but there are also other options.
Also ensure that forum is set to default (blue) theme.

Then, create a new style in said plugin.
"Applies to domain" field would to be set to "gmc.yoyogames.com", obviously. CSS contents can be downloaded here:

Download CSS

After clicking "Save" and refreshing page, theme will appear green-coloured, more or less mimicking the previously used green theme (except maybe slightly softer, since it's a quick CSS recolour of new standard theme).

Optionally, you can also download a ZIP archive with related files, so you can easily substitute links in CSS and host images wherever loads fastest for you.

Should be good.

Vector: Haxe icon

Haxe vector icon

Recently I was searching for at least relatively high-definition icon for Haxe (programming language), and found that there ... just isn't one. The best I could find was icon used on someone's blog, and that had white seams at shape intersections (suggesting anti-aliasing problems).
So I've made one.

The whole icon (after a few manual optimizations) is 1108 bytes, is in SVG format, and seems to meet proportions of original perfectly.
Also sections of icon are made to partially overlap "behind the scenes" to avoid earlier mentioned white seams on shape boundaries.

Download PNG Download SVG

Alternatively, if download links are not working, here's SVG code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
	"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
	xmlns:xlink="http://www.w3.org/1999/xlink"
	width="128px" height="128px"
	viewBox="0 0 128 128" xml:space="preserve">
<g>
	<rect fill="#f7941e" width="96" height="96" x="16" y="16"/>
	<polygon fill="#fdb813" points="0,0 4,32 16,64 64,16 32,4"/>
	<polygon fill="#faa61a" points="0,128 32,124 64,112 16,64 4,96"/>
	<polygon fill="#f36f21" points="128,128 124,96 112,64 64,112 96,124"/>
	<polygon fill="#f58220" points="128,0 96,4 64,16 112,64 124,32"/>
	<polygon fill="#ffcb08" points="0,0 64,16 32,0"/>
	<polygon fill="#fff200" points="0,0 0,32 16,64"/>
	<polygon fill="#fff200" points="0,128 16,64 0,96"/>
	<polygon fill="#f4813c" points="0,128 32,128 64,112"/>
	<polygon fill="#f7941e" points="128,128 64,112 96,128"/>
	<polygon fill="#f15922" points="128,128 128,96 112,64"/>
	<polygon fill="#f15922" points="128,0 112,64 128,32"/>
	<polygon fill="#ffcb08" points="128,0 96,0 64,16"/>
</g>
</svg>
 

GameMaker: Cycling random funky text

The idea behind this effect is simple enough - for every string character that should be randomized, replace it with any other character that has same width (so that the drawn string would not wiggle chaotically).

It uses 3 scripts total - one for general initialization, one for per-font init (creating a map of lists for what glyphs any given one could be replaced with), and one for actual string processing.

Can be handy for various abstract pieces, or as an interesting way to censor text.

Download GMK Live demo

Text versions follow,

Continue reading

GameMaker: Jetpack platformer

This is an older example of mine, featuring pixel-perfect movement and collision engine for jetpack platformer game. As extras, it includes particle spawning, and impact velocity calculations. Current version is updated to have a cleaner code style (no more bracket-less conditions and seriously doubtful operator combinations), as long as more comments (increasing comment coverage to a value close to 100%). Also there was a game being made around this concept once.

Download GMK

Windows 7 – Changing desktop icon label colors

If you've ever disabled casting of shadows by desktop icons in Windows 7 (System - Additional system parameters - Performance), you might have noticed that it's not possible to set actual colour of icon/thumbnail captions.

It is said, that Windows decides that on it's own, judging from image colours (luminance?).

But is it always the right decision?

Probably not. Time to time I get things like these:

However, despite of it being said that this is automatic, there is is a way to influence decision of system on deciding with a colour. And it is actually a simple one.

Continue reading

Haxe: Neko Server-client communication example (chat)

Recently I've been searching for examples of client-server communication in Haxe, however could not find anything specific. After some search and asking around, I was pointed to sys.net.Socket class, but the actual means of usage remained unclear. It was also confirmed to mirror POSIX socket functionality. Indeed it does that, though, given that Haxe implementation uses exceptions rather than return values, usage remained uneasy.

After some experimenting, I've figured a semi-simple way of using "blocking" sockets.

Continue reading

Minecraft: all at once of ChestShop bugs

If you are playing on Minecraft' Bukkit multiplayer servers, you may've heard of a server-sided plugin called ChestShop. Maybe some of servers that you visit even use it. Now, a fact is, that it has a couple of bugs with different negative effects (from server balance point of view). Yes, that happens, plugins do have bugs sometimes. A problem is, that on many servers that I visited, administration would either ignore fact of there being something wrong, or even denying possibility of bugs existing - in both cases taking no steps to fix anything, even if given an explanation, how to.
So I'm publishing a list of bugs with more or less comprehensive information, including measures that need to be taken to exclude these.
Here's a video demonstration (with version 3.46) and a description of each bug pictured in video:
Continue reading