RvS -= 1; SWAT4 += 1

I spent part of the playing around with Raven Shield and SWAT 4: TSS. Although to the best of my knowledge, Unreal Engine 2 did have support for joysticks, both these games shipped with that support half-assedly disabled 8=). In short, the games basically ignore all joystick input.

Never being one easily daunted, the three obvious solutions occurred: A/ configure the games for keyboard only operation and the joystick to emulate keyboard input; B/ use AHK; and C/ write a small toy to emulate a mouse by way of joystick input. I have already done A, and plan to test out B tomorrow (eh, today), if need be, perhaps play with C at some later date just for fun.

Under the Unreal Engine, or at least UE2: movement is a fairly simple thing. Basically you apply a positive or negative “Speed” factor to a given axis, resulting in some kind of movement: such as translating the players pawn(?) or moving the cursor. It’s kind of simple, +/- base X and Y axises are more or less your walk. Where as the aBaseX and aBaseY axises correspond to the mouse. For SWAT, the task is basically as simple as binding a group of keys to apply +/- Speed to those axises. The bigger the speed, the more reaction you get per key press. In Raven Shield however, despite several methods tried, only positive and negative X (left/right) movement was fully working. Irregardless of change, only upward Y movement was possible in RvS o/. After 6 years of it, I am often the first to call Raven Shield a pile of crap. Tuning my retired joystick to trigger those keys, is fairly simple: although the profiler lacks mapping JS to mouse aixses, sadly.

While it is possible to configure SWAT 4 for keyboard only operation, and thus JS based aiming; it creates somewhat of a problem. It’s virtually impossible to both be able to turn/maneuver around obstacles and to aim and fire at targets. The reason for this is somewhat Unreals fault, that and the fact that “Keyboard acceleration” is not quite, eh, the same as mouse acceleration. In testing with my stick, I found values of +/- 3.75 to 4 tended to work good for aiming, where as +/- 5 to 8 work better for turning. Since a joystick should garner a form of movement more acline to that of mouse acceleration, rather than a keyboards uniformity, it causes a conflict of interest. Mouse acceleration works on the indea, of increasing the speed of mouse movement in proportion to the distance you move it, e.g. it gets faster as the further you move it; where as accelerated it always moves at a steady rate. Perhaps a good if incomplete explanation, for anyone whose played a Playstation with an analog controller: mouse = stick, keyboard = d-pad; thus mapping js to keyboard = d-pad != analog stick. Obviously to play an FPS with a joystick, you don’t want it to behave like a sluggish ‘d-pad’. One way to solve this, would be to dynamically modify the Speed= value used by the key, incrementing/decrementing it by some stepping per use; while not as elegant as it might sound to some, is also impossible. UE2s console and command system could only handle the ++ and — operations by writing out the increment steppings using the pipe(|) operator, and following it up with an OnRelease operator to reset it back.

A better solution, obviously is just playing a ficken game with joystick support ^/.

As for the aforementioned method B, wouldn’t you happen to know that it’s already there. It would be the best solution, and AutoHotKey is a fine bit of software; one I’ve always wanted to find a good use for in games. Depending on how well it can be made to work at converting a JS into a mouse compatible HID, in particular with games in general, I might actually give up using the mouse for regular desktop usage. Thanks to my laptop and having encountered a fair bit of hardware in life’s travels, I have no special attachment to PC mice: only hatred for ones without tails. Than again, I don’t like wireless hardware for much, period.

The third method (C), well, is one that I would only consider worth the effort, because of the learning about Windows specifics that it would involve. I wouldn’t be surprised if Microsoft had it as a sample app somewhere either. The libraries I rely on for input backends (e.g. in Stargella) have their own portable handling of joysticks as is, so I’ve no real reason to care lol.

Tweaking my noise at the old API

In fooling around with the Windows API, I’ve just had an enjoyable moment of guffawing. As a quick test of the JS stuff in winmm, I hooked up MM_JOY1MOVE to MessageBox() and ran the program under the debugger. It resulted in an endless stream of MessageBox(), resulting in the Windows task bar hanging, and taking at least 25-30 seconds to recover, after the program had finally overflowed the stack, been examined, and finally terminated manually.

I almost died laughing lol.

