public int counter; //not in the original code

    public static VigObject OnInitialize(XOBF_DB arg1, int arg2, uint arg3)
    {
        VigObject oVar8;

        oVar8 = arg1.FUN_3C464((ushort)arg2, DAT_5230, typeof(Police));
        return(oVar8);
    }
    public static VigObject FUN_31D30(_PLACEHOLDER_TYPE param1, XOBF_DB param2, short param3, uint param4)
    {
        VigObject     oVar1;
        _VEHICLE_INIT dVar2;

        vehicleInit.TryGetValue(param1, out dVar2);

        if (dVar2 != null)
        {
            oVar1 = dVar2(param2, param3, param4);

            if (oVar1 != null)
            {
                return(oVar1);
            }
        }

        if (param2 == null || param3 == -1)
        {
            GameObject obj  = new GameObject();
            VigObject  comp = obj.AddComponent(typeof(VigObject)) as VigObject;
            comp.vData = param2;
            return(comp);
        }
        else
        {
            return(param2.ini.FUN_2C17C((ushort)param3, typeof(VigObject), param4));
        }
    }
    public static VigObject OnInitialize(XOBF_DB arg1, int arg2, uint arg3)
    {
        Dictionary <int, Type> dict = new Dictionary <int, Type>();

        dict.Add(849, typeof(GuardTower2));
        return(arg1.ini.FUN_2C17C((ushort)arg2, typeof(GuardTower), arg3, dict));
    }
    public static VigObject OnInitialize(XOBF_DB arg1, int arg2)
    {
        StarPower  oVar6;
        GameObject obj = new GameObject();

        oVar6       = obj.AddComponent <StarPower>();
        oVar6.vData = arg1;
        return(oVar6);
    }
    public static VigObject OnInitialize(XOBF_DB arg1, int arg2, uint arg3)
    {
        Dictionary <int, Type> dict = new Dictionary <int, Type>();

        dict.Add(1035, typeof(TurbineShock2));
        dict.Add(1036, typeof(TurbineShock2));
        dict.Add(1037, typeof(TurbineShock2));
        return(arg1.ini.FUN_2C17C((ushort)arg2, typeof(TurbineShock), arg3, dict));
    }
    public static VigObject OnInitialize(XOBF_DB arg1, int arg2, uint arg3)
    {
        Dictionary <int, Type> dict = new Dictionary <int, Type>();

        dict.Add(921, typeof(ForkLift2));
        dict.Add(919, typeof(ForkLift2));
        dict.Add(913, typeof(ForkLift2));
        return(arg1.ini.FUN_2C17C((ushort)arg2, typeof(ForkLift), arg3, dict));
    }
Exemple #7
0
    public static void ImportSND(MenuCommand menuCommand)
    {
        string file = EditorUtility.OpenFilePanel("Open xobf file to load asset", previousOpen, "");

        previousOpen = Path.GetDirectoryName(file);

        XOBF_DB xobf = menuCommand.context as XOBF_DB;

        xobf.LoadDB(file, "SND ");
    }
    public static VigObject OnInitialize(XOBF_DB arg1, int arg2, uint arg3)
    {
        Dictionary <int, Type> dict = new Dictionary <int, Type>();

        dict.Add(599, typeof(VigChild));
        VigObject obj = arg1.ini.FUN_2C17C((ushort)arg2, typeof(TestThruster), arg3, dict);

        ((VigChild)obj.child2).state = _CHILD_TYPE.Default;
        return(obj);
    }
    public int DAT_BC;            //0xBC

    public static VigObject OnInitialize(XOBF_DB arg1, int arg2, uint arg3)
    {
        Dictionary <int, Type> dict = new Dictionary <int, Type>();

        dict.Add(210, typeof(VigChild));
        dict.Add(211, typeof(VigChild));
        dict.Add(213, typeof(VigChild));
        dict.Add(215, typeof(VigChild));
        VigObject obj = arg1.ini.FUN_2C17C((ushort)arg2, typeof(CraneSmall), arg3, dict);

        FUN_14C0((VigChild)obj.child2, _CHILD_TYPE.Default);
        return(obj);
    }
 public static Vehicle _LoadGoliath(XOBF_DB param1, int param2, uint param3 = 0)
 {
     return(FUN_367A4(param1, GameManager.vehicleConfigs[16]));
 }
    public new VigObject FUN_2C344(XOBF_DB param1, ushort param2, uint param3)
    {
        VigMesh              mVar1;
        int                  iVar2;
        VigObject            oVar3;
        BufferedBinaryReader brVar4;
        ConfigContainer      puVar5;

        puVar5 = param1.ini.configContainers[param2];

        if ((puVar5.flag & 0x7ff) == 0x7ff)
        {
            vMesh = null;
        }
        else
        {
            mVar1 = param1.FUN_1FD18(gameObject, puVar5.flag & 0x7ffU, true);
            vMesh = mVar1;
        }

        if (puVar5.colliderID < 0)
        {
            vCollider = null;
        }
        else
        {
            VigCollider collider = param1.cbbList[puVar5.colliderID];
            vCollider = new VigCollider(collider.buffer);
        }

        vData  = param1;
        DAT_1A = (short)param2;

        if ((param3 & 8) == 0)
        {
            vAnim = null;
        }
        else
        {
            brVar4 = new BufferedBinaryReader(param1.animations);

            if (brVar4.GetBuffer() != null)
            {
                iVar2 = brVar4.ReadInt32(param2 * 4 + 4);

                if (iVar2 != 0)
                {
                    brVar4.Seek(iVar2, SeekOrigin.Begin);
                }
                else
                {
                    brVar4 = null;
                }
            }
            else
            {
                brVar4 = null;
            }

            vAnim = brVar4;
        }

        DAT_4A = GameManager.instance.timer;

        if ((param3 & 2) == 0 && puVar5.next != 0xffff)
        {
            oVar3  = param1.ini.FUN_2C17C_3(puVar5.next, typeof(WheelChild), param3 | 0x21);
            child2 = oVar3;

            if (oVar3 != null)
            {
                oVar3.ApplyTransformation();
                child2.parent = this;
            }
        }
        else
        {
            child2 = null;
        }

        return(this);
    }
