Advertisement
mej71

PokemonSystem

Mar 1st, 2015
1,801
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 4.26 KB | None | 0 0
  1. # Loads data from a file "safely", similar to load_data. If an encrypted archive
  2. # exists, the real file is deleted to ensure that the file is loaded from the
  3. # encrypted archive.
  4. def pbSafeLoad(file)
  5.   if (safeExists?("./Game.rgssad") || safeExists?("./Game.rgss2a")) && safeExists?(file)
  6.     File.delete(file) rescue nil
  7.   end
  8.   return load_data(file)
  9. end
  10.  
  11. def pbLoadRxData(file) # :nodoc:
  12.   if $RPGVX
  13.     return load_data(file+".rvdata")
  14.   else
  15.     return load_data(file+".rxdata")
  16.   end
  17. end
  18.  
  19. def pbChooseLanguage
  20.   commands=[]
  21.   for lang in LANGUAGES
  22.     commands.push(lang[0])
  23.   end
  24.   return Kernel.pbShowCommands(nil,commands)
  25. end
  26.  
  27. if !Kernel.respond_to?("pbSetResizeFactor")
  28.   def pbSetResizeFactor(dummy); end
  29.   def setScreenBorderName(border); end
  30.  
  31.   $ResizeFactor=1.0
  32.   $ResizeFactorMul=100
  33.   $ResizeOffsetX=0
  34.   $ResizeOffsetY=0
  35.   $ResizeFactorSet=false
  36.  
  37.   module Graphics
  38.     def self.snap_to_bitmap; return nil; end
  39.   end
  40. end
  41.  
  42.  
  43. #############
  44. #############
  45.  
  46.  
  47. def pbSetUpSystem(tempsave=0,autosave=nil)
  48.   begin
  49.     trainer=nil
  50.     framecount=0
  51.     havedata=false
  52.     game_system=nil
  53.     pokemonSystem=nil
  54.     if tempsave>1
  55.       if autosave !=nil
  56.          File.open(RTP.getSaveFileName("Game_"+tempsave.to_s+"_autosave.rxdata")){|f|
  57.          trainer=Marshal.load(f)
  58.          framecount=Marshal.load(f)
  59.          game_system=Marshal.load(f)
  60.          pokemonSystem=Marshal.load(f)
  61.         }
  62.       else
  63.         File.open(RTP.getSaveFileName("Game_"+tempsave.to_s+".rxdata")){|f|
  64.          trainer=Marshal.load(f)
  65.          framecount=Marshal.load(f)
  66.          game_system=Marshal.load(f)
  67.          pokemonSystem=Marshal.load(f)
  68.         }
  69.       end  
  70.     elsif  autosave !=nil
  71.       File.open(RTP.getSaveFileName("Game_autosave.rxdata")){|f|
  72.          trainer=Marshal.load(f)
  73.          framecount=Marshal.load(f)
  74.          game_system=Marshal.load(f)
  75.          pokemonSystem=Marshal.load(f)
  76.         }
  77.     else  
  78.     File.open(RTP.getSaveFileName("Game.rxdata")){|f|
  79.        trainer=Marshal.load(f)
  80.        framecount=Marshal.load(f)
  81.        game_system=Marshal.load(f)
  82.        pokemonSystem=Marshal.load(f)
  83.     }
  84.     end
  85.     raise "Corrupted file" if !trainer.is_a?(PokeBattle_Trainer)
  86.     raise "Corrupted file" if !framecount.is_a?(Numeric)
  87.     raise "Corrupted file" if !game_system.is_a?(Game_System)
  88.     raise "Corrupted file" if !pokemonSystem.is_a?(PokemonSystem)
  89.     havedata=true
  90.   rescue
  91.     pokemonSystem=PokemonSystem.new
  92.     game_system=Game_System.new
  93.   end
  94.   if !$INEDITOR
  95.     $PokemonSystem=pokemonSystem
  96.     $game_system=Game_System
  97.     $ResizeOffsetX=0 #[0,0][$PokemonSystem.screensize]
  98.     $ResizeOffsetY=0 #[0,0][$PokemonSystem.screensize]
  99.     resizefactor=[0.5,1.0,2.0][$PokemonSystem.screensize]
  100.     pbSetResizeFactor(resizefactor)
  101.   else
  102.     pbSetResizeFactor(1.0)
  103.   end
  104.   # Load constants
  105.   begin
  106.     consts=pbSafeLoad("Data/Constants.rxdata")
  107.     consts=[] if !consts
  108.   rescue
  109.     consts=[]
  110.   end
  111.   for script in consts
  112.     next if !script
  113.     eval(Zlib::Inflate.inflate(script[2]),nil,script[1])
  114.   end
  115.   if LANGUAGES.length>=2
  116.     if !havedata
  117.       pokemonSystem.language=pbChooseLanguage
  118.     end
  119.     pbLoadMessages("Data/"+LANGUAGES[pokemonSystem.language][1])
  120.   end
  121. end
  122.  
  123. def pbScreenCapture
  124.   capturefile=nil
  125.   5000.times {|i|
  126.      filename=RTP.getSaveFileName(sprintf("capture%03d.bmp",i))
  127.      if !safeExists?(filename)
  128.        capturefile=filename
  129.        break
  130.      end
  131.      i+=1
  132.   }
  133.   if capturefile && safeExists?("rubyscreen.dll")
  134.     takescreen=Win32API.new("rubyscreen.dll","TakeScreenshot","%w(p)","i")
  135.     takescreen.call(capturefile)
  136.     if safeExists?(capturefile)
  137.       pbSEPlay("expfull") if FileTest.audio_exist?("Audio/SE/expfull")
  138.     end
  139.   end
  140. end
  141.  
  142.  
  143.  
  144. module Input
  145.   unless defined?(update_KGC_ScreenCapture)
  146.     class << Input
  147.       alias update_KGC_ScreenCapture update
  148.     end
  149.   end
  150.  
  151.   def self.update
  152.     update_KGC_ScreenCapture
  153.     if trigger?(Input::F8)
  154.       pbScreenCapture
  155.     end
  156.     if trigger?(Input::F7)
  157.       pbDebugF7
  158.     end
  159.   end
  160. end
  161.  
  162.  
  163.  
  164. def pbDebugF7
  165.   if $DEBUG
  166.     Console::setup_console
  167.     begin
  168.       debugBitmaps
  169.       rescue
  170.     end
  171.     pbSEPlay("expfull") if FileTest.audio_exist?("Audio/SE/expfull")
  172.   end
  173. end
  174.  
  175. pbSetUpSystem()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement