ID:1411008
 
Applies to:Dream Maker
Status: Open

Issue hasn't been assigned a status value.
First part:
Allow #include to have a wildcard character.
It would only work in the current directory, and would include all .dm and .dme (see below) files for compilation.
On the file tree it would show up as a filled (not checked) tickbox.

Second part:
Allow .dme files to #include other .dme files.
Wildcard includes in a directory would look into each directory and include a .dme if they find one a layer deeper.
The .dme file would be represented in the file tree by their current directory.
Files included under the .dme node would be included in the .dme.
Use case: Modular git environment.

Let's say you have a base environment at /game, which has game.dme.
game.dme would have '#include "modules/*"'. This would wildcard include every file in modules.
Then, I clone another git repo into modules, so I have..
/game/modules/mod1.
The wildcard include would #include /game/modules/mod1/mod1.dme automatically in the base environment, without changing /game/game.dme.
This would allow dynamic switching of game modules in a game, without messing with the core repository.
A thousand times yes.
Infinite upvotes.
++
It'd be nice if you could use conditional compilation inside .dme files as well.

vehiclesystem.dme
#ifndef VEHICLES
#define VEHICLES one_system
#include ...
#endif

anothervehiclesystem.dme
#ifndef VEHICLES
#define VEHICLES another_system
#include ...
#endif
In response to Petethegoat
Petethegoat wrote:
It'd be nice if you could use conditional compilation inside .dme files as well.

vehiclesystem.dme
#ifndef VEHICLES
#define VEHICLES one_system
#include ...
#endif

anothervehiclesystem.dme
#ifndef VEHICLES
#define VEHICLES another_system
#include ...
#endif


You can. Just put your stuff outside of the commented sections that the compiler generates.