鉄道経営系ゲーム製作スレッド Ver.6
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/04/06(月) 22:12:16ID:5LmTI8rQ情報交換スレッドです。(sage推奨)
[前スレ]
鉄道経営系ゲーム製作スレッド Ver.5
http://pc11.2ch.net/test/read.cgi/gamedev/1219757767/
[このスレッドで主に話題となるゲーム]
FreeTrain
http://www.kohsuke.org/freetrain/
FreeTrainヘルプ
http://www.kohsuke.org/freetrain/wiki/pukiwiki.php (IDとPASSはダイアログよく読んだら分かる)
FreeTrainのAnother version wiki
http://www19.atwiki.jp/freetrain-exav/
Tera Train
http://teratrain.la.coocan.jp/wiki/?FrontPage
[関連サイト]
アートディンク
http://www.artdink.co.jp/
0731名前は開発中のものです。
2010/01/26(火) 00:54:51ID:TxcK00q/幅はわからんけど、3/4近くはスタンドとか含めるとありそうだから、15m尺度だと35×26にも
なるね。
40m尺度で13×10ぐらいで、これぐらいがいい気がする。
0732名前は開発中のものです。
2010/01/26(火) 01:36:14ID:Ovh9pfICorz
0733名前は開発中のものです。
2010/01/26(火) 02:11:10ID:P7V05NTn40m尺度だとちーと小さいかなぁ。
サッカー場がいくつだっけ。あの単独プラグインになってるやつ。
あれ結構大きかったと思う。
あれぐらいあってもいいんじゃないかな。
0734名前は開発中のものです。
2010/01/26(火) 02:31:42ID:Ovh9pfICこんなこというのもあれだけど、サッカーファンの俺のイメージのサッカー場とちょっと違う気がするなぁ・・・
というわけで時間があったらチャレンジしてみよう
0735名前は開発中のものです。
2010/01/26(火) 04:49:58ID:P7V05NTn意外とちっさいんだね。
あのサッカースタジアムは独立プラグインになってることからも分かるとおり
なんか内部で特殊なことやってるんだが。
ソース見てもサッパリわからんかった。
架空のチームから2チームをランダムで選んでそれがどの2チームかによって
観客数が変わり、また勝敗によっても売り上げが変わるとかそんなルーチンを
組んでるクサいんだが。
FT本体が経営としてのていをなしてないからなぁ……
野球場は単なる建物だし、新規に起こすんだったら単なる建物プラグインで
いいと思う。
0736名前は開発中のものです。
2010/01/26(火) 16:02:38ID:Aw/DDRGn柵プラグインでダミーホーム作るのもいいかもしれないよ。
0737名前は開発中のものです。
2010/01/26(火) 19:57:39ID:TxcK00q/サッカースタジアムはその通り。
架空チームの中から2チームを選択して、勝手に試合させてその結果が専用ダイアログで
見れるというもの。
あとダイアログではチームPR強化と戦力補強ができる。
で勝敗によって観客数が変わる。
人口コントリも組み込まれているけど、16時と21時は1万人、それ以外は100人にしてるだけ。
割と手が込んだものになってるけど、まだ途中だったのかなぁという気がする。
まあ、今後作る時は普通に建物でいいと思うね。
0738名前は開発中のものです。
2010/02/05(金) 12:03:01ID:3HDNmBsF前鯖のアカウント情報を無くてしまったので、こっちで継続・更新します。
ttp://kyoto.cool.ne.jp/suzukams/
Ex-Avのwikiにあるリンクの書き換えができない…('A`)
あと、車両の代理公開ってまだ必要ですか?
あぷろだとかblogとか、最近は手軽でいろんな手段があるんでいらんかなと思ったんですが。
0739riorio ◆rio2xMQlrQ
2010/02/05(金) 18:58:23ID:ZIUPsEtbおつかれさまです
Av wikiのリンク集、書き換えておきました。
代理公開はもう不要じゃないでしょうかね。
PC修理すべく、ヤフオクで中古M/BとCPUを落札してつけかえてみたら、
データがぎっちり入ってる400GB HDDが飛んでてショック……
さらにサブPCも電源が入らなくなるダブルパンチ。
もうなにかに憑かれているとしか思えない。
0740名前は開発中のものです。
2010/02/05(金) 20:26:36ID:8LJSLqN10741名前は開発中のものです。
2010/02/07(日) 22:46:00ID:9OAH5uMM再起動してそのマップを開いたらエラー…。オワタ
0742名前は開発中のものです。
2010/02/07(日) 23:14:38ID:PIKO1vL2俺も一回マップだめにしたことあるけど
それ以来、保存するごとに必ずリネームするようにしてる。
壊れてたら一個戻って始めればいいので、被害は1日分だけだ。
0743名前は開発中のものです。
2010/02/08(月) 00:13:07ID:e7AIslv5やっぱ毎回別保存だよなぁ。
0744名前は開発中のものです。
2010/02/08(月) 16:33:05ID:e7AIslv50745名前は開発中のものです。
2010/02/08(月) 17:15:44ID:EyvmDP6Tあ、上書きしちゃダメなんだ…
自分はバックアップ用と2つ用意したけど1つダメになった…
またやり直しだorz
>>744
旧Wikiとかつべ・ニコ動漁るといいかも
0746名前は開発中のものです。
2010/02/08(月) 17:40:32ID:e7AIslv5d
wikiかぁ。見に行ってみるべ。
前にニコで見たチョココロネのやつは興味あるw
0747名前は開発中のものです。
2010/02/09(火) 14:14:03ID:1P6ZI5xl0748名前は開発中のものです。
2010/02/10(水) 10:17:57ID:iUfyde+kよければ使ってくれ
ttp://freetrain.ps.land.to/upload/data/ftup0069.zip
推奨は450x600x30、水面3だ。
0749名前は開発中のものです。
2010/02/10(水) 21:12:47ID:ZrBcKF0T川がたくさんあって開発しがいがありそうだ
ありがとう
0750名前は開発中のものです。
2010/02/10(水) 21:13:36ID:ZrBcKF0T自分にレスしてどーすんだよ
0751名前は開発中のものです。
2010/02/13(土) 15:19:49ID:ODdGKo4a極端はいくないな。
0752名前は開発中のものです。
2010/02/16(火) 15:00:21ID:NzRq2GFE0753名前は開発中のものです。
2010/02/24(水) 22:36:26ID:RtF/9Bs1どなたかわかる方いらっしゃいましたらアドバイスをお願いします。
http://freetrain.sourceforge.net/forum/viewtopic.php?f=19&t=39
'org.kohsuke.directdraw.Surface' のタイプ初期化子が例外をスローしました。
場所 org.kohsuke.directdraw.Surface..ctor(DirectDrawSurface7 _handle)
(中略)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
CLSID {B6803A0F-671C-4730-A802-BB0C2C4BDAC4} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80040154。
場所 org.kohsuke.directdraw.Surface..cctor() 場所 M:\FreeTrainDev2\FreeTrainEX-av0.7.1.2PassageWay\trunk\lib\DirectDraw.net\Surface.cs:行 27
0754名前は開発中のものです。
2010/02/24(水) 23:34:08ID:QtvYEeHN80040154はClass Not Registered,らしい
つまりDLLがレジストリに登録されてないんじゃないか?
リンク先のページの手順のどこかでミスしてない?
0755名前は開発中のものです。
2010/02/24(水) 23:36:05ID:442060O7Readmeぐらい嫁よ。
うpロダに一応Vista対応してみたというテスト版があるから、それ試してみれば。
人柱だけど。
0756名前は開発中のものです。
2010/02/25(木) 19:15:51ID:6cWD1bsH0757名前は開発中のものです。
2010/02/25(木) 20:49:54ID:+j2qcvqGじゃあ、あなた>>753のとこでなぜ動かないか説明すれば?
0758名前は開発中のものです。
2010/02/25(木) 22:50:26ID:6cWD1bsHそもそも>>754が丁寧に指摘してくれてんのが見えないのかい?
0759名前は開発中のものです。
2010/02/25(木) 23:43:18ID:+j2qcvqGおまえのとこで動くから、みんな動くとか勝手なこと言ってんじゃねーよ。
0760名前は開発中のものです。
2010/02/26(金) 00:03:01ID:kLsvEY5Pどこにある??
0761名前は開発中のものです。
2010/02/26(金) 00:20:07ID:Dd72mMBDどこにVISTAは対応してますと書いてんだよ。
VISTAで動く動くと言うのはいいが、それを見て動かないと言ってきた奴には全部
おまえが対応しろよ。
0762名前は開発中のものです。
2010/02/26(金) 01:31:38ID:xK9onrQ00763名前は開発中のものです。
2010/02/26(金) 02:13:01ID:CigVlCy30764名前は開発中のものです。
2010/02/26(金) 05:59:56ID:ail08I5A0765名前は開発中のものです。
2010/02/26(金) 13:54:24ID:GGuGBft+0766名前は開発中のものです。
2010/02/26(金) 14:22:15ID:u39oHgJwもらいました
225*300でやってます
0767名前は開発中のものです。
2010/02/26(金) 15:19:01ID:A6MQC38d0768名前は開発中のものです。
2010/03/02(火) 21:30:21ID:kVqn5CMl0769名前は開発中のものです。
2010/03/03(水) 20:35:35ID:wBx8bI2fFreeTrain系をVista以降で動かすには、
Vista以降に標準搭載されていないDLLをインストールする必要がある。
それには入手方法、ライセンスの問題など問題山積みのため、
現在FreeTrainではVista以降に対応していないと表明されている。
>>753が書いたエラーメッセージも、まさに
そのDLLを入れていない状態で起動しようとしたときに出るものである。
これでいい?
0770名前は開発中のものです。
2010/03/03(水) 22:05:33ID:Mn00E9kpそういう意味で言ってたけど、全く理解しないアホに噛み付かれて最悪だ。
もう、どうでもいいわ。
0771名前は開発中のものです。
2010/03/03(水) 22:33:30ID:YOzWxF9L0772名前は開発中のものです。
2010/03/03(水) 23:57:18ID:zahRviMeお前誰だよ
なりすましすんな
0773名前は開発中のものです。
2010/03/04(木) 00:02:07ID:1y5f5mdv分かってて噛み付いたんだよきっと。
久しぶりにSSうp
ダイ改前は家にいるより外に出る事の方が多いので、全然開発が進まない。
tp://ranobe.sakura.ne.jp/src/up50028.png
0774名前は開発中のものです。
2010/03/04(木) 02:03:42ID:7axQMIrmもう、黙っておくわw
0775名前は開発中のものです。
2010/03/04(木) 22:40:12ID:RibYwaiHすげえなあ〜
ちなみに、NODATAってのは何?
0776名前は開発中のものです。
2010/03/04(木) 23:30:22ID:1y5f5mdv国家機密かな。
0777名前は開発中のものです。
2010/03/04(木) 23:57:57ID:npK7P6pB俺が作るとどうしても7マスくらい先に駅があって、それでも次の駅まで1時間ぐらい
かかるわけだが、そこに5両編成がヘタすると30分おきに1本。
交互発着にすればもう少し増発出来そうだけど、東京の電車だってそこまで過密ダイヤ
じゃないよな…。
0778名前は開発中のものです。
2010/03/05(金) 00:09:08ID:8MSh6x4+でもそれくらいのタイムスケールで走らせるのが一番楽しいんだよね。
長大編成が走る路線では追い越しとかちょっと凝ったダイヤを作るのも面倒だ。
短編成多頻度運転の路線の方が色々な事が出来てダイヤの作り甲斐がある。
0779名前は開発中のものです。
2010/03/05(金) 00:47:45ID:w//pnlRl街づくりばかり気にして肝心の電車走らせるのがいつも後回しになるな
0780名前は開発中のものです。
2010/03/05(金) 06:31:25ID:o6sWEYY4プラグインを開発する暇もないけどな・・・
0781名前は開発中のものです。
2010/03/10(水) 10:30:24ID:AwdmI2j0アドオンってどこで集めればいいのでしょうか?
全てが入った一括ファイルとかあるのでしょうか?
1個ずつDLしないといけないのかな・・・。
0782名前は開発中のものです。
2010/03/10(水) 18:34:02ID:kI3PeGX50783名前は開発中のものです。
2010/03/10(水) 20:27:01ID:UFiD82OZAdditional plugin Set入れればほとんどことたりる。
そこに入ってないものだけ個別に拾ってきて入れればいい感じ。
0784riorio ◆rio2xMQlrQ
2010/03/15(月) 21:46:45ID:rvCLouy6C#できるSE至急募集ww
過去ログを読むと列車の進行速度と時間進行がソース内で直打ちされてるそうだから
まずそこを変数参照に書き換える作業をして、
しかるのちに変数で時間進行を変更可能にする、
という順序かな。
セーブデータの互換性を保つ必要があるので、オプションで現行A4方式とリアルタイム
方式と選択可能なようにしたいね。
週7日・月28〜31日・年365日は変えません。
0785名前は開発中のものです。
2010/03/15(月) 22:42:53ID:xta4+a9t変換を変えればいいだけ。
ただ値は固定になってるので言われてるとおり、変数にしないと駄目ですね。
time.csとかclock.cs辺りを見ればいいかな。
電車の速度も固定でabstracttraincontributionImpl.csにある。
電車の場合は1ボクセル進むのに何分(ゲーム内時間の単位で)かかるかという値を持っている
けどsuperbで1分となっているから、さらに高速化するには時間の単位を変えないと駄目でしょうね。
0786名前は開発中のものです。
2010/03/15(月) 23:55:30ID:Mdn/UR2h時間進むのも時間かかったりしちゃうのか
0787riorio ◆rio2xMQlrQ
2010/03/16(火) 06:58:53ID:J3bp9c8cビルドできん。
ビルドできたら寝ようと思ったたら徹夜しちまったw
これまでやったこと。
WindowsXP Home(32bit)クリーンインストール
Visual C# 2008 Express Edition インストール
Visual C++ 2008 Express Edition インストール
atlbase.hがないと怒られたので、
ttp://ysmt.blog21.fc2.com/blog-entry-244.html
参考にWindows Drivers Kitインストール、
C++のオプションのディレクトリにおいて、インクルードファイル・ライブラリファイルの
ディレクトリにWDK内を指定。
DirectDraw.AlphaBlend.2008.slnをビルド
↓
1>------ ビルド開始: プロジェクト: DirectDraw.AlphaBlend, 構成: Debug Win32 ------
1>コンパイルしています...
1>stdafx.cpp
1>c:\documents and settings\western\my documents\freetrainsource\trunk\lib\directdraw.alphablend\debug\dx7vb.tlh(9099) : error C2061: 構文エラー : 識別子 'RECT'
1>c:\documents and settings\western\my documents\freetrainsource\trunk\lib\directdraw.alphablend\debug\dx7vb.tlh(9115) : error C2061: 構文エラー : 識別子 'RECT'
1>c:\documents and settings\western\my documents\freetrainsource\trunk\lib\directdraw.alphablend\debug\dx7vb.tlh(9298) : error C2061: 構文エラー : 識別子 'RECT'
1>c:\documents and settings\western\my documents\freetrainsource\trunk\lib\directdraw.alphablend\debug\dx7vb.tlh(9315) : error C2061: 構文エラー : 識別子 'RECT'
1>c:\documents and settings\western\my documents\freetrainsource\trunk\lib\directdraw.alphablend\debug\dx7vb.tlh(14467) : error C2061: 構文エラー : 識別子 'RECT'
1>c:\documents and settings\western\my documents\freetrainsource\trunk\lib\directdraw.alphablend\debug\dx7vb.tlh(14472) : error C2061: 構文エラー : 識別子 'RECT'
1>DirectDraw.AlphaBlend - エラー 6、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
0788名前は開発中のものです。
2010/03/16(火) 09:01:29ID:0sP8zlfc0789名前は開発中のものです。
2010/03/16(火) 09:59:29ID:1nA0m+wpあーそれね。自分も嵌って結局解決できなかった。
なんか、言語仕様の変更なのかどうかよくわからんけど、
タイプライブラリのヘッダファイルにRECTっていう型があって、
関数テンプレートにもRECTっていう名前の引数があるとそういうエラーが出るみたい。
でもタイプライブラリって勝手に編集できるもんじゃないし、どうしていいか分からなかった。
なのでDirectDraw.AlphaBrendはプロジェクトを消して、Dllの参照だけ追加して凌いだよ。
0790riorio ◆rio2xMQlrQ
2010/03/16(火) 11:24:00ID:J3bp9c8cこれだけあれば動くハズ!pluginsに入れてね http://u4.getuploader.com/freetrain/download/31/Mountain2plugins.zip
ソースから自分でビルドしたいひとむけ http://u4.getuploader.com/freetrain/download/32/Mountain2src.zip
ソースは基本foobarbazerさんからいじってないんですが、プロジェクト作成しないと
ビルドできなかったのでプロジェクトファイル作ったのが違いです。
んでそのときにうっかりDLLの名前さわっちゃったので、plugion.xmlがちょこっと変わって
マス。
foobarbazさんに感謝。
第2うpろだのほうにゴミがありますが、そっちはあとで消すので入れないでください。
plugin名が非ユニークなものになり、上記のものと同時に入れるとコンフリクトします。
さて。このpluginをビルドすると、FreeTrainのコア部分のDLLなんかが全部pluginの下に
もういっこできちゃうのだが…… なにがおかしいのだろう。
プロジェクトのプロパティかなぁと思ってほかのpluginのプロジェクトプロパティとも見比べて
みたのだが、どこが違うかわからなかった。
まぁ消せばいいだけで害はないのでとりあえずうp
0791riorio ◆rio2xMQlrQ
2010/03/16(火) 11:48:51ID:J3bp9c8cXPなんでデフォでアルヨー
あと書き忘れてたけど、過去に自分がビルドした動作環境一式ではFT EX Avが
起動してたので、dx7vb.dllとかの問題ではないことは確認できてたのであった。
>>789
そうですか
ウチだけじゃないんですね
とりあえずイジるところじゃないから、過去のDLL資産への参照でしのぐっちゃしのげ
なくはないところですが。
なんかイヤンですね。
>>565さんのVista対応とりあえず版にAlphaBrendが取り込まれてるそうだから、
こっちをCPPでビルドして参照できるようなら乗り換えるのも手かなぁー
もうすぐ数字が1.0に近づいてくることでもあるし。
なんか1.0名乗りたくないんですがねw 0.9.1とか0.9.1.1とか末尾増やしますか?ww
むっかーーしはPC9801で生CいぢくってたこともあるのでC++もまったくの異次元語って
ことはないと思うんですが。DirectXとかはわかんないし、バグ取りはできんです。
そのあたりは565さんの近況を知りたくもあり。
できればC#に統合する方向で行きたかったけど。
C++使わざるをえないところはC++やむなしで両方使いで行くのかどうなのか。
議論もしていいかなと。私一人っじゃ決められない。
あ、あと今ウチにVistaも7もないので。
Vista/7のプレーンな実行環境(dx7vb.dllとか入ってない)がある方絶賛募集中です。
0792名前は開発中のものです。
2010/03/16(火) 13:45:42ID:h5ZjeFTi0793名前は開発中のものです。
2010/03/16(火) 14:44:23ID:J3bp9c8cAv beta 0.8.1としてリリースしました。
ソースのSubversionも0.8.1になっています。
0.8.0のソースが必要になった方はブランチ切ってますのでブランチから。
なにか不具合があったら言ってください。
自前のいぢくりまわったpluginが入ってる環境では試してないです(汗
更新追加部分を反映すべくプロジェクトファイルの更新があるので、個別ソースとって
きて混ぜるより0.8.1ソースをコミットしたほうが手間がかからないはずです。
--- --- ---
今後の方針ですが、>>565さんソース取り込んだものを0.9としたいと思います。
これはしばらく時間かかるでしょうー
とりあえず今、
> dmusici.hはDirectMusic関連のヘッダファイルですが、DirectX SDK August 2007を最後に
> 廃止されました。
> お手数ですがDirectX SDK August 2007以前をご利用ください。
のところでハマっとるw
今までDirectX SDKなんか捕って来てなかったから、August 2007以前ってMSサイトに
まだ転がっとるのかね???っていうところかrwww
0794名前は開発中のものです。
2010/03/16(火) 15:33:38ID:J3bp9c8cExpress EditionのVisual C++ 2008には、
『msclr/marshal.hがない』
のだ。
あ、あともちろん関連のmarshal_windows.hもない。
チョー便利な文字列マーシャライズが使えない。
使ってるソースはビルドできない!
えー
いまさらですが、FreeTrainEX Avは、「Free」を名乗るからにはビルドもフリー環境で
できることを目指したいと、今私がかってに決めましたので。
すでにあるものはどうしようもないですが、新規に本体に取り込むソースは基本的に
Express Editionでビルドできることとします。
一発ソリューションはできなくてもいいので。
C++でDLLビルドして置いておいてから、C#で参照かけたらビルドできました、でOK。
そのかわりExpress Editionで使えないヘッダファイルとかは使っちゃダメーー
これがルール。
いいでしょうか。
0795riorio ◆rio2xMQlrQ
2010/03/16(火) 18:23:11ID:J3bp9c8c本アーカイブは、FreeTrain EX A-versionのアルファ版です。
本アーカイブのバージョンはα0.9.0.0です。
リリース日 2010/03/16
◎既知の不具合
・BGMの再生を行うと即座に「応答しなく」なる
・数十秒の時間進行で走行音が再生されなくなる
・駅の発車ベルも一駅につき数回鳴ると再生されなくなる
・本来半透明で描画されるべき、線路や建物の建設後図がまったく描画されない
・夜間の列車描画がおかしくマゼンタ背景がそのまま描画される
・山肌斜面がまったく描画されない
その他あれば開発スレでご報告ください。
アルファ版の間は、バイナリとソースを同梱のみの配布とします。
◎β0.8.1からの変更点
・DirectX関係をVer.6スレ>>565さん作ラッパーに置き換えた
・上記ラッパーのうちC++ 2008 Express Editionでビルドできない部分を変更した
・WindowsVista/Windows7に含まれていないDLLの使用をやめた
・DirectDraw.AlphaBrend.dllの使用をやめた
http://www.hiyohiyo.info/~riorio/freetrain/FTEXAvALPHA0900.zip
0796riorio ◆rio2xMQlrQ
2010/03/17(水) 02:16:53ID:Vmgu4FK7本来32bit/24bit/16bitカラーのいずれで動いているか取得しないといけない箇所で
カラーモードを取得できていないことをつきとめました。
昼間の半透明がおかしいのはこのためでしょう。
ここを追求してみます。
なお、夜のスプライト表示は、そもそもいまだ>>565時点で実装されてないクサい
ので、ここは元ソース追いかけて私が実装しなきゃどうにもならないっぽいです。
あと、BGMは、一回流れ始めるところまではマシになりました。
ただ流れ始めてすぐ「応答しなく」なりますけど。
リターンすべきところで無限ループとかなってそう。
うーーーん、なんでかな。
描画に比べると重要度は低いと思うので、後回しにしますね。
気分転換にささっと直すかもしれませんが。
0797名前は開発中のものです。
2010/03/17(水) 03:20:44ID:uOg8CViD0798riorio ◆rio2xMQlrQ
2010/03/17(水) 07:11:58ID:Vmgu4FK7lib/DirectDraw.net/Sarface.cs の27行目でnew()してるところの
AlphaBlender
ってどこで宣言されてるクラスなのー?
ヘッダとかあさったけど、これっていうのが見当たらず。
このnew()を移植しないとダメだとにらんだのだが
こんどのlib/DirectXWrapper/DirectDraw.cppの中でどう書いてnew()したものやらで。
もちろんそれだけじゃダメで、331行目のbltAlphaFastをそのnewしたalpha.の配下に
しなきゃなんだけど。
うーーん。川口さんソースと見比べてるのだけど、
もとがSurface sourceと普通の引数とってるところを、なぜわざわざ書き換えて
Surface^ sourceとポインタ参照にしてあるのかが私には理解できない。
0799名前は開発中のものです。
2010/03/17(水) 07:44:38ID:Ua1urVDnいうクラスが定義されてます。
これをDirectDrawAlphaBlend.idlの最後で
coclass AlphaBlender
{
[default] interface IAlphaBlender;
};
と定義してます。
0800名前は開発中のものです。
2010/03/17(水) 08:39:49ID:Vmgu4FK7ありがとうございます。
見てみて研究してみます。
あと今朝の成果。
>>565時点で初期化せずにバグ持ってる半透明処理などを迂回してたところを
迂回しないようにしたらこんなかんじになりました。
ここから0.8.1相当まで持っていくのにどんぐらいかかるかですねー
http://www.hiyohiyo.info/~riorio/freetrain/FTEXAvALPHA0901.zip
0801名前は開発中のものです。
2010/03/17(水) 20:45:47ID:S4VsL/N/nanashi
0802riorio ◆rio2xMQlrQ
2010/03/18(木) 10:51:36ID:nfTYv0dA自分の自宅にVista/7環境がないので、ちと仕事場のノートPCで動くか休み時間に
ためしてみたのですが。
こんなのが出るだけで、何が足りないのかどうしたらいいのかさっぱり分かりませんでした。
http://dl6.getuploader.com/g/4%7Cfreetrain/34/FT.jpg
DirectXは10.0が入ってます。
最新ランタイムも入れました。
VistaのBuissiness Standardです。
Administratorではないユーザでしか実行できず、特権的な動作はオンにできません。
やっぱ自宅にVista環境ないとダメかなぁ〜
仕事用PCいじくりまわしてて壊しても困るし。そもそもAdministrator権限もらってないから
いじりようがないしね。
0803名前は開発中のものです。
2010/03/18(木) 14:40:54ID:OHFvp6Gqソースを解凍せず砂箱上という特殊な環境ですが
0804名前は開発中のものです。
2010/03/18(木) 20:14:58ID:nfTYv0dAありがとうございます。
ちゃんと(?)動いているんですね。
よかった。これで描画の改良(完全移植)などにもやる気がでます。
やはり自分でWindows7のテスト環境持ってないとダメなのかなぁ。
そのためだけに2万円のOS買うのってなんか微妙な気がするけど。
となると、やはりポイントは動くときのAdministrator権限かなぁー
仕事場ノートでAdministrator権限で動かないかあとあと調べてみます。
あぁ、そういえば.NETランタイム入れた記憶がないけど、Vistaだったら
.NET 2.0のランタイムは最初から入ってるんでしたっけ。
そこも後日調べるか。
0805名前は開発中のものです。
2010/03/18(木) 20:38:20ID:nfTYv0dAhttp://www19.atwiki.jp/freetrain-exav/pages/58.html
今回ビルドしてて、「あれ、これライブラリが足りない」とかってなったことを念頭において
います。
記述の正確さとか方針そのものへのご意見とか、いろいろあったらこちらスレのほうで
ご指摘ください。
Express Editionにないものを具体的に示した方がよい、ということがあればページを分けて
参考資料として示したいと思います。
0806名前は開発中のものです。
2010/03/18(木) 21:58:26ID:CYbX+by90807名前は開発中のものです。
2010/03/18(木) 22:47:32ID:OHFvp6Gqvc++/vc# directx windows sdk等の開発環境が入っている
このため一般的な環境では存在しないライブラリ等が読み込まれているかもしれない
なので普通の環境を持っている方に試してもらいたい
またUACがON状態なので通常のUser権限で動いています(制限ユーザでも起動を確認しました)
0808名前は開発中のものです。
2010/03/18(木) 23:03:07ID:nfTYv0dAあれ、制限ユーザで動くのか...
ほえー
じゃあ何がひっかかったのかな。<仕事場のBuisinness Standard
ほかにもVista/7試してくれる人が増えるとうれしいな
>>806
まぁさすがにそれはあれだけど。
UACにはひっかからざるをえんね。現状。
インスコフォルダに直接.ini置くし。
あとセーブデータの書き出しとかもどうしよう。
0809名前は開発中のものです。
2010/03/19(金) 00:04:34ID:6JIce7D2起動は出来ますが、何かを設置すると、以下のエラーが発生します。
保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。
場所 bltAlphaFast(IDirectDrawSurface7* , IDirectDrawSurface7* , Int32 , Int32 , Int32 , Int32 , Int32 , Int32 , UInt32 )
場所 freetrain.DirectXWrapper.Surface.bltAlpha(Point dstPos, Surface source, Point srcPos, Size sz) 場所 c:\ftsrc\trunk\lib\directxwraper\directdraw.cpp:行 334
場所 freetrain.framework.graphics.SimpleSprite.drawAlpha(Surface surface, Point pt) 場所 C:\FTsrc\trunk\core\framework\graphics\SimpleSprite.cs:行 59
場所 freetrain.controllers.rail.RailRoadController.drawVoxel(QuarterViewDrawer view, DrawContextEx canvas, Location loc, Point pt) 場所 C:\FTsrc\trunk\core\controllers\rail\RailRoadController.cs:行 276
場所 freetrain.views.QuarterViewDrawer.draw(Rectangle rectAB, MapOverlay overlay) 場所 C:\FTsrc\trunk\core\views\QuarterViewDrawer.cs:行 418
0810riorio ◆rio2xMQlrQ
2010/03/19(金) 00:27:36ID:2M7IEOHJえとね。それ。
AlphaBlendのためのメモリがないために起こってる、と思う。(自信なし)
lib/DirectXWrapper/DirectXWrapper.hのなかで
AlphaBlenderというクラスを定義してやって(どう定義したらいいか分からなくて困ってるが)
lib/DirectXWrapper/DirectDraw.cppのなかで
158行目あたりに、
AlphaBlender alpha = new( AlphaBlender );
とメモリ確保してやって、
331行目からの
bltAlphaFast( surface, source->surface,
dst.left, dst.top,
src.left, src.top, src.right, src.bottom,
static_cast<DWORD>(source->colorKey) );
を
alpha.bltAlphaFast( surface, source->surface,
にしたら?と思うのだが。
>>799で教えてもらったところは、C++で書いてるAlphaBlenderをC#なSurface.csで
使えるようにするように宣言してあるみたいで全部C++化された今回はそのままじゃ
ダメっていうか、不要で、そのもとになってるCAlphaBlenderをそのまま使うにして
あれ???ってわからんなってるところ。
0811名前は開発中のものです。
2010/03/19(金) 00:48:04ID:+Pu+HIXs文章もなんか支離滅裂だし...
0812名前は開発中のものです。
2010/03/19(金) 08:31:04ID:q2wCx0mLそんな精神状態だろ。そうじゃなけりゃプログラムなんか書けるか・・・俺だけ?
で、その状態でドキュメント書くとすんばらしい文章になってるので、あとから見ると
わけわかめ、前の会社のみんな、ごめん。まあ会社内の空気としてどうせドキュメント
なんてデタラメ書いているだろうと最初から信用してなかったから被害は少ないか。
0813名前は開発中のものです。
2010/03/19(金) 09:45:04ID:40xlIubO0814名前は開発中のものです。
2010/03/19(金) 13:59:33ID:6+8L9+0T激しく同意していいか?w
納期前日、徹夜3日目の夜、妖精見た事あるんだぜ。小人もいたよ。フフフ
0815名前は開発中のものです。
2010/03/19(金) 16:21:26ID:kuBPdC3E0816名前は開発中のものです。
2010/03/20(土) 23:42:51ID:19vl28wFあれー、ちみたち書けるのか?
ちょっと今から独力でC++/CLI勉強してーーとか言ってるとどうにもなりそうにないんで。
助けてほしいわい。
とりあえず565さんの書いたDirectDraw.cppのバグとりができたら、あとはなんとかって
かんじなんだけど。
川口さん時代のAlphaBlendが変数渡ししてたところを、なぜ565さんはハンドル渡しに
してあるのかとかも全然理解できなくて。
そのあたりに動かない原因が隠れてそうに思うんだけども。
565さん自身にここはこうでって解説してもらたら一番いいんだろうけど、565さん
まだこのスレ見てるのかねぇ……
0817814
2010/03/21(日) 00:19:30ID:rZJRYGKIう〜ん。手伝えるものなら手伝いたいけど。
当方Cのみ20年なので++の作法は学習しないと。
そりゃ言語は手段と言うけどやはり汚いコーディングはしたくないしね。<後の迷惑を考えると。
実はむしろこのソースからLINUX移植を検討したい位だよ。
Ubuntuのお陰でだいぶ可能性出てきたしね。
でもそれもこれもWin版が一定のOUTPUTを出してからだよね。う〜ん。。。
で、エスパーを1つ。(ソフト屋の勘なんて良いものではないが。
変数私をハンドル(ポインターか?)に変えたなら可能性は多分「戻り値」の関係だろ。
一般に++とかオブジェクト指向言語は「戻り値は関数の正常/異常」として、
正常ならばハンドルのどっかが計算された結果に書き換わっているはずだ。
(異常の場合書き換えるという処理もあるかもしれんけどね)
エスパーなんで外れても堪忍してね。
0818名前は開発中のものです。
2010/03/21(日) 00:38:31ID:PSZ0VC/RCのみですかー
となると、今回問題のラッパーはC++/CLIで書かれてますけど(ハンドルっていうのも
C++/CLIの流儀みたいです)、本体はC#でラッパーを実際に使ってるのはC#だし、
C++/CLIとC#の両方分からないと、かなぁ。
Linux移植とかおもしろそうですけど。
まさに今問題になってるDirectXWrapper.cppだけ移植できたら、もうそれで
Linuxで動きそうな気もしますよ。
FreeTrainがDirectX叩いて絵を描いたり音ならしたりしてる部分は全部ここに
集約されてるはずなので。
0819名前は開発中のものです。
2010/03/21(日) 00:59:31ID:I3Qq2dje0820名前は開発中のものです。
2010/03/21(日) 04:10:40ID:aViYKpOiとりあえず、何故かコメントアウトされている以下の4行を稼動させれば
bltAlphaFastは一応動くと思いますよ。
AlphaBlender.cpp - bltAlphaFast
--------------------------
137: memset( &ddsdTarget, 0, sizeof ddsdTarget );
138: ddsdTarget.dwSize = sizeof ddsdTarget;
144: memset( &ddsdSource, 0, sizeof ddsdSource );
145: ddsdSource.dwSize = sizeof ddsdSource;
--------------------------
このコードがないと構造体が初期化されず、正しい値を返してくれません。
Lockの返り値を見るとおそらく失敗しているはずです。
(Lockの返り値でエラーチェックされていないので、見逃してしまったのでしょう)
メモリの読み取りエラーも、偶然のメモリ配置により偶然成功し、Lock範囲を超えて
書き込んでしまったせいだと思います。
ちなみに、0.9.0でgetDisplayModeが失敗するのも同じ原因です。
DDSURFACEDESC2構造体が初期化されていなかったため、
GetSurfaceDescがDDERR_INVALIDPARAMSを返して失敗しています。
0.9.0.1ではコメントアウトしているようですが、Fixed riorio 2010.03.16の部分を復活させると
正しく動作すると思います。
それでは、お邪魔しました。
0821名前は開発中のものです。
2010/03/21(日) 06:01:44ID:PSZ0VC/Rこの修正でレール敷設はできるようになりました。
http://www.hiyohiyo.info/~riorio/freetrain/FTEXAvALPHA0902.zip
まだ土地の上下ができません。
ホーム設置もできません。
メモリ破壊エラーになります。
0822名前は開発中のものです。
2010/03/21(日) 07:24:57ID:PSZ0VC/Rhttp://www.hiyohiyo.info/~riorio/freetrain/FTEXAvALPHA0903.zip
◎既知の不具合
・色相変換をしている建物の描画がおかしい
・山肌の色がおかしい。またヘイトカット時に山肌部分の表示がおかしい。
・BGMの再生を行うと再生開始直後に「応答しなく」なる
・数十秒の時間進行で走行音が再生されなくなる
・駅の発車ベルも一駅につき数回鳴ると再生されなくなる
あと色変換してる車両なんかもうまくいかないかもしれません。
山肌の色をどこで決めてるのか分からない。
たぶんDirectDraw.cpp内の、Surface.csからって部分にあるとおもうんだけど……
0823名前は開発中のものです。
2010/03/21(日) 09:00:07ID:PSZ0VC/Rセーブデータをロードしたときに
オブジェクト参照がオブジェクト インスタンスに設定されていません。
場所 freetrain.DirectXWrapper.DirectDraw.!DirectDraw()
というエラーが出ますね。
直します。
0824名前は開発中のものです。
2010/03/21(日) 11:07:41ID:PSZ0VC/Rhttp://www.hiyohiyo.info/~riorio/freetrain/FTEXAvALPHA0904.zip
◎既知の不具合
・BGMの再生を行うと再生開始直後に「応答しなく」なる
・数十秒の時間進行で走行音が再生されなくなる
・駅の発車ベルも一駅につき数回鳴ると再生されなくなる
・ある程度発展済みのマップをロードした際に「ブレークポイントで停止しました」となる
(そのようなブレークポイントはVisual Studioに設定していないのに)
その他あれば開発スレでご報告ください。
アルファ版の間は、バイナリとソースを同梱のみの配布とします。
◎β0.8.1からの変更点
・DirectX関係をVer.6スレ>>565さん作ラッパーに置き換えた
・上記ラッパーのうちC++ 2008 Express Editionでビルドできない部分を変更した
・WindowsVista/Windows7に含まれていないDLLの使用をやめた
・DirectDraw.AlphaBrend.dllの使用をやめた
・ビデオレコーダの同梱をやめた
0825名前は開発中のものです。
2010/03/21(日) 11:23:24ID:aViYKpOi>>821
ホーム設置は、多くのSystem.IndexOutOfRangeExceptionが発生しますが、一応作成できるようです。
この例外は、REACH_RANGEの3乗(10x10x10)分の空間をチェックし、
範囲外のときに発生するようプログラムされているので、作成者の意図としては正常な例外です。
ただ、ほとんどが範囲外なため、非常に多くの例外が発生してしまいます。
正直、この部分は修正したほうがいいと思います。
例外をキャッチすることが前提のコードはあまり推奨できません。
>>824
BGMの再生についてですが、DirectAudio.cppのBGMクラス、notify()がおかしいです。
ここも同じように例外キャッチ前提で、COMExceptionをキャッチしないと終了しないようになっています。
下記のように変更してみてください。音楽再生でフリーズすることはなくなると思います。
void notify() {
long code;
LONG_PTR param1, param2;
while(SUCCEEDED(mediaEvent->GetEvent(&code, ¶m1, ¶m2, 0))) {
mediaEvent->FreeEventParams(code, param1, param2);
if (code == EC_COMPLETE) {
Debug::WriteLine("BGM: rewinded");
// rewind to the start
mediaPos->put_CurrentPosition(0);
}
}
}
0826名前は開発中のものです。
2010/03/21(日) 12:16:51ID:PSZ0VC/Rありがとうございます
確認の上、0.9.0.5を出したいと思います。
全然話かわるんですが、Windows既定のwebブラウザがIEだと、メニューのオンラインヘルプ
がちゃんとURLまで開くのですが。
Google Chromeだとブラウザは開くけどURLをもらってくれません。
core/util/UrlInvoker.csの書き方の問題だと思うんですけど。
んーー、どうしたらいいのかな。
0827名前は開発中のものです。
2010/03/21(日) 12:42:08ID:aViYKpOiすみません、出張してきただけなのに意見が過ぎてしまいました。
お邪魔しましたー
0828名前は開発中のものです。
2010/03/21(日) 13:40:58ID:PSZ0VC/Rhttp://www.hiyohiyo.info/~riorio/freetrain/FTEXAvALPHA0905.zip
BGM修正。
効果音が鳴らなくなるのは対策できず。不具合として残ってます。
「ブレークポイントで停止」もちょくちょく出る。
が、pluginsを全部入れたら過去のAv開発マップもロード出来ることはできる。
これで、プレーンなVista/7で動けばばんばんざい。
>>827
よかったらこれからも1日1回ぐらい来て下さい。^^
0829名前は開発中のものです。
2010/03/21(日) 13:43:23ID:PSZ0VC/RAv wikiに向かうようにしてあります。
0830名前は開発中のものです。
2010/03/21(日) 16:37:33ID:aViYKpOiすみません、C#スレにまたいらっしゃったようなので。
またお邪魔させていただきます。
効果音が鳴らなくなるのは、おそらくDirectAudio.cpp の SegmentStateクラス、
isPlaying の戻り値HRESULTをそのまま判定していることが原因です。
if (performance->handle->IsPlaying(nullptr, state))
ではなく
if (performance->handle->IsPlaying(nullptr, state) == S_OK)
であるはずです。
試してみてください。
ただ、本体含めこのコードだと僅かに無音が入ると思うのですが、
それでいいのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています