Friday, July 1, 2011

Steam Servers Are Too Busy...

Recently, I received a guest pass for a game on Steam which is certainly a welcome surprise (Thanks Anton!). As you may or may not know, Steam's guest pass allows recipients to play the full retail game for a couple of days. In this case, I have 3 days (I think!) to play this new title.

Fire up Steam, and I immediately jumped into this deal, but as I tried to download the game, I noticed something woeful. Each time I tried to install it, I get Steam Servers are too busy. Okay, so maybe after a few minutes. Again, I get this problem. Hmm...

As it turned out, I had spent the entire morning trying to grab the game, compounded by:
  1. Steam Servers are too busy errors...
  2. Steam freezing on me...
  3. My internet disconnecting.
Steam was kind enough to explain to me that the license expiration begins the moment I enable the guest pass key. Splendid. Now, I get to try and download this game and if I'm lucky, I might get a minute of play out of it. What a great deal!

Thursday, June 16, 2011

Programming 101 Note

I've had the displeasure of having to sift through someone else's code and trying to fix some really serious kinds of bugs that has spawned from very, very poor programming practices. I've dealt with this code structure many times in the source and I just really want to vent out.

Code like the one below should not be tolerated at all times.

try {
//some code here.
} catch { }

Please, if you're a programmer, DO NOT DO THIS!

Saturday, May 14, 2011

Don King's Prizefighter: Joe Calzaghe vs Buster Dog

For a couple of times, I've played as Joe Calzaghe on Don King's Prizefighter and fought some boxers like Chris Eubanks and Andre Berto, for the most part without encountering much trouble nor resistance. I then began to think about seeing how I'd do against my overpowered boxers. Naturally, that meant Joe Calzaghe vs Buster Dog at hard difficulty.

I brought everything I learned from the Andrew Golota fight into this bout, defending smart and moving away when I get in trouble. Also, I decided to give my game plan a little tweak here and there. Normally I'd throw plenty of body jabs to hurt and stiffle the opponent's offensive, but that did not work well in stopping Buster's assault. For this fight, I decided to try and throw more body hooks instead as they are more damaging than the jabs and straights.

At the first round, the speed and power that Buster brought to the table was immediately felt. He got some good combinations in but I kept moving and throwing body hooks. As the round went on, I realized that the hooks were good weapons in stopping his punches. It allowed me to stun him on multiple occasions and really wear him out. It was at this moment that I thought that the fight was pretty much it.

When round two started, Buster quickly reminded me this wasn't the end yet, with him losing none of that speed and power that made him dangerous. I could not put together a better offense here and was at one point, in trouble of getting knocked down. Fortunately, I was able to knock him down to get an otherwise closely contested round.

After that scare, I wasn't going to ease up on him. I made sure to stay diligently on offense and defense. Everytime I put him down however, he just got up, showing no signs of ever slowing down.

By round seven, I was contemplating that the fight was going to go all twelve rounds, as Buster just kept at it and I kept chipping at him, hurting him as much as I could. When the knockdown came, I realized that Buster was finished. The ten count came and I had finally knocked him out.

It was still a tough fight but nowhere on edge like the Golota fight was. Buster is always dangerous if you give him a chance to hit you. This time, I was more than prepared to face him.




Wednesday, April 27, 2011

Fahrenheit Post-Install stuff...

Well, after playing around with the game, I noticed a couple of things. First is that the dialog cuts like five or six seconds too early. This seems to be something to do with the game's internal timer because the conversations are spoken at a normal pace. Second is that at 1024x768, the game does slow down, making things pretty annoying when trying to interact with objects in the game. I bumped down the resolution to 800x600 which makes the game run perfectly. The last thing is that I changed the Fahrenheit bottle to be the default bottle and that has made the Desktop emulation option on winecfg take effect.

I'm pretty much set and have gone through a couple of chapters so it's been fun overall.

Tuesday, April 26, 2011

Playing Fahrenheit on CrossOver Games 8 (Lame Duck) on Ubuntu 9.10 (without Windows!)