Exemple #12
0
    public VigObject DAT_90; //0x90

    public static VigObject OnInitialize(XOBF_DB arg1, int arg2, uint arg3)
    {
        return(arg1.ini.FUN_2C17C_2((ushort)arg2, typeof(Ant), arg3));
    }
 public static Vehicle _LoadThunderbolt(XOBF_DB param1, int param2, uint param3 = 0)
 {
     return(FUN_367A4(param1, GameManager.vehicleConfigs[1]));
 }
 public static Vehicle _LoadDakota(XOBF_DB param1, int param2, uint param3 = 0)
 {
     return(FUN_367A4(param1, GameManager.vehicleConfigs[2]));
 }
 public static Vehicle _LoadWonderwagon(XOBF_DB param1, int param2, uint param3 = 0)
 {
     return(FUN_367A4(param1, GameManager.vehicleConfigs[0]));
 }
 public static Vehicle _LoadExcelsior(XOBF_DB param1, int param2, uint param3 = 0)
 {
     return(FUN_367A4(param1, GameManager.vehicleConfigs[9]));
 }
    public RSEG_DB[] DAT_1C;  //0x1C

    //FUN_79A0 (LOAD.DLL)
    public bool LoadDB(string assetPath)
    {
        byte         bVar1;
        short        sVar2;
        int          iVar3;
        int          iVar4;
        int          iVar5;
        int          iVar7;
        VigMesh      pbVar8;
        MemoryStream psVar9;
        short        sVar12;
        MemoryStream psVar13;
        uint         uVar14;
        short        sVar15;
        short        sVar16;
        short        sVar17;

        byte[]        aVar18;
        DELEGATE_79A0 dVar18;
        VigTransform  auStack72;

        LevelManager levelManager = GameObject.FindObjectOfType <LevelManager>();

        using (BinaryReader reader = new BinaryReader(File.Open(assetPath, FileMode.Open)))
        {
            if (reader == null)
            {
                return(false);
            }

            long       length  = reader.BaseStream.Length;
            VigTerrain terrain = GameObject.FindObjectOfType <VigTerrain>();
            iVar3    = reader.ReadInt32BE();
            iVar4    = reader.ReadInt32BE();
            bVar1    = reader.ReadByte();
            iVar5    = reader.ReadByte();
            DAT_00.x = iVar3;
            DAT_00.z = iVar4;
            DAT_10   = bVar1;
            DAT_11   = (byte)iVar5;

            if ((bVar1 & 0x40) == 0)
            {
                DAT_12 = 0;
            }
            else
            {
                sVar2   = reader.ReadInt16BE();
                DAT_12  = sVar2;
                length -= 2;
            }

            if ((bVar1 & 2) == 0)
            {
                iVar7    = terrain.FUN_1B750((uint)iVar3, (uint)iVar4);
                DAT_00.y = iVar7;
            }
            else
            {
                iVar7    = reader.ReadInt32BE();
                DAT_00.y = iVar7 - 0x100000;
                length  -= 4;
            }

            iVar7 = 0;

            if (0 < iVar5)
            {
                DAT_1C = new RSEG_DB[iVar5];

                do
                {
                    DAT_1C[iVar7] = null;
                    iVar7++;
                } while (iVar7 < iVar5);
            }

            if (length < 11)
            {
                DAT_18 = null;
            }
            else
            {
                iVar5               = reader.ReadInt16BE();
                DAT_0C              = levelManager.xobfList[iVar5 + 42];
                sVar2               = reader.ReadInt16BE();
                DAT_14              = sVar2;
                sVar2               = reader.ReadInt16BE();
                DAT_16              = sVar2;
                pbVar8              = DAT_0C.FUN_2CB74(gameObject, (ushort)DAT_14, false);
                pbVar8.xobf         = DAT_0C;
                pbVar8.initAtStart  = true;
                DAT_18              = pbVar8;
                pbVar8.DAT_00       = (byte)(pbVar8.DAT_00 & 0xfe | 4);
                psVar13             = new MemoryStream(DAT_18.vertexStream);
                aVar18              = new byte[DAT_18.vertices << 3];
                psVar9              = new MemoryStream(aVar18);
                bVar1               = DAT_18.DAT_01;
                DAT_18.DAT_02       = 16;
                DAT_18.vertexStream = aVar18;
                uVar14              = 16 - (uint)bVar1;

                if (0 < DAT_18.vertices)
                {
                    using (BinaryReader reader2 = new BinaryReader(psVar13, Encoding.Default, true))
                    {
                        using (BinaryWriter writer = new BinaryWriter(psVar9, Encoding.Default, true))
                        {
                            for (int i = 0; i < DAT_18.vertices; i++)
                            {
                                iVar7  = ((ushort)DAT_16 & 0xfff) * 2;
                                sVar15 = reader2.ReadInt16();
                                reader2.BaseStream.Seek(2, SeekOrigin.Current);
                                sVar16 = reader2.ReadInt16();
                                iVar7  = GameManager.DAT_65C90[iVar7 + 1] * sVar15 +
                                         GameManager.DAT_65C90[iVar7] * sVar16;

                                if (iVar7 < 0)
                                {
                                    iVar7 += 4095;
                                }

                                sVar17 = (short)(iVar7 >> 12);
                                writer.Write(sVar17);
                                iVar7 = ((ushort)DAT_16 & 0xfff) * 2;
                                iVar7 = -GameManager.DAT_65C90[iVar7] * sVar15 +
                                        GameManager.DAT_65C90[iVar7 + 1] * sVar16;

                                if (iVar7 < 0)
                                {
                                    iVar7 += 4095;
                                }

                                sVar12 = (short)(iVar7 >> 12);
                                iVar7  = terrain.FUN_1B750((uint)(DAT_00.x + (sVar17 << (int)(uVar14 & 31))),
                                                           (uint)(DAT_00.z + (sVar12 << (int)(uVar14 & 31))));
                                reader2.BaseStream.Seek(2, SeekOrigin.Current);
                                writer.Write((short)(iVar7 - DAT_00.y >> (int)(uVar14 & 31)));
                                writer.Write(sVar12);
                                writer.Write((short)0);
                            }
                        }
                    }
                }

                auStack72 = GameManager.FUN_2A39C();
                Utilities.SetRotMatrix(auStack72.rotation);
                Coprocessor.translationVector._trx = iVar3;
                Coprocessor.translationVector._try = DAT_00.y;
                Coprocessor.translationVector._trz = iVar4;
                dVar18 = new DELEGATE_79A0(FUN_78CC);
                DAT_18.FUN_39A8(dVar18);
            }
        }

        levelManager.juncList.Add(this);
#if UNITY_EDITOR
        EditorUtility.SetDirty(gameObject);
        EditorUtility.SetDirty(levelManager.gameObject);
        PrefabUtility.RecordPrefabInstancePropertyModifications(gameObject);
#endif
        return(true);
    }
 public static VigObject OnInitialize(XOBF_DB arg1, int arg2)
 {
     return(arg1.ini.FUN_2C17C((ushort)arg2, typeof(Revolver), 8, typeof(Revolver2)));
 }
 public static Vehicle _LoadLoader(XOBF_DB param1, int param2, uint param3 = 0)
 {
     return(FUN_367A4(param1, GameManager.vehicleConfigs[13], true));
 }
 public static VigObject OnInitialize(XOBF_DB arg1, int arg2)
 {
     return(arg1.ini.FUN_2C17C(2, typeof(Collector), 8));
 }
 public static Vehicle FUN_367A4(XOBF_DB arg1, VehicleData arg2, bool arg3 = false)
 {
     return(arg1.FUN_3C464(0, arg2, typeof(Vehicle), arg3));
 }