スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

GTASAが落ちる原因など検証

長文になります。
▼実験環境

機体構成:
マザーボード 880GM-P51
プロセッサ AMD Athlon II X4 640
メモリ 10.0GB
ビデオカード AMD Radeon HD 6670
オンボードグラフィックは停止中。

ソフトウェア構成:
windows7 Home Premium 64bit

エクスペリエンスインデックス値:
プロセッサ 7.3
メモリ 7.3
グラフィックス 7.1
ゲーム用グラフィックス 7.1
ハードディスク 5.9

SAで使用中のライブラリ:
bikearmfix.asi
CLEO.asi = CLEO4
fastloader.asi
UpDownLights.asi
VSAi.asi
d3d9.dll = ENB
窓化dll -> ファイル名を d3d9.dll から d3d9_win.dll に変更し、ENBの設定 ProxyLibrary=d3d9_win.dll でロード。
TweakSA.cleo
SALA -> マップMOD適用時のみ使用。ファイル名を d3d9.dll から sala.asi に変更し、ENBと併用。
corona.cleo 同じく、マップMOD適用時のみ使用。

その他の改造:
NO-DVD = eng100exe
gta_sa_jp_loader.exe (マップMODなしのSAでのみ使用中)
SAAC
JoyToKey


マップMODでのSALA設定値
空母と緒狩峠、航間橋商店で起動を確認。やや安定。

Buildings=22000
Dummys=5000
PtrNode Doubles=5200
IPL Files=550

ColModels=990150
Collision Files=99155
Polygons=50000
PtrNode Singles=300000

Objects=700 一部cleoとの干渉がある模様(要検証)。800か1000を越えた辺りから不安定?
Entry Exits=800 建物入り口? 要検証。

IDEs=19500 多すぎると不安定に? 要検証。


備考
SA本体はDドライブに相当する場所で実行中。


▼条件・結果・考察

SAAC環境では、車内でYesキーを押せない。cleo開発の際は注意を。
デート後の選択では、車内からYesキーを押せた。
main.scm 制御下ならばボタン受付可能らしい。


NO-DVDは eng100exe が無難。筆者はUK版を購入したが、eng100exeでも問題なく動作している。
TweakSA.cleo など、eng100exe でしか動作しないものが多く、SALAとの相性も良好。
ただし、exdisp.asi など、all100exe でしか動作しないものもある。


SAAC1.2、2.0 を、 WindowsVista や Windows7, Windows8 で起動する方法。(ただし、SAAC2.0は起動せず)2013/03/19追記 2.0の動作を確認しました。SAAC2.0は、ゲーム画面中に、テンキーの「*」を押さないと有効にならないことが判明。注意を。
XP以前の windows\system32\ から、"dx7vb.dll" と "dx8vb.dll" を回収し、導入する必要がある。
まず、vistaや7側の windows\system32\ にそのファイルを追加。
次に、管理者権限でコマンドプロンプトを起動後、以下を入力。
regsvr32 dx7vb.dll dx8vb.dll
以上。
SAACの設定画面が起動すれば成功。


exdisp.asi に対応したNO-DVD(all100exe)上で、UpDownLigts を使うと落ちる。
UpDownLigts に対応したNO-DVD(eng100exe)上で、exdisp.asi を使うと落ちる。
exdisp.asi が使えない分は、TWeakSA.cleo で代用可能。
フレームリミット、解像度、アスペクト比のすべてが復元できる。
TweakSA の導入:
ASIローダーとCleoを導入のうえ、4つのファイル(game_sa.dll , multiplayer_sa.dll , TweakSA.cleo , TweakSA.ini)をCLEOフォルダに追加することで動作する。
*.asiの形で動かす方法は不明。


別の*.csで使われているモデルをデストロイすると、落ちることがある。


スペシャルアクター枠のモデルを明示的にモデルデストロイする前で、
なおかつそのモデルを使用するキャラがRemoveRefarenceされていない時、
同じ枠に別のスペシャルアクターモデルをロードすると、
半々の確率で落ちる。(実験回数:4)


