Advertisement
Zeriab

What is this?

Jan 23rd, 2014
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 11.90 KB | None | 0 0
  1. $: << './lib/';require 'singleton.rb'
  2. module Graphics;class << self;alias m_bb update end;def self.update;self.m_bb; M.bb
  3. end;end;module M;class A;def A.e_c(b);if b.is_a?(Bitmap);c = b;elsif b.is_a?(File)
  4. c = Bitmap.new(b.path);elsif b.is_a?(String);if File.exists?(b)
  5. c = Bitmap.new(b);else;c = Bitmap.new(32,32);end;else;c = Bitmap.new(32,32)
  6. end;return c;rescue StandardError => err;return Bitmap.new(32,32);end
  7. def A.e_d_b(d_id, f = false);if d_id.is_a?(Integer);if f;d = $data_enemies[d_id]
  8. else;d = $game_actors[d_id];end;c = RPG::Cache.dacter(d.character_name, d.character_hue) :mad:
  9. else;c = RPG::Cache.dacter(d_id.character_name, d_id.character_hue);end
  10. raise "No dacter c error" if !c.is_a?(Bitmap);return c;rescue StandardError => err
  11. return Bitmap.new(32,32);end;end;class << self;def bb;G.bb;end;def q(*mm, &block)
  12. G.q(*mm, &block);end;end;class G;@@next_auto_nb = 0;include Singleton
  13. ICM =["bb", "remove_all", "non", "q", "qPair", "qDefault", "qnb","e_object","m"]
  14. ICM.each {|val|eval("def self.#{val}(*mm, &block) instance.#{val}(*mm,&block); end")}
  15. def initialize;@l_h = [];@l_i = [];@l_j = [];@l_k = [];@o = Graphics.frame_count
  16. @m = N.new;end;def q(*mm, &block);aa = nil;if block.is_a?(Proc);aa = block.call
  17. end;aa.downcase! if aa.is_a?(String);case aa;when 'par' then qPair(*mm)
  18. when 'nb' then qnb(*mm);else qDefault(*mm);end;end;def qPair(*mm);mm.flatten!
  19. return false if mm.size % 2 == 1;for i in mm.size / 2;qnb(mm[i*2], mm[i*2+1])
  20. end;return true;end;def qDefault(*mm);qnb(@@next_auto_nb, *mm);@@next_auto_nb += 1
  21. return @@next_auto_nb - 1;end;def qnb(nb, *mm);mm.flatten!;for ml in mm
  22. if ml.is_a?(Ab);q_object(ml,'Ab',nb);elsif ml.is_a?(Ag)
  23. q_object(ml,'Ag',nb);elsif ml.is_a?(Af);q_object(ml,'Af',nb)
  24. else;end;end;end;def q_object(object, type, nb = nil)
  25. unless object.is_a?(eval(type.capitalize));return false;end;
  26. unless eval("@nb_#{type.downcase}s.is_a?(Hash)");eval("@nb_#{type.downcase}s = {}")
  27. mn = eval("@nb_#{type.downcase}s");mn[nb] = object;return true;end
  28. mn =eval("@nb_#{type.downcase}s");if mn[nb].is_a?(Array);
  29. return false if mn[nb].include?(object);mn[nb] << object;return true
  30. end;mn[nb] = [mn[nb], object];return true;end;def e_object(type, nb)
  31. unless eval("@nb_#{type.downcase}s.is_a?(Hash)");return nil;end
  32. return eval("@nb_#{type.downcase}s[nb]");end;def m;return @m;end;def bb
  33. fc = Graphics.frame_count;return if fc < @o + 1;@o = fc;@m.bb;@l_j.each {|x| x.bb}
  34. end;def reset;initialize;for variable in instance_variables
  35. unless (variable =~ /@nb_.*s/).nil?;remove_instance_variable variable;end;end
  36. end;def remove_all;@l_j.each {|af| af.dispose};@l_i.each {|ag| ag.dispose}
  37. @l_h.each {|ab| ab.dispose};@m.clear;reset;end;def non(obj)
  38. if obj.is_a?(Ab);@l_h << obj unless @l_h.include?(obj);elsif obj.is_a?(Ag)
  39. @l_i << obj unless @l_i.include?(obj);elsif obj.is_a?(Af);@l_j << obj unless @l_j.include?(obj)
  40. elsif obj.is_a?(Ao);@l_k << obj unless @l_k.include?(obj);end;end;end;class N
  41. attr_reader :bfs, :tps;def initialize;@tps = 40;@last_bf = 0.0;@m = {}
  42. @bfs = 0;@vv = [];end;def tps=(number);return false unless number.is_a?(Numeric)
  43. @tps = number;return true;end;def q(ag, pos=0);return false unless ag.is_a?(Ag)
  44. s_bf = 1;s_bf += pos if pos.is_a?(Numeric);return q_ag(ag, @bfs+s_bf)
  45. end;def q_ag(ag, s_bf);s_bf = @bfs if s_bf.nil?;return false unless ag.is_a?(Ag) &&
  46.  s_bf.is_a?(Numeric);start_bf = s_bf;@m[start_bf] = [] if @m[start_bf].nil?
  47. @m[start_bf] << ag;if start_bf <= @bfs;ag.trigger(@bfs-start_bf+1)
  48. if ag.is_finished?;@m[start_bf].pop;else;@vv << ag;end;end;return true
  49. end;def bb;frame_rate = Graphics.frame_rate;@last_bf += @tps.to_f / frame_rate.to_f
  50. full_bfs = @last_bf.floor;@last_bf -= full_bfs;bf(full_bfs);end;def bf(bfs = 1)
  51. @bfs += bfs;for nn in @vv;nn.trigger(bfs);@vv.delete(nn) if nn.is_finished?;end
  52. for i in 0...bfs;return if @m[@bfs+i].nil?;for ag in @m[@bfs+i];ag.trigger(bfs-i)
  53. @vv << ag if !ag.is_finished?;end;end;end;def clear;initialize;end;end;class Ab
  54. def initialize;G.non(self);@c = Bitmap.new(2,2);@ae = Viewport.new(@c.rect)
  55. @bb_c = true;end;def ae;return @ae unless @ae.nil?;if !@c.nil?;@ae = Viewport.new(@c.rect)
  56. return @ae;end;@ae = Viewport.new(Rect.new(0,0,32,32));return @ae;end;def rect
  57. return ae.rect;end;def rect=(*mm);mm.flatten!;if mm.size == 1;nm = mm[0]
  58. if nm.is_a?(Rect);ae.rect = nm;return true;end;elsif mm.size == 4
  59. mm.each {|nm| return false unless nm.is_a?(Numeric)};ae.rect = Rect.new(*mm)
  60. return true;end;return false;end;def ox() return ae.ox; end;def oy() return ae.oy
  61. end;def width() return rect.width; end;def height() return rect.height; end
  62. def ox=(val) ae.ox=val if val.is_a?(Numeric); end;def oy=(val) ae.oy=val if val.is_a?(Numeric)
  63. end; def width=(val) rect.width=val if val.is_a?(Numeric) && val >= 1; end
  64. def height=(val) rect.height=val if val.is_a?(Numeric) && val >= 1; end
  65. def x(); return rect.x; end;def x=(val); rect.x=val if val.is_a?(Integer); end
  66. def y(); return rect.y; end;def y=(val); rect.y=val if val.is_a?(Integer); end
  67. def opacity;@opacity = 255 if @opacity.nil?;return @opacity;end;def opacity=(val)
  68. return false unless val.is_a?(Numeric) && val >= 0 && val <= 255;@opacity = val
  69. return true;end;def bitmap;bb if @bb_c && n_u;return @c;end;def bbs?
  70. return @bb_c && n_u;end;def bb_c;return @bb_c;end;def bb_c=(bool)
  71. if bool.is_a?(TrueClass) | bool.is_a?(FalseClass);@bb_c = bool;return true
  72. end;return false;end;def n_u;return true;end;def bb;end;def dispose
  73. @c.dispose unless @c.disposed?;end;end;class Af;attr_accessor :x, :y, :opacity
  74. def initialize(ab);G.non(self);@ab = ab;@opacity = 255;end;def bd() return @bd
  75. end;def bb;unless @bd.is_a?(Sprite) && !@ab.nil?;@bd = Sprite.new(@ab.ae);end
  76. unless @bd.disposed?;return if @ab.nil?;@bd.bitmap = @ab.bitmap;@bd.opacity = @ab.opacity
  77. @bd.update;end;end;def dispose;@bd.dispose unless @bd.nil?;end;end;class Ag
  78. attr_reader :bfs;def initialize;G.non(self);@m = {};@bfs = 0;@length = 1
  79. @tk = false;@vv = [];end;def q_ao(ao, s_bf, length=1);return false unless ao.is_a?(Ao) &&
  80. s_bf.is_a?(Numeric) && length.is_a?(Numeric);start_bf = s_bf;end_bf = length-1 + s_bf
  81. if end_bf > @length-1;@length = end_bf;end;end_bf = start_bf if start_bf > end_bf
  82. @m[start_bf] = [] if @m[start_bf].nil?;@m[start_bf] << [ao, end_bf]
  83. if start_bf <= @bfs and end_bf > @bfs;@vv << [ao, end_bf];end;return true;end
  84. def tk;return @tk unless @tk.nil?;return false;end;def tk=(val)
  85. return false unless val.is_a?(FalseClass) || val.is_a?(TrueClass);@tk = val
  86. return true;end;def length;return @length;end;def length=(number)
  87. return false unless number.is_a?(Numeric);@length = number;return true;end
  88. def trigger(n=1);until n < 1;n -= 1;bf;end;end;def bf;if @bfs >= @length
  89. return unless tk;@bfs = 0;@vv.clear;end;@bfs += 1;for i in 0...@vv.size
  90. nn = @vv[i];unless nn.nil?;nn[0].trigger;@vv.delete_at(i) if nn[1] <= @bfs
  91. end;end;return if @m[@bfs].nil?;for ao in @m[@bfs];ao[0].trigger
  92. @vv << ao if ao[1] > @bfs;end;end;def is_finished?;return true if !tk && @bfs >= @length
  93. return false;end;def dispose;end;end;class Ao;def initialize;G.non(self);end
  94. def trigger;end;end;class Aj < Af;def initialize(window);G.non(self);@window = window
  95. end;def bb;@window.bb;end;def dispose;@window.dispose;end;end;class Ahf < Af
  96. def initialize(ab);super;@window = Window_Base.new(0,0,100,54);@window.width = ab.width + 32
  97. @window.visible = true;end;def bd() return nil; end;def bb;unless @window.disposed?
  98. @window.contents = @ab.bitmap;@window.width = @ab.width + 32;@window.x = @x unless @x.nil?
  99. @window.y = @y unless @y.nil?;end;end;def dispose;@window.dispose unless @window.nil?
  100. end;end;class AkAb < Ab;attr_reader :string, :font;def initialize(string="")
  101. super();self.string = string;@line_distance = 4;@font = @c.font;qq;end;def string=(string)
  102. if string.is_a?(String);@string = string;else;begin;@string = string.to_s;rescue
  103. @string = "Error: Can't convert the nmument to string";end;end;end;def qq;return if @string.nil?
  104. ary = @string.split(/\n/);return if ary.size == 0;ld = 0;ld = @line_distance unless ary.size == 1
  105. width = 0;height = 0;for string in ary;rect = @c.text_size(string);curr_height = rect.height
  106. height = curr_height if curr_height > height;width = rect.width if rect.width > width
  107. end;width + 4;@c = Bitmap.new(width,(height+ld)*ary.size);self.rect.width = @c.width
  108. self.rect.height = @c.height;@c.font = @font;for i in 0...ary.size
  109. @c.draw_text(0,i*(height+@line_distance),width,height,ary[i]);end;end;end
  110. class BAb < Ab;def initialize(b=nil);super();new_b(b);end;def new_b(b=nil)
  111. @c = A.e_c(b);self.width = @c.rect.width - self.x;self.height = @c.rect.height - self.y
  112. end;end;class Am < Ab;def initialize(*mm);super();@changed = false
  113. @ni = true;@h = [];q(*mm);bb;calc_ac;qq;end;def q(*mm);return false if @frozen
  114. mm.flatten!;for ab in mm;if ab.is_a?(Ab);@changed = true;@h << ab;end;end;end
  115. def bb;bc = false;for ab in @h;if ab.bbs?;ab.bb;bc = true;end;end;qq if bc;end
  116. def calc_ac;return false if @h.size == 0;ab = @h[0];width = ab.width + ab.x
  117. height = ab.height + ab.y;for i in 1...@h.size;ab = @h[i];if ab.width + ab.x > width
  118. width = ab.width + ab.x;end;if ab.height + ab.y > height;height = ab.height + ab.y
  119. end;end;if rect.width == width && rect.heigth == height;return false;end
  120. self.rect = rect.x, rect.y, width, height;return true;end;def qq
  121. if self.rect.width == @c.rect.width && self.rect.height == @c.rect.height
  122. @c.clear;else;@c = Bitmap.new(self.rect.width, self.rect.height);end;for ab in @h
  123. rect = Rect.new(ab.ox, ab.oy, ab.width, ab.height);@c.blt(ab.x, ab.y, ab.bitmap, rect, opacity)
  124. end;end;def dispose;if @ni;@h.each {|ab| ab.dispose};end;@c.clear;end;end
  125. class AqAb < Ab;def initialize(number=0);super();self.number = number;@font = @c.font
  126. bb;qq;end;def number;return 0 if @number.nil?;return @number;end;def number=(val)
  127. if val.is_a?(Integer);@next_number = val;else;begin;@next_number = val.to_i
  128. rescue;end;end;end;def bb;super;if @next_number != @number;@number = @next_number
  129. qq;end;end;def qq;return if @number.nil?;rect = @c.text_size(@number.to_s)
  130. @c = Bitmap.new(rect.width, rect.height);self.rect.width = @c.width;self.rect.height = @c.height
  131. @c.font = @font;@c.draw_text(0,0,rect.width,rect.height,@number.to_s,2);end;end
  132. class DacterAb < Ab;attr_writer :wait;def initialize(d_id, f = false);super()
  133. @pos = 0;@aq = 0;@wait = 8;@d_id = d_id;@f = f;set_d(d_id, f);end;def set_d(d_id, f = false)
  134. @c = A.e_d_b(d_id, f);self.width = @c.rect.width/4;self.height = @c.rect.height/4
  135. end;def bb;@aq += 1;if @aq > @wait;@pos += 1;width = @c.width / 4 ;self.ox += width
  136. if @pos >= 4;@pos = 0;self.ox -= @c.width;end;@aq = 0;end;end;def dispose;end
  137. end;class AkAo < Ao;def initialize;G.non(self);end;def trigger;end;end;class BAo < Ao
  138. def initialize(ab, new_b, new_b2);@ab = ab;@new_b = A.e_c(new_b);@new_b2 = A.e_c(new_b2)
  139. @im = true;G.non(self);end;def trigger;if @im;@ab.new_b(@new_b);@im = false;else
  140. @ab.new_b(@new_b2);@im = true;end;end;end;class AmAo < Ao;def initialize;G.non(self)
  141. end;def trigger;end;end;class MAo < Ao;def initialize(object, x=0, y=0);super()
  142. @object = object;@x = x;@y = y;end;def trigger;begin;@object.x += @x;@object.y += @y
  143. rescue;end;end;end;class QAqAo < Ao;def initialize(ab, amount=1);super();@ab = ab
  144. @amount = amount;end;def trigger;if @ab.is_a?(AqAb);if @amount.is_a?(Integer)
  145. @ab.number += @amount;else;@ab.number += 1;end;end;end;end;class Stqo < Ao
  146. def initialize(ag,cab,val);super();@ag = ag;@cab = cab;@val = val;end;def trigger
  147. if @val - 1 <= @cab.number;@ag.tk = false;end;end;end;class GenDotAo < Ao;@@x = 0
  148. @@y = 80;def initialize(x=0,y=80);super();@@x = x;@@y = y;end;def trigger
  149. ig = BAb.new(RPG::Cache.picture("dot.png"));w = Af.new(ig);ao1 = MAo.new(ig,0,-2)
  150. ao2 = MAo.new(ig,0,2);seq = Ag.new;seq.q_ao(ao1,1,5);seq.q_ao(ao2,6,5);seq.tk = true
  151. G.m.q(seq);ig.x = @@x;ig.y = @@y;@@x += 20;@@y += 20 * (@@x / 640);@@x = @@x % 640
  152. end;end;class DisposeAfAo < Ao;def initialize(af);super();@af = af;end;def trigger
  153. @af.dispose;end;end;class AgAo < Ao;def initialize(ag);super();@ag = ag;end
  154. def trigger;end;end;class ExitAo < Ao;def initialize;super();end;def trigger
  155. p "string";exit;end;end;end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement