ToHeart2 ほか AquaPlus/LeafのGPLゲーをいじるスレ

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2005/12/13(火) 01:33:48ID:TT+LcNFZ
弊社製品のムービー再生にxvid.orgのムービー展開ライブラリを使用していた件について。

弊社製品、
『アルルゥとあそぼ!!(ランチャとRoutesミニシナリオのみ)』
『Tears To Tiara』
『鎖−クサリ−』
『ToHeart2 XRATED』
の4商品では、動画再生に http://www.xvid.org/ において公開されいるXViD再生エンジンを使用しております。

この動画再生エンジンのプログラムはGPL(GNU General Public License)に基づくソフトウェアとして公開されていますが、これを使用した場合、GPLに定められている通り、オファーがあればソースコードを公開する義務があります。

このGPLのソース公開義務に従い、弊社の上記4作品のソースコードを全て公開する事に致しました。現在ソースコード公開に向けて社内のソースコードのまとめを行っておりますが、2年ほど前のタイトルも含まれておりますので、多少時間がかかります事をご容赦下さい。

今後、XViDの開発元に弊社より謝罪を含め連絡をとり、GPLの基準に合致しているかを確認を行った上で、全ソースコードの公開を致しますので公開まで少々お待ち頂けるようお願い致します。

http://leaf.aquaplus.co.jp/xvid.html

257名前は開発中のものです。
垢版 |
2006/01/18(水) 14:39:42ID:laXFj5Ga
>>256
今ぐぐってみたら・・・

ttp://www.fx-it.com/kihon/top.html

