Most monsters are easy enough, it's defined right in the biome file and furthermore the spawntypes file, but fish are not (and only have the spawntype file which only consists of ocean fish and the two types of large fish). What (and where) determines where they spawn and what types spawn there? (i.e. Passive and Hostile fish, both, in Oceans - or small fish themselves in ponds)
Are you referring to critters for the small fish? If you are, the fish critters are called on in the biome file (so they are spawned from the biome). The fish (non critters) are all defined in the fish spawntype files, but i'm not seeing much of anything for how they spawn. This is sort of sad because it would be interesting to see how they spawn. Maybe it is an internal engine thing (similar to the meta materials)?
I had taken a look at the hylotl mission for radio messages and I found some boxes that spawn large aggressive fish monsters, but that's all I've found. However, that raises the possibility that it is dungeon-based.