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

Tuesday, February 15, 2011

Git sucks...

For a while I've been using cvs and then moved to subversion for my programming needs. Two years ago, give or take... the team I work with decided to move to Git and it's been a love/hate relationship ever since.

For the most part, every time I try to use git's much praised branching abilities have been met with tragic consequences. For the past year, I've kept an ultra conservative work style with git that has worked for me for the most part.

Lately, I've been trying to expand the work to use more of git and like always, it's been a real pain. This much touted feature on branching has always, and I emphasize always, lead me to conflict resolutions even if the files I have a conflict to resolve does not involve any of the commits from other programmers. As the branch I create get more complicated, the more time I spend trying to merge the work I do with the current code snapshot. This is utterly stupid.

It does not end there. Git seems to literally drop what it's doing when coming across errors while moving to a new remote branch creating a totally weird branch snapshot. I've had years worth of commits disappear in the source tree I'm working on leaving me wondering what the hell just happened. Then I have to roll up my sleeves and try to fix the mess that git left behind.

Git works when I am just trying to code something and commit. Anything else, it's been a tragic mess. Git sucks... for me.

Thursday, January 27, 2011

Just backported Pidgin 2.7.9 on... Gutsy!

I find it very funny that I'm too freaking lazy to upgrade my Ubuntu install on my Acer laptop. It's stuck on Gutsy Gibbon which is really ages ago. When MSN stopped working, I just knew eventually I would have to roll up my sleeves and cut myself a custom release.

I got the pidgin source packages from Ubuntu Natty (I believe) and rebuilt the damn thing. What is impressive is that it's taken me a very short time to get this working. I took painstaking time rebuilding dependencies of Pidgin for my previous backporting effort so it seems that the pidgin releases match those dependencies more.

I only fixed the control files to match the versions I have and changes compat to 4 (5 will probably work). Then on rules, I disabled video and voice (I am so not going to backport the gstreamer libraries!).

A couple of minutes later, I have pidgin 2.7.9 on Gutsy and it's worked like a charm.

Death of a Zaurus

For these past few months, I have found a way to make my Zaurus SL-5600 more useful than it has been for a while. The bulky mp3 player that has a measly 1 GB CF card and a wifi CF card couldn't get me to surf websites without low memory errors, much less surf for more than an hour or so. As I've managed to get my mind wrapped around mobile devices and the internet, I've found ways around them.

My Zaurus is also my mobile device for grabbing e-mails and serves as a repository for my contacts and it is sad to say that it is now gone. It would not turn on and no matter how I tried to resurrect it, it was not meant to be.

Fortunately, I am very happy to own a Nintendo DSi which serves as a better online mobile device for the simple reason of having better battery life. The Zaurus is a powerful little device, and one that I will surely miss.