コード例 #1
0
 // Token: 0x06000033 RID: 51 RVA: 0x00002CEC File Offset: 0x00000EEC
 private static void _amTrailInitNormal(AppMain.AMS_TRAIL_EFFECT pEffect)
 {
     AppMain.AMS_TRAIL_PARAM     work = pEffect.Work;
     AppMain.AMS_TRAIL_PARTSDATA ams_TRAIL_PARTSDATA = AppMain.pTr.trailData[(int)work.trailId];
     AppMain.AMS_TRAIL_PARTS     ams_TRAIL_PARTS     = ams_TRAIL_PARTSDATA.parts[0];
     AppMain.AMS_TRAIL_PARTS     trailTail           = ams_TRAIL_PARTSDATA.trailTail;
     AppMain.AMS_TRAIL_PARTS     trailHead           = ams_TRAIL_PARTSDATA.trailHead;
     ams_TRAIL_PARTSDATA.Clear();
     ams_TRAIL_PARTS.pNext = trailTail;
     trailTail.pPrev       = ams_TRAIL_PARTS;
     ams_TRAIL_PARTS.pPrev = trailHead;
     trailHead.pNext       = ams_TRAIL_PARTS;
     if ((pEffect.flag & 1) != 0)
     {
         ams_TRAIL_PARTS.pos.x = AppMain.AMD_FX32_TO_FLOAT(work.trail_pos.x);
         ams_TRAIL_PARTS.pos.y = -AppMain.AMD_FX32_TO_FLOAT(work.trail_pos.y);
         ams_TRAIL_PARTS.pos.z = AppMain.AMD_FX32_TO_FLOAT(work.zBias);
     }
     else
     {
         ams_TRAIL_PARTS.pos.x = MppBitConverter.Int32ToSingle(work.trail_pos.x);
         ams_TRAIL_PARTS.pos.y = MppBitConverter.Int32ToSingle(work.trail_pos.y);
         ams_TRAIL_PARTS.pos.z = MppBitConverter.Int32ToSingle(work.trail_pos.z);
     }
     ams_TRAIL_PARTS.time    = work.life;
     ams_TRAIL_PARTS.partsId = 0;
     work.trailPartsId       = 1;
     AppMain.AMS_TRAIL_PARAM ams_TRAIL_PARAM = work;
     ams_TRAIL_PARAM.trailPartsNum += 1;
 }
コード例 #2
0
ファイル: TVXS_TEXTURE.cs プロジェクト: uwx/Sonic4Episode1
 public TVXS_TEXTURE(byte[] data, int offset)
 {
     this.tex_id       = MppBitConverter.ToInt32(data, offset);
     this.vtx_num      = MppBitConverter.ToUInt32(data, offset + 4);
     this.vtx_tbl_ofst = MppBitConverter.ToUInt32(data, offset + 8);
     this.prim_type    = MppBitConverter.ToUInt32(data, offset + 12);
 }
コード例 #3
0
ファイル: AmTrail.cs プロジェクト: uwx/Sonic4Episode1
 private static void _amTrailInitNormal(AppMain.AMS_TRAIL_EFFECT pEffect)
 {
     AppMain.AMS_TRAIL_PARAM     work = pEffect.Work;
     AppMain.AMS_TRAIL_PARTSDATA amsTrailPartsdata = AppMain.pTr.trailData[(int)work.trailId];
     AppMain.AMS_TRAIL_PARTS     part      = amsTrailPartsdata.parts[0];
     AppMain.AMS_TRAIL_PARTS     trailTail = amsTrailPartsdata.trailTail;
     AppMain.AMS_TRAIL_PARTS     trailHead = amsTrailPartsdata.trailHead;
     amsTrailPartsdata.Clear();
     part.pNext      = trailTail;
     trailTail.pPrev = part;
     part.pPrev      = trailHead;
     trailHead.pNext = part;
     if (((int)pEffect.flag & 1) != 0)
     {
         part.pos.x = AppMain.AMD_FX32_TO_FLOAT(work.trail_pos.x);
         part.pos.y = -AppMain.AMD_FX32_TO_FLOAT(work.trail_pos.y);
         part.pos.z = AppMain.AMD_FX32_TO_FLOAT(work.zBias);
     }
     else
     {
         part.pos.x = MppBitConverter.Int32ToSingle(work.trail_pos.x);
         part.pos.y = MppBitConverter.Int32ToSingle(work.trail_pos.y);
         part.pos.z = MppBitConverter.Int32ToSingle(work.trail_pos.z);
     }
     part.time         = work.life;
     part.partsId      = (short)0;
     work.trailPartsId = (short)1;
     ++work.trailPartsNum;
 }
