Interim source code update: (additions: rotation support, chase_active 2, sv_progs changing, other thigns I can't remember).
Also ... a look at Quake pak0.pak by the file sizes for ideas on how to minimize filesize for, say, a total conversion using a FlashQuake type of engine:
id1\gfx folder - 692 kb (small gains by having less menus)
id1\maps - 10.2 MB obviously a major component, a key to smaller filesize [smaller loading time] is likely sticking with a limited texture set of 40-50 textures.
id1\progs - 2.83 MB - With the shareware Quake monsters being 1.42 MB with the remaining being weapons models, armor and such.
id1\sound - 2.71 MB with monster related sounds being 1.14 MB
id1 1.01 MB - demos, progs.dat and such ...
FlashQuake uses the pak0.pak it is supplied in a compressed manner. The true size of pak0.pak is 17 MB but the compression process makes it 8MB.
As the compression ratio won't be the same, a general look at the compression ratio:
1. BSPs (maps) - get about 50-60%
2. MDL (monsters, weapons, ..) - get about 70-80%
3. LMP (2d gfx) - get about 75%
4. WAV (sounds) - get about 20-30%
So it would seem that a limited sound set of those that will actually be used and just in general using practices to keep the map size reasonable are the best strategies to get a low filesize.
My guess is that the biggest risk is #4.