But we have a few people participating here. Everyone, why are you not using LABEL and is there anything that could be changed about it that would make you start using it?
DESIGNATED and markers seemed to suffice just fine...
Question: Can someone explain to me why DawidW prefer to use:
REQUIRE_PREDICATE FILE_EXISTS ~override/dw#setup.mrk~ @8 // ~This component requires the core "initialise" component to be installed~
instead of
REQUIRE_PREDICATE MOD_IS_INSTALLED "STRATAGEMS" "1000" @8 // ~This component requires the core "initialise" component to be installed~
Does using file to check if component is installed have any advantages over checking weidu.log?
The best answer I can think of atm is that log check doesn't have any particular advantage over the marker either.
Captain Obvious, duh
Looking at
IR's compatibility setup, it also favors markers a few times, for some reason. One specific case is SR v3, which serves as a version check as well. I could swear I heard about it being possible to retrieve installed mods' versions, but I can't seem to find it in the readme?
Regarding the difficulty of getting markers outside of FILE_EXISTS_IN_GAME, yes, I most definitely agree it is their biggest (and only?) downside.
As I mentioned, the best solution imo would be to have CONTENT_MARKER tp2 component flag, which can include one or more strings that are stored in log or somewhere, and ADD_CONTENT_MARKER tp2 action to append the list manually, e.g. if specific ACTION_IF conditions are met or something. MARKER_EXISTS ~string~ value would return 0 or 1 if such marker exists.
Both the unique string generation and mandatory part can be applied to it as well, though I continue to question the necessity of both specifications - it's more likely that only a handful of mods with complex structure really need a careful assessment of compatibility, and that can realistically be resolved by hand and a bit of nagging. Heck, you can even print a warning (without failing the install process otherwise) that a recommended bit of component information is missing - e.g. if tp2 contains ASK_EVERY_COMPONENT amount of them.
PS Do note that I don't consider myself an active modder any longer, though, more like old geezer dwelling on past accomplishments and sharing wisdom with the young, so take whatever I say with a grain of salt.