public void RemoveBtlSPSObj(BTL_DATA btl, BattleStatus status) { Int32 statusSPSIndex = this.GetStatusSPSIndex(status); Int32 objSpsIndex = this.GetObjSpsIndex(btl, status); btl2d.STAT_ICON_TBL stat_ICON_TBL = btl2d.wStatIconTbl[statusSPSIndex]; this.SetBtlStatus(objSpsIndex, -1, stat_ICON_TBL.Abr, (Int32)stat_ICON_TBL.Type); }
public void AddBtlSPSObj(BattleUnit btl, BattleStatus status) { Int32 statusSPSIndex = this.GetStatusSPSIndex(status); Int32 objSpsIndex = this.GetObjSpsIndex(btl.Data, status); btl2d.STAT_ICON_TBL stat_ICON_TBL = btl2d.wStatIconTbl[statusSPSIndex]; this.SetBtlStatus(objSpsIndex, statusSPSIndex, stat_ICON_TBL.Abr, (Int32)stat_ICON_TBL.Type); }
private static void Btl2dStatIcon() { FF9StateBattleSystem ff9Battle = FF9StateSystem.Battle.FF9Battle; BTL2D_WORK btl2d_work_set = ff9Battle.btl2d_work_set; Vector3 rot; rot.x = 0f; rot.z = 0f; for (BTL_DATA next = ff9Battle.btl_list.next; next != null; next = next.next) { if (next.bi.disappear == 0) { if ((next.flags & geo.GEO_FLAGS_CLIP) == 0) { if ((btl2d_work_set.OldDisappear & next.btl_id) == 0) { BattleStatus num = next.stat.cur | next.stat.permanent; if ((num & BattleStatus.Death) == 0u) { if ((num & STATUS_2D_ICON) != 0u) { if (next.bi.player == 0 || !btl_mot.checkMotion(next, 17)) { Int32 num2 = ff9.rsin(fixedPointAngle: (Int32)(next.rot.eulerAngles.y / 360f * 4096f)); Int32 num3 = ff9.rcos(fixedPointAngle: (Int32)(next.rot.eulerAngles.y / 360f * 4096f)); Int16 num4; Byte[] array; SByte[] array2; SByte[] array3; if (next.bi.player != 0) { num4 = FF9StateSystem.Common.FF9.player[next.bi.slot_no].info.serial_no; array = btl2d.wBonePC[num4]; array2 = btl2d.wYofsPC[num4]; array3 = btl2d.wZofsPC[num4]; } else { ENEMY_TYPE et = ff9Battle.enemy[next.bi.slot_no].et; array = et.icon_bone; array2 = et.icon_y; array3 = et.icon_z; } Int32 num5 = 0; num4 = 12; for (;;) { Int16 num6 = num4; num4 = (Int16)(num6 - 1); if (num6 == 0) { break; } btl2d.STAT_ICON_TBL stat_ICON_TBL = btl2d.wStatIconTbl[num5]; if ((num & stat_ICON_TBL.Mask) != 0u) { if ((num & stat_ICON_TBL.Mask2) == 0u) { Int16 num7 = (Int16)(array2[stat_ICON_TBL.Pos] << 4); Int16 num8 = (Int16)(array3[stat_ICON_TBL.Pos] << 4); if ((next.flags & geo.GEO_FLAGS_SCALE) != 0) { num7 = (Int16)((Int32)(num7 * next.gameObject.transform.localScale.y)); num8 = (Int16)((Int32)(num8 * next.gameObject.transform.localScale.z)); } Vector3 position = next.gameObject.transform.GetChildByName("bone" + array[stat_ICON_TBL.Pos].ToString("D3")).position; Vector3 pos; pos.x = position.x + (num8 * num2 >> 12); pos.y = position.y - num7; pos.z = position.z + (num8 * num3 >> 12); if (stat_ICON_TBL.Type != 0) { rot.y = 0f; HonoluluBattleMain.battleSPS.UpdateBtlStatus(next, stat_ICON_TBL.Mask, pos, rot, btl2d_work_set.Timer); } else { Int32 ang = stat_ICON_TBL.Ang; if (ang != 0) { Int32 num9 = (Int32)(next.rot.eulerAngles.y / 360f * 4095f); num9 = (num9 + 3072 & 4095); rot.y = num9 / 4095f * 360f; } else { rot.y = 0f; } HonoluluBattleMain.battleSPS.UpdateBtlStatus(next, stat_ICON_TBL.Mask, pos, rot, btl2d_work_set.Timer); } } } num5++; } } } } } } } } }