Markdown Test

Markdown

Markdown is a lightweight markup language with plain text formatting syntax. Its design allows it to be converted to many output formats, but the original tool by the same name only supports HTML. Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor. Since the initial description of Markdown contained ambiguities and unanswered questions, the implementations that appeared over the years have subtle differences and many come with syntax extensions. Wikipedia

It is a delightful way to simply work with text and formatting in a single place. It really only gets tricky when you want to view the final stylized product. Anything that can save plain text can save the file, but some interpretation of the file is required to transform it to its marked up view.

This is a simple test of an iOS app called MWeb which has the facility to push to a WordPress site. I wanted to see how that worked and here we are!

Windows 8 Preview Task Manager Screen Shots

Well this is more of a bag of screen-shots than a blog post, but check this out. Now this is one nice taskman!

The default opening tab is “Processes” and the CPU, Memory, Disk, and Network throb a darker yellow then there is notable activity

Taskman - Processes

Then the “Performance” tab which has sub views for CPU, Memory, Disk, and Networking

Taskman - Performance - CPU

Taskman - Performance - RAM

Taskman - Performance - Disk

Taskman - Performance - Network

The “App History” tab follows and shows you how your applications are using your machine’s resources

Taskman - App History

The “Startup” tab details the applications that automatically run at startup and tries to assess the impact on start-up (which I assume to mean startup time during a boot or log-in)

Taskman - Startup

The “Users” tab breaks down the currently logged in users and the processes they have spun up and their resource usage.

Taskman -Users

The “Details” tab is the Old School Task Manager’s “Process” view

Taskman - Details

And finally the “Services” tab which details your currently running services

Taskman - Services

And while we are at it, here is a screen shot of the Windows 8 Preview’s “File Copy” dialog

 [Update: 11/16/2010]

I just stumbled on a Task Tray icon that indicated my Location has been accessed. Apparently that ends up in the Event Viewer with Windows8, not terribly fancy but handy. All of the ones in the screen shots below are from Desktop Gadgets, I’m not sure which one which I find disappointing, but maybe I’m missing an easy way to correlate them.

And here are a few of the event viewer. “Sensitive” data has been erased, but it is there if you were doing this yourself.

YSlow, an awesome tool that always makes you feel sad

I just ran YSlow on my site… It’s a great tool with real help on speeding up your site. But invariably, it always punches ya in the gut when your head is turned with a D or F.

The downside of not writing your own publishing platform, various systems do things differently and some are more flexible than others.

I’m using WordPress here now and it was pretty easy to switch on the Google analytics, but it did essentially require me modifying the Theme’s code, and I was very surprised there wasn’t a built in way to add custom scripts to headers / footers.

At any rate, I will affect what I can but here’s my site’s report card as of now, it ranked a C with a 97 score, I inadvertently cut that off the screenshot. It breaks down below. Overall, could be worse.

I will follow up with some tweaks over the next few weeks as I experiment with the SEO and Caching modules WordPress supports.

blog.johnminadeo.com's YSlow score
My blog's score, passing but could be better

To launch a rocket

When I was a kid, and I want to say around 11 or 12, my friends and I used to all go out and get model rockets and spend the weekends building them and launching them. If you’ve never built one, you really are missing out.

I can’t really do justice to the feeling of watching a rocket you’ve built with your own hands take take off in a small blast of fire and smokey thrust and the unadulterated sound of speed as it flies off the launch plate into the sky after you’ve done the countdown and press the launch button. It jets up quickly and then hangs for a moment before the engine fires again to force the nosecone out which brings the parachute with it. There is a moment of worry before it happens, will it actually pop it out, where will the wind take it? And all you can do is watch and wait for it to lazily drift back to earth for you to retrieve it. And the the thrill of picking it up off the ground (or out of a tree) and seeing it’s just fine and wants to fly again. It’s awesome and it makes me wonder what the folks at NASA used to feel before money and war became more important then science and exploration.

My son and I have been building model rockets for a few years now, it’s something we can do together and it also requires a bit of precision and working with tools so it is a good opportunity to demonstrate teamwork and longer project skills as well. We like to build them and paint them, sometimes we use the right colors, sometimes we get artistic, it’s really nice and I love it (I’m pretty sure he does too 😀 )

He got four rockets for his birthday last year, which is in the winter, so it gave us a good amount of time to build and paint them. These are all Estes brand rockets, I assume they have competitors but Estes is the only name I can ever remember hearing. There was a Big Bertha, an Amazon, a Crossfire. There is a fourth, but we haven’t built it yet.