A little fun with RSS

In a bit of experimentation, I’ve been thinking about ways to improve the way a certain popular web platform plays with the services I utilise. So, today I began playing with two new toys: FeedBurner and Yahoo! Pipes.

Feed burner offers a bit better control over ones RSS feeds, than most web services that I’ve encountered do; in particular, much better than both Live Journal and Blogger. For what it’s worth, I’ve converted my blogger feed over to the burner, allowing me to trivially add a few things to the feeds without disturbing any existing subscribers. The main difference, is now I can tweak things for stuff that I feed my journals RSS into, hehehe.

One downside of FeedBurner, is that its ability to merge feeds with the “Link Spicer” feature is quite limited. In particular, it’s little value beyond a limited set of common services. Enter Yahoo! Pipes: using it, I was able to (trivially) munge together several of my service feeds into a singular one, e.g. combing several photo album steams into one pipe. I’ve created several feeds, that I doubt anyone will be interested in; but allow me to route selected information sources into RSS aware entities.

Although Really Simple Syndication has been around for more or less, a solid decade: few people understand it’s true value. Properly managed, web feeds whether built on RSS or not, can achieve part of that interoperability that certain keyword jugglers puddle about with XML, and it’s been here for years. If you want to cram steams of data somewhere, odds are you should be looking to see if some type of web feed will fit the bill, rather then throwing together yet another obscure XML format to juggle. Bonus points include that decent libraries are already available, which can save some time and make easier to read web app code later ^_^.

Recharging time

As today marks the first in six days off work, my plan is to spend it on rest and relaxation, assuming no one has any more nukes to juggle 8=). If anything explodes, people can push a fix it task out to my RTM, but I’m taking it easy for a while lol.

The most stressful thing I’m doing this week, is moving over more old entries from Live Journal!

Interesting…

I’ve noticed that if I place my screen window into copy mode while the compiler runs, Firefox doesn’t become so massively unresponsive, slower, but no where near as slow. This makes me wonder a bit.

Either way, I can run less bloated web browsers on this meager laptop without any hiccups from a running compiler 8=).

My heart aches, and a drowsy numbness pains
My sense, as though of hemlock I had drunk,
Or emptied some dull opiate to the drains
One minute past, and Lethe-wards had sunk:
‘Tis not through envy of thy happy lot,
But being too happy in thy happiness,—-
That thou, light-winged Dryad of the trees,
In some melodious plot
Of beechen green, and shadows numberless,
Singest of summer in full-throated ease.

O for a draught of vintage, that hath been
Cooled a long age in the deep-delved earth,
Tasting of Flora and the country green,
Dance, and Provencal song, and sun-burnt mirth!
O for a beaker full of the warm South,
Full of the true, the blushful Hippocrene,
With beaded bubbles winking at the brim,
And purple-stained mouth;
That I might drink, and leave the world unseen,
And with thee fade away into the forest dim:

Fade far away, dissolve, and quite forget
What thou among the leaves hast never known,
The weariness, the fever, and the fret
Here, where men sit and hear each other groan;
Where palsy shakes a few, sad, last gray hairs,
Where youth grows pale, and spectre-thin, and dies;
Where but to think is to be full of sorrow
And leaden-eyed despairs;
Where beauty cannot keep her lustrous eyes,
Or new love pine at them beyond tomorrow.

Away! away! for I will fly to thee,
Not charioted by Bacchus and his pards,
But on the viewless wings of Poesy,
Though the dull brain perplexes and retards:
Already with thee! tender is the night,
And haply the Queen-Moon is on her throne,
Clustered around by all her starry fays;
But here there is no light,
Save what from heaven is with the breezes blown
Through verdurous glooms and winding mossy ways.

I cannot see what flowers are at my feet,
Nor what soft incense hangs upon the boughs,
But, in embalmed darkness, guess each sweet
Wherewith the seasonable month endows
The grass, the thicket, and the fruit-tree wild;
White hawthorn, and the pastoral eglantine;
Fast-fading violets covered up in leaves;
And mid-May’s eldest child,
The coming musk-rose, full of dewy wine,
The murmurous haunt of flies on summer eves.

