Seems to be some sort of health check for scripts. If this returns true an enum is checked against native 54AE4FDEEFEAB77E(). Enum value ranges from 0 to 4.
Typical usage in dairyfarm.c (return 1 means stop the script execution gracefully):
This method is found in many scripts. Copy & paste style. Interestingly in most scenarios I've seen, when the result of 54AE4FDEEFEAB77E() is 2 and bParam0 is true, the script will continue.
int func_49(bool bParam0, bool bParam1)
{
int iVar0;
if (Global_1572887->f_12)
{
return 0;
}
if (!NETWORK::NETWORK_IS_GAME_IN_PROGRESS())
{
if (bParam1 && NETWORK::_0xF2CBC969C4F090C7())
{
}
else if (bParam1 && NETWORK::NETWORK_IS_SESSION_ACTIVE())
{
}
else if (bParam1 && &Global_1572887 < 39)
{
}
else
{
return 1;
}
}
if (!NETWORK::NETWORK_IS_SIGNED_ONLINE())
{
return 1;
}
if (SCRIPTS::_0x9E4EF615E307FBBE())
{
switch (SCRIPTS::_0x54AE4FDEEFEAB77E())
{
case 0:
return 1;
case 1:
return 1;
case 2:
if (!bParam0)
{
return 1;
}
break;
case 4:
return 1;
case 3:
return 1;
default:
return 1;
}
}
iVar0 = 0;
while (iVar0 < SCRIPTS::GET_NUMBER_OF_EVENTS(1))
{
if (SCRIPTS::GET_EVENT_AT_INDEX(1, iVar0) == 1976253964)
{
return 1;
}
iVar0++;
}
return 0;
}