TheoAllen

FPS Display Mod RGSS3

Nov 26th, 2014
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.13 KB | None | 0 0
  1. module Graphics
  2.   @fps, @fps_tmp = 0, []
  3.   class << self
  4.     attr_reader :fps
  5.    
  6.     alias fps_update update unless method_defined?(:fps_update)
  7.     def update
  8.       t = Time.now
  9.       fps_update
  10.       @fps_tmp[frame_count % frame_rate] = Time.now != t
  11.       @fps = 0
  12.       frame_rate.times {|i| @fps += 1 if @fps_tmp[i]}
  13.       fps_sprite.src_rect.y = @fps * 16
  14.     end
  15.    
  16.     def fps_sprite
  17.       if !@fps_sprite or @fps_sprite.disposed?
  18.         @fps_sprite = Sprite.new
  19.         @fps_sprite.z = 0x7FFFFFFF
  20.         @fps_sprite.bitmap = Bitmap.new(24, 16*120)
  21.         @fps_sprite.bitmap.font.name = "Arial"
  22.         @fps_sprite.bitmap.font.size = 16
  23.         @fps_sprite.bitmap.font.color.set(255, 255, 255)
  24.         @fps_sprite.bitmap.fill_rect(@fps_sprite.bitmap.rect, Color.new(0, 0, 0))
  25.         120.times {|i| @fps_sprite.bitmap.draw_text(0, i*16, 24, 16, "% 3d"%i, 1)}
  26.         @fps_sprite.src_rect.height = 16
  27.         @fps_sprite.visible = $TEST || $BTEST
  28.         # Compatibility with mithran script
  29.         @fps_sprite.gobj_exempt if @fps_sprite.respond_to?("gobj_exempt")
  30.       end
  31.       return @fps_sprite
  32.     end
  33.   end
  34. end
Advertisement
Add Comment
Please, Sign In to add comment