Esempio n. 1
0
        private void Main4_01_B(string rDir, string wDir)         // 2020.7.18 ver
        {
            int[]     spBarNums    = new int[] { 15, 20, 25, 30 };
            int[]     spBarWidths  = new int[] { 10, 12, 14, 16 };
            int[]     spBarHeights = new int[] { 200, 230, 260, 290 };
            I3Color[] spBarColors  = new I3Color[]
            {
                new I3Color(200, 200, 255),
                new I3Color(200, 255, 255),
                new I3Color(200, 255, 200),
                new I3Color(255, 200, 200),
            };
            double[] spBarAlphas = new double[] { 0.4, 0.6, 0.8, 1.0 };

            new MovieGen0001().Main01(rDir, wDir, spBarNums[1], spBarWidths[1], spBarHeights[1], spBarColors[1], spBarAlphas[1]);

            for (int x = 0; x < 4; x++)
            {
                if (x == 1)
                {
                    continue;
                }

                new MovieGen0001().Main01(rDir, wDir, spBarNums[x], spBarWidths[1], spBarHeights[1], spBarColors[1], spBarAlphas[1]);
                new MovieGen0001().Main01(rDir, wDir, spBarNums[1], spBarWidths[x], spBarHeights[1], spBarColors[1], spBarAlphas[1]);
                new MovieGen0001().Main01(rDir, wDir, spBarNums[1], spBarWidths[1], spBarHeights[x], spBarColors[1], spBarAlphas[1]);
                new MovieGen0001().Main01(rDir, wDir, spBarNums[1], spBarWidths[1], spBarHeights[1], spBarColors[x], spBarAlphas[1]);
                new MovieGen0001().Main01(rDir, wDir, spBarNums[1], spBarWidths[1], spBarHeights[1], spBarColors[1], spBarAlphas[x]);
            }
        }
Esempio n. 2
0
        // ----

        public Design_0001(
            DDPicture wallPicture_01,
            DDPicture wallPicture_02,
            DDPicture wallPicture_03,
            I3Color color_01,
            I3Color color_02,
            I3Color color_03,
            I3Color color_a,
            I3Color color_b,
            I3Color enemyColor_arkanoid,
            I3Color enemyColor_cookie,
            I3Color enemyColor_death_a,
            I3Color enemyColor_death_b,
            I3Color enemyColor_pata,
            double wallAlpha,
            bool 市松tic,
            Action <Design_0001> extendedCtor
            )
        {
            this.WallPicture_01      = wallPicture_01;
            this.WallPicture_02      = wallPicture_02;
            this.WallPicture_03      = wallPicture_03;
            this.Color_01            = color_01;
            this.Color_02            = color_02;
            this.Color_03            = color_03;
            this.Color_A             = color_a;
            this.Color_B             = color_b;
            this.EnemyColor_Arkanoid = enemyColor_arkanoid;
            this.EnemyColor_Cookie   = enemyColor_cookie;
            this.EnemyColor_Death_A  = enemyColor_death_a;
            this.EnemyColor_Death_B  = enemyColor_death_b;
            this.EnemyColor_Pata     = enemyColor_pata;
            this.WallAlpha           = wallAlpha;
            this.市松tic = 市松tic;
        }
Esempio n. 3
0
        private IEnumerable <bool> DrawString(int x, int y, string text, int frameMax = 600)
        {
            double b     = 0.0;
            double bTarg = 1.0;

            foreach (DDScene scene in DDSceneUtils.Create(frameMax))
            {
                if (scene.Numer == scene.Denom - 300)
                {
                    bTarg = 0.0;
                }

                DDUtils.Approach(ref b, bTarg, 0.99);

                I3Color color = new I3Color(
                    SCommon.ToInt(b * 255),
                    SCommon.ToInt(b * 255),
                    SCommon.ToInt(b * 255)
                    );

                DDFontUtils.DrawString(x, y, text, DDFontUtils.GetFont("03\u711a\u706b-Regular", 30), false, color);

                yield return(true);
            }
        }
Esempio n. 4
0
        //
        //	copied the source file by https://github.com/stackprobe/Factory/blob/master/SubTools/CopyLib.c
        //
        public static void SetBright(I3Color color)
        {
            color.R = IntTools.ToRange(color.R, 0, 255);
            color.G = IntTools.ToRange(color.G, 0, 255);
            color.B = IntTools.ToRange(color.B, 0, 255);

            Extra.Bright = color;
        }
