示例#1
0
文件: Object3D.cs 项目: bblpny/Quad64
        unsafe void Export.Reference <Object3D> .API(Export.Exporter ex)
        {
            {
                byte * data = stackalloc byte[data_size];
                ulong *ulng = (ulong *)data;
                *ulng++ = Flags;
                uint *unt = (uint *)ulng;
                *unt++ = getBehaviorAddress();
                short *shrt = (short *)unt;
                *shrt++ = trs.translation.X;
                *shrt++ = trs.translation.Y;
                *shrt++ = trs.translation.Z;
                *shrt++ = trs.rotation.X;
                *shrt++ = trs.rotation.Y;
                *shrt++ = trs.rotation.Z;
                ushort *ushrt = (ushort *)shrt;
                *ushrt++ = presetID;
                byte *uchr = (byte *)ushrt;
                *uchr++ = modelID;                //1
                *uchr++ = getActMask();           //2
                *uchr++ = BehaviorParameter1;     //3
                *uchr++ = BehaviorParameter2;     //4
                *uchr++ = BehaviorParameter3;     //5
                *uchr++ = BehaviorParameter4;     //6
                if ((uint)(uchr - data) != data_size)
                {
                    throw new System.InvalidOperationException();
                }

                ex.Value(data, (uint)data_size);
            }
            ex.Ref(area);
        }
示例#2
0
文件: Model3D.cs 项目: bblpny/Quad64
 void Export.Reference <MeshData> .API(Export.Exporter ex)
 {
     ex.Ref(texture);
     ex.Array(vertices);
     ex.Array(texCoord);
     ex.Array(colors);
     ex.Array(indices);
 }
示例#3
0
 unsafe void Export.Reference <Texture2D> .API(Export.Exporter ex)
 {
     {
         int *members = stackalloc int[4];
         members[0] = width;
         members[1] = height;
         members[2] = TextureParamS;
         members[3] = TextureParamT;
         ex.Value(members, 5);
     }
 }
示例#4
0
文件: Warp.cs 项目: bblpny/Quad64
        unsafe void Export.Reference <Warp> .API(Export.Exporter ex)
        {
            byte *dat  = stackalloc byte[(int)dat_size];
            byte *uchr = dat;

            *uchr++         = this.warpFrom_ID;
            *uchr++         = this.warpTo_AreaID;
            *uchr++         = this.warpTo_LevelID;
            *uchr++         = this.warpTo_WarpID;
            *((uint *)uchr) = this.getROMUnsignedAddress();
            ex.Value(dat, dat_size);
        }
示例#5
0
 void Export.Reference <Area> .API(Export.Exporter ex)
 {
     ex.Value(AreaID);
     ex.Value(GeometryLayoutPointer);
     ex.Ref(level);
     ex.Ref(AreaModel);
     ex.Ref(collision);
     ex.RefArray(Objects.ToArray());
     ex.RefArray(MacroObjects.ToArray());
     ex.RefArray(SpecialObjects.ToArray());
     ex.RefArray(Warps.ToArray());
     ex.RefArray(PaintingWarps.ToArray());
     ex.RefArray(InstantWarps.ToArray());
 }
示例#6
0
 void ForwardReference.RefArray(Exporter call, Array arr)
 {
     call.RefArray <TObject>((TObject[])arr);
 }
示例#7
0
 void Export.Reference <CollisionTriangleList> .API(Export.Exporter ex)
 {
     ex.Value(id);
     ex.Array(indices);
 }
示例#8
0
 void Export.Reference <CollisionMap> .API(Export.Exporter ex)
 {
     //ex.Array(vertices);
     //ex.RefArray(triangles);
 }
示例#9
0
 void Export.Reference <Level> .API(Export.Exporter ex)
 {
     ex.Value(levelID);
     ex.RefArray(Areas);
 }
示例#10
0
文件: Model3D.cs 项目: bblpny/Quad64
 void Export.Reference <Model3D> .API(Export.Exporter ex)
 {
     ex.Value(GeoDataSegAddress);
     //ex.Array(geoDisplayLists);
     ex.RefArray(meshes);
 }