SRC遊んだり書いたり。時々プログラミング

SRCの感想とか技術解説とか、そんな感じのアレ!

SetSkillした特殊能力をすべて削除するサンプル

# 削除実施前の特殊能力数を保持する
# (削除実施中に特殊能力数が変化しても、 (maxlen - i)で
#  後ろの番号から処理できるように)
Local maxlen
Set maxlen Info("パイロット", パイロットID, "特殊能力数")

# 以下2つの理由により、後ろの番号から特殊能力を削除してゆく
# 1. 特殊能力にはSetSkillした以外の特殊能力が含まれていること
# 2. 小さい番号の特殊能力が削除された時、それ以降の特殊能力番号が
#    一つ繰り下げられること
For i = 0 To (maxlen - 1)
  ClearSkill パイロットID Info("パイロット", パイロットID, "特殊能力", (maxlen - i))
Next

# 削除漏れが発生する場合がある(本体バグ?)
# セーブデータを確認し、削除漏れが発生している場合は直接削除する。
ClearSkill パイロットID 削除漏れ特殊能力名

セーブデータをちっちゃくする方策。の現状と指針

これは何?

SRCでファイアーエムブレムっぽい挙動を再現するインクルード「FESRC」に、不具合の一つとして以下があります。

  • セーブデータが肥大化する

これを解決するための方策の、そのメモ書きです。

余剰データを削除しよう

現在のFESRCには、その仕様上、かなりのゴミデータが蓄積されてしまっています。
そのゴミデータが

  1. そもそも蓄積しないように
  2. 蓄積されてしまったゴミデータを削除するように

する事で、SRC本来の小さなセーブデータファイルにする事を目指します。

ステータス設定用アイテムを削除しよう

現在

FESRCには、ファイアーエムブレム固有のステータスを表現するために、内部的にユニットにアイテムを持たせています。
そのアイテムは、たとえばザコ敵に設定したものなら本来ステージ終了時には破棄されるべきものですが、現在、ステージクリア後もどんどん蓄積されていってしまってる状況です。

対策

ステージ終了時、ユニットに未装着のステータス設定用アイテムを一括削除するようにする。

想定される効果

セーブデータファイルが3~4割ほど小さくなりそう。

そもそも蓄積しないように

現在

ステータス設定用アイテムの他、パイロットの方へは、ステータスを設定するために特殊技能を付加しています。
これは特に膨大な量なので、蓄積しないようにすれば、セーブデータのダイエットに大きな効果が望めます。

対策

ステージ終了時、自軍以外の全(ザコ)パイロットのステータス設定用技能を削除する。

想定される効果

セーブデータの大幅なサイズダウンが望める。8割位?

現状解決が困難な事象

現在

ステータス設定用技能については、対象のパイロットが存在していないと削除できないため、ステージ終了後のエピローグ時点でしか削除を実行できないと思われる。
(エピローグが終わり、インターミッションに入った時点で、パイロットデータが破棄される)

よって、既に作成されているセーブデータについては、この方法でのサイズダウンは望めない。

考えうる対策

正規の方法での削除は困難なので、セーブデータを直に操作するプログラムを組むのが得策みたい。

蒼穹の刺客達 第22章(トゥルク編)感想

第22章はこんなところ

市街戦。それも高層ビル等が立ち並ぶ、完全に現代。
ファイアーエムブレムだけど、ファイアーエムブレムじゃない。あくまでライク。このオリジナル感。好き。
いつかやってくる女神転生×ファイアーエムブレムを完全に先取っていますね。

続きを読む

Amazonで確実にヤマトや郵便で配達してもらう方法

先日、Amazonでの買い物が、摂津倉庫の配送で予定通りに到着しなかった件で、Amazonへの問い合わせの返答がかなり有用だったので、ご紹介します。
(全文掲載は問題ありかもしれないので、要点のみ絞ります)

先述のトラブルについては次をご覧ください。
摂津倉庫の配送が指定時間に届かない! - SRC遊んだり書いたり。時々プログラミング

続きを読む

蒼穹の刺客達 第21章(トゥルク編)感想

分岐シナリオ

蒼穹の刺客達初の分岐シナリオ。
シェルディア海軍とヴェルガンド軍のどちらかに随伴する。

今プレイの主力はヴェルガンドの方々だったので、ヴェルガンド軍に随伴し、目指すは敵国トゥルクの攻略!

続きを読む