you look in data/descr_walls

look for these entries. they will be found in each wall level.

tower
{
full_health 60
control_area_radius 30
manned 1
battle_stats flammability_medium impact_damage_high
localised_name tower

; as in descr_unit.txt
level
{
stat 12, 0, arrow, 100, 10, missile, missile_mechanical, piercing, arrow_tower, 10, 1
stat_attr no
shot_sfx TOWER_ARROW_FIRING
fire_angle 45

; unit size reload_ms flaming_reload_ms
fire_rate small 3500 9500
fire_rate normal 3500 9500
fire_rate large 3000 9000
fire_rate huge 3000 9000
}

the value of interest in in orange

this value is 1/2 the total angle that a tower shoots around it. so the games default 45 means the tower is firing 90 degrees around itself

so in order to make the tower shoot 360 degrees around itself we divide 360 by 2 and we get 180 degrees

so we will modify the above entry so

tower
{
full_health 60
control_area_radius 30
manned 1
battle_stats flammability_medium impact_damage_high
localised_name tower

; as in descr_unit.txt
level
{
stat 12, 0, arrow, 100, 10, missile, missile_mechanical, piercing, arrow_tower, 10, 1
stat_attr no
shot_sfx TOWER_ARROW_FIRING
fire_angle 180

; unit size reload_ms flaming_reload_ms
fire_rate small 3500 9500
fire_rate normal 3500 9500
fire_rate large 3000 9000
fire_rate huge 3000 9000
}

i preferred only to do the arrows as i reason that it is not hard for a bowmen to fire out of every slit in the tower..
On other weapons like ballista and cannon i reason their mounts are relatively stationary in the wall and pointing out to the front of the fortification.

It is possible that by doing a similar adjustment to the gate oil defense you might see oil coming out the back chutes.... however i have never experimented with that.