Esempio n. 5
0
        public static void SetBright(I3Color color)
        {
            color.R = SCommon.ToRange(color.R, 0, 255);
            color.G = SCommon.ToRange(color.G, 0, 255);
            color.B = SCommon.ToRange(color.B, 0, 255);

            Extra.Bright = color;
        }
Esempio n. 6
0
        public static void Draw(IEnumerable <DDCrash> crashes, I3Color color, double a = 1.0)
        {
            DDDraw.SetAlpha(a);
            DDDraw.SetBright(color);

            Draw(crashes);

            DDDraw.Reset();
        }
Esempio n. 7
0
        public SpectrumScreen0001(int barNum, int barWidth, int barHeight, I3Color barColor)
        {
            this.Screen      = new DDSubScreen(960, barHeight + 100, true);       // g
            this.GraphScreen = new DDSubScreen(900, barHeight, true);             // g

            this.BarNum   = barNum;
            this.Bar_W    = barWidth;
            this.Bar_H    = barHeight;
            this.BarColor = barColor;
        }
Esempio n. 8
0
 private static void Print_Main2(string line, int x, int y, I3Color color)
 {
     if (P_FontSize == -1)
     {
         DX.DrawString(x, y, line, DDUtils.GetColor(color));
     }
     else
     {
         DDFontUtils.DrawString(x, y, line, Font, false, color);
     }
 }
Esempio n. 9
0
        private static void Print_Main2(string line, int x, int y, I3Color color, double centeringRate)
        {
            // centeringRate:
            // 0.0 == 右寄せ (最初の文字の左側面が x になる)
            // 0.5 == 中央寄せ
            // 1.0 == 左寄せ (最後の文字の右側面が x になる)

            x -= SCommon.ToInt(DDFontUtils.GetDrawStringWidth(line, _font) * centeringRate);

            DDFontUtils.DrawString(x, y, line, _font, false, color);
        }
Esempio n. 10
0
        //
        //	copied the source file by https://github.com/stackprobe/Factory/blob/master/SubTools/CopyLib.c
        //
        public void Draw(IEnumerable <Crash> crashes, I3Color color)
        {
            DDDraw.SetBright(color);

            using (this.MyScreen.Section())
            {
                Queue <IEnumerable <Crash> > q = new Queue <IEnumerable <Crash> >();

                q.Enqueue(crashes);

                while (1 <= q.Count)
                {
                    foreach (Crash crash in q.Dequeue())
                    {
                        switch (crash.Kind)
                        {
                        case CrashUtils.Kind_e.NONE:
                            break;

                        case CrashUtils.Kind_e.POINT:
                            DDDraw.DrawBegin(DDGround.GeneralResource.WhiteBox, crash.Pt.X - DDGround.ICamera.X, crash.Pt.Y - DDGround.ICamera.Y);
                            DDDraw.DrawSetSize(POINT_WH, POINT_WH);
                            DDDraw.DrawEnd();
                            break;

                        case CrashUtils.Kind_e.CIRCLE:
                            DDDraw.DrawBegin(DDGround.GeneralResource.WhiteCircle, crash.Pt.X - DDGround.ICamera.X, crash.Pt.Y - DDGround.ICamera.Y);
                            DDDraw.DrawSetSize(crash.R * 2.0, crash.R * 2.0);
                            DDDraw.DrawEnd();
                            break;

                        case CrashUtils.Kind_e.RECT:
                            DDDraw.DrawRect(
                                DDGround.GeneralResource.WhiteBox,
                                crash.Rect.L - DDGround.ICamera.X,
                                crash.Rect.T - DDGround.ICamera.Y,
                                crash.Rect.W,
                                crash.Rect.H
                                );
                            break;

                        case CrashUtils.Kind_e.MULTI:
                            q.Enqueue(crash.Cs);
                            break;

                        default:
                            throw null;                                     // never
                        }
                    }
                }
            }
            DDDraw.Reset();
        }
Esempio n. 11
0
        public void Save()
        {
            I3Color[,] bmp = new I3Color[this.W, this.H];

            for (int x = 0; x < this.W; x++)
            {
                for (int y = 0; y < this.H; y++)
                {
                    bmp[x, y] = MapCell.Kind_e_Colors[(int)this.Table[x, y].Kind];
                }
            }

            DDResource.Save(this.MapFile, Common.WriteBmpFile(bmp, this.W, this.H));
        }
