コード例 #1
0
        public void UpdateRL(Camera camera, Viewport viewport)
        {
            foreach (var primitive in primitives)
            {
                primitive.Value.Update();
            }
            RL.BindFramebuffer(FramebufferTarget.Framebuffer, mainFramebuffer);
            RL.Clear(ClearBufferMask.ColorBufferBit);

            RL.BindPrimitive(PrimitiveTarget.Primitive, 0);
            frameProgram.Use(0);
            camera.Frame.UpdateHierarchicalNoCache();
            camera.UpdateFrame();
            camera.UpdateViewport(texture.Size);
            camera.UniformBufferRL.Sync();
            camera.UniformBufferRL.UseRL(frameProgram);

            RL.RenderFrame();

            RL.Clear(ClearBufferMask.ColorBufferBit);
            RL.RenderFrame();

            RL.BindBuffer(BufferTarget.PixelPackBuffer, pixelBuffer);
            RL.BindTexture(TextureTarget.Texture2D, mainFramebufferTexture);
            RL.GetTexImage(TextureTarget.Texture2D, 0, PixelFormat.Rgba, PixelType.Float, System.IntPtr.Zero);
            {
                IntPtr ptr = RL.MapBuffer(BufferTarget.PixelPackBuffer, BufferAccess.ReadOnly);
                if (ptr != IntPtr.Zero)
                {
                    UpdateGL(ptr);
                }
                RL.UnmapBuffer(BufferTarget.PixelPackBuffer);
            }
            RL.BindBuffer(BufferTarget.PixelPackBuffer, System.IntPtr.Zero);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: tksuoran/renderstack_net
        static RLprogram linkProgram(RLshader shader0, RLshader shader1, string programDescription)
        {
            int       status;
            RLprogram programName;

            programName = RL.CreateProgram();
            RL.ProgramString(programName, ProgramStringParameter.ProgramName, programDescription);
            if (shader0 != System.IntPtr.Zero)
            {
                RL.AttachShader(programName, shader0);
            }
            if (shader1 != System.IntPtr.Zero)
            {
                RL.AttachShader(programName, shader1);
            }
            RL.LinkProgram(programName);
            RL.GetProgram(programName, ProgramParameter.LinkStatus, out status);
            if (status == 0)
            {
                string log;
                RL.GetProgramString(programName, ProgramStringParameter.LinkLog, out log);
                throw new System.Exception(programDescription + " linking failed:\n" + log);
            }
            return(programName);
        }
コード例 #3
0
 public static void Exec(this FrameworkElement aUIElement, Action aAction, bool aShowWaiting = true)
 {
     if (aAction == null)
     {
         return;
     }
     try
     {
         if (aShowWaiting)
         {
             aUIElement.Cursor = Cursors.Wait;
         }
         aAction();
         if (aShowWaiting)
         {
             aUIElement.Cursor = Cursors.Arrow;
         }
     }
     catch (Exception ex)
     {
         if (aShowWaiting)
         {
             aUIElement.Cursor = Cursors.Arrow;
         }
         RL.WriteExceptionLog(ex, true, true);
     }
 }
コード例 #4
0
        public List <UidlItem> GetUidl()
        {
            lock (this) {
                NetworkStream siso = sock.GetStream();
                SL.WriteLine(siso, "UIDL");

                if ((resp = Resp.ReadFrom(siso)).Ok != true)
                {
                    throw new CommandFailedException();
                }

                List <UidlItem> al = new List <UidlItem>();
                while (true)
                {
                    string s = RL.ReadLine(siso);
                    if (s.StartsWith("."))
                    {
                        break;
                    }
                    string[] cols = s.Split(' ');
                    UidlItem o    = new UidlItem();
                    o.i    = int.Parse(cols[0]);
                    o.uidl = cols[1];
                    al.Add(o);
                }
                return(al);
            }
        }
コード例 #5
0
 public void Setup(RL.Map _map, int[] _dir)
 {
     map = _map;
     directions = _dir;
     lineRenderers = new GameObject[directions.Length];
     for (int i = 0; i < directions.Length; i++) {
         lineRenderers [i] = new GameObject ();
         lineRenderers [i].transform.parent = transform;
         lineRenderers [i].transform.position = transform.position;
         LineRenderer lr = lineRenderers [i].AddComponent<LineRenderer> ();
         lr.renderer.sortingOrder = 2;
         lr.renderer.sortingLayerName = "Default";
         lr.SetColors(new Color(74/255f,63/255f,148/255f, 0.5f), new Color(113/255f,138/255f,145/255f, 0.5f));
         lr.SetWidth (0.05f, 0.05f);
         lr.material = (Material)Resources.Load ("trapParticle");
         lr.useWorldSpace = false;
         // move out on the direction until we hit a wall, this is our endpoint
         Vector2i ndir = new Vector2i (RL.Map.nDir[directions[i],0], RL.Map.nDir[directions[i],1]);
         Vector2i np = GetComponent<RLCharacter>().positionI;
         int distanceCount = 1;
         np += ndir;
         while (map.IsOpenTile (np.x, np.y)) {
             np += ndir;
         }
     //			np -= ndir*0.5f;
         lr.SetPosition (0, Vector3.zero);
         lr.SetPosition (1, new Vector3(np.x-ndir.x*0.5f, np.y-ndir.y*0.5f, 0)-transform.position);
     }
 }
コード例 #6
0
 public FramebufferRL(int width, int height)
 {
     viewport = new RenderStack.Math.Viewport(width, height);
     RL.GenFramebuffers(1, out framebufferObject);
     GhostManager.Gen();
     RL.BindFramebuffer(FramebufferTarget.Framebuffer, framebufferObject);
 }
コード例 #7
0
        private void CreateFramebuffer()
        {
            // Create the buffer to copy the rendered image into
            RL.BindBuffer(BufferTarget.PixelPackBuffer, pixelBuffer);
            RL.BufferData(BufferTarget.PixelPackBuffer, texture.Size.Width * texture.Size.Height * 4 * sizeof(float), System.IntPtr.Zero, BufferUsageHint.DynamicDraw);

            // Create the framebuffer texture
            RL.BindTexture(TextureTarget.Texture2D, mainFramebufferTexture);

            // We have no texture data to specify so we pass NULL for texture data.
            RL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, texture.Size.Width, texture.Size.Height, 0, PixelFormat.Rgba, PixelType.Float, System.IntPtr.Zero);

            // Create the framebuffer object to render to
            // and attach the texture that will store the rendered image.
            RL.GenFramebuffers(1, out mainFramebuffer);
            RL.BindFramebuffer(FramebufferTarget.Framebuffer, mainFramebuffer);
            RL.FramebufferTexture2D(
                FramebufferTarget.Framebuffer,
                FramebufferAttachment.ColorAttachment0,
                TextureTarget.Texture2D,
                mainFramebufferTexture,
                0
                );

            FramebufferErrorCode ok = RL.CheckFramebufferStatus(FramebufferTarget.Framebuffer);
        }
