public void Append(pjse.FileTable.Entry item)
        {
            if (item == null || !(item.Wrapper is Bhav))
            {
                return;
            }

            Bhav b = (Bhav)item.Wrapper;

            if (b == null)
            {
                return;
            }

            bool savedstate = internalchg;

            internalchg = true;

            this.Parent.Cursor = Cursors.WaitCursor;
            try
            {
                ushort offset = (ushort)wrapper.Count;
                foreach (Instruction bi in b)
                {
                    try
                    {
                        wrapper.Add(bi);
                        int i = wrapper.Count - 1;
                        if (wrapper[i].Target1 < 0xFFFC)
                        {
                            wrapper[i].Target1 += offset;
                        }
                        if (wrapper[i].Target2 < 0xFFFC)
                        {
                            wrapper[i].Target2 += offset;
                        }
                    }
                    catch { break; }
                }
            }
            finally
            {
                this.Parent.Cursor = Cursors.Default;
            }

            internalchg = savedstate;
            myrepaint();
            if (csel >= 0)
            {
                flowitems[csel].Focus();
            }
        }
Exemple #2
0
        private void llEvent_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            pjse.FileTable.Entry item = inst.Parent.ResourceByInstance(SimPe.Data.MetaData.BHAV_FILE, doidEvent.Value);
            Bhav b = new Bhav();

            b.ProcessData(item.PFD, item.Package);

            SimPe.PackedFiles.UserInterface.BhavForm ui = (SimPe.PackedFiles.UserInterface.BhavForm)b.UIHandler;
            ui.Tag  = "Popup"; // tells the SetReadOnly function it's in a popup - so everything locked down
            ui.Text = pjse.Localization.GetString("viewbhav")
                      + ": " + b.FileName + " [" + b.Package.SaveFileName + "]";
            b.RefreshUI();
            ui.Show();
        }
Exemple #3
0
        private EquityBhavTable EquityBhavToTable(Bhav bhav, DateTime date, int companyId, long deliveredQty)
        {
            var equityBhav = new EquityBhavTable();

            equityBhav.CompanyId         = companyId;
            equityBhav.Day               = DateToDay(date);
            equityBhav.Close             = bhav.Close;
            equityBhav.PrevClose         = bhav.PrevClose;
            equityBhav.TotalTradedQty    = bhav.TotTradedQty;
            equityBhav.TotalTradedValue  = Math.Round(bhav.TotTradedValue / 100000, 2);
            equityBhav.TotalTrades       = bhav.TotalTrades;
            equityBhav.TotalDeliveredQty = deliveredQty == -1 ? bhav.TotTradedQty : deliveredQty;
            return(equityBhav);
        }
Exemple #4
0
        private EquityOHLCTable EquityOHLCToTable(Bhav bhav, DateTime date, int companyId, string highLow)
        {
            var ohlc = new EquityOHLCTable();

            ohlc.CompanyId = companyId;
            ohlc.Day       = DateToDay(date);
            ohlc.Close     = bhav.Close;
            ohlc.High      = bhav.High;
            ohlc.Last      = bhav.Last;
            ohlc.Low       = bhav.Low;
            ohlc.Open      = bhav.Open;
            ohlc.PrevClose = bhav.PrevClose;
            ohlc.HighLow   = highLow;
            return(ohlc);
        }
