Changes between Version 11 and Version 12 of ioquake3
- Timestamp:
- Aug 18, 2011 10:36:47 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ioquake3
v11 v12 26 26 * game 27 27 * cgame 28 * client?29 28 * ui? 30 29 while any code inside the following folders are strictly outside the VM: 31 30 * botlib 31 * client 32 32 some code is shared: 33 * qcommon (some of it?)33 * qcommon 34 34 and the rest I don't know about. 35 35 … … 40 40 41 41 ==== Adding a Trap Function ==== 42 Edit these files :42 Edit these files to insert a trap function accessible to the game module (where most of our modifications take place): 43 43 44 44 * '''game/g_public.h''': add an element to the gameImport_t enum (order matters - try to maintain the values of all the other entries (just add at the bottom)). … … 50 50 * '''server/sv_game.c''': edit SV_GameSystemCalls and add a case for your enum value to call your function with. If you're passing memory addresses out of the virtual machine, use VMA(x) to remap address in args[x] from VM-memory to Quake-memory. Keep in mind that there's no way to go the other way - you won't be able to see memory outside the VM from within it. 51 51 52 To insert trap functions into cgame, replace game/g_* with cgame/cg_*, and server/sv_game.c with cgame/cl_cgame. 53 To insert trap functions into ui, ...? Something similar probably. 52 54 === Quake Filesystem === 53 55 Quake uses a private, isolated filesystem for all file I/O. This means that all data generated directly from the game - screenshots, log files, etc., will be stored in this filesystem. The "home directory" for this filesystem, where all loads and stores occur by default, is located at ~/.quagents3/quagents3. The '.' prefix on the directory indicates a hidden directory, which means you will not be able to see it from your standard GUI filesystem browser. Instead, use your terminal to access it.