コード例 #8
0
ファイル: HomeController.cs プロジェクト: msw7007/KarmaWebApp
        public IEnumerable <List <RL> > CharsAssembler(sbyte ActiveS)
        {
            KarmaDBEntities db           = new KarmaDBEntities();
            var             DBRosterList = db.chartable.Join(db.playerdata, c => c.idplayer, p => p.idPlayer, (c, p) => new { c, p }).Where(t => t.p.IsActive == ActiveS).OrderBy(s => s.p.idPlayer).ToList();
            string          ID           = "";
            sbyte           isActive     = 0;
            List <RL>       ResultList   = new List <RL>();
            RL Row = new RL();

            foreach (var Character in DBRosterList)
            {
                ID       = Character.p.idPlayer;
                isActive = Character.p.IsActive ?? 1;
                if (ID != "" && ID != null)
                {
                    Row       = new RL();
                    Row.ID    = ID;
                    Row.CHARS = CharAssembler(ID);
                    Row.ACTIV = isActive;
                    Row.KARMA = KarmaAsemble(ID);
                    Row.NADEZ = NadezAsemble(ID);
                }
                ResultList.Add(Row);
            }
            IEnumerable <List <RL> > RGList = ResultList.Where(t => t.ACTIV == ActiveS).GroupBy(x => x.ID)
                                              .Select(group => group.ToList())
                                              .ToList();

            return(RGList);
        }