So today, my son, my friend, and myself went out in search of the perfect field to launch them from. My son and I have built and launched a number o9f rockets in the past, but all of my old launch spots are not around or can’t be used for that anymore and for the say past 5 rockets we’ve built and launched, we’ve only recovered one, that’s right 1 single successful launch and recovery. It’s all my fault in bad spot picking, but I tell you, sometimes you just gotta take a chance. Sadly, never worked out well for us in this regard.

My friend to the rescue! Recently, at a cookout, I had mentioned my dillema to my friend and he had two spots that sounded like prime locations, and they were in my area, always a win with that.

So my son and I picked up my buddy and off we went. On the way to spot 1, an old polo field, we came across a potential field to try, but on closer inspection, the brush was too high, we’d never find the rocket once it touched back down.

As we are pulling up to the old polo field, a police car pulls up and sets up shop for a speed trap, it was a damn good spot for the police, but I felt a little nervous about walking past him with ordinance (the rocket engines)  as well as the rockets. I am not sure of the laws in the are for launching model rockets and we decided better to play it safe than sorry.

Spot number 2 is an abandoned small airport. Well I’m not even sure the building are there anymore but the runway is. However, to get to the place you need to park in a local metro park and hike through the woods. The only parking area however was closed and gated up today. Very disappointing, I was actually hoping we would be able to launch here for the coolness factor alone.

Going deep, my friend pulled one more spot out of the air, but cautioned it is usually pretty busy, but at this point my son is getting antsy, and darn it, I want to fly a rocket, so we give it a go.

The place was absolutely empty, huge field, no trees in the area, everything you could ask for! It was on my friends! I built the launching pad while my son prepped the first rocket, the Amazon, we were pumped. It launched like a dream! The wind had picked up slightly since we first set up the pad, so it did drift a bit with the parachute on it’s way down and of course landed in the only tree around… Fortunately we found a long piece of 1 inch PVC  tube that we were able to poke it out of the tree with.

I mostly had A engines (which are the weakest and meant for small and light rockets) so we tried the Big Bertha and the Amazon again with an A engine. Don’t do this, it is sad, they are way too damn heavy for A engines. Don’t get me wrong it’s always cool to launch a rocket but they barely got high enough of the ground to eject their parachutes before touching back down in a very unflattering low arch. They really should have mid grade B engines at the least, and C’s worked great!

We launched the crossfire a twice as well. The A engines worked great there. The second crossfire launch (and last of the day) did encounter a problem, the shock-cord (a fat rubber band that hold the rocket to the nosecone) was damaged in the building process and got caught during ejection with the nosecone, this caused the flash paper to burn and also burned the parachute. Now these things are thing plastic parachutes so it’s not a big deal at all and at least it can be repaired, unlike a rocket you never recover 😉

Anyway, it was a great day thanks to everybody involved. Can’t wait for the next time, hopefully I will have some pictures to post soon!

[Update: 9/4/2011] My friend uploaded his pictures and video, Thanks! http://blog.vec.com/2011/09/04/love-and-rockets/

Attack of the Free-For-Non-Commercial-Use Game Engines!

