Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was browsing through how to mod a game (Urban Terror, a Quake 3 mod). I found that it can be done by editing .qvm files in the game. Under the file named zpak000.pk3. That file contains other files named


But I can't find a way in which I can edit these files.

share|improve this question

You create qvm files using the c-compiler in the Quake SDK.

You can't edit QVM files.

(You could technically modify them using a hex editor, in the same way that you can modify other compiled programs, but this is not useful for your purposes.)

share|improve this answer
U know urban terror is a mod of quacke 3. And from where can i get that The modded sdk ? – kritya Jul 22 '11 at 16:16
You don't need a "modded" SDK. Urban terror uses the SDK that ID Software provides. You can't edit the QVM files that the Urban Terror modders produced, as I've already said. – Olhovsky Jul 22 '11 at 18:16
To clarify on Olhovsky's comment: to modify Urban Terror, you'll probably need to get your hands on the source code that the devs used to compile the QVMs. That probably means contacting them and asking for it, unless they've released it. – Gregory Avery-Weir Jul 22 '11 at 20:00
Thanks Gregory, that's correct. – Olhovsky Jul 24 '11 at 17:19

Well, never heared about google :) ?

Look at game-deception it explains how to modificate a qvm (' after it has been compiled '). It just over-compile the certain lines / commands. The only problem ( for you ) is, that you have to work with opcodes ( / assembler ). Well, here's the tutorial made by the great macpunk :

vmHeader_t *hook_VM_LoadQVM( vm_t *vm, qboolean alloc )


vmHeader_t *ret = orig_VM_LoadQVM(vm, alloc);

if(!strcmp(vm->name, "cgame")


    vm->instructionPointers[0x0FF5E7] = 0x00; //0x00 is the opcode of whatever you want the instruction to be


return ret;

You need to Quake3 Engine SDK for the structs.

share|improve this answer
You'll have to use an QVM dissambler -> – Julien Feb 3 '13 at 10:35

Edit them with a hex editor downloaded somewhere from the 'net.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.