That includes the unmodded Beta 4 version of KB_routines.c again.
I think I need your itemsbox.c file.
Do you know what this code does?
Code:
void BI_GetMsgIconRoot()
{
aref arTmp;
aref pARef[4];
int i,idx,cn;
ref mchr = GetMainCharacter();
idx = 0;
// This was being triggered during boarding, clause added to fix it...
if(bSeaActive && !bAbordageStarted && !LAi_IsBoardingProcess())
{
for (i = 0; i < COMPANION_MAX; i++)
{
cn = GetCompanionIndex(mchr, i);
if(cn<0) {continue;}
Characters[cn].MessageIcons = true;
makearef(arTmp,Characters[cn].MessageIcons);
pARef[idx] = arTmp;
idx++;
}
SendMessage(&BattleInterface,"le", BI_MSG_SET_MSG_ICONS, &pARef);
}
else
{
for (i = 0; i < OFFICER_MAX; i++)
{
cn = GetOfficersIndex(mchr, i);
if(cn<0) {continue;}
Characters[cn].MessageIcons = true;
makearef(arTmp,Characters[cn].MessageIcons);
pARef[idx] = arTmp;
idx++;
}
SendMessage(&objLandInterface,"le", MSG_BATTLE_LAND_SET_MSGICONS, &pARef);
}
}
I wonder why the following variables and functions ALL exist:
LAi_boarding_process
bool LAi_IsBoardingProcess()
bAbordageStarted
Would it not be enough to have ONE of those???