Code:
//somewhere at the top of main.c
MATERIAL* ScreenShaking_mat =	{	effect = "shake.fx";	}
VIEW* camShake = { material = ScreenShaking_mat; flags = CHILD|PROCESS_TARGET; }

//just after level load in main() in main.c
   ...
   level_load("tryintankin.wmb");
   ScreenShaking_mat.skill1 = ScreenShaking_mat.skill2 = 0;
   camera.stage = camShake; // enable postprocessing for the camera view
   wait(2);
   ...

//in your fire_weapons() function  (same sort of thin in fire_turrmg too)
   ...
   effect(effect_gunfire,88, muzzle, temp);
   ScreenShaking_mat.skill1 = floatv(5);		//duration of shake_cycles
   ScreenShaking_mat.skill2 = floatv(0.001);	//intensity of camera move
   wait(-0.5);
   ScreenShaking_mat.skill1 = ScreenShaking_mat.skill2 = 0; //and shaking
   wait(-4);
   ...

and if you can find a really "tame" pair of numbers, you can have it running
whenever engine_state = 1 .... laugh


"There is no fate but what WE make." - CEO Cyberdyne Systems Corp.
A8.30.5 Commercial