I liked Atari's Fahrenheit when I played it years back, so I was delighted to see that wine's support for it was pretty much good. As usual with wine, it's not quite as straightforward as popping the disc and everything will pan out right. As it turned out, the winehq app database entry for Fahrenheit stresses the need to install the version 1.1 patch for the game and the No-CD patch for everything to work. No-CD patching is really the norm with Wine as copy protection simply doesn't work at all and no, you're not going to find links to that in this article!

Installing

Installing turned out to be a breeze with CrossOver Games 8 but we still need to update the game. Patching to 1.1 seems like not much of a big deal but apparently Wine support for the MSP file format is pretty dodgy right now and the 1.1 patch only comes in the MSP format (I think it's used in msiexec). I didn't like the proposed idea of installing Fahrenheit to Windows and patching it there, so I thought of another way to get this thing running.

Over this link, I figured that using another application to extract the MSP package was the next option. The program MsiX seems to do this relatively fine, so I grabbed the patch and extracted the Patch to see its contents.

$ <$CX_install>/bin/wine --bottle Sample MsiX.exe "Fahrenheit Patch1_1.msp" /out outdir

In case you're wondering, outdir is the target directory where MsiX will dump everything. CrossOver Games extracted it without any problems at all. In this directory, you'll see three files, #QPPrev1ToQPNewVersion, QPPrev1ToQPNewVersion, and PCW_CAB_Family00. The only file we're really looking for is PCW_CAB_Family00 which is a cabinet (.cab) file. With this we simply run cabextract!

$ cabextract PCW_CAB_Family00
Extracting cabinet: PCW_CAB_Family00
extracting fahrenheit.exe
extracting bytecode.btc

All done, no errors.

The Fahrenheit patch only has two files, the executable and a file called bytecode.btc. It's fairly obvious that the executable here is copy-protected so, that's not much of any help here. The file bytecode.btc contains updated information that should be copied to C:\Program Files\Atari\Fahrenheit\obj\BYTECODE.BTC. Once you overwrite the bytecode.btc file as well as apply the correct No-CD patch (as advised in the winehq database entry), you should get a patched version of Fahrenheit.

PulseAudio

CrossOver Games 8 has big problems with pulseaudio and its bloody annoying as the game audio stutters badly and the game freezes as soon as Lucas leaves the restroom of the diner! I scoured the net for information on this and came up with padsp which is an OSS wrapper to PulseAudio. So to get the audio working fine, I had to run the games with the OSS wrapper plus set the audio drivers to OSS.

$ padsp sh -c <$CX_install>/bin/cxsetup

This will run the CrossOver Games configuration Window, and from there you can get to the control panel for your Fahrenheit bottle and configure the Audio tab on winecfg. To run the game, I had to wrap it with padsp as well.

$ padsp sh -c <$CX_install>/bin/fahrenheit

The game should run now without problems. It goes full screen and I'm not sure why, but at least the game doesn't freeze and the audio doesn't stutter anymore. Next part is to revisit the game!




Tuesday, February 22, 2011

TCL Code to convert Empathy Chat Logs to HTML

I have had it with Empathy and to completely sever my dependence to this Instant Messenger, I had written a TCL code to convert the chat log to something Pidgin finds easier to handle.

Please note that this script is in a very rough form and I cannot stress enough to BACKUP YOUR DATA. I've seen a couple of minor bugs but I think it should convert the messages just fine. This will delete the old log files after processing them, so please remember to BACKUP YOUR DATA.

THIS SCRIPT IS OFFERED AS IS WITH NO EXPLICIT NOR IMPLICIT GUARANTEES IT WILL WORK. USE AT YOUR OWN RISK.

Without further ado... TCL Script

Monday, February 21, 2011

UPDATE: And now, forced to backport Pidgin for Karmic

After some time of tolerating Empathy on Karmic, I have finally had enough of this. The app just does not get updates and I'm experiencing MSN frustrations with it as buddies do not appear when they do on Pidgin.

As it turns out, Pidgin is outdated on Karmic so, I am once again forced to cut myself my own release of Pidgin. This gets really boring after a while, but hopefully I can now get video and voice on Pidgin compiled to see how that goes.

Update: It's done. 2.7.10 on my Karmic. I had a few complications but nothing show-stopping. Libtools was complaining and I did this:
autoreconf --force