教習所やローライダーミーティングなど、main.scm上でTXDが使用される場面では、
メーターMODなど、TXDを扱うMODの干渉が多い。
原因はおそらく、以下のコード。
03F0: enable_text_draw 0
これは、テクスチャ描画許可を取り消すコードで、実行中の全スレッドに適用される。
どこかのスレッドでテクスチャ描画許可が停止されたにもかかわらず、
03F0: enable_text_draw 1
を実行せずに、
main.scmやcleoでテクスチャを使おうとすると落ちる。
例:
  • メーターMOD使用時にローライダーミーティングで落ちる。
  • 車から降ると同時に、メーターMODからテクスチャ描画許可を取り消されてしまう場合、
    順位表示されるレースミッション中、車から降りてしばらくすると落ちる。
    順位表示部分が真っ白になって落ちるのが特徴。
  • 教習所の表示がおかしくなって落ちる



  • キャラ変え中、建物に出入りすると、
    体格更新によりおかしくなる。
    場合によっては落ちる。
    また、泥棒ミッションでは着替えがあるため、
    キャラ変え中に実行してはならない。


    cleo3 wiki からの情報。
    メニュー > Tips > 豆知識 > 人物車の解放 より。
    メーターMODなどで不適切なRemoveRefarenceがあると、不具合を生じるとのこと。


    GxtHook.cleo について。
    CLEO4環境では、GxtHook.cleoは必要ない。
    もし、CLEO4環境で
    0AA2: 31@ = load_library "CLEO\PLUGINS\GXTHOOK.cleo" // IF and SET
    などが実行されてしまうと、
    別のセーブデータをロードする際に落ちる。
    また、カスタムスレッド内でGxtHook.cleoを停止しようとすると、同様の落ち方をする。

    ただし、Cleo4環境で、fxt内の"#"、すなわち、ひらがな化MODでの小さい"っ"を表示しようとすると、
    コメントアウトとみなされてその先が表示されない。
    これを防ぐためには、Cleo4であっても、以前のGxtHook.cleoを必要とする。


    車プール巡回で、27904 とすべきところを、間違って 35584 にしているスクリプトがある。
    古いバージョンのペイントジョブ変更MODなどに見られる。
    これに限らず、cleoMODは最新のものを使ったほうがよさそう。

    8/1追記

    車MOD導入の際、4ドア車の枠に2ドア車を入れると、mainが車を沸かせるときに、無いはずの座席に乗員を座らせようとして落ちる模様。処刑ミッション(パトカー等サブミッションの自警団)で顕著。
    同様に、一人分の座席の車を、自然沸きする車に割り当てたり、4ドアのようで実は3人分の座席しかないMODを4ドア枠に導入するのは危険。


    ▼推測など

    SAを初期化したのにMODが入ってる現象があるらしい。
    appdata 内のファイルが影響しているのかもしれない。
    たとえば、別のwindowsユーザーを作成し、そこからSAを実行することで、appdata の影響を無効化できるはず。


    SALAにて、人物車の数量限界を増やした場合、アドレスのずれが発生?
    メモリーの特定領域を巡回してオブジェクトを取得するコードで、マップオブジェクトを取得できないことがあった。

    この記事へのコメント

    - 市民A - 2013年07月21日 02:26:27

    検証お疲れさまです。僕もこの症状で毎回悩んでおりこのサイトを参考にさせていただいたのですがやはり何十分ぐらいかで落ちます。やはり完全に安定するのは無理なんでしょうか?

    - エイルブレイズ - 2013年08月01日 03:41:39

    はじめまして。

    改造SAの安定化については、環境のこともあるのでなんともいえません。
    ただ、フリーズ発生について心当たりがもう少しあるので、また追記してみます。

    - 市民A - 2013年08月16日 08:38:32

    他にもTweakSA.cleoでMultiplyPoolSizesの値を大きくして(16とか)30分ぐらい遊び続けるとメモリーの特定領域を巡回して人や車を取得するコードがうまく機能しなくなることがありますね。

    - エイルブレイズ - 2013年08月17日 04:10:22

    それは知らなかったです。
    機会があったら検証してみます。情報どうもです。

    トラックバック

    URL :

    カテゴリーメニュー
    ブログ内を検索
    最新記事
    最新コメント
    スポンサードリンク
    Powered By FC2
    スポンサードリンク
    RSSリンクの表示
    QRコード
    QR
    プロフィール

    エイルブレイズ

    Author:エイルブレイズ

    いろいろマイペースにやってます。マイペース過ぎて放置期間が長かったりするのは秘密です。
    現在、複数のブログを運営中。FC2ではGTA関連のみ扱ってます。

    この人とブロともになる

    リンク
    カウンタ
    トップへ戻る
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。