コード例 #9
0
        private void Link()
        {
            int linkStatus;

            LinkTime.Start();
            RL.LinkProgram(ProgramObject);
            RL.GetProgram(ProgramObject, ProgramParameter.LinkStatus, out linkStatus);
            LinkTime.Stop();

            if (linkStatus == 0)
            {
                string infoLog;
                RL.GetProgramString(ProgramObject, ProgramStringParameter.LinkLog, out infoLog);
                RL.DeleteProgram(ProgramObject);

                System.Diagnostics.Trace.TraceError("Program linking failed:");
                System.Diagnostics.Trace.TraceError(infoLog);

                valid = false;

                throw new System.InvalidOperationException();
            }
            else
            {
                valid = true;
            }

            GetAttributes();
            GetUniforms();
            Prepare();
        }
コード例 #10
0
        /// <summary>
        /// <see cref="PsbResCollector.CollectResources"/> for packed-texture specs, like <see cref="PsbSpec.win"/>
        /// </summary>
        /// <param name="psb"></param>
        /// <returns></returns>
        public static List <ResourceMetadata> CollectSplitResources(this PSB psb)
        {
            List <ResourceMetadata> resList = new List <ResourceMetadata>();
            var source = (PsbDictionary)psb.Objects["source"];

            foreach (var tex in source)
            {
                if (tex.Value is PsbDictionary texDic)
                {
                    var typeStr = (PsbString)texDic["texture"].Children("type");
                    var bmps    = SplitTexture(texDic, psb.Platform);
                    var icons   = (PsbDictionary)texDic["icon"];
                    foreach (var iconPair in icons)
                    {
                        var res = new PsbResource()
                        {
                            Data =
                                RL.GetPixelBytesFromImage(bmps[iconPair.Key], typeStr.Value.ToPsbPixelFormat(psb.Platform))
                        };
                        var icon = (PsbDictionary)iconPair.Value;
                        var md   = PsbResCollector.GenerateMotionResMetadata(icon, res);
                        md.Spec       = psb.Platform;
                        md.TypeString = typeStr;
                        resList.Add(md);
                    }
                }
            }

            return(resList);
        }
コード例 #11
0
ファイル: FreeMoteTest.cs プロジェクト: parhelia512/FreeMote
        public void TestRGBA8SW()
        {
            var resPath = Path.Combine(Environment.CurrentDirectory, @"..\..\Res");
            var imgPath = Path.Combine(resPath, "pm_ev001b.psb", "0.bin");

            RL.ConvertToImageFile(File.ReadAllBytes(imgPath), imgPath + "output.png", 32, 1024, PsbImageFormat.png, PsbPixelFormat.RGBA8_SW);
        }
