* full bone controllers, access to all bones / joints / tags in a model and offsetting them / getting and setting data.
* client -> server communication in which I can specify a function to receive the string / float / vector passed in, not have it have to be stuffed into only a couple functions like Gamecommand or ParseClientCommand and deal with a giant switch statement (also server -> client would be nice to have this as well)
* multi-anim support, be able to play multiple animations on the same model by determining which bone in the hierarchy to play below (or above, the exact implementation is irrelevant as long as it is easily exposed to qc and works).
* engine side prediction of origin / angles optional flag for csqc entities
* net priority beyond the "if its distant send less". So I can give priority to things that I feel in qc are more / less important
* post processing effects, whether this be premade glsl shaders exposed to qc or otherwise, just allow for things like motion blur, capture screen and overlay, warping effects, color desaturation.
* sound occlusion abilities / integrate third party sound software for pitch modulation, and premade abilities like reverberation etc.
* properly integrated physics (beyond movetype_bounce etc) such as basic rigid body with constraints control that is handled engine side for optimum speed and exposed to qc thoughtfully with general architecture and attention to use (also known as, well documented)
* built in compression algorithms that automatically compress certain pieces of data and extrapolate that data when sending to csqc.
* flag to expose server side entity to csqc but not have it handle the prediction
* special care for simulated players in csqc in which the prediction is handled by engine however csqc has the information about them when they are relevant (ie, being rendered on screen)
* not needing to change map, ability to do some sort of data streaming for progressive maps so you stream in another map, have qc handle cleaning up it's entities and making pseudo garbage collection and allow not having to load a brand new map.
* render viewport to brush / poly(s)
* make your damn compiler support unique data types / structs
* custom iterators that can be specified in engine to be cataloged for quick access (yes you can make it in qc, but it really shouldn't have to be)
* (.)string to (.)void(...) support in csqc/svqc, so I can set up function pointers read from a text file
* seek currently playing ogg/audio file exposed to qc
* true type font or better means than conchars (ew)
* vector graphics, when I run at 640x480 I can't read any text and images are all blurry
* save / load picture from file directly and put this onto a model / poly / brush. (slow bad example but it would work: if I want what I see to be rendered as a half transparent shader over a person)
- These changes might not all be pertinent purely to csqc, but hell I want them.