トップページ > 歴史ゲーム > 2015年12月01日 > ZqO0tlOB

書き込み順位&時間帯一覧

24 位/386 ID中時間01234567891011121314151617181920212223Total
書き込み数3000000000000000000000003



使用した名前一覧書き込んだスレッド一覧
.jp
信長の野望 天翔記 改造綜合スレ5 [転載禁止]©2ch.net

書き込みレス一覧

信長の野望 天翔記 改造綜合スレ5 [転載禁止]©2ch.net
543 :.jp[sage]:2015/12/01(火) 00:00:28.61 ID:ZqO0tlOB
・VS2015となります。

・verion.dll → 根っこをフックしているコア。
 多数あるdllのどれをフックしても良かったのだけれど、HD ver なので、ひっかけてversion.dllを使ってみたw
 このdllは、天翔記だけが使うわけではなく、もしも他の人がツールとか作って、天翔記HDと同じ場所に置くと
 読み込まれ、利用される可能性があるので、天翔記HD以外のプログラムから読み込まれた場合、
 汎用のversion.dllと全く同じ振る舞いにしています。

・HD.version.dll → TSModに相当するもの。但し現状だと、TSMod(TSMod/BGMmm/SNDmm)の2%ほどの機能しかない。
 (しかし、それでも中核部のメモリフックは概ね全て済ませてある状態)

・GameDataStruct.cpp 「メモリと構造体変数等を結びつける行為」はこのファイルで全て行われている。
 他のファイルには一切書かれていない。
 張りたいメモリ位置から天翔記ゲームが始まった時の実行部のベースアドレスを引く、それが繰り返されているだけ。

・GameDataStruct***.h 各種ゲーム構造 TSModの中からコアのコアと呼べる部分を概ねは移植済。
 95版/TSModとは異なり、HD版は、(リソース以外の)データ系はパック化されていないので、「ファイル名」を重要視している。
 例えば、「シナリオ」にしても「TSMod/ScenarioMod」では「何番のシナリオ」という考え方であったが、
 HD.Modでは「何というファイルのシナリオ」という形にしている。

・On*****.h/ On****.cpp HD版のexeの中から、とあるアドレスから突然ジャンプさせている。
 エピローグやプロローグのアセンブラを消すことでこのような真似が可能となる。
 ベースアドレスが変化するので、ジャンプ元・ジャンプ先・関数呼び出し先・メモリアクセス先・戻り先・なども
 全て最初に計算される。

続く
信長の野望 天翔記 改造綜合スレ5 [転載禁止]©2ch.net
544 :.jp[sage]:2015/12/01(火) 00:13:11.48 ID:ZqO0tlOB
・WriteAsmJumperAndReturn.cpp
 先のジャンパー制御を行っている関数。

・天翔記基本クラス.cpp
 ScenarioModに相当する。

・ref class ユーザークラス。
 天翔記基本クラスを継承している。
 HD.version 内部に書いてあるが、実際には、ここが内部ではなく、外部マネージドDLLになる予定のもの。
 HD.version自体を参照マネージドアセンブリDLLとして、最後の残りの部分だけを外部DLLにすることで、
 C++/CLIでもC#でもVB.netでもIronPythonでも、あるいはまだ見ぬMicrosoftの新言語でも、
 「なんでも好きな言語で書けばいいじゃない!」に出来る。
 あげく、入力補完も完璧となる…ハズ。


概ね以上な感じ。


・ScenarioMod層の簡易なのが欲しい人は、今回の投稿は気にしなくて良いです。
 (上記で書いてある、「継承してマネージドで〜C#でも〜」とか書いてる部分だけが、ScenarioModに相当するものなので、
  座して待て)
信長の野望 天翔記 改造綜合スレ5 [転載禁止]©2ch.net
545 :.jp[sage]:2015/12/01(火) 00:57:31.14 ID:ZqO0tlOB
忘れてた。。。

.scの>>546さんへ。

一応「OR条件::鉄砲不可」前後で判定していないで飛んでる問題は修正出来たと思います。
(判定も入れて、下位ビットだけ見るようにしたので、それなりに安全には動作する気がします。)

「環境構築に苦労」と投稿にあったので、
「もしかしてVS2015でコンパイルエラー出まくり」で「アチコチ修正」したのかな?
と思い、VS2015版でもコンパイル通るようにTSMod修正して、アップローダーに挙げておきました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。