コード例 #1
0
        public static void DrawZoom_Y(double z)
        {
            if (DB_L == null)
            {
                throw new GameError();
            }

            LayoutInfo i = DB_L;

            LayoutInfo.FreeInfo u = (LayoutInfo.FreeInfo)i.Entity;

            u.LTY *= z;
            u.RTY *= z;
            u.RBY *= z;
            u.LBY *= z;
        }
コード例 #2
0
        public static void DrawRotate(double rot)
        {
            if (DB_L == null)
            {
                throw new GameError();
            }

            LayoutInfo i = DB_L;

            LayoutInfo.FreeInfo u = (LayoutInfo.FreeInfo)i.Entity;

            Rotate(ref u.LTX, ref u.LTY, rot);
            Rotate(ref u.RTX, ref u.RTY, rot);
            Rotate(ref u.RBX, ref u.RBY, rot);
            Rotate(ref u.LBX, ref u.LBY, rot);
        }
コード例 #3
0
        public static void DrawSlide(double x, double y)
        {
            if (DB_L == null)
            {
                throw new GameError();
            }

            LayoutInfo i = DB_L;

            LayoutInfo.FreeInfo u = (LayoutInfo.FreeInfo)i.Entity;

            u.LTX += x;
            u.LTY += y;
            u.RTX += x;
            u.RTY += y;
            u.RBX += x;
            u.RBY += y;
            u.LBX += x;
            u.LBY += y;
        }
コード例 #4
0
        public static void DrawEnd()
        {
            if (DB_L == null)
            {
                throw new GameError();
            }

            LayoutInfo i = DB_L;

            LayoutInfo.FreeInfo u = (LayoutInfo.FreeInfo)i.Entity;

            u.LTX += DB_X;
            u.LTY += DB_Y;
            u.RTX += DB_X;
            u.RTY += DB_Y;
            u.RBX += DB_X;
            u.RBY += DB_Y;
            u.LBX += DB_X;
            u.LBY += DB_Y;

            DrawPic(DB_PicId, i);
            DB_L = null;
        }