I just stumbled across this story on Slashdot announcing Epic’s release of a free version of it’s Unreal Engine for non-commercial uses [Epic Press Release: http://epicgames.com/press_releases/udk.html]. The story also points out that last week Unity also announced a free version of their game engine, also for non-commercial games [Unity Press Release: http://unity3d.com/company/news/unity2.6-press.html].

It makes my heart swell to hear this! I’ve been a gamer (Console and PC, primarily PC) for well since my dad brought home our first Atari around 1978 (I may be a year or two off, I was 5 or 6 at the time) and I was hooked. Games are most likely the reason I chose Computer Programming as a career. I’ve been involved in game development as well. Not enough so that I work as a game developer, but enough that I do understand what it takes to get a game together (I am not a marketing guy, so I’m specifically talking about the Development portion of the process here.) You may have even played something I created [perhaps a later post will include some elaboration].

There are three types of Game Development companies in the world. One type that creates Game Engines and Game Content, ones that just creates Game Content, and ones that just create Game Engines.

Let me define Game Engine and Game Content

  • Game Content is  3d models, 2d sprites, sound effects, music soundtracks, story lines, characters, character dialog, etc.
  • Game Engine shows the content to the game player and interacts with the player to turn his actions into what he is doing in the game (so the engine controls rendering to the computer screen, reading the game controllers, sending force feedback commands to the controller/joystick, tracking player and enemy health, move everything around using the in game version of the laws of physics, etc.

All game companies create Game Content, that is their Intellectual Property that they hope will sell enough copies of a game to pay them to make the next version of it. Some companies employ development staff that also creates the Game Engine that handles all their Game Content. These guys hope to sell enough copies to pay them to make the next version of it as well, but they hope so many copies are sold that other Game Content companies will buy their Game Engine and create their own Game Content for it and sell you another game. Finally, the companies that just create Game Engines hope to entice a Game Content company to buy their engine and use that for their content.

And this completely ignores the Hardware level of games which is really in the Console gaming realm. As one might suspect, these guys make hardware that can run Game Engines, so they try to sell their hardware platform to companies that make Game Engines.

The landscape has not always been like this. It used to be the Game Company would make the engine and the content, shop it to a publisher who put it on the store shelves (remember, this was back before the Internet.) What happened was, these guys actually started to make money selling games and more companies wanted in on the action. Eventually some suit figured out that it was cheaper to buy the license to use/modify an existing game engine and just pay employees to make content, and they were right!

I’m not trying to say that making content is easy, and I’m not saying they don’t have development staff to customize the engine to suit their needs and to also implement the rules the game runs under as they are completely different from one game to another. This is the code that gives you health when you get the mushroom power-up, or makes you jump higher and float to the ground when under the effects of a high jump spell.

This, in my mind IS the game, the Game Engine itself just runs it all as a platform. It is a pretty delineated and sensible distinction. It is this distinction that has allowed for the the different types of game companies to exist.

GameDiagram

So as you can see, Id made both the content and engine for Doom3, and the Engine for Quake4, that’s three revenue streams, and that’s just one game that uses the Doom3 engine. You get the point here.

Now what we are seeing is companies springing up that just create Game Engines and not an underlying title to showcase it. This is because more and more people are in the gaming industry to create content for these games. And they can undercut Id on the price which lowers the cost of getting into game development, which lowers the cost of games you and I buy.

Except, like the Apple App Store, more choices are just that more choices and it encourages shovel-ware because if you have five titles for sale you’re bound to sell more then just a single title, and it’s easier to make five titles by buying an engine then writing one. It is also good in the way if fosters competition at the top of the chain which means better engines for everybody!

At the very least the modding communities pleased to be able to actually get the hands into the engine itself rather then just the game functions it exposes. Very exciting!

Trackback URL for this post:

http://blog.monkk.com/trackback/60

Oooops, I blew up Drupal

Well, everything was going very well with my Drupal installation. I've got TinyMCE working as my WYSIWYG editor, and added a bunch of other modules to do this, that, and the other. And all was well, I had encoutered a module or two that didn't work correctly and it was simple enough to remove them so I was pretty pleased. And apparently lulled into a false sense of security.

I ended up having to install about 5 modules to allow a 6th to work and I turned them all on at once and… *KA-BOOM* a module load error occurred and blew out parts of my database… The site still functioned but all permissions were wiped. 

Very disappointing… Of course I should have backed up the database before doing this sort of thing, but… I hadn't and that's exactly what I get. I've cautioned clients to back up frequently and religiously and here I am not listening, I know better. I got swept up in the ease of installation and configuration in my very first test run that I got complacent. I didn't feel that the site was in it's initial “1.0” state and so didn't need a back-up just yet. It went so well, I switched over the blog features of my site to it. That switch to production should have made me back it up at that point… Alas.

However, the whole incident did afford me the opportunity to re-install Drupal. I should say, reconfigure, the file-system portion of Drupal was completely intact. Again it went relatively painlessly, and having had some experience on administering the system, it was a lot easier to do! Easily took me 1/2 the time. Which in real terms put's it at about 4 hours for a fresh install and config of a small Drupal site using a WordPress Blog as a data source for content. Not too bad, not too bad at all!

The irony is, I was installing the “Chaos Tools” module and it's dependencies so that I could investigate the “Bulk Export” utilities that CTools adds. Primarily for back-up plans…

All in all I'm grateful for the experience, I just wish I had planned it!

Trackback URL for this post:

http://blog.monkk.com/trackback/53

Restoring large MySql DB's with BigDump

So, I recently blew up my Drupal installation and was caught with my pants down and no DB backup… Well, as you can tell, I've re-installed and configured it again. Now I needed to back it up. Well I need to create an automated backup strategy, but that

One day with Drupal

A couple of days ago I stumbled across the reporting on the announcement of the White House switching over to an OpenSource content management system, Drupal. I've hosted or setup a number of sites over the years using various CMS platforms, for example: PHPNuke, PHPNuke Evolution, Xoops, Joomla, WordPress. All of which are good depending on what you're trying to do. Since all of these we run at my host which uses a typical LAMP stack (Linux, Apache, MySql, PHP), my requirements are something along the lines of:

  1. 1.  Free
  2. 2. Configurable
  3. 3 . Runs on Linux
  4. 4. Can run on Windows (home systems use Windows currently, not a deal breaker though)
  5. 5. Does NOT require any actions from my host (no phone calls, nothing)
    6.Should support the concept of Blogs, Forums, Users, Wikis as a nice-to-have

All of those met my needs (well with the exception of WordPress being specifically for blogs….

I have heard of Drupal but never had the opportunity to try it. The White House moving to Drupal was enough to pique my interests. It was definitely on the list of software to evaluate when the chance presented itself, and like most, I figure that this lends some serious legitimacy to the OpenSource movement, and to the Drupal platform specifically. I know I am late to the party and that there are already a number of books on Installing/Configuring/Maintaining it, but I consider this taking the time to vet out the development, and I think now it's prime time for it!

So yesterday afternoon, I downloaded the latest release of Drupal and set up a spot on my host and a new database and went to installing. Relatively pain free install, I just uploaded it to the server and navigated to the install page and it did the rest. Though I did have to do a few tweaks to my php.ini and .htaccess files. The information was easy to find, as the installer presented links to tracking down the solutions. Which in my case where setting PHP5 as the default PHP handler for the site, and disabling a php global resources restriction. I did create a few directories manually prior to the install, but it may have done that during the process had they not been there.

Drupal is set up to handle multiple sites and enhancements are typically provided in the form of add-on modules that install simply by copying them to your host and dropping them in the correct directory (themes in themes, libraries in libraries, modules in modules sort of thing). So I grabbed a few that sounded helpful (WordPress Import, WYSIWYG editor, Trackback's). And in the first 30 minutes I had my entire WordPress blog from a year and a half of blogging all converted over to the blog in Drupal. And it has a better tag and taxonomy categorization for blogs to boot!

It handles traditional pages, blogs, forums, navigation linking very nicely, arguably a super custom navigation system might require converting your existing code to a Drupal module but for 90% of the navigation tasks, the built in system is grand. Off the bat, the administration can seem daunting, many configuration settings broken up and categorized, but they do make sense, it's just in a CMS system, you need all these features. I found I got used to their placement in about a day's worth of using it. Not too terrible, all things considered, relatively intuitive.

I have to investigate a Wiki module and get the WYSIWYG editor fully working. I am using it right now, but I just noticed the mark-up seems to be using a BBCode-like system, though I believe I saw the option to change that, Hmm, now where did I see that setting again

Overall, a great CMS platform, and you can not beat the price. The community is very alive and there are books on the topic. Now is a great time to hop in and learn! 

clip_image001

Trackback URL for this post:

http://blog.monkk.com/trackback/51

My doings with Drupal and my new blog site

 Well, it took a while but I finally decided on a domain name that satisfied me and created this blog site. My friend and partner in crime, MonkK suggested I set up my blog site with the Drupal content management system. I have to say after following

Creating custom Team Fortress 2 Sprays for a PC

This little tutorial will cover making custom TF2 sprays. How to make a static spray, a transparent spray, and animated sprays.

First, to give credit where credit is due. I found the information on making sprays from a few blogs/sites. Unfortunately, there was no comprehensive information for dealing with transparency and animation so this article you are reading now attempts to bring it all together in one place. Here are the direct links to the articles I used as a base:

Tools you will need:
  • – An image editing utility like Adobe’s Photoshop ($$$) or gimp (Free!). The tool must supporting saving to TGA (Targa) file-format and must support Alpha channels (for transparency)
  • – VTFEdit (v.1.2.5 Full seems to be the latest though it was release on 9/14/2007, also requires the .NET 2.0 Runtime and the Microsoft Visual C++ 2005 SP1 runtime as well, which likely your computer already has)
A note on Spray Image Resolutions and Spray file sizes:

Resolution: Sprays resolution maximum is: 256 x 256 pixels
They can be smaller, but they can’t be larger! If they are larger the 256 in either width or height, the spray simply will not show.

File Size: Currently the Source Engine (the Valve game platform that Team Fortress 2 is built on) has a file size limit for sprays of 120 KB do not exceed that or the spray will simply not work. This usually isn’t an issue with Non-Animated sprays, but Animated ones use 1 image per frame so you’re probably not going to get more than 4 or 5 frames with a resolution of 128 x 128 (note that is smaller then the largest supported spray resolution, we choose that to allow for more frames.)

In all cases, when we import images into VTFEdit, they are re-sampled to align to a resolution that is a power of 2, this is due to the rendering engine and an optimization for faster and easier rendering. Suffice it to say. the engine just needs them that way. VTFEdit gives you a drop-down box to give you further control. It defaults to “Nearest Power of 2” but there are options for “Smallest Power of 2” and “Largest Power of 2”.

During the import, VTFEdit looks at the dimensions of the image, for an example, let’s say our image is 220 x 220. If the image’s dimensions do not align to a power of 2 in both their X and Y dimensions, VTFEdit figures out the next largest and next smallest even power of 2 to align to and re-samples the image to these new dimensions. It uses the value in the drop-down list as a guide-line. In our case the next smallest is: 128 x 128 and the next largest is 256 x 256. If “Nearest Power of 2” is chosen, since 220 is closer to 256 then it is to 128, 256 x 256 is used. If our image size was 130 x 130, the next smallest is: 128 x 128 (again) and the next largest is: 256 x 256 (again), and 128 x 128 would be used. If you select “Next Smallest Power of 2” it will always pick the next smallest value, and likewise, should you choose “Next Largest Power of 2” it will always choose the next largest.

How do I know what the next powers of 2 are? Well I wrote a simple program to dump a bunch out for me and I just compared 😉 Below is a convenient table for your use:

2 to the Power of         Dec. Value         Bin Value
——————————————————————
2 ^ 0                            1                        0000000001
2 ^ 1                            2                        0000000010
2 ^ 2                            4                        0000000100
2 ^ 3                            8                        0000001000
2 ^ 4                          16                        0000010000
2 ^ 5                          32                        0000100000
2 ^ 6                          64                        0001000000
2 ^ 7                        128                        0010000000
2 ^ 8                        256                        0100000000
2 ^ 9                        512                        1000000000

Using square images (same X and Y dimensions) is easiest. But in the case of a rectangular image, the X and Y and handled separately, so an 65 x 130 image, using “Nearest Power of 2” ends up being 64 x 128, which may or may not stretch / compress your image inappropriately and you’ll want to either force the re-sampling or manually resample it with padding in the image to make the resolutions easier to work with. Square, as I mentioned is the easiest 😉

Usually, leaving the default of “Nearest Power of 2” is sufficient, but I feel it’s better to resample the image yourself during the image preparation phase of the procedure because it is likely Gimp or Photoshop have a highly superior re-sampler then VTFEdit. I’m not saying it is, I’m just saying it’s likely, especially as the tool hasn’t been updated in 2+ years at this point. Plus it’s nice to know what’s really going on under the hood.

A note on Team Fortress 2 directories for saving the Spray to:

Sprays are stored in 2 places for Team Fortress 2. By default they are:

C:Program FilesSteamsteamapps<STEAM_ACCOUNT_NAME>team fortress 2tfmaterialsVGUIlogos

C:Program FilesSteamsteamapps<STEAM_ACCOUNT_NAME>team fortress 2tfmaterialsVGUIlogosUI

where <STEAM_ACCOUNT_NAME> is the login name associated with your Steam account.

-If the C:Program FilesSteamsteamapps<STEAM_ACCOUNT_NAME>team fortress 2tfmaterials directory does not have a sub-directory called “VGUI” create a new folder with that name there.

-If the VGUI folder does not have a logos directory, create a new folder with that name there. Once the .vtf is in here, you can import it from here using the TF2 Options –> Multi-Player, Import Spray option and browse to this directory. The importing process will create a file with the same name as the .vtf file but will have a .vmt extension (not sure what that is though, any thoughts?) This will also copy the .vtf and .vmt to the logos/UI directory.

-If the logos directory does not have a UI directory, create a new folder with that name there. One the .vtf and .vmt files are in this directory, they will appear in the Choose Spray drop-down list for choosing.

A note on image file naming for use while importing to VTFEdit

For most cases it does not matter what you name the image file that you import into VTFEdit. Whatever the file is named, will be used by VTFEdit as the default .vtf name for saving but you can always type a different name.

For Animated Sprays, it DOES matter however. Animated sprays are created by making a series of images, 1 per frame, and giving them a sequential file name so that VTFEdit recognizes them as multiple frames for the same spray. Basically, they just need to be alphabetized so when VTFEdit sorts the multi-selected images, it sorts the filenames alphabetically and frame 1 goes to the 1st file, frame 2 goes to the second, and so on. For ease of use you could use filenames like: “1-MySprayImage.tga”, “2-MySprayImage.tga”, “3-MySprayImage.tga”, etc.

Summary of the process:

The process is relatively simple, create or find an image you want to use as a spray. Make sure it is cropped or scaled down to a resolution of (at largest) 256 x 256. Open VTFEdit, on the File Menu, choose the Import item. Browse to the spray image and select it, verify the VTFEdit import options are correct (the tool remembers it’s last settings so typically you’ll only need to set it up the first time you make a spray) and hit OK.

A screenshot of pretty useable settings follows:

Non-Animated Spray:

VTFEdit Non-Animated Spray Settings

Animated Spray:

VTFEdit Animated Spray Settings

Please note, the only difference in the above two screen-shots is the value of the “Texture Type” drop-down list item. Non-Animated sprays use “Volume Texture”, animated ones use “Animated Textures”. It would be fine to use an Animated Texture with a 1 frame animation, but I have found no information to say use one method or another. I’ve successfully created non-animated sprays with Volume Texture and animated sprays with Animated Texture.

At this point VTFEdit will display to you the imported image and you simply go to the File menu again, choose the "Save As” item, browse to your local logos directory and save the file with whatever name you’d like with a .vtf extension.

You’re ready to use it! Just start Team Fortress 2, go to Options, then the MultiPlayer Options tab, then press the import spray button and browse to your logos directory (as mentioned above) and choose the new spray. Click apply, connect to your favorite server and spray away!

VTFEdit makes the whole process of creating the .vtf file for use by TF2 a very easy process. The hard part is preparing the image before importing it into VTFEdit. Non-Animated, Non-Transparent images are the easiest, they only require the correct 256 x 256 or smaller size constraint. Transparency requires Alpha channels and TGA file format.

Some of the Articles I listed at the beginning have more detail on making transparent images and animation image preparation, I urge you to check them out if you are unsure.

Good luck!

Spray in action, click for larger view!

Here is a link to a Quicktime movie of the actual spray in game showing the animation. Not very exciting but enjoy! Click here to view the movie!

www.Quake-Revolution.net

Due to a DNS registrar issues, Quake-Revolution.com is now available at www.quake-revolution.net and will be returning once the registrar issues have been resolved.

 The team apologizes for the inconvenience and offers a reminder, “No good deed goes unpunished” 🙂

Regards!

Reactance 1.3 Beta 7 Released

Mostly a maintenance release to address a bug in the off-hand grapple. Thanks [CL2] R@ancid Me@t (CL2 Clan Site) for pointing it out. And thank you Evolution (from Quake-Revolution for pointing out it was likely a prediction issue (damn you Q3!)

What happened to 1.3b6 you ask? Well, it actually never happened. It wound up fixing the bug in offhand-grapple, but was no where near the real solution :-/ (they all can't be gems folks…) So, it was sh!t canned in 1.3b7 was born.

Here's a snippet from the ReadMe :

2/28/2008  -Monkk: Fixed broken off-hand grapple. Thanks Evolution for
                 aid in locating the problem and R@ncid Me@t of CL2 for
                 finding it (bastard :P sorry it took so long to fix...). While I
                 was in there I added 2 grapple related cvars (server
                 controlled): mod_grappleDistance and mod_grappleSpeed.
3/2/2008    -Monkk: Completely redid the offhand grapple to not force
                 the sound on the weapon itself, but instead on the hook
                 that is being fired. When one is attached to the wall with
                 the offhand grapple, the grapple continues to make the
                 sound. You will also notice the sound originates from the
                 hook missile. This is due to having no weapon actually firing
                 it. The normal q3 grappling hook weapon gun acts the same
                 as it always has. Also added cvar for
                 mod_ambientWeaponSound which will disable the sounds of
                 the RG, LG, and BFG

http://www.reactanceunlagged.com to grab it =]

Regards!