コード例 #4
0
 // Token: 0x06002593 RID: 9619 RVA: 0x0014DA68 File Offset: 0x0014BC68
 public AOS_TVX_VERTEX(byte[] data, int offset)
 {
     this.x = MppBitConverter.ToSingle(data, offset);
     this.y = MppBitConverter.ToSingle(data, offset + 4);
     this.z = MppBitConverter.ToSingle(data, offset + 8);
     this.c = MppBitConverter.ToUInt32(data, offset + 12);
     this.u = MppBitConverter.ToSingle(data, offset + 16);
     this.v = MppBitConverter.ToSingle(data, offset + 20);
 }
コード例 #5
0
 // Token: 0x06000035 RID: 53 RVA: 0x00002E90 File Offset: 0x00001090
 private static int _amTrailUpdateNormal(AppMain.AMS_TRAIL_EFFECT pEffect)
 {
     AppMain.AMS_TRAIL_PARAM     work = pEffect.Work;
     AppMain.AMS_TRAIL_PARTSDATA ams_TRAIL_PARTSDATA = AppMain.pTr.trailData[(int)work.trailId];
     AppMain.AMS_TRAIL_PARTS     ams_TRAIL_PARTS     = ams_TRAIL_PARTSDATA.parts[(int)work.trailPartsId];
     AppMain.AMS_TRAIL_PARTS     trailTail           = ams_TRAIL_PARTSDATA.trailTail;
     AppMain.AMS_TRAIL_PARTS     trailHead           = ams_TRAIL_PARTSDATA.trailHead;
     if ((work.state & -32768) != 0)
     {
         return(1);
     }
     AppMain.AMS_TRAIL_PARTS pPrev = trailTail.pPrev;
     if (ams_TRAIL_PARTS.pNext != null && ams_TRAIL_PARTS == trailHead.pNext)
     {
         trailHead.pNext.pNext.pPrev = trailHead;
         trailHead.pNext             = trailHead.pNext.pNext;
     }
     ams_TRAIL_PARTS.Clear();
     ams_TRAIL_PARTS.pNext       = trailTail;
     ams_TRAIL_PARTS.pPrev       = trailTail.pPrev;
     trailTail.pPrev             = ams_TRAIL_PARTS;
     ams_TRAIL_PARTS.pPrev.pNext = ams_TRAIL_PARTS;
     if ((pEffect.flag & 1) != 0)
     {
         ams_TRAIL_PARTS.pos.x = AppMain.AMD_FX32_TO_FLOAT(work.trail_pos.x);
         ams_TRAIL_PARTS.pos.y = -AppMain.AMD_FX32_TO_FLOAT(work.trail_pos.y);
         ams_TRAIL_PARTS.pos.z = AppMain.AMD_FX32_TO_FLOAT(work.zBias);
     }
     else
     {
         ams_TRAIL_PARTS.pos.x = MppBitConverter.Int32ToSingle(work.trail_pos.x);
         ams_TRAIL_PARTS.pos.y = MppBitConverter.Int32ToSingle(work.trail_pos.y);
         ams_TRAIL_PARTS.pos.z = MppBitConverter.Int32ToSingle(work.trail_pos.z);
     }
     AppMain.nnSubtractVector(ams_TRAIL_PARTS.dir, ams_TRAIL_PARTS.pos, ams_TRAIL_PARTS.pPrev.pos);
     if (AppMain.amIsZerof(ams_TRAIL_PARTS.dir.x) && AppMain.amIsZerof(ams_TRAIL_PARTS.dir.y) && AppMain.amIsZerof(ams_TRAIL_PARTS.dir.z))
     {
         ams_TRAIL_PARTS.dir.x = 1f;
     }
     AppMain._amTrailAddParts(ams_TRAIL_PARTS, work);
     ams_TRAIL_PARTS.m_Flag |= 1U;
     work.time -= AppMain.amEffectGetUnitFrame();
     if (work.time < 0f)
     {
         work.time = 0f;
         AppMain.AMS_TRAIL_PARAM ams_TRAIL_PARAM = work;
         ams_TRAIL_PARAM.state |= short.MinValue;
     }
     return(0);
 }
