コード例 #1
0
ファイル: system.cs プロジェクト: zeromus/carotengine
        void Autoexec()
        {
            vidmode = 0;
            switch (vidmode)
            {
                case 0: ybase = 0; break;
                case 1: ybase = 20; break;
                case 2: ybase = 30; break;
            }
            //TODO
            //SetClip(0, ybase, 319, 199+ybase, screen);

            //TODO
            //int r = Random(0,5);
            //switch (r)
            //{
            //    case 0:	PlayMusic("music\rain.s3m");
            //    case 1: PlayMusic("music\zcs-02-intro.xm");
            //    case 2: PlayMusic("music\zk-jdood.it");
            //    case 3:	PlayMusic("music\verge6.it");
            //    case 4: PlayMusic("music\lib-grey.xm");
            //    case 5: PlayMusic("music\sully-columns.it");
            //}
            //cursong = r;

            InitTables();
            //HookTimer("MyTimer"); //handled by Update()

            scrollpath = 0;
            nextscroll = systemtime+700;
            nextskew = systemtime+800;

            int i;
            for (i=0; i<100; i++)
                _skewlines[i] = 1;

            var b = new Blitter(bg);
            b.SetColor(Color.Transparent);
            b.RectFill(0, 0, 256, 256);

            //InitScript();
        }
コード例 #2
0
ファイル: bgr3.cs プロジェクト: zeromus/carotengine
        void RenderBGR3()
        {
            if (bgrtoggle < 1)
            {
                bgrtoggle++;
                return;
            }
            bgrtoggle -= 1;

            if (bgrtick > 200)
            {
                bgrproc = null;
                return;
            }

            Blitter b = new Blitter(bg);
            b.Blit(bg2, 0, 0);
            b.Alpha = (bgrtick / 2)/100.0f;
            b.RectFill(0, 0, 256, 256);
            bg.Cache();

            bgrtick++;
        }
コード例 #3
0
ファイル: UiController.cs プロジェクト: Gayo/Gayo-CAROT
            void renderItemList(Blitter b, List<Menu> items, int selIndex, bool selActive, int width)
            {
                int indent = 10;

                //indent the list
                b.OffsetWindow(indent, 0);

                int overallWidth = width + SelectionOverhang;

                //the tie
                FrameRenderer fr = new FrameRenderer(cabedge.img_ui, new Chunk[]{
                    new Chunk(75, 82, 4, 3),
                    new Chunk(75, 86, 4, 42),
                    new Chunk(75, 129, 4, 3),
                    new Chunk(80, 131, 1, 1),
                    Chunk.empty,
                    Chunk.empty,
                    Chunk.empty,
                    new Chunk(80, 82, 1, 1)});

                //the bar
                FrameRenderer fr_gray = new FrameRenderer(cabedge.img_ui, new Chunk[]{
                    new Chunk(94, 83, 5, 6),
                    new Chunk(94, 90, 5, 1),
                    new Chunk(94, 92, 5, 6),
                    new Chunk(100, 92, 1, 6),
                    new Chunk(102, 92, 5, 6),
                    new Chunk(102, 90, 5, 1),
                    new Chunk(102, 83, 5, 6),
                    new Chunk(100, 83, 1, 6)});

                FrameRenderer fr_sel = fr_gray.offset(0, 17);

                //the selActive renderer is same as green but with an endcap
                FrameRenderer fr_selActive = fr_sel.clone();
                fr_selActive.NE = new Chunk(108, 100, 5, 5);
                fr_selActive.E = new Chunk(108, 106, 5, 3);
                fr_selActive.SE = new Chunk(108, 110, 5, 5);

                //render the tie (the left,top,and bottom border)
                int tie_height = 16*items.Count+2;
                fr.render(b,new Rectangle(0,0,width,tie_height));

                //render items
                for(int i=0;i<items.Count;i++) {
                    int x = 4;
                    int y = i*16+1;
                    int w = width-4;
                    int h = 16;

                    //(render fill first so the green endcap can overlap)
                    if(i == selIndex) {
                        b.Color = MakeColor(225, 255, 208);
                        if(selActive) {
                            b.RectFill(x+5, y+6, w-10+SelectionOverhang, h-12);
                            fr_selActive.render(b, new Rectangle(x, y, w + SelectionOverhang, h));
                        } else {
                            b.RectFill(x+5, y+6, w-10, h-12);
                            fr_sel.render(b, new Rectangle(x, y, w, h));
                        }
                    } else {
                        b.Color = MakeColor(232, 232, 232);
                        b.RectFill(x+5, y+6, w-10, h-12);
                        fr_gray.render(b, new Rectangle(x, y, w, h));
                    }

                    if(items[i].label != null) {
                        int textOffset = 5;
                        //offset for aesthetics and/or icon
                        textOffset += 8;
                        cabedge.font_v3_1_black.Render(b, x+textOffset, y+5, items[i].label);
                    }
                }
            }
コード例 #4
0
ファイル: TouchManager.cs プロジェクト: Gayo/Gayo-CAROT
 public void Draw(Blitter b)
 {
     b.Color = Color.Red;
     b.PushAlpha(0.25f);
     using (Image image = GameEngine.Game.LoadImage("/assembly/WhiteNoise.png"))
         b.StretchBlit(image, rect);
     b.RectFill(rect);
     b.PopAlpha();
 }
コード例 #5
0
ファイル: TileEngine.cs プロジェクト: Gayo/Gayo-CAROT
        private void renderObsLayer(int xo, int yo, Blitter b)
        {
            int xofs = -(xo & 15);
            int yofs = -(yo & 15);
            int xtc = xo >> 4;
            int ytc = yo >> 4;

            int tw = (b.Dest.Width >> 4) + 2;
            int th = (b.Dest.Height >> 4) + 2;

            b.SetColor(255, 255, 255);
            b.PushAlpha(0.5f);
            for(int y = 0; y < th; y++)
                for(int x = 0; x < tw; x++) {
                    if(y + ytc >= m.height || x + xtc >= m.width || x + xtc < 0 || y + ytc < 0) continue;
                    int t = m.logicalLayer.readObs(x + xtc, y + ytc);
                    if(t == 0) continue;
                    b.RectFill(xofs + x * 16, yofs + y * 16, 16, 16);
                }
            b.PopAlpha();
        }