コード例 #12
0
ファイル: Program.cs プロジェクト: tksuoran/renderstack_net
        static RLshader compileShader(string source, ShaderType shaderType, string shaderDescription)
        {
            int      status;
            RLshader shader;

            //source = source.Replace("\r\n","\n");
            string[] aStrings = { source };
            shader = RL.CreateShader(shaderType);
            RL.ShaderString(shader, ShaderStringParameter.ShaderName, shaderDescription);
            RL.ShaderSource(shader, aStrings);
            RL.CompileShader(shader);
            RL.GetShader(shader, ShaderParameter.CompileStatus, out status);
            if (status == 0)
            {
                string log = RL.GetShaderString(shader, ShaderStringParameter.CompileLog);
                string msg = shaderDescription + " compilation failed:\n" + log;
                System.Console.WriteLine(msg);
                throw new System.Exception(shaderDescription + " compilation failed:\n" + log);
            }
            else
            {
                string log = RL.GetShaderString(shader, ShaderStringParameter.CompileLog);
                string msg = shaderDescription + " compilation ok:\n" + log;
                System.Console.WriteLine(msg);
            }
            return(shader);
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: tksuoran/renderstack_net
        static void DrawOneTriangleFrame()
        {
            RL.ClearColor(0.5f, 0.5f, 0.5f, 1.0f);
            RL.Clear(ClearBufferMask.ColorBufferBit);
            //RL.RenderFrame();

            Glut.SwapBuffers();
        }
コード例 #14
0
    void set_mid_wheels()
    {
        Vector3 pos_1, pos_2; Quaternion rot; FR.GetWorldPose(out pos_1, out rot); RR.GetWorldPose(out pos_2, out rot);

        FR_wheel.transform.position = Vector3.Lerp(pos_1, pos_2, .5f);
        FL.GetWorldPose(out pos_1, out rot); RL.GetWorldPose(out pos_2, out rot);
        FL_wheel.transform.position = Vector3.Lerp(pos_1, pos_2, .5f);
    }
コード例 #15
0
ファイル: FreeMoteTest.cs プロジェクト: jszhtian/FreeMote
        public void TestDxt5Uncompress()
        {
            var resPath  = Path.Combine(Environment.CurrentDirectory, @"..\..\Res");
            var rawDxt   = Path.Combine(resPath, "D愛子a_春服-pure", "0.raw");
            var rawBytes = File.ReadAllBytes(rawDxt);

            RL.ConvertToImageFile(rawBytes, rawDxt + "-convert.png", 4096, 4096, PsbImageFormat.Png, PsbPixelFormat.DXT5);
        }
コード例 #16
0
ファイル: TextureRL.cs プロジェクト: tksuoran/renderstack_net
        private void Initialize()
        {
            RL.GenTextures(1, out textureObject);
            Debug.WriteLine("GenTextures: " + textureObject.ToString());
            GhostManager.Gen();

            SetSize();
        }
コード例 #17
0
 public void Apply(int textureUnit, OpenTK.Graphics.OpenGL.TextureTarget bindTarget)
 {
     RL.TexParameter((TextureTarget)bindTarget, TexParameter.TextureMagFilter, (int)(MagFilter));
     RL.TexParameter((TextureTarget)bindTarget, TexParameter.TextureMinFilter, (int)(MinFilter));
     RL.TexParameter((TextureTarget)bindTarget, TexParameter.TextureWrapS, (int)(Wrap));
     RL.TexParameter((TextureTarget)bindTarget, TexParameter.TextureWrapT, (int)(Wrap));
     RL.TexParameter((TextureTarget)bindTarget, TexParameter.TextureWrapR, (int)(Wrap));
 }
コード例 #18
0
        public void TestRlDirectCompress()
        {
            var resPath = Path.Combine(Environment.CurrentDirectory, @"..\..\Res");
            var path    = Path.Combine(resPath, "emote_test2-pure", "tex-texture.png");
            var bytes   = RL.CompressImageFile(path, PsbPixelFormat.CommonRGBA8);

            File.WriteAllBytes(path + ".rl", bytes);
        }
コード例 #19
0
 private void DeleteFramebuffer()
 {
     if (mainFramebuffer != System.IntPtr.Zero)
     {
         RL.DeleteFramebuffers(ref mainFramebuffer);
         mainFramebuffer = System.IntPtr.Zero;
     }
 }
コード例 #20
0
ファイル: FreeMoteTest.cs プロジェクト: parhelia512/FreeMote
        public void TestA8()
        {
            var resPath = Path.Combine(Environment.CurrentDirectory, @"..\..\Res");
            var imgPath = Path.Combine(resPath, "textfont24", "[0]-[0].png");
            var bts     = RL.GetPixelBytesFromImageFile(imgPath, PsbPixelFormat.A8);

            RL.ConvertToImageFile(bts, imgPath + "output.png", 2048, 2048, PsbImageFormat.png, PsbPixelFormat.A8);
        }
コード例 #21
0
        public override void InitializeSystems()
        {
            base.InitializeSystems();
            RL.Load(typeof(App), "LocalizationDemo.", ".trans.json");

            RL.SetLanguageKeys(Enum.GetNames(typeof(Languages)));
            RL.SetLanguage(RL.GetLanguageKeys().FirstOrDefault());
            RL.OnLanguageChange += (o, e) => ShowFirstPage();
        }
コード例 #22
0
ファイル: FreeMoteTest.cs プロジェクト: jszhtian/FreeMote
        public void TestDxt5Compress()
        {
            var    resPath  = Path.Combine(Environment.CurrentDirectory, @"..\..\Res");
            var    rawPng   = Path.Combine(resPath, "D愛子a_春服-pure", "0.png");
            Bitmap bitmap   = new Bitmap(rawPng);
            var    bc3Bytes = DxtUtil.Dxt5Encode(bitmap);

            RL.ConvertToImageFile(bc3Bytes, rawPng + "-convert.png", 4096, 4096, PsbImageFormat.Png, PsbPixelFormat.DXT5);
        }
コード例 #23
0
        public void TestRlDecompress()
        {
            var resPath = Path.Combine(Environment.CurrentDirectory, @"..\..\Res");
            var path    = Path.Combine(resPath, "澄怜a_裸.psb-pure", "84.bin"); //輪郭00

            RL.DecompressToImageFile(File.ReadAllBytes(path), path + ".png", 570, 426);
            path = Path.Combine(resPath, "澄怜a_裸.psb-pure", "89.bin"); //胸00
            RL.DecompressToImageFile(File.ReadAllBytes(path), path + ".png", 395, 411);
        }
コード例 #24
0
 public void Dispose()
 {
     if (framebufferObject != IntPtr.Zero)
     {
         RL.DeleteFramebuffers(ref framebufferObject);
         GhostManager.Delete();
         framebufferObject = IntPtr.Zero;
     }
 }
コード例 #25
0
ファイル: BufferRL.cs プロジェクト: tksuoran/renderstack_net
 public void Dispose()
 {
     if (bufferObject != IntPtr.Zero)
     {
         RL.DeleteBuffers(ref bufferObject);
         GhostManager.Delete();
         bufferObject = IntPtr.Zero;
     }
 }
コード例 #26
0
 public MainViewModel()
 {
     Languages    = RL.GetLanguageKeys().Select(x => new LanguageViewModel(x)).ToList();
     Translations = RL.GetEffectiveKeys()[RL.CurrentLanguage].Select(x => new TranslationViewModel
     {
         Key   = x.Key,
         Value = x.Value
     }).ToList();
 }
コード例 #27
0
    public void wheelsAnimation()
    {
        if (frontWheelsMesh != null && rearWheelsMesh != null)
        {
            float         rotation_angle = 0;
            Transform     FR, FL, RL, RR;     //Meshes
            WheelCollider WFR, WFL, WRL, WRR; //Wheelcolliders

            //Gets the mesh wheels
            FL = frontWheelsMesh[LEFT].GetComponent <Transform>();
            FR = frontWheelsMesh[RIGHT].GetComponent <Transform>();
            RL = rearWheelsMesh[LEFT].GetComponent <Transform>();
            RR = rearWheelsMesh[RIGHT].GetComponent <Transform>();

            //Gets the WheelColliders
            WFL = frontWheels[LEFT].GetComponent <WheelCollider>();
            WFR = frontWheels[RIGHT].GetComponent <WheelCollider>();
            WRL = rearWheels[LEFT].GetComponent <WheelCollider>();
            WRR = rearWheels[RIGHT].GetComponent <WheelCollider>();


            /*Wheels rotation*/

            //Sets the new steering
            float aux_oldsteer, aux_steer, angle;
            aux_oldsteer = oldSteering + maxSteeringAngle;
            aux_steer    = currentSteering + maxSteeringAngle;

            angle = aux_steer - aux_oldsteer;

            FL.Rotate(Vector3.up, angle);       //rotates for the steering
            FR.Rotate(Vector3.up, angle);


            oldSteering = currentSteering; //Updates the old steering for the next reajust

            //Calculates the angle for rotate the rear wheels
            float rpm = (rearWheels[LEFT].rpm + rearWheels[RIGHT].rpm) / 2;
            rotation_angle = (-rpm * 360) / 60 * Time.deltaTime;

            //Rotates the rear wheels
            RL.Rotate(Vector3.right, rotation_angle, Space.Self);
            RR.Rotate(Vector3.right, rotation_angle, Space.Self);


            FLL.transform.Rotate(Vector3.right, rotation_angle, Space.Self); //rotates for the speed
            FRR.transform.Rotate(Vector3.right, rotation_angle, Space.Self);


            /*Suspension effects*/

            suspensionEffect(WFL, FL);
            suspensionEffect(WFR, FR);
            suspensionEffect(WRL, RL);
            suspensionEffect(WRR, RR);
        }
    }
コード例 #28
0
 public void Dispose()
 {
     if (PrimitiveHandle != 0)
     {
         RL.BindPrimitive(PrimitiveTarget.Primitive, 0);
         RL.DeletePrimitives(ref PrimitiveHandle);
         PrimitiveHandle = 0;
     }
 }
コード例 #29
0
 public void Dispose()
 {
     if (shaderObject != System.IntPtr.Zero)
     {
         RL.DeleteShader(shaderObject);
         GhostManager.Delete();
         shaderObject = System.IntPtr.Zero;
     }
 }
コード例 #30
0
ファイル: BufferRL.cs プロジェクト: tksuoran/renderstack_net
        //  \brief Copies all buffer ranges to buffer
        public void UpdateAll()
        {
            lock (this)
            {
                int  newSize     = 0;
                bool sizeChanged = false;
                foreach (var bufferRange in bufferRanges)
                {
                    newSize += (int)bufferRange.Size;
                }
                Use();
#if DEBUG_BUFFER_OBJECTS
                System.Diagnostics.Debug.WriteLine("Buffer.UpdateAll() " + bufferObject + " with " + bufferRanges.Count.ToString() + " BufferRanges, BufferObject = " + BufferObject + ", new size = " + newSize + ", old size = " + size);
#endif
                if (newSize != size)
                {
#if DEBUG_BUFFER_OBJECTS
                    //Debug.WriteLine("Buffer.UpdateAll() " + bufferObject + " with " + bufferRanges.Count.ToString() + " BufferRanges, BufferObject = " + BufferObject +  " new size = " + newSize +  " old size + " + size);
                    System.Console.WriteLine("BufferRL.UpdateAll() " + bufferObject.ToString("X") + " with " + bufferRanges.Count.ToString() + " BufferRanges, new size = " + newSize + " old size " + size);
#endif
                    size        = newSize;
                    sizeChanged = true;
                    RL.BufferData(
                        bufferTarget,
                        size,
                        IntPtr.Zero,
                        bufferUsageHint
                        );
                }

                //long align = 0xf;
                int offset = 0;

#if DEBUG_BUFFER_OBJECTS
                Debug.WriteLine("Buffer.UpdateAll() with " + bufferRanges.Count.ToString() + " BufferRanges, BufferObject = " + BufferObject + " " + bufferTarget.ToString());
#endif

                //  Collect all buffer range data to a single MemoryStream
                foreach (var bufferRange in bufferRanges)
                {
                    //  Write buffer range to memory stream
                    bufferRange.WriteTo(offset, sizeChanged);

                    //  EXtra alignment just in case
                    offset += (int)bufferRange.Size;
                    //long padding = (-size) & (align - 1);  //  = align - (size & (align - 1))
                    //size = (size + align - 1) & ~(align - 1);
                    //memoryStream.Seek(size, SeekOrigin.Begin);
                    //Debug.WriteLine("Padding " + padding.ToString());
                }
            }

#if DEBUG_BUFFER_OBJECTS
            System.Diagnostics.Debug.WriteLine("Buffer.UpdateAll() " + bufferObject + " total size " + size);
#endif
        }
コード例 #31
0
ファイル: FreeMoteTest.cs プロジェクト: parhelia512/FreeMote
        public void TestL8()
        {
            var resPath = Path.Combine(Environment.CurrentDirectory, @"..\..\Res");
            var imgPath = Path.Combine(resPath, "map00.psb.m", "0.raw");

            var img = RL.ConvertToImage(File.ReadAllBytes(imgPath), 1024, 1024, PsbPixelFormat.L8);

            img.Save("l8.png", ImageFormat.Png);
            //RL.ConvertToImageFile(bts, imgPath + "output.png", 544, 960, PsbImageFormat.png, PsbPixelFormat.L8_SW);
        }
コード例 #32
0
ファイル: RL2Dex.cs プロジェクト: Xtremrules/dot42
 /// <summary>
 /// Convert the given instruction into 1 or more dex instructions.
 /// </summary>
 internal static IEnumerable<Instruction> Convert(RL.Instruction source, RegisterMapper regMapper)
 {
     var dexIns = new Instruction(source.Code.ToDex(), source.Operand) { SequencePoint = source.SequencePoint };
     var dexRegisters = dexIns.Registers;
     dexRegisters.AddRange(source.Registers.Select(x => regMapper[x]));
     if (!AllRegistersFit(dexIns) || dexIns.RequiresInvokeRange())
     {
         // At least 1 register does not fit.
         // Insert a NOP first so we do not have to re-route when we insert spilling code.
         yield return new Instruction(OpCodes.Nop);
     }
     yield return dexIns;
 }
コード例 #33
0
ファイル: DexCompiler.cs プロジェクト: Xtremrules/dot42
 /// <summary>
 /// Default ctor
 /// </summary>
 public DexCompiler(RL.MethodBody rlBody, MethodBody dexBody, InvocationFrame frame)
 {
     this.rlBody = rlBody;
     this.dexBody = dexBody;
     this.frame = frame;
 }