While only of interest to developers, I have written a QuakeC VM interpreter from notes I took on the progs.dat format and released it under an MIT style license.
The source can be downloaded here. You can download it via SVN from the Code section or just browse it via the web.
The interface is documented in the main header file, kzqcvm.h. Instead of pointers I used classes to represent everything so that everything has its own type and is protected from accidental manipulation.
The interpreter is composed of three parts: The loader, the string manager and the entity manager. The separation of these allow you to implement your own string and entity management.
No comments yet.
Sorry, the comment form is closed at this time.