コード例 #6
0
ファイル: AmTrail.cs プロジェクト: uwx/Sonic4Episode1
 private static int _amTrailUpdateNormal(AppMain.AMS_TRAIL_EFFECT pEffect)
 {
     AppMain.AMS_TRAIL_PARAM     work = pEffect.Work;
     AppMain.AMS_TRAIL_PARTSDATA amsTrailPartsdata = AppMain.pTr.trailData[(int)work.trailId];
     AppMain.AMS_TRAIL_PARTS     part      = amsTrailPartsdata.parts[(int)work.trailPartsId];
     AppMain.AMS_TRAIL_PARTS     trailTail = amsTrailPartsdata.trailTail;
     AppMain.AMS_TRAIL_PARTS     trailHead = amsTrailPartsdata.trailHead;
     if (((int)work.state & (int)short.MinValue) != 0)
     {
         return(1);
     }
     AppMain.AMS_TRAIL_PARTS pPrev = trailTail.pPrev;
     if (part.pNext != null && part == trailHead.pNext)
     {
         trailHead.pNext.pNext.pPrev = trailHead;
         trailHead.pNext             = trailHead.pNext.pNext;
     }
     part.Clear();
     part.pNext       = trailTail;
     part.pPrev       = trailTail.pPrev;
     trailTail.pPrev  = part;
     part.pPrev.pNext = part;
     if (((int)pEffect.flag & 1) != 0)
     {
         part.pos.x = AppMain.AMD_FX32_TO_FLOAT(work.trail_pos.x);
         part.pos.y = -AppMain.AMD_FX32_TO_FLOAT(work.trail_pos.y);
         part.pos.z = AppMain.AMD_FX32_TO_FLOAT(work.zBias);
     }
     else
     {
         part.pos.x = MppBitConverter.Int32ToSingle(work.trail_pos.x);
         part.pos.y = MppBitConverter.Int32ToSingle(work.trail_pos.y);
         part.pos.z = MppBitConverter.Int32ToSingle(work.trail_pos.z);
     }
     AppMain.nnSubtractVector(part.dir, part.pos, part.pPrev.pos);
     if (AppMain.amIsZerof(part.dir.x) && AppMain.amIsZerof(part.dir.y) && AppMain.amIsZerof(part.dir.z))
     {
         part.dir.x = 1f;
     }
     AppMain._amTrailAddParts(part, work);
     part.m_Flag |= 1U;
     work.time   -= AppMain.amEffectGetUnitFrame();
     if ((double)work.time < 0.0)
     {
         work.time   = 0.0f;
         work.state |= short.MinValue;
     }
     return(0);
 }
コード例 #7
0
 // Token: 0x06002A55 RID: 10837 RVA: 0x0015A236 File Offset: 0x00158436
 public void PutFloat(float n, int putOffset)
 {
     MppBitConverter.GetBytes(n, this.data, this.offset + putOffset);
 }
コード例 #8
0
 // Token: 0x06002595 RID: 9621 RVA: 0x0014DAD4 File Offset: 0x0014BCD4
 public TVXS_HEADER(byte[] data, int offset)
 {
     this.tex_num      = MppBitConverter.ToUInt32(data, offset + 4);
     this.tex_tbl_ofst = MppBitConverter.ToUInt32(data, offset + 8);
 }