Here's an explanation of the mod structure:
- Anims folder: This contains cursor animations. (Required if you do not include the TA base files in your mod)
- Bitmaps: This folder contains pictures for use in CEGs and other stuff, although mostly not in .BMP format, despite what you may think. (Optional)
-- I'm not entirely sure how the structure inside this folder works, but one of the folders inside is the loadpictures folder, which contains the pictures you see when you are loading Spring.
- Features: You stick the .TDF files for features here. (Optional if you don't want corpses)
This folder has 2 subfolders:
-- all worlds: This folder seems to be used for buildable features (DTs)
-- Corpses: You stick the .TDF files for your corpses here
- Gamedata: Many files in this folder are necessary for gameplay. (Required)
-- Sidedata.tdf: This file defines your factions, their commanders and what units can build what. (Required)
-- Moveinfo.tdf: This file defines the footprints and how steep slopes your units can climb. (Required) Can be replaced by a LuaDef.
-- Modrules.tdf: Seems to define some things, like if AA shoots at crashing aircraft or hovers are transportable. (Optional)
-- Resources.tdf: Defines various things, like trees, smoke and graphics for weapon explosions. (Optional)
-- Sounds.tdf: This file defines the sounds your units make. Oddly, this file is required, but you can make it contain bogus stuff and Spring doesn't care. (Required)
-- Icontypes.tdf: This file defines what icons appear when you zoom out all the way. (Optional I think)
-- particles.tdf: Defines whether nanospray is team coloured or not. (Optional)
-- explosion_alias.tdf: Defines various explosion generators.
(Optional)
-- Explosions folder: This folder contains various TDF files, which define the CEGs in your mod. You can name the TDF files as you want and have as many as you want, but they all need to contain the same structure.
- Icons: This folder contains the icons your units will have when zoomed out.
- LuaRules: Contains LUA gadgets for your mod. (Optional)
- LuaUI: Contains LUA code to alter the GUI. (Optional)
- LuaCOB: Contains LUA code to enable LUA calls from unit scripts.
(Optional)
- lups: Contains the LUA particle system, not sure what it actually does

(Optional)
- Objects3D: You stick the .3do or .s3o files for your units in here.
(Required)
- scripts: You stick the scripts for your units in here.
(Required)
- sidepics: This folder contains 16x16 pictures, one for each faction. This is the icon that appears in the lobby when you choose a faction.
(Required)
- sounds: This folder contains .wav files, all the sounds you want to use in your mod. (Optional)
- unitpics: Stick the buildpics for your units in here. (Required unless you want nice grey buildpictures)
- units: This folder contains the .fbi files for your units. Seems to be replaceable by a LuaDef. (Required)
-unittextures: Not sure actually what this folder it's use is, it seems to contain UVmaps for various things. (Optional I guess?)
-Weapons: Contains .TDF files that define the weapons in your mod. Can be replace by a LuaDef. (Optional if you want a very peaceful mod

)
-Armor.TXT: Seems to be fairly useless, take a look at other mods to see what to stick in there.
- Modinfo.tdf: This defines the actual name of the mod, it's description, and its dependencies.
Ok, that's it I think. I may have missed out some advanced features, please tell me which then.