There are many structures shared with the server, that are used by both cgame and game modules. Think of things such as the player state or trace information (that the cgame uses for stuff like client prediction). Many of these structs have already been reverse engineered (present in q_shared.h), making the progress of the cgame module already a little easier. I'm sure though that there are things that the cgame module uses which the game module doesn't, and must therefore still be figured out.
Back with I did OpenDEMO I decompiled the game module (using tools such as qvmdisas and qvmkanker) and made my way through the disassembly, comparing v1.00 to demo, and analyzing the SoF2 1.00 SDK and also vanilla Q3 and JK:JO. It is a tedious process and will require some skill to make your way through it.