フォーラムに載っていたバグ修正の情報

久々にElonaのフォーラムを見ようとしたら見えなくなっていた。
(多分)フォーラムに載っていたバグ修正の箇所を載せる。
Elona不具合修正Wikiにも載っているかもしれない。
ここに載せている画像はSubversionの過去の変更の情報です。
比較自体はMinMergeを使用。
左が変更前のソースファイル。右が変更後のソースファイル。

action.hsp

673行目【encounterLv=cFame(pc)/1000】を【encounterLv= cFame(pc)/1000:ifencounterLv=0:encounterLv=1】に変更

864行目ぐらいから使われるvalを退避して判定する。

1454行目に:ele=0を追加する。

1624行目にif (inv_getFreeId(pc) == falseM) : item_num ciDip, 1 : txtInvFull : goto *turn_endを追加する。

-

blend.hsp

287行目をdy=120からdy=y+48に変更する。

-

calculation.hsp

421行目を495行目に移動する。


-

chara_func.hsp

1474行目を1468行目に移動する。

1866行目のmode=0を((mode=0)&(a>0))に変更する。

-

init.hsp

67行目の15を17に変更する。

-

item.hsp

1197行目のenc2=encSustainを((enc2=encSustain)&(enc!rsLUC))に変更する。

-

item_data.hsp
1182行目に
 if ( refType = fltFurniture ) {
  // 家具の場合
  if ( iSubName(ci) != 0 ) {
   // 修飾子がある場合
   originalValue = iValue(ci) * 100 / (80 + iSubName(ci) * 20)
  } else {
   // 修飾子がない場合
   originalValue = iValue(ci)
  }
  originalValue = iValue(ci) - mtRef(1, p) * 2
 } else {
  // 家具以外の場合
  originalValue = iValue(ci) * 100 / mtRef(1, p)
 }
を追加する。


-

material.hsp

14行目の-を+に変更する。15行目と16行目の<を>に変更する。

-

proc.hsp

32行目の:の後にatxSpot = atxRemain1を追加する。

-

system.hsp

1621行目と1630行目の+4を削除する。
1623行目のx*10/12,y,maxFov/2,maxFov/2)<maxFovをx,y,maxFov/2,maxFov/2)<(maxFov-2)に変更する。

-

txtadv.hsp

737行目の>を<に変更する。

-

screen.hsp

17行目の768:windowH=768を1024:windowH=1024に変更する。

121行目の;を消す。

176行目に-2を追加する。
179行目の24を28に変更する。

927行目の17を18に変更する。

1002行目の-2を削除する。

-

残りはかなり量が多い作業。
ここまででバックアップやSubVersionでコミットしておくのを推奨します。

フォーラムのバグフィックス(3.21対応用)
ソースに同梱された実行ファイルのままで開発環境を変えない場合は不要になる。
私は開発を進めてから置き換え対応しようとしたら結構大変だと思ったので対応した。
雑だったのか、うまくできずに1ヶ月ちょっと掛けて対応した。
何度か戻しては置き換えるを繰り返していたので、すぐ戻せる環境があってよかった。

init.hsp

4261行目のgosub *%1をgosub %1に変更する。

全てのファイルのcall 〜による呼び出しをcall *〜に変更する。
こんな感じにする。

単純に【call 】で置き換えると英文にも置き換えされるのでファイルを開いて個別で置き換えするか、
一括で置き換えた後に該当しない部分を元に戻す流れになる。
さらに言うとhspファイルだけではなく、DB.xls(とCSVファイル)のアイテムにも含まれている。こちらも該当しているので置き換える。

ここまで準備できれば次から自分の作りたい機能を作ろう!
Elona不具合修正Wikiの修正を見てバグ修正を進めるのもいい。

LastUpdate:2018/08/06