Archive for the ‘Uncategorized’ Category

xstr 3.1

xstr has been updated with some minor changes. I haven’t updated the xstr page, but the download links point to the new version.

Random Thought: Bilinear filtering of images by web browsers

It’s always troubled me as to why no web browser (well, none that I know of anyway) does bilinear filtering of images. The thought hit me again yesterday when I posted the screenshot of RexUtil. Granted bilinear filtering is more expensive than nearest-neighbor filtering, but even on what would now be considered a low-end CPU, bilinear filtering should be fairly fast. In fact, IIRC, software-based bilinear filtering was done in realtime by some older games including Unreal and Unreal Tournament.

In addition to the visual improvement, bilinear filtering may also result in less web space usage (no extra space needed for thumbnails) and less time spent by a user to put an image on page (no additional work/time required to make bilinear/bicubic-filtered thumbnails). Of course this wouldn’t always be the case, since there are other reasons for using thumbnails (e.g. they allow you to view a gallery w/o downloading all the full-sized images). However, all in all, I think bilinear filtering would be a nice addition to a web browser.

Rex stuff is finally up

All the rex stuff is now up, including the specifications and RexUtil 1.0. I’m considering updating the NZ engine to use Rex files instead of the Quake 2 PAK files it currently uses. Although I don’t know if it’ll be work the effort.

Anyway, here’s a screenshot of RexUtil:

xstr 3.0

The new, revised and improved version of xstr is up. I’ll be updating the xstr page with more information soon, particularly documentation; however, using the class and most of its member functions should be fairly simple even w/o any documentation.

VC++ 2002 with VC++ 2003 Toolkit

I’ve been using VC++ 2002 (waiting for 2005 to be released until I upgrade) to do most of my serious programming work. As most programmers know the VC++ 2003 toolkit was released way back when and you can simply replace the 2002 compiler, linker, and libs with the 2003 ones. However, for no better reason than plain old laziness, I never got around to it. Well I’ve been playing around with templates recently and the fact that the 2002 compiler is not very standards compliant when in comes to templates finally forced me to “upgrade.” The process is fairly painless. Simply copy over and replace the /bin, /include, and /lib directories for VC++ 2002 with the ones in the VC++ toolkit 2003 directory (of course it’s always a good idea to do a backup). The only difference I saw when building was that, with a release build, the linker will produce a lot of warnings about missing a PDB (program debug database) file for the runtime library that the code is being compiled with. I can’t imagine this ever being a problem, other than a small annoyance in the build process.

xstr and unicode

Well I’ve gotten some harsh criticism on the xstr class, I won’t go into it, but some important issues have been brought to my attention and I will be working on improving the class. By far the most important thing I discovered was that Unicode to ASCII conversions can’t be done by a simple cast (due to ligatures) and neither can an ANSI (or whatever the current codepage is) to Unicode conversion, which was never really supported. I did a bit of research and found the necessary Win32 functions to do the conversion and AFAIK there are no standard C++ functions to achieve the same result. I also discovered Unicode defines a few more whitespace characters in addition to the ASCII ones.

xstr page

A page for xstr, a C++ string class I wrote, is up. The code is released under the zlib license.

Rex is coming

I’ve just wrapped up work on the Rex file format and RexUtil, a utility application for working with Rex files. Rex is basically a resource file format that will support zlib compression for selected files (compressing all files would be stupid as there is little to no gain in compressing jpegs, png, mp3, etc). RexUtil currently does not support this compression, but future version will. Aside from creating a resource file format which I, myself, will use in my projects, I’m also hoping other indie game developers (or any other type of developer, in general) will embrace the format and use it in their projects as an alternative to zip.

The Rex specifications and RexUtil will be up as soon as I create a project page for Rex. If time permits, something will be up by tomorrow night.

New Version of Doppler (Version 0.13)

New version of Doppler is up. This will be the final Beta-1 version.

New Version of Doppler (Version 0.12)

New version of Doppler is up (see Doppler page for d/l link). Changes are as follows:

-Doppler will no longer freeze if you switch away from the client panel while a client is loading and then try to switch back to the client panel before the client is finished loading.

-File updates from client->server will now work correctly and will not result in the client giving an incorrect file message, and timing out

-The log now labels where the message it prints out is coming from

Note: file updates from server->client are not yet supported.