コード例 #5
0
        private static bool DrawPicFunc(ParamInfo i)
        {
            if (i.Extra.PicRes != null)
            {
                GamePicture.SetPicRes(i.Extra.PicRes);
            }
            if (i.Extra.AlphaOn)
            {
                SetBlend(DX.DX_BLENDMODE_ALPHA, i.Extra.A);
            }
            else if (i.Extra.BlendAddOn)
            {
                SetBlend(DX.DX_BLENDMODE_ADD, i.Extra.A);
            }
            else if (i.Extra.BlendInvOn)
            {
                SetBlend(DX.DX_BLENDMODE_INVSRC, 1.0);
            }
            if (i.Extra.MosaicOn)
            {
                DX.SetDrawMode(DX.DX_DRAWMODE_NEAREST);
            }
            if (i.Extra.BrightOn)
            {
                SetBright(i.Extra.R, i.Extra.G, i.Extra.B);
            }

            int grphHdl;

            if (i.Extra.GraphicHandleFlag)
            {
                grphHdl = i.PicId;
            }
            else
            {
                grphHdl = GamePicture.Pic(i.PicId);
            }

            switch (i.Layout.Mode)
            {
            case 'F':
            {
                LayoutInfo.FreeInfo u      = (LayoutInfo.FreeInfo)i.Layout.Entity;
                const double        F_ZURE = 0.0;

                if (i.Extra.IntPosOn ?
                    DX.DrawModiGraph(
                        DoubleTools.ToInt(u.LTX),
                        DoubleTools.ToInt(u.LTY),
                        DoubleTools.ToInt(u.RTX),
                        DoubleTools.ToInt(u.RTY),
                        DoubleTools.ToInt(u.RBX),
                        DoubleTools.ToInt(u.RBY),
                        DoubleTools.ToInt(u.LBX),
                        DoubleTools.ToInt(u.LBY),
                        grphHdl,
                        1
                        )
                    != 0
                                                        :
                    DX.DrawModiGraphF(
                        (float)(u.LTX + F_ZURE),
                        (float)(u.LTY + F_ZURE),
                        (float)(u.RTX + F_ZURE),
                        (float)(u.RTY + F_ZURE),
                        (float)(u.RBX + F_ZURE),
                        (float)(u.RBY + F_ZURE),
                        (float)(u.LBX + F_ZURE),
                        (float)(u.LBY + F_ZURE),
                        grphHdl,
                        1
                        )
                    != 0
                    )                                     // ? 失敗
                {
                    if (i.Extra.IgnoreError == false)
                    {
                        ProcMain.WriteLog(u.LTX);
                        ProcMain.WriteLog(u.LTY);
                        ProcMain.WriteLog(u.RTX);
                        ProcMain.WriteLog(u.RTY);
                        ProcMain.WriteLog(u.RBX);
                        ProcMain.WriteLog(u.RBY);
                        ProcMain.WriteLog(u.LBX);
                        ProcMain.WriteLog(u.LBY);
                        ProcMain.WriteLog(i.PicId);
                        ProcMain.WriteLog(grphHdl);

                        throw new GameError();
                    }
                }
            }
            break;

            case 'R':
            {
                LayoutInfo.RectInfo u = (LayoutInfo.RectInfo)i.Layout.Entity;

                if (i.Extra.IntPosOn ?
                    DX.DrawExtendGraph(
                        DoubleTools.ToInt(u.L),
                        DoubleTools.ToInt(u.T),
                        DoubleTools.ToInt(u.R),
                        DoubleTools.ToInt(u.B),
                        grphHdl,
                        1
                        )
                    != 0
                                                        :
                    DX.DrawExtendGraphF(
                        (float)u.L,
                        (float)u.T,
                        (float)u.R,
                        (float)u.B,
                        grphHdl,
                        1
                        )
                    != 0
                    )                                     // ? 失敗
                {
                    if (i.Extra.IgnoreError == false)
                    {
                        ProcMain.WriteLog(u.L);
                        ProcMain.WriteLog(u.T);
                        ProcMain.WriteLog(u.R);
                        ProcMain.WriteLog(u.B);
                        ProcMain.WriteLog(i.PicId);
                        ProcMain.WriteLog(grphHdl);

                        throw new GameError();
                    }
                }
            }
            break;

            case 'S':
            {
                LayoutInfo.SimpleInfo u = (LayoutInfo.SimpleInfo)i.Layout.Entity;

                if (i.Extra.IntPosOn ?
                    DX.DrawGraph(
                        DoubleTools.ToInt(u.X),
                        DoubleTools.ToInt(u.Y),
                        grphHdl,
                        1
                        )
                    != 0
                                                        :
                    DX.DrawGraphF(
                        (float)u.X,
                        (float)u.Y,
                        grphHdl,
                        1
                        )
                    != 0
                    )                                     // ? 失敗
                {
                    if (i.Extra.IgnoreError == false)
                    {
                        ProcMain.WriteLog(u.X);
                        ProcMain.WriteLog(u.Y);
                        ProcMain.WriteLog(i.PicId);
                        ProcMain.WriteLog(grphHdl);

                        throw new GameError();
                    }
                }
            }
            break;

            default:
                throw new GameError();
            }

            if (i.Extra.PicRes != null)
            {
                GamePicture.ResetPicRes();
            }
            if (i.Extra.AlphaOn || i.Extra.BlendAddOn || i.Extra.BlendInvOn)
            {
                ResetBlend();
            }
            if (i.Extra.MosaicOn)
            {
                DX.SetDrawMode(DX.DX_DRAWMODE_BILINEAR);
            }
            if (i.Extra.BrightOn)
            {
                ResetBright();
            }

            return(false);
        }