Xonotic Forums
quake 2 code review - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Community (https://forums.xonotic.org/forumdisplay.php?fid=6)
+--- Forum: Off Topic (https://forums.xonotic.org/forumdisplay.php?fid=15)
+--- Thread: quake 2 code review (/showthread.php?tid=2214)



quake 2 code review - frostwyrm333 - 10-03-2011

there is nice article about quake 2 code
http://fabiensanglard.net/quake2/index.php

this paragraph is interesting:

Modding: gamex86.dll

This part of the project was not very exciting to read but abandoning Quake-C for compiled module provide two good things and one very bad.

Bad :

Portability is sacrificed, the game module must be recompiled for the target platform with specific linker parameters.

Good :

Speed: Quake1's Quake-C was interpreted code but Quake2's dynamic library module gamex86.dll is native.
Freedom: Modders have access to EVERYTHING, not only what was exposed through Quake-C.

Trivia : Ironically id software switched back to a virtual machine (QVM) for game, IA and modding in Quake3.


RE: quake 2 code review - clanclanclan - 10-05-2011

frostwyrm333 Wrote:Bad :

Portability is sacrificed, the game module must be recompiled for the target platform with specific linker parameters.

Another problem is that the native code is not sandboxed, and can do whatever it wants with the host machine. This means that code-based mods can't just be thrown into a .pk3, transferred over the network and loaded at will by the engine without causing serious security concerns client side.


RE: quake 2 code review - Minkovsky - 10-05-2011

But the good thing is that you can just stick the mod in a package manager and add q2e as dependency.


RE: quake 2 code review - frostwyrm333 - 10-05-2011

the portability wouldn't be an issue, you could just recompile it multiple times for different platforms like xonotic binary and package it


RE: quake 2 code review - divVerent - 10-06-2011

Experience showed many Q2 mods stayed binary-only and windows-only because the authors didn't release source.

Can't happen that way with QuakeC Tongue