// SCR_Init public void Initialise( ) { if (Host.Cvars.ViewSize == null) { Host.Cvars.ViewSize = Host.CVars.Add("viewsize", 100f, ClientVariableFlags.Archive); Host.Cvars.Fov = Host.CVars.Add("fov", 90f, ClientVariableFlags.Archive); // 10 - 170 Host.Cvars.ConSpeed = Host.CVars.Add("scr_conspeed", 3000); Host.Cvars.CenterTime = Host.CVars.Add("scr_centertime", 2); Host.Cvars.ShowRam = Host.CVars.Add("showram", true); Host.Cvars.ShowTurtle = Host.CVars.Add("showturtle", false); Host.Cvars.ShowPause = Host.CVars.Add("showpause", true); Host.Cvars.PrintSpeed = Host.CVars.Add("scr_printspeed", 8); Host.Cvars.glTripleBuffer = Host.CVars.Add("gl_triplebuffer", 1, ClientVariableFlags.Archive); } // // register our commands // Host.Commands.Add("screenshot", ScreenShot_f); Host.Commands.Add("sizeup", SizeUp_f); Host.Commands.Add("sizedown", SizeDown_f); Ram = BasePicture.FromWad(Host.Video.Device, Host.Wads.FromTexture("ram"), "ram", "GL_LINEAR"); Net = BasePicture.FromWad(Host.Video.Device, Host.Wads.FromTexture("net"), "net", "GL_LINEAR"); Turtle = BasePicture.FromWad(Host.Video.Device, Host.Wads.FromTexture("turtle"), "turtle", "GL_LINEAR"); if (CommandLine.HasParam("-fullsbar")) { FullSbarDraw = true; } _IsInitialized = true; }
public MainWindow() { InitializeComponent(); BaseDataStore.LoadData(); BasePicture.CreateCanvas(); BasePicture.ClearAllSelected(); BaseCanvas.Children.Add(BasePicture.MainCanvas); }
public async Task <int> DeleteBasePictureAsync(BasePicture model) { if (model.PictureId != null || model.PictureId != Guid.Empty) { _context.BasePicture.Remove(model); } return(await _context.SaveChangesAsync()); }
public virtual void DrawPicture(BasePicture picture, int x, int y, Color?colour = null, bool hasAlpha = false) { if (this.Device.TextureAtlas.IsDirty) { this.Device.TextureAtlas.Upload(true); } this.DrawTexture2D(picture.Texture, picture.Source, new(x, y, picture.Width, picture.Height), colour, hasAlpha); }
public virtual void DrawPicture(BasePicture picture, Int32 x, Int32 y, Color?colour = null, Boolean hasAlpha = false) { if (Device.TextureAtlas.IsDirty) { Device.TextureAtlas.Upload(true); } DrawTexture2D(picture.Texture, picture.Source, new Rectangle(x, y, picture.Width, picture.Height), colour, hasAlpha); }
void SplitSingle() { int refx = 0;// (int) winrect.x; int refz = 30; foreach (BaseGroup gb in grplist) { gb.Split(); if (gb.type == (int)ENUM_TPMIX_GROUPTYPE.GROUP_TEXT) { GroupStr gptxt = (GroupStr)gb; for (int i = 0; i < gptxt.txt_info.Length; i++) { BaseChar p = new BaseChar(); p.txt = gptxt.txt_info.Substring(i, 1); guitxt.text = p.txt; int fw = (int)guitxt.GetScreenRect().width; int fz = (int)guitxt.GetScreenRect().height + row * 2; //refz += fz; p.pr = new Rect(refx, refz, fw, fz); gptxt.objlist.Add(p); if (refx + fw >= winrect.x + winrect.width - 5) { refx = 0; refz += Mathf.Max(fz, linehei); } else { refx += fw; } } } else if (gb.type == (int)ENUM_TPMIX_GROUPTYPE.GROUP_PIC) { GroupIco gico = (GroupIco)gb; BasePicture p = new BasePicture(); gb.objlist.Add(p); string imgidx = gico.txt_info.Substring(1, gico.txt_info.Length - 2); p.ico = image[int.Parse(imgidx) % image.Length]; int fw = p.ico.width; int fz = p.ico.height; p.pr = new Rect(refx, refz, fw, fz); if (refx + fw >= winrect.x + winrect.width - 5) { refx = 0; refz += Mathf.Max(fz, linehei); } else { refx += fw; } } } }
// Sbar_DrawPic private void DrawPic(Int32 x, Int32 y, BasePicture pic) { if (Host.Client.cl.gametype == ProtocolDef.GAME_DEATHMATCH) { Host.Video.Device.Graphics.DrawPicture(pic, x, y + (Host.Screen.vid.height - SBAR_HEIGHT)); } else { Host.Video.Device.Graphics.DrawPicture(pic, x + ((Host.Screen.vid.width - 320) >> 1), y + (Host.Screen.vid.height - SBAR_HEIGHT)); } }
public async Task <int> InsertOrUpdatetBasePictureAsync(BasePicture model) { if (model.PictureId == null || model.PictureId == Guid.Empty) { await _context.BasePicture.AddAsync(model); } else { _context.BasePicture.Update(model); } return(await _context.SaveChangesAsync()); }
public async Task <int> InsertBasePictureAsync(BasePicture model) { try { if (model.PictureId == null || model.PictureId == Guid.Empty) { await _context.BasePicture.AddAsync(model); } return(await _context.SaveChangesAsync()); } catch (Exception) { throw; } }
private void ElementTypeCombobox_SelectionChanged(object sender, SelectionChangedEventArgs e) { RotateComboBox.SelectedIndex = 0; if (ElementTypeCombobox.SelectedIndex < 0) { RotateComboBox.IsEnabled = false; return; } ElCanvas.Children.Clear(); Element el = new Element() { ElementType = ElementTypeCombobox.SelectedIndex + 1 }; ElCanvas.Children.Add(BasePicture.GetControlElement(el)); RotateComboBox.IsEnabled = true; }
// Draw_CachePic public BasePicture CachePic(String path, String filter = "GL_LINEAR_MIPMAP_NEAREST", System.Boolean ignoreAtlas = false) { if (_MenuCachePics.ContainsKey(path)) { return(_MenuCachePics[path]); } if (_MenuNumCachePics == DrawDef.MAX_CACHED_PICS) { Utilities.Error("menu_numcachepics == MAX_CACHED_PICS"); } var picture = BasePicture.FromFile(Host.Video.Device, path, filter, ignoreAtlas); if (picture != null) { _MenuNumCachePics++; _MenuCachePics.Add(path, picture); } return(picture); }
private void ShowAllElements_OnClick(object sender, RoutedEventArgs e) { BasePicture.ShowAllElements(); }
private void AddElementMenuItem_OnClick(object sender, RoutedEventArgs e) { BasePicture.AddElement(_locateCursor); // new AddElementWindow(_locateCursor).ShowDialog(); //BasePicture.CreateCanvas(); }
private void SearchTextBox_TextChanged(object sender, TextChangedEventArgs e) { BasePicture.SearchElement(SearchTextBox.Text); }
private void MainWindow_OnPreviewMouseDown(object sender, MouseButtonEventArgs e) { BasePicture.ClearAllSelected(); }
public void DrawTransPic(Int32 x, Int32 y, BasePicture pic) { Host.Video.Device.Graphics.DrawPicture(pic, x + ((Host.Screen.vid.width - 320) >> 1), y, hasAlpha: true); }
public void DrawTransPic(int x, int y, BasePicture pic) { this.Host.Video.Device.Graphics.DrawPicture(pic, x + ((this.Host.Screen.vid.width - 320) >> 1), y, hasAlpha: true); }
void PrintPicture(BasePicture pic) { GUI.DrawTexture(pic.pr, pic.ico); }
// Draw_Init public void Initialise( ) { if (Host.Cvars.glNoBind == null) { Host.Cvars.glNoBind = Host.CVars.Add("gl_nobind", false); Host.Cvars.glMaxSize = Host.CVars.Add("gl_max_size", 8192); Host.Cvars.glPicMip = Host.CVars.Add("gl_picmip", 0f); } // 3dfx can only handle 256 wide textures var renderer = Host.Video.Device.Desc.Renderer; if (renderer.Contains("3dfx") || renderer.Contains("Glide")) { Host.CVars.Set("gl_max_size", 256); } Host.Commands.Add("gl_texturemode", TextureMode_f); Host.Commands.Add("imagelist", Imagelist_f); // load the console background and the charset // by hand, because we need to write the version // string into the background before turning // it into a texture var concharsWad = Host.Wads.FromTexture("conchars"); var offset = concharsWad.GetLumpNameOffset("conchars"); var draw_chars = concharsWad.Data; // draw_chars for (var i = 0; i < 256 * 64; i++) { if (draw_chars[offset + i] == 0) { draw_chars[offset + i] = 255; // proper transparent color } } // Temporarily set here BaseTexture.PicMip = Host.Cvars.glPicMip.Get <Single>( ); BaseTexture.MaxSize = Host.Cvars.glMaxSize.Get <Int32>(); CharSetFont = new Renderer.Font(Host.Video.Device, "charset"); CharSetFont.Initialise(new ByteArraySegment(draw_chars, offset)); var buf = FileSystem.LoadFile("gfx/conback.lmp"); if (buf == null) { Utilities.Error("Couldn't load gfx/conback.lmp"); } var cbHeader = Utilities.BytesToStructure <WadPicHeader>(buf, 0); EndianHelper.SwapPic(cbHeader); // hack the version number directly into the pic var ver = String.Format($"(c# {QDef.CSQUAKE_VERSION,7:F2}) {QDef.VERSION,7:F2}"); var offset2 = Marshal.SizeOf(typeof(WadPicHeader)) + 320 * 186 + 320 - 11 - 8 * ver.Length; var y = ver.Length; for (var x = 0; x < y; x++) { CharToConback(ver[x], new ByteArraySegment(buf, offset2 + (x << 3)), new ByteArraySegment(draw_chars, offset)); } var ncdataIndex = Marshal.SizeOf(typeof(WadPicHeader)); // cb->data; ConsoleBackground = BasePicture.FromBuffer(Host.Video.Device, new ByteArraySegment(buf, ncdataIndex), ( Int32 )cbHeader.width, ( Int32 )cbHeader.height, "conback", "GL_LINEAR"); TranslateTexture = BaseTexture.FromDynamicBuffer(Host.Video.Device, "_TranslateTexture", new ByteArraySegment(_MenuPlayerPixels), _MenuPlayerPixelWidth, _MenuPlayerPixelHeight, false, true, "GL_LINEAR"); // // get the other pics we need // Disc = BasePicture.FromWad(Host.Video.Device, Host.Wads.FromTexture("disc"), "disc", "GL_NEAREST"); BackgroundTile = BasePicture.FromWad(Host.Video.Device, Host.Wads.FromTexture("backtile"), "backtile", "GL_NEAREST"); IsInitialised = true; }
/// <summary> /// M_DrawTransPicTranslate /// </summary> public void DrawTransPicTranslate(int x, int y, BasePicture pic) { this.Host.DrawingContext.TransPicTranslate(x + ((this.Host.Screen.vid.width - 320) >> 1), y, pic, this._TranslationTable); }
/// <summary> /// M_DrawTransPicTranslate /// </summary> public void DrawTransPicTranslate(Int32 x, Int32 y, BasePicture pic) { Host.DrawingContext.TransPicTranslate(x + ((Host.Screen.vid.width - 320) >> 1), y, pic, _TranslationTable); }
// Sbar_Init public void Initialise( ) { for (var i = 0; i < 10; i++) { var str = i.ToString( ); Numbers[0, i] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "num_" + str, "GL_NEAREST"); Numbers[1, i] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "anum_" + str, "GL_NEAREST"); } Numbers[0, 10] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "num_minus", "GL_NEAREST"); Numbers[1, 10] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "anum_minus", "GL_NEAREST"); Colon = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "num_colon", "GL_NEAREST"); Slash = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "num_slash", "GL_NEAREST"); Weapons[0, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_shotgun", "GL_LINEAR"); Weapons[0, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_sshotgun", "GL_LINEAR"); Weapons[0, 2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_nailgun", "GL_LINEAR"); Weapons[0, 3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_snailgun", "GL_LINEAR"); Weapons[0, 4] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_rlaunch", "GL_LINEAR"); Weapons[0, 5] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_srlaunch", "GL_LINEAR"); Weapons[0, 6] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_lightng", "GL_LINEAR"); Weapons[1, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_shotgun", "GL_LINEAR"); Weapons[1, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_sshotgun", "GL_LINEAR"); Weapons[1, 2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_nailgun", "GL_LINEAR"); Weapons[1, 3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_snailgun", "GL_LINEAR"); Weapons[1, 4] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_rlaunch", "GL_LINEAR"); Weapons[1, 5] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_srlaunch", "GL_LINEAR"); Weapons[1, 6] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_lightng", "GL_LINEAR"); for (var i = 0; i < 5; i++) { var s = "inva" + (i + 1).ToString( ); Weapons[2 + i, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_shotgun", "GL_LINEAR"); Weapons[2 + i, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_sshotgun", "GL_LINEAR"); Weapons[2 + i, 2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_nailgun", "GL_LINEAR"); Weapons[2 + i, 3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_snailgun", "GL_LINEAR"); Weapons[2 + i, 4] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_rlaunch", "GL_LINEAR"); Weapons[2 + i, 5] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_srlaunch", "GL_LINEAR"); Weapons[2 + i, 6] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_lightng", "GL_LINEAR"); } Ammo[0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_shells", "GL_LINEAR"); Ammo[1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_nails", "GL_LINEAR"); Ammo[2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_rocket", "GL_LINEAR"); Ammo[3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_cells", "GL_LINEAR"); Armour[0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_armor1", "GL_LINEAR"); Armour[1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_armor2", "GL_LINEAR"); Armour[2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_armor3", "GL_LINEAR"); Items[0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_key1", "GL_LINEAR"); Items[1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_key2", "GL_LINEAR"); Items[2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_invis", "GL_LINEAR"); Items[3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_invuln", "GL_LINEAR"); Items[4] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_suit", "GL_LINEAR"); Items[5] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_quad", "GL_LINEAR"); Sigil[0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_sigil1", "GL_LINEAR"); Sigil[1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_sigil2", "GL_LINEAR"); Sigil[2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_sigil3", "GL_LINEAR"); Sigil[3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_sigil4", "GL_LINEAR"); Faces[4, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face1", "GL_NEAREST"); Faces[4, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face_p1", "GL_NEAREST"); Faces[3, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face2", "GL_NEAREST"); Faces[3, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face_p2", "GL_NEAREST"); Faces[2, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face3", "GL_NEAREST"); Faces[2, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face_p3", "GL_NEAREST"); Faces[1, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face4", "GL_NEAREST"); Faces[1, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face_p4", "GL_NEAREST"); Faces[0, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face5", "GL_NEAREST"); Faces[0, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face_p5", "GL_NEAREST"); FaceInvis = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face_invis", "GL_NEAREST"); FaceInvuln = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face_invul2", "GL_NEAREST"); FaceInvisInvuln = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face_inv2", "GL_NEAREST"); FaceQuad = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "face_quad", "GL_NEAREST"); Host.Commands.Add("+showscores", ShowScores); Host.Commands.Add("-showscores", DontShowScores); SBar = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sbar", "GL_NEAREST"); IBar = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "ibar", "GL_NEAREST"); ScoreBar = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "scorebar", "GL_LINEAR"); //MED 01/04/97 added new hipnotic weapons if (MainWindow.Common.GameKind == GameKind.Hipnotic) { HWeapons[0, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_laser", "GL_LINEAR"); HWeapons[0, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_mjolnir", "GL_LINEAR"); HWeapons[0, 2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_gren_prox", "GL_LINEAR"); HWeapons[0, 3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_prox_gren", "GL_LINEAR"); HWeapons[0, 4] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv_prox", "GL_LINEAR"); HWeapons[1, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_laser", "GL_LINEAR"); HWeapons[1, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_mjolnir", "GL_LINEAR"); HWeapons[1, 2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_gren_prox", "GL_LINEAR"); HWeapons[1, 3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_prox_gren", "GL_LINEAR"); HWeapons[1, 4] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "inv2_prox", "GL_LINEAR"); for (var i = 0; i < 5; i++) { var s = "inva" + (i + 1).ToString( ); HWeapons[2 + i, 0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_laser", "GL_LINEAR"); HWeapons[2 + i, 1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_mjolnir", "GL_LINEAR"); HWeapons[2 + i, 2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_gren_prox", "GL_LINEAR"); HWeapons[2 + i, 3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_prox_gren", "GL_LINEAR"); HWeapons[2 + i, 4] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, s + "_prox", "GL_LINEAR"); } HItems[0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_wsuit", "GL_LINEAR"); HItems[1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "sb_eshld", "GL_LINEAR"); } if (MainWindow.Common.GameKind == GameKind.Rogue) { RInvBar[0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_invbar1", "GL_LINEAR"); RInvBar[1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_invbar2", "GL_LINEAR"); RWeapons[0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_lava", "GL_LINEAR"); RWeapons[1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_superlava", "GL_LINEAR"); RWeapons[2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_gren", "GL_LINEAR"); RWeapons[3] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_multirock", "GL_LINEAR"); RWeapons[4] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_plasma", "GL_LINEAR"); RItems[0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_shield1", "GL_LINEAR"); RItems[1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_agrav1", "GL_LINEAR"); // PGM 01/19/97 - team color border RTeamBord = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_teambord", "GL_LINEAR"); // PGM 01/19/97 - team color border RAmmo[0] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_ammolava", "GL_LINEAR"); RAmmo[1] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_ammomulti", "GL_LINEAR"); RAmmo[2] = BasePicture.FromWad(Host.Video.Device, Host.GfxWad, "r_ammoplasma", "GL_LINEAR"); } }
/// <summary> /// Draw_TransPicTranslate /// Only used for the player color selection menu /// </summary> public void TransPicTranslate(Int32 x, Int32 y, BasePicture pic, Byte[] translation) { Host.Video.Device.Graphics.DrawTransTranslate(TranslateTexture, x, y, pic.Width, pic.Height, translation); }