((((((;゚Д゚))))))ガクガクブルブル
258256
垢版 |
2006/01/18(水) 14:44:47ID:SUxUnqO9
>>257
6年近く毎月買ってたのに……。(´・ω・`)
2006/01/18(水) 14:56:22ID:J2GY/YuU
>>236
betterCとして使ってるんじゃね?
2006/01/18(水) 14:57:11ID:nOYGrh+r
まあ、最近は完全にウェブの後追いだったからな。雑誌じゃ小回りが効かん。
2006/01/18(水) 15:06:15ID:g+zxdCud
最新の情報を追うのは遅くなってたけど、まとまった情報源としての価値は大きいと思うんだけどなぁ。
今でも98、9年ごろの特集が役に立つことが多いし。

3月売り分ってことは4月号で休刊か…
刊行継続されることを祈るしかないな。
2006/01/18(水) 15:13:27ID:yETwwrc3
どこだか分かんないし
見あたんないからまあいいや。
2006/01/18(水) 15:16:58ID:Vo8Ih3D3
>>262
>>178
2006/01/18(水) 15:18:11ID:Vo8Ih3D3
>>179だった
2006/01/18(水) 16:24:51ID:fFrV7vks
>248
GNU 一般公衆利用許諾契約書の複製物がないおwww
2006/01/18(水) 16:47:08ID:kE73PQP3
しまった入れ忘れた、証拠隠滅))彡 あと少しで全部解凍出来そうなので
そん時忘れずに入れときます
2006/01/18(水) 16:51:50ID:wB2vkzXb
betterCまでたどり着けてないな。
まぁToHeart2延期の謎は全て解けたが。

・・・ここって、ソースのレビューしてやるスレ?
2006/01/18(水) 16:57:43ID:/WD9qG7O
ここはソースのバグ修正やソースを利用した(当てずっぽうじゃない)ぶっこ抜きツールなどを作るスレ。
269名前は開発中のものです。
垢版 |
2006/01/18(水) 17:52:57ID:MQQtoSlq
238は社員
2006/01/18(水) 18:20:28ID:FyGFDL1J
とりあえず、最初にやることはリファクタリングだなww
2006/01/18(水) 18:30:35ID:PTTErmDt
まったくだ、混沌としすぎてるなこのソースは。。。
2006/01/18(水) 19:58:21ID:jJUl8H6R
プロのコードってんで楽しみにしてたんだが……
力技っていうか……なんていうか……
2006/01/18(水) 20:15:05ID:FyGFDL1J
まあ、クローズドのソースなんてどこもこんなもんさ。
2006/01/18(水) 21:05:10ID:t8gwWK0y
誰かリファクタリングやってくんね?

てかどっかまとめ作って分散してリファしたいな。
2006/01/18(水) 21:11:36ID:osFctAmr
あれ意外にソース少ないね、ノベルだからかな
2006/01/18(水) 21:55:04ID:bY+51Db2
予想通りの展開だな。ここでうれしそうにC++どうこうとかいってる奴は、
まともなゲームプログラムなんか作ったことのない奴だろうw
このくらいの規模のプログラムならCライクに作るという選択はありうる。
見たまんまで、クラスライブラリよりも読むのがはるかに楽だからな。
>272
派手な打ち回しなどいらないんだよ、静かに勝ってこそプロ。
2006/01/18(水) 22:04:22ID:rGchGrM3
そんな事より、コミパPのコード公開してくださいよ。
あの酷い読み込みの嵐
2006/01/18(水) 22:10:14ID:4jqE4KU9
>>276
何処のエロゲーメーカー所属ですか?
2006/01/18(水) 22:16:49ID:zxS3ZF2L
SourceForgeまだー?
2006/01/18(水) 22:22:32ID:lWJMeLuy
人のソースにケチつけるようなプログラマって見っとも無いと思う。
2006/01/18(水) 22:30:37ID:rGchGrM3
俺サイコーっていう最低プログラマーに事実を教えないのは
人として冷たいと思うよ。
2006/01/18(水) 22:37:27ID:4jqE4KU9
げんしけん7巻82ページを思い出した。

2006/01/18(水) 22:56:09ID:4W+22aVY
いまどきクラス構造もマトモにかけないプログラマは化石級だよ
2006/01/18(水) 22:59:54ID:RvKbImaS
お前の認識の甘さが化石級だw
2006/01/18(水) 23:00:22ID:gEgW1I6k
>見たまんまで、クラスライブラリよりも読むのがはるかに楽だからな。

( ゚д゚)ポカーン
2006/01/18(水) 23:00:28ID:g35b7xFX
クラス構造ってなんでつか?
2006/01/18(水) 23:07:34ID:iCks23xZ
だから、オマエラの友達っつか知人に一人くらいいるだろ?

コメントアウト付けるプログラマは屑だ!
ソースから全てを読み取れ!
俺なら出来る!

って言う、奇才。


ちなみに漏れはそんな香具師見た事ありません。(´・ω・`)ショボーン
2006/01/18(水) 23:07:46ID:zxS3ZF2L
>>280
せっかくのGPLだから
ケチつけるだけじゃなく直さないとな。
2006/01/18(水) 23:08:59ID:4W+22aVY
>>284
確かに認識があまかったようなだ社員さんよ(pgr
2006/01/18(水) 23:22:25ID:4jqE4KU9
TH2でゲームプレイヤーに、18禁な名前が付けられないようにするコードを探してみた。

多分この関数で名前を登録している。

Winmain.cpp の、
BOOL CALLBACK NameDialogBoxProc( HWND hwnd, UINT wmes, UINT wparam, LONG lparam )

読む限り、もしかして18禁な名前をチェックしてない?

わくわくしながら探したのに30分無駄になった…

しかし、変数が_(アンダーバー)で始まるのが多いですね。_で始まる変数はC言語ではシステム予約
で使ったらダメだったと記憶しているのだが。(うろ覚え)
2006/01/18(水) 23:26:10ID:P2MjgQRi
>290
そんなマナー規約、実際にエラー(名前のバッティング)が発生しなければ何ともないぜ!
それが職業プログラマクオリティ
2006/01/18(水) 23:27:17ID:vR0Gn7As
チェックする前に卑猥な名前つけられるかどうか製品版で試してみればいいのに
2006/01/18(水) 23:27:33ID:3nmnCkEQ
STLをCライクに使ってどこがどう読みやすくなるのかと小一時間(ry
2006/01/18(水) 23:29:44ID:4W+22aVY
>>290
それ残骸だよ。
_で始まっている変数も残骸多数。
2006/01/18(水) 23:35:10ID:osFctAmr
>>290
俺もちょっとうろ覚えなんだが、確か
_大文字が予約語なのよ
_小文字はOKのはず、GoF本でも使ってたはず

Leafのソースは観てないのでどちらかは知らないけど。
2006/01/18(水) 23:36:06ID:g35b7xFX
予約語ではない。あくまで紳士協定。
2006/01/18(水) 23:47:35ID:osFctAmr
いや予約語だよ。俺も自信ないので結局めくってきたがw
uppercaseが大文字の事ね

17.4.3.1.2 - Global names [lib.global.names]

-1- Certain sets of names and function signatures are always reserved to the implementation:
Each name that contains a double underscore ("__") or begins with an underscore followed by an uppercase letter (lex.key) is reserved to the implementation for any use.
Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace.*
[Footnote: Such names are also reserved in namespace ::std (lib.reserved.names). --- end foonote]

http://www.kuzbass.ru:8086/docs/isocpp/lib-intro.html
2006/01/18(水) 23:48:40ID:t8gwWK0y
これ、アンダーバー2つじゃね?
2006/01/18(水) 23:52:29ID:osFctAmr
>>298
or begins with 【an】 underscore followed by an uppercase letter
こっちス
2006/01/18(水) 23:54:48ID:t8gwWK0y
>>299
ほんとだ。すまん。
2006/01/18(水) 23:58:06ID:P2MjgQRi
そのreservedは、
いわゆる予約語(キーワード(if とか int とか))のとは意味が違うんではないか。
2006/01/19(木) 00:20:07ID:5Wiz9rJA
JIS X3010(ISO/IEC 9899:1999)
7 ライブラリ
7.1.3予約済識別子

 下線に続き大文字一文字または下線に続きもう一つの下線で始まるすべての識別子は、
 いかなる使用に対しても常に予約済みとする。

 一つの下線で始まるすべての識別子は、通常の名前空間およびタグ名前空間の双方における
 ファイル有効範囲を持つ識別子としての使用に対して、常に予約済みとする。
2006/01/19(木) 00:20:56ID:THSyh1jG
結局ここには初心者にも満たない屑しかいねぇな。
プログラミングそれ自体を勉強して出直してこい屑ども。
2006/01/19(木) 00:28:14ID:a9X8kYfE
ゲームなんて動けばいいんだよ。

バグがあったところで、別に人が死ぬわけじゃないんだから。
2006/01/19(木) 00:32:12ID:BoxiYWRY
>>302
それ違う。
6.4.1のキーワードの方が予約語。X3014(C++)なら2.11。
識別子として用いられないものを予約語という。

ttp://www.jisc.go.jp/
ここで、X3011とX3014のpdfが見られるので見たい人はどうぞ。
2006/01/19(木) 00:35:55ID:+CiPqcdC
識別子として用いられないものを予約語という
2006/01/19(木) 00:44:30ID:7sJ2B52z
>>303
これくらいのソースで給料貰えるのは正直うらやましい
漏れのとこでこんなソース書いたら白い目で見られるわ文句言われまくりだわで大変だ。。。
2006/01/19(木) 00:56:26ID:YIdLOiMb
折角のGPLなんだからエレガントにしてあげてください
2006/01/19(木) 00:57:31ID:gajhu98D
>>303
口だけなら、誰でも出せるんですよ。(pgr
2006/01/19(木) 01:05:57ID:wJ5oggz1
俺も自信ないのでドラフト見てきたら既に書き込まれてるし。

ていうか俺、インクルードガードに3連アンダースコア使ってた。1つや2つが予約されているのなら3つと。
いつどこで仕込まれたのか重い打線けど、規格見る限りこれまずいよな。次から改める。
2006/01/19(木) 01:17:05ID:LE/6U+/2
Netscape Navigatorのソースよりも綺麗で驚いた
2006/01/19(木) 03:22:07ID:1g8/eWMn
スクリプト解析して使えるようにして欲しい
2006/01/19(木) 04:43:42ID:4TdhbyZQ
ttp://www.pro.or.jp/~fuji/mybooks/cdiag/

>第2章 これでもプロ
>売りものであるにもかかわらず、超きたない!
>構造的な欠陥の指摘〜引数、ポインタの活用
2006/01/19(木) 07:15:09ID:eUUjjqw/
TH2専用 PAK展開TOOL v1.0うpしました。今回は全てのPAKに対応します。
PASS:nekoneko
注意点
1)コンパイルする時は必ず同梱のcomp_lzsとreadfileを使用してください。
2)Xvidは1.1で確認しました。2.2では再生しませんでした。
2006/01/19(木) 13:17:57ID:1FTU/l5f
2.2の方は間違い、別物でしたm(_ _)m
2006/01/19(木) 13:24:42ID:nZR9MDty
>>311
それは言うな、悪夢を思い出した。

そもそも、Mosaicから続いからてるんだ。一発屋のエロゲと一緒にするな。
2006/01/19(木) 16:10:51ID:6mVz+StZ
>293
そもそもこの程度のことにSTL使うのが間違い。
2006/01/19(木) 16:29:25ID:19MQyoRS
>>317
楽したもの勝ち
コの程度のことに、ライブラリ使わなくてどうするの
2006/01/19(木) 16:30:56ID:9luY8TRl
どうするのって何言ってんの
2006/01/19(木) 16:38:33ID:6mVz+StZ
この処理がライブラリ使って楽になるとも思えんが。
STLを使うには、STLの使い方という、C言語の言語仕様の外の知識が
必要になるからな。
しかし、葉鍵板のほうがまだソースを利用しようとしてる奴が
多いというこの逆説。ここじゃ文句つけてるだけだものな。
あ、「弄る」って、利用するって意味じゃなく、ネタにするってことか?
いわゆる関西芸人的な。
2006/01/19(木) 17:04:23ID:fXIaRsvR
>>320
日本語でおk
2006/01/19(木) 17:10:04ID:wJ5oggz1
このソースを利用しろと言われても困ってしまうな。正直、情熱のあるエロゲオタに譲るよ。
2006/01/19(木) 17:37:22ID:iYkDFC6/
実際のところゲームプログラムの参考にするなら吉里吉里の方がよくまとまってるしなぁ…
吸い出しや移植以外に用途が思いつかない
2006/01/19(木) 19:13:13ID:6mVz+StZ
>323
吉里吉里は吉里吉里で、ちょっと大げさすぎるからなー。
どっちも部品単位で参考にする目はあると思うけど。
2006/01/19(木) 19:26:40ID:79/azYTu
は? え? 規模の問題じゃねえよw
2006/01/19(木) 20:19:55ID:6mVz+StZ
規模というより、吉里吉里は汎用性をもたせようとしすぎ。
あそこまでやる必要ないだろう。オブジェクト指向とか。
2006/01/19(木) 22:27:39ID:7sJ2B52z
でもスクリプト周りがしっかりしてたらわざわざプログラム変えてあんな妙なことをやらなくてもイイと思うんよ。
2006/01/19(木) 23:21:45ID:qjrBgih/
話を聞いてると吉里吉里のソースのほうがおもしろそうなのでそっち行くわ。んじゃ。
2006/01/19(木) 23:32:31ID:Z5cXhUw2
別の商品を同じもので統一するわけにはいかんのだろう。
汎用プログラム=商品ごとに使わない無駄が出る&バグが全商品に影響

あとそういう仕事を知ってる人なら分かると思うけど
もし完全自社内開発でなければ大人の事情もあるわけで。
2006/01/19(木) 23:37:37ID:j4PTuc+T
俺は吉里吉里のゲームは例え法人による販売だとしても同人ゲームだと思ってる。
2006/01/19(木) 23:40:32ID:6mVz+StZ
>327
あれは社内人事絡んでそうじゃね?
メインプログラマが違うんじゃないかと思えた。

TH2のソース見る限り、サポートはこっちのほうが楽だな。
ちょっとだけコンシューマの開発やったことがあるけど、どうせ毎回一作限りで
キツいチェック通さなきゃいけないなら、ストレートにハードコーディングして
一回きりのソースとして考えたほうが楽なんだよな。
2006/01/19(木) 23:42:49ID:6mVz+StZ
たとえば、あらゆるタイトル画面を実装するために、
細かい演出処理をスクリプト仕様に組み入れるぐらいなら、
タイトル画面自体をハードコーディングしたほうが楽。
2006/01/20(金) 00:05:12ID:evtcDsiT
>328
やっとSubversionの使い方が分かったから落としてみた。
>330
お前の同人ゲームの定義が解らん以上意味不明。
2006/01/20(金) 00:12:29ID:OTKBdpZ5
>>316
いや、少なくとも公開されたソースは3タイトルを含むから、ごちゃごちゃに
至る歴史があったわけで、一発屋ってわけではないと思う。Netscapeのアレは
WinMainからしてヘンだったわけでドッコイだけどね。

>>331
うん、オレもソースのハンドリング(という表現はおかしいか?)は
いい方だと思った。これなら引き継いでもさほど困らない。
クラス関係が複雑なのかよりも全然わかりやすいし。
2006/01/20(金) 00:28:34ID:Z8o3taxA
冗談だろ。ハードコーディングにしても汚いほうだぞ。
2006/01/20(金) 00:36:04ID:AmUbds5k
まー。とりあえず、コードが汚いとか抜かしてる奴は、
自分のコード晒してからな。
2006/01/20(金) 00:51:26ID:OTKBdpZ5
そりゃ、人に見せたらなにこれwっていうレベルだし、これよりも
ちゃんと書くことの出来る人はたくさんいるけど。

納期があって、ちゃんと動くパッケージのソースとしては
あれくらいでもいいと思うよ。
規約やら美しさどうこう言う人は苦しんだ経験がないんだろう。
まぁそれはそれでうらやましいし、理想は高い方がいいよね。
2006/01/20(金) 01:00:16ID:LK/T1wXi
綺麗汚い以前に普通に書いていれば入らないであろう
>>233のようなバグが入っているのがおかしい。
2006/01/20(金) 01:22:10ID:bWwH4+cX
やー、俺がコンシューマの仕事で書いたソースはこれよりはるかに汚いしw
バグはともかく、ソースの書き方としては綺麗なほうだと思うんだがな。
あと、233はバグじゃないようだぞ。VC++では問題ないんだとか聞いたが。
俺はそもそもSTLとか使わんので分からんが。
2006/01/20(金) 01:24:57ID:bWwH4+cX
つか、世の中のあらゆるソースがそんな完璧に綺麗なのばかりであれば、
リファクタリングの本なんか売れるわけ無いんだよw
2006/01/20(金) 01:46:38ID:evtcDsiT
>339
デバッグビルドだと思いっきりアサートが掛かる訳だが。

ついでに言えばopenFileNumもArcFile.size()があるから不要。
なぜreserveとpush_backを使って、sizeを使えない?

あと、
arc_file_info::streamInfoはvector使ってるのに
arc_file_info::pack_fileはいちいちnew[]で確保している。
しかも削除時はdelete[]じゃないし。
2006/01/20(金) 02:15:05ID:bWwH4+cX
>341
>デバッグビルドだと思いっきりアサートが掛かる訳だが。
http://pie.bbspink.com/test/read.cgi/leaf/1135546874/446
を読んだだけなんで、俺はあんまし知らん。すまん。何せ使ってない。
>しかも削除時はdelete[]じゃないし。
これはメモリリークするんだっけ。気づかなかったのかな?
new deleteもほとんど使わんなあ。malloc freeだ。
2006/01/20(金) 02:47:44ID:LK/T1wXi
ほとんどというか何というか、
よほどシビアな環境じゃなければ普通はどちらかに統一するし
クラスを使う以上はnew/deleteにしないと。
2006/01/20(金) 03:30:58ID:bWwH4+cX
>343
C構造体をmallocで割り当てるソースは良く使うしなあ。
多くのサンプルコードがCで書かれてるし、俺はそっちで統一してるな。
つまりはC++よりbetter Cってことなんだろう。
クラスは使うけど、newで動的には割り当てない。
2006/01/20(金) 03:51:38ID:pqHaw1ZN
>>341
だから>>237なんだろ。
無理してC++を使う必要はないし、Cで統一するのも結構だけど
このソースは無理してC++使って破綻してる感じだしな。
うちのとこでもこんなソース書いたら大目玉食らうよ・・・
2006/01/20(金) 04:12:07ID:bWwH4+cX
>345
君んところが相当理想主義なんだろうな。
世の中のソースなんて結構こんなもんだぞ。ネスケですら(ry
それに、「C++的に正しい」けど無駄に難しいソースよりは、
こういう単純なののほうがいい。
プラットホームによってはC++の対応が不完全なことも多いし、
STLで相性問題が起こることも多いしな。Cが一番確実。
inline関数とコンストラクタ/デストラクタだけは、
無くてはならないものになっちゃってるけどな。俺も。
2006/01/20(金) 04:15:50ID:bWwH4+cX
これ、スレ違いすぎるから無視してくれてもいいけどさ。
new malloc派の人はBITMAPINFOの割り当てとかもnewでやるの?
p=(BITMAPINFO*)malloc(sizeof(BITMAPINFOHEADER)+(sizeof(RGBQUAD)*256));
こういう感じのものを書くとき、newで書くとあんまり直感的にならんような。
2006/01/20(金) 04:16:23ID:bWwH4+cX
new malloc派→new delete派の間違いでした、ごめん。
2006/01/20(金) 04:24:15ID:/uViAoEM
>>347
慣れの問題じゃないの?
特に直感とか言ってるし。
2006/01/20(金) 05:13:23ID:evtcDsiT
>342
delete[]をdeleteとしても、デストラクタがなければ「大抵」正常に動作してしまう。

>346
STLのvector程度が使いこなせてないのは、難しいんじゃなくてただ不勉強なだけ。
STLの相性問題って、それはSTLの実装に依存した使い方が悪いと思うんだが。

>347
C++としてはBITMAPINFOのアクロバティックな構造は悪。
どうしてもと言うなら、そんなWindows臭いモノは、直接Win32APIでメモリ確保。
2006/01/20(金) 09:02:36ID:H/DTUIYi
>>350の書いたソースコードが見たいぜ
2006/01/20(金) 09:34:29ID:JrDuq+7M
>>346
向上心の無いおじさんの言い訳に聞こえるな。
「無駄に難しい」だの「単純」だのは主観でしかない。
逆に、「C的には正しい」がマクロ、関数ポインタを駆使したソースなんかは、
C++ を学んだプログラマから見れば無駄に難しく見えるだろう。
決して「単純」だなんて思われることはない。

>>347
そんなメモリ確保は new ではうまくいかないんだから malloc() 使えばいい。
new で問題ないケースで malloc() を使うのはデメリットが多い。
もちろん動的確保が必要なければ new も malloc() も使わなくていい。
「new delete 派」なんて書くと好みで選んでるように聞こえるが、
状況に応じて最適なものを使うだけ。
2006/01/20(金) 09:39:07ID:Z8o3taxA
>>346とだけは一緒に働きたくないと思った俺ガイル
2006/01/20(金) 09:42:20ID:Z8o3taxA
だいたい「ネスケですら(ry」って、一体何年前のコードに依拠してるんだか。
Firefoxのソースでも読んでみれば?
2006/01/20(金) 09:55:31ID:bWwH4+cX
>350
vectorだけしか使わなくて、パフォーマンスに影響するほどデータ数が
多くないなら、自力で似た処理組んだほうが楽。
mapやmultimapに大量のデータ食わせるような場合には使いでがあるけど。

コンパイラの側が変な実装なせいでSTLがちゃんと読めないケースがある。
何かあったらSTLのソースを覗く羽目になるのも嫌だな。

GlobalAllocで確保したところでmallocと大して違うと思えんが。
mallocを消したという自己満足感が得られるだけのような。
ゲームなんて、そのWindows臭いコードが大量に出てくる分野なんだが。

>352
俺だってvectorくらいなら本読みながらであれば使えるけどな。
仕様や注意点を完璧に覚えるところまでは行ってないんだ。
何か弄るたびに参考書引っ張り出さなきゃいけないのは非効率なんだよ。
俺もinline関数は使うし、関数ポインタよりは仮想関数使うけどな。

newでも出来ないことはないと思うけど。
char配列として確保して、型キャストすればいいのかな。
2006/01/20(金) 10:01:12ID:bWwH4+cX
>354
外に出すつもりで書いてたソースコードとそうでないコードの違いだろ。
■ このスレッドは過去ログ倉庫に格納されています