Exemple #5
0
        private void llBhav_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
        {
            pjse.FileTable.Entry item = wrapper.ResourceByInstance(SimPe.Data.MetaData.BHAV_FILE, (sender == llAction) ? currentItem.Action : currentItem.Guardian);
            Bhav b = new Bhav();

            b.ProcessData(item.PFD, item.Package);

            BhavForm ui = (BhavForm)b.UIHandler;

            ui.Tag = "Popup" // tells the SetReadOnly function it's in a popup - so everything locked down
                     + ";callerID=+" + wrapper.FileDescriptor.ExportFileName + "+";
            ui.Text = pjse.Localization.GetString("viewbhav") + ": " + b.FileName + " [" + b.Package.SaveFileName + "]";
            b.RefreshUI();
            ui.Show();
        }
    /// <summary>
    /// Returns an array of pairs of Connector()s for the true and false targets of each instruction
    /// </summary>
    /// <param name="items">BhavInstList from wrapper</param>
    /// <returns></returns>
    public static Connector[] Connectors(Bhav bhav)
    {
        if (bhav == null || bhav == null)
        {
            return(new Connector[0]);
        }

        Connector[] cs = new Connector[bhav.Count * 2];
        for (int i = 0; i < bhav.Count; i++)
        {
            cs[i * 2]     = new Connector(i, bhav[i].Target1, true);
            cs[i * 2 + 1] = new Connector(i, bhav[i].Target2, false);
        }

        Connector.ResolveCollisions(cs);
        return(cs);
    }
Exemple #7
0
        private void pjse_banner1_SiblingClick(object sender, EventArgs e)
        {
            Bhav bhav = (Bhav)wrapper.SiblingResource(Bhav.Bhavtype);

            if (bhav == null)
            {
                return;
            }
            if (bhav.Package != wrapper.Package)
            {
                DialogResult dr = MessageBox.Show(Localization.GetString("OpenOtherPkg"), pjse_banner1.TitleText, MessageBoxButtons.YesNo);
                if (dr != DialogResult.Yes)
                {
                    return;
                }
            }
            SimPe.RemoteControl.OpenPackedFile(bhav.FileDescriptor, bhav.Package);
        }
        public void UpdateGUI(Bhav wrp)
        {
            wrapper                 = wrp;
            csel                    = -1;
            internalchg             = false;
            this.AutoScrollPosition = new Point(0, 0);
            this.WrapperChanged(new List <Instruction>(), null);
            if (flowitems != null && flowitems.Length > 0)
            {
                flowitems[0].MakeSelected();                 // but don't focus!
                SelectedIndex = 0;
            }

            if (!setHandler)
            {
                wrapper.WrapperChanged += new System.EventHandler(this.WrapperChanged);
                setHandler              = true;
            }
        }
Exemple #9
0
        private void btnViewBHAV_Click(object sender, EventArgs e)
        {
            ListView lv = getListView();

            if (lv == null)
            {
                return;
            }

            pjse.FileTable.Entry item = (pjse.FileTable.Entry)lv.SelectedItems[0].Tag;
            Bhav b = new Bhav();

            b.ProcessData(item.PFD, item.Package);

            SimPe.PackedFiles.UserInterface.BhavForm ui = (SimPe.PackedFiles.UserInterface.BhavForm)b.UIHandler;
            ui.Tag  = "Popup"; // tells the SetReadOnly function it's in a popup - so everything locked down
            ui.Text = pjse.Localization.GetString("viewbhav") + ": " + b.FileName + " [" + b.Package.SaveFileName + "]";
            b.RefreshUI();
            ui.Show();
        }
Exemple #10
0
 void GFT_FiletableRefresh(object sender, EventArgs e)
 {
     FileTable.GFT.FiletableRefresh -= new EventHandler(GFT_FiletableRefresh);
     ftEntry = null;
     wrapper = null;
 }
