Changes between Version 11 and Version 12 of ioquake3


Ignore:
Timestamp:
Aug 18, 2011 10:36:47 AM (13 years ago)
Author:
jpawlick
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ioquake3

    v11 v12  
    2626 * game
    2727 * cgame
    28  * client?
    2928 * ui?
    3029while any code inside the following folders are strictly outside the VM:
    3130 * botlib
     31 * client
    3232some code is shared:
    33  * qcommon (some of it?)
     33 * qcommon
    3434and the rest I don't know about.
    3535
     
    4040
    4141==== Adding a Trap Function ====
    42 Edit these files:
     42Edit these files to insert a trap function accessible to the game module (where most of our modifications take place):
    4343
    4444 * '''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)).
     
    5050 * '''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.
    5151
     52To insert trap functions into cgame, replace game/g_* with cgame/cg_*, and server/sv_game.c with cgame/cl_cgame.
     53To insert trap functions into ui, ...? Something similar probably.
    5254=== Quake Filesystem ===
    5355Quake 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.