Esempio n. 12
0
        private IEnumerable <bool> GetLayer03(string imgFile)
        {
            DDPicture img = DDPictureLoaders.Standard(imgFile);             // g

            double a = 0.0;
            double z = 2.0;

            double t1x = 100;
            double t2x = 100;
            double t3x = 100;

            for (int frmcnt = 0; ; frmcnt++)
            {
                DDDraw.DrawBegin(img, DDConsts.Screen_W / 2, DDConsts.Screen_H / 2);
                DDDraw.DrawZoom(1.353);
                DDDraw.SetAlpha(a);
                DDDraw.DrawEnd();

                DDDraw.DrawBegin(img, DDConsts.Screen_W / 2, DDConsts.Screen_H / 2);
                DDDraw.DrawZoom(1.353 * z);
                DDDraw.SetAlpha(a / 2.0);
                DDDraw.DrawEnd();

                I3Color color = new I3Color((int)(255 * a), (int)(255 * a), (int)(255 * a));

                if (10 < frmcnt)
                {
                    DDFontUtils.DrawString((int)(1000 + t1x), 620, "TOKYO", DDFontUtils.GetFont("Ink Free", 100), false, color);

                    DDUtils.Approach(ref t1x, 0.0, 0.8);
                }
                if (15 < frmcnt)
                {
                    DDFontUtils.DrawString((int)(1200 + t2x), 720, "LOVE", DDFontUtils.GetFont("Ink Free", 200), false, color);

                    DDUtils.Approach(ref t2x, 0.0, 0.8);
                }
                if (20 < frmcnt)
                {
                    DDFontUtils.DrawString((int)(1000 + t3x), 900, "STORY    1991", DDFontUtils.GetFont("Ink Free", 100), false, color);

                    DDUtils.Approach(ref t3x, 0.0, 0.8);
                }

                DDUtils.Approach(ref a, 1.0, 0.98);
                DDUtils.Approach(ref z, 1.0, 0.98);

                yield return(true);
            }
        }
Esempio n. 13
0
        private void DrawWall(DDPicture picture, I3Color color, double xRate, double yRate)
        {
            int xSpan = picture.Get_W() - DDConsts.Screen_W;
            int ySpan = picture.Get_H() - DDConsts.Screen_H;
            int span  = Math.Min(xSpan, ySpan);

            DDDraw.SetBright(color);
            DDDraw.DrawCenter(
                picture,
                DDConsts.Screen_W / 2 - (xRate - 0.5) * span,
                DDConsts.Screen_H / 2 - (yRate - 0.5) * span
                );
            DDDraw.Reset();
        }
Esempio n. 14
0
        public void AddItem(bool groupFlag, string title, I3Color color, I3Color borderColor, Action a_desided = null)
        {
            if (a_desided == null)
            {
                a_desided = () => { }
            }
            ;

            this.Columns[this.Columns.Count - 1].Items.Add(new ItemInfo()
            {
                GroupFlag   = groupFlag,
                Title       = title,
                Color       = color,
                BorderColor = borderColor,
                A_Desided   = a_desided,
            });
        }
Esempio n. 15
0
        public Enemy_Meteor(D2Point pos)
            : base(pos)
        {
            this.Angle = DDUtils.GetAngle(Game.I.Player.X - pos.X, Game.I.Player.Y - pos.Y);
            this.Speed = 0.0;

            {
                int clr = DDUtils.Random.GetInt(192);
                this.Color = new I3Color(255, clr, clr);
            }

            this.Rot       = 0.0;
            this.RotAdd    = 0.0;
            this.RotAddAdd = DDUtils.Random.DReal() * 0.001;

            DDGround.EL.Add(SCommon.Supplier(this.E_出現エフェクト()));
        }