Exemple #11
0
        /// <summary>
        /// Returns a description of the operands of the call to another BHAV
        /// </summary>
        /// <param name="lng">true to get long description</param>
        /// <returns>description of the BHAV call operands</returns>
        /// <remarks>See http://www.modthesims2.com/showthread.php?t=117411 for more info</remarks>
        protected override string Operands(bool lng)
        {
            Bhav bhav = Wrapper;

            if (bhav == null)
            {
                return("???");
            }

            int myArgc   = (int)instruction.Parent.Header.ArgumentCount;
            int thisArgc = bhav.Header.ArgumentCount;

            if (thisArgc == 0)
            {
                return(lng ? pjse.Localization.GetString("noargs") : "");
            }

            string s = "";

            if (lng)
            {
                s += thisArgc.ToString() + " "
                     + (thisArgc == 1
                        ? pjse.Localization.GetString("oneArg")
                        : pjse.Localization.GetString("manyArgs"))
                     + ": ";
            }

            byte[] o = new byte[16];
            ((byte[])instruction.Operands).CopyTo(o, 0);
            ((byte[])instruction.Reserved1).CopyTo(o, 8);

            TPRP tprp = (TPRP)bhav.SiblingResource(TPRP.TPRPtype);


            switch (opFormat(instruction.NodeVersion, o))
            {
            case dataFormat.useTemps:
                s += this.doTemps(thisArgc, lng, tprp);
                break;

            case dataFormat.oldFormat:
                s += this.do8Cx(thisArgc, lng, tprp, o, instruction.NodeVersion == 0);
                break;

            case dataFormat.newFormat:
                if (thisArgc < 9)
                {
                    s += this.do4OI(thisArgc, lng, tprp, o);
                }
                else
                {
                    s += this.doZero(thisArgc, lng, tprp);
                }
                break;

            case dataFormat.useParams:
                if (thisArgc < 9)
                {
                    s += this.doParams(thisArgc, myArgc, lng, tprp);
                }
                else
                {
                    s += this.doZero(thisArgc, lng, tprp);
                }
                break;
            }

            return(s);
        }
Exemple #12
0
        public void Execute(Instruction inst)
        {
            internalchg = true;

            ckbDecimal.Checked           = pjse.Settings.PJSE.DecimalDOValue;
            ckbUseInstancePicker.Checked = pjse.Settings.PJSE.InstancePickerAsText;

            this.inst = inst;
            foreach (LabelledDataOwner ldoc in aldoc)
            {
                ldoc.Instruction = inst;
            }

            nodeVersion = inst.NodeVersion;

            pjse.FileTable.Entry ftEntry = inst.Parent.ResourceByInstance(SimPe.Data.MetaData.BHAV_FILE, inst.OpCode);
            TPRP tprp = null;

            if (ftEntry != null)
            {
                Bhav wrapper = (Bhav)ftEntry.Wrapper;
                tprp   = (TPRP)wrapper.SiblingResource(TPRP.TPRPtype);
                nrArgs = wrapper.Header.ArgumentCount;

                this.lbBhavName.Text = "0x" + SimPe.Helper.HexString(inst.OpCode) + ": " + wrapper.FileName;
                this.lbArgC.Text     = "0x" + SimPe.Helper.HexString(nrArgs);
            }
            else
            {
                this.lbBhavName.Text = "0x" + SimPe.Helper.HexString(inst.OpCode) + ": [" + pjse.Localization.GetString("bhavnotfound") + "]";
                this.lbArgC.Text     = "(???)";
            }

            operands = new byte[16];
            ((byte[])inst.Operands).CopyTo(operands, 0);
            ((byte[])inst.Reserved1).CopyTo(operands, 8);

            for (int i = 0; i < nrArgs; i++)
            {
                if (tprp != null && !tprp.TextOnly && i < tprp.ParamCount)
                {
                    albArg[i].Text = tprp[false, i].Label;
                }
                else
                {
                    albArg[i].Text = pjse.Localization.GetString("unk");
                }
            }
            for (int i = nrArgs; i < albArg.Length; i++)
            {
                albArg[i].Text = pjse.Localization.GetString("bwb_unused");
            }


            format = pjse.BhavNameWizards.BhavWizBhav.opFormat(inst.NodeVersion, operands);

            rbTemps.Checked   = format == BhavWizBhav.dataFormat.useTemps;
            rbOld.Checked     = format == BhavWizBhav.dataFormat.oldFormat;
            rbNew.Checked     = format == BhavWizBhav.dataFormat.newFormat;
            rbCallers.Enabled = nodeVersion > 0;
            rbCallers.Checked = format == BhavWizBhav.dataFormat.useParams;

            doFormat();

            internalchg = false;

            return;
        }