From the next release as i just implemented this
fs2_open.exe -mod X where X is the name of you mod directory
will look for additional files in ´../Freespace2/ X /all-legal-sub directories.
all files found there like ani, pcx,tga, tbl, wav will be used
mission files are a bit special, they have to be there as it is right now.
VP in the mod directory is not supported yet, but i know what to do to make them supported.
just commited so that it would be there in case "i would be run over a bus"

.
all directories must exist, mod_support dont create any yet. A thing that will also come as i gets this tweaked up.
example
fs2_open.exe -mod mymod
will look for additional files in
../freespace2/mymod/
../freespace2/mymod/data/
../freespace2/mymod/data/tables/
../freespace2/mymod/data/missions/
and so on.
VP files are not supported yet because it will look for files
in similar paths inside the VP file, which is not good.
Something i will have to fix, and i beleive i know how.
This will work with every kind of mod out-there.
A real benefit is that when you start your mod for the first time you will kind a be forced to create a new pilot since it looks for pilot files in the /mymod/data/players/ directory. an annoyance is that it asks for CD2 since it beleives this is the first time you run the game, in order to play the intro. could be used for something like run a vidio.
The mod flag, in this case mymod. Must match the directory name to the point. And ofcourse must be a valid directory name. so dont include signs like "!"#¤%&/()=?@£$€{[]}" in your directory name or mod flag.
Some Directories must be there as it is right now.
fs2_open.exe -mymod
where X is mymod
mymod/data/missions/ :because it looks for mission and Campaign files here only
mymod/data/players/single/ :because it looks for single player files here only
mymod/data/players/multi/ i think you know why
not sure on data/players/images and data/players/squad, but just add them to be sure.
anything found in the mod dir will be used instead of filename mathcing what found in the defaults directories or Vp files because fs2_open has this search order for files.
1. Check plain files not packed, meaning that mod directories are first checked if the mod flag is used. And then it checkes the default directories, but it will use those found in the MOD directory because it found them first.
2. Check VP files in an alphabetical order, meaning a file found in AAA.vp will be used instead of the one found in BBB.vp that has a matching filename.
Thats why when you make a packfile and name it XS.vp it will not use whatever found in there that has a matching filename, in another packfile.
Its first come first served. regarding VP files in the same directory.
oh dear, back to coding.
EDIT1------
Basic VP files support has been added, campaign files & missions are not loaded from that vp file however, but all other files that usually are in a VP file is.
note that files found in any VP files that are found in the mod directory will be used instead of those in the freespace2 directory
If more vp files exist in the same mod dir, then it will pick the file that is in the VP file that lexicographically comes first.
----------
when i get it commited
modsupport is now finished. it supports VP files, mission/ campaign files in VP files, and so on
will add some create/check directories funtions later