I would really like to use a consolidated map_C.tga, perhaps scaled down to the same 200m/pixel (or whatever scale a map uses) as for the map_H.tga and map_T.tga, and perhaps named map_W (water map). This size reduction could be worthwhile because of the potentially HUGE size of the full 50m/pixel file. It would be used ONLY for determining water depth at the position of a vessel, but would still require to be instantiated as an object and loaded in preparation for a mission; I'm not sure of the steps to take for this. But it would be important that if no such map_W.tga exists its absence will cause no problem. After all, many maps have no ocean or otherwise 'navigable' water, and others have no shallows of significance. Only maps having shallows extending a few hundred meters or more beyond shorelines would be worthy of this additional treatment.
Below is a proposed means of getting water depth from the pixel value of a NEW "map_W" (water map) made from the consolidated map_C, perhaps scaled down from 50m/pix to 200m/pix. This code would be present in method computeSeaDepth() in BigshipGeneric.class and ShipGeneric.class. Whether this scheme takes precedence or not over the existing search for nearby land, or it would be used in conjunction with, would require more thought.
int j = Landscape.getPixelMapW(Engine.land().WORLD2PIXX(((Tuple3d) (point3d)).x), Engine.land().WORLD2PIXY(((Tuple3d) (point3d)).y));
if(j > 0 && j < 127) //j=0 is default ocean depth
seaDepth = 127F - (float)j; /linear scaling, to 127m max shallows depth