Esempio n. 16
0
        private void DrawMap()
        {
            int cell_wh = 400 / Math.Max(this.Map.W, this.Map.H);

            if (cell_wh < 1)
            {
                throw null;                 // 2bs?
            }
            for (int x = -1; x <= this.Map.W; x++)
            {
                for (int y = -1; y <= this.Map.H; y++)
                {
                    int l = (DDConsts.Screen_W - cell_wh * this.Map.W) / 2;
                    int t = (DDConsts.Screen_H - cell_wh * this.Map.H) / 2;

                    I3Color color = new I3Color(64, 64, 64);

                    if (this.Map.DungeonMap[x, y].Wall)
                    {
                        color = new I3Color(200, 200, 50);
                    }

                    if (this.Map.DungeonMap[x, y].Goal)
                    {
                        color = new I3Color(255, 0, 0);
                    }

                    if (x == this.Map.DungeonMap.StartPoint.X && y == this.Map.DungeonMap.StartPoint.Y)
                    {
                        color = new I3Color(0, 128, 255);
                    }

                    DDDraw.SetBright(color);
                    DDDraw.DrawRect(DDGround.GeneralResource.WhiteBox, l + x * cell_wh, t + y * cell_wh, cell_wh, cell_wh);
                    DDDraw.Reset();
                }
            }

            // zantei
            DDPrint.SetPrint();
            DDPrint.Print("※ [青]=スタート地点 , [赤]=ゴール地点 , 上方向が北 ( パラメータ=" + this.Map.DungeonMap.ParameterString + " )");
        }
Esempio n. 17
0
        private static void Draw円形体力ゲージ(double x, double y, double hp, double plX, double plY)
        {
            const int    DENOM = 180;
            const double R1    = 100.0;
            const double R2    = 110.0;
            const double R3    = 150.0;

            for (int numer = 0; numer < DENOM; numer++)
            {
                double rate1 = (double)(numer + 0) / DENOM;
                double rate2 = (double)(numer + 1) / DENOM;

                double ltx = x + Math.Cos((rate1 - 0.25) * Math.PI * 2.0) * R2;
                double rtx = x + Math.Cos((rate2 - 0.25) * Math.PI * 2.0) * R2;
                double rbx = x + Math.Cos((rate2 - 0.25) * Math.PI * 2.0) * R1;
                double lbx = x + Math.Cos((rate1 - 0.25) * Math.PI * 2.0) * R1;
                double lty = y + Math.Sin((rate1 - 0.25) * Math.PI * 2.0) * R2;
                double rty = y + Math.Sin((rate2 - 0.25) * Math.PI * 2.0) * R2;
                double rby = y + Math.Sin((rate2 - 0.25) * Math.PI * 2.0) * R1;
                double lby = y + Math.Sin((rate1 - 0.25) * Math.PI * 2.0) * R1;

                double  rate    = rate1;
                bool    colored = hp < rate && rate < hp * 2 || rate < hp * 2 - 1.0;
                I3Color color   = colored ? new I3Color(255, 0, 0) : new I3Color(255, 255, 255);

                bool   plNear = DDUtils.GetDistance(new D2Point(x, y), new D2Point(plX, plY)) < R3;
                double a      = plNear ? 0.25 : 0.5;

                DDDraw.SetAlpha(a);
                DDDraw.SetBright(color);
                DDDraw.DrawFree(
                    Ground.I.Picture.WhiteBox,
                    ltx, lty,
                    rtx, rty,
                    rbx, rby,
                    lbx, lby
                    );
                DDDraw.Reset();
            }
        }
Esempio n. 18
0
        public static DDPicture RGBToTrans(string file, I3Color targetColor)
        {
            return(new DDPicture(
                       () =>
            {
                int siHandle = DDPictureLoaderUtils.FileData2SoftImage(DDPictureLoaderUtils.File2FileData(file));
                int w;
                int h;

                DDPictureLoaderUtils.GetSoftImageSize(siHandle, out w, out h);

                //DDPictureLoaderUtils.Dot targetDot = DDPictureLoaderUtils.GetSoftImageDot(siHandle, 0, 0); // 左上隅のピクセル

                for (int x = 0; x < w; x++)
                {
                    for (int y = 0; y < h; y++)
                    {
                        DDPictureLoaderUtils.Dot dot = DDPictureLoaderUtils.GetSoftImageDot(siHandle, x, y);

                        if (
                            targetColor.R == dot.R &&
                            targetColor.G == dot.G &&
                            targetColor.B == dot.B
                            )
                        {
                            dot.A = 0;

                            DDPictureLoaderUtils.SetSoftImageDot(siHandle, x, y, dot);
                        }
                    }
                }
                return DDPictureLoaderUtils.GraphicHandle2Info(DDPictureLoaderUtils.SoftImage2GraphicHandle(siHandle));
            },
                       DDPictureLoaderUtils.ReleaseInfo,
                       DDPictureUtils.Add
                       ));
        }