Darkling I listen; and for many a time
I have been half in love with easeful Death,
Called him soft names in many a mused rhyme,
To take into the air my quiet breath;
Now more than ever seems it rich to die,
To cease upon the midnight with no pain,
While thou art pouring forth thy soul abroad
In such an ecstasy!
Still wouldst thou sing, and I have ears in vain—-
To thy high requiem become a sod

Thou wast not born for death, immortal Bird!
No hungry generations tread thee down;
The voice I hear this passing night was heard
In ancient days by emperor and clown:
Perhaps the self-same song that found a path
Through the sad heart of Ruth, when, sick for home,
She stood in tears amid the alien corn;
The same that oft-times hath
Charmed magic casements, opening on the foam
Of perilous seas, in faery lands forlorn.

Forlorn! the very word is like a bell
To toll me back from thee to my sole self!
Adieu! the fancy cannot cheat so well
As she is famed to do, deceiving elf.
Adieu! adieu! thy plaintive anthem fades
Past the near meadows, over the still stream,
Up the hill-side; and now ’tis buried deep
In the next valley-glades:
Was it a vision, or a waking dream?
Fled is that music:—-do I wake or sleep?

Ode To A Nightingale—John Keats, 1819

So much for sleepin’ in

Well, it seems that I am awake before the sun rises, yet again! Yesterday I woke up at just a bit past 0300, feeling like I had slept all morning long, actually had to triple check the alarm clock and look out the window, to make sure ma wasn’t playing a joke. This morning, it’s like having the brain switch on to far, in order to go back to sleep: been that way for a while, save nights where I’ve hardly slept at all.

From all the years I’ve spent working into the night, sometimes until after dawn: and usually having to be up for work. Last year, I reached the point where I rarely can sleep more then three or four hours at a time, like automatically waking up without any alarms chiming. Attempting to actually get into the habit of waking up ‘early’ having generally failed, as I like falling back asleep to much lol, that was never much of a problem. With a friends recent trip (which I’ll just say, involved dangerous ground), and the impact it had on my dreams, I think has helped to cement it into my mind: to wake up, and to stay up. Something I’ve been unable to hammer into it for years lol.

Traditionally, I’d sleep straight through like a log, if ever waking up: just long enough to stagger off to relive myself of a pint or so lol. Working habits becoming more eratic, caused me to drift more in the habit of waking up at least 2 or 3 times every night, at fairly regular intervals o/. For the past two and a half months or so, I’ve been waking up and generally, been reaching wide awake quite quickly.

While I reckon, not the way intended, I would say that’s still an objective complete: getting into the habit of waking up early. Last time I was successfully in this habit, was when I was working shifts of 0400-2000 on a regular basis; where there was no real choice in the matter. Honestly I prefer getting up early, over sleeping in until which ever comes first: work or lunch time.

Maybe I might even learn to eat breakfast like the rest of the world lol.

One that’s been on the radio a lot lately

I know they say you can’t go home again
I just had to come back one last time
Ma’am I know you don’t know me from Adam
But these handprints on the front steps are mine

Up those stairs in that little back bedroom
Is where I did my homework and I learned to play guitar
I bet you didn’t know under that live oak
My favorite dog is buried in the yard

I thought if I could touch this place or feel it
This brokenness inside me might start healing
Out here it’s like I’m someone else
I thought that maybe I could find myself
If I could just come in I swear I’ll leave
Won’t take nothing but a memory
From the house that built me

Mama cut out pictures of houses for years
From Better Homes and Gardens magazine
Plans were drawn and concrete poured
Nail by nail and board by board
Daddy gave life to mama’s dream

I thought if I could touch this place or feel it
This brokenness inside me might start healing
Out here it’s like I’m someone else
I thought that maybe I could find myself
If I could just come in I swear I’ll leave
Won’t take nothing but a memory
From the house that built me

You leave home and you move on and you do the best you can
I got lost in this old world and forgot who I am

I thought if I could touch this place or feel it
This brokenness inside me might start healing
Out here it’s like I’m someone else
I thought that maybe I could find myself
If I could just come in I swear I’ll leave
Won’t take nothing but a memory
From the house that built me

The House That Built Me—Miranda Lambert

Although I have to admit, I’ve always feared in the long run, that I’d rather strike a match.