void RenderCallback(Matrix4 proj, Matrix4 view)
        {
            _renderer.RenderStart(proj, view);

            if (_dlistError != null)
            {
                toolStripStatusErrorLabel.Text = _dlistError;
                return;
            }

            foreach (var routine in _routines)
            {
                _renderer.ModelMtxStack.Push(Matrix4.CreateTranslation(routine.X, routine.Y, routine.Z));
                _renderer.RenderDList(routine.Dlist);
                _renderer.ModelMtxStack.Pop();
            }

            toolStripStatusErrorLabel.Text = _renderer.RenderFailed()
                ? $"RENDER ERROR AT 0x{_renderer.RenderErrorAddr:X8}! ({_renderer.ErrorMsg})"
                : "";
        }
        void RenderCallback(Matrix4 proj, Matrix4 view)
        {
            if (_dlistError != null)
            {
                toolStripErrorLabel.Text = _dlistError;
                return;
            }

            _renderer.RenderStart(proj, view);
            RenderLimb(0);

            /*
             * GL.PointSize(10.0f);
             * GL.LineWidth(2.0f);
             * GL.Color3(0xFF, 0, 0);
             * RenderLimb(0, true);
             */

            toolStripErrorLabel.Text = _renderer.RenderFailed()
                ? $"RENDER ERROR AT 0x{_renderer.RenderErrorAddr:X8}! ({_renderer.ErrorMsg})"
                : "";
        }