Esempio n. 19
0
 //
 //	copied the source file by https://github.com/stackprobe/Factory/blob/master/SubTools/CopyLib.c
 //
 public void Draw(Crash crash, I3Color color)
 {
     Draw(new Crash[] { crash }, color);
 }
Esempio n. 20
0
 public static void SetBorder(I3Color color, int width = 2)
 {
     Extra.BorderColor = color;
     Extra.BorderWidth = width;
 }
Esempio n. 21
0
 public static void SetColor(I3Color color)
 {
     Extra.Color = color;
 }
Esempio n. 22
0
 public static void SetColor(I3Color color)
 {
     P_Info.Color = color;
 }
Esempio n. 23
0
 private static void Print_Main2(string line, int x, int y, I3Color color)
 {
     DX.DrawString(x, y, line, DDUtils.GetColor(color));
 }
Esempio n. 24
0
        /// <summary>
        /// レイヤ表示を実行する。
        /// ステージ番号:
        /// -- 1~9 == 各ステージ
        /// </summary>
        /// <param name="stageNo">ステージ番号</param>
        /// <param name="themeColor">このステージの印象的な色</param>
        public static void Perform(int stageNo, I3Color themeColor)
        {
            int layerNo = 10 - stageNo;

            DDCurtain.SetCurtain(0, -1.0);
            DDCurtain.SetCurtain();

            using (DDSubScreen tmpScreen = new DDSubScreen(400, 200))
            {
                foreach (DDScene scene in DDSceneUtils.Create(210))
                {
                    if (scene.Numer + 30 == scene.Denom)
                    {
                        DDCurtain.SetCurtain(30, -1.0);
                    }

                    DDCurtain.DrawCurtain();

                    int bure  = (int)(scene.Rate * scene.Rate * 20);
                    int xBure = DDUtils.Random.GetRange(-bure, bure);
                    int yBure = DDUtils.Random.GetRange(-bure, bure);
#if true
                    DDFontUtils.DrawString_XCenter(
                        DDConsts.Screen_W / 2 + xBure,
                        DDConsts.Screen_H / 2 + yBure - 50,
                        "LAYER " + layerNo,
                        DDFontUtils.GetFont("03焚火-Regular", 100)
                        );
#else
                    using (tmpScreen.Section())
                    {
                        DDPrint.SetColor(new I3Color(60, 60, 60));
                        DDPrint.SetBorder(new I3Color(255, 255, 255));
                        DDPrint.SetPrint(tmpScreen.GetSize().W / 2 - 60, tmpScreen.GetSize().H / 2 - 8);
                        DDPrint.Print("L A Y E R : " + layerNo);
                        DDPrint.Reset();
                    }
                    DDDraw.SetMosaic();
                    DDDraw.DrawBegin(
                        tmpScreen.ToPicture(),
                        DDConsts.Screen_W / 2 + xBure,
                        DDConsts.Screen_H / 2 + yBure
                        );
                    DDDraw.DrawZoom(6.0);
                    DDDraw.DrawEnd();
                    DDDraw.Reset();
#endif

                    if (0.5 < scene.Rate)
                    {
                        const int c_max = 300;

                        for (int c = (int)(scene.Rate * scene.Rate * c_max); 0 < c; c--)
                        {
                            double c_rate = (double)c / c_max;

                            DDDraw.SetAlpha(scene.Rate * 0.5);
                            //DDDraw.SetBright(new I3Color(c, c, c)); // old
                            DDDraw.SetBright(new I3Color(
                                                 (int)(themeColor.R * c_rate),
                                                 (int)(themeColor.G * c_rate),
                                                 (int)(themeColor.B * c_rate)
                                                 ));
                            DDDraw.DrawBegin(
                                Ground.I.Picture.WhiteBox,
                                DDUtils.Random.GetInt(DDConsts.Screen_W),
                                DDUtils.Random.GetInt(DDConsts.Screen_H)
                                );
                            DDDraw.DrawSetSize(
                                DDUtils.Random.GetRange(40, (int)(400 * scene.Rate)),
                                DDUtils.Random.GetRange(20, (int)(200 * scene.Rate))
                                );
                            DDDraw.DrawEnd();
                            DDDraw.Reset();
                        }
                    }

                    DDEngine.EachFrame();
                }
            }

            DDCurtain.SetCurtain(0);
        }
