I always thought the above OP settings was a bit of over-kill. Since, I like to use lotsa different pre-processor definitions, I would just make one for OP (ie. I made up SFCOP). It's a little more labor-intensive but I like to do it cuz I always know that my own user-defined pre-processor definition will control whether to use OP-specific script code rather than rely on the API in case it's ever changed.
Really all you need to do is to goto the main file of your script and put in this code for the briefing messages:
void tMainFile::mDefineBriefings( void )
{
#ifdef SFCOP
for ( int32 j = kFederation; j <= kOrionCamboro; j++ )
#else
for ( int32 j = kFederation; j <= kMirak; j++ )
#endif
{
for ( int32 i = kDefendTeam1; i <= kAttackTeam3; i++ )
{
fBriefingIndex
[j] = kBriefing_msg;
}
}
}
and you are done.
Basically, I just made up a pre-processor definition called SFCOP and compiled the code for OP. Just remove the SFCOP pre-processor definition when compiling for EAW which will probably never happen.
Plus, the era settings work in OP so you can use the following code in the team files:
#ifdef SFCOP
int32 iEra = fMissionInfo->mGetEra();
if (iEra == 0)
{do Early Era stuff}
else if (iEra == 1)
{do Middle Era Stuff}
else if (iEra == 2)
{do Late Era stuff}
else
{can't remember if Advanced Era works but no one likes this era. Since no one uses this era it shows how much it's worth playing with when I forgot tests I did with this era 8 months ago. }
#endif