Okay, I have a rather complex problem, and I’m not understanding the docs enough to see how this would work.
Related Question 1:
I have a TADS folder for my projects; it’s called tads3projects
. In that folder are individual folders for games and modules. Modules are collections of source files, united with a .h
file, which can be pulled into any game project through the game’s individual makefile.
For example:
tads3projects/
InventorCore/ (Module)
inventorCore.h
QuickMaffs/ (Module)
quickMaffs.h
MyGameProject/ (Game)
gameSourceFile.t
Makefile.t3m
I have heard that overlapping include lines can be handled by using the -source
argument in the makefile. If inventorCore.h
and quickMaffs.h
both require #include <file.h>
to function, then how would I add these two modules into my game with the game’s makefile without needing to omit <file.h>
from both modules, and remembering to always add <file.h>
to every future game project?
Related Question 2:
If a module has cache files that need to be opened and processed during preinit
, how would I do this without needing to copy the cache files in every future game project?
A lot of this can probably be solved with symlinks, but I would rather not need to show my user folder’s structure in public GitHub commits, and also have to carefully manage symlinks, especially if the makefile can handle this. I had to manage symlinks in the early version of my I Am Prey repo, and I kept having issues with how git handled it, and it became too annoying to manage, so I just hard-copied my modules into the game folder.
I’m now trying to break stuff back out and create a more manageable module library with the makefile, but admittedly every time I think I find new guidance about the makefile, t3make
doesn’t seem to understand me, and the docs don’t clarify things very well.
I’m requesting patience, because I’ll be asking a lot of follow-up questions, as I try to get stuff working based on any answers/help provided. Whatever gets fully nailed down will be the enduring foundation of my module library going forward, so I’m trying to get a single system properly figured out.
Thank you for your time.