Esempio n. 25
0
 public static void SetBorder(I3Color color, int width = 1)
 {
     P_Info.BorderColor = color;
     P_Info.BorderWidth = width;
 }
Esempio n. 26
0
        public static void DrawString_XCenter(int x, int y, string str, DDFont font, bool tategakiFlag, I3Color color, I3Color edgeColor)
        {
            x -= GetDrawStringWidth(str, font, tategakiFlag) / 2;

            DrawString(x, y, str, font, tategakiFlag, color, edgeColor);
        }
Esempio n. 27
0
 public static uint GetColor(I3Color color)
 {
     return(DX.GetColor(color.R, color.G, color.B));
 }
Esempio n. 28
0
 public static void DrawString(int x, int y, string str, DDFont font, bool tategakiFlag, I3Color color)
 {
     DrawString(x, y, str, font, tategakiFlag, color, new I3Color(-1, 0, 0));
 }
Esempio n. 29
0
        public static IEnumerable <bool> Message(string message, I3Color color, I3Color borderColor)
        {
            Action a_draw_message = () =>
            {
                DDPrint.SetPrint(DDConsts.Screen_W / 2 - 4 * message.Length, DDConsts.Screen_H / 2 - 8);
                DDPrint.SetColor(color);
                DDPrint.SetBorder(borderColor);
                DDPrint.Print(message);
                DDPrint.Reset();
            };

            foreach (DDScene scene in DDSceneUtils.Create(20))
            {
                DDDraw.SetAlpha(0.5);
                DDDraw.SetBright(0, 0, 0);
                DDDraw.DrawRect_LTRB(
                    Ground.I.Picture.WhiteBox,
                    0,
                    DDConsts.Screen_H / 2 - (10 + 40 * scene.Rate),
                    DDConsts.Screen_W,
                    DDConsts.Screen_H / 2 + (10 + 40 * scene.Rate)
                    );
                DDDraw.Reset();

                a_draw_message();

                yield return(true);
            }
            foreach (DDScene scene in DDSceneUtils.Create(180))
            {
                DDDraw.SetAlpha(0.5);
                DDDraw.SetBright(0, 0, 0);
                DDDraw.DrawRect_LTRB(
                    Ground.I.Picture.WhiteBox,
                    0,
                    DDConsts.Screen_H / 2 - 50,
                    DDConsts.Screen_W,
                    DDConsts.Screen_H / 2 + 50
                    );
                DDDraw.Reset();

                a_draw_message();

                yield return(true);
            }
            foreach (DDScene scene in DDSceneUtils.Create(20))
            {
                DDDraw.SetAlpha(0.5);
                DDDraw.SetBright(0, 0, 0);
                DDDraw.DrawRect_LTRB(
                    Ground.I.Picture.WhiteBox,
                    0,
                    DDConsts.Screen_H / 2 - (10 + 40 * (1.0 - scene.Rate)),
                    DDConsts.Screen_W,
                    DDConsts.Screen_H / 2 + (10 + 40 * (1.0 - scene.Rate))
                    );
                DDDraw.Reset();

                a_draw_message();

                yield return(true);
            }
        }
Esempio n. 30
0
        public static void DrawString(int x, int y, string str, DDFont font, bool tategakiFlag, I3Color color, I3Color edgeColor)
        {
            if (edgeColor.R != -1)
            {
                const int EDGE_WIDTH = 2;
                const int EDGE_STEP  = EDGE_WIDTH;

                for (int xc = -EDGE_WIDTH; xc <= EDGE_WIDTH; xc += EDGE_STEP)
                {
                    for (int yc = -EDGE_WIDTH; yc <= EDGE_WIDTH; yc += EDGE_STEP)
                    {
                        DX.DrawStringToHandle(x + xc, y + yc, str, DDUtils.GetColor(edgeColor), font.GetHandle(), DDUtils.GetColor(new I3Color(0, 0, 0)), tategakiFlag ? 1 : 0);
                    }
                }
            }
            DX.DrawStringToHandle(x, y, str, DDUtils.GetColor(color), font.GetHandle(), DDUtils.GetColor(new I3Color(0, 0, 0)), tategakiFlag ? 1 : 0);
        }