private void RenderCast(Finale finale) { DrawPatch("BOSSBACK", 0, 0); var frame = finale.CastState.Frame & 0x7fff; var patch = sprites[finale.CastState.Sprite].Frames[frame].Patches[0]; if (sprites[finale.CastState.Sprite].Frames[frame].Flip[0]) { screen.DrawPatchFlip( patch, screen.Width / 2, screen.Height - scale * 30, scale); } else { screen.DrawPatch( patch, screen.Width / 2, screen.Height - scale * 30, scale); } var width = screen.MeasureText(finale.CastName, scale); screen.DrawText( finale.CastName, (screen.Width - width) / 2, screen.Height - scale * 13, scale); }
public void RenderGame(DoomGame game) { if (game.State == GameState.Level) { var consolePlayer = game.World.ConsolePlayer; var displayPlayer = game.World.DisplayPlayer; if (game.World.AutoMap.Visible) { autoMap.Render(consolePlayer); statusBar.Render(consolePlayer, true); } else { threeD.Render(displayPlayer); if (threeD.WindowSize < 8) { statusBar.Render(consolePlayer, true); } else if (threeD.WindowSize == ThreeDRenderer.MaxScreenSize) { statusBar.Render(consolePlayer, false); } } if (config.video_displaymessage || ReferenceEquals(consolePlayer.Message, (string)DoomInfo.Strings.MSGOFF)) { if (consolePlayer.MessageTime > 0) { var scale = screen.Width / 320; screen.DrawText(consolePlayer.Message, 0, 7 * scale, scale); } } } else if (game.State == GameState.Intermission) { intermission.Render(game.Intermission); } else if (game.State == GameState.Finale) { finale.Render(game.Finale); } }
private void DrawMenuText(IReadOnlyList <char> text, int x, int y) { var scale = screen.Width / 320; screen.DrawText(text, scale * x, scale * y, scale); }