public static ff9.s_effectData ReadEffectData(this BinaryReader reader) { ff9.s_effectData s_effectData = new ff9.s_effectData(); s_effectData.x = reader.ReadInt32(); s_effectData.y = reader.ReadInt32(); s_effectData.z = reader.ReadInt32(); s_effectData.rx = reader.ReadInt32(); s_effectData.ry = reader.ReadInt32(); s_effectData.rz = reader.ReadInt32(); s_effectData.vx = reader.ReadInt16(); s_effectData.vy = reader.ReadInt16(); s_effectData.vz = reader.ReadInt16(); s_effectData.ax = reader.ReadInt16(); s_effectData.ay = reader.ReadInt16(); s_effectData.az = reader.ReadInt16(); s_effectData.no = reader.ReadInt16(); s_effectData.size = reader.ReadInt16(); s_effectData.rnd = reader.ReadInt16(); s_effectData.temp = reader.ReadInt16(); for (Int32 i = 0; i < 5; i++) { s_effectData.pad[i] = reader.ReadInt32(); } return(s_effectData); }
public void w_effectUpdateSP(Byte no) { no = (Byte)(no - 1); if ((Int32)no >= (Int32)ff9.w_effectDataList.Length) { global::Debug.LogWarning("no " + no + " doesn't exist"); return; } for (Int32 i = 0; i < ff9.w_effectDataList[(Int32)no].effectData.Count; i++) { ff9.s_effectData s_effectData = ff9.w_effectDataList[(Int32)no].effectData[i]; if (UnityEngine.Random.Range(0, 4096) < (Int32)s_effectData.rnd) { Int32 num = s_effectData.x - s_effectData.rx / 2; Int32 num2 = s_effectData.y - s_effectData.ry / 2; Int32 num3 = s_effectData.z - s_effectData.rz / 2; if (s_effectData.rx != 0) { num += ff9.random16() % s_effectData.rx; } if (s_effectData.ry != 0) { num2 += ff9.random16() % s_effectData.ry; } if (s_effectData.rz != 0) { num3 += ff9.random16() % s_effectData.rz; } ff9.w_effectRegist_FixedPoint(num, num2, num3, (Int32)s_effectData.no, (Int32)s_effectData.size); } } }
public static ff9.s_effectDataList ReadEffectDataList(this BinaryReader reader) { ff9.s_effectDataList s_effectDataList = new ff9.s_effectDataList(); ff9.s_effectData s_effectData = reader.ReadEffectData(); while (s_effectData.no != -1) { s_effectDataList.effectData.Add(s_effectData); s_effectData = reader.ReadEffectData(); } return(s_effectDataList); }