#============================================================================== # ■ RGSS3 セーブウィンドウ顔グラフィック表示 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # セーブウィンドウに歩行グラフィックではなく顔グラフィックを表示します。 # 描写座標は設定項目で調整が可能です。 # # 基本的に、設定項目は一度決定した後 # バージョンアップ時も変更しない前提で、設定は各セーブデータ依存となります。 # つまり、バージョンアップ時に変更された場合、新たにセーブし直さない限り # 描写対象メンバーの設定等がバージョンアップ前のままとなります。ご注意ください。 #============================================================================== module SaveWindowFacePosition #描写対象メンバーを指定。 #trueで全員、falseで戦闘メンバーのみ。 M = false #X座標調整値を指定します。 X = -48 #Y座標調整値を指定します。 Y = -77 #各顔グラフィックの描写間隔を指定します。 W = 96 #描写間隔が96未満の時、前の方にいるアクターほど前面に描写するかを指定。 #trueで前面、falseで通常。 B = false end class << DataManager #-------------------------------------------------------------------------- # セーブヘッダの作成 #-------------------------------------------------------------------------- alias make_save_header_face make_save_header def make_save_header header = make_save_header_face header[:faces] = $game_party.faces_for_savefile header end end class Window_SaveFile < Window_Base #-------------------------------------------------------------------------- # パーティキャラの描画 #-------------------------------------------------------------------------- def draw_party_characters(x, y) header = DataManager.load_header(@file_index) return unless header fdata = header[:faces] return unless fdata if SaveWindowFacePosition::B count = fdata.size - 1 fdata.reverse.each_with_index do |data, i| draw_face(data[0],data[1], x + SaveWindowFacePosition::X + (count - i) * SaveWindowFacePosition::W, y + SaveWindowFacePosition::Y) end else fdata.each_with_index do |data, i| draw_face(data[0],data[1], x + SaveWindowFacePosition::X + i * SaveWindowFacePosition::W, y + SaveWindowFacePosition::Y) end end end end class Game_Party < Game_Unit #-------------------------------------------------------------------------- # セーブファイル表示用のキャラクター画像情報 #-------------------------------------------------------------------------- def faces_for_savefile (SaveWindowFacePosition::M ? all_members : battle_members).collect {|actor| [actor